Files
OpenVulkano/3rdParty/curl/CMakeLists.txt
Vladyslav Baranovskyi 406efa57e7 Building curl and openssl
2024-06-20 15:07:09 +03:00

40 lines
1.5 KiB
CMake

include(../../cmake/Utils.cmake)
set(CURL_DEPS_INSTALL ${CMAKE_BINARY_DIR}/deps_curl)
find_package(curl QUIET)
if (NOT DEFINED curl_FOUND)
file(MAKE_DIRECTORY ${CURL_DEPS_INSTALL})
execute_process(
COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR} -DTOOLCHAIN_FILE=${TOOLCHAIN_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/ext
WORKING_DIRECTORY ${CURL_DEPS_INSTALL}
)
execute_process(
COMMAND ${CMAKE_COMMAND} --build ${CURL_DEPS_INSTALL}
RESULT_VARIABLE build_result
)
if (NOT ${build_result} EQUAL "0")
message(FATAL_ERROR "Failed to build curl!")
endif()
list(APPEND CMAKE_PREFIX_PATH ${CURL_DEPS_INSTALL}/INSTALL)
else ()
message("Using system curl")
set(USING_SYSTEM_CURL ON PARENT_SCOPE)
endif ()
function(LinkCurl TARGET BINARY_DIR)
find_package(curl QUIET)
set(CURL_DEPS_INSTALL ${BINARY_DIR}/deps_curl)
if (NOT DEFINED curl_FOUND)
target_include_directories(${TARGET} PRIVATE ${CURL_DEPS_INSTALL}/INSTALL/include)
target_link_directories(${TARGET} PRIVATE ${CURL_DEPS_INSTALL}/INSTALL/lib)
if (MSVC)
target_link_libraries(${TARGET} PRIVATE libcrypto.lib libssl.lib libcurl_imp.lib)
else ()
target_link_libraries(${TARGET} PRIVATE crypto ssl curl)
endif ()
else ()
target_include_directories(${TARGET} PRIVATE ${curl_INCLUDE_DIR})
target_link_libraries(${TARGET} PRIVATE ${curl_LIBRARIES})
endif ()
endfunction()