# # THP-Viewer # # Make ${Qt6_Gui} optional if(QT6_GUI_AVAILABLE AND TARGET Qt6::Gui) set(Qt6_Gui ${Qt6_Gui}) else() set(Qt6_Gui "") endif() # Make ${Qt6_Widgets} optional if(QT6_GUI_AVAILABLE AND TARGET Qt6::Widgets) set(Qt6_Widgets ${Qt6_Widgets}) else() set(Qt6_Widgets "") endif() ADD_SUBDIRECTORY(THP-Starter) # Make VLC optional - only try to find it if user explicitly enables it OPTION(WITH_VLC "Enable VLC support" OFF) IF(WITH_VLC) FIND_PACKAGE(VLC) IF(VLC_FOUND) SET(THP_HAS_VLC TRUE) SET(THP_VLC_SOURCES thpwidgets/thp_audio_video_widget.cpp thpwidgets/thp_audio_video_widget.h thpwidgets/thp_audio_video_widget_p.h thpwidgets/thp_audio_video_widget.ui ) ELSE() MESSAGE(WARNING "VLC requested but not found - building without VLC support") SET(THP_HAS_VLC FALSE) SET(THP_VLC_SOURCES "") ENDIF() ELSE() SET(THP_HAS_VLC FALSE) SET(THP_VLC_SOURCES "") ENDIF() 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 ${THP_VLC_SOURCES} 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 ${THP_VLC_SOURCES} 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) IF(VLC_FOUND) NGL_TARGET_INCLUDE_DIRECTORIES(thp_viewer PRIVATE ${VLC_INCLUDE_DIR} ) NGL_TARGET_COMPILE_DEFINITIONS(thp_viewer PRIVATE ) ENDIF() if(QT6_GUI_AVAILABLE) NGL_TARGET_LINK_LIBRARIES(thp_viewer ArcGISQt5Hack # make sure it's loaded *before* libEsriCommonQt.so Qt6::Core ${Qt6_Gui} Qt6::PrintSupport Qt6::Svg Qt6::WebEngineCore Qt6::WebEngineWidgets ${Qt6_Widgets} Qt6::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 ) endif() IF(VLC_FOUND) NGL_TARGET_LINK_LIBRARIES(thp_viewer $<$:PkgConfig::VLC> ) ENDIF() 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)