From 7867aaa9a01decf93711428462335be8cef70212 Mon Sep 17 00:00:00 2001 From: John Butterfield Date: Tue, 17 Jul 2018 01:13:18 -0700 Subject: [PATCH] cmake: link curl to the OpenSSL targets instead of lib absolute paths Reviewed-by: Jakub Zakrzewski Reviewed-by: Sergei Nikulov Closes #2753 --- CMake/{curl-config.cmake => curl-config.cmake.in} | 5 +++++ CMakeLists.txt | 8 ++++---- Makefile.am | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) rename CMake/{curl-config.cmake => curl-config.cmake.in} (93%) diff --git a/CMake/curl-config.cmake b/CMake/curl-config.cmake.in similarity index 93% rename from CMake/curl-config.cmake rename to CMake/curl-config.cmake.in index 10045c6b76..73e04c606e 100644 --- a/CMake/curl-config.cmake +++ b/CMake/curl-config.cmake.in @@ -9,6 +9,11 @@ if(NOT CURL_FIND_COMPONENTS) endif() endif() +include(CMakeFindDependencyMacro) +if(CURL_FIND_REQUIRED_libcurl) + find_dependency(OpenSSL "@OPENSSL_VERSION_MAJOR@") +endif() + set(_curl_missing_components) foreach(_comp ${CURL_FIND_COMPONENTS}) if(EXISTS "${_DIR}/${_comp}-target.cmake") diff --git a/CMakeLists.txt b/CMakeLists.txt index cafe983f4b..fa2fc094ec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -352,8 +352,8 @@ if(CMAKE_USE_OPENSSL) set(USE_OPENSSL ON) set(HAVE_LIBCRYPTO ON) set(HAVE_LIBSSL ON) - list(APPEND CURL_LIBS ${OPENSSL_LIBRARIES}) - include_directories(${OPENSSL_INCLUDE_DIR}) + list(APPEND CURL_LIBS OpenSSL::SSL OpenSSL::Crypto) + set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) check_include_file("openssl/crypto.h" HAVE_OPENSSL_CRYPTO_H) check_include_file("openssl/err.h" HAVE_OPENSSL_ERR_H) @@ -1308,9 +1308,9 @@ write_basic_package_version_file( COMPATIBILITY SameMajorVersion ) -configure_file(CMake/curl-config.cmake +configure_file(CMake/curl-config.cmake.in "${PROJECT_BINARY_DIR}/curl-config.cmake" - COPYONLY + @ONLY ) install( diff --git a/Makefile.am b/Makefile.am index bf6bfa987a..959eeb5314 100644 --- a/Makefile.am +++ b/Makefile.am @@ -31,7 +31,7 @@ CMAKE_DIST = CMakeLists.txt CMake/CMakeConfigurableFile.in \ CMake/CurlSymbolHiding.cmake CMake/FindCARES.cmake \ CMake/FindLibSSH2.cmake CMake/FindNGHTTP2.cmake \ CMake/FindMbedTLS.cmake CMake/cmake_uninstall.cmake.in \ - CMake/curl-config.cmake + CMake/curl-config.cmake.in VC6_LIBTMPL = projects/Windows/VC6/lib/libcurl.tmpl VC6_LIBDSP = projects/Windows/VC6/lib/libcurl.dsp.dist