diff --git a/CMakeLists.txt b/CMakeLists.txt index d9d4acf160..d113989a5c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -362,6 +362,7 @@ endif() option(CURL_USE_PKGCONFIG "Enable pkg-config to detect dependencies" ${_curl_use_pkgconfig_default}) # Initialize variables collecting dependency libs, paths, pkg-config names. +set(CURL_NETWORK_AND_TIME_LIBS "") set(CURL_LIBS "") set(CURL_LIBDIRS "") set(LIBCURL_PC_REQUIRES_PRIVATE "") @@ -544,9 +545,9 @@ endif() # If we are on Haiku, make sure that the network library is brought in. if(CMAKE_SYSTEM_NAME STREQUAL "Haiku") - list(APPEND CURL_LIBS "network") + list(APPEND CURL_NETWORK_AND_TIME_LIBS "network") elseif(AMIGA) - list(APPEND CURL_LIBS "net" "m" "atomic") + list(APPEND CURL_NETWORK_AND_TIME_LIBS "net" "m" "atomic") list(APPEND CMAKE_REQUIRED_LIBRARIES "net" "m" "atomic") endif() @@ -591,7 +592,7 @@ if(ENABLE_THREADED_RESOLVER) find_package(Threads REQUIRED) set(USE_THREADS_POSIX ${CMAKE_USE_PTHREADS_INIT}) set(HAVE_PTHREAD_H ${CMAKE_USE_PTHREADS_INIT}) - list(APPEND CURL_LIBS ${CMAKE_THREAD_LIBS_INIT}) + list(APPEND CURL_NETWORK_AND_TIME_LIBS ${CMAKE_THREAD_LIBS_INIT}) endif() endif() @@ -614,7 +615,7 @@ elseif(DOS) if(WATT_ROOT) set(USE_WATT32 ON) # FIXME upstream: must specify the full path to avoid CMake converting "watt" to "watt.lib" - list(APPEND CURL_LIBS "${WATT_ROOT}/lib/libwatt.a") + list(APPEND CURL_NETWORK_AND_TIME_LIBS "${WATT_ROOT}/lib/libwatt.a") include_directories(SYSTEM "${WATT_ROOT}/inc") list(APPEND CMAKE_REQUIRED_INCLUDES "${WATT_ROOT}/inc") else() @@ -634,7 +635,7 @@ elseif(AMIGA) elseif(NOT APPLE) check_library_exists("socket" "connect" "" HAVE_LIBSOCKET) if(HAVE_LIBSOCKET) - set(CURL_LIBS "socket" ${CURL_LIBS}) + set(CURL_NETWORK_AND_TIME_LIBS "socket" ${CURL_NETWORK_AND_TIME_LIBS}) endif() endif() @@ -1944,9 +1945,9 @@ include(CMake/OtherTests.cmake) set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS "HAVE_CONFIG_H") if(WIN32) - list(APPEND CURL_LIBS "${_win32_winsock}") + list(APPEND CURL_NETWORK_AND_TIME_LIBS "${_win32_winsock}") if(NOT WINCE AND NOT WINDOWS_STORE) - list(APPEND CURL_LIBS "iphlpapi") + list(APPEND CURL_NETWORK_AND_TIME_LIBS "iphlpapi") endif() if(NOT WINCE) list(APPEND CURL_LIBS "bcrypt") @@ -1973,6 +1974,8 @@ if(WIN32) endif() endif() +list(APPEND CURL_LIBS ${CURL_NETWORK_AND_TIME_LIBS}) + if(CMAKE_C_COMPILER_ID STREQUAL "MSVC") # MSVC but exclude clang-cl set_property(DIRECTORY APPEND PROPERTY COMPILE_OPTIONS "-MP") # Parallel compilation endif() diff --git a/docs/examples/CMakeLists.txt b/docs/examples/CMakeLists.txt index 5954393017..0963c62d9a 100644 --- a/docs/examples/CMakeLists.txt +++ b/docs/examples/CMakeLists.txt @@ -32,7 +32,7 @@ foreach(_target IN LISTS check_PROGRAMS) set(_target_name "curl-example-${_target}") add_executable(${_target_name} EXCLUDE_FROM_ALL "${_target}.c") add_dependencies(curl-examples ${_target_name}) - target_link_libraries(${_target_name} ${LIB_SELECTED} ${CURL_LIBS}) + target_link_libraries(${_target_name} ${LIB_SELECTED} ${CURL_NETWORK_AND_TIME_LIBS}) target_compile_definitions(${_target_name} PRIVATE "CURL_NO_OLDIES" "$<$:_CRT_SECURE_NO_DEPRECATE>") set_target_properties(${_target_name} PROPERTIES OUTPUT_NAME "${_target}" PROJECT_LABEL "Example ${_target}" UNITY_BUILD OFF) endforeach() diff --git a/tests/client/CMakeLists.txt b/tests/client/CMakeLists.txt index 0d8af56832..c8cec6f202 100644 --- a/tests/client/CMakeLists.txt +++ b/tests/client/CMakeLists.txt @@ -40,7 +40,7 @@ add_custom_command(OUTPUT "${BUNDLE}.c" add_executable(${BUNDLE} EXCLUDE_FROM_ALL "${BUNDLE}.c") add_dependencies(testdeps ${BUNDLE}) -target_link_libraries(${BUNDLE} ${LIB_SELECTED} ${CURL_LIBS}) +target_link_libraries(${BUNDLE} ${LIB_SELECTED} ${CURL_NETWORK_AND_TIME_LIBS}) target_include_directories(${BUNDLE} PRIVATE "${PROJECT_BINARY_DIR}/lib" # for "curl_config.h" "${PROJECT_SOURCE_DIR}/lib" # for "curl_setup.h", curlx diff --git a/tests/libtest/CMakeLists.txt b/tests/libtest/CMakeLists.txt index 859f29447d..77b69a0a30 100644 --- a/tests/libtest/CMakeLists.txt +++ b/tests/libtest/CMakeLists.txt @@ -49,7 +49,7 @@ add_custom_command(OUTPUT "${BUNDLE}.c" add_executable(${BUNDLE} EXCLUDE_FROM_ALL "${BUNDLE}.c") add_dependencies(testdeps ${BUNDLE}) -target_link_libraries(${BUNDLE} ${LIB_SELECTED} ${CURL_LIBS}) +target_link_libraries(${BUNDLE} ${LIB_SELECTED} ${CURL_NETWORK_AND_TIME_LIBS}) target_include_directories(${BUNDLE} PRIVATE "${PROJECT_BINARY_DIR}/lib" # for "curl_config.h" "${PROJECT_SOURCE_DIR}/lib" # for "curl_setup.h", curlx diff --git a/tests/server/CMakeLists.txt b/tests/server/CMakeLists.txt index 549b5536fc..887f8c72ec 100644 --- a/tests/server/CMakeLists.txt +++ b/tests/server/CMakeLists.txt @@ -36,7 +36,7 @@ add_custom_command(OUTPUT "${BUNDLE}.c" add_executable(${BUNDLE} EXCLUDE_FROM_ALL "${BUNDLE}.c") add_dependencies(testdeps ${BUNDLE}) -target_link_libraries(${BUNDLE} ${CURL_LIBS}) +target_link_libraries(${BUNDLE} ${CURL_NETWORK_AND_TIME_LIBS}) target_include_directories(${BUNDLE} PRIVATE "${PROJECT_BINARY_DIR}/lib" # for "curl_config.h" "${PROJECT_SOURCE_DIR}/lib" # for "curl_setup.h", curlx