CMakeLists: Use CMAKE_INTERPROCEDURAL_OPTIMIZATION for LTO

Just a simple modernization. LTO is still disabled by default.
This commit is contained in:
Martino Fontana
2026-01-23 17:55:57 +01:00
parent b18abc41ed
commit eec35a214d

View File

@@ -377,15 +377,13 @@ if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
endif()
if(ENABLE_LTO)
if(CMAKE_C_COMPILER_ID MATCHES "MSVC")
add_compile_options(/GL)
string(APPEND CMAKE_EXE_LINKER_FLAGS " /LTCG")
include(CheckIPOSupported)
check_ipo_supported(RESULT supported OUTPUT error)
if(supported)
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
else()
check_and_add_flag(LTO -flto)
if(CMAKE_CXX_COMPILER_ID STREQUAL GNU)
set(CMAKE_AR gcc-ar)
set(CMAKE_RANLIB gcc-ranlib)
endif()
message(STATUS "IPO / LTO not supported: <${error}>")
endif()
endif()