From c664611b809f34de0c27dab869a256fdaeaf69a8 Mon Sep 17 00:00:00 2001 From: twi-devel Date: Thu, 24 Sep 2026 16:49:49 +0200 Subject: [PATCH] Migrates non-ArcGIS built successfully (tbc) --- qt6-after/qt6-migrated-legatus/CMakeLists.txt | 1 + .../Lts/Viewer/CMakeLists.txt | 2 +- .../Lts/Viewer/LtsDataView/CMakeLists.txt | 13 +++++------ .../Lts/Viewer/LtsDataView/test.cpp | 4 ++++ .../cmake/NGLMacros.cmake | 15 +++++++++---- .../qt6-migrated-legatus/new_docker_build.sh | 22 +++++++++++++++++++ 6 files changed, 45 insertions(+), 12 deletions(-) diff --git a/qt6-after/qt6-migrated-legatus/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/CMakeLists.txt index 26c481bc6..505dcdb8e 100755 --- a/qt6-after/qt6-migrated-legatus/CMakeLists.txt +++ b/qt6-after/qt6-migrated-legatus/CMakeLists.txt @@ -151,6 +151,7 @@ OPTION(BUILD_PLUGINS_PARTICIPANT_ORG_CHART "Build ParticipantOrgChart (requires OPTION(BUILD_PLUGINS_MSDL "Build MSDL module (requires Qt6 XmlPatterns)" OFF) OPTION(BUILD_PLUGINS_SAAB "Build Saab module (requires Qt6 XmlPatterns)" OFF) OPTION(BUILD_RTI "Build RTI Connext DDS dependent modules" OFF) +OPTION(BUILD_VIEWER_ONLY "Build only Viewer module (no RTI required)" OFF) # Add Lts/ include path globally for QosProfile and other Lts headers INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/Lts) IF(BUILD_RTI) diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/Lts/Viewer/CMakeLists.txt index cba2a74fe..bf979be26 100644 --- a/qt6-after/qt6-migrated-legatus/Lts/Viewer/CMakeLists.txt +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/CMakeLists.txt @@ -5,7 +5,7 @@ # ADD_SUBDIRECTORY(SituationMap) -IF(BUILD_RTI) +IF(BUILD_RTI OR BUILD_VIEWER_ONLY) ADD_SUBDIRECTORY(LtsDataView) ENDIF() ADD_SUBDIRECTORY(LtsFileDialog) diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/CMakeLists.txt index 1c872dea8..48e7fe295 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/CMakeLists.txt +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/CMakeLists.txt @@ -64,15 +64,14 @@ NGL_INSTALL_TARGET(LtsDataView) # Test-Executable NGL_ADD_EXECUTABLE(WS NO_TRANSLATION LtsDataViewTest test.h test.cpp) -if(QT6_GUI_AVAILABLE) - NGL_TARGET_LINK_LIBRARIES(LtsDataViewTest - ${Qt6_Widgets} - LtsDataView - LtsWidgets - ) -endif() +NGL_TARGET_LINK_LIBRARIES(LtsDataViewTest + ${Qt6_Widgets} + LtsDataView + LtsWidgets +) # Register test with CTest if(BUILD_TESTING) add_test(NAME LtsDataViewTest COMMAND $) + set_tests_properties(LtsDataViewTest PROPERTIES ENVIRONMENT "QT_QPA_PLATFORM=offscreen") endif() diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/test.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/test.cpp index 04654e923..5a7b2b277 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/test.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/test.cpp @@ -19,6 +19,7 @@ #include #include #include +#include Disp::Disp() @@ -99,5 +100,8 @@ int main(int argc, char **argv) qWarning() << "took" << et.elapsed() << "ms"; + // Auto-exit for CI/headless testing + QTimer::singleShot(1000, &app, &QApplication::quit); + return app.exec(); } diff --git a/qt6-after/qt6-migrated-legatus/cmake/NGLMacros.cmake b/qt6-after/qt6-migrated-legatus/cmake/NGLMacros.cmake index b21abb1ae..acf650d5f 100755 --- a/qt6-after/qt6-migrated-legatus/cmake/NGLMacros.cmake +++ b/qt6-after/qt6-migrated-legatus/cmake/NGLMacros.cmake @@ -122,11 +122,10 @@ SET(_components ALL SV WS AAR TOOLSWS TOOLSSV HLA) MACRO (NGL_GET_BUILDPARTS _args _buildopts) - SET(${_buildopts} "") SET(_at_least_one_keyword_found OFF) - MESSAGE(STATUS "DEBUG NGL_GET_BUILDPARTS: BUILD_ALL=${BUILD_ALL}, BUILD_SV=${BUILD_SV}, BUILD_WS=${BUILD_WS}, BUILD_AAR=${BUILD_AAR}") + MESSAGE(STATUS "DEBUG NGL_GET_BUILDPARTS: _args (name)=${_args}, _args (value)=${${_args}}, BUILD_ALL=${BUILD_ALL}, BUILD_SV=${BUILD_SV}, BUILD_WS=${BUILD_WS}, BUILD_AAR=${BUILD_AAR}") LIST(FIND ${_args} "ALL" _all) IF (_all GREATER -1) @@ -148,8 +147,12 @@ MACRO (NGL_GET_BUILDPARTS _args _buildopts) IF(_idx GREATER -1) LIST(REMOVE_AT ${_args} ${_idx}) SET(_at_least_one_keyword_found ON) + MESSAGE(STATUS "DEBUG ELSE: _component=${_component}, BUILD_${_component}=${BUILD_${_component}}") IF(BUILD_${_component}) LIST(APPEND ${_buildopts} ${_component}) + MESSAGE(STATUS "DEBUG ELSE: Added ${_component} to _buildopts") + ELSE() + MESSAGE(STATUS "DEBUG ELSE: BUILD_${_component} is FALSE/NOTFOUND, NOT adding ${_component}") ENDIF() ENDIF() ENDFOREACH() @@ -162,10 +165,10 @@ ENDMACRO() MACRO (NGL_PARSE_BUILDCOMPONENT_INTERNAL _args _properties _build_target) - NGL_GET_BUILDPARTS(${_args} _buildopts) + NGL_GET_BUILDPARTS(_args _buildopts) SET(${_build_target} OFF) - MESSAGE(STATUS "DEBUG NGL_PARSE: _buildopts=${_buildopts}, _components=${_components}") + MESSAGE(STATUS "DEBUG NGL_PARSE: _args=${_args}, _buildopts=${_buildopts}, _components=${_components}") FOREACH(_component ${_components}) LIST(FIND _buildopts ${_component} _idx) @@ -320,10 +323,14 @@ MACRO (NGL_ADD_EXECUTABLE) NGL_PARSE_BUILDCOMPONENT_INTERNAL(_args _properties _build_target) LIST(GET _args 0 _target_NAME) + MESSAGE(STATUS "DEBUG NGL_ADD_EXECUTABLE: _target_NAME=${_target_NAME}, _build_target=${_build_target}") IF(_build_target) + MESSAGE(STATUS "DEBUG NGL_ADD_EXECUTABLE: Creating executable ${_target_NAME}") ADD_EXECUTABLE(${_args}) SET_TARGET_PROPERTIES(${_target_NAME} PROPERTIES ${_properties}) SET_PROPERTY(GLOBAL APPEND PROPERTY NGL_TS_TARGETS ${_target_NAME}) + ELSE() + MESSAGE(STATUS "DEBUG NGL_ADD_EXECUTABLE: SKIPPING executable ${_target_NAME}") ENDIF() diff --git a/qt6-after/qt6-migrated-legatus/new_docker_build.sh b/qt6-after/qt6-migrated-legatus/new_docker_build.sh index 9e09c54c6..9280d273c 100755 --- a/qt6-after/qt6-migrated-legatus/new_docker_build.sh +++ b/qt6-after/qt6-migrated-legatus/new_docker_build.sh @@ -419,6 +419,9 @@ source ".envrc" set +a BUILD_ALL="${BUILD_ALL:-ON}" +BUILD_SV="${BUILD_SV:-ON}" +BUILD_WS="${BUILD_WS:-ON}" +BUILD_AAR="${BUILD_AAR:-ON}" BUILD_RTI="${BUILD_RTI:-ON}" BUILD_GRANTLEE="${BUILD_GRANTLEE:-ON}" BUILD_ARCGIS="${BUILD_ARCGIS:-OFF}" @@ -485,6 +488,7 @@ while [[ $# -gt 0 ]]; do --build-viewer-only) BUILD_VIEWER_ONLY=ON BUILD_GROUP5=ON + BUILD_CODIFICATION=ON RUN_CTEST=ON ;; --grantlee) @@ -594,6 +598,7 @@ if [[ "${BUILD_ARCGIS}" == "ON" ]]; then advancedSymbology advancedSymbologyXML LtsDataView + LtsDataViewTest LtsReportDisplay ) else @@ -603,7 +608,9 @@ if [[ "${BUILD_ARCGIS}" == "ON" ]]; then advancedSymbology advancedSymbologyXML LtsDataView + LtsDataViewTest LtsFileDialog + LtsFileDialogTest LtsReportDisplay ) fi @@ -615,6 +622,7 @@ else situationMapCommon advancedSymbologyXML LtsDataView + LtsDataViewTest LtsReportDisplay ) else @@ -623,7 +631,9 @@ else situationMapCommon advancedSymbologyXML LtsDataView + LtsDataViewTest LtsFileDialog + LtsFileDialogTest LtsReportDisplay ) fi @@ -703,6 +713,9 @@ set -euo pipefail # Default variable assignments to prevent unbound variable errors USE_PREBUILT_IMAGE="${USE_PREBUILT_IMAGE:-OFF}" BUILD_ALL="${BUILD_ALL:-ON}" +BUILD_SV="${BUILD_SV:-ON}" +BUILD_WS="${BUILD_WS:-ON}" +BUILD_AAR="${BUILD_AAR:-ON}" BUILD_RTI="${BUILD_RTI:-ON}" BUILD_GRANTLEE="${BUILD_GRANTLEE:-ON}" BUILD_ARCGIS="${BUILD_ARCGIS:-OFF}" @@ -790,7 +803,12 @@ cd build4 cmake .. \ -DBUILD_TESTING=ON \ + -DBUILD_ALL="${BUILD_ALL}" \ + -DBUILD_SV="${BUILD_SV}" \ + -DBUILD_WS="${BUILD_WS}" \ + -DBUILD_AAR="${BUILD_AAR}" \ -DBUILD_RTI="${BUILD_RTI}" \ + -DBUILD_VIEWER_ONLY="${BUILD_VIEWER_ONLY}" \ -DBUILD_GRANTLEE="${BUILD_GRANTLEE}" \ -DBUILD_ARCGIS="${BUILD_ARCGIS}" \ -DBUILD_CODIFICATION="${BUILD_CODIFICATION}" \ @@ -841,6 +859,10 @@ docker run --rm \ -e MIGRATE_PIPELINE_ROOT \ -e LANG \ -e LC_ALL \ + -e BUILD_ALL \ + -e BUILD_SV \ + -e BUILD_WS \ + -e BUILD_AAR \ -e BUILD_RTI \ -e BUILD_GRANTLEE \ -e BUILD_ARCGIS \