summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2023-06-19 14:58:37 (GMT)
committerBrad King <brad.king@kitware.com>2023-06-22 14:17:16 (GMT)
commit97d0f764536ec46c78f1b2c2bb02de9b730693b9 (patch)
tree35f8f51aeb7bb93125a1184d37fdebb979ea3dc5 /Modules
parentaf9489a4f2858db0bf666c29f99dd332426f5ca1 (diff)
downloadCMake-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.cmake23
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()