mirror of
https://github.com/cuberite/cuberite.git
synced 2025-01-07 03:16:55 +08:00
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
This commit is contained in:
parent
d9aed92fb4
commit
a4668c000c
@ -33,13 +33,6 @@ set(CMAKE_CXX_STANDARD 17)
|
|||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
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:
|
# Static CRT:
|
||||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||||
|
|
||||||
@ -99,6 +92,17 @@ if(SELF_TEST)
|
|||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
endif()
|
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()
|
emit_fixups()
|
||||||
group_sources()
|
group_sources()
|
||||||
enable_bindings_generation()
|
enable_bindings_generation()
|
||||||
|
Loading…
Reference in New Issue
Block a user