From 0ead361904266a1590e361a0dbef16aef8cc7617 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Tue, 25 Feb 2025 16:27:15 +0100 Subject: [PATCH] cmake: `CURL_LIBDIRS` improvements (upstreamed from vcpkg) Apply downstream patches from the vcpkg project: - cmake: remove duplicates from `CURL_LIBDIRS`. - cmake: set `CURL_LIBDIRS` as `INTERFACE_LINK_DIRECTORIES` for static libcurl. To support CMake <3.13, change downstream patch from: ```cmake target_link_directories(${LIB_STATIC} INTERFACE ${CURL_LIBDIRS}) ``` to: ```cmake set_target_properties(${LIB_STATIC} PROPERTIES [...] INTERFACE_LINK_DIRECTORIES "${CURL_LIBDIRS}") ``` Co-authored-by: Kai Pastor Ref: https://github.com/microsoft/vcpkg/pull/43819 Closes #16610 --- CMakeLists.txt | 2 ++ lib/CMakeLists.txt | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b3e4f62a72..108f760637 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2044,6 +2044,8 @@ if(HAVE_MANUAL_TOOLS) add_subdirectory(docs) endif() +list(REMOVE_DUPLICATES CURL_LIBDIRS) + add_subdirectory(lib) if(BUILD_CURL_EXE) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 76b63f416b..7200b0925d 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -149,7 +149,8 @@ if(BUILD_STATIC_LIBS) set_target_properties(${LIB_STATIC} PROPERTIES PREFIX "" OUTPUT_NAME "${LIBCURL_OUTPUT_NAME}" SUFFIX "${STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}" - INTERFACE_COMPILE_DEFINITIONS "CURL_STATICLIB") + INTERFACE_COMPILE_DEFINITIONS "CURL_STATICLIB" + INTERFACE_LINK_DIRECTORIES "${CURL_LIBDIRS}") if(CURL_HIDES_PRIVATE_SYMBOLS) set_property(TARGET ${LIB_STATIC} APPEND PROPERTY COMPILE_FLAGS "${CURL_CFLAG_SYMBOLS_HIDE}") set_property(TARGET ${LIB_STATIC} APPEND PROPERTY COMPILE_DEFINITIONS "CURL_HIDDEN_SYMBOLS") -- 2.47.3