From a4668c000cfe1a17e457f463dd8c0ce69dc98877 Mon Sep 17 00:00:00 2001 From: x12xx12x <44411062+12xx12@users.noreply.github.com> Date: Fri, 19 May 2023 16:52:35 +0200 Subject: Updated LTO Check to new standard. (#5476) The due to LTO the Release build didn't link. The official cmake page suggest it to do it like this https://cmake.org/cmake/help/latest/module/CheckIPOSupported.html --- CMakeLists.txt | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b3ac53a4c..e1c271b52 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,13 +33,6 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) -# The need for speed (in Release): -if(WHOLE_PROGRAM_OPTIMISATION) - include(CheckIPOSupported) - check_ipo_supported(RESULT IPO_SUPPORTED) - set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ${IPO_SUPPORTED}) -endif() - # Static CRT: set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") @@ -99,6 +92,17 @@ if(SELF_TEST) add_subdirectory(tests) endif() +# The need for speed (in Release): +if(WHOLE_PROGRAM_OPTIMISATION) + include(CheckIPOSupported) + check_ipo_supported(RESULT IPO_SUPPORTED OUTPUT IPO_CHECK_OUTPUT) + if(IPO_SUPPORTED) + set_property(TARGET ${CMAKE_PROJECT_NAME} PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE) + else() + message(WARNING "IPO is not supported: ${IPO_CHECK_OUTPUT}") + endif() +endif() + emit_fixups() group_sources() enable_bindings_generation() -- cgit v1.2.3