summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2019-09-05 20:41:07 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2019-09-05 20:41:07 (GMT)
commit9857dc553f49084f9039ae2e8d5f80420bf53b56 (patch)
tree29a27c76685b8dafe9567fe921ebc82058603f57 /config
parent60cc470a359f13eba31945c396a58fd96a490f35 (diff)
downloadhdf5-9857dc553f49084f9039ae2e8d5f80420bf53b56.zip
hdf5-9857dc553f49084f9039ae2e8d5f80420bf53b56.tar.gz
hdf5-9857dc553f49084f9039ae2e8d5f80420bf53b56.tar.bz2
Update Windows require for CURL to CMake 3.13
Diffstat (limited to 'config')
-rw-r--r--config/cmake/ConfigureChecks.cmake5
-rw-r--r--config/cmake_ext_mod/FindCURL.cmake193
2 files changed, 3 insertions, 195 deletions
diff --git a/config/cmake/ConfigureChecks.cmake b/config/cmake/ConfigureChecks.cmake
index 24947f2..8230df8 100644
--- a/config/cmake/ConfigureChecks.cmake
+++ b/config/cmake/ConfigureChecks.cmake
@@ -159,8 +159,9 @@ endif ()
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_ROS3_VFD "Build the ROS3 Virtual File Driver" OFF)
if (HDF5_ENABLE_ROS3_VFD)
- if (WIN32)
- set(CURL_LIBRARY "-lcurl")
+ # CMake version 3.13 fixed FindCURL module
+ if(CMAKE_VERSION VERSION_LESS "3.13.0" AND WIN32)
+ MESSAGE(FATAL_ERROR "Windows builds for this option requires a minimum of CMake 3.13")
endif ()
find_package(CURL REQUIRED)
find_package(OpenSSL REQUIRED)
diff --git a/config/cmake_ext_mod/FindCURL.cmake b/config/cmake_ext_mod/FindCURL.cmake
deleted file mode 100644
index 84299ec..0000000
--- a/config/cmake_ext_mod/FindCURL.cmake
+++ /dev/null
@@ -1,193 +0,0 @@
-# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
-# file Copyright.txt or https://cmake.org/licensing for details.
-
-#[=======================================================================[.rst:
-FindCURL
---------
-
-Find the native CURL headers and libraries.
-
-This module accept optional COMPONENTS to check supported features and
-protocols::
-
- PROTOCOLS: ICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS LDAP LDAPS POP3
- POP3S RTMP RTSP SCP SFTP SMB SMBS SMTP SMTPS TELNET TFTP
- FEATURES: SSL IPv6 UnixSockets libz AsynchDNS IDN GSS-API PSL SPNEGO
- Kerberos NTLM NTLM_WB TLS-SRP HTTP2 HTTPS-proxy
-
-IMPORTED Targets
-^^^^^^^^^^^^^^^^
-
-This module defines :prop_tgt:`IMPORTED` target ``CURL::libcurl``, if
-curl has been found.
-
-Result Variables
-^^^^^^^^^^^^^^^^
-
-This module defines the following variables:
-
-``CURL_FOUND``
- "True" if ``curl`` found.
-
-``CURL_INCLUDE_DIRS``
- where to find ``curl``/``curl.h``, etc.
-
-``CURL_LIBRARIES``
- List of libraries when using ``curl``.
-
-``CURL_VERSION_STRING``
- The version of ``curl`` found.
-#]=======================================================================]
-
-find_package(PkgConfig QUIET)
-if(PKG_CONFIG_FOUND)
- pkg_check_modules(PC_CURL QUIET libcurl)
- if(PC_CURL_FOUND)
- set(CURL_VERSION_STRING ${PC_CURL_VERSION})
- pkg_get_variable(CURL_SUPPORTED_PROTOCOLS libcurl supported_protocols)
- pkg_get_variable(CURL_SUPPORTED_FEATURES libcurl supported_features)
- endif()
-endif()
-
-# Look for the header file.
-find_path(CURL_INCLUDE_DIR
- NAMES curl/curl.h
- HINTS ${PC_CURL_INCLUDE_DIRS})
-mark_as_advanced(CURL_INCLUDE_DIR)
-
-if(NOT CURL_LIBRARY)
- # Look for the library (sorted from most current/relevant entry to least).
- find_library(CURL_LIBRARY_RELEASE NAMES
- curl
- # Windows MSVC prebuilts:
- curllib
- libcurl_imp
- curllib_static
- # Windows older "Win32 - MSVC" prebuilts (libcurl.lib, e.g. libcurl-7.15.5-win32-msvc.zip):
- libcurl
- HINTS ${PC_CURL_LIBRARY_DIRS}
- )
- mark_as_advanced(CURL_LIBRARY_RELEASE)
-
- find_library(CURL_LIBRARY_DEBUG NAMES
- # Windows MSVC CMake builds in debug configuration on vcpkg:
- libcurl-d_imp
- libcurl-d
- HINTS ${PC_CURL_LIBRARY_DIRS}
- )
- mark_as_advanced(CURL_LIBRARY_DEBUG)
-
- include(SelectLibraryConfigurations.cmake)
- select_library_configurations(CURL)
-endif()
-
-if(CURL_INCLUDE_DIR AND NOT CURL_VERSION_STRING)
- foreach(_curl_version_header curlver.h curl.h)
- if(EXISTS "${CURL_INCLUDE_DIR}/curl/${_curl_version_header}")
- file(STRINGS "${CURL_INCLUDE_DIR}/curl/${_curl_version_header}" curl_version_str REGEX "^#define[\t ]+LIBCURL_VERSION[\t ]+\".*\"")
-
- string(REGEX REPLACE "^#define[\t ]+LIBCURL_VERSION[\t ]+\"([^\"]*)\".*" "\\1" CURL_VERSION_STRING "${curl_version_str}")
- unset(curl_version_str)
- break()
- endif()
- endforeach()
-endif()
-
-if(CURL_FIND_COMPONENTS)
- set(CURL_KNOWN_PROTOCOLS ICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS LDAP LDAPS POP3 POP3S RTMP RTSP SCP SFTP SMB SMBS SMTP SMTPS TELNET TFTP)
- set(CURL_KNOWN_FEATURES SSL IPv6 UnixSockets libz AsynchDNS IDN GSS-API PSL SPNEGO Kerberos NTLM NTLM_WB TLS-SRP HTTP2 HTTPS-proxy)
- foreach(component IN LISTS CURL_KNOWN_PROTOCOLS CURL_KNOWN_FEATURES)
- set(CURL_${component}_FOUND FALSE)
- endforeach()
- if(NOT PC_CURL_FOUND)
- find_program(CURL_CONFIG_EXECUTABLE NAMES curl-config)
- if(CURL_CONFIG_EXECUTABLE)
- execute_process(COMMAND ${CURL_CONFIG_EXECUTABLE} --version
- OUTPUT_VARIABLE CURL_CONFIG_VERSION_STRING
- ERROR_QUIET
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- execute_process(COMMAND ${CURL_CONFIG_EXECUTABLE} --feature
- OUTPUT_VARIABLE CURL_CONFIG_FEATURES_STRING
- ERROR_QUIET
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REPLACE "\n" ";" CURL_SUPPORTED_FEATURES "${CURL_CONFIG_FEATURES_STRING}")
- execute_process(COMMAND ${CURL_CONFIG_EXECUTABLE} --protocols
- OUTPUT_VARIABLE CURL_CONFIG_PROTOCOLS_STRING
- ERROR_QUIET
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REPLACE "\n" ";" CURL_SUPPORTED_PROTOCOLS "${CURL_CONFIG_PROTOCOLS_STRING}")
- endif()
-
- endif()
- foreach(component IN LISTS CURL_FIND_COMPONENTS)
- list(FIND CURL_KNOWN_PROTOCOLS ${component} _found)
- if(_found)
- list(FIND CURL_SUPPORTED_PROTOCOLS ${component} _found)
- if(_found)
- set(CURL_${component}_FOUND TRUE)
- elseif(CURL_FIND_REQUIRED)
- message(FATAL_ERROR "CURL: Required protocol ${component} is not found")
- endif()
- else()
- list(FIND CURL_SUPPORTED_FEATURES ${component} _found)
- if(_found)
- set(CURL_${component}_FOUND TRUE)
- elseif(CURL_FIND_REQUIRED)
- message(FATAL_ERROR "CURL: Required feature ${component} is not found")
- endif()
- endif()
- endforeach()
-endif()
-
-include(FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(CURL
- REQUIRED_VARS CURL_LIBRARY CURL_INCLUDE_DIR
- VERSION_VAR CURL_VERSION_STRING
- HANDLE_COMPONENTS)
-
-if(CURL_FOUND)
- set(CURL_LIBRARIES ${CURL_LIBRARY})
- set(CURL_INCLUDE_DIRS ${CURL_INCLUDE_DIR})
-
- if(NOT TARGET CURL::libcurl)
- add_library(CURL::libcurl UNKNOWN IMPORTED)
- set_target_properties(CURL::libcurl PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIRS}")
-
- if(EXISTS "${CURL_LIBRARY}")
- set_target_properties(CURL::libcurl PROPERTIES
- IMPORTED_LINK_INTERFACE_LANGUAGES "C"
- IMPORTED_LOCATION "${CURL_LIBRARY}")
- endif()
- if(CURL_LIBRARY_RELEASE)
- set_property(TARGET CURL::libcurl APPEND PROPERTY
- IMPORTED_CONFIGURATIONS RELEASE)
- set_target_properties(CURL::libcurl PROPERTIES
- IMPORTED_LINK_INTERFACE_LANGUAGES "C"
- IMPORTED_LOCATION_RELEASE "${CURL_LIBRARY_RELEASE}")
- endif()
- if(CURL_LIBRARY_DEBUG)
- set_property(TARGET CURL::libcurl APPEND PROPERTY
- IMPORTED_CONFIGURATIONS DEBUG)
- set_target_properties(CURL::libcurl PROPERTIES
- IMPORTED_LINK_INTERFACE_LANGUAGES "C"
- IMPORTED_LOCATION_DEBUG "${CURL_LIBRARY_DEBUG}")
- endif()
- endif()
-endif()
-
-mark_as_advanced(CURL_LIBRARY CURL_INCLUDE_DIR)
-
-# Report the results.
-if (NOT CURL_FOUND)
- set (CURL_DIR_MESSAGE
- "CURL was not found. Make sure CURL_LIBRARY and CURL_INCLUDE_DIR are set or set the CURL_INSTALL environment variable."
- )
- if (NOT CURL_FIND_QUIETLY)
- message (STATUS "${CURL_DIR_MESSAGE}")
- else ()
- if (CURL_FIND_REQUIRED)
- message (FATAL_ERROR "CURL was NOT found and is Required by this project")
- endif ()
- endif ()
-endif ()