Commit Graph
337 Commits
Author SHA1 Message Date
berrux-dev 1dd1e86355 Auto-derive MIGRATE_PIPELINE_ROOT in new_docker_build.sh
Resolution order (highest precedence first):
  1. exported MIGRATE_PIPELINE_ROOT (e.g. from a Jenkinsfile)
  2. MIGRATE_PIPELINE_ROOT set by .envrc in this directory
  3. derived from the script location (three levels up)

The script always lives at <root>/qt-migration-legatus/qt6-after/
qt6-migrated-legatus, so the pipeline root is three levels up. This
makes the script work in a fresh Jenkins checkout with no environment
setup at all, and .envrc is no longer required.
2026-10-14 00:24:36 +02:00
berrux-dev 52df1c8ae9 Fix TetraIF build warnings
- LogViewModels: replace deprecated invalidateFilter() with
  begin/endFilterChange() (11 sites)
- LogViewTelegramEdit: move m_logger to match member declaration order
  (-Wreorder) and consume QFile::open results
- PrtCnvBroadcastMgr: move m_logger to match member declaration order
  (-Wreorder)
- PrtCnvCentralThread: add remaining AreaEffectSimulationType values to
  the silent-ignore switch group (-Wswitch)
- PrtCnvMain: consume freopen results in daemonize (-Wunused-result)
2026-10-14 00:23:59 +02:00
berrux-dev 23e694afc2 Build the TetraIF targets in the release scope 2026-10-14 00:23:14 +02:00
berrux-dev 217bb54bc0 Build the DEB packages with the in-tree rpmbuild script
The container script now runs the packaging flow itself instead of
calling the outer-repo jenkins_builder_ubuntu26.sh:

- Stage the workspace to deb_stage (same tar/excludes as the verified
  jenkins flow; the workspace itself is never deleted)
- Run the in-tree rpmbuild/make_rpm_ubuntu26.py from the staged source
  tree with the same cmake flags and arguments as before
- Copy the produced DEBs to the package output mount
- A packaging failure now fails the build instead of being logged and
  swallowed
- Drop the now-unneeded MIGRATE_PIPELINE_ROOT/WORKSPACE/PROJECT_BASE_DIR
  container env plumbing

The branch is now fully self-contained: new_docker_build.sh + Dockerfile
+ rpmbuild/. The build-pipeline DEB additionally ships
rpmbuild/make_rpm_ubuntu26.py (the staging list already named it).
Verified: zero-warning build, 5 DEBs with identical contents.
2026-10-13 23:08:37 +02:00
berrux-dev ba99b74608 Copy rpmbuild into the source tree with only what the release flow needs
Keep make_rpm_ubuntu26.py (byte-identical to the validated working tree,
including the package-content validator fixes). It is self-contained
(standard library only, no helpers.py import) and its staging artifacts
land in the workspace root, so nothing else from the outer rpmbuild/
directory is needed:

- helpers.py: zero references from the Ubuntu 26 script (belongs to the
  other platform variants)
- make_rpm.py / make_rpm7.py / make_rpm15.1.py / make_rpm15.2.py:
  other platform packaging (base, RHEL7, CentOS 15.x)
- make_rpmModule.py / make_rpmModule7.py: module packaging
- make_rpmSVOnly.py: SV-only packaging
- make_rpm_extfw.py: external framework packaging
- make_tag.py: release tagging tool
- make_license_rpm.sh + ctc_TDS_license.spec.in + ctc_WMS_license.spec.in:
  CTC license RPM flow
- .git (submodule pointer) and .gitignore (no artifacts are created in
  this directory)
2026-10-13 22:33:37 +02:00
berrux-dev 862d0dbe2b Simplify Dockerfile comments 2026-10-13 22:20:11 +02:00
berrux-dev 5554704174 Strip leading blank lines from cmake modules (pipeline staging normalization) 2026-10-13 22:15:38 +02:00
berrux-dev 14dde18e8a Remove OFF-switched machinery and everything not built by this branch
- new_docker_build.sh (665 -> 528 lines): drop the OFF-fixed build
  variables and their redundant cmake flags (BUILD_RTI/GRANTLEE/
  VIEWER_ONLY/CODIFICATION default OFF, BUILD_ALL/SV/WS/AAR default ON -
  all matching this branch's configuration); the container cmake now
  passes only the flags that override CMake defaults (-DBUILD_ARCGIS=OFF,
  -DRELEASE_BUILD=ON, -DBUILD_TESTING=ON).
- Drop the non-prebuilt base-image path (in-container apt-get install +
  aqtinstall fallback, --use-prebuilt-image/--no-prebuilt-image) and
  --cmake_build_flags: the branch only ever builds inside the prebuilt
  image.
- Drop ensure_database(): the PostgreSQL server only served the DB tools
  (Lts/Tools), which are not built in this branch; the build links
  against the header-only dev packages baked into the image.
- Drop libvlc-dev/vlc-plugin-base from the image packages: VLC existed
  only for thp_viewer (Lts/Application, out of scope).
- --build-prebuilt-image now builds the image from ./Dockerfile and
  exits, matching the documented two-step flow.
2026-10-13 22:13:30 +02:00
berrux-dev 65ca0d8b5e Split the prebuilt-image recipe out of new_docker_build.sh into a Dockerfile
- Dockerfile: the prebuilt build image recipe (Ubuntu 26.04 + apt deps +
  aqtinstall Qt6 + KDReports), parameterized via ARG APT_PACKAGES /
  QT_VERSION / QT_ARCH / QT_BASE_DIR.
- new_docker_build.sh: build_prebuilt_image() now runs
  docker build -f Dockerfile with the package list and Qt settings passed
  as build args, using an empty build context (the Dockerfile has no
  COPY/ADD).
2026-10-13 21:47:38 +02:00
berrux-dev 23cf641d36 Trim leftover blank lines in nglapplication sources 2026-10-13 21:22:47 +02:00
berrux-dev a32481de09 Remove tests not built by the release build and scope new_docker_build.sh to the release branch
- Delete all test_*.cpp, *.cmake helpers, MockCoordTrans.h and the gtest/strix
  tooling from tests/: the only target (migration_tests) was guarded by
  NOT RELEASE_BUILD, so nothing in tests/ compiles in this branch's
  release build.
- Replace tests/CMakeLists.txt with a configure-only placeholder so the
  unconditional ADD_SUBDIRECTORY(tests) from the root CMakeLists stays
  resolvable without emitting the 'No migration test sources found'
  warning or triggering the GTest FetchContent fallback.
- Scope new_docker_build.sh (1672 -> 694 lines) to this branch: keep the
  prebuilt-image build/use/delete flow, .envrc/MIGRATE_PIPELINE_ROOT and
  rti_license validation, the release-scope in-container cmake/make/ctest
  and the Jenkins builder package production. Remove the GROUP1-11
  target lists and options, viewer-only, grantlee/arcgis/codification
  toggles, tests-only, integration-test and verify-rpm machinery.
2026-10-13 21:21:52 +02:00
berrux-dev a3ff160086 Silence compiler warnings in the release build
- Guard the Lts/Viewer include paths with if(EXISTS): the module is
  outside the release scope, and the unguarded include_directories
  emitted -Wmissing-include-dirs for every translation unit
- nglpdfpage: initialize m_rotation before m_scaleFactor to match the
  member declaration order (-Wreorder)
2026-10-13 19:52:58 +02:00
berrux-dev 42f6e83c2c Restore recv_from_tab.h and send_to_tab.h (shared with TetraJson plugin)
The compiled tabPluginTetraJson plugin includes
TrainingAreaBase/recv_from_tab.h and TrainingAreaBase/send_to_tab.h
for shared data structures; they are listed in SRCS_exe but are not
exe-exclusive. Restored from the base commit.
2026-10-13 19:29:03 +02:00
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
berrux-dev eb4d067365 Restore translations dir (required by release configure)
NGL_ADD_SUBDIR_GUARDED gates on MIGRATE_MODULE, not directory
existence: with MIGRATE_MODULE empty (the release build path) the
unconditional add_subdirectory(translations) fails when the directory
is missing. It is a configure requirement like tests/ and doxygen/
(no .qm output reaches the DEB packages).
2026-10-13 18:38:58 +02:00
berrux-dev 8b3306732d Remove everything not needed for the release package build
- include/ArcGIS (984 MB): ArcGIS modules are force-excluded in
  RELEASE_BUILD (BUILD_ARCGIS=OFF) and no in-scope code includes its
  headers
- translations/: no .qm files reach any DEB; CMake add is guarded
- external/ (ArcGIS symlink): FindArcGIS only runs when BUILD_ARCGIS=ON
- rti_license.dat: license is supplied via RTI_LICENSE_FILE=
  /workspace/rti_license.dat mounted from the pipeline root
- repo-root infra (.github, ci, docs, scripts, .entire, Jenkinsfile,
  README, .envrc-example, .clang-format, empty .gitmodules): not
  consumed by the DEB build

Kept: cmake/, include/ (non-ArcGIS), doxygen/ (unguarded doxygen
targets in root CMakeLists), tests/ (unconditional ADD_SUBDIRECTORY),
lts-cc.conf (CONFIGURE_FILE), CTestCustom.ctest, new_docker_build.sh,
.gitignore files, qt6-after/external mount symlink.
2026-10-13 18:34:46 +02:00
berrux-dev 5a96bd5d58 Restore ProjectDataManagement stub headers for release scope
The RELEASE_BUILD include path (root CMakeLists.txt) points to
Lts/Services/ProjectDataManagement/stubs, which TrainingAreaBase's
tab_plugin_interface.h needs (ProjectDataManagement/pdm.hpp). Only the
stub headers are restored - the full PDM module stays out of scope.
2026-10-13 17:40:13 +02:00
berrux-dev e4743d631d Reduce qt6-after tree to release validation scope
Kept: TetraIF/, Z/src, Lts/Common, Lts/Proxies/TrainingAreaBase
(tabTelegrams dependency of TetraIF) plus build scaffolding
(cmake/, include/, external/, doxygen/, tests/, translations/,
lts-cc.conf, CTestCustom.ctest, new_docker_build.sh, rti_license.dat).
Removed: out-of-scope Lts modules (Application, DDS, Plugins, Projects,
Services, Tools, Viewer, all Proxies except TrainingAreaBase),
top-level src/, specs/, Qt5 tree (qt5-before + .gitmodules entry),
migration reports and leftover scripts.
2026-10-13 17:24:34 +02:00
torsten 1a38b88229 Adds first successful release run (tbc) 2026-10-12 15:02:02 +00:00
torstenandCopilot 444ac417bf Fix NGL::getLogger() -> N_LogView::getLogger() namespace error
- LogViewTelegramDialog.hpp: Fixed default parameter to use N_LogView::getLogger()
- LogViewTelegram.cpp: Added logger.h include, fixed both constructor initializations
- getLogger() is defined in N_LogView namespace, not NGL namespace

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 20:51:36 +00:00
torstenandCopilot 72a30c1e30 Fix LogView call sites to pass logger parameter
- LogViewTelegramDialog.cpp: Pass m_logger to LogViewTableWidget constructor
- LogViewTelegramDialog.cpp: Pass m_logger to LogViewTabWidget constructor
- LogViewTelegramDialog has default logger parameter, so existing call sites work

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 20:43:06 +00:00
torstenandCopilot 0e22c5b029 Fix LogViewTelegramEdit m_logger and Qt::TextDate for Qt6
- Add m_logger member variable to LogViewTelegramEdit.hpp
- Initialize m_logger in LogViewTelegramEdit constructor
- Replace Qt::SystemLocaleLongDate with Qt::TextDate for Qt6 compatibility

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 20:32:59 +00:00
torstenandCopilot 167a826cbc Fix Logger type to NGL::INGLLogger& in LogView headers
- 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>
2026-10-09 20:26:18 +00: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 1b29039a28 Fix LogView Qt6 compatibility: QStringRef to QStringView migration
- 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>
2026-10-09 19:46:41 +00:00
torstenandCopilot b54fd0caa5 Exclude DebugJsonDir plugin from release scope
- DebugJsonDir includes DDS/Core/function_reply_object.h
- Excluded when RELEASE_BUILD=ON

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 19:13:39 +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 ac4f2e1aaa Add ProjectDataManagement stub include path for release builds
- 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>
2026-10-09 18:56:39 +00:00
torstenandCopilot e7a062e531 Exclude AdlerJson plugin from release scope build
- 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>
2026-10-09 18:45:23 +00:00
torstenandCopilot 3785f2c036 fix: Add missing ENDIF for svcTabServer RELEASE_BUILD block
- 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>
2026-10-09 18:38:42 +00:00
torstenandCopilot 1589d8f17d fix: Include Lts/Proxies/TrainingAreaBase in release build for tabTelegrams library
- TrainingAreaBase provides tabTelegrams library needed by TetraIF/CoPrtCnv
- Only TrainingAreaBase subdirectory is included, not other Proxies
- DDS-dependent components (svcTabCommon, svcTabClient, svcTabServer, executable) remain excluded via RELEASE_BUILD conditionals

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 18:37:06 +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 bb58062c6f Wrap TrainingAreaBase DDS components in RELEASE_BUILD conditional
- Wrap svcTabClient library in IF(NOT RELEASE_BUILD)
- Wrap svcTabServer library in IF(NOT RELEASE_BUILD)
- Wrap Topic Type Plugin in IF(NOT RELEASE_BUILD)
- Wrap RecordReplayPlugin in IF(NOT RELEASE_BUILD)
- Wrap svcTrainingAreaBase executable in IF(NOT RELEASE_BUILD)
- Keep tabTelegrams library and tabPluginInterface for release scope

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-09 17:53: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 62a017cf27 Remove ngl_codegen from RELEASE_GROUP3_TARGETS
- 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>
2026-10-09 17:36:43 +00:00
torstenandCopilot 78ff6f7df9 Fix: Wrap excluded include directories in RELEASE_BUILD conditional
- 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>
2026-10-09 16:46:50 +00:00
torstenandCopilot 4ea6ed119c Fix: Remove duplicate RELEASE_BUILD default assignment (was overwriting ON to OFF)
- 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>
2026-10-09 16:20:21 +00:00
torstenandCopilot 4a3fb0bfe3 Fix: Wrap MacroCodeGenIdl include in RELEASE_BUILD conditional
- 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>
2026-10-09 16:08:48 +00:00
torstenandCopilot 0d67b3a8c9 Fix: Conditionally create ngl_codegen imported target only when not RELEASE_BUILD
- 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>
2026-10-09 15:58:20 +00:00
torstenandCopilot 04899a7160 Fix: Exclude MacroCodeGenIdl.cmake and CODEGEN_WRITE_SERVICEFILE_INFO from release scope build
- 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>
2026-10-09 15:49:59 +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 6cc19e138d Fix include path for Lts/Common/ProjectConfig headers
- 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>
2026-10-09 15:09:50 +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