From: Viktor Szakats Date: Tue, 25 Feb 2025 15:27:15 +0000 (+0100) Subject: cmake: `CURL_LIBDIRS` improvements (upstreamed from vcpkg) X-Git-Tag: curl-8_13_0~227 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0ead361904266a1590e361a0dbef16aef8cc7617;p=thirdparty%2Fcurl.git 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 --- 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")