Merge pull request 'Using libressl on windows' (#76) from libressl into master
Reviewed-on: https://git.madvoxel.net/OpenVulkano/OpenVulkano/pulls/76 Reviewed-by: Georg Hagen <georg.hagen@madvoxel.com>
This commit is contained in:
14
3rdParty/curl/CMakeLists.txt
vendored
14
3rdParty/curl/CMakeLists.txt
vendored
@@ -4,8 +4,13 @@ set(CURL_DEPS_INSTALL ${CMAKE_BINARY_DIR}/deps_curl)
|
|||||||
find_package(CURL QUIET)
|
find_package(CURL QUIET)
|
||||||
if (NOT ${CURL_FOUND})
|
if (NOT ${CURL_FOUND})
|
||||||
file(MAKE_DIRECTORY ${CURL_DEPS_INSTALL})
|
file(MAKE_DIRECTORY ${CURL_DEPS_INSTALL})
|
||||||
|
if (WIN32)
|
||||||
|
set(EXT_DIR ext_windows)
|
||||||
|
else ()
|
||||||
|
set(EXT_DIR ext)
|
||||||
|
endif ()
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR} -DTOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/ext -DCURL_REPO=${CURL_REPO} -DOPENSSL_REPO=${OPENSSL_REPO} -DPLATFORM=${PLATFORM}
|
COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR} -DTOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${EXT_DIR} -DCURL_REPO=${CURL_REPO} -DOPENSSL_REPO=${OPENSSL_REPO} -DPLATFORM=${PLATFORM}
|
||||||
WORKING_DIRECTORY ${CURL_DEPS_INSTALL}
|
WORKING_DIRECTORY ${CURL_DEPS_INSTALL}
|
||||||
)
|
)
|
||||||
execute_process(
|
execute_process(
|
||||||
@@ -28,10 +33,11 @@ function(LinkCurl TARGET)
|
|||||||
set(CURL_DEPS_INSTALL ${CMAKE_BINARY_DIR}/deps_curl)
|
set(CURL_DEPS_INSTALL ${CMAKE_BINARY_DIR}/deps_curl)
|
||||||
target_include_directories(${TARGET} PRIVATE ${CURL_DEPS_INSTALL}/INSTALL/include)
|
target_include_directories(${TARGET} PRIVATE ${CURL_DEPS_INSTALL}/INSTALL/include)
|
||||||
target_link_directories(${TARGET} PRIVATE ${CURL_DEPS_INSTALL}/INSTALL/lib)
|
target_link_directories(${TARGET} PRIVATE ${CURL_DEPS_INSTALL}/INSTALL/lib)
|
||||||
if (MSVC)
|
|
||||||
target_link_libraries(${TARGET} PRIVATE libcrypto.lib libssl.lib libcurl_imp.lib)
|
if (APPLE)
|
||||||
elseif (APPLE)
|
|
||||||
target_link_libraries(${TARGET} PRIVATE curl)
|
target_link_libraries(${TARGET} PRIVATE curl)
|
||||||
|
elseif (WIN32)
|
||||||
|
target_link_libraries(${TARGET} PRIVATE ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY})
|
||||||
else ()
|
else ()
|
||||||
target_link_libraries(${TARGET} PRIVATE crypto ssl curl)
|
target_link_libraries(${TARGET} PRIVATE crypto ssl curl)
|
||||||
endif ()
|
endif ()
|
||||||
|
|||||||
45
3rdParty/curl/ext_windows/CMakeLists.txt
vendored
Normal file
45
3rdParty/curl/ext_windows/CMakeLists.txt
vendored
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
project(build_curl)
|
||||||
|
include(FetchContent)
|
||||||
|
|
||||||
|
if (NOT DEFINED CURL_MIRROR_LINK)
|
||||||
|
set(CURL_MIRROR_LINK https://curl.se/download/curl-8.8.0.tar.gz)
|
||||||
|
endif ()
|
||||||
|
if (NOT DEFINED LIBRESSL_MIRROR_LINK)
|
||||||
|
set(LIBRESSL_MIRROR_LINK https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.9.2.tar.gz)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
set(LIBRESSL_TESTS OFF CACHE BOOL "" FORCE)
|
||||||
|
FetchContent_Declare(
|
||||||
|
libressl
|
||||||
|
URL ${LIBRESSL_MIRROR_LINK}
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_BINARY_DIR}/INSTALL
|
||||||
|
)
|
||||||
|
FetchContent_MakeAvailable(libressl)
|
||||||
|
|
||||||
|
set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libraries" FORCE)
|
||||||
|
set(BUILD_STATIC_LIBS ON CACHE BOOL "Build static libraries" FORCE)
|
||||||
|
set(BUILD_STATIC_CURL ON CACHE BOOL "Build curl executable with static libcurl" FORCE)
|
||||||
|
set(CURL_DISABLE_TESTS ON CACHE BOOL "Do no build tests" FORCE)
|
||||||
|
|
||||||
|
set(CURL_USE_LIBRESSL ON CACHE BOOL "Use LibreSSL instead of OpenSSL" FORCE)
|
||||||
|
set(OPENSSL_ROOT_DIR ${libressl_SOURCE_DIR} CACHE PATH "Path to LibreSSL root directory" FORCE)
|
||||||
|
if (WIN32)
|
||||||
|
set(OPENSSL_CRYPTO_LIBRARY ${libressl_BINARY_DIR}/crypto/release/crypto.lib CACHE FILEPATH "Path to LibreSSL crypto library" FORCE)
|
||||||
|
set(OPENSSL_SSL_LIBRARY ${libressl_BINARY_DIR}/ssl/release/ssl.lib CACHE FILEPATH "Path to LibreSSL SSL library" FORCE)
|
||||||
|
else ()
|
||||||
|
set(OPENSSL_CRYPTO_LIBRARY ${libressl_BINARY_DIR}/crypto/libcrypto.a CACHE FILEPATH "Path to LibreSSL crypto library" FORCE)
|
||||||
|
set(OPENSSL_SSL_LIBRARY ${libressl_BINARY_DIR}/ssl/libssl.a CACHE FILEPATH "Path to LibreSSL SSL library" FORCE)
|
||||||
|
endif ()
|
||||||
|
set(OPENSSL_INCLUDE_DIR ${libressl_SOURCE_DIR}/include CACHE PATH "Path to LibreSSL include directory" FORCE)
|
||||||
|
|
||||||
|
FetchContent_Declare(
|
||||||
|
curl
|
||||||
|
URL ${CURL_MIRROR_LINK}
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_BINARY_DIR}/INSTALL
|
||||||
|
)
|
||||||
|
FetchContent_MakeAvailable(curl)
|
||||||
Reference in New Issue
Block a user