diff --git a/CMakeLists.txt b/CMakeLists.txt index f988290..59b99e7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -69,7 +69,7 @@ add_subdirectory(extras) # Seems simple. message(STATUS "Looking for CURL") -find_package(CURL REQUIRED) +find_package(CURL) if(CURL_FOUND) message(STATUS "Found CURL version: ${CURL_VERSION_STRING}") @@ -79,7 +79,24 @@ else() message(STATUS "Fetching CURL") include(FetchContent) FetchContent_Declare(CURL GIT_REPOSITORY https://github.com/curl/curl.git) - FetchContent_MakeAvailable(CURL) + FetchContent_GetProperties(CURL) + if(NOT CURL_POPULATED) + FetchContent_Populate(CURL) + set(BUILD_CURL_EXE OFF CACHE BOOL "Disable building CURL executable") + set(BUILD_STATIC_CURL ON CACHE BOOL "Build CURL staticly") + + set(BUILD_SHARED_LIBS_PREV ${BUILD_SHARED_LIBS}) + set(BUILD_STATIC_LIBS_PREV ${BUILD_STATIC_LIBS}) + set(BUILD_SHARED_LIBS OFF CACHE BOOL "Disable building shared libs") + set(BUILD_STATIC_LIBS ON CACHE BOOL "Enable building static libs") + add_subdirectory(${curl_SOURCE_DIR} ${curl_BINARY_DIR}) + set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_PREV} CACHE BOOL "Restore BUILD_SHARED_LIBS" FORCE) + set(BUILD_STATIC_LIBS ${BUILD_STATIC_LIBS_PREV} CACHE BOOL "Restore BUILD_STATIC_LIBS" FORCE) + unset(BUILD_SHARED_LIBS_PREV) + unset(BUILD_STATIC_LIBS_PREV) + endif() + set(CURL_INCLUDE_DIRS "${curl_SOURCE_DIR}/include") + set(CURL_LIBRARIES "libcurl") endif() # All following targets should search these directories for headers