From 35bfe2be39cd219e7f435a0074c377dc4bbfde72 Mon Sep 17 00:00:00 2001 From: berrux_dev Date: Fri, 18 Sep 2026 17:45:16 +0200 Subject: [PATCH] Defines MAKE_SVCCORECLIENT_LIB guard for svcCoreClient --- .../Lts/DDS/Core/CMakeLists.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/Core/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/Lts/DDS/Core/CMakeLists.txt index 3b4972679..a695d9b9f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/Core/CMakeLists.txt +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/Core/CMakeLists.txt @@ -9,6 +9,14 @@ IF(BUILD_RTI) INCLUDE(MacroRTIDDSGen) INCLUDE(MacroCodeGenIdl) +# Resolve includes (generic_data_reader.h, generic_dtc.h, ...) to the +# real headers under Lts/DDS/ instead of the migration stub tree in include/. +# The generated core_dtc_impl.h relies on GenericDtc::TopicType, which only the +# real DDSGeneric::GenericDataReader base provides — the stub variant lacks it. +# Same fix the migrated service CMakeLists (FileManagement/FilterManagement) +# already enforce; svcFileManagement links svcCoreClient, so Core must build. +include_directories(BEFORE ${CMAKE_SOURCE_DIR}/Lts) + SET(xml_FILE core.xml) # @@ -111,6 +119,11 @@ SET(SRCS_client CODEGEN_CLIENT_TOPICS_IMPL(SRCS_client ${xml_FILE}) NGL_ADD_LIBRARY2(AAR SV WS HLA svcCoreClient SHARED ${SRCS_client}) +# NGL_ADD_LIBRARY2 (unlike NGL_ADD_LIBRARY) does not define the +# MAKE__LIB compile guard, but the generated core_[d|f]tc_impl.h +# headers require MAKE_SVCCORECLIENT_LIB — same situation as ddscore above, +# which defines MAKE_DDSCORE_LIB explicitly for the same reason. +TARGET_COMPILE_DEFINITIONS(svcCoreClient PRIVATE MAKE_SVCCORECLIENT_LIB) NGL_TARGET_INCLUDE_DIRECTORIES(svcCoreClient PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../