From 165c252fc847dea4ab22302f7bc65080e128b240 Mon Sep 17 00:00:00 2001 From: Dennis Luxen Date: Wed, 2 Apr 2014 10:49:32 +0200 Subject: [PATCH] disable lto partitioning when possible (fixes GCC < 4.8 issues, e.g. Debian stock compiler) --- CMakeLists.txt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) 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)