76 lines
2.1 KiB
CMake
76 lines
2.1 KiB
CMake
|
|
set(HEADERS ContainerBox.h
|
|
Cylinder.h
|
|
Assembly.h
|
|
Dense.h
|
|
Geometry.h
|
|
Transform.h
|
|
StructuredData.h
|
|
StructuredGrid.h
|
|
VoxImage.h
|
|
VoxRaytracer.h
|
|
Utils.h
|
|
VoxImageFilter.h
|
|
VoxImageFilter.hpp
|
|
VoxImageFilterLinear.hpp
|
|
VoxImageFilterMedian.hpp
|
|
VoxImageFilterABTrim.hpp
|
|
VoxImageFilterBilateral.hpp
|
|
VoxImageFilterThreshold.hpp
|
|
VoxImageFilter2ndStat.hpp
|
|
VoxImageFilterCustom.hpp
|
|
Accumulator.h
|
|
TriangleMesh.h
|
|
QuadMesh.h
|
|
BitCode.h
|
|
Structured2DGrid.h
|
|
Structured4DGrid.h
|
|
Units.h
|
|
CLHEP_defs.hh)
|
|
|
|
set(SOURCES VoxRaytracer.cpp
|
|
StructuredData.cpp
|
|
StructuredGrid.cpp
|
|
VoxImage.cpp
|
|
TriangleMesh.cpp
|
|
QuadMesh.cpp
|
|
Assembly.cpp
|
|
Dense.cpp
|
|
Structured2DGrid.cpp
|
|
Structured4DGrid.cpp
|
|
MathRegistrations.cpp)
|
|
|
|
set(LIBRARIES ${PACKAGE_LIBPREFIX}Core
|
|
Eigen3::Eigen
|
|
${ROOT_LIBRARIES}
|
|
${VTK_LIBRARIES})
|
|
|
|
set(libname ${PACKAGE_LIBPREFIX}Math)
|
|
set(ULIB_SHARED_LIBRARIES ${ULIB_SHARED_LIBRARIES} ${libname} PARENT_SCOPE)
|
|
set(ULIB_SELECTED_MODULES ${ULIB_SELECTED_MODULES} Math PARENT_SCOPE)
|
|
|
|
add_library(${libname} SHARED ${SOURCES})
|
|
set_target_properties(${libname} PROPERTIES
|
|
VERSION ${PROJECT_VERSION}
|
|
SOVERSION ${PROJECT_SOVERSION}
|
|
CXX_STANDARD 17
|
|
CUDA_STANDARD 17)
|
|
target_link_libraries(${libname} ${LIBRARIES})
|
|
|
|
if(USE_CUDA)
|
|
set_source_files_properties(VoxRaytracer.cpp VoxImage.cpp PROPERTIES LANGUAGE CUDA)
|
|
endif()
|
|
|
|
|
|
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}/Math)
|
|
|
|
if(BUILD_TESTING)
|
|
include(uLibTargetMacros)
|
|
add_subdirectory(testing)
|
|
endif()
|