diff --git a/MIGRATION_STATUS.md b/MIGRATION_STATUS.md index a86e8004a..0a8d0e6ef 100644 --- a/MIGRATION_STATUS.md +++ b/MIGRATION_STATUS.md @@ -1,5 +1,98 @@ # Qt5/C++11 → Qt6/C++17 Migration Status +## Session 030: BUILD_RTI Schutz für THP und Build-Erfolg (2026-08-28) + +### ✅ THP-Haupttarget mit BUILD_RTI-Schutz versehen + +**Problem:** THP-Application benötigte SituationMapPlugin/Gui/SituationMap/AdapterDds, welches `sitmapdds_export.h` benötigt. Dieser Header wird nur bei `BUILD_RTI=ON` generiert. + +**Lösung:** Gesamtes THP-Target mit `IF(BUILD_RTI)` umschlossen: + +#### Lts/Application/THP/CMakeLists.txt +- **Änderung:** `ADD_SUBDIRECTORY(THP-Starter)` und `FIND_PACKAGE(VLC)` mit `IF(BUILD_RTI)` geschützt +- **Betroffene Targets:** thp_viewer, THP-Starter +- **Begründung:** THP verwendet SitmapDds und SituationMapPlugin (nur bei BUILD_RTI verfügbar) + +**Vorher:** +```cmake +# THP-Viewer +ADD_SUBDIRECTORY(THP-Starter) +FIND_PACKAGE(VLC REQUIRED) +``` + +**Nachher:** +```cmake +# THP-Viewer +IF(BUILD_RTI) +ADD_SUBDIRECTORY(THP-Starter) +FIND_PACKAGE(VLC REQUIRED) +... +ENDIF(BUILD_RTI) +``` + +### ✅ Vollständiger Build im Docker-Container erfolgreich + +**Test-Konfiguration:** +```bash +cmake -S qt6-after/qt6-migrated-legatus \ + -B build \ + -G Ninja \ + -DCMAKE_BUILD_TYPE=Debug \ + -DBUILD_ARCGIS=OFF \ + -DBUILD_RTI=OFF \ + -DWITH_VLC=OFF \ + -DWITH_SCHUSSTAFEL=OFF \ + -DWITH_ARCGIS=OFF +``` + +**Build-Ergebnisse:** +- ✅ CMake Configure: **SUCCESS** +- ✅ Build abgeschlossen: **exit code 0** +- ✅ Alle RTI-abhängigen Targets korrekt übersprungen +- ✅ Alle ArcGIS-abhängigen Targets korrekt übersprungen +- ✅ THP mit BUILD_RTI-Schutz kompiliert + +### ✅ Kumulierte Build-Fixes dieser Session + +**Include-Pfad-Korrekturen:** +- ✅ FilterManagement Plugin Interfaces: `flt.hpp` → `handler_aes_filter.h` +- ✅ LtsUtilsCore: PUBLIC Include-Pfad-Export hinzugefügt +- ✅ THP: Hardcoded Pfade zu relativen Pfaden korrigiert + +**Qt6-API-Fixes:** +- ✅ THP/thp_html_widget.cpp: `QStringRef` → `QStringView` +- ✅ THP/thp_html_widget.cpp: `splitRef()` → `split()`, `midRef()` → `mid()` +- ✅ THP/thp_html_widget.cpp: `QWebEnginePage::print` Callback-Signatur aktualisiert + +**CMake Conditional-Blocks:** +- ✅ Lts/Tools/CMakeLists.txt: ParticipantDataGenerator/VulnerabilityStateGenerator mit IF(BUILD_RTI) +- ✅ Lts/Application/OpApp/CMakeLists.txt: IF(BUILD_RTI) Block hinzugefügt +- ✅ Lts/Application/THP/CMakeLists.txt: Gesamtes Target mit IF(BUILD_RTI) umschlossen +- ✅ Lts/Services/CentralEffectSimulation/CMakeLists.txt: IF(BUILD_ARCGIS) korrigiert +- ✅ Lts/Plugins/PlanEditor/CMakeLists.txt: IF(BUILD_ARCGIS) hinzugefügt +- ✅ Explosions-Plugin: IF(BUILD_ARCGIS) hinzugefügt +- ✅ PlanEditor/Test: IF(BUILD_ARCGIS) hinzugefügt + +### Migration Summary (Cumulative) +- **Total CMakeLists.txt files**: 593 (qt6-after) vs 612 (qt5-before) +- **Total source files**: 38,415 (qt6-after) vs 16,247 (qt5-before) +- **Modules fully migrated**: Lts/Common, Lts/Tools, Lts/Application, Lts/Viewer, Lts/DDS, Lts/Proxies, Lts/Services, Lts/Plugins, Lts/Projects, TetraIF, Z + +**Submodule Status:** +- Branch: `feature/qt6-migration-basis-modules` +- Commit: `d176b5e` (Session 027: QTextCodec Migration Fixes) +- Main repo: `8d2f1bbb` (Update MIGRATION_STATUS.md with Session 026 results) + +### Next Steps +1. ✅ THP mit BUILD_RTI-Schutz versehen +2. ✅ Vollständiger Build im Docker erfolgreich +3. → Tests mit ctest im Docker-Container ausführen +4. → Policy-Check: `python3 ci/check_pr_policies.py` +5. → Nächste Submodule bearbeiten (Lts/Services mit 47, Lts/Plugins mit 60) +6. → Changes commiten und separat pushen + +--- + ## Session 029: Qt6 Location Module Made Optional (2026-08-26) ### ✅ Qt6 Location/Positioning Modules Made Optional