CMake: do not build test programs by default

The default target should only build libcurl and curl. Add a dedicated
'testdeps' target which will be used later when running tests. Note that
unittests are currently broken in CMake and already excluded.

Closes #5368
This commit is contained in:
Peter Wu 2020-05-10 02:10:20 +02:00 коммит произвёл Daniel Stenberg
Родитель 90bbfb5136
Коммит c2ab2494ef
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 5CC908FDB71E12C2
4 изменённых файлов: 9 добавлений и 4 удалений

Просмотреть файл

@ -19,6 +19,7 @@
# KIND, either express or implied.
#
###########################################################################
add_custom_target(testdeps)
add_subdirectory(data)
add_subdirectory(libtest)
add_subdirectory(server)

Просмотреть файл

@ -22,7 +22,8 @@
set(TARGET_LABEL_PREFIX "Test ")
function(setup_test TEST_NAME) # ARGN are the files in the test
add_executable( ${TEST_NAME} ${ARGN} )
add_executable(${TEST_NAME} EXCLUDE_FROM_ALL ${ARGN})
add_dependencies(testdeps ${TEST_NAME})
string(TOUPPER ${TEST_NAME} UPPER_TEST_NAME)
include_directories(
@ -58,7 +59,8 @@ endforeach()
# Allows for hostname override to make tests machine independent.
# TODO this cmake build assumes a shared build, detect static linking here!
if(NOT WIN32)
add_library(hostname MODULE sethostname.c sethostname.h)
add_library(hostname MODULE EXCLUDE_FROM_ALL sethostname.c sethostname.h)
add_dependencies(testdeps hostname)
# Output to .libs for compatibility with autotools, the test data expects a
# library at (tests)/libtest/.libs/libhostname.so
set_target_properties(hostname PROPERTIES

Просмотреть файл

@ -26,7 +26,8 @@ if(MSVC)
endif()
function(SETUP_EXECUTABLE TEST_NAME) # ARGN are the files in the test
add_executable(${TEST_NAME} ${ARGN})
add_executable(${TEST_NAME} EXCLUDE_FROM_ALL ${ARGN})
add_dependencies(testdeps ${TEST_NAME})
string(TOUPPER ${TEST_NAME} UPPER_TEST_NAME)
include_directories(

Просмотреть файл

@ -58,7 +58,8 @@ include_directories(
foreach(_testfile ${UT_SRC})
get_filename_component(_testname ${_testfile} NAME_WE)
add_executable(${_testname} ${_testfile} ${UT_COMMON_FILES})
add_executable(${_testname} EXCLUDE_FROM_ALL ${_testfile} ${UT_COMMON_FILES})
#add_dependencies(testdeps ${_testname})
target_link_libraries(${_testname} libcurl ${CURL_LIBS})
set_target_properties(${_testname}
PROPERTIES COMPILE_DEFINITIONS "UNITTESTS")