# SPDX-License-Identifier: GPL-2.0-or-later
# SPDX-FileCopyrightText: Copyright (C) 2026 Max A. Vilkki a.k.a. codise
#
# core/settings: the settings file (settings.json in the settings directory, DESIGN §4.5)
# and thin helpers over yyjson, which profiles and playlists will use too. The atomic file
# replacement it writes with is core/common's. No SDL: the app passes the directory in.

add_library(flipsid_settings STATIC
    json.cpp
    json_file.cpp
    settings.cpp
    usb_sid_defaults.cpp
)
add_library(flipsid::settings ALIAS flipsid_settings)

target_include_directories(flipsid_settings PUBLIC include)
# json.h exposes yyjson's types; settings.h the engine settings and, in its comments,
# fileio's writes, which the app uses for its pickers too.
target_link_libraries(flipsid_settings PUBLIC ext::yyjson flipsid::engines flipsid::common)
target_link_libraries(flipsid_settings PRIVATE flipsid::log)

flipsid_configure_target(flipsid_settings)
