cmake_minimum_required(VERSION 3.31)
project(libAIConnect VERSION 1.0.3 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(CMAKE_INSTALL_RPATH "$ORIGIN")
set(CMAKE_BUILD_WITH_INSTALL_RPATH ON)

if(WIN32)
    include_directories(
        libcurl/include
        libJSONHandle/include
    )

    link_directories(
        libcurl/lib
        libJSONHandle/lib
    )
else()
    find_package(CURL REQUIRED)

    include_directories(
        libJSONHandle/include
    )

    link_directories(
        libJSONHandle/lib
    )
endif()

add_library(AIConnect SHARED
    config.cpp
    net.cpp
)

if(WIN32)
    target_link_libraries(AIConnect PRIVATE
        libcurl-x64.dll
        libJSONHandle.dll
    )
else()
    target_link_libraries(AIConnect PRIVATE
        CURL::libcurl
        libJSONHandle.so
    )
endif()

add_executable(aiConnect
    main.cpp
    options.cpp
    help.cpp
)

target_link_libraries(aiConnect PRIVATE
    AIConnect
)