Fix lto option in gcc 4.9 by using gcc-ar / gcc-ranlib

This commit is contained in:
Patrick Niklaus 2014-05-11 01:44:13 +02:00
parent 07231d3706
commit d05c4fa9ed

View File

@ -109,6 +109,14 @@ set(LTO_FLAGS "")
CHECK_CXX_COMPILER_FLAG("-flto" HAS_LTO_FLAG) CHECK_CXX_COMPILER_FLAG("-flto" HAS_LTO_FLAG)
if (HAS_LTO_FLAG) if (HAS_LTO_FLAG)
set(LTO_FLAGS "${LTO_FLAGS} -flto") set(LTO_FLAGS "${LTO_FLAGS} -flto")
# Since gcc 4.9 the LTO format is non-standart ('slim'), so we need to use the build-in tools
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND
NOT "${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS "4.9.0")
message(STATUS "Using gcc specific binutils for LTO.")
set(CMAKE_AR "/usr/bin/gcc-ar")
set(CMAKE_RANLIB "/usr/bin/gcc-ranlib")
endif()
endif (HAS_LTO_FLAG) endif (HAS_LTO_FLAG)
# disable partitioning of LTO process when possible (fixes Debian issues) # disable partitioning of LTO process when possible (fixes Debian issues)