diff --git a/CMakeLists.txt b/CMakeLists.txt index 471bfde7f..e033134a6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -109,14 +109,19 @@ set(LTO_FLAGS "") CHECK_CXX_COMPILER_FLAG("-flto" HAS_LTO_FLAG) if (HAS_LTO_FLAG) set(LTO_FLAGS "${LTO_FLAGS} -flto") -else (HAS_LTO_FLAG) - set(LTO_FLAGS "${LTO_FLAGS} -flto") endif (HAS_LTO_FLAG) +# disable partitioning of LTO process when possible (fixes Debian issues) +set(LTO_PARTITION_FLAGS "") +CHECK_CXX_COMPILER_FLAG("-flto-partition=none" HAS_LTO_PARTITION_FLAG) +if (HAS_LTO_PARTITION_FLAG) + set(LTO_PARTITION_FLAGS "${LTO_PARTITION_FLAGS} -flto-partition=none") +endif (HAS_LTO_PARTITION_FLAG) + # Add Link-Time-Optimization flags, if supported (GCC >= 4.5) and enabled set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LTO_FLAGS}") -set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LTO_FLAGS}") -set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${LTO_FLAGS}") +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LTO_FLAGS} ${LTO_PARTITION_FLAGS}") +set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${LTO_FLAGS} ${LTO_PARTITION_FLAGS}") # Configuring other platform dependencies if(APPLE)