X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=testing%2FCMakeLists.txt;h=acb63695fdfe4220486992e88f84de703de29572;hb=718975776a47a5c65c9f89010e8959103d1e3555;hp=5f1532f8c718bf3baf785ddc595488a9832fa3ed;hpb=cdff9052fb343b977fc63ae65a947958eedaab91;p=awesomized%2Flibmemcached diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt index 5f1532f8..acb63695 100644 --- a/testing/CMakeLists.txt +++ b/testing/CMakeLists.txt @@ -1,28 +1,28 @@ +if(NOT BUILD_TESTING OR NOT CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) + return() +endif() -add_executable(catch_main - main.cpp +include(CMake/Catch.cmake) - lib/common.cpp +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}) - lib/Cluster.cpp - lib/Connection.cpp - lib/ForkAndExec.cpp - lib/MemcachedCluster.cpp - lib/Server.cpp - lib/Retry.cpp - - lib.cpp - hashkit/basic.cpp - memcached/basic.cpp - memcached/callbacks.cpp - memcached/servers.cpp - memcached/dump.cpp - memcached/encoding_key.cpp - memcached/exist.cpp - memcached/haldenbrand.cpp - ) - -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/*")