From d7c8c9e6bdf42ae1f02dcc735c76f343be5f0a13 Mon Sep 17 00:00:00 2001 From: twi-devel Date: Sun, 23 Aug 2026 21:21:10 +0200 Subject: [PATCH] BUILD_RTI=ON: Fix DDS header includes and logger initialization MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - dynamic_data_reader.h: Add #include to resolve incomplete type error when deleting DynamicDataImpl pointers - generic_dts_impl.h: Add m_logger member variable declaration (LOGGER_T&) - dynamic_data_reader.h: Add m_logger member variable declaration (LOGGER_T&) - pub_sub_base.cpp: Fix logger initialization to use NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger() instead of non-existent NGL::getNGLLogger() - lts_session_data_dds.h: Add DataPluginBase::Interface forward declaration to both #ifdef BUILD_RTI and #else blocks for consistent compilation - LtsUtilsCore/CMakeLists.txt: Fix include path from /.. to /../.. for LtsUtilsCoreHeaderOnly target - tests/CMakeLists.txt: Move Grantlee test filtering BEFORE executable creation to prevent build failures when Grantlee is disabled Build validation: - BUILD_RTI=OFF: ✅ 0 errors (previously completed) - BUILD_RTI=ON: ✅ DDS core components compile successfully - libddsconnector.so created successfully - Remaining build errors in unrelated modules (IsmDataPluginInterface, IsmShared, BuildingControlBsm) are pre-existing dependency issues C++ Standard: Enforcing C++17 across all builds due to RTI Connext DDS 7.7.0 incompatibility with C++20/C++23 (known header bugs with newer standards). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../Common/LtsSession/lts_session_data_dds.h | 3 +- .../LtsUtils/LtsUtilsCore/CMakeLists.txt | 4 +-- .../Lts/DDS/DDSConnector/pub_sub_base.cpp | 2 +- .../Lts/DDS/DTS/generic_dts_impl.h | 1 + .../Lts/DDS/Generic/dynamic_data_reader.h | 2 ++ .../qt6-migrated-legatus/tests/CMakeLists.txt | 30 +++++++++---------- 6 files changed, 22 insertions(+), 20 deletions(-) diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data_dds.h b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data_dds.h index 6d6132b7a..3cb774977 100644 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data_dds.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data_dds.h @@ -26,10 +26,11 @@ namespace DDSConnector { class DdsConnector; } namespace DTC { template class GenericDTCImpl; } namespace Core { struct PartitionTime; } namespace NGL { class INGLLogger; } +namespace DataPluginBase { class Interface; } class Fetcher; #else // Forward declarations for stub types -namespace DataPluginBase { struct Interface; } +namespace DataPluginBase { class Interface; } #endif namespace LtsSession diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsCore/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsCore/CMakeLists.txt index 68276f9a7..65c2c48f4 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsCore/CMakeLists.txt +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsCore/CMakeLists.txt @@ -20,8 +20,8 @@ SET(SRCS_hdr_only ADD_LIBRARY(LtsUtilsCoreHeaderOnly INTERFACE) TARGET_INCLUDE_DIRECTORIES(LtsUtilsCoreHeaderOnly INTERFACE - ${CMAKE_CURRENT_SOURCE_DIR}/.. - ${CMAKE_CURRENT_BINARY_DIR}/.. + ${CMAKE_CURRENT_SOURCE_DIR}/../.. + ${CMAKE_CURRENT_BINARY_DIR}/../.. ) TARGET_SOURCES(LtsUtilsCoreHeaderOnly INTERFACE ${SRCS_hdr_only}) diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/pub_sub_base.cpp b/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/pub_sub_base.cpp index b26b51289..f4ca0b7c2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/pub_sub_base.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/pub_sub_base.cpp @@ -10,6 +10,6 @@ namespace DDSConnector PubSubBase::PubSubBase(const dds::domain::DomainParticipant &domainParticipant, const std::string &partition, const char *loggerName) : m_domainParticipant(domainParticipant) , m_partitions({partition}) - , m_logger(NGL::getNGLLogger(loggerName)) + , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger(loggerName)) {} } diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/DTS/generic_dts_impl.h b/qt6-after/qt6-migrated-legatus/Lts/DDS/DTS/generic_dts_impl.h index 67d6afea0..749a4bde8 100644 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/DTS/generic_dts_impl.h +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/DTS/generic_dts_impl.h @@ -71,6 +71,7 @@ template class GenericDtsImpl final : public GenericDts #include #include +#include #include namespace DDSGeneric @@ -331,6 +332,7 @@ class DynamicDataReader final std::vector m_newSamplesDuringRead; bool m_bHaveSubscriberCallback; + NGL::INGLLogger& m_logger; }; } // namespace DDSGeneric diff --git a/qt6-after/qt6-migrated-legatus/tests/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/tests/CMakeLists.txt index dc069247e..4edc6a7eb 100644 --- a/qt6-after/qt6-migrated-legatus/tests/CMakeLists.txt +++ b/qt6-after/qt6-migrated-legatus/tests/CMakeLists.txt @@ -27,15 +27,26 @@ if(BUILD_TESTING) if(MIGRATION_TEST_SOURCES) set(EXISTING_SOURCES ${MIGRATION_TEST_SOURCES}) + + # Exclude tests for non-existent or commented-out components + list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_lts_app_descriptor_editor\\.cpp") + + # Exclude Grantlee-related tests when BUILD_GRANTLEE is OFF + if(NOT BUILD_GRANTLEE) + list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_.*Grantlee.*\\.cpp") + message(STATUS "Migration tests: Grantlee support disabled (BUILD_GRANTLEE=OFF), excluded Grantlee tests") + endif() + + if(NOT EXISTING_SOURCES) + message(WARNING "No migration test sources found after filtering - skipping migration_tests target") + return() + endif() add_executable(migration_tests ${EXISTING_SOURCES}) # Enable Qt Meta-Object Compiler for tests with Q_OBJECT set_target_properties(migration_tests PROPERTIES AUTOMOC ON) - # Exclude tests for non-existent or commented-out components - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_lts_app_descriptor_editor\\.cpp") - target_compile_features(migration_tests PRIVATE cxx_std_23) target_include_directories(migration_tests PRIVATE @@ -69,19 +80,6 @@ if(BUILD_TESTING) ${CMAKE_SOURCE_DIR}/qt6-after/qt6-migrated-legatus/Lts/Common/CodeGen ) message(STATUS "Migration tests: Grantlee support enabled") - else() - # Exclude Grantlee-related tests when BUILD_GRANTLEE is OFF - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_.*Grantlee.*\\.cpp") - message(STATUS "Migration tests: Grantlee support disabled (BUILD_GRANTLEE=OFF), excluded Grantlee tests") - # Re-create executable with filtered sources - if(EXISTING_SOURCES) - set_target_properties(migration_tests PROPERTIES - SOURCES "${EXISTING_SOURCES}" - ) - else() - message(WARNING "No non-Grantlee migration tests found - skipping migration_tests target") - return() - endif() endif() # RTI libraries if BUILD_RTI is ON