Driver: -DBUILD_RTI=ON for DEB build, QT_QPA_PLATFORM=offscreen for ctest

- The DEB cmake flags lacked BUILD_RTI: the full-tree DEB build compiles
  RTI codegen consumers (svcPdmCommon -> ProjectDataManagement/pdm_enums.hpp)
  whose BUILD_RTI=OFF stubs were removed as 'forbidden OFF variants', so the
  deb_stage build failed with 'pdm_enums.hpp: No such file or directory'.
  RTI_INSTALL_DIR still resolves in-container via DOCKER_MOUNT_ROOT.
- ctest: GUI test executables (coprtcnv/prtcnv unit tests, test_nglpdfwidget)
  aborted in the headless container ('no Qt platform plugin could be
  initialized' - xcb needs a display); export QT_QPA_PLATFORM=offscreen
  (the offscreen plugin is present in the image).

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
berrux-devandClaude Code committed 2026-11-13 16:24:32 +01:00
1 parent bb9c957003
commit 62897fee66
1 file changed
+7 -1
@@ -565,6 +565,9 @@ build_group "GROUP6 (Tools/AP9)" "${BUILD_GROUP6}" "${GROUP6_TARGETS[@]}"
if [[ "${RUN_CTEST}" == "ON" ]] && [[ "${TESTS_ONLY}" != "ON" ]]; then if [[ "${RUN_CTEST}" == "ON" ]] && [[ "${TESTS_ONLY}" != "ON" ]]; then
log_info "Running ctest..." log_info "Running ctest..."
cd "${BUILD_DIR}" cd "${BUILD_DIR}"
# GUI test executables need a Qt platform plugin; the container is
# headless, so use the offscreen plugin (xcb would abort without a display).
export QT_QPA_PLATFORM="${QT_QPA_PLATFORM:-offscreen}"
ctest --output-on-failure -j$(nproc) || log_info "Some tests failed (continuing)" ctest --output-on-failure -j$(nproc) || log_info "Some tests failed (continuing)"
cd .. cd ..
fi fi
@@ -606,7 +609,10 @@ if [[ "${RUN_JENKINS_BUILDER}" == "ON" ]]; then
--version "${LTS_VERSION}" \ --version "${LTS_VERSION}" \
--output_dir "${DOCKER_MOUNT_ROOT}/rpms/${PROJECT}/${OS_VERSION}/" \ --output_dir "${DOCKER_MOUNT_ROOT}/rpms/${PROJECT}/${OS_VERSION}/" \
--source_dir "${STAGED_SOURCE_DIR}" \ --source_dir "${STAGED_SOURCE_DIR}" \
--cmake_build_flags "-DUSE_IPO=ON -DUSE_UNITY_BUILD=ON -DGUEZ_MODE=${GUEZ_MODE} -DBUILD_WLS=ON -DPostgreSQL_TYPE_INCLUDE_DIR=/usr/include/postgresql/ -DRELEASE_BUILD=ON" \ # -DBUILD_RTI=ON is required: the full-tree DEB build compiles RTI
# codegen consumers (e.g. svcPdmCommon -> pdm_enums.hpp) whose
# BUILD_RTI=OFF stubs were removed as "forbidden OFF variants".
--cmake_build_flags "-DUSE_IPO=ON -DUSE_UNITY_BUILD=ON -DGUEZ_MODE=${GUEZ_MODE} -DBUILD_WLS=ON -DPostgreSQL_TYPE_INCLUDE_DIR=/usr/include/postgresql/ -DBUILD_RTI=ON -DRELEASE_BUILD=ON" \
--build_number "${BUILD_NUMBER}" \ --build_number "${BUILD_NUMBER}" \
--release_scope; then --release_scope; then
log_info "Package build completed successfully" log_info "Package build completed successfully"