warfactoryracine/cmake/EngineConfig.cmake.in
StillHammer 5bdd072117 Complete 10-engine architecture with CMake build system
 All 10 engines now build successfully:
- Designer, Economy, Event, Factory, Intelligence
- Logistic, MacroEntity, Map, Operation, War

🚀 Features implemented:
- FAST_BUILD vs FULL_BUILD presets for efficient development
- Comprehensive defensive programming (sanitizers, contracts)
- 16 C++ libraries integrated via FetchContent
- GCC-compatible configuration with stack protection
- Unified CMake system across all engines

🛠️ Build commands:
- Fast: cmake -DFAST_BUILD=ON .. && make claude-workflow-fast
- Full: cmake .. && make (all sanitizers + validation)
- Single engine: make economy-engine

🔧 Development workflow optimized for daily iteration.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 14:19:25 +08:00

37 lines
1.2 KiB
CMake

# EngineConfig.cmake.in
# Template pour la configuration d'export des engines Warfactory
@PACKAGE_INIT@
# Warfactory Engine Configuration
# Generated automatically by CMake
include(CMakeFindDependencyMacro)
# Dependencies required by this engine
find_dependency(nlohmann_json 3.11.0)
find_dependency(spdlog 1.12.0)
# Redis++ might be optional depending on engine
find_dependency(redis-plus-plus QUIET)
if(NOT redis-plus-plus_FOUND)
message(STATUS "Redis++ not found, inter-engine communication disabled")
endif()
# Include targets file
include("${CMAKE_CURRENT_LIST_DIR}/@target_name@Targets.cmake")
# Verify that all targets were created
check_required_components(@target_name@)
# Set convenience variables
set(@target_name@_LIBRARIES Warfactory::@target_name@-lib)
set(@target_name@_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/include")
# Version information
set(@target_name@_VERSION_MAJOR 1)
set(@target_name@_VERSION_MINOR 0)
set(@target_name@_VERSION_PATCH 0)
set(@target_name@_VERSION "${@target_name@_VERSION_MAJOR}.${@target_name@_VERSION_MINOR}.${@target_name@_VERSION_PATCH}")
message(STATUS "Found Warfactory Engine: @target_name@ v${@target_name@_VERSION}")