diff options
author | tamasmeszaros <meszaros.q@gmail.com> | 2019-10-04 12:04:26 +0300 |
---|---|---|
committer | tamasmeszaros <meszaros.q@gmail.com> | 2019-10-04 12:04:26 +0300 |
commit | fe7f2e4d95155f6f79a194f52fd1b8e2af0c50eb (patch) | |
tree | 0075876e5237422a46e7281b819b6ab8d774eb0a /tests/CMakeLists.txt | |
parent | ffa544ade3b8b740c717949f0ae6a1db7be1a358 (diff) |
Catch2 test framework integration.
Diffstat (limited to 'tests/CMakeLists.txt')
-rw-r--r-- | tests/CMakeLists.txt | 47 |
1 files changed, 42 insertions, 5 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 1246c3043..9c4a75857 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,13 +1,50 @@ # TODO Add individual tests as executables in separate directories # add_subirectory(<testcase>) -find_package(GTest REQUIRED) - set(TEST_DATA_DIR ${CMAKE_CURRENT_SOURCE_DIR}/data) file(TO_NATIVE_PATH "${TEST_DATA_DIR}" TEST_DATA_DIR) +add_library(Catch2 INTERFACE) +list (APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules/Catch2) +target_include_directories(Catch2 INTERFACE ${CMAKE_CURRENT_LIST_DIR}) +add_library(Catch2::Catch2 ALIAS Catch2) +include(Catch) + +add_library(test_catch2_common INTERFACE) +target_compile_definitions(test_catch2_common INTERFACE TEST_DATA_DIR="${TEST_DATA_DIR}") +target_link_libraries(test_catch2_common INTERFACE Catch2::Catch2) + add_library(test_common INTERFACE) -target_compile_definitions(test_common INTERFACE TEST_DATA_DIR="${TEST_DATA_DIR}") -target_link_libraries(test_common INTERFACE GTest::GTest GTest::Main) +target_link_libraries(test_common INTERFACE test_catch2_common) + +# DEPRECATED: +find_package(GTest REQUIRED) +add_library(test_gtest_common INTERFACE) +target_compile_definitions(test_gtest_common INTERFACE TEST_DATA_DIR="${TEST_DATA_DIR}") +target_link_libraries(test_gtest_common INTERFACE GTest::GTest GTest::Main) + +function(prusaslicer_discover_tests TARGET) + catch_discover_tests(${TARGET}) +endfunction() + +macro(subdirlist result curdir) + file(GLOB children RELATIVE ${curdir} ${curdir}/*) + set(dirlist "") + foreach(child ${children}) + if(IS_DIRECTORY ${curdir}/${child} AND NOT ${child} STREQUAL "catch2" ) + list(APPEND dirlist ${child}) + endif() + endforeach() + set(${result} ${dirlist}) +endmacro() + +subdirlist(SUBDIRS ${CMAKE_CURRENT_LIST_DIR}) +message(STATUS ${SUBDIRS}) + +foreach(subdir ${SUBDIRS}) + add_subdirectory(${subdir}) +endforeach() + +#add_subdirectory(timeutils) +#add_subdirectory(example) -add_subdirectory(timeutils) |