]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
cmake: `CURL_LIBDIRS` improvements (upstreamed from vcpkg)
authorViktor Szakats <commit@vsz.me>
Tue, 25 Feb 2025 15:27:15 +0000 (16:27 +0100)
committerViktor Szakats <commit@vsz.me>
Fri, 7 Mar 2025 12:48:07 +0000 (13:48 +0100)
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
lib/CMakeLists.txt

index b3e4f62a72f01c2edefc64255dc6c2c51f062f4a..108f76063770400fceab55591667ef689a9d72e0 100644 (file)
@@ -2044,6 +2044,8 @@ if(HAVE_MANUAL_TOOLS)
   add_subdirectory(docs)
 endif()
 
+list(REMOVE_DUPLICATES CURL_LIBDIRS)
+
 add_subdirectory(lib)
 
 if(BUILD_CURL_EXE)
index 76b63f416ba1c1724cb464c17f69d75569a99b1b..7200b0925d893b4a87f95d40ed28672f706a7878 100644 (file)
@@ -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")