cmake_minimum_required(VERSION 3.15) include(FetchContent) FetchContent_Declare(spdlog URL https://github.com/gabime/spdlog/archive/v1.11.0.tar.gz DOWNLOAD_EXTRACT_TIMESTAMP TRUE ) FetchContent_MakeAvailable(spdlog) FetchContent_Declare(mbedtls URL https://github.com/Mbed-TLS/mbedtls/archive/v2.28.3.tar.gz DOWNLOAD_EXTRACT_TIMESTAMP TRUE ) set(ENABLE_PROGRAMS OFF CACHE INTERNAL "" FORCE) set(ENABLE_TESTING OFF CACHE INTERNAL "" FORCE) FetchContent_MakeAvailable(mbedtls) find_package(CURL) if (NOT CURL_FOUND) FetchContent_Declare(curl URL https://curl.se/download/curl-8.5.0.tar.xz DOWNLOAD_EXTRACT_TIMESTAMP TRUE ) set(CURL_USE_MBEDTLS ON) set(HTTP_ONLY ON) set(BUILD_CURL_EXE OFF) set(BUILD_TESTING OFF) set(BUILD_SHARED_LIBS OFF) set(CURL_DISABLE_PROGRESS_METER ON CACHE INTERNAL "" FORCE) FetchContent_MakeAvailable(curl) endif () find_library(qrcodegen_FOUND qrcodegen) if (qrcodegen_FOUND) message(STATUS "found qrcodegen") endif () project(clist) file(GLOB_RECURSE MAIN_SRC "${CMAKE_SOURCE_DIR}/src/*.cpp") add_executable(${PROJECT_NAME} ${MAIN_SRC}) target_include_directories(${PROJECT_NAME} PRIVATE include) target_link_libraries(${PROJECT_NAME} PRIVATE spdlog mbedtls qrcodegen CURL::libcurl)