cmake_minimum_required(VERSION 3.20) project(WarfactoryCore LANGUAGES CXX) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # Output directories set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) # Core includes include_directories(include) # Find spdlog for real implementations find_package(PkgConfig QUIET) find_package(spdlog QUIET) find_package(nlohmann_json QUIET) # Minimal FetchContent for missing deps if(NOT nlohmann_json_FOUND) include(FetchContent) FetchContent_Declare(nlohmann_json URL https://github.com/nlohmann/json/releases/download/v3.11.3/json.tar.xz URL_HASH SHA256=d6c65aca6b1ed68e7a182f4757257b107ae403032760ed6ef121c9d55e81757d ) FetchContent_MakeAvailable(nlohmann_json) endif() # Skip spdlog for now - just focused test # Focused hot-reload performance test add_executable(focused-hot-reload-test src/focused_hot_reload_test.cpp ) target_link_libraries(focused-hot-reload-test PRIVATE nlohmann_json::nlohmann_json PRIVATE ${CMAKE_DL_LIBS} )