Files
geant4/source/visualization/ToolsSG/sources.cmake
T
2021-06-25 16:12:29 +02:00

119 lines
2.8 KiB
CMake

# - G4ToolsSG module build definition
# Module has optional sources
# List those always built
set(G4VIS_MODULE_TOOLSSG_HEADERS
G4ToolsSGNode.hh
G4ToolsSGSceneHandler.hh
G4ToolsSGViewer.hh
)
set(G4VIS_MODULE_TOOLSSG_SOURCES
G4ToolsSGSceneHandler.cc
)
add_definitions(-DG4VIS_BUILD_TOOLSSG_DRIVER)
# X11 sources/links if selected
if(GEANT4_USE_TOOLSSG_X11_GLES)
list(APPEND G4VIS_MODULE_TOOLSSG_HEADERS
G4ToolsSGX11GLES.hh
)
list(APPEND G4VIS_MODULE_TOOLSSG_SOURCES
G4ToolsSGX11GLES.cc
)
add_definitions(-DG4VIS_BUILD_TOOLSSG_X11_GLES_DRIVER)
list(APPEND G4VIS_MODULE_TOOLSSG_LINK_LIBRARIES X11::SM X11::ICE X11::X11 X11::Xext X11::Xmu)
if(APPLE)
list(APPEND G4VIS_MODULE_TOOLSSG_LINK_LIBRARIES XQuartzGL::GL)
else()
list(APPEND G4VIS_MODULE_TOOLSSG_LINK_LIBRARIES OpenGL::GL)
endif()
endif()
# Xt sources/links if selected
if(GEANT4_USE_TOOLSSG_XT_GLES)
list(APPEND G4VIS_MODULE_TOOLSSG_HEADERS
G4ToolsSGXtGLES.hh
)
list(APPEND G4VIS_MODULE_TOOLSSG_SOURCES
G4ToolsSGXtGLES.cc
)
add_definitions(-DTOOLS_USE_GL_GL_H)
add_definitions(-DG4VIS_BUILD_TOOLSSG_XT_GLES_DRIVER)
add_definitions(-DG4INTY_BUILD_XT)
list(APPEND G4VIS_MODULE_TOOLSSG_LINK_LIBRARIES Motif::Xm X11::SM X11::ICE X11::X11 X11::Xext X11::Xmu ${G4VIS_MODULE_TOOLSSG_LINK_LIBRARIES})
if(APPLE)
list(APPEND G4VIS_MODULE_TOOLSSG_LINK_LIBRARIES XQuartzGL::GL)
else()
list(APPEND G4VIS_MODULE_TOOLSSG_LINK_LIBRARIES OpenGL::GL)
endif()
endif()
# Qt sources/links if selected
if(GEANT4_USE_TOOLSSG_QT_GLES)
list(APPEND G4VIS_MODULE_TOOLSSG_HEADERS
G4ToolsSGQtViewer.hh
G4ToolsSGQtGLES.hh
)
list(APPEND G4VIS_MODULE_TOOLSSG_SOURCES
G4ToolsSGQtGLES.cc
)
add_definitions(-DG4VIS_BUILD_TOOLSSG_QT_GLES_DRIVER)
add_definitions(-DG4INTY_BUILD_QT -DG4UI_BUILD_QT_SESSION)
list(APPEND G4VIS_MODULE_TOOLSSG_LINK_LIBRARIES Qt5::OpenGL Qt5::Gui Qt5::PrintSupport Qt5::Widgets OpenGL::GL)
endif()
# Windows sources if selected
if(GEANT4_USE_TOOLSSG_WINDOWS_GLES)
list(APPEND G4VIS_MODULE_TOOLSSG_HEADERS
G4ToolsSGWindowsGLES.hh
)
list(APPEND G4VIS_MODULE_TOOLSSG_SOURCES
G4ToolsSGWindowsGLES.cc
)
add_definitions(-DG4VIS_BUILD_TOOLSSG_WINDOWS_GLES_DRIVER)
list(APPEND G4VIS_MODULE_TOOLSSG_LINK_LIBRARIES OpenGL::GL)
endif()
# Freetype support if selected
if(GEANT4_USE_FREETYPE)
add_definitions(-DTOOLS_USE_FREETYPE)
list(APPEND G4VIS_MODULE_TOOLSSG_LINK_LIBRARIES Freetype::Freetype)
endif()
list(REMOVE_DUPLICATES G4VIS_MODULE_TOOLSSG_LINK_LIBRARIES)
# Define the Geant4 Module.
geant4_add_module(G4ToolsSG
PUBLIC_HEADERS ${G4VIS_MODULE_TOOLSSG_HEADERS}
SOURCES ${G4VIS_MODULE_TOOLSSG_SOURCES})
geant4_module_link_libraries(G4ToolsSG
PUBLIC
G4intercoms
G4interfaces
G4modeling
G4vis_management
G4tools
${G4VIS_MODULE_TOOLSSG_LINK_LIBRARIES}
PRIVATE
G4navigation)