Files
qt-migration-legatus/qt5-before/dlbo/Lts/Application/THP/CMakeLists.txt
T
torstenandCopilot 7173785915 Qt6 Migration: Complete migration with DDS/RTI support and build validation
Major Changes:
- Merged latest Qt5 devel content from dlbo (292 files changed, 7 new dirs)
- Consolidated forward-declarations and include folders
- Removed unneeded modules per Niklas' repo check list

Build System Fixes:
- Fixed CMake VERSION_GREATER syntax in ParticipantManagement/CMakeLists.txt
- Added VLC packages (libvlc-dev, vlc-plugin-base) to docker_build.sh
- Added PostgreSQL dev packages (libpq-dev, postgresql-server-dev-all) to Dockerfile
- Fixed locale warnings (ANSI_X3.4-1968 → C.UTF-8)
- Fixed ArcGIS SDK path warnings when BUILD_ARCGIS=OFF

Code Generation Fixes:
- Fixed IDL enum collisions (PortType→CorePortType/DdsutPortType, PdmEventType)
- Fixed Grantlee template svc_translation.cpp.grantlee:
  - Changed {{ idl_enum.name }}_def:: to {{ idl_enum.name }}::
  - Fixed .underlying() calls for C++11 scoped enums (enum class)
- Removed generated files from repo (moc_*, *_dtc.h, *_ftc.h)

Validation:
- BUILD_RTI=ON: SUCCESS
- BUILD_RTI=OFF: SUCCESS
- C++17 standard maintained for RTI 7.7 compatibility
- Ubuntu 26.04 Docker environment verified

Remaining Warnings (expected):
- BgViewer, KDChart, KDReports, Poppler-Qt6 not found (optional features)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-15 18:20:26 +00:00

128 lines
3.2 KiB
CMake

#
# THP-Viewer
#
ADD_SUBDIRECTORY(THP-Starter)
FIND_PACKAGE(VLC REQUIRED)
SET(thp_viewer_SRCS
main.cpp
thp_plugin_provider.cpp
thp_plugin_provider.h
thp_situation_filter_interface_impl.cpp
thp_situation_filter_interface_impl.h
thp_viewer.cpp
thp_viewer.h
thpwidgets/thp_audio_video_widget.cpp
thpwidgets/thp_audio_video_widget.h
thpwidgets/thp_audio_video_widget_p.h
thpwidgets/thp_building_settings.cpp
thpwidgets/thp_building_settings.h
thpwidgets/thp_building_widget.cpp
thpwidgets/thp_building_widget.h
thpwidgets/thp_html_widget.cpp
thpwidgets/thp_html_widget.h
thpwidgets/thp_pdf_widget.cpp
thpwidgets/thp_pdf_widget.h
thpwidgets/thp_situation_building_base.h
thpwidgets/thp_situation_building_base.cpp
thpwidgets/thp_situation_filter_aes.cpp
thpwidgets/thp_situation_filter_aes.h
thpwidgets/thp_situation_filter_building_components.cpp
thpwidgets/thp_situation_filter_building_components.h
thpwidgets/thp_situation_filter_collapse_expand.cpp
thpwidgets/thp_situation_filter_collapse_expand.h
thpwidgets/thp_situation_filter_symbol_appearance.cpp
thpwidgets/thp_situation_filter_symbol_appearance.h
thpwidgets/thp_situation_filter_types.cpp
thpwidgets/thp_situation_filter_types.h
thpwidgets/thp_situation_widget.cpp
thpwidgets/thp_situation_widget.h
thpwidgets/thp_zoom_slider.cpp
thpwidgets/thp_zoom_slider.h
)
NGL_WRAP_UI(thp_viewer_SRCS
thp_viewer.ui
thpwidgets/thp_audio_video_widget.ui
thpwidgets/thp_building_settings.ui
thpwidgets/thp_html_widget.ui
thpwidgets/thp_pdf_widget.ui
thpwidgets/thp_situation_building_base.ui
)
IF(WIN32)
SET(JBN ${JENKINS_BUILD_NUMBER})
IF (NOT JENKINS_BUILD_NUMBER)
SET(JBN "0")
ENDIF()
SET(THP_VERSION_INFO "${LTS_VERSION_MAJOR}, ${LTS_VERSION_MINOR}, ${JBN}, ${LTS_VERSION_PATCH}")
CONFIGURE_FILE(thp_viewer.rc.cmake ${CMAKE_CURRENT_BINARY_DIR}/thp_viewer.rc)
LIST(APPEND thp_viewer_SRCS ${CMAKE_CURRENT_BINARY_DIR}/thp_viewer.rc)
ENDIF(WIN32)
NGL_ADD_APP_ICON(thp_viewer_SRCS)
NGL_ADD_EXECUTABLE(WS thp_viewer WIN32 ${thp_viewer_SRCS})
NGL_INSTALL_TARGET(thp_viewer)
NGL_TARGET_INCLUDE_DIRECTORIES(thp_viewer
PRIVATE
${VLC_INCLUDE_DIR}
)
NGL_TARGET_COMPILE_DEFINITIONS(thp_viewer
PRIVATE
${VLC_DEFINES}
)
NGL_TARGET_LINK_LIBRARIES(thp_viewer
ArcGISQt5Hack # make sure it's loaded *before* libEsriCommonQt.so
${VLC_LIBRARIES}
Qt5::Core
Qt5::Gui
Qt5::PrintSupport
Qt5::Svg
Qt5::WebEngineCore
Qt5::WebEngineWidgets
Qt5::Widgets
Qt5::Xml
RmeLightStyleQrc
AsbData
AsbForeignDataPluginThp
BuildingViewerCommon
FltAesGuiCommon
FltAesWidget
FltBldgCmpntWidget
FltParticipantWidget
IsmDataPluginThp
LtsCoordTrans
LtsCommandLineParser
NGLLogger
nglsingleapplication
ngltools
ngltranslator
nglwidgets
PdmComboBoxGui
PpmComboBoxGui
SitmapDds
SituationReplaySqlite
svcFlmCommon
svcAesClient
svcBldClient
svcCesClient
svcGimClient
svcIsmClient
svcPpmClient
svcPdmClient
svcAlmClient
)
IF(WIN32)
# NGL_INSTALL(WS FILES autorun.inf DESTINATION bin)
# NGL_INSTALL(WS FILES readme.win32.en_US.txt DESTINATION bin)
# NGL_INSTALL(WS FILES readme.win32.de_DE.txt DESTINATION bin)
ENDIF()
NGL_INSTALL(WS FILES log4cxx_thp_viewer.props DESTINATION bin)
ADD_SUBDIRECTORY(SitMapReplayTest)