76 lines
2.6 KiB
CMake
76 lines
2.6 KiB
CMake
set(HEADERS uLibVtkInterface.h
|
|
uLibVtkViewer.h
|
|
vtkHandlerWidget.h
|
|
vtkQViewport.h
|
|
vtkViewport.h
|
|
vtkObjectsContext.h
|
|
)
|
|
|
|
set(SOURCES uLibVtkInterface.cxx
|
|
uLibVtkViewer.cpp
|
|
vtkHandlerWidget.cpp
|
|
vtkQViewport.cpp
|
|
vtkViewport.cpp
|
|
vtkObjectsContext.cpp
|
|
)
|
|
|
|
## Pull in Math VTK wrappers (sets MATH_SOURCES / MATH_HEADERS)
|
|
add_subdirectory(Math)
|
|
list(APPEND SOURCES ${MATH_SOURCES})
|
|
list(APPEND HEADERS ${MATH_HEADERS})
|
|
|
|
## Pull in HEP/Detectors VTK wrappers (sets HEP_DETECTORS_SOURCES / HEADERS)
|
|
add_subdirectory(HEP/Detectors)
|
|
list(APPEND SOURCES ${HEP_DETECTORS_SOURCES})
|
|
list(APPEND HEADERS ${HEP_DETECTORS_HEADERS})
|
|
|
|
## Pull in HEP/MuonTomography VTK wrappers (sets HEP_MUONTOMOGRAPHY_SOURCES / HEADERS)
|
|
add_subdirectory(HEP/MuonTomography)
|
|
list(APPEND SOURCES ${HEP_MUONTOMOGRAPHY_SOURCES})
|
|
list(APPEND HEADERS ${HEP_MUONTOMOGRAPHY_HEADERS})
|
|
|
|
## Pull in HEP/Geant VTK wrappers (sets HEP_GEANT_SOURCES / HEADERS)
|
|
add_subdirectory(HEP/Geant)
|
|
list(APPEND SOURCES ${HEP_GEANT_SOURCES})
|
|
list(APPEND HEADERS ${HEP_GEANT_HEADERS})
|
|
|
|
set(LIBRARIES Eigen3::Eigen
|
|
${ROOT_LIBRARIES}
|
|
${VTK_LIBRARIES}
|
|
${PACKAGE_LIBPREFIX}Math
|
|
${PACKAGE_LIBPREFIX}Detectors
|
|
${PACKAGE_LIBPREFIX}Geant)
|
|
|
|
if(USE_CUDA)
|
|
find_package(CUDAToolkit REQUIRED)
|
|
list(APPEND LIBRARIES CUDA::cudart)
|
|
endif()
|
|
|
|
set(libname ${PACKAGE_LIBPREFIX}Vtk)
|
|
set(ULIB_SHARED_LIBRARIES ${ULIB_SHARED_LIBRARIES} ${libname} PARENT_SCOPE)
|
|
set(ULIB_SELECTED_MODULES ${ULIB_SELECTED_MODULES} Vtk PARENT_SCOPE)
|
|
|
|
add_library(${libname} SHARED ${SOURCES})
|
|
set_target_properties(${libname} PROPERTIES
|
|
SOVERSION ${PROJECT_SOVERSION}
|
|
AUTOMOC ON
|
|
AUTOUIC ON
|
|
AUTORCC ON)
|
|
target_link_libraries(${libname} ${LIBRARIES} Qt6::Widgets)
|
|
|
|
install(TARGETS ${libname}
|
|
EXPORT "uLibTargets"
|
|
RUNTIME DESTINATION ${INSTALL_BIN_DIR} COMPONENT bin
|
|
LIBRARY DESTINATION ${INSTALL_LIB_DIR} COMPONENT lib)
|
|
|
|
install(FILES ${HEADERS} DESTINATION ${INSTALL_INC_DIR}/Vtk)
|
|
install(FILES ${MATH_HEADERS} DESTINATION ${INSTALL_INC_DIR}/Vtk/Math)
|
|
install(FILES ${HEP_DETECTORS_HEADERS} DESTINATION ${INSTALL_INC_DIR}/Vtk/HEP/Detectors)
|
|
install(FILES ${HEP_MUONTOMOGRAPHY_HEADERS} DESTINATION ${INSTALL_INC_DIR}/Vtk/HEP/MuonTomography)
|
|
install(FILES ${HEP_GEANT_HEADERS} DESTINATION ${INSTALL_INC_DIR}/Vtk/HEP/Geant)
|
|
|
|
if(BUILD_TESTING)
|
|
include(uLibTargetMacros)
|
|
add_subdirectory(testing)
|
|
endif()
|