Enable LTO even for multi-config CMake generators

See https://cmake.org/cmake/help/latest/manual/cmake-buildsystem.7.html#build-configurations
for the rationale.
This commit is contained in:
ISSOtm
2026-03-14 20:11:49 -04:00
committed by Rangi
parent db9d9c7653
commit 35af3185eb

View File

@@ -97,20 +97,20 @@ include_directories("${PROJECT_SOURCE_DIR}/include")
set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_CXX_STANDARD_REQUIRED True)
add_subdirectory(src)
add_subdirectory(test)
if(CMAKE_BUILD_TYPE STREQUAL "Release")
message(CHECK_START "Checking if LTO is supported") message(CHECK_START "Checking if LTO is supported")
include(CheckIPOSupported) include(CheckIPOSupported)
check_ipo_supported(RESULT enable_lto) check_ipo_supported(RESULT enable_lto)
if(enable_lto) if(enable_lto)
message(CHECK_PASS "yes") message(CHECK_PASS "yes")
set_property(TARGET rgbasm rgblink rgbfix rgbgfx PROPERTY INTERPROCEDURAL_OPTIMIZATION ON) set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ON)
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO ON)
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_MINSIZEREL ON)
else() else()
message(CHECK_FAIL "no") message(CHECK_FAIL "no")
endif() endif()
endif()
add_subdirectory(src)
add_subdirectory(test)
set(man1 "man/rgbasm.1" set(man1 "man/rgbasm.1"
"man/rgbfix.1" "man/rgbfix.1"