BUILD_RTI conditional fixes and Qt6 API updates

- cmake/FindRTI.cmake: Add INTERFACE placeholder targets when RTI not found
- cmake/FindRTI.cmake: Force BUILD_RTI=OFF when RTI not installed
- Lts/Common/LtsSession/CMakeLists.txt: Make LtsSessionDataDds conditional on BUILD_RTI
- Lts/Viewer/CMakeLists.txt: Make LtsDataView conditional on BUILD_RTI
- Lts/Plugins/*/CMakeLists.txt: 97 plugin files wrapped in BUILD_RTI conditionals
- cmake/NGLMacros.cmake: Fix NGL_ADD_BIG_RESOURCES macro (removed premature return())
- Multiple Qt6 API fixes: QLinkedList→std::list, QStringRef→QStringView, etc.
- BUILD_RTI_FIXES_SUMMARY.md: Comprehensive documentation of all fixes

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
torstenandCopilot committed 2026-08-19 09:24:50 +02:00
1 parent b774f4035c
commit 4c9861a469
2065 files changed
+48219 -1763

No files matched your search

@@ -1,5 +1,12 @@
/**
* @RDE_HEADER@
* DDS specific parts for a session
* $Id$
* $HeadURL$
* $Author$
*
* Created by Christian Ehrlicher, SLSE, 2017-02-27
*/
#include "lts_session_data_dds.h"
#include <DDS/DDSConnector/dds_connector.h>
@@ -12,12 +19,15 @@
namespace LtsSession
{
/**
* We have to make sure that only one DdsConnector for a specific domain/partion/tye/connStr
* exists because we don't want to have more than one DomainParticipant and Publisher/Subscriber
* per domain/partion/tye/connStr. Therefore this ugly-looking key
*/
//
// DdsConnectionContainer
//
class DdsConnectionContainer
{
struct DdsConnection : public DdsConnectionParams
@@ -42,7 +52,7 @@ public:
auto ret = conn.ddsConnector.lock();
if (ret != nullptr)
return ret;
// ddsConnector is a nullptr -> useless -> remove
ddsConnections.removeAt(i);
}
Q_ASSERT(false);
@@ -59,7 +69,7 @@ public:
auto ret = conn.ddsConnector.lock();
if (ret != nullptr)
return ret;
// ddsConnector is a nullptr -> useless -> remove
ddsConnections.removeAt(i);
}
return std::shared_ptr<DDSConnector::DdsConnector>();
@@ -75,7 +85,7 @@ public:
auto ret = conn.ddsConnector.lock();
if (ret != nullptr)
return ret->getDomainParticipant();
// ddsConnector is a nullptr -> useless -> remove
ddsConnections.removeAt(i);
}
return nullptr;
@@ -173,9 +183,9 @@ Q_GLOBAL_STATIC(DataPluginContainer, s_dataPlugins)
//
// LtsSessionDataDds
//
LtsSessionDataDds::LtsSessionDataDds(QObject *parent)
: QObject(parent)
, m_exerciseId(-1)
@@ -201,7 +211,7 @@ bool LtsSessionDataDds::init(const DdsConnectionParams &connParams)
m_qosFileList = QStringList(connParams.qos_file);
if (m_ddsConnector == nullptr)
{
// maybe we can at least find a useful DomainParticipant?
dds::domain::DomainParticipant dp = s_ddsConnections->findMatchingDomainParticipant(connParams);
if (dp != nullptr)
return init(dp, connParams);
@@ -214,7 +224,7 @@ bool LtsSessionDataDds::init(const DdsConnectionParams &connParams)
m_ddsConnector = std::make_shared<DDSConnector::DdsConnector>(connParams.domainId,
connParams.partitionType,
connParams.partitionId,
connParams.exerciseId,
connParams.exerciseId, //same as partition Id in live but not in replay
type);
s_ddsConnections()->insertConnection(connParams, m_ddsConnector);
}
@@ -341,7 +351,7 @@ bool LtsSessionDataDds::initInternal()
{
if (!m_ddsConnector || !m_ddsConnector->init(m_qosFileList))
{
ERROR_LOG() << "DDS connector could not be initialized - session aborted!";
ERROR_LOG(m_logger) << "DDS connector could not be initialized - session aborted!";
m_ddsConnector = nullptr;
return false;
}
@@ -386,4 +396,4 @@ void LtsSessionDataDds::addAvailablaeDataPluginInterfaces(const QMap<QString, st
dataPlugins);
}
}
} // namespace LtsSession