From bcc2f4b0006826ad409aeab96dfd281b3a036b15 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sat, 21 Jun 2025 20:44:41 +0200 Subject: [PATCH] backtrack with CURL_LIBS for all except servers Necessary in certain cases: https://github.com/curl/curl/actions/runs/15798441792/job/44533568505?pr=17696 https://ci.appveyor.com/project/curlorg/curl/builds/52275205 The actual linkage needs are somewhat messy: - certain tests do themselves depend on system libs (e.g. ws2_32) - curlx depends on certain system libs (e.g. curlx_wait_ms on ws2_32) This only applies when linking against shared libcurl. Sometimes this is satified because libcurl pulls in the right libs, but when not linking relies on an explicit CURL_LIBS. --- docs/examples/CMakeLists.txt | 2 +- tests/client/CMakeLists.txt | 2 +- tests/libtest/CMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/examples/CMakeLists.txt b/docs/examples/CMakeLists.txt index 3d3297c777..5954393017 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}) + target_link_libraries(${_target_name} ${LIB_SELECTED} ${CURL_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 2e1ebc1fb7..0d8af56832 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}) +target_link_libraries(${BUNDLE} ${LIB_SELECTED} ${CURL_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 177361596b..006c46d07e 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}) +target_link_libraries(${BUNDLE} ${LIB_SELECTED} ${CURL_LIBS}) target_include_directories(${BUNDLE} PRIVATE "${PROJECT_BINARY_DIR}/lib" # for "curl_config.h" "${PROJECT_SOURCE_DIR}/lib" # for "curl_setup.h", curlx