mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-24 13:54:57 +00:00
37 lines
1.4 KiB
Django/Jinja
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)
|