BUILD_RTI=ON: Fix DDS header includes and logger initialization

- dynamic_data_reader.h: Add #include <rti/core/xtypes/DynamicDataImpl.hpp>
  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>
This commit is contained in:
torstenandCopilot committed 2026-08-23 21:21:10 +02:00
1 parent 7a6be7474e
commit d7c8c9e6bd
6 files changed
+22 -20

No files matched your search

@@ -10,6 +10,7 @@
#include <dds/sub/LoanedSamples.hpp>
#include <dds/sub/SampleInfo.hpp>
#include <dds/topic/find.hpp>
#include <rti/core/xtypes/DynamicDataImpl.hpp>
#include <functional>
namespace DDSGeneric
@@ -331,6 +332,7 @@ class DynamicDataReader final
std::vector<SampleStruct> m_newSamplesDuringRead;
bool m_bHaveSubscriberCallback;
NGL::INGLLogger& m_logger;
};
} // namespace DDSGeneric