cmake_minimum_required(VERSION 3.16)
project(guangnian_sdk VERSION 1.0.1 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
option(GUANGNIAN_SDK_ALLOW_INSECURE_HTTP "Allow HTTP for local integration tests only" OFF)
find_package(CURL REQUIRED)
find_package(OpenSSL REQUIRED)
find_package(nlohmann_json 3.9 REQUIRED)
add_library(guangnian_sdk src/client.cpp)
target_include_directories(guangnian_sdk PUBLIC include)
target_link_libraries(guangnian_sdk PUBLIC CURL::libcurl OpenSSL::Crypto nlohmann_json::nlohmann_json)
if(GUANGNIAN_SDK_ALLOW_INSECURE_HTTP)
    target_compile_definitions(guangnian_sdk PRIVATE GUANGNIAN_SDK_ALLOW_INSECURE_HTTP=1)
endif()
if(WIN32)
    target_link_libraries(guangnian_sdk PUBLIC advapi32)
endif()
add_executable(guangnian_quick_start examples/quick_start.cpp)
target_link_libraries(guangnian_quick_start PRIVATE guangnian_sdk)
