Optimization cmake files

This commit is contained in:
Данил
2025-07-31 16:19:49 +07:00
parent 9c7e6cd22e
commit b40bd75ca7
2 changed files with 50 additions and 31 deletions
+13 -16
View File
@@ -3,24 +3,21 @@ file(GLOB SRC "*.cpp" "*.h")
add_library(FastRTTI STATIC ${SRC})
if(CMAKE_BUILD_TYPE STREQUAL "Release")
message(STATUS "Release mode: enabling optimizations")
if(MSVC)
# /O2 - высокая оптимизация
# /GL - link-time optimization
# /DNDEBUG - отключить assert()
# /GR- - отключить RTTI
target_compile_options(FastRTTI PRIVATE /O2 /GL /DNDEBUG /GR-)
target_link_options(FastRTTI PRIVATE /LTCG)
target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE /GR-)
target_link_options(${CMAKE_PROJECT_NAME} PRIVATE /LTCG)
else()
# GCC / Clang
target_compile_options(FastRTTI PRIVATE
-O3
-march=native
-flto
-fno-rtti
-DNDEBUG
)
target_link_options(FastRTTI PRIVATE -flto)
target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE -fno-rtti)
target_link_options(${CMAKE_PROJECT_NAME} PRIVATE -flto)
endif()
elseif(CMAKE_BUILD_TYPE STREQUAL "Debug")
if(MSVC)
target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE /GR-)
else()
target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE
-g
-fno-rtti)
endif()
endif()