Fix BUILD_RTI=OFF build: Guard RTI-only DDS modules

- LtsUtilsSettings: Fix export header include path (angle brackets)
- LtsWidgets: Move LtsUtilsSettings to PUBLIC link libraries
- BatteryNotification: Remove unused QDesktopWidget include
- DDS/FTC: Wrap ddsftccore library in IF(BUILD_RTI) guards
- DDS/FTS: Remove ELSE block, wrap entire library in IF(BUILD_RTI)
- DDS/DTC: Wrap entire library definition in IF(BUILD_RTI)
- DDS/DTS: Wrap entire library definition in IF(BUILD_RTI)
- DDS/DDSConnector: Wrap entire library in IF(BUILD_RTI), remove ELSE
- DDS/Routing: Wrap entire library in IF(BUILD_RTI)

All RTI Connext DDS-specific libraries (ddscore, ddsQoS, ddsgen,
ddsdtc, ddsdts, ddsfts, ddsconnector, routing_plugin) are now
properly guarded so BUILD_RTI=OFF builds can succeed.
This commit is contained in:
torsten committed 2026-08-23 01:19:06 +02:00
1 parent f6cbb9021f
commit c042faae9e
9 files changed
+48 -60

No files matched your search

@@ -1,7 +1,7 @@
#pragma once
#include "ltsutilssettings_export.h"
#include <ltsutilssettings_export.h>
#include <QMap>
#include <QObject>
@@ -162,22 +162,22 @@ NGL_TARGET_LINK_LIBRARIES(LtsWidgets
ngltranslator
TabBarTabStyle
LtsSessionData
LtsUtilsSettings
NGLLogger
PUBLIC
LtsUtilsCore
LtsUtilsSettings
Qt6::Core
Qt6::Widgets
Qt6::Gui
)
IF(BUILD_RTI)
# Include directories needed for all builds (not just BUILD_RTI)
NGL_TARGET_INCLUDE_DIRECTORIES(LtsWidgets
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/../
)
IF(BUILD_RTI)
NGL_INSTALL_TARGET(LtsWidgets)
ENDIF()
@@ -4,6 +4,8 @@
# $Author$
#
IF(BUILD_RTI)
SET(SRCS
dds_connector.cpp
dds_connector.h
@@ -21,29 +23,18 @@ NGL_TARGET_INCLUDE_DIRECTORIES(
INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}/../../
)
IF(BUILD_RTI)
NGL_TARGET_LINK_LIBRARIES(ddsconnector
PRIVATE
NGLLogger
PUBLIC
RTI::nddsc
RTI::nddscore
RTI::nddscpp2
ddsQoS
ddsdtc
ddsdts
ProjectConfig
Qt6::Core
)
ELSE()
NGL_TARGET_LINK_LIBRARIES(ddsconnector
PRIVATE
NGLLogger
PUBLIC
ddsQoS
ddsdtc
ddsdts
ProjectConfig
Qt6::Core
)
ENDIF()
NGL_TARGET_LINK_LIBRARIES(ddsconnector
PRIVATE
NGLLogger
PUBLIC
RTI::nddsc
RTI::nddscore
RTI::nddscpp2
ddsQoS
ddsdtc
ddsdts
ProjectConfig
Qt6::Core
)
ENDIF(BUILD_RTI)
@@ -4,6 +4,8 @@
# $Author$
#
IF(BUILD_RTI)
ADD_LIBRARY(ddsdtc INTERFACE)
TARGET_INCLUDE_DIRECTORIES(ddsdtc
INTERFACE
@@ -21,3 +23,5 @@ SET(SRCS
${CMAKE_CURRENT_SOURCE_DIR}/generic_dtc_impl.h
)
TARGET_SOURCES(ddsdtc INTERFACE ${SRCS})
ENDIF(BUILD_RTI)
@@ -4,6 +4,8 @@
# $Author$
#
IF(BUILD_RTI)
ADD_LIBRARY(ddsdts INTERFACE)
TARGET_INCLUDE_DIRECTORIES(ddsdts
INTERFACE
@@ -20,3 +22,5 @@ SET(SRCS
${CMAKE_CURRENT_SOURCE_DIR}/generic_dts_impl.h
)
TARGET_SOURCES(ddsdts INTERFACE ${SRCS})
ENDIF(BUILD_RTI)
@@ -11,20 +11,6 @@ TARGET_INCLUDE_DIRECTORIES(ddsftc
INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}/../../
)
IF(BUILD_RTI)
TARGET_LINK_LIBRARIES(ddsftc
INTERFACE
Qt6::Core
ddsfts_connext
ddscore # due to the usage of Core::FtReplyState inside generic_ftc_impl.h, only on core.hpp - fixme :/
ddsgen
ddsQoS
RTI::nddsc
RTI::nddscpp2
ddsftccore
LtsUtilsCoreHeaderOnly
)
ELSE()
TARGET_LINK_LIBRARIES(ddsftc
INTERFACE
Qt6::Core
@@ -34,6 +20,13 @@ TARGET_LINK_LIBRARIES(ddsftc
ddsftccore
LtsUtilsCoreHeaderOnly
)
IF(BUILD_RTI)
TARGET_LINK_LIBRARIES(ddsftc
INTERFACE
ddsfts_connext
RTI::nddsc
RTI::nddscpp2
)
ENDIF()
SET(SRCS
${CMAKE_CURRENT_SOURCE_DIR}/generic_ftc.h
@@ -47,16 +40,19 @@ TARGET_SOURCES(ddsftc INTERFACE ${SRCS})
# ddsftccore
IF(BUILD_RTI)
NGL_ADD_LIBRARY2(WS SV HLA ddsftccore SHARED abstract_requester.h abstract_requester.cpp)
NGL_TARGET_INCLUDE_DIRECTORIES(ddsftccore
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/../../ # 'DDS/FTC/...' reads better than only FTC
)
IF(BUILD_RTI)
NGL_TARGET_LINK_LIBRARIES(ddsftccore
PUBLIC
Qt6::Core
ddscore
ddsfts_connext
RTI::nddsc
RTI::nddscpp2
)
ENDIF(BUILD_RTI)
NGL_INSTALL_TARGET(ddsftccore)
ENDIF(BUILD_RTI)
@@ -5,6 +5,7 @@
#
IF(BUILD_RTI)
ADD_LIBRARY(ddsfts_connext INTERFACE)
TARGET_INCLUDE_DIRECTORIES(ddsfts_connext
INTERFACE
@@ -18,7 +19,6 @@ SET(SRCS
${CMAKE_CURRENT_SOURCE_DIR}/connext.h
)
TARGET_SOURCES(ddsfts_connext INTERFACE ${SRCS})
ENDIF()
SET(SRCS
generic_fts.h ;# Interface
@@ -33,7 +33,6 @@ NGL_TARGET_INCLUDE_DIRECTORIES(ddsfts
${CMAKE_CURRENT_SOURCE_DIR}/../../
${CMAKE_CURRENT_BINARY_DIR}/../../Proxies/TrainingAreaBase
)
IF(BUILD_RTI)
NGL_TARGET_LINK_LIBRARIES(ddsfts
PRIVATE
RTI::nddscore
@@ -47,14 +46,5 @@ NGL_TARGET_LINK_LIBRARIES(ddsfts
ddsgen
ddsfts_connext
)
ELSE()
NGL_TARGET_LINK_LIBRARIES(ddsfts
PRIVATE
ProjectConfig
ddsQoS
svcTabCommon
PUBLIC
Qt6::Core
ddsgen
)
ENDIF()
ENDIF(BUILD_RTI)
@@ -4,6 +4,8 @@
# $Author$
#
IF(BUILD_RTI)
ADD_INTERFACE_LIBRARY(
routing_plugin
${CMAKE_CURRENT_SOURCE_DIR}/routing_plugin.h
@@ -12,3 +14,5 @@ ADD_INTERFACE_LIBRARY(
ddsQoS
NGLLogger
)
ENDIF(BUILD_RTI)
@@ -12,7 +12,6 @@
#include <QCloseEvent>
#include <QApplication>
#include <QDesktopWidget>
#include <QScreen>
#include <QDebug>