Add GROUP5 build configuration and CTest registration for Viewer module

- Add GROUP5_TARGETS array with 7 Viewer module targets to new_docker_build.sh
- Add BUILD_GRANTLEE support throughout build script (help, env vars, cmake invocation)
- Fix duplicate BUILD_GROUP4 default in container script section
- Register LtsDataViewTest with CTest in LtsDataView/CMakeLists.txt
- Register LtsFileDialogTest with CTest in LtsFileDialog/CMakeLists.txt
- Update help text to document --group5/--no-group5 and --grantlee/--no-grantlee options
- Set BUILD_GROUP5=OFF and BUILD_GRANTLEE=ON as defaults

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
torstenandCopilot committed 2026-09-22 16:50:49 +02:00
1 parent 0997dcba79
commit cdb8c754e9
3 files changed
+57 -2

No files matched your search

@@ -71,3 +71,8 @@ if(QT6_GUI_AVAILABLE)
LtsWidgets
)
endif()
# Register test with CTest
if(BUILD_TESTING)
add_test(NAME LtsDataViewTest COMMAND $<TARGET_FILE:LtsDataViewTest>)
endif()
@@ -80,3 +80,8 @@ if(QT6_GUI_AVAILABLE)
${Qt6_Widgets}
)
endif()
# Register test with CTest
if(BUILD_TESTING)
add_test(NAME LtsFileDialogTest COMMAND $<TARGET_FILE:LtsFileDialogTest>)
endif()
@@ -8,7 +8,8 @@ set -euo pipefail
# - Loads environment from .envrc
# - Validates MIGRATE_PIPELINE_ROOT and rti_license.dat
# - BUILD_RTI controllable via first positional argument: ON|OFF
# - 3 separately switchable make build groups
# - BUILD_GRANTLEE controllable via --grantlee/--no-grantlee options
# - 5 separately switchable make build groups
# - Optional usage of a prebuilt Docker image with installed dependencies
# - Optional creation of that prebuilt Docker image via --build-prebuilt-image
# - Optional deletion of that prebuilt Docker image via --delete-prebuilt-image
@@ -26,11 +27,15 @@ BUILD_RTI:
ON Enable BUILD_RTI
OFF Disable BUILD_RTI
BUILD_GRANTLEE:
--grantlee / --no-grantlee Enable/disable BUILD_GRANTLEE (default: ON)
Build groups:
--group1 / --no-group1 Enable/disable DDS core libraries build
--group2 / --no-group2 Enable/disable migration_tests build
--group3 / --no-group3 Enable/disable remaining application targets build
--group4 / --no-group4 Enable/disable Lts/Proxies module targets and tests only
--group5 / --no-group5 Enable/disable Lts/Viewer module targets and tests only
Test execution:
--no-ctest Skip ctest execution
@@ -50,9 +55,12 @@ Prebuilt Docker image management:
Environment variable overrides:
BUILD_RTI=ON|OFF
BUILD_GRANTLEE=ON|OFF
BUILD_GROUP1=ON|OFF
BUILD_GROUP2=ON|OFF
BUILD_GROUP3=ON|OFF
BUILD_GROUP4=ON|OFF
BUILD_GROUP5=ON|OFF
RUN_CTEST=ON|OFF
TESTS_ONLY=ON|OFF
INTEGRATION_TEST=ON|OFF
@@ -69,9 +77,12 @@ Expected file:
Defaults:
BUILD_RTI=ON
BUILD_GRANTLEE=ON
BUILD_GROUP1=ON
BUILD_GROUP2=ON
BUILD_GROUP3=ON
BUILD_GROUP4=OFF
BUILD_GROUP5=OFF
RUN_CTEST=ON
TESTS_ONLY=OFF
INTEGRATION_TEST=OFF
@@ -309,6 +320,17 @@ GROUP4_TARGETS=(
Tetra_dgps_simulator
)
GROUP5_TARGETS=(
# Viewer module
situationMapCommon
advancedSymbology
advancedSymbologyXML
advancedSymbologyXML_Gui
LtsDataView
LtsFileDialog
LtsReportDisplay
)
APT_PACKAGES_STRING="$(join_by ' ' "${APT_PACKAGES[@]}")"
build_prebuilt_image() {
@@ -385,10 +407,12 @@ set +a
BUILD_ALL="${BUILD_ALL:-ON}"
BUILD_RTI="${BUILD_RTI:-ON}"
BUILD_GRANTLEE="${BUILD_GRANTLEE:-ON}"
BUILD_GROUP1="${BUILD_GROUP1:-ON}"
BUILD_GROUP2="${BUILD_GROUP2:-ON}"
BUILD_GROUP3="${BUILD_GROUP3:-ON}"
BUILD_GROUP4="${BUILD_GROUP4:-OFF}"
BUILD_GROUP5="${BUILD_GROUP5:-OFF}"
RUN_CTEST="${RUN_CTEST:-ON}"
TESTS_ONLY="${TESTS_ONLY:-OFF}"
INTEGRATION_TEST="${INTEGRATION_TEST:-OFF}"
@@ -441,6 +465,18 @@ while [[ $# -gt 0 ]]; do
--no-group4)
BUILD_GROUP4=OFF
;;
--group5)
BUILD_GROUP5=ON
;;
--no-group5)
BUILD_GROUP5=OFF
;;
--grantlee)
BUILD_GRANTLEE=ON
;;
--no-grantlee)
BUILD_GRANTLEE=OFF
;;
--no-ctest)
RUN_CTEST=OFF
;;
@@ -493,10 +529,12 @@ DELETE_PREBUILT_IMAGE="${DELETE_PREBUILT_IMAGE:-OFF}"
BUILD_ALL="$(normalize_on_off "$BUILD_ALL" "BUILD_ALL")"
BUILD_RTI="$(normalize_on_off "$BUILD_RTI" "BUILD_RTI")"
BUILD_GRANTLEE="$(normalize_on_off "$BUILD_GRANTLEE" "BUILD_GRANTLEE")"
BUILD_GROUP1="$(normalize_on_off "$BUILD_GROUP1" "BUILD_GROUP1")"
BUILD_GROUP2="$(normalize_on_off "$BUILD_GROUP2" "BUILD_GROUP2")"
BUILD_GROUP3="$(normalize_on_off "$BUILD_GROUP3" "BUILD_GROUP3")"
BUILD_GROUP4="$(normalize_on_off "$BUILD_GROUP4" "BUILD_GROUP4")"
BUILD_GROUP5="$(normalize_on_off "$BUILD_GROUP5" "BUILD_GROUP5")"
RUN_CTEST="$(normalize_on_off "$RUN_CTEST" "RUN_CTEST")"
TESTS_ONLY="$(normalize_on_off "$TESTS_ONLY" "TESTS_ONLY")"
INTEGRATION_TEST="$(normalize_on_off "$INTEGRATION_TEST" "INTEGRATION_TEST")"
@@ -505,7 +543,7 @@ BUILD_PREBUILT_IMAGE="$(normalize_on_off "$BUILD_PREBUILT_IMAGE" "BUILD_PREBUILT
DELETE_PREBUILT_IMAGE="$(normalize_on_off "$DELETE_PREBUILT_IMAGE" "DELETE_PREBUILT_IMAGE")"
# Export variables for Docker container
export BUILD_ALL BUILD_RTI BUILD_GROUP1 BUILD_GROUP2 BUILD_GROUP3 BUILD_GROUP4 RUN_CTEST TESTS_ONLY INTEGRATION_TEST USE_PREBUILT_IMAGE BUILD_PREBUILT_IMAGE DELETE_PREBUILT_IMAGE DOCKER_IMAGE
export BUILD_ALL BUILD_RTI BUILD_GRANTLEE BUILD_GROUP1 BUILD_GROUP2 BUILD_GROUP3 BUILD_GROUP4 BUILD_GROUP5 RUN_CTEST TESTS_ONLY INTEGRATION_TEST USE_PREBUILT_IMAGE BUILD_PREBUILT_IMAGE DELETE_PREBUILT_IMAGE DOCKER_IMAGE
require_non_empty "${DOCKER_IMAGE}" "DOCKER_IMAGE"
@@ -564,6 +602,7 @@ GROUP1_TARGETS_STRING="$(join_by ' ' "${GROUP1_TARGETS[@]}")"
GROUP2_TARGETS_STRING="$(join_by ' ' "${GROUP2_TARGETS[@]}")"
GROUP3_TARGETS_STRING="$(join_by ' ' "${GROUP3_TARGETS[@]}")"
GROUP4_TARGETS_STRING="$(join_by ' ' "${GROUP4_TARGETS[@]}")"
GROUP5_TARGETS_STRING="$(join_by ' ' "${GROUP5_TARGETS[@]}")"
HOST_TEMP_DIR="$(mktemp -d)"
CONTAINER_SCRIPT_HOST="${HOST_TEMP_DIR}/run-build-inside-container.sh"
@@ -580,10 +619,12 @@ set -euo pipefail
USE_PREBUILT_IMAGE="${USE_PREBUILT_IMAGE:-OFF}"
BUILD_ALL="${BUILD_ALL:-ON}"
BUILD_RTI="${BUILD_RTI:-ON}"
BUILD_GRANTLEE="${BUILD_GRANTLEE:-ON}"
BUILD_GROUP1="${BUILD_GROUP1:-ON}"
BUILD_GROUP2="${BUILD_GROUP2:-ON}"
BUILD_GROUP3="${BUILD_GROUP3:-ON}"
BUILD_GROUP4="${BUILD_GROUP4:-OFF}"
BUILD_GROUP5="${BUILD_GROUP5:-OFF}"
RUN_CTEST="${RUN_CTEST:-ON}"
TESTS_ONLY="${TESTS_ONLY:-OFF}"
INTEGRATION_TEST="${INTEGRATION_TEST:-OFF}"
@@ -653,6 +694,7 @@ cd build4
cmake .. \
-DBUILD_TESTING=ON \
-DBUILD_RTI="${BUILD_RTI}" \
-DBUILD_GRANTLEE="${BUILD_GRANTLEE}" \
-DBUILD_ARCGIS=OFF \
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_BUILD_TYPE=Release \
@@ -662,6 +704,7 @@ read -r -a GROUP1_ARRAY <<< "${GROUP1_TARGETS}"
read -r -a GROUP2_ARRAY <<< "${GROUP2_TARGETS}"
read -r -a GROUP3_ARRAY <<< "${GROUP3_TARGETS}"
read -r -a GROUP4_ARRAY <<< "${GROUP4_TARGETS}"
read -r -a GROUP5_ARRAY <<< "${GROUP5_TARGETS}"
if [[ "${TESTS_ONLY}" != "ON" ]]; then
run_build_group "Group 1" "${BUILD_GROUP1}" "group1_build.log" "${GROUP1_ARRAY[@]}"
@@ -669,6 +712,7 @@ if [[ "${TESTS_ONLY}" != "ON" ]]; then
run_build_group "Group 2" "${BUILD_GROUP2}" "group2_build.log" "${GROUP2_ARRAY[@]}"
run_build_group "Group 3" "${BUILD_GROUP3}" "group3_build.log" "${GROUP3_ARRAY[@]}"
run_build_group "Group 4" "${BUILD_GROUP4}" "group4_build.log" "${GROUP4_ARRAY[@]}"
run_build_group "Group 5 (Viewer)" "${BUILD_GROUP5}" "group5_build.log" "${GROUP5_ARRAY[@]}"
else
log_info "TESTS_ONLY enabled - skipping all build groups"
fi
@@ -710,6 +754,7 @@ docker run --rm \
-e GROUP2_TARGETS="${GROUP2_TARGETS_STRING}" \
-e GROUP3_TARGETS="${GROUP3_TARGETS_STRING}" \
-e GROUP4_TARGETS="${GROUP4_TARGETS_STRING}" \
-e GROUP5_TARGETS="${GROUP5_TARGETS_STRING}" \
-v "${WORKSPACE_ROOT_HOST}:/workspace" \
-v "${RTI_LICENSE_FILE_HOST}:/workspace/rti_license.dat" \
-v "${CONTAINER_SCRIPT_HOST}:/tmp/run-build-inside-container.sh:ro" \