Fix Release 2 build: restore test wiring lost in merge, use Ninja in DEB packaging
The full-module import merge (097e5b488) replaced the validated Release 2
test wiring with the full-tree CMake files, leaving 5 targets referenced by
new_docker_build_release2.sh / README undefined:
- Restore LogViewLogger library in TetraIF/LogView/CMakeLists.txt
(pre-merge file defined both LogViewLogger lib and LogView exe)
- Re-add ADD_SUBDIRECTORY(unit-test) in TetraIF/CMakeLists.txt
(coprtcnv_unit_test, logview_unit_test, prtcnv_unit_test)
- Add CommonUnitTestsPlaceholder to Lts/Common/CMakeLists.txt (MockCoordTrans)
Driver (new_docker_build_release2.sh):
- Pass -DBUILD_TESTING=ON: TetraIF/unit-test is gated on BUILD_TESTING
- Default GUEZ_MODE=ON: the DEB step expanded ${GUEZ_MODE} in-container
where it was unset, producing -DGUEZ_MODE= (false in CMake)
rpmbuild/make_rpm_ubuntu26_release2.py:
- Use the Ninja generator (cmake -G Ninja / dh_auto_configure -GNinja):
with CMake 4.2.3 in the legatus-qt6:1.0 image the Unix Makefiles
generator emits no rule for AUTOMOC <target>_autogen/mocs_compilation.cpp
("No rule to make target") and every Qt target fails; Ninja handles
automoc correctly (verified: ninja -n of all 39 Release 2 targets passes)
- Add ninja-build to debian Build-Depends
Verified inside legatus-qt6:1.0 (mount /repo, BUILD_RTI=ON, BUILD_TESTING=ON,
Ninja): cmake configure exit 0 and ninja -n of the full Release 2 target
list (GROUP1/3/5/6, 39 targets) exit 0.
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
1 parent
df8b739e80
commit
56064ca293
5 files changed
+28
-6
No files matched your search
@@ -5,6 +5,8 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Release 2 Common modules (S set: 16 modules)
|
# Release 2 Common modules (S set: 16 modules)
|
||||||
|
# Mock library for unit tests (CoordTrans mocks)
|
||||||
|
ADD_SUBDIRECTORY(CommonUnitTestsPlaceholder)
|
||||||
ADD_SUBDIRECTORY(CodeGen)
|
ADD_SUBDIRECTORY(CodeGen)
|
||||||
ADD_SUBDIRECTORY(httq)
|
ADD_SUBDIRECTORY(httq)
|
||||||
ADD_SUBDIRECTORY(LtsAppDescriptor)
|
ADD_SUBDIRECTORY(LtsAppDescriptor)
|
||||||
|
|||||||
@@ -7,3 +7,4 @@
|
|||||||
ADD_SUBDIRECTORY(CoPrtCnv)
|
ADD_SUBDIRECTORY(CoPrtCnv)
|
||||||
ADD_SUBDIRECTORY(LogView)
|
ADD_SUBDIRECTORY(LogView)
|
||||||
ADD_SUBDIRECTORY(PrtCnv)
|
ADD_SUBDIRECTORY(PrtCnv)
|
||||||
|
ADD_SUBDIRECTORY(unit-test)
|
||||||
@@ -4,11 +4,21 @@
|
|||||||
# $Author$
|
# $Author$
|
||||||
#
|
#
|
||||||
ADD_SUBDIRECTORY(Console)
|
ADD_SUBDIRECTORY(Console)
|
||||||
|
|
||||||
|
# Create a separate library for logger functionality that can be linked by other targets
|
||||||
|
NGL_ADD_LIBRARY(LogViewLogger AAR SV STATIC
|
||||||
|
logger.cpp
|
||||||
|
logger.h
|
||||||
|
)
|
||||||
|
NGL_TARGET_LINK_LIBRARIES(LogViewLogger
|
||||||
|
NGLLogger
|
||||||
|
)
|
||||||
|
|
||||||
|
SET_TARGET_PROPERTIES(LogViewLogger PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||||
|
|
||||||
SET(my_SRCS
|
SET(my_SRCS
|
||||||
IntegerCalculator.cpp
|
IntegerCalculator.cpp
|
||||||
IntegerCalculator.hpp
|
IntegerCalculator.hpp
|
||||||
logger.cpp
|
|
||||||
logger.h
|
|
||||||
LogViewBooleanEdit.cpp
|
LogViewBooleanEdit.cpp
|
||||||
LogViewBooleanEdit.hpp
|
LogViewBooleanEdit.hpp
|
||||||
LogViewDateTimeEdit.cpp
|
LogViewDateTimeEdit.cpp
|
||||||
@@ -79,6 +89,7 @@ if(QT6_GUI_AVAILABLE)
|
|||||||
NGLLogger
|
NGLLogger
|
||||||
nglapplication
|
nglapplication
|
||||||
ngltools
|
ngltools
|
||||||
|
LogViewLogger
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
NGL_INSTALL_TARGET(LogView)
|
NGL_INSTALL_TARGET(LogView)
|
||||||
|
|||||||
@@ -111,6 +111,7 @@ DOCKER_MOUNT_ROOT="${DOCKER_MOUNT_ROOT:-/repo}"
|
|||||||
export DOCKER_MOUNT_ROOT
|
export DOCKER_MOUNT_ROOT
|
||||||
|
|
||||||
# Jenkins builder options for DEB package production
|
# Jenkins builder options for DEB package production
|
||||||
|
GUEZ_MODE="${GUEZ_MODE:-ON}"
|
||||||
RUN_JENKINS_BUILDER="${RUN_JENKINS_BUILDER:-OFF}"
|
RUN_JENKINS_BUILDER="${RUN_JENKINS_BUILDER:-OFF}"
|
||||||
PACKAGE_OUTPUT_DIR="${PACKAGE_OUTPUT_DIR:-./packages-out}"
|
PACKAGE_OUTPUT_DIR="${PACKAGE_OUTPUT_DIR:-./packages-out}"
|
||||||
LTS_VERSION="${LTS_VERSION:-1.0}"
|
LTS_VERSION="${LTS_VERSION:-1.0}"
|
||||||
@@ -495,6 +496,7 @@ rm -rf "${BUILD_DIR}"
|
|||||||
mkdir -p "${BUILD_DIR}"
|
mkdir -p "${BUILD_DIR}"
|
||||||
cmake -B "${BUILD_DIR}" \
|
cmake -B "${BUILD_DIR}" \
|
||||||
-G Ninja \
|
-G Ninja \
|
||||||
|
-DBUILD_TESTING=ON \
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||||
-DCMAKE_PREFIX_PATH="/opt/Qt/6.10.2/gcc_64" \
|
-DCMAKE_PREFIX_PATH="/opt/Qt/6.10.2/gcc_64" \
|
||||||
-DCMAKE_CXX_FLAGS="-DRTI_LINUX -DRTI_UNIX" \
|
-DCMAKE_CXX_FLAGS="-DRTI_LINUX -DRTI_UNIX" \
|
||||||
|
|||||||
@@ -183,7 +183,7 @@ def create_debian_control(deb_dir, package_name, version, build_number, descript
|
|||||||
Section: {section}
|
Section: {section}
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Maintainer: Legatus Team <team@legatus.example.com>
|
Maintainer: Legatus Team <team@legatus.example.com>
|
||||||
Build-Depends: debhelper (>= 13), cmake, qt6-base-dev, qt6-tools-dev
|
Build-Depends: debhelper (>= 13), cmake, ninja-build, qt6-base-dev, qt6-tools-dev
|
||||||
Standards-Version: 4.6.0
|
Standards-Version: 4.6.0
|
||||||
|
|
||||||
Package: {package_name}
|
Package: {package_name}
|
||||||
@@ -214,7 +214,9 @@ override_dh_auto_test:
|
|||||||
dh $@ --buildsystem=cmake
|
dh $@ --buildsystem=cmake
|
||||||
|
|
||||||
override_dh_auto_configure:
|
override_dh_auto_configure:
|
||||||
dh_auto_configure -- -DCMAKE_BUILD_TYPE=Release {cmake_flags}
|
# -GNinja: required, see build_all_debs (CMake 4.x Makefiles generator
|
||||||
|
# breaks AUTOMOC; the cmake buildsystem would otherwise use make).
|
||||||
|
dh_auto_configure -- -GNinja -DCMAKE_BUILD_TYPE=Release {cmake_flags}
|
||||||
|
|
||||||
override_dh_auto_build:
|
override_dh_auto_build:
|
||||||
dh_auto_build --parallel
|
dh_auto_build --parallel
|
||||||
@@ -424,9 +426,13 @@ def build_all_debs(source_dir, output_dir, version, build_number, cmake_flags):
|
|||||||
os.makedirs(build_dir, exist_ok=True)
|
os.makedirs(build_dir, exist_ok=True)
|
||||||
os.chdir(build_dir)
|
os.chdir(build_dir)
|
||||||
info("Running CMake configuration...")
|
info("Running CMake configuration...")
|
||||||
run(f"cmake -DCMAKE_BUILD_TYPE=Release {cmake_flags} ..", "CMake configuration failed")
|
# Ninja is REQUIRED here: with the CMake 4.x in the legatus-qt6 image the
|
||||||
|
# Unix Makefiles generator emits no rule for AUTOMOC
|
||||||
|
# <target>_autogen/mocs_compilation.cpp ("No rule to make target"), which
|
||||||
|
# breaks every Qt target. Ninja handles automoc correctly.
|
||||||
|
run(f"cmake -G Ninja -DCMAKE_BUILD_TYPE=Release {cmake_flags} ..", "CMake configuration failed")
|
||||||
info("Running build...")
|
info("Running build...")
|
||||||
run(f"make -j$(nproc)", "Build failed")
|
run(f"ninja -j$(nproc)", "Build failed")
|
||||||
info("Build completed successfully")
|
info("Build completed successfully")
|
||||||
|
|
||||||
# Package 1: qt6-release-runtime (binaries and libraries, built via debuild)
|
# Package 1: qt6-release-runtime (binaries and libraries, built via debuild)
|
||||||
|
|||||||
Reference in new issue
Block a user