81 lines
2.5 KiB
CMake
81 lines
2.5 KiB
CMake
set(_curl_platform_flags
|
|
-DENABLE_IPV6:BOOL=ON
|
|
-DENABLE_VERSIONED_SYMBOLS:BOOL=ON
|
|
-DENABLE_THREADED_RESOLVER:BOOL=ON
|
|
|
|
# -DCURL_DISABLE_LDAP:BOOL=ON
|
|
# -DCURL_DISABLE_LDAPS:BOOL=ON
|
|
-DENABLE_MANUAL:BOOL=OFF
|
|
# -DCURL_DISABLE_RTSP:BOOL=ON
|
|
# -DCURL_DISABLE_DICT:BOOL=ON
|
|
# -DCURL_DISABLE_TELNET:BOOL=ON
|
|
# -DCURL_DISABLE_POP3:BOOL=ON
|
|
# -DCURL_DISABLE_IMAP:BOOL=ON
|
|
# -DCURL_DISABLE_SMB:BOOL=ON
|
|
# -DCURL_DISABLE_SMTP:BOOL=ON
|
|
# -DCURL_DISABLE_GOPHER:BOOL=ON
|
|
-DHTTP_ONLY=ON
|
|
|
|
-DCMAKE_USE_GSSAPI:BOOL=OFF
|
|
-DCMAKE_USE_LIBSSH2:BOOL=OFF
|
|
-DUSE_RTMP:BOOL=OFF
|
|
-DUSE_NGHTTP2:BOOL=OFF
|
|
-DUSE_MBEDTLS:BOOL=OFF
|
|
)
|
|
|
|
if (WIN32)
|
|
set(_curl_platform_flags ${_curl_platform_flags} -DCMAKE_USE_SCHANNEL=ON)
|
|
elseif (APPLE)
|
|
set(_curl_platform_flags
|
|
|
|
${_curl_platform_flags}
|
|
|
|
-DCMAKE_USE_SECTRANSP:BOOL=ON
|
|
-DCMAKE_USE_OPENSSL:BOOL=OFF
|
|
|
|
-DCURL_CA_PATH:STRING=none
|
|
)
|
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
set(_curl_platform_flags
|
|
|
|
${_curl_platform_flags}
|
|
|
|
-DCMAKE_USE_OPENSSL:BOOL=ON
|
|
|
|
-DCURL_CA_PATH:STRING=none
|
|
-DCURL_CA_BUNDLE:STRING=none
|
|
-DCURL_CA_FALLBACK:BOOL=ON
|
|
)
|
|
endif ()
|
|
|
|
set(_patch_command "")
|
|
if (UNIX AND NOT APPLE)
|
|
# On non-apple UNIX platforms, finding the location of OpenSSL certificates is necessary at runtime, as there is no standard location usable across platforms.
|
|
# The OPENSSL_CERT_OVERRIDE flag is understood by PrusaSlicer and will trigger the search of certificates at initial application launch.
|
|
# Then ask the user for consent about the correctness of the found location.
|
|
set (_patch_command echo set_target_properties(CURL::libcurl PROPERTIES INTERFACE_COMPILE_DEFINITIONS OPENSSL_CERT_OVERRIDE) >> CMake/curl-config.cmake.in)
|
|
endif ()
|
|
|
|
prusaslicer_add_cmake_project(CURL
|
|
# GIT_REPOSITORY https://github.com/curl/curl.git
|
|
# GIT_TAG curl-7_75_0
|
|
URL https://github.com/curl/curl/archive/refs/tags/curl-7_75_0.zip
|
|
URL_HASH SHA256=a63ae025bb0a14f119e73250f2c923f4bf89aa93b8d4fafa4a9f5353a96a765a
|
|
DEPENDS ${ZLIB_PKG}
|
|
# PATCH_COMMAND ${GIT_EXECUTABLE} checkout -f -- . && git clean -df &&
|
|
# ${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/curl-mods.patch
|
|
PATCH_COMMAND "${_patch_command}"
|
|
CMAKE_ARGS
|
|
-DBUILD_TESTING:BOOL=OFF
|
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
${_curl_platform_flags}
|
|
)
|
|
|
|
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
add_dependencies(dep_CURL dep_OpenSSL)
|
|
endif ()
|
|
|
|
if (MSVC)
|
|
add_debug_dep(dep_CURL)
|
|
endif ()
|