Files
Fast-RTTI/Tests/CMakeLists.txt
T
Данил 9676da8861 Add tests
2025-07-28 20:09:18 +07:00

55 lines
1.7 KiB
CMake

file(GLOB test_default_src "test_default_rtti.cpp" "ClassesDefault/*.cpp" "ClassesDefault/*.h")
add_executable(test_defalt_rtti ${test_default_src})
if(CMAKE_BUILD_TYPE STREQUAL "Release")
message(STATUS "Release mode: enabling optimizations")
if(MSVC)
# /O2 - высокая оптимизация
# /GL - link-time optimization
# /DNDEBUG - отключить assert()
target_compile_options(test_defalt_rtti PRIVATE /O2 /GL /DNDEBUG)
target_link_options(test_defalt_rtti PRIVATE /LTCG)
else()
# GCC / Clang
target_compile_options(test_defalt_rtti PRIVATE
-O3
-march=native
-flto
-DNDEBUG
)
target_link_options(Tests PRIVATE -flto)
endif()
endif()
file(GLOB test_fast_src "test_fast_rtti.cpp" "ClassesFast/*.cpp" "ClassesFast/*.h")
add_executable(test_fast_rtti ${test_fast_src})
target_link_libraries(test_fast_rtti PRIVATE FastRTTI)
target_include_directories(test_fast_rtti PRIVATE ${PROJECT_SOURCE_DIR}/RTTI)
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(test_fast_rtti PRIVATE /O2 /GL /DNDEBUG /GR-)
target_link_options(test_fast_rtti PRIVATE /LTCG)
else()
# GCC / Clang
target_compile_options(test_fast_rtti PRIVATE
-O3
-march=native
-flto
-fno-rtti
-DNDEBUG
)
target_link_options(test_fast_rtti PRIVATE -flto)
endif()
endif()