Remove dead CMake configuration from the release validation scope

- Top-level CMakeLists.txt: drop RTI/Connext DDS config and placeholder targets,
  MIGRATE_MODULE guarded-subdir machinery (now unconditional add_subdirectory),
  BUILD_QAV, BUILD_PLUGINS_*, KDReports stub, ArcGIS option and FindRTI placeholder loop
- Lts/CMakeLists.txt: release scope now unconditional (Common + Proxies/TrainingAreaBase),
  codegen/DDS/test/docs blocks removed
- Lts/Common: drop DDS/RTI-gated plugin and utils test blocks
- Lts/Proxies/TrainingAreaBase: remove RTI codegen, svcTabClient/svcTabServer, RTI plugins,
  sTAB; keep stub-only svcTabCommon + tabTelegrams + tabPluginInterface
- TetraIF/PrtCnv: remove out-of-scope TetraTestServer/LastTest subdirs
- Z/src/nglcompression: remove nglcomp_test (pre-existing Qt6 failure, no longer registered)
- Delete 16 unused cmake/ helper modules and the tests/ scaffolding dir
- new_docker_build.sh: drop BUILD_ARCGIS and nglcomp_test from the release build
- README: update ctest baseline to 7/7 and remove license/exception mentions
This commit is contained in:
berrux-dev committed 2026-10-14 18:39:18 +02:00
1 parent 6e7b09cf6f
commit 8976b5aedb
111 files changed
+62 -3761

No files matched your search

@@ -16,9 +16,6 @@ else()
endif()
INCLUDE(MacroRTIDDSGen)
INCLUDE(MacroCodeGenIdl)
ADD_SUBDIRECTORY(Plugins)
SET(xml_FILE tab_service.xml)
@@ -70,28 +67,13 @@ SET(SRCS_common
tab_export.h
)
IF(BUILD_RTI)
# Generate tab_enums.idl / tab.idl
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 (only with BUILD_RTI)
RTIDDSGEN(SRCS_common tab_enums.idl)
# tab.idl includes pdm.idl, so add explicit dependency on pdm.idl generation
RTIDDSGEN(SRCS_common tab.idl DEPENDS ${CMAKE_BINARY_DIR}/Lts/Services/ProjectDataManagement/pdm.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 - NO code generation
LIST(APPEND SRCS_common
stubs/tab_enums_stub.hpp
stubs/tab_stub.hpp
stubs/tab_db_stub.hpp
stubs/tab_topic_type_plugin_stub.cpp
)
ENDIF()
# Stub files (no RTI code generation in the release scope)
LIST(APPEND SRCS_common
stubs/tab_enums_stub.hpp
stubs/tab_stub.hpp
stubs/tab_db_stub.hpp
stubs/tab_topic_type_plugin_stub.cpp
)
# Create target only if component flags allow
NGL_ADD_LIBRARY2(AAR SV WS HLA svcTabCommon SHARED ${SRCS_common})
@@ -121,220 +103,8 @@ NGL_TARGET_LINK_LIBRARIES(svcTabCommon
$<IF:$<TARGET_EXISTS:svcPdmCommon>,svcPdmCommon,>
LtsUtilsCoreHeaderOnly
)
IF(BUILD_RTI)
NGL_TARGET_LINK_LIBRARIES(svcTabCommon
PRIVATE
RTI::nddscpp2
PUBLIC
ddscore
)
ENDIF(BUILD_RTI)
NGL_INSTALL_TARGET(svcTabCommon)
#
# --- Library svcTabClient --------------------------------------------------------------------------------
#
# Skip for release builds - DDS-dependent service library
IF(NOT RELEASE_BUILD)
SET(SRCS_client
tab_export.h
)
IF(BUILD_RTI)
# generate tab_[d|f]tc_impl.[cpp|h]
CODEGEN_CLIENT_TOPICS_IMPL(SRCS_client ${xml_FILE})
ENDIF()
NGL_ADD_LIBRARY2(AAR SV WS HLA svcTabClient SHARED ${SRCS_client})
# NGL_ADD_LIBRARY2 (unlike NGL_ADD_LIBRARY) does not define the
# MAKE_<SYMBOL>_LIB compile guard, but the generated tab_[d|f]tc_impl.h
# headers require MAKE_SVCTABCLIENT_LIB — same situation as
# svcCoreClient/ddscore, which define their guards explicitly.
TARGET_COMPILE_DEFINITIONS(svcTabClient PRIVATE MAKE_SVCTABCLIENT_LIB)
NGL_TARGET_INCLUDE_DIRECTORIES(svcTabClient
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/../
${CMAKE_CURRENT_BINARY_DIR}/../
)
IF(BUILD_RTI)
NGL_TARGET_LINK_LIBRARIES(svcTabClient
PRIVATE
RTI::nddscpp2
ddsconnector
PUBLIC
svcTabCommon
ddsftc
)
ENDIF(BUILD_RTI)
NGL_INSTALL_TARGET(svcTabClient)
ENDIF() # NOT RELEASE_BUILD
#
# --- Library svcTabServer --------------------------------------------------------------------------------
#
# Skip for release builds - DDS-dependent service library
IF(NOT RELEASE_BUILD)
SET(SRCS_server
tx_mixin.cpp
tx_mixin.h
)
IF(BUILD_RTI)
# generate tab_[d|f]ts.h, tab_[d|f]ts_impl.[cpp|h]
CODEGEN_SERVER_TOPICS(SRCS_server ${xml_FILE})
ENDIF()
NGL_ADD_LIBRARY2(AAR HLA SV svcTabServer SHARED ${SRCS_server}) # NGL_ADD_LIBRARY2 won't work here - no time for investigations
# Generated tab_[d|f]ts_impl.h require MAKE_SVCTABSERVER_LIB (see svcTabClient above).
TARGET_COMPILE_DEFINITIONS(svcTabServer PRIVATE MAKE_SVCTABSERVER_LIB)
if(BUILD_SV OR BUILD_HLA)
GENERATE_EXPORT_HEADER(svcTabServer) # FIXME: quick workaround
endif()
NGL_TARGET_INCLUDE_DIRECTORIES(svcTabServer
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/../
${CMAKE_CURRENT_BINARY_DIR}/../
)
NGL_TARGET_LINK_LIBRARIES(svcTabServer
PUBLIC
svcTabCommon
ngldb
${_QT_CORE_TARGET}
$<IF:$<AND:$<BOOL:${QT6_GUI_AVAILABLE}>,$<TARGET_EXISTS:Qt6::Gui>>,Qt6::Gui,>
${_QT_NETWORK_TARGET}
)
IF(BUILD_RTI)
NGL_TARGET_LINK_LIBRARIES(svcTabServer
PRIVATE
RTI::nddscpp2
ddsconnector
ddsfts
)
ENDIF(BUILD_RTI)
NGL_INSTALL_TARGET(svcTabServer)
ENDIF() # NOT RELEASE_BUILD
#
# --- Topic Type Plugin --------------------------------------------------------------
#
IF(BUILD_RTI)
CREATE_TOPIC_TYPE_PLUGIN(${xml_FILE})
ENDIF()
#
# --- RecordReplayPlugin --------------------------------------------------------------
#
IF(BUILD_RTI)
CREATE_RECORD_REPLAY_PLUGIN_SHARED(${xml_FILE})
IF (TARGET tabRecordReplayPlugin)
TARGET_SOURCES(tabRecordReplayPlugin
PRIVATE
tab_record_replay_plugin_custom.cpp
tab_record_replay_plugin_custom.h
)
ENDIF()
ENDIF()
#
# --- Executable svcTrainingAreaBase (sTAB) -------------------------------------------------
#
# Skip for release builds - DDS-dependent executable
IF(NOT RELEASE_BUILD)
SET(SRCS_exe
dds_handler.cpp
dds_handler.h
exm_handler.cpp
exm_handler.h
ism_handler.cpp
ism_handler.h
main.cpp
main_handler.cpp
main_handler.h
pdm_handler.cpp
pdm_handler.h
ppm_handler.cpp
ppm_handler.h
position_handler.cpp
position_handler.h
recv_from_dds_aes.cpp
recv_from_dds_aes.h
recv_from_dds_fts.cpp
recv_from_dds_fts.h
recv_from_tab.h
send_to_dds.cpp
send_to_dds.h
send_to_tab.h
settings.cpp
settings.h
tab_export.h
tab_plugin_interface.h
WebSocketInterface/data_manager.cpp
WebSocketInterface/data_manager.h
WebSocketInterface/json_keys.h
WebSocketInterface/websocket_interface_handler.cpp
WebSocketInterface/websocket_interface_handler.h
WebSocketInterface/Messages/client_message.cpp
WebSocketInterface/Messages/client_message.h
WebSocketInterface/Messages/reply_message.cpp
WebSocketInterface/Messages/reply_message.h
# tx_mixin.cpp
# tx_mixin.h
log4cxx_tab.props
${xml_FILE}
)
IF(BUILD_RTI)
# Generate tab.sql, tab.xml
CODEGEN_SQL(SRCS_exe ${xml_FILE})
ENDIF()
NGL_ADD_SVC_ICON(SRCS_exe)
NGL_ADD_EXECUTABLE(AAR SV svcTrainingAreaBase ${SRCS_exe})
NGL_TARGET_LINK_LIBRARIES(svcTrainingAreaBase
Qt6::Core
Qt6::Network
LtsCoordTrans
LtsWebSocketServer
LtsCommandLineParser
LtsPluginLoader
LtsUtilsCoreHeaderOnly
LtsUtilsCore
svcTabCommon
svcTabServer
# main_handler.cpp includes the generated <TrainingAreaBase/tab_record_replay_plugin.h>
# and directly instantiates TrainingAreaBase::RecordReplayPluginCustom (whose methods
# live in the plugin .so). Linking the plugin target (rather than relying on a full
# `make all` having generated the header first) makes this a proper build dependency:
# the plugin's codegen runs before the exe compiles (so the generated header exists),
# the plugin's PUBLIC build-tree include dir is inherited (so the include resolves),
# and the plugin .so is linked (so the RecordReplayPluginCustom symbols resolve).
$<IF:$<TARGET_EXISTS:tabRecordReplayPlugin>,tabRecordReplayPlugin,>
svcNomClient
svcAesClient
svcOpmClient
svcCoreClient
svcAsmClient
svcExmClient
$<IF:$<TARGET_EXISTS:svcIsmClient>,svcIsmClient,>
svcPdmClient
svcPpmClient
$<IF:$<TARGET_EXISTS:ddsconnector>,ddsconnector,>
nglsettings
ProjectConfig
NGLLogger
nglcoreapplication
ngltools
tabTelegrams
)
NGL_INSTALL_TARGET(svcTrainingAreaBase)
NGL_INSTALL(AAR SV FILES log4cxx_tab.props DESTINATION bin)
NGL_ADD_TARGET_LINK(svcTrainingAreaBase sTAB)
ENDIF() # NOT RELEASE_BUILD
# clientPluginInterface
ADD_LIBRARY(tabPluginInterface INTERFACE)
TARGET_SOURCES(tabPluginInterface INTERFACE
@@ -4,43 +4,5 @@
# $Author$
#
IF (NOT BUILD_RPM AND NOT RELEASE_BUILD)
ADD_SUBDIRECTORY(DebugJsonDir)
ENDIF()
#ADD_SUBDIRECTORY(Spu)
IF (BUILD_WLS AND NOT RELEASE_BUILD)
ADD_SUBDIRECTORY(WlsTetra)
ELSE()
ADD_SUBDIRECTORY(TetraJson)
ENDIF()
IF ("${_pname}" STREQUAL "commaster")
ADD_SUBDIRECTORY(Nmea)
ENDIF()
IF (BUILD_SV AND DEFINED _pname)
IF ("${_pname}" STREQUAL "guez")
IF(NOT RELEASE_BUILD)
ADD_SUBDIRECTORY(HlaJson)
ENDIF()
ENDIF()
ENDIF()
IF (BUILD_SVC_HLA)
IF ("${_pname}" STREQUAL "ahtc")
ADD_SUBDIRECTORY(ApacheHlaJson)
ENDIF()
ENDIF()
# AdlerJson depends on svcPdmClient (ProjectDataManagement) which is not in release scope
IF(NOT RELEASE_BUILD)
ADD_SUBDIRECTORY(AdlerJson)
ENDIF()
OPTION(BUILD_UAS_PROXY "Build the UAS TAB Plugin (default: OFF) [needs BUILD_SV = ON and UNIX-like OS]" OFF) # TODO: use 'pname = guez' if done
if (BUILD_SV AND BUILD_UAS_PROXY AND NOT WIN32 AND NOT RELEASE_BUILD)
add_subdirectory(UAS)
endif()
# Release scope: only the TetraJson plugin is in the tree (GUEZ project, no RTI)
ADD_SUBDIRECTORY(TetraJson)