HeartLinked commented on code in PR #236:
URL: https://github.com/apache/iceberg-cpp/pull/236#discussion_r2362036313
##########
cmake_modules/IcebergThirdpartyToolchain.cmake:
##########
@@ -430,6 +430,156 @@ function(resolve_zlib_dependency)
endfunction()
+# ----------------------------------------------------------------------
+# CURL (for cpr)
+
+function(resolve_curl_dependency)
+ prepare_fetchcontent()
+
+ set(BUILD_CURL_EXE
+ OFF
+ CACHE BOOL "" FORCE)
+ set(BUILD_TESTING
+ OFF
+ CACHE BOOL "" FORCE)
+ set(CURL_ENABLE_EXPORT_TARGET
+ OFF
+ CACHE BOOL "" FORCE)
+ set(BUILD_SHARED_LIBS
+ OFF
+ CACHE BOOL "" FORCE)
+ set(CURL_STATICLIB
+ ON
+ CACHE BOOL "" FORCE)
+ set(HTTP_ONLY
+ ON
+ CACHE BOOL "" FORCE)
+ set(CURL_CA_BUNDLE
+ "auto"
+ CACHE STRING "" FORCE)
+ set(USE_LIBIDN2
+ OFF
+ CACHE BOOL "" FORCE)
+
+ fetchcontent_declare(CURL
+ ${FC_DECLARE_COMMON_OPTIONS}
+ URL https://curl.se/download/curl-8.11.0.tar.gz
+ FIND_PACKAGE_ARGS
+ NAMES
+ CURL
+ CONFIG)
+
+ fetchcontent_makeavailable(CURL)
+
+ if(TARGET OpenSSL::SSL)
+ message(STATUS "Adding OpenSSL to the system dependency list.")
+ list(APPEND ICEBERG_SYSTEM_DEPENDENCIES OpenSSL)
+ endif()
+
+ if(curl_SOURCE_DIR)
+ if(NOT TARGET CURL::libcurl)
+ add_library(CURL::libcurl INTERFACE IMPORTED)
+ target_link_libraries(CURL::libcurl INTERFACE libcurl_static)
+ target_include_directories(CURL::libcurl INTERFACE
${curl_BINARY_DIR}/include
+
${curl_SOURCE_DIR}/include)
+ endif()
+
+ set(CURL_VENDORED TRUE)
+ set_target_properties(libcurl_static PROPERTIES OUTPUT_NAME
"iceberg_vendored_curl"
+ POSITION_INDEPENDENT_CODE
ON)
+ add_library(Iceberg::libcurl_static ALIAS libcurl_static)
+ install(TARGETS libcurl_static
+ EXPORT iceberg_targets
+ RUNTIME DESTINATION "${ICEBERG_INSTALL_BINDIR}"
+ ARCHIVE DESTINATION "${ICEBERG_INSTALL_LIBDIR}"
+ LIBRARY DESTINATION "${ICEBERG_INSTALL_LIBDIR}")
+ message(STATUS "Use vendored CURL")
+
+ list(APPEND ICEBERG_SYSTEM_DEPENDENCIES OpenSSL)
Review Comment:
removed
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]