torsten and Copilot
7173785915
Qt6 Migration: Complete migration with DDS/RTI support and build validation
...
Major Changes:
- Merged latest Qt5 devel content from dlbo (292 files changed, 7 new dirs)
- Consolidated forward-declarations and include folders
- Removed unneeded modules per Niklas' repo check list
Build System Fixes:
- Fixed CMake VERSION_GREATER syntax in ParticipantManagement/CMakeLists.txt
- Added VLC packages (libvlc-dev, vlc-plugin-base) to docker_build.sh
- Added PostgreSQL dev packages (libpq-dev, postgresql-server-dev-all) to Dockerfile
- Fixed locale warnings (ANSI_X3.4-1968 → C.UTF-8)
- Fixed ArcGIS SDK path warnings when BUILD_ARCGIS=OFF
Code Generation Fixes:
- Fixed IDL enum collisions (PortType→CorePortType/DdsutPortType, PdmEventType)
- Fixed Grantlee template svc_translation.cpp.grantlee:
- Changed {{ idl_enum.name }}_def:: to {{ idl_enum.name }}::
- Fixed .underlying() calls for C++11 scoped enums (enum class)
- Removed generated files from repo (moc_*, *_dtc.h, *_ftc.h)
Validation:
- BUILD_RTI=ON: SUCCESS
- BUILD_RTI=OFF: SUCCESS
- C++17 standard maintained for RTI 7.7 compatibility
- Ubuntu 26.04 Docker environment verified
Remaining Warnings (expected):
- BgViewer, KDChart, KDReports, Poppler-Qt6 not found (optional features)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-09-15 18:20:26 +00:00
torsten
ba1d9e2c04
Migration of Legatus codebase to Qt6 with RTI Connext DDS 7.7 integration is partially complete. Core DDS targets build successfully, but ProjectDataManagement module blocks full ddsfts compilation due to IDL definition conflicts.
2026-09-07 19:30:39 +02:00
torsten
b656e1aaa9
Resolves latest issues in Lts/Common Lts/DDS
2026-09-06 18:45:59 +02:00
torsten
0c1503d85c
Adds latest migration results
2026-09-01 12:27:57 +02:00
torsten
bb1447c858
Qt6 migration fixes: RTI DDS alias targets, ErrorMessage namespace, DDS header include path
2026-08-27 09:02:26 +02:00
torsten and Copilot
d7c8c9e6bd
BUILD_RTI=ON: Fix DDS header includes and logger initialization
...
- dynamic_data_reader.h: Add #include <rti/core/xtypes/DynamicDataImpl.hpp>
to resolve incomplete type error when deleting DynamicDataImpl pointers
- generic_dts_impl.h: Add m_logger member variable declaration (LOGGER_T&)
- dynamic_data_reader.h: Add m_logger member variable declaration (LOGGER_T&)
- pub_sub_base.cpp: Fix logger initialization to use
NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger() instead of
non-existent NGL::getNGLLogger()
- lts_session_data_dds.h: Add DataPluginBase::Interface forward declaration
to both #ifdef BUILD_RTI and #else blocks for consistent compilation
- LtsUtilsCore/CMakeLists.txt: Fix include path from /.. to /../..
for LtsUtilsCoreHeaderOnly target
- tests/CMakeLists.txt: Move Grantlee test filtering BEFORE executable
creation to prevent build failures when Grantlee is disabled
Build validation:
- BUILD_RTI=OFF: ✅ 0 errors (previously completed)
- BUILD_RTI=ON: ✅ DDS core components compile successfully
- libddsconnector.so created successfully
- Remaining build errors in unrelated modules (IsmDataPluginInterface,
IsmShared, BuildingControlBsm) are pre-existing dependency issues
C++ Standard: Enforcing C++17 across all builds due to RTI Connext DDS 7.7.0
incompatibility with C++20/C++23 (known header bugs with newer standards).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-23 21:21:10 +02:00
torsten and Copilot
7a6be7474e
Qt6 migration: Fix BUILD_RTI=OFF build errors in TrainingAreaBase
...
- training_area_telegrams.cpp: Fixed QJsonObject initializer syntax (Qt6 requires {{}} not ({}))
- training_area_telegrams.cpp: Fixed fromJson() methods to access m_* members directly
- training_area_telegrams.cpp: Fixed brace mismatches in multiple toJson() methods
- training_area_telegrams.h: Changed Header struct to public members for consistency
- tx_mixin.cpp: Fixed getEquipmentNumber() template for direct member access
- lts_coordinate.cpp: Added missing #include <iomanip>
- MIGRATION_STATUS.md: Added migration progress tracking document
C++17 constraint enforced due to RTI Connext DDS 7.7.0 incompatibility with C++20+
Build status: BUILD_RTI=OFF successful (0 errors, warnings only)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-23 20:49:23 +02:00
torsten
c7fa97c8bf
GuezNasat: DataModification-Type-Konsistenz und Include-Pfade korrigiert
...
- gna_nasat_aircraft_model.h/.cpp: Include-Pfad zu <GuezNasat/logger.h>
korrigiert, Logger-Initialisierung auf GuezNasat::getLogger() umgestellt
- gna_nasat_aircraft_part_model.h/.cpp: Methodensignaturen von
ParticipantManagement::DataModification zu globalem DataModification
geändert für konsistente Type-Verwendung
- gna_dtc.h: Include-Pfad für logger.h korrigiert
- gna_nasat_aircraft.h: Member-Variablen zu Getter-Methoden geändert
- CMakeLists.txt: Include-Verzeichnis für GuezNasat-Modul hinzugefügt
Alle Callback-Lambdas verwenden jetzt das globale DataModification-Enum
aus LtsUtilsCore statt dem veralteten ParticipantManagement-Namespace.
2026-08-21 01:49:35 +02:00
torsten and Copilot
e22dd98040
LtsSession: STUB-Unterstützung und Build-Fixes
...
- lts_session_data_dds.h/cpp: BUILD_RTI guards für STUB/Real-Implementation
- Include-Pfad fix: DDS/QosProfile/DDS_DefaultQos (ohne .h)
- CMakeLists.txt: qtservice_export.h Includer Pfad korrigiert
- AdvancedSymbology/Data: Qt6 Core5Compat Verlinkung
RTI License: ~/swy/sandbox/rti_license.dat (leer, vom Installer)
ArcGIS SDK: ./external/ArcGIS/MapsSDK_Qt_300.0.0/
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-21 01:49:35 +02:00
torsten
05095c6813
LtsSession/LtsElevation: BUILD_RTI Guards komplett, EXTERNAL_DEPENDENCIES.md
...
- lts_session_data_dds.h/cpp: Vollständig mit #ifdef BUILD_RTI geschützt
Vermeidet vtable/qt_metacast Linker-Fehler bei BUILD_RTI=OFF
- lts_session.cpp: LtsSessionDataDds-Aufrufe mit BUILD_RTI Guards
toString(): N/A-Placeholder im else-Zweig
event(): QObject::event(e) statt LtsSessionDataDds::event(e)
- lts_elevation_manager.cpp:
- m_logger im Initializer-List initialisieren (Reference-Member)
- initDDS: Kein Zugriff auf incomplete type bei BUILD_RTI=OFF
- createInstance: Rückgabetyp korrigiert (nullptr statt QStringList)
- getFilenamesForExercise/TrainingArea: #ifdef BUILD_RTI
- exerciseIdToTrainingAreaId: static method mit BUILD_RTI guard
- elevation_map_manager.h: QPoint3D-STUB entfernt, Forward-Declaration
- cnr_frequency_planning_helper.h/cpp: Vollständig mit BUILD_RTI geschützt
- EXTERNAL_DEPENDENCIES.md: Dokumentation fehlender external deps
- RTI GCC-Inkompatibilität (DDS_OctetSeq vs DDS_OctetsSeq)
- BUILD_RTI temporär OFF, BUILD_ARCGIS=ON default
Build-Status: LtsSession [17/1589] erfolgreich, LtsElevation gebaut
Offene Build-Fehler durch fehlende externe Dependencies (erwartet)
2026-08-21 01:48:52 +02:00
torsten
b9a807c92a
RTI BUILD_RTI=OFF Workaround und External Dependencies Dokumentation
...
- BUILD_RTI Default auf OFF gesetzt (GCC-Inkompatibilität mit RTI 7.7.0)
- RTI_INCLUDE_DIRS mit vier Pfaden konfiguriert (include/, include/ndds/, include/ndds/hpp, include/rti)
- RTI_LINUX Compile-Definition zu IMPORTED Targets hinzugefügt
- RTI IMPORTED Targets manuell erstellt (nddsc, nddscore, nddscpp, nddscpp2)
- cnr_frequency_planning_helper.h: Fehlende Qt-Includes hinzugefügt
- EXTERNAL_DEPENDENCIES.md erstellt zur Dokumentation fehlender Dependencies
Temporärer Workaround bis RTI-Version mit GCC 13.x Kompatibilität verfügbar ist.
2026-08-20 21:11:22 +02:00
torsten and Copilot
b1ff110439
LtsSession: STUB-Entfernung und Build-Fixes
...
- Alle LtsSession STUB-Dateien entfernt (lts_session_stub.*, lts_session_data_dds_stub.*, lts_session_lock_handler_stub.*)
- ElevationMap STUB-Verzeichnis gelöscht
- BUILD_RTI=ON als Default in CMakeLists.txt
- RTI-Connext manuelle Pfad-Konfiguration (include_directories, link_directories)
- TARGET_COMPILE_DEFINITIONS für BUILD_RTI hinzugefügt
- lts_session.h: QObject-Include korrigiert (qobjectdefs.h → QObject)
- lts_session_lock_handler.h: Vollständiger STUB für RTI-Typen (void*/minimal)
- cnr_frequency_planning_helper.h: avm_enums_stub.hpp → avm_enums.hpp, zirkulären Selbst-Include entfernt
- CombatNetRadio CMakeLists.txt: Include-Pfad korrigiert (../../Services/AudioVideoManagement/ → ../../)
- CMakeLists.txt Zeile 146: Qt6 Version 5.9.0 → 6.10.2 korrigiert
- SituationMap CMakeLists.txt: ElevationMap-Dependency entfernt (fehlende external dep)
- avm_translation.h: avm_enums_stub.hpp → avm_enums.hpp
Build erfolgreich mit 1941 Targets.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-20 20:33:20 +02:00
torsten and Copilot
8c824f87b4
Remove STUB files, use real dependencies
...
- Removed all STUB files for external dependencies:
- lts_session_stub.h/cpp
- lts_session_data_dds_stub.h/cpp
- lts_session_lock_handler_stub.h
- elevation_map_manager.h/cpp (entire ElevationMap STUB)
- avm_enums_stub.hpp
- Test files for STUBs
- Updated LtsSession/CMakeLists.txt:
- Removed conditional BUILD_RTI logic for STUBs
- Always use real implementation files
- BUILD_RTI=ON is now the default
- External dependencies are now expected in ./external/
- RTI Connext DDS 7.7.0
- ArcGIS SDK (runtime mount)
- Other deps to be integrated step by step
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-20 19:15:57 +02:00
torsten
32041db9a7
LtsSession-STUB und GuezNasat-Fixes für BUILD_RTI=OFF
...
- CMakeLists.txt: Conditional compilation für BUILD_RTI=ON/OFF
- lts_session_stub.h/cpp: NEU - STUB-Implementation ohne RTI-Abhängigkeit
- lts_session_data_dds_stub.h: Doppeltes Namespace-Closing entfernt
- gna_nasat_aircraft.h: participantId zu participantIdValue umbenannt (Konflikt)
- gna_dtc.h: Doppeldefinitionen entfernt
- gna_nasat_aircraft_participant.h: Doppeldefinitionen entfernt
- ppm_enums.hpp: DataModification-Enum im ParticipantManagement-Namespace
- ElevationMap-STUB: ArcGIS-Abhängigkeit für BUILD_RTI=OFF gekapselt
- Viewer-STUB: Header für BUILD_RTI=OFF Build
Build-Validierung: Configure erfolgreich, LtsSession-Fehler behoben
2026-08-20 19:01:05 +02:00
torsten and Copilot
734a5e5315
Qt6 Migration: BUILD_RTI Guards, Export-Header und Include-Pfade korrigiert
...
- BUILD_RTI Guards in LtsSession implementiert (6 Dateien)
- LtsSessionDataDds Stub für BUILD_RTI=OFF erstellt
- Export-Header Stubs erstellt (GuezNasat, AlarmManagement, MarkerManagement)
- Include-Pfade korrigiert (resource_path.h, logger.h, Proxies)
- QStringRef → QString migriert (Qt6 Kompatibilität)
- Qt6::Gui Dependencies hinzugefügt (LtsElevation, AdvancedSymbology)
- FilterManagement-Plugins temporär vom Build ausgeschlossen
- MOC-Probleme gefixt (staticMetaObject, override final)
- Build erfolgreich: 1940 Targets mit BUILD_RTI=OFF im Docker-Container
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-20 12:26:22 +02:00
torsten
72cbe318b6
Adds further migration results and moves generated tests in
2026-08-19 21:21:59 +02:00
torsten and Copilot
1632478122
Fix gui_plugin_interface.h m_logger member and ltsmultimonitor_export.h alias
...
- Add m_logger member to GuiPluginInterface private section
- Create ltsmultimonitor_export.h as alias for lts_multi_monitor_export.h
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:44:15 +02:00
torsten and Copilot
a1185399d4
Fix LtsSession build with BUILD_RTI=OFF
...
- Conditionally include lts_session_lock_handler.cpp only when BUILD_RTI=ON
- Stub header provides inline implementations when RTI is disabled
- Prevents redefinition errors in stub mode
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 15:28:41 +02:00
torsten and Copilot
d6b6ffce7c
Apply clang-format to Lts/Common and DTC/enum headers
...
- Formatted all CodeGen module files (9 files)
- Formatted LtsAppDescriptor module files
- Formatted LtsAppManager/AppChooser files
- Applied clang-format to all DTC and enum headers across modules
- Removed coordTransTests from CommonUnitTestsPlaceholder (moved to tests/)
Cosmetic changes only, no functional modifications.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 14:46:29 +02:00
torsten
3bb6e89496
Adds immediate migration results in progress
2026-08-19 11:18:24 +02:00
torsten and Copilot
4c9861a469
BUILD_RTI conditional fixes and Qt6 API updates
...
- cmake/FindRTI.cmake: Add INTERFACE placeholder targets when RTI not found
- cmake/FindRTI.cmake: Force BUILD_RTI=OFF when RTI not installed
- Lts/Common/LtsSession/CMakeLists.txt: Make LtsSessionDataDds conditional on BUILD_RTI
- Lts/Viewer/CMakeLists.txt: Make LtsDataView conditional on BUILD_RTI
- Lts/Plugins/*/CMakeLists.txt: 97 plugin files wrapped in BUILD_RTI conditionals
- cmake/NGLMacros.cmake: Fix NGL_ADD_BIG_RESOURCES macro (removed premature return())
- Multiple Qt6 API fixes: QLinkedList→std::list, QStringRef→QStringView, etc.
- BUILD_RTI_FIXES_SUMMARY.md: Comprehensive documentation of all fixes
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 09:24:50 +02:00
torsten and Copilot
b774f4035c
Qt6 Migration: DDS-Stubs, Logger-Fixes, Export-Header Korrekturen
...
- NGL_ADD_LIBRARY2: 87 CMakeLists.txt konvertiert für Export-Header Generierung
- 44 Export-Header Include-Pfade korrigiert (_export.h)
- 81 DDS-Stub-Header generiert (*_dtc.h, *_fts.h, *_dts.h, *_ftc.h)
- INGLLogger: Duplikat gelöscht, m_logger Member entfernt, variadische Makros
- Q_FUNC_INFO Redefinition behoben (Qt6 definiert bereits)
- FATAL_LOG Makro hinzugefügt
- InfrastructureManagement DDS-Stubs (ism.hpp, ism_enums.hpp, ism_ftc.h)
- FilterManagement DDS-Stubs (flt_ftc.h, flt_dts.h)
- AreaEffectSimulation DDS-Stubs (aes.hpp, aes_enums.hpp)
- SymbolAppearance Klasse vollständig definiert mit content() Methode
- BuildingComponentFilter Klasse definiert mit Copy-Konstruktor
- Ftc Factory: nullptr Return (abstract class)
- AesFilter Klasse in aes.hpp hinzugefügt
- Dtc Klasse in ppm.hpp mit participantChanged Signal
- AesType Enum: alle 15 At* Werte definiert
- AesEffectState_def: EsReceived hinzugefügt
- DataModification Enum: eAdded/eModified/eRemoved
- function_reply_object.h → core_types.h Include-Pfad (72 Dateien)
- Enum-Class-Streaming Template-Operator in INGLLogger.h
- ism_mounting_point.h: QImage → QtGui/QImage, QGuiApplication/QScreen
- ism_data_plugin_interface.h: QSet Include, Include-Reihenfolge
- QRegExp → QRegularExpression in tpm_js_parser.cpp
- .underlying() Aufrufe zu direktem Enum-Vergleich korrigiert
- Include-Pfade: aes.hpp in symbol_appearance_settings_impl.h und aes_display_filter_impl.h
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-08-19 06:06:24 +02:00
torsten
f14faa04e5
Qt6-Migration: QObject-Include-Fixes + ui_requirement umbenannt
...
- #include <QObject> zu 106+ Header-Dateien hinzugefügt (Qt6 benötigt explizites Include)
- ui_requirement.h/cpp zu requirement_widget.h/cpp umbenannt (vermeidet AutoUIC-Scan)
- CMakeLists.txt aktualisiert
- Qt6Positioning-Dependency in Dockerfile hinzugefügt
Fixes:
- AutoUIC-Fehler bei AesBaseGui (requirement.ui nicht gefunden)
- QObject-Missing-Include-Fehler in Qt6
- Qt6Location-Modul nicht gefunden (qtpositioning fehlte)
2026-08-19 02:29:53 +02:00
torsten
cf6d77c030
Add BUILD_RTI conditionals for RTI/DDS dependent libraries
...
Systematic fix for BUILD_RTI conditional compilation:
- Lts/Common: Wrap all DDS-dependent libraries in IF(BUILD_RTI)
- LtsAppManager, LtsCoordTrans, LtsCoordinate, LtsLogin
- LtsMultiMonitor, LtsPluginManager, LtsPrinting
- LtsProjectionWorkstation, LtsScriptTimeline, LtsSession
- LtsTimelineClassic, LtsUtilsCore, LtsUtilsGui, LtsUtilsGuiDds
- Lts/DDS: Add BUILD_RTI guards to Core, DDSConnector, DdsUnitTests, FTC, FTS
- Lts/Plugins: Add BUILD_RTI guards to FilterManagement, OperatorManagement, SituationReplayManagement
- Lts/Proxies: Add BUILD_RTI guards to Buildings, CombatNetRadio, ComponentMonitor, GuezNasat, TrainingAreaBase, TrainingAreaBaseOC
- Lts/Services: Add BUILD_RTI guards to all 30+ service modules
- Z/nglwidgets: Add BUILD_RTI guards, fix Poppler Qt6 headers
Qt6 compatibility fixes:
- LtsCoordTrans: QOverload signal signature, QChar constructor
- LtsMultiMonitor: setMargin→setContentsMargins, remove deprecated HighQualityAntialiasing
- nglwidgets: Poppler Qt5→Qt6 header migration
- Add FindPopplerQt6.cmake for Qt6 Poppler detection
Part of Qt5→Qt6 migration with RTI DDS support.
2026-08-19 00:12:28 +02:00
torsten
6a2a0667ab
Adds immediate migration results
2026-08-18 22:12:24 +02:00
torsten
d176b5e0d7
Adds initial intermediate qt6 porting state
2026-08-17 17:54:56 +02:00