Complete Qt6 migration: full clean build green across groups G1-G12 incl. runtime plugin set

new_docker_build.sh gains Group 12 (212 GUI/Data plugins); fixes LtsUtilsGuiDds visibility (LTO-stripped exports), LtsProjectionWorkstation unity name shadow, 6 unity-off dirs (dup file-scope statics, ddsftc INTERFACE sources) and reconfigures BUILD_FILTERMANAGEMENT/BUILD_PLUGINS_SERVICEMONITOR=ON
This commit is contained in:
berrux-dev committed 2026-10-20 09:36:57 +02:00
1 parent 2b957d1edb
commit 598fc2560e
1718 files changed
+126739 -18495

No files matched your search

@@ -51,8 +51,27 @@ ADD_LIBRARY(TopicReplayInterface SHARED
${CMAKE_CURRENT_SOURCE_DIR}/topic_replay_interface.h
${CMAKE_CURRENT_SOURCE_DIR}/topic_replay_interface.cpp
)
TARGET_INCLUDE_DIRECTORIES(TopicReplayInterface PUBLIC
TARGET_INCLUDE_DIRECTORIES(TopicReplayInterface PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/..
${CMAKE_BINARY_DIR}/Lts/Common/TopicEditorBase # topiceditorbase_export.h
)
TARGET_LINK_LIBRARIES(TopicReplayInterface PUBLIC Qt6::Core TopicEditorBase)
# These interface base classes (e.g. DataPluginBase::Plugin) are Q_OBJECT classes. The top-level
# CMAKE_CXX_VISIBILITY_PRESET hidden compiles their Q_OBJECT meta symbols (staticMetaObject/vtable/
# qt_metacall/typeinfo) as GLOBAL HIDDEN, so they are not exported from the .so. A cross-DSO
# subclass (e.g. AsbDataPlugin) then fails with "undefined reference to ...::staticMetaObject".
# Compile these interface libs with default visibility so the meta symbols are exported to consumers
# (the legacy build, without LTO, exported them). This only widens the export surface of these tiny
# interface libs; it changes no runtime behaviour.
set_target_properties(
DataPluginInterface
GuiPluginInterface
ProjectPluginInterface
StylePluginInterface
RecordReplayPlugin
TopicReplayInterface
PROPERTIES
CXX_VISIBILITY_PRESET default
CXX_VISIBILITY_INLINES_HIDDEN OFF
)
@@ -132,12 +132,12 @@ class Interface
protected:
LtsSession::LtsSession* m_session;
NGL::INGLLogger& m_logger;
private:
QFlags<LtsAppDescriptor::PluginInfo::Flag> m_flags;
QStringList m_options;
LtsAppDescriptor::App m_appId;
NGL::INGLLogger& m_logger;
};
} // namespace GuiPluginBase