1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- # Our core file list
- file(GLOB KSTestDeps [LIST_DIRECTORIES false]
- ${CMAKE_CURRENT_LIST_DIR}/*.h
- ${CMAKE_CURRENT_LIST_DIR}/*.hpp
- ${CMAKE_CURRENT_LIST_DIR}/*.cpp
- ${CMAKE_CURRENT_LIST_DIR}/cases/*.cpp
- ${CMAKE_CURRENT_LIST_DIR}/cases/*.hpp
- )
- source_group(TREE ${CMAKE_CURRENT_LIST_DIR} FILES ${KSTestDeps})
- add_executable(
- KSTest
- ${KSTestDeps}
- ${KSTestExpDeps}
- )
- # Fetch Catch2 testing framework
- hunter_add_package(Catch)
- find_package(Catch2 CONFIG REQUIRED)
- if (NOT TARGET LibPal)
- message(FATAL_ERROR "LibPal not found")
- endif()
- if (NOT TARGET Catch2::Catch)
- message(FATAL_ERROR "Catch2 not found")
- endif()
- # Link to ks/catch/LibPal
- target_link_libraries(KSTest ks LibPal Catch2::Catch)
- # Register our tests with cmake
- add_test(KSTest KSTest)
- # Inlclude our root
- target_include_directories(
- KSTest
- PUBLIC
- ${CMAKE_CURRENT_LIST_DIR}
- )
- # Turn on the latest c++ features
- target_compile_features(KSTest PUBLIC cxx_std_17)
- # For boost on linux
- if (PAL_PLAT_LIN)
- target_compile_definitions(KSTest PRIVATE
- -DBOOST_STACKTRACE_GNU_SOURCE_NOT_REQUIRED=1
- )
- endif()
- # When debugging on windows, the cwd will be the binary dir (where the config files are)
- set_target_properties(KSTest PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
- set(COTIRE_MINIMUM_NUMBER_OF_TARGET_SOURCES 1)
- set_target_properties(KSTest PROPERTIES COTIRE_ADD_UNITY_BUILD FALSE)
- set_target_properties(KSTest PROPERTIES COTIRE_ENABLE_PRECOMPILED_HEADER TRUE)
- set_target_properties(KSTest PROPERTIES COTIRE_CXX_PREFIX_HEADER_INIT "KSTest.hpp")
- cotire(KSTest)
|