aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordaoge_cmd <3523206925@qq.com>2026-03-03 17:40:03 +0800
committerdaoge_cmd <3523206925@qq.com>2026-03-03 17:40:21 +0800
commit2915044f953bc6cd3a28291fbb5661080d58bb30 (patch)
treebd258f55a81c5c02e1eebd44d7f3dbbf4cd3201e
parent6d4ce5136cccb994883473871db03e9d50e6b683 (diff)
chore: sync VS release optimization flags into CMake build
-rw-r--r--CMakeLists.txt22
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()