Optimization cmake files
This commit is contained in:
+13
-16
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user