Commit Graph
88 Commits
Author SHA1 Message Date
berrux-dev 855b0a6101 Remove modules not compiled by this branch's release build
Lts/Common: drop the 17 submodules excluded from the RELEASE_BUILD
branch of Lts/Common/CMakeLists.txt (CodeGen, LtsAppManager, LtsBotan,
LtsCoordinate, LtsElevation, LtsLogin, LtsMultiMonitor,
LtsPluginManager, LtsPrinting, LtsProjectionWorkstation,
LtsScriptTimeline, LtsSession, LtsTimeline, LtsTimelineClassic,
LtsVirtualKeyboard, LtsWidgets, TopicEditorBase). Only the 13
subdirectories actually built remain.

TrainingAreaBase: drop sources of targets excluded by
IF(NOT RELEASE_BUILD) / IF(BUILD_RTI) (svcTabClient, svcTabServer,
svcTrainingAreaBase exe, RecordReplayPlugin customization) and the 7
plugin directories not added in the release path (AdlerJson,
ApacheHlaJson, DebugJsonDir, HlaJson, Nmea, UAS, WlsTetra). Only
tabTelegrams, svcTabCommon and the TetraJson plugin are compiled.

Cross-checked: no kept compiled source includes headers from the
removed modules (GuiPluginInterface - the only LtsWidgets consumer -
is itself NOT RELEASE_BUILD-guarded).
2026-10-13 19:19:55 +02:00
torstenandCopilot c9411c04e1 Fix Qt6 compatibility issues and exclude tests from release build
- tests/CMakeLists.txt: Wrap migration_tests in RELEASE_BUILD conditional
- LogViewModels.cpp: Change BackgroundColorRole to BackgroundRole for Qt6
- LogViewField.hpp/cpp: Add m_logger member variable
- LogViewInjectionThread.hpp/cpp: Add m_logger member variable
- LogViewGui.hpp/cpp: Add m_logger member variable, fix QString::split() usage
- LogViewTetraTelegramsParser.hpp: Add m_logger, change QStringRef to QStringView
- LogViewTelegramEdit.hpp: Fix QModelIndex include path (QtGui→QtCore)
- LogViewModels.hpp: Fix QAbstractTableModel include path (QtGui→QtCore)
- PrtCnv/CMakeLists.txt: Add CMAKE_CURRENT_BINARY_DIR for export header, exclude LastTest from release
- CoPrtCnv/CMakeLists.txt: Add PrtCnv include paths for prtcnvlib_export.h
- Lts/Common/CodeGen/CMakeLists.txt: Add CMAKE_CURRENT_BINARY_DIR for export header
- Lts/Proxies/TrainingAreaBase/Plugins/CMakeLists.txt: Exclude WlsTetra from release scope

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 20:19:27 +00:00
torstenandCopilot 3e15fb9281 Exclude DDS-dependent plugins from release scope
- GuiPluginInterface depends on LtsWidgets (DDS dependencies)
- HlaJson plugin includes DDS/Core headers
- UAS plugin has CycloneDDS dependencies
- All excluded from release scope builds

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 19:08:17 +00:00
torstenandCopilot 5d2b5761a4 Exclude LtsTimeline from release scope (depends on LtsWidgets)
- LtsTimeline depends on LtsWidgets library which has DDS dependencies
- LtsTimeline is not required for TetraIF/Z release scope modules
- Wrap LtsTimeline in release scope exclusion

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 19:02:44 +00:00
torstenandCopilot a7a5782fc8 fix: Add TrainingAreaBase to release scope and fix QScroller for Qt6
- Add Lts/Proxies/TrainingAreaBase to release scope for training_area_telegrams.h
- Update make_rpm_ubuntu26.py to include Lts/Proxies/TrainingAreaBase in release scope
- Add directory filtering for Lts/Proxies in copy_src_dir_to_dest_dir
- Fix lts_base.h: conditionally compile QScroller code (Qt5 only)
- QScroller removed in Qt6, touch scrolling enabled by default

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 18:16:39 +00:00
torstenandCopilot 6d3a06f90a fix: Exclude LtsUtilsGui from release scope build (depends on LtsWidgets)
- LtsUtilsGui/ConnectDialog links against LtsWidgets which is not in release scope
- Wrap LtsUtilsGui subdirectory in IF(NOT RELEASE_BUILD) conditional
- Only LtsUtilsCore and LtsUtilsSettings are included in release builds

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 17:41:44 +00:00
torstenandCopilot b877bc4af5 Exclude DDS-dependent modules from Lts/Common in release scope
- Wrap all Lts/Common subdirectories in RELEASE_BUILD conditional
- Release build includes only: CommonUnitTestsPlaceholder, httq,
  LtsAppDescriptor, LtsCommandLineParser, LtsCoordTrans, LtsLicence,
  LtsNotification, LtsRestClient, LtsSerialPortQuerry, LtsTimeline,
  LtsUtils, LtsWebSocket, PluginInterfaces, ProjectConfig
- Excluded DDS-dependent modules: CodeGen, LtsAppManager, LtsBotan,
  LtsCoordinate, LtsElevation, LtsLogin, LtsMultiMonitor,
  LtsPluginManager, LtsPrinting, LtsProjectionWorkstation,
  LtsScriptTimeline, LtsSession, LtsTimelineClassic,
  LtsVirtualKeyboard, LtsWidgets, TopicEditorBase
- PluginInterfaces already excludes TopicReplayInterface and
  RecordReplayPlugin via BUILD_RTI conditional

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 15:45:02 +00:00
torstenandCopilot 0e15524181 fix: exclude TopicReplayInterface and RecordReplayPlugin from release scope
- Wrap TopicReplayInterface and RecordReplayPlugin in BUILD_RTI conditional
- These modules require RTI DDS which is not in release scope
- Fixes missing topiceditorbase_export.h error during release builds

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 15:36:54 +00:00
torstenandCopilot 6177fd00fb Conditionally exclude LtsUtilsGuiDds from release scope build
- LtsUtilsGuiDds requires DDS headers not available in release scope
- Only needed by LtsMultiMonitor which is outside release scope
- Wrap ADD_SUBDIRECTORY in RELEASE_BUILD check

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 15:20:42 +00:00
torstenandCopilot 75f7f52230 Fix GeographicLib find_package by adding CMAKE_MODULE_PATH
- Add /usr/share/cmake/geographiclib to CMAKE_MODULE_PATH
- This allows CMake to find FindGeographicLib.cmake from system package
- Required for DEB build in Docker container

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 14:47:19 +00:00
torstenandCopilot b915bacc62 fix: add LINK_DIRECTORIES for GeographicLib in LtsCoordTrans
- Add LINK_DIRECTORIES() to properly link GeographicLib
- Apply to library, tools, and test targets
- Fixes undefined reference errors during DEB package build

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 14:34:58 +00:00
torstenandCopilot 9992af628a Fix GeographicLib linking - remove invalid TARGET_LINK_DIRECTORIES calls
- TARGET_LINK_DIRECTORIES is not a standard CMake command
- Rely on  full path for linking
- Applied to LtsCoordTrans library, tools, and test executable

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 14:28:09 +00:00
torstenandCopilot 1c77f995e2 Fix GeographicLib linking: use TARGET_LINK_LIBRARIES directly and add LINK_DIRECTORIES
- Changed from NGL_TARGET_LINK_LIBRARIES to TARGET_LINK_LIBRARIES for GeographicLib
- Added TARGET_LINK_DIRECTORIES to ensure linker finds the library
- Applied to LtsCoordTrans library, tools, and test executable

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 14:21:36 +00:00
TorstenandCopilot 9caa2573ca Fix GeographicLib linking to use variables instead of imported target
- FindGeographicLib.cmake sets GeographicLib_LIBRARIES variable, not imported target
- Changed GeographicLib::GeographicLib_SHARED to ${GeographicLib_LIBRARIES}
- Added TARGET_INCLUDE_DIRECTORIES for GeographicLib_INCLUDE_DIRS

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 14:09:05 +00:00
torsten 6b8f2efabb Constraints scripts to first release packages 2026-10-07 11:52:09 +00:00
torstenandCopilot ce154f6a1d Configure release build for first Qt6 release (TetraIF, Z, Lts/Common)
- Add RELEASE_BUILD CMake option to control release scope
- Modify main CMakeLists.txt to conditionally build only release modules
- Modify Lts/CMakeLists.txt to only include Lts/Common when RELEASE_BUILD=ON
- Modify Lts/Common/CMakeLists.txt to exclude LtsElevation (depends on Lts/Viewer/SituationMap)
- Update new_docker_build.sh defaults for release:
  - RELEASE_BUILD=ON (default)
  - BUILD_RTI=OFF (avoids Lts/Services/GROUP1 dependency)
  - BUILD_GROUP3=ON (TetraIF), BUILD_GROUP5=ON (Z), BUILD_GROUP11=ON (Lts/Common)
  - All other BUILD_GROUP* variables OFF
- Add RELEASE_BUILD to Docker environment exports and CMake invocation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-07 09:02:30 +00:00
Berrux Kana 3f7beb3c7e Qt6 migration: build fixes for Groups 10/11 + missing plugin modules
Continue the Qt5->Qt6 migration so the LTS Projects (Group 10) and LTS
Application (Group 11) compile, link, and ctest runs.

Qt5->Qt6 API migration (resolves removed/deprecated Qt6 APIs) across Lts
Tools and Apps, e.g. QAction->QActionGroup, QAbstractSocket::errorOccurred,
Qt::SkipEmptyParts, QRandomGenerator, QInputDevice::DeviceType,
QRegularExpression, QLatin1Literal->QStringLiteral, and the SampleModel
m_description->description rename.

CMake build fixes:
- CMakeLists.txt: add Lts/Common to CMAKE_AUTOMOC_INCLUDE_DIRECTORIES so moc
  resolves Q_INTERFACES(ProjectPlugin::Plugin) for the migrated Projects.
- cmake/NGLMacros.cmake: NGL_COMPILE_RESOURCES - replace return() (which aborts
  the calling CMakeLists.txt) with an if/else/endif.
- OpApp/THP: guard the ArcGISQt5Hack link with $<IF:$<TARGET_EXISTS:...>> (the
  target is absent when the SituationMap viewer is stubbed); matches
  CentralEffectSimulation.
- LtsSession: prefer the in-tree svcCoreClient target over a FIND_LIBRARY in
  /usr/local/lib.
- CnrProxyTester/DotMatrixDisplay: set AUTOUIC_SEARCH_PATHS for the ui/ subdir.
- TopicDiscover: link NGLLogger.

Export-header visibility stubs (expand the empty *_EXPORT macro to
__attribute__((visibility("default"))); the build sets -fvisibility=hidden and
these stubs shadow the CMake-generated header):
- include/LtsProjectionWorkstation/ltsprojectionworkstation_export.h (fixes
  undefined reference to LtsProjectionWorkstation::getInstance /
  setProjectionOperatorPreset)
- include/LtsSession/ltssession_export.h, include/LtsUtilsGuiDds/ltsutilsguidds_export.h (same pattern)

New plugin modules (copied from legacy) so LtsAppDescriptorChecker finds the
gui:3 IIDs referenced by the Projects' apps.json:
- TakeHomePackageManager/OldTHP              gui:3:tpm.man, gui:3:tpm.usb
- PresentationManagement/.../ScriptEditor   gui:3:pre.script.edit
- Timeline/Gui/EventTimelineClassic         gui:3:tln.view

new_docker_build.sh: correct group targets to the actual CMake target names,
guard LtsReportDisplay on BUILD_CODIFICATION, and skip modules unavailable in
the prebuilt image (AsmWorkstationCertifier/botan2, TrajectoryWidget,
VideoImport, thp_viewer/VLC).
2026-10-05 10:49:34 +02:00
berrux-dev 8345470273 fix Warning 2026-10-03 09:20:13 +02:00
berrux-dev 9c1ac7cbef Merge feature/lts-viewer-validation-testing-phase into feature/qt6-migration-basis-modules-merge
Resolves 1 conflict (new_docker_build.sh, union of viewer-only + codification options); folds in fixes for pre-existing defects surfaced by the validation runs (KDReports-qt6 wiring, LtsSession RTI linking, LtsFileDialog/WLS/BSM Qt6/RTI API migration, GROUP4 target list, new --cmake_build_flags option); validated with BUILD_RTI=ON BUILD_GRANTLEE=ON in 3 Docker runs (run 3: build green, 6 base-state first-run CTest failures documented).
2026-09-27 07:33:29 +02:00
berrux-dev 36f077bce4 Emit record_replay fromQVariant for plain enums; document PPM MOC exclusion 2026-09-26 00:49:47 +02:00
berrux-dev 5381c65fee Merge feature/qt6-migration-basis-modules-services into feature/qt6-migration-basis-modules
Resolves 17 conflicts against legacy Qt5 semantics; validates with BUILD_RTI=ON BUILD_GRANTLEE=ON.
2026-09-24 10:10:25 +02:00
berrux-dev 881d44f4dd Migrates residual Lts sources to generated rtiddsgen API
Adds NmeaManagement tests, fixes codegen includes and Qt6 SerialPort CMake target.
2026-09-23 12:05:37 +02:00
torsten ed9fc51e7a Migrates ./Lts/Viewer successfully to Qt6 2026-09-23 10:14:59 +02:00
torsten 0997dcba79 Fixes merge conflicts, but leaves out-of-DDS-scope build errors (tbc) 2026-09-21 17:04:53 +00:00
torstenandCopilot ab29b7b2d5 Merge origin/feature/migrate-and-test-DDS-targets into feature/qt6-migration-basis-modules
Resolve merge conflicts between Qt6 migration basis modules and DDS test/target migration:

- codegen_simple.py: Keep Qt6 includes (generic_dtc_impl.h, service header)
- svc_ftc_impl.cpp.grantlee: Adopt DDS branch conditional logic ({% if ft.isCoreFt %})
- generic_dtc.h/.impl.h (include/ and Lts/): Keep Qt6 full-path includes, explicit wrapper methods for consistency
- connext.h: Add logger initialization for Requester/Replier (DDS branch enhancement)
- new_docker_build.sh:
  - Add GROUP4_TARGETS for DDS tests
  - Smart DOCKER_IMAGE selection (prebuilt vs ubuntu:26.04)
  - Add BUILD_TESTING=ON to cmake
  - Add Group 4 (DDS Tests) build step

Strategy: Preserve Qt6 migration decisions while incorporating DDS test/target changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-21 14:07:42 +00:00
torsten 7cd3e43959 Adds ktexttemplate as apt package to new_docker_build.sh and builds successfully 2026-09-21 15:43:39 +02:00
berrux-dev 29002f2a48 Migrates remaining include, viewer and DDS headers to rtiddsgen API
Converts accessor calls to plain member access and fixes SituationMap CMake.
2026-09-21 02:47:50 +02:00
berrux-dev e8d07af320 Adapts shared tests and common code to generated rtiddsgen API
Updates test suites and Lts/Common consumers to plain member access.
2026-09-21 02:44:07 +02:00
berrux-dev cf62b17d58 Reworks CMake wiring for Qt6 codegen include order
Adds missing toolchain packages and include dirs so generated headers resolve.
2026-09-21 02:42:27 +02:00
torsten a1914cb7d9 Adds succesfull lts/proxies migration & testsuite 2026-09-19 09:18:18 +00:00
berrux-dev 9e553e5d7a Links Qt6 WebSockets in LtsWebSocketCommon when real 2026-09-18 17:49:15 +02:00
berrux-dev 9a9a023b70 Links Qt6 WebSockets in httq when module is real 2026-09-18 17:49:15 +02:00
berrux-dev a318dbb64a Restores logger and db interface members in DataManagerBaseDl 2026-09-18 17:45:16 +02:00
berrux-dev 851cbd5cec Adapts codegen templates to rtiddsgen 7.7 plain data members 2026-09-18 17:45:15 +02:00
torsten f42bd0276c Integrates unittests for lts/services/s almost successfull into final validation phase 2026-09-17 07:17:28 +00:00
torsten 86f331341a Integrates unittests for lts/services/s almost successfull into final validation phase 2026-09-17 07:13:12 +00:00
torsten 80d73fc330 Integrates unittests for Lts/Services/S* into validation step 2026-09-16 19:13:40 +00:00
torstenandCopilot 691bf21f3e Replace Qt5:: with Qt6:: in 26 CMakeLists.txt files
Qt6 migration: Update all target_link_libraries to use Qt6::Core, Qt6::Widgets,
Qt6::Network, Qt6::Svg, Qt6::Xml, Qt6::Concurrent, Qt6::PrintSupport, Qt6::Sql,
Qt6::Test, Qt6::WebSockets, Qt6::SerialPort instead of Qt5:: equivalents.

Affected components:
- Lts/Common: LtsRestClient, LtsWidgets
- Lts/Application: THP, SitMapReplayTest
- Lts/Plugins: ParticipantManagement, ServiceManagement
- Lts/Services: VideoOverlayManagement
- Lts/Tools: 18 tool CMakeLists.txt files

Validated with BUILD_RTI=ON and BUILD_RTI=OFF - both builds successful.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-15 19:38:18 +00:00
torstenandCopilot 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 be912de9d6 Removes .IDL warnings: multiple enum definitons and builtin-type collisions 2026-09-14 15:45:58 +00:00
torsten eb02c1f001 Removes code-generated files that were accidentally committed to the repo 2026-09-14 11:21:00 +00:00
torsten 3aa0b04ebd Cleans up only warnings and specific CMake/include path error in the Qt6 migration tree, using strictly minimal changes with minimal side effects. 2026-09-11 15:14:11 +00:00
torsten 8cec9973e7 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:36:21 +02: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 c270b7ebe7 Integrates qt6-ported code generator into qt6-overall-build-pipeline 2026-09-04 15:31:59 +02:00
torsten f528f9b609 Inserts ktexttemplate ported idl files parser 2026-09-02 20:32:15 +02:00
torsten 0c1503d85c Adds latest migration results 2026-09-01 12:27:57 +02:00
torstenandCopilot ad07345480 Grantlee Templates: Fix namespace resolution for RTI DTC generation
- Changed {{ namespace }}::{{ dt.type }} to ::{{ namespace }}::{{ dt.type }}
  in svc_dtc.h.grantlee, svc_dtc_impl.cpp.grantlee, svc_dtc_impl.h.grantlee
- Ensures absolute namespace resolution for Core::* types
- Fixes MOC/compilation errors for CurrentRunningState, LockedEntity, etc.

- Updated CMakeLists.txt for RTI 7.7.0 detection with DDS_PATH
- Fixed RTI include paths (ndds/hpp and ndds directories)
- Updated Lts/DDS module files for Qt6/RTI 7.7 compatibility

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-31 12:51:26 +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