diff options
| author | daoge_cmd <3523206925@qq.com> | 2026-03-03 17:40:03 +0800 |
|---|---|---|
| committer | daoge_cmd <3523206925@qq.com> | 2026-03-03 17:40:21 +0800 |
| commit | 2915044f953bc6cd3a28291fbb5661080d58bb30 (patch) | |
| tree | bd258f55a81c5c02e1eebd44d7f3dbbf4cd3201e | |
| parent | 6d4ce5136cccb994883473871db03e9d50e6b683 (diff) | |
chore: sync VS release optimization flags into CMake build
| -rw-r--r-- | CMakeLists.txt | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index f14cf627..8e40e5db 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,6 +12,15 @@ endif() set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>") +function(configure_msvc_target target) + target_compile_options(${target} PRIVATE + $<$<COMPILE_LANGUAGE:C,CXX>:/W3> + $<$<COMPILE_LANGUAGE:C,CXX>:/MP> + $<$<COMPILE_LANGUAGE:CXX>:/EHsc> + $<$<AND:$<CONFIG:Release>,$<COMPILE_LANGUAGE:C,CXX>>:/GL /O2 /Ob3 /Oi /GT /GF> + ) +endfunction() + include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/WorldSources.cmake") include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/ClientSources.cmake") @@ -31,11 +40,7 @@ target_compile_definitions(MinecraftWorld PRIVATE $<$<NOT:$<CONFIG:Debug>>:_LARGE_WORLDS;_DEBUG_MENUS_ENABLED;_LIB;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;_WINDOWS64> ) if(MSVC) - target_compile_options(MinecraftWorld PRIVATE - $<$<COMPILE_LANGUAGE:C,CXX>:/W3> - $<$<COMPILE_LANGUAGE:C,CXX>:/MP> - $<$<COMPILE_LANGUAGE:CXX>:/EHsc> - ) + configure_msvc_target(MinecraftWorld) endif() add_executable(MinecraftClient WIN32 ${MINECRAFT_CLIENT_SOURCES}) @@ -50,10 +55,9 @@ target_compile_definitions(MinecraftClient PRIVATE $<$<NOT:$<CONFIG:Debug>>:_LARGE_WORLDS;_DEBUG_MENUS_ENABLED;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;_WINDOWS64> ) if(MSVC) - target_compile_options(MinecraftClient PRIVATE - $<$<COMPILE_LANGUAGE:C,CXX>:/W3> - $<$<COMPILE_LANGUAGE:C,CXX>:/MP> - $<$<COMPILE_LANGUAGE:CXX>:/EHsc> + configure_msvc_target(MinecraftClient) + target_link_options(MinecraftClient PRIVATE + $<$<CONFIG:Release>:/LTCG /INCREMENTAL:NO> ) endif() |
