Files
metabuilder/gameengine/cmake/source_groups.cmake.jinja2
2026-03-09 22:30:41 +00:00

37 lines
1.4 KiB
Django/Jinja

{# cmake/source_groups.cmake.jinja2 - Source file groupings and variables #}
# ============================================================================
# SOURCE FILE GROUPINGS
# ============================================================================
# Auto-discover source files from key directories using file(GLOB)
# JSON config service sources
file(GLOB JSON_CONFIG_SOURCES src/config/json_config*.cpp)
# Workflow service sources (all workflow steps in main workflow directory)
file(GLOB WORKFLOW_SOURCES src/services/impl/workflow/*.cpp)
{%- if config.get('source_exclusions') %}
# Remove problematic files with missing dependencies or incomplete implementations
list(REMOVE_ITEM WORKFLOW_SOURCES
{%- for exclusion in config.source_exclusions %}
"${CMAKE_CURRENT_SOURCE_DIR}/{{ exclusion }}"
{%- endfor %}
)
{%- endif %}
# Frame-specific workflow steps
file(GLOB FRAME_WORKFLOW_SOURCES src/services/impl/workflow/frame/*.cpp)
{%- if config.get('source_exclusions') %}
# Apply same exclusions to frame sources
list(REMOVE_ITEM FRAME_WORKFLOW_SOURCES
{%- for exclusion in config.source_exclusions %}
{%- if exclusion.startswith('src/services/impl/workflow/frame/') %}
"${CMAKE_CURRENT_SOURCE_DIR}/{{ exclusion }}"
{%- endif %}
{%- endfor %}
)
{%- endif %}
# Generic workflow steps (atomic, reusable steps)
file(GLOB GENERIC_WORKFLOW_SOURCES src/services/impl/workflow/generic_steps/*.cpp)