From 12e21fab26bd83dfa75f009a24380d144ea51857 Mon Sep 17 00:00:00 2001 From: Sergei Nikulov Date: Thu, 16 Jun 2016 13:53:50 +0300 Subject: [PATCH] cmake: now using BUILD_TESTING=ON/OFF CMake build now using BUILD_TESTING=ON/OFF (default is OFF) to build tests and enabling CTest integration. Options BUILD_CURL_TESTS and BUILD_DASHBOARD_REPORTS was removed. Closes #882 Reviewed-by: Brad King --- CMakeLists.txt | 11 +++------- tests/CMakeLists.txt | 1 + tests/unit/CMakeLists.txt | 46 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 8 deletions(-) create mode 100644 tests/unit/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 630e4a553..58b145170 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,7 +72,6 @@ include_directories(${PROJECT_BINARY_DIR}/include/curl) include_directories( ${CURL_SOURCE_DIR}/include ) option(BUILD_CURL_EXE "Set to ON to build cURL executable." ON) -option(BUILD_CURL_TESTS "Set to ON to build cURL tests." ON) option(CURL_STATICLIB "Set to ON to build libcurl with static linking." OFF) option(ENABLE_ARES "Set to ON to enable c-ares support" OFF) option(ENABLE_THREADED_RESOLVER "Set to ON to enable POSIX threaded DNS lookup" OFF) @@ -108,12 +107,6 @@ if(ENABLE_ARES) set(CURL_LIBS ${CURL_LIBS} ${CARES_LIBRARY}) endif() -option(BUILD_DASHBOARD_REPORTS "Set to ON to activate reporting of cURL builds here http://www.cdash.org/CDashPublic/index.php?project=CURL" OFF) -if(BUILD_DASHBOARD_REPORTS) - #INCLUDE(Dart) - include(CTest) -endif(BUILD_DASHBOARD_REPORTS) - if(MSVC) option(BUILD_RELEASE_DEBUG_DIRS "Set OFF to build each configuration to a separate directory" OFF) mark_as_advanced(BUILD_RELEASE_DEBUG_DIRS) @@ -1041,7 +1034,9 @@ add_subdirectory(lib) if(BUILD_CURL_EXE) add_subdirectory(src) endif() -if(BUILD_CURL_TESTS) + +include(CTest) +if(BUILD_TESTING) add_subdirectory(tests) endif() diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index acd9caa00..63b4cda03 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,3 +1,4 @@ add_subdirectory(data) add_subdirectory(libtest) add_subdirectory(server) +add_subdirectory(unit) diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt new file mode 100644 index 000000000..e66679882 --- /dev/null +++ b/tests/unit/CMakeLists.txt @@ -0,0 +1,46 @@ + +set(UT_SRC + unit1300.c + unit1301.c + unit1302.c + unit1303.c + unit1304.c + unit1305.c + unit1307.c + unit1308.c + unit1309.c + unit1330.c +# Broken link on Linux +# unit1394.c + unit1395.c + unit1396.c + unit1397.c + unit1398.c + unit1600.c + unit1601.c + unit1603.c +# Broken link on Linux +# unit1604.c + ) + +set(UT_COMMON_FILES ../libtest/first.c ../libtest/test.h curlcheck.h) +include_directories( + ${CURL_SOURCE_DIR}/lib # To be able to reach "curl_setup_once.h" + ${CURL_SOURCE_DIR}/tests/libtest + ${CURL_SOURCE_DIR}/src + ${CURL_BINARY_DIR}/lib # To be able to reach "curl_config.h" + ${CURL_BINARY_DIR}/include # To be able to reach "curl/curlbuild.h" +) + +foreach(_testfile ${UT_SRC}) + + get_filename_component(_testname ${_testfile} NAME_WE) + add_executable(${_testname} ${_testfile} ${UT_COMMON_FILES}) + target_link_libraries(${_testname} libcurl ${CURL_LIBS}) + set_target_properties(${_testname} + PROPERTIES COMPILE_DEFINITIONS "UNITTESTS") + + add_test(NAME ${_testname} + COMMAND ${_testname} "http://www.google.com" + ) +endforeach()