2.1 KiB
2.1 KiB
Step 1: cmake-test-bootstrap
Read First
Read these files before editing:
/AGENTS.md/docs/AGENT_RULES.md/docs/ADR.md/docs/ARCHITECTURE.md/docs/implementation-plans/domain-model-foundation-implementation-plan.md/phases/domain-model-foundation/index.json/phases/domain-model-foundation/step0.md
Task
Create the minimum C++17/MSVC/CMake/CTest project structure needed to run Domain tests.
Allowed files:
- Create
/CMakeLists.txt - Create
/include/fesa/core/.gitkeeponly if needed to preserve the directory before headers exist - Create
/src/core/.gitkeeponly if needed to preserve the directory before sources exist - Create
/tests/core/domain_bootstrap_test.cpp
CMake requirements:
cmake_minimum_required(VERSION 3.20)- Project name:
FESA - Language: CXX
- Set C++ standard to 17 and require it.
- Create interface or library target
fesa_core. - Add include directory
/include. - Enable testing.
- Create test executable
fesa_domain_tests. - Register CTest name
domain.bootstrap. - Apply CTest labels
domain;core.
Tests To Write First
Write /tests/core/domain_bootstrap_test.cpp before adding any production C++ code. It should be a minimal self-contained executable with main() returning 0 only when the C++ test harness is running.
Example intended behavior:
int main() {
return 0;
}
This step does not implement Domain behavior yet. The purpose is to prove the MSVC/CTest path exists.
Acceptance Criteria
Run:
cmake -S . -B build/msvc-debug -G "Visual Studio 17 2022" -A x64
cmake --build build/msvc-debug --config Debug
ctest --test-dir build/msvc-debug --output-on-failure -C Debug -R domain.bootstrap
python -m unittest discover -s scripts -p "test_*.py"
python scripts/validate_workspace.py
Update /phases/domain-model-foundation/index.json step 1 with completed, error, or blocked.
Do Not
- Do not add Domain, Node, Element, solver, parser, MKL, TBB, or HDF5 implementation in this step.
- Do not add JavaScript, TypeScript, npm, or non-MSVC fallback tooling.