mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-12 09:08:58 -05:00
Add option to build CMake itself with IPO/LTO
Create a `CMake_BUILD_LTO` option when building with a CMake that is new enough to support `CheckIPOSupported` everywhere.
This commit is contained in:
@@ -117,6 +117,18 @@ option(CMake_BUILD_DEVELOPER_REFERENCE
|
||||
"Build CMake Developer Reference" OFF)
|
||||
mark_as_advanced(CMake_BUILD_DEVELOPER_REFERENCE)
|
||||
|
||||
# option to build using interprocedural optimizations (IPO/LTO)
|
||||
if (NOT CMAKE_VERSION VERSION_LESS 3.12.2)
|
||||
option(CMake_BUILD_LTO "Compile CMake with link-time optimization if supported" OFF)
|
||||
if(CMake_BUILD_LTO)
|
||||
include(CheckIPOSupported)
|
||||
check_ipo_supported(RESULT HAVE_IPO)
|
||||
if(HAVE_IPO)
|
||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# a macro to deal with system libraries, implemented as a macro
|
||||
# simply to improve readability of the main script
|
||||
|
||||
Reference in New Issue
Block a user