From 9857dc553f49084f9039ae2e8d5f80420bf53b56 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Thu, 5 Sep 2019 15:41:07 -0500 Subject: Update Windows require for CURL to CMake 3.13 --- MANIFEST | 1 - config/cmake/ConfigureChecks.cmake | 5 +- config/cmake_ext_mod/FindCURL.cmake | 193 ------------------------------------ 3 files changed, 3 insertions(+), 196 deletions(-) delete mode 100644 config/cmake_ext_mod/FindCURL.cmake diff --git a/MANIFEST b/MANIFEST index 93661fa..2e0022e 100644 --- a/MANIFEST +++ b/MANIFEST @@ -3304,7 +3304,6 @@ ./config/cmake_ext_mod/ConfigureChecks.cmake ./config/cmake_ext_mod/CTestCustom.cmake -./config/cmake_ext_mod/FindCURL.cmake ./config/cmake_ext_mod/FindSZIP.cmake ./config/cmake_ext_mod/GetTimeOfDayTest.cpp ./config/cmake_ext_mod/grepTest.cmake 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 () -- cgit v0.12