Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Plugins/BuildingViewer/Common/CMakeLists.txt
T
berrux-dev d327c66c46 Close bld/OSG floor: OSG 3.4.1 from source + port osgQt to Qt6 + wire BgViewer dtEntity
Migrate BuildingViewer (16 files: DDS members, m_logger inits, QOpenGLWidget); gui:3:bld.info + gui:3:bdv now load
2026-10-24 19:32:52 +02:00

183 lines
4.9 KiB
CMake
Executable File

#
# $Id$
# $HeadURL$
# $Author$
#
# Created by Mike Wille, SLSE, 2017-08-17
#
# 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()
FIND_PACKAGE(BgViewer)
IF (BgViewer_FOUND)
SET(BgViewer_FOUND TRUE)
ELSE()
MESSAGE(WARNING "BgViewer not found; skipping BuildingViewerCommon")
RETURN()
ENDIF()
SET(_ver 3.4.1)
IF (WIN32)
SET(_ver 3.4.0)
ENDIF()
FIND_PACKAGE(OpenSceneGraph ${_ver} REQUIRED osgViewer osgDB osgQt osgText osgUtil)
FIND_PACKAGE(OpenGL REQUIRED)
SET(BuildingViewerCommon_SRCS
bdv_bgviewer_widget_container.cpp
bdv_bgviewer_widget_container.h
bdv_communication_interface_internal.cpp
bdv_communication_interface_internal.h
bdv_controller.cpp
bdv_controller.h
bdv_dds_controller.cpp
bdv_dds_controller.h
bdv_helper.cpp
bdv_helper.h
bdv_plugin_provider.h
logger.cpp
logger.h
BgViewer/viewerCtrl/buildingmanager.cpp
BgViewer/viewerCtrl/buildingmanager.h
BgViewer/viewerCtrl/buildingmanager.h
BgViewer/viewerCtrl/cameraviewposition.h
BgViewer/viewerCtrl/iconcomponent.cpp
BgViewer/viewerCtrl/iconcomponent.h
BgViewer/viewerCtrl/mainloop.cpp
BgViewer/viewerCtrl/mainloop.h
BgViewer/viewerCtrl/messages.cpp
BgViewer/viewerCtrl/messages.h
BgViewer/viewerCtrl/modelsplittercomponent.cpp
BgViewer/viewerCtrl/modelsplittercomponent.h
BgViewer/viewerCtrl/motionmodel.cpp
BgViewer/viewerCtrl/motionmodel.h
BgViewer/viewerCtrl/orthomotionmodel.cpp
BgViewer/viewerCtrl/orthomotionmodel.h
BgViewer/viewerCtrl/playercomponent.cpp
BgViewer/viewerCtrl/playercomponent.h
BgViewer/viewerCtrl/roomdestructioncomponent.cpp
BgViewer/viewerCtrl/roomdestructioncomponent.h
BgViewer/viewerCtrl/textcomponent.cpp
BgViewer/viewerCtrl/textcomponent.h
BgViewer/viewerCtrl/viewerinterface.h
BgViewer/viewerCtrl/viewerinterfaceimpl.cpp
BgViewer/viewerCtrl/viewerinterfaceimpl.h
BgViewer/viewerCtrl/viewermainwindow.cpp
BgViewer/viewerCtrl/viewermainwindow.h
BgViewer/viewerCtrl/viewwidget.cpp
BgViewer/viewerCtrl/viewwidget.h
BgViewer/viewerCtrl/viewwidgetcontainer.cpp
BgViewer/viewerCtrl/viewwidgetcontainer.h
BgViewer/viewerCtrl/viewwidgetstate.h
BgViewer/viewerCtrl/visitors.cpp
BgViewer/viewerCtrl/visitors.h
)
IF (NOT WIN32)
FIND_PACKAGE(PkgConfig)
pkg_check_modules(GSTREAMER REQUIRED gstreamer-1.0)
pkg_check_modules(GSTREAMER_APP REQUIRED gstreamer-app-1.0)
LIST(APPEND BuildingViewerCommon_SRCS
BgViewer/viewerCtrl/videocomponent.cpp
BgViewer/viewerCtrl/videocomponent.h
BgViewer/viewerCtrl/windowcapturecallback.cpp
BgViewer/viewerCtrl/windowcapturecallback.h
)
ENDIF()
NGL_WRAP_UI(BuildingViewerCommon_SRCS
BgViewer/viewerCtrl/viewwidget.ui
)
INSTALL_SHARED_FILES(BuildingViewerCommon_SRCS
FILES shaders/roomdestruction.frag shaders/roomdestruction.vert
DESTINATION BuildingViewer/shaders
WS
)
NGL_ADD_LIBRARY2(WS BuildingViewerCommon SHARED ${BuildingViewerCommon_SRCS})
if(QT6_GUI_AVAILABLE)
NGL_TARGET_LINK_LIBRARIES(BuildingViewerCommon
PRIVATE
Qt6::OpenGL
Qt6::OpenGLWidgets
${OPENGL_LIBRARIES}
${BGVIEWER_DTENTITYOSG_LIBRARY}
${BGVIEWER_DTENTITY_LIBRARY}
${OPENTHREADS_LIBRARIES} # FIND_PACKAGE(OpenSceneGraph)
${OPENSCENEGRAPH_LIBRARIES} # FIND_PACKAGE(OpenSceneGraph)
)
endif()
NGL_TARGET_INCLUDE_DIRECTORIES(BuildingViewerCommon
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/BgViewer/dtEntity/ext/RapidXML
${CMAKE_CURRENT_SOURCE_DIR}/BgViewer/viewerCtrl
${CMAKE_CURRENT_SOURCE_DIR}/../share
${OSG_INCLUDE_DIR}
${BGVIEWER_INCLUDE_DIR}
)
IF (NOT WIN32)
NGL_SET_TARGET_PROPERTIES(BuildingViewerCommon PROPERTIES DEFINE_SYMBOL BUILD_WITH_GSTREAMER)
NGL_TARGET_LINK_LIBRARIES(BuildingViewerCommon
PRIVATE
${GSTREAMER_LIBRARIES}
${GSTREAMER_APP_LIBRARIES}
)
NGL_TARGET_INCLUDE_DIRECTORIES(BuildingViewerCommon
PRIVATE
${GSTREAMER_INCLUDE_DIRS}
${GSTREAMER_APP_INCLUDE_DIRS}
)
ENDIF()
NGL_ADD_COMPILE_FLAGS(BuildingViewerCommon -DVIEWER_CTRL_LIBRARY_STATIC)
NGL_TARGET_INCLUDE_DIRECTORIES(BuildingViewerCommon
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/../
${CMAKE_CURRENT_BINARY_DIR}/../
)
if(QT6_GUI_AVAILABLE)
NGL_TARGET_LINK_LIBRARIES(BuildingViewerCommon
PRIVATE
ngltools
LtsPluginManager
PUBLIC
Qt6::Core
${Qt6_Gui}
${Qt6_Widgets}
AsbDataPluginInterface
AvmDataPluginInterface
BldDataPluginInterface
AesDataPluginInterface
SrpDataPluginInterface
IsmDataPluginInterface
PpmDataPluginInterface
PpmParticipantInfoGuiPluginInterface
IsmShared
LtsAppManager
LtsCoordTrans
LtsSessionData
LtsSession
LtsWidgets
LtsUtilsSettings
LtsUtilsGuiDds
)
endif()
NGL_INSTALL_TARGET(BuildingViewerCommon)