diff options
| author | past-due <30942300+past-due@users.noreply.github.com> | 2019-04-09 02:54:07 -0400 |
|---|---|---|
| committer | Phil Christensen <philc@microsoft.com> | 2019-04-08 23:54:07 -0700 |
| commit | c2790cd23e75ee4d65772b1ac8f0e5b0f4cf8c04 (patch) | |
| tree | edbb535a2f1b43da9aa877678cd8b5b834c32751 /ports/google-cloud-cpp/cmake-libcurl-target.patch | |
| parent | 6240fe128b4f17d6f70c66b446d758483e622b69 (diff) | |
| download | vcpkg-c2790cd23e75ee4d65772b1ac8f0e5b0f4cf8c04.tar.gz vcpkg-c2790cd23e75ee4d65772b1ac8f0e5b0f4cf8c04.zip | |
[google-cloud-cpp] Fix libcurl linkage (#5968)
* [google-cloud-cpp] Fix libcurl linkage
* [curl] Fix libcurl exported CMake target config (Windows)
Diffstat (limited to 'ports/google-cloud-cpp/cmake-libcurl-target.patch')
| -rw-r--r-- | ports/google-cloud-cpp/cmake-libcurl-target.patch | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/ports/google-cloud-cpp/cmake-libcurl-target.patch b/ports/google-cloud-cpp/cmake-libcurl-target.patch new file mode 100644 index 000000000..97e66e69f --- /dev/null +++ b/ports/google-cloud-cpp/cmake-libcurl-target.patch @@ -0,0 +1,144 @@ +diff --git a/cmake/IncludeCurl.cmake b/cmake/IncludeCurl.cmake +index d3323e3b8..6ea7ca3e6 100644 +--- a/cmake/IncludeCurl.cmake ++++ b/cmake/IncludeCurl.cmake +@@ -39,13 +39,13 @@ elseif("${GOOGLE_CLOUD_CPP_CURL_PROVIDER}" STREQUAL "package") + # stage/module/FindCURL.html for details). Until then, define the target + # ourselves if it is missing. + find_package(CURL REQUIRED) +- if (NOT TARGET CURL::CURL) +- add_library(CURL::CURL UNKNOWN IMPORTED) +- set_property(TARGET CURL::CURL ++ if (NOT TARGET CURL::libcurl) ++ add_library(CURL::libcurl UNKNOWN IMPORTED) ++ set_property(TARGET CURL::libcurl + APPEND + PROPERTY INTERFACE_INCLUDE_DIRECTORIES + "${CURL_INCLUDE_DIR}") +- set_property(TARGET CURL::CURL ++ set_property(TARGET CURL::libcurl + APPEND + PROPERTY IMPORTED_LOCATION "${CURL_LIBRARY}") + endif () +@@ -56,7 +56,7 @@ elseif("${GOOGLE_CLOUD_CPP_CURL_PROVIDER}" STREQUAL "package") + if ("${CURL_LIBRARY}" MATCHES "${CMAKE_STATIC_LIBRARY_SUFFIX}$") + find_package(OpenSSL REQUIRED) + find_package(ZLIB REQUIRED) +- set_property(TARGET CURL::CURL ++ set_property(TARGET CURL::libcurl + APPEND + PROPERTY INTERFACE_LINK_LIBRARIES + OpenSSL::SSL +@@ -64,7 +64,7 @@ elseif("${GOOGLE_CLOUD_CPP_CURL_PROVIDER}" STREQUAL "package") + ZLIB::ZLIB) + message(STATUS "CURL linkage will be static") + if (WIN32) +- set_property(TARGET CURL::CURL ++ set_property(TARGET CURL::libcurl + APPEND + PROPERTY INTERFACE_LINK_LIBRARIES + crypt32 +@@ -72,7 +72,7 @@ elseif("${GOOGLE_CLOUD_CPP_CURL_PROVIDER}" STREQUAL "package") + ws2_32) + endif () + if (APPLE) +- set_property(TARGET CURL::CURL ++ set_property(TARGET CURL::libcurl + APPEND + PROPERTY INTERFACE_LINK_LIBRARIES ldap) + endif () +diff --git a/cmake/external/curl.cmake b/cmake/external/curl.cmake +index 54753ada9..2a83e19df 100644 +--- a/cmake/external/curl.cmake ++++ b/cmake/external/curl.cmake +@@ -88,10 +88,10 @@ if (NOT TARGET curl_project) + endif () + + include(ExternalProjectHelper) +- add_library(CURL::CURL INTERFACE IMPORTED) +- add_dependencies(CURL::CURL curl_project) +- set_library_properties_for_external_project(CURL::CURL curl) +- set_property(TARGET CURL::CURL ++ add_library(CURL::libcurl INTERFACE IMPORTED) ++ add_dependencies(CURL::libcurl curl_project) ++ set_library_properties_for_external_project(CURL::libcurl curl) ++ set_property(TARGET CURL::libcurl + APPEND + PROPERTY INTERFACE_LINK_LIBRARIES + c-ares::cares +@@ -99,7 +99,7 @@ if (NOT TARGET curl_project) + OpenSSL::Crypto + ZLIB::ZLIB) + if (WIN32) +- set_property(TARGET CURL::CURL ++ set_property(TARGET CURL::libcurl + APPEND + PROPERTY INTERFACE_LINK_LIBRARIES + crypt32 +@@ -107,7 +107,7 @@ if (NOT TARGET curl_project) + ws2_32) + endif () + if (APPLE) +- set_property(TARGET CURL::CURL ++ set_property(TARGET CURL::libcurl + APPEND + PROPERTY INTERFACE_LINK_LIBRARIES ldap) + endif () +diff --git a/google/cloud/storage/CMakeLists.txt b/google/cloud/storage/CMakeLists.txt +index 1e750af8a..a0a04caab 100644 +--- a/google/cloud/storage/CMakeLists.txt ++++ b/google/cloud/storage/CMakeLists.txt +@@ -226,7 +226,7 @@ target_link_libraries(storage_client + PUBLIC google_cloud_cpp_common + nlohmann_json + Crc32c::crc32c +- CURL::CURL ++ CURL::libcurl + Threads::Threads + OpenSSL::SSL + OpenSSL::Crypto +@@ -396,7 +396,7 @@ if (BUILD_TESTING) + GTest::gmock_main + GTest::gmock + GTest::gtest +- CURL::CURL ++ CURL::libcurl + storage_common_options + nlohmann_json) + if (MSVC) +diff --git a/google/cloud/storage/config.cmake.in b/google/cloud/storage/config.cmake.in +index 660829ae4..a4d261815 100644 +--- a/google/cloud/storage/config.cmake.in ++++ b/google/cloud/storage/config.cmake.in +@@ -19,13 +19,13 @@ find_dependency(google_cloud_cpp_common) + find_dependency(OpenSSL) + find_dependency(ZLIB) + +-# Some versions of FindCURL do not define CURL::CURL, so we define it ourselves. +-if (NOT TARGET CURL::CURL) +- add_library(CURL::CURL UNKNOWN IMPORTED) +- set_property(TARGET CURL::CURL ++# Some versions of FindCURL do not define CURL::libcurl, so we define it ourselves. ++if (NOT TARGET CURL::libcurl) ++ add_library(CURL::libcurl UNKNOWN IMPORTED) ++ set_property(TARGET CURL::libcurl + APPEND + PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIR}") +- set_property(TARGET CURL::CURL ++ set_property(TARGET CURL::libcurl + APPEND + PROPERTY IMPORTED_LOCATION "${CURL_LIBRARY}") + endif () +diff --git a/google/cloud/storage/tests/CMakeLists.txt b/google/cloud/storage/tests/CMakeLists.txt +index 9e5fb663d..987958396 100644 +--- a/google/cloud/storage/tests/CMakeLists.txt ++++ b/google/cloud/storage/tests/CMakeLists.txt +@@ -50,7 +50,7 @@ foreach (fname ${storage_client_integration_tests}) + GTest::gmock_main + GTest::gmock + GTest::gtest +- CURL::CURL ++ CURL::libcurl + Threads::Threads + nlohmann_json + storage_common_options) |
