Commit Graph
21 Commits
Author SHA1 Message Date
torstenandCopilot 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
torstenandCopilot 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
torstenandCopilot 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
torstenandCopilot 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
torstenandCopilot 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
torstenandCopilot 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
torstenandCopilot 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
torstenandCopilot 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
torstenandCopilot 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
torstenandCopilot 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
torstenandCopilot 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