- LogViewField.hpp: Changed Logger& to NGL::INGLLogger& for m_logger member
- LogViewInjectionThread.hpp: Changed Logger& to NGL::INGLLogger& for m_logger member
- Both headers already include logger.h which defines LOGGER_T as NGL::INGLLogger&
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Migrated QStringRef to QStringView in LogViewTetraTelegramsParser
- Updated tokenize() function signature and implementation
- Updated bracketCount() helper function
- Updated validStructTokens() function
- Updated parseStruct(), parseEnum(), parseConstraint() functions
- Migrated QStringRef to QStringView in LogViewGui.cpp
- Updated splitRef() to splitView() calls
- Updated QVector<QStringRef> to QVector<QStringView>
- Migrated QStringRef to QStringView in LogViewXdrParser.cpp
- Updated midRef() to mid() calls
- Updated leftRef() to left() calls
- Updated Qt6 include paths: QAbstractTableModel and QModelIndex moved to QtCore
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- 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>
- TrainingAreaBase's tab_plugin_interface.h includes <ProjectDataManagement/pdm.hpp>
- For release builds (RELEASE_BUILD=ON), add stubs directory to include path
- Stub headers provide type definitions without DDS dependencies
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- AdlerJson depends on svcPdmClient (ProjectDataManagement) which is not in release scope
- Wrap ADD_SUBDIRECTORY(AdlerJson) in IF(NOT RELEASE_BUILD) conditional
- Prevents build failure from missing pdm_enums.hpp header
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- svcTabServer library is DDS-dependent and should be excluded in release builds
- Missing ENDIF() caused CMake configuration error at line 177
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- 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>
- ngl_codegen is a code generation tool only needed during development
- Not required for release scope builds (TetraIF, Z, Lts/Common subset)
- Fixes persistent 'No rule to make target ngl_codegen' error
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Wrap include_directories for Services, DDS, Plugins, and Proxies/GuezNasat
in IF(NOT RELEASE_BUILD) block to prevent CMake errors when these
directories don't exist in release scope builds
- Keep include paths for release-scope modules (Lts/Common, LtsUtils,
LtsUtilsCore, LtsUtilsSettings, NGLLogger, Viewer/SituationMap) outside
the conditional so they're always available
- This prevents CMake from trying to add non-existent directories when
building with RELEASE_BUILD=ON
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Line 1327 had RELEASE_BUILD="${RELEASE_BUILD:-OFF}" which overwrote
the correct default at line 745 (RELEASE_BUILD="${RELEASE_BUILD:-ON}")
- This caused release scope builds to incorrectly build all modules
instead of just TetraIF, Z, and Lts/Common
- Removed the duplicate assignment to preserve the ON default
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Main CMakeLists.txt line 783 includes MacroCodeGenIdl.cmake unconditionally
- This causes ngl_codegen target reference even when CodeGen module is excluded
- Wrap INCLUDE(MacroCodeGenIdl) in IF(NOT RELEASE_BUILD) to skip for release builds
- Prevents 'make: *** No rule to make target ngl_codegen' error in release scope builds
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Added RELEASE_BUILD check to imported ngl_codegen target creation
- Prevents make errors when CodeGen is excluded from release builds
- Release scope modules don't use CODEGEN macros, so target is not needed
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- CodeGen module is excluded from release scope (S set)
- Release scope modules (TetraIF, Z, Lts/Common subset) do not use CODEGEN macros
- Wrapping include and macro call in RELEASE_BUILD conditional prevents ngl_codegen target reference
- Resolves: make: *** No rule to make target 'ngl_codegen'. Stop.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- 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>
- 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>
- Changed include_directories from ${CMAKE_SOURCE_DIR}/Lts to ${CMAKE_SOURCE_DIR}
- This allows #include <Lts/Common/ProjectConfig/project_defines.h> to resolve correctly
- Required for LtsSession and other modules using ProjectConfig headers
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- 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>
- 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>
- 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>
- 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>
- Required for DEB package generation in release pipeline
- debuild command was not found in previous run
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Set MIGRATE_PIPELINE_ROOT=/workspace in container script heredoc
- Host path /home/torsten/sandbox/qt6-migration-pipeline maps to /workspace in container
- Fixes jenkins_builder_ubuntu26.sh not found error
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add RUN_JENKINS_BUILDER and packaging variables to container script defaults
- Prevents unbound variable errors when running Jenkins builder inside container
- Includes all GROUP*_TARGETS variables for build group execution
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Capture CTest exit code in CTEST_RESULT variable
- Allow script to continue after CTest failures
- Log CTest failure information without stopping build
- Enables package verification to run after test execution
- Added VERIFY_RPM variable with default OFF
- Added --verify-rpm command line option
- Added package verification logic that checks for DEB/RPM packages
- Updated help text and documentation
- Verification runs after CTest in Docker container
- Checks /workspace/rpms for DEB packages and /workspace/build/rpm for RPM
- Reports success if packages found, skipped if no package build step
- Set RUN_CTEST=OFF when RELEASE_BUILD=ON
- Tests require executables from groups not in release scope
- Update documentation to reflect automatic CTest disable
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Changed BUILD_GROUP11 default from ON to OFF for release builds
- GROUP11 builds Lts/Application (OperatorApplication, aarApp) which is outside release scope M = {TetraIF, Z, Lts/Common}
- Lts/Common is built automatically as dependency of GROUP3 targets
- Updated documentation comments to reflect correct group assignments
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Change BUILD_GROUP5 default from ON to OFF for release builds
- GROUP5 contains Viewer modules (situationMapCommon, etc.) which are
NOT in the release scope M = {TetraIF, Z, Lts/Common}
- Z components are in GROUP3, which uses RELEASE_GROUP3_TARGETS
- Update documentation to reflect correct group assignments
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add RELEASE_GROUP3_TARGETS array with Z components only (no svc* targets)
- Use RELEASE_GROUP3_TARGETS when RELEASE_BUILD=ON to exclude Lts/Services
- This fixes build failure on svcPdmCommon which is outside release scope
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- 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>
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).