]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
feat(cmake): Use standard linker for LTO scenarios
authorGregor Jasny <gregor.jasny@logmein.com>
Sun, 22 Aug 2021 10:49:09 +0000 (12:49 +0200)
committerJoel Rosdahl <joel@rosdahl.net>
Sun, 29 Aug 2021 18:46:52 +0000 (20:46 +0200)
CMakeLists.txt
cmake/UseFastestLinker.cmake

index 4cf2e5f3e4effdcb096fed558364c75af0968b33..bb4b251aba6fd526f55704340dcd3287e4aae420 100644 (file)
@@ -65,6 +65,11 @@ if(NOT DEFINED CCACHE_DEV_MODE)
 endif()
 message(STATUS "Ccache dev mode: ${CCACHE_DEV_MODE}")
 
+option(ENABLE_IPO "Enable interprocedural (link time, LTO) optimization" OFF)
+if(ENABLE_IPO)
+  set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)
+endif()
+
 include(UseCcache)
 include(UseFastestLinker)
 include(StandardSettings)
@@ -72,11 +77,6 @@ include(StandardWarnings)
 include(CIBuildType)
 include(DefaultBuildType)
 
-option(ENABLE_IPO "Enable interprocedural (link time, LTO) optimization" OFF)
-if(ENABLE_IPO)
-  set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)
-endif()
-
 #
 # Configuration
 #
index f7e079b4f0634ec0b29baf24edd113ddf964a4e6..b38833cff7cb291f2e0ab0d8e3a488799f3f8685 100644 (file)
@@ -10,6 +10,11 @@ if(MSVC)
   return()
 endif()
 
+if(ENABLE_IPO)
+  message(STATUS "Using standard linker for IPO")
+  return()
+endif()
+
 if(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64)
   # Be conservative and only probe for a faster linker on platforms that likely
   # don't have toolchain bugs. See for example