Files
geant4/source/visualization/ToolsSG/sources.cmake
T
2021-12-10 16:15:15 +00:00

106 lines
2.5 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
)
# 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
)
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)
list(APPEND G4VIS_MODULE_TOOLSSG_LINK_LIBRARIES 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
G4ToolsSGQtViewer.cc
)
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
)
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)