Baseline Build And Test Status#
Last updated: 2026-05-26
This document records the current build/test baseline after the openmupro removal, macOS development route setup, build-script cleanup, and benchmark-standard skeleton. It is a status document, not a release certification.
Scope#
This baseline covers:
Current root configure/build/test/install/package prototype.
Current minimal C ABI skeleton, runtime context bridge, and C example.
Current staged
license->library-> downstream example workflow.macOS development-only CPU route.
Current known blockers for Linux/Windows formal routes on this local machine.
Current CTest and Sphinx documentation status.
Current submodule status.
It does not validate L2/L3 solver correctness, GPU backends, package release quality, or app-level workflows.
Platform Status#
Route |
Support intent |
Local status |
Notes |
|---|---|---|---|
Linux + Intel oneAPI + oneMKL |
Tier 1 official high-performance route |
Not locally verified |
This Mac does not have |
Windows + Intel oneAPI + oneMKL |
Supported when required by apps |
Not locally verified |
Requires Windows oneAPI environment. |
macOS + Homebrew |
Development-only CPU route |
Verified for root build, L0/L1 SDK build, and |
|
Local Toolchain Snapshot#
Tool |
Observed value |
|---|---|
CMake |
4.3.2 |
Ninja |
1.13.2 |
GNU Fortran |
Homebrew GCC 15.2.0 |
Homebrew OpenMPI |
GNU Fortran 15.2.0 wrapper |
Intel |
Not found |
Intel |
Not found |
Sphinx |
8.2.3 |
Verified Local Build Steps#
The following root macOS development steps have been verified locally:
cmake --fresh --preset macos-arm64-debug
cmake --build --preset macos-arm64-debug --clean-first
ctest --preset macos-arm64-debug --output-on-failure
cmake --install out/build/macos-arm64-debug
cmake --build --preset macos-arm64-debug --target package
Observed root artifacts:
Artifact |
Status |
|---|---|
|
Built |
|
Built |
|
Built |
|
Installed |
|
Installed |
|
Packaged |
The following macOS development steps have been verified locally:
cd license
cmake --fresh --preset macos-arm64-Debug
cmake --build --preset macos-arm64-Debug
cmake --install out/build/macos-arm64-debug
cd ../library
cmake --fresh --preset macos-arm64-Debug
cmake --build --preset macos-arm64-Debug
cmake --install out/build/macos-arm64-debug
cd ..
cmake --fresh -S examples/demo1 -B examples/demo1/cmake-build-macos-arm64-debug -G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_Fortran_COMPILER=/opt/homebrew/bin/gfortran \
-DCMAKE_PREFIX_PATH="library/out/install/macos-arm64-debug;license/out/install/macos-arm64-debug;/opt/homebrew/opt/openblas;/opt/homebrew/opt/fftw;/opt/homebrew/opt/open-mpi"
cmake --build examples/demo1/cmake-build-macos-arm64-debug
Observed artifacts:
Artifact |
Status |
|---|---|
|
Built |
|
Built |
|
Built |
Linux Staged Workflow#
The Linux helper path is documented and safety-cleaned, but not verified on this Mac:
cd library
source scripts/linux/cmake_configure.sh Debug
source scripts/linux/cmake_build.sh Debug
cmake --install ../license/out/build/debug
cmake --install out/build/debug
Requirements:
Intel oneAPI available through
PATH, orONEAPI_ROOTpointing at a valid oneAPI install.cmakeandninjaavailable.Linux oneAPI preset dependencies available, including MKL and MPI.
The helper scripts do not install system packages or use privileged commands.
Test Status#
Command |
Result |
Interpretation |
|---|---|---|
|
Pass, 13 tests |
Root CTest aggregates library-owned tests; root owns no test source directory. |
|
Pass, 13 tests |
Standalone |
|
Pass, 1 test |
Direct filtered module test invocation works for |
Configure/build/CTest in |
Pass, 14 tests |
TDGL module compiles on the macOS development route without enabling all L2/L3 solvers, and |
|
Pass, no work to do |
Downstream example still links against installed SDK. |
Run root-built |
Pass |
Example receives the expected TDGL solve skeleton status when |
Run root-built |
Pass |
Example routes TDGL solve through the Fortran adapter when |
|
Pass |
Generated TGZ package contains |
|
Fails with missing |
Local Python environment is missing docs dependencies; install |
Current default aggregated tests:
Test |
Scope |
|---|---|
|
Confirms library-level smoke registration. |
|
C ABI header inclusion, opaque runtime/TDGL handle lifecycle, Fortran size bridge readback, explicit MPI runtime initialization/query, TDGL setup signature, and solve skeleton status. |
|
Runtime context defaults, backend metadata defaults, size setup/query through legacy global compatibility, setup/finalize, MPI initialization/finalization, and optional FFT setup/finalize/re-setup. |
|
Status constants, message handling, clear/set helpers, and ok checks. |
|
Size defaults, TOML read, expression evaluation, and global size setup. |
|
Scalar logging and time-dependent header/row output. |
|
Serial DAT/VTK output smoke, time-dependent CSV parsing, and single-process MPI-style 3D/4D/5D roundtrip. |
|
Zero-angle Euler identity and cubic tensor Voigt roundtrip. |
|
Deterministic 1x21 <-> 6x6 conversion, LAPACK-backed matrix inverse, fixed-seed random helpers, and |
|
Uniform domain classification over a tiny 3D box. |
|
Round-pillar center-line generation on a 3x3x3 grid. |
|
Scalar and rank-2 material property assignment from phase labels. |
|
Constant-field fitted derivative through runtime-owned optional FFT setup. |
Additional targeted TDGL-enabled test:
Test |
Scope |
|---|---|
|
Optional TDGL-enabled C adapter path from C setup/solve through runtime FFT and existing Fortran TDGL status path. |
Current conclusion: root CTest now aggregates a non-empty library-owned gate covering C ABI, runtime context with optional FFT lifecycle, L0/L1 migration coverage, and a library smoke check. Root owns no test source directory. Module-local quality categories and opt-in benchmark/validation registration are in place. A targeted TDGL-enabled build now validates the optional C TDGL adapter. The next test work should add concrete MPI/regression/benchmark/validation cases and move toward benchmark-linked reference tests.
Known Blockers#
ID |
Blocker |
Impact |
Next action |
|---|---|---|---|
BASE-BLOCK-001 |
|
Linux/Windows official oneAPI routes cannot be locally verified here. |
Verify on Linux/Windows runners or oneAPI machines. |
BASE-BLOCK-002 |
Legacy |
Enabling |
Keep the new module-local tests as the active gate; replace or clean legacy tests deliberately before re-enabling them. |
BASE-BLOCK-003 |
Local Sphinx environment lacks |
Docs cannot build until dependencies are installed. |
Install |
BASE-BLOCK-004 |
macOS license build skips bundled |
macOS route is development-only and not license-production-equivalent. |
Keep official license validation on Linux/Windows release routes; revisit only if macOS production support becomes a goal. |
BASE-BLOCK-005 |
Full L2/L3 solvers are not part of the default verified macOS build route. |
Solver correctness is not covered by this baseline. |
Use targeted solver compile switches such as |
BASE-BLOCK-006 |
|
Main repository status remains dirty through submodule markers. |
Defer to app refactor/repository consolidation phase. |
Submodule Status#
Current app submodules:
Path |
Commit |
Status |
|---|---|---|
|
|
Clean |
|
|
Local edits deferred |
|
|
Clean |
|
|
Local edits deferred |
The openmupro submodule is removed. Current app submodules are transitional and will be handled during app refactors.
Baseline Conclusion#
The repository has a documented and locally verified macOS development build baseline for the root build graph, license, L0/L1 library, status/error foundation, examples/demo1, and the minimal C ABI/runtime context bridge. It now has library-owned module-local unit tests, a library-level smoke test, root CTest aggregation, standard module/app quality-gate conventions, and an optional TDGL C adapter path. TDGL has targeted compile and adapter coverage. It does not yet have official oneAPI verification on this machine, solver-level validation cases, or app-level benchmark/validation/regression implementations.