# SPDX-License-Identifier: GPL-2.0-or-later
# SPDX-FileCopyrightText: Copyright (C) 2026 Max A. Vilkki a.k.a. codise
#
# ultimate: control of Ultimate-II+ cartridges and Ultimate 64 boards over their REST API
# (DESIGN §7.1). Plain HTTP/1.1 over the OS's sockets, no TLS: the devices sit on the LAN
# and only speak HTTP. No SDL, ImGui or UI.

add_library(flipsid_ultimate STATIC
    device_api.cpp
    device_info.cpp
    http.cpp
    sid_image.cpp
    ultimate_service.cpp
)
add_library(flipsid::ultimate ALIAS flipsid_ultimate)

target_include_directories(flipsid_ultimate PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")

find_package(Threads REQUIRED)
# log for the workers' reports, common for reading tunes (fileio), yyjson for the API's
# JSON answers, Threads for one worker per device.
target_link_libraries(flipsid_ultimate
    PUBLIC Threads::Threads
    PRIVATE flipsid::log flipsid::common ext::yyjson
)
if(WIN32)
    target_link_libraries(flipsid_ultimate PRIVATE ws2_32)
endif()

flipsid_configure_target(flipsid_ultimate)
