What's New
- CMake presets —
CMakePresets.json ships four visible configure presets (default-debug/-release, local-debug/-release) plus two hidden inheritance bases. local overrides FETCHCONTENT_SOURCE_DIR_BSDFXMLPARSER and FETCHCONTENT_SOURCE_DIR_NLOHMANN_JSON to consume sibling working copies (../BSDFXMLParser, ../json) when present. No compiler entries are shipped — those live in each developer's gitignored CMakeUserPresets.json.
- Graceful local-sibling fallback — if
FETCHCONTENT_SOURCE_DIR_<DEP> points at a missing sibling, it is silently unset so FetchContent falls back to the declared remote rather than erroring out. Safe to invoke local-* presets without the siblings checked out.
- Root
.gitignore added (didn't exist before): covers CMake build/, gitignored CMakeUserPresets.json, IDE metadata, OS detritus.
readme.md rewritten as a proper project README (overview, FetchContent consumer snippet, full Building section with realistic CMakeUserPresets.json example including the JetBrains CLion vendor toolchain hint for Windows + WSL). The legal notice that used to be the entire file is preserved at the bottom under "License".
Dependency Bumps
- BSDFXMLParser:
Version_0.0.9 → Version_0.0.11 (transitively bumps FileParse Version_1.1.2 → Version_1.1.4 and xmlParser v1.0.4 → v1.0.5; dep chart updated)
CI
- Drop
windows-2019 (deprecated), add windows-2025 to the windows matrix for consistency with other recently updated LBNL repos.
Updated Dependency Chart
graph TD
xmlParser[xmlParser<br/><font color='red'>v1.0.5</font>]
nlohmann_json_fileparse[nlohmann_json<br/><font color='red'>v3.11.3</font>]
nlohmann_json[nlohmann_json<br/><font color='red'>v3.12.0</font>]
FileParse[FileParse<br/><font color='red'>Version_1.1.4</font>]
BSDFXMLParser[BSDFXMLParser<br/><font color='red'>Version_0.0.11</font>]
OpticalMeasurementParser[OpticalMeasurementParser<br/><font color='red'>v2.3.9</font>]
OpticalMeasurementParser --> nlohmann_json
OpticalMeasurementParser --> BSDFXMLParser
BSDFXMLParser --> FileParse
FileParse --> xmlParser
FileParse --> nlohmann_json_fileparse