BUILD_RTI guards: svcTabCommon export header + GuezMinelayerProcessing stubs

- TrainingAreaBase/CMakeLists.txt: Wrap RTIDDSGEN with BUILD_RTI, add fallback target
- GuezMinelayerProcessing: BUILD_RTI guards for HandlerMinelayerData + stubs
- ddsfts/CMakeLists.txt: Fix INTERFACE→PUBLIC, add svcTabCommon dependency
- Add stub headers for BUILD_RTI=OFF compilation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
torstenandCopilot committed 2026-08-21 19:27:34 +02:00
1 parent 950d669538
commit 6588fc7d3f
8 files changed
+109 -39

No files matched your search

@@ -73,33 +73,54 @@ CODEGEN_IDL_SVC(SRCS_common ${xml_FILE})
# Generate tab_db_impl.cpp/.h, tab_db.h
CODEGEN_DATABASE(SRCS_common ${xml_FILE})
# Generate *.cpp/*.hpp from idl
RTIDDSGEN(SRCS_common tab_enums.idl)
RTIDDSGEN(SRCS_common tab.idl)
# Generate tab_dt[s,c]_types.h, tab_ft[s,c]_types.h
CODEGEN_TOPIC_TYPEDEFS(SRCS_common ${xml_FILE})
# generate tab_[d|f]tc.h
CODEGEN_CLIENT_TOPICS_IFC(SRCS_common ${xml_FILE})
# Generate *.cpp/*.hpp from idl (only with BUILD_RTI)
IF(BUILD_RTI)
RTIDDSGEN(SRCS_common tab_enums.idl)
RTIDDSGEN(SRCS_common tab.idl)
# Generate tab_dt[s,c]_types.h, tab_ft[s,c]_types.h
CODEGEN_TOPIC_TYPEDEFS(SRCS_common ${xml_FILE})
# generate tab_[d|f]tc.h
CODEGEN_CLIENT_TOPICS_IFC(SRCS_common ${xml_FILE})
ELSE()
# Stub files for BUILD_RTI=OFF
SET(SRCS_common ${SRCS_common}
stubs/tab_enums_stub.hpp
stubs/tab_stub.hpp
)
ENDIF()
# Create target only if component flags allow
NGL_ADD_LIBRARY2(AAR SV WS HLA svcTabCommon SHARED ${SRCS_common})
# Generate export header ALWAYS (needed for logger.h even if target not built)
# Use custom command to create minimal export header if target wasn't created
IF(NOT TARGET svcTabCommon)
# Create a dummy static library just for export header generation
ADD_LIBRARY(svcTabCommon STATIC ${SRCS_common})
ENDIF()
GENERATE_EXPORT_HEADER(svcTabCommon EXPORT_FILE_NAME "svctabcommon_export.h")
NGL_TARGET_INCLUDE_DIRECTORIES(svcTabCommon
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/../
${CMAKE_CURRENT_BINARY_DIR}/../
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/stubs
)
NGL_TARGET_LINK_LIBRARIES(svcTabCommon
PUBLIC
Qt6::Core
Qt6::Sql
NGLLogger
ngldb
svcPdmCommon
LtsUtilsCoreHeaderOnly
)
IF(BUILD_RTI)
NGL_TARGET_LINK_LIBRARIES(svcTabCommon
PRIVATE
RTI::nddscpp2
PUBLIC
Qt6::Core
Qt6::Sql
ddscore
NGLLogger
ngldb
svcPdmCommon
LtsUtilsCoreHeaderOnly
)
ENDIF(BUILD_RTI)
NGL_INSTALL_TARGET(svcTabCommon)
@@ -0,0 +1,11 @@
// Stub for tab_enums.hpp when BUILD_RTI=OFF
#pragma once
namespace TrainingAreaBase {
// Stub enums - replace with actual values as needed
enum class DataModification {
INSERT = 0,
UPDATE = 1,
DELETE = 2
};
}
@@ -0,0 +1,7 @@
// Stub for tab.hpp when BUILD_RTI=OFF
#pragma once
// Forward declarations and stubs for RTI types
namespace TrainingAreaBase {
// Add stub types as needed
}