Merge feature/lts-viewer-validation-testing-phase into feature/qt6-migration-basis-modules-merge

Resolves 1 conflict (new_docker_build.sh, union of viewer-only + codification options); folds in fixes for pre-existing defects surfaced by the validation runs (KDReports-qt6 wiring, LtsSession RTI linking, LtsFileDialog/WLS/BSM Qt6/RTI API migration, GROUP4 target list, new --cmake_build_flags option); validated with BUILD_RTI=ON BUILD_GRANTLEE=ON in 3 Docker runs (run 3: build green, 6 base-state first-run CTest failures documented).
This commit is contained in:
berrux-dev committed 2026-09-27 07:33:29 +02:00
commit 9c1ac7cbef
30 files changed
+376 -247

No files matched your search

@@ -8,46 +8,55 @@ if(NOT Qt6_FOUND)
endif()
set(_qt_prefix "Qt6")
# If KDReports already provided via variables, use them
IF(KDREPORTS_INCLUDE_DIR AND KDREPORTS_KDREPORTS_INCLUDE_DIR AND KDREPORTS_LIBRARY)
SET(KDREPORTS_FOUND TRUE)
SET(KDReports_FOUND TRUE)
ELSE()
# Prefer KDReports-qt6 package config if installed under standard prefixes
if(EXISTS "${CMAKE_PREFIX_PATH}/lib64/cmake/KDReports-qt6" OR EXISTS "/usr/local/lib64/cmake/KDReports-qt6" OR EXISTS "${CMAKE_PREFIX_PATH}/lib/cmake/KDReports-qt6" OR EXISTS "/usr/local/lib/cmake/KDReports-qt6")
message(STATUS "Found KDReports-qt6 package config")
set(KDREPORTS_FOUND TRUE)
set(KDReports_FOUND TRUE)
# Best-effort defaults; specific projects will use the imported target below
set(KDREPORTS_INCLUDE_DIR "/usr/local/include/KDReports-qt6")
set(KDREPORTS_KDREPORTS_INCLUDE_DIR "/usr/local/include/KDReports-qt6")
# Check lib64 first, then lib
if(EXISTS "/usr/local/lib64/libkdreports-qt6.so")
set(KDREPORTS_LIBRARY "/usr/local/lib64/libkdreports-qt6.so")
else()
set(KDREPORTS_LIBRARY "/usr/local/lib/libkdreports-qt6.so")
endif()
# Prefer KDReports-qt6 package config if installed under standard prefixes
# Search in common installation locations for KDReports cmake config
list(APPEND CMAKE_PREFIX_PATH /usr/local /usr)
find_package(KDReports-qt6 CONFIG QUIET PATHS /usr/local/lib/cmake/KDReports-qt6 /usr/local/lib64/cmake/KDReports-qt6 /usr/lib/cmake/KDReports-qt6 /usr/lib64/cmake/KDReports-qt6)
if(KDReports-qt6_FOUND OR KDReports-qt6_CONFIG)
message(STATUS "Found KDReports-qt6 package config")
set(KDREPORTS_FOUND TRUE)
set(KDReports_FOUND TRUE)
# KDReports-qt6 config provides KDReports::KDReports imported target
# Set variables for compatibility with code that uses them
set(KDREPORTS_INCLUDE_DIR "/usr/local/include/KDReports-qt6")
set(KDREPORTS_KDREPORTS_INCLUDE_DIR "/usr/local/include/KDReports-qt6")
# Check lib64 first, then lib
if(EXISTS "/usr/local/lib64/libkdreports-qt6.so")
set(KDREPORTS_LIBRARY "/usr/local/lib64/libkdreports-qt6.so")
else()
FIND_PATH(KDREPORTS_INCLUDE_DIR KDReports/KDReports.h)
FIND_PATH(KDREPORTS_KDREPORTS_INCLUDE_DIR KDReports.h PATH_SUFFIXES KDReports)
FIND_LIBRARY(KDREPORTS_LIBRARY NAMES kdreports kdreport kdreports-qt6)
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(KDReports DEFAULT_MSG
KDREPORTS_LIBRARY
KDREPORTS_INCLUDE_DIR
KDREPORTS_KDREPORTS_INCLUDE_DIR
)
MARK_AS_ADVANCED(KDREPORTS_INCLUDE_DIR KDREPORTS_LIBRARY)
MARK_AS_ADVANCED(KDREPORTS_KDREPORTS_INCLUDE_DIR KDREPORTS_LIBRARY)
set(KDREPORTS_LIBRARY "/usr/local/lib/libkdreports-qt6.so")
endif()
ENDIF()
else()
# Search both /usr and /usr/local for apt-installed or manually built KDReports
FIND_PATH(KDREPORTS_INCLUDE_DIR KDReports/KDReports.h PATHS /usr/include /usr/local/include)
FIND_PATH(KDREPORTS_KDREPORTS_INCLUDE_DIR KDReports.h PATH_SUFFIXES KDReports PATHS /usr/include /usr/local/include)
FIND_LIBRARY(KDREPORTS_LIBRARY NAMES kdreports kdreport kdreports-qt6 PATHS /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64)
IF(NOT TARGET KDReports::KDReports)
ADD_LIBRARY(KDReports::KDReports UNKNOWN IMPORTED)
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(KDReports DEFAULT_MSG
KDREPORTS_LIBRARY
KDREPORTS_INCLUDE_DIR
KDREPORTS_KDREPORTS_INCLUDE_DIR
)
MARK_AS_ADVANCED(KDREPORTS_INCLUDE_DIR KDREPORTS_LIBRARY)
MARK_AS_ADVANCED(KDREPORTS_KDREPORTS_INCLUDE_DIR KDREPORTS_LIBRARY)
endif()
# The root CMakeLists may already have created a no-op stub target for
# KDReports::KDReports (before FindKDReports ran). When the library was found,
# upgrade that existing target to the real imported target instead of skipping.
IF(KDReports_FOUND)
IF(NOT TARGET KDReports::KDReports)
ADD_LIBRARY(KDReports::KDReports UNKNOWN IMPORTED)
ENDIF()
SET_PROPERTY(TARGET KDReports::KDReports PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${KDREPORTS_INCLUDE_DIR}" "${KDREPORTS_KDREPORTS_INCLUDE_DIR}")
SET_PROPERTY(TARGET KDReports::KDReports PROPERTY INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${KDREPORTS_INCLUDE_DIR}" "${KDREPORTS_KDREPORTS_INCLUDE_DIR}")
SET_PROPERTY(TARGET KDReports::KDReports PROPERTY IMPORTED_LOCATION "${KDREPORTS_LIBRARY}")
SET_PROPERTY(TARGET KDReports::KDReports PROPERTY INTERFACE_COMPILE_DEFINITIONS "")
SET_PROPERTY(TARGET KDReports::KDReports APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${_qt_prefix}::Core ${_qt_prefix}::Gui ${_qt_prefix}::PrintSupport ${_qt_prefix}::Widgets)
ELSE()
IF(NOT TARGET KDReports::KDReports)
ADD_LIBRARY(KDReports::KDReports UNKNOWN IMPORTED)
ENDIF()
ENDIF()
@@ -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()