diff options
author | Even Rouault <even.rouault@spatialys.com> | 2023-06-19 14:58:37 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2023-06-22 14:17:16 (GMT) |
commit | 97d0f764536ec46c78f1b2c2bb02de9b730693b9 (patch) | |
tree | 35f8f51aeb7bb93125a1184d37fdebb979ea3dc5 /Modules | |
parent | af9489a4f2858db0bf666c29f99dd332426f5ca1 (diff) | |
download | CMake-97d0f764536ec46c78f1b2c2bb02de9b730693b9.zip CMake-97d0f764536ec46c78f1b2c2bb02de9b730693b9.tar.gz CMake-97d0f764536ec46c78f1b2c2bb02de9b730693b9.tar.bz2 |
FindCURL: add a CURL_USE_STATIC_LIBS hint
The effect of that hint is to set a CURL_STATICLIB compile definition,
and to auxiliary system windows libraries for MSVC builds.
GDAL-Issue: https://github.com/OSGeo/gdal/issues/7955
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/FindCURL.cmake | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Modules/FindCURL.cmake b/Modules/FindCURL.cmake index acb87dc..2f33dac 100644 --- a/Modules/FindCURL.cmake +++ b/Modules/FindCURL.cmake @@ -58,6 +58,18 @@ returns its results with no further action. Set ``CURL_NO_CURL_CMAKE`` to ``ON`` to disable this search. +Hints +^^^^^ + +``CURL_USE_STATIC_LIBS`` + + .. versionadded:: 3.28 + + Set to ``TRUE`` to use static libraries. + + This is meaningful only when CURL is not found via its + CMake Package Configuration file. + #]=======================================================================] include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) @@ -193,6 +205,11 @@ if(CURL_FOUND) set_target_properties(CURL::libcurl PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIRS}") + if(CURL_USE_STATIC_LIBS) + set_property(TARGET CURL::libcurl APPEND PROPERTY + INTERFACE_COMPILE_DEFINITIONS "CURL_STATICLIB") + endif() + if(EXISTS "${CURL_LIBRARY}") set_target_properties(CURL::libcurl PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "C" @@ -212,5 +229,11 @@ if(CURL_FOUND) IMPORTED_LINK_INTERFACE_LANGUAGES "C" IMPORTED_LOCATION_DEBUG "${CURL_LIBRARY_DEBUG}") endif() + + if(CURL_USE_STATIC_LIBS AND MSVC) + set_target_properties(CURL::libcurl PROPERTIES + INTERFACE_LINK_LIBRARIES "normaliz.lib;ws2_32.lib;wldap32.lib") + endif() + endif() endif() |