🤖 AI text below 🤖
Goal
Stop exposing and distributing nlohmann_json as part of MQT Core's public API and installed CMake package while retaining it privately for QDMI JSON parsing.
Current public exposure
- JSON-valued CoreDD statistics APIs.
- Neutral-atom configuration and FoMaC headers.
- An unnecessary public dependency of the SC configuration target.
Scope
- Prepare QCEC, DDSIM, and QUSAT to own their JSON dependency or remove their JSON-facing APIs. QMAP already discovers nlohmann itself.
- Remove
nlohmann::json from public DD statistics; retain primitive counters and useful string/stream reporting.
- Delete DDSIM's duplicate unused statistics serializer or make DDSIM own it.
- Fold NA public-JSON cleanup into the QMAP transfer.
- Make the SC configuration dependency private.
- Remove Core's unconditional
find_dependency(nlohmann_json), MQT_CORE_JSON_INSTALL, and custom header/CMake/natvis installation machinery.
Acceptance criteria
- No installed Core header exposes a nlohmann type.
- Installed shared and static Core targets contain no unresolved nlohmann target reference.
- QDMI JSON discovery and SC configuration retain robust private parsing.
- QCEC, DDSIM, QUSAT, QMAP, source installs, and wheels pass dependency inspection.
🤖 AI text below 🤖
Goal
Stop exposing and distributing nlohmann_json as part of MQT Core's public API and installed CMake package while retaining it privately for QDMI JSON parsing.
Current public exposure
Scope
nlohmann::jsonfrom public DD statistics; retain primitive counters and useful string/stream reporting.find_dependency(nlohmann_json),MQT_CORE_JSON_INSTALL, and custom header/CMake/natvis installation machinery.Acceptance criteria