add_library(torlinkc_core STATIC config/config.cpp config/folder.cpp config/paths.cpp config/trackers.cpp engine/bootguard.cpp engine/delete_data.cpp engine/history.cpp engine/persist.cpp engine/queue.cpp engine/reconcile.cpp engine/torrent_engine.cpp engine/types.cpp sources/bittorrented.cpp sources/cache.cpp sources/eztv.cpp sources/fitgirl.cpp sources/magnet.cpp sources/nyaa.cpp sources/piratebay.cpp sources/registry.cpp sources/rss.cpp sources/subsplease.cpp sources/x1337.cpp sources/yts.cpp util/atomic_write.cpp util/date_parse.cpp util/format.cpp util/net.cpp util/open_folder.cpp util/url_encode.cpp ) target_include_directories(torlinkc_core PUBLIC ${CMAKE_SOURCE_DIR}/include) target_link_libraries(torlinkc_core PUBLIC LibtorrentRasterbar::torrent-rasterbar CURL::libcurl nlohmann_json::nlohmann_json ) # Kept separate from torlinkc_core: the engine/sources/config layer stays # UI-agnostic (Phase 1's console harness and Phase 5's daemon modes link # torlinkc_core without ever pulling in FTXUI). add_library(torlinkc_ui STATIC ui/app_state.cpp ui/clock.cpp ui/coalescing_notifier.cpp ui/colored_window.cpp ui/engine_thread.cpp ui/filter.cpp ui/keymap.cpp ui/logo.cpp ui/move.cpp ui/progress_bar.cpp ui/search_aggregator.cpp ui/sort.cpp ui/spinner.cpp ui/theme.cpp ) target_link_libraries(torlinkc_ui PUBLIC torlinkc_core ftxui::component ftxui::dom ftxui::screen )