Scott E. Graves 5a30b15d1e
All checks were successful
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
update build system
2024-06-07 16:15:22 -05:00

57 lines
1.6 KiB
CMake

if(PROJECT_ENABLE_CURL)
if(PROJECT_BUILD)
find_package(CURL ${CURL_VERSION} REQUIRED)
add_definitions(-DPROJECT_ENABLE_CURL)
include_directories(BEFORE SYSTEM
${CURL_INCLUDE_DIRS}
)
link_libraries(
CURL::libcurl
)
if (EXISTS ${PROJECT_DIST_DIR}/cacert.pem)
file(REMOVE ${PROJECT_DIST_DIR}/cacert.pem)
endif()
file(DOWNLOAD https://curl.haxx.se/ca/cacert.pem ${PROJECT_DIST_DIR}/cacert.pem)
elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32)
ExternalProject_Add(curl_project
PREFIX external
URL ${PROJECT_3RD_PARTY_DIR}/curl-${CURL_VERSION}.tar.gz
URL_HASH SHA256=f91249c87f68ea00cf27c44fdfa5a78423e41e71b7d408e5901a9896d905c495
LIST_SEPARATOR |
CMAKE_ARGS
${PROJECT_EXTERNAL_CMAKE_FLAGS}
-DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS}
-DBUILD_STATIC_LIBS=ON
-DBUILD_CURL_EXE=OFF
-DBUILD_STATIC_CURL=ON
-DBUILD_STATIC_LIBS=ON
-DBUILD_TESTING=OFF
-DCURL_CA_BUNDLE=./cacert.pem
-DCURL_CA_FALLBACK=ON
-DCURL_DISABLE_LDAP=ON
-DCURL_USE_LIBPSL=OFF
-DCURL_USE_LIBSSH2=OFF
-DCURL_USE_OPENSSL=${PROJECT_ENABLE_OPENSSL}
-DCURL_ZLIB=ON
-DENABLE_THREADED_RESOLVER=ON
-DOPENSSL_ROOT_DIR=${OPENSSL_ROOT_DIR}
-DOPENSSL_USE_STATIC_LIBS=${OPENSSL_USE_STATIC_LIBS}
-DUSE_LIBIDN2=OFF
-DZLIB_USE_STATIC_LIBS=${ZLIB_USE_STATIC_LIBS}
)
set(PROJECT_DEPENDENCIES
${PROJECT_DEPENDENCIES}
curl_project
)
if(PROJECT_ENABLE_OPENSSL)
add_dependencies(curl_project openssl_project)
endif()
endif()
endif()