X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=testing%2FCMakeLists.txt;h=acb63695fdfe4220486992e88f84de703de29572;hb=718975776a47a5c65c9f89010e8959103d1e3555;hp=b019302e0dda586fe07b163c6b579b1268bb075f;hpb=d1c9b695e9b3fbfcc94230a242b0290b43f27006;p=awesomized%2Flibmemcached diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt index b019302e..acb63695 100644 --- a/testing/CMakeLists.txt +++ b/testing/CMakeLists.txt @@ -1,6 +1,28 @@ +if(NOT BUILD_TESTING OR NOT CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) + return() +endif() + +include(CMake/Catch.cmake) file(GLOB_RECURSE TESTING_SRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.cpp) +set(TESTING_ROOT ${CMAKE_CURRENT_BINARY_DIR}) +set_source_files_properties(main.cpp PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON) +configure_file(conf.h.in conf.h @ONLY) +add_executable(runtests ${TESTING_SRC}) +set_target_properties(runtests PROPERTIES CXX_STANDARD 17) +target_include_directories(runtests PRIVATE + ${CMAKE_SOURCE_DIR} + ${CMAKE_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/src + ${CMAKE_BINARY_DIR}/src) +target_link_libraries(runtests PRIVATE libhashkit libmemcached libmemcachedutil) +add_dependencies(runtests ${CLIENTS}) -add_executable(catch_main ${TESTING_SRC}) -set_target_properties(catch_main PROPERTIES CXX_STANDARD 17) -target_link_libraries(catch_main libhashkit libmemcached) +catch_discover_tests(runtests + TEST_SPEC "lib*") +catch_discover_tests(runtests + TEST_SPEC "hashkit*") +catch_discover_tests(runtests + TEST_SPEC "memcached*") +catch_discover_tests(runtests + TEST_SPEC "bin/*")