mirror of https://github.com/CGAL/cgal
125 lines
4.5 KiB
CMake
125 lines
4.5 KiB
CMake
include(CGALlab_macros)
|
|
|
|
remove_definitions(-DQT_STATICPLUGIN)
|
|
|
|
set(CMAKE_AUTOMOC ON)
|
|
|
|
qt6_wrap_cpp(VOLUME_MOC_OUTFILES
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Volume_plane_thread.h)
|
|
qt6_wrap_cpp(VOLUME_MOC_OUTFILES
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Volume_plane_interface.h)
|
|
qt6_wrap_ui(meshingUI_FILES Meshing_dialog.ui Smoother_dialog.ui
|
|
Local_optimizers_dialog.ui)
|
|
cgal_lab_plugin(
|
|
mesh_3_plugin
|
|
Mesh_3_plugin
|
|
Mesh_3_plugin_cgal_code.cpp
|
|
Meshing_thread.cpp
|
|
split_polylines.cpp
|
|
${meshingUI_FILES}
|
|
KEYWORDS
|
|
Mesh_3)
|
|
target_link_libraries(
|
|
mesh_3_plugin
|
|
PRIVATE scene_polygon_soup_item
|
|
scene_polylines_item
|
|
scene_implicit_function_item
|
|
scene_image_item
|
|
scene_surface_mesh_item
|
|
scene_c3t3_item
|
|
${OPENGL_gl_LIBRARY})
|
|
target_include_directories(mesh_3_plugin PRIVATE include)
|
|
|
|
find_package(ITK NAMES ITK InsightToolkit
|
|
QUIET COMPONENTS ITKCommon ITKThresholding ITKSmoothing ITKImageIntensity)
|
|
if(ITK_FOUND)
|
|
include(CGAL_ITK_support)
|
|
message(STATUS "ITK found")
|
|
include(${ITK_USE_FILE})
|
|
target_link_libraries(mesh_3_plugin PRIVATE CGAL::ITK_support)
|
|
endif(ITK_FOUND)
|
|
|
|
find_package(VTK 9.0 QUIET COMPONENTS ImagingGeneral IOImage IOXML NO_MODULE)
|
|
if(VTK_FOUND AND VTK_LIBRARIES)
|
|
message(STATUS "VTK ${VTK_VERSION} found ${VTK_LIBRARIES}")
|
|
else()
|
|
message(STATUS "NOTICE: DICOM files (.dcm) require the VTK libraries, and will not be readable.")
|
|
endif()
|
|
|
|
find_package(Boost QUIET OPTIONAL_COMPONENTS filesystem system)
|
|
if(Boost_FILESYSTEM_FOUND)
|
|
qt6_wrap_ui( imgUI_FILES Image_res_dialog.ui raw_image.ui)
|
|
cgal_lab_plugin(io_image_plugin Io_image_plugin
|
|
Volume_plane_intersection.cpp
|
|
Raw_image_dialog.cpp
|
|
${imgUI_FILES}
|
|
${VOLUME_MOC_OUTFILES}
|
|
KEYWORDS Viewer Mesh_3)
|
|
target_link_libraries(io_image_plugin PRIVATE scene_image_item ${VTK_LIBRARIES} CGAL::CGAL_ImageIO)
|
|
if(VTK_LIBRARIES)
|
|
target_compile_definitions(io_image_plugin PRIVATE -DCGAL_USE_VTK -DNOMINMAX)
|
|
endif()
|
|
|
|
target_link_libraries(io_image_plugin PRIVATE Boost::filesystem Boost::system)
|
|
|
|
else()
|
|
message(STATUS "NOTICE: the Io_image_plugin requires boost-filesystem, and will not be compiled")
|
|
endif()
|
|
cgal_lab_plugin(
|
|
mesh_3_optimization_plugin
|
|
Optimization_plugin
|
|
Optimization_plugin_cgal_code.cpp
|
|
Optimizer_thread.cpp
|
|
${meshingUI_FILES}
|
|
KEYWORDS
|
|
Mesh_3)
|
|
target_link_libraries(
|
|
mesh_3_optimization_plugin
|
|
PRIVATE scene_c3t3_item scene_surface_mesh_item scene_image_item
|
|
scene_implicit_function_item)
|
|
|
|
# Use Eigen
|
|
find_package(Eigen3 3.1.0 QUIET) #(3.1.0 or greater)
|
|
include(CGAL_Eigen3_support)
|
|
if(TARGET CGAL::Eigen3_support)
|
|
target_link_libraries(mesh_3_optimization_plugin PRIVATE CGAL::Eigen3_support)
|
|
else()
|
|
message(STATUS "NOTICE: The Mesh_3_optimization_plugin requires Eigen, which was not found."
|
|
"A deprecated class will be used to replace it. Warnings are to be expected.")
|
|
endif()
|
|
|
|
cgal_lab_plugin(c3t3_io_plugin C3t3_io_plugin KEYWORDS Viewer Mesh_3)
|
|
target_link_libraries(c3t3_io_plugin PRIVATE scene_c3t3_item)
|
|
|
|
qt6_wrap_ui(tetraUI_FILES Tetrahedra_filter_widget.ui)
|
|
cgal_lab_plugin(tetrahedra_filtering_plugin Tetrahedra_filtering_plugin ${tetraUI_FILES} KEYWORDS Mesh_3 Viewer)
|
|
target_link_libraries(tetrahedra_filtering_plugin PRIVATE scene_c3t3_item scene_tetrahedra_item)
|
|
if(TARGET CGAL::TBB_support)
|
|
target_link_libraries(tetrahedra_filtering_plugin PRIVATE CGAL::TBB_support)
|
|
endif()
|
|
|
|
qt6_wrap_ui(ribUI_FILES Rib_dialog.ui)
|
|
cgal_lab_plugin(c3t3_rib_exporter_plugin C3t3_rib_exporter_plugin
|
|
${ribUI_FILES} KEYWORDS Mesh_3)
|
|
target_link_libraries(c3t3_rib_exporter_plugin PRIVATE scene_c3t3_item)
|
|
|
|
if(TBB_FOUND)
|
|
target_link_libraries(mesh_3_plugin PRIVATE CGAL::TBB_support)
|
|
target_link_libraries(mesh_3_optimization_plugin PRIVATE CGAL::TBB_support)
|
|
target_link_libraries(c3t3_io_plugin PRIVATE CGAL::TBB_support)
|
|
target_link_libraries(c3t3_rib_exporter_plugin PRIVATE CGAL::TBB_support)
|
|
endif()
|
|
|
|
qt6_wrap_ui(offsetMeshingUI_FILES Offset_meshing_dialog.ui)
|
|
cgal_lab_plugin(offset_meshing_plugin Offset_meshing_plugin
|
|
${offsetMeshingUI_FILES})
|
|
target_link_libraries(offset_meshing_plugin PRIVATE scene_surface_mesh_item
|
|
scene_polygon_soup_item
|
|
scene_polylines_item)
|
|
if(TARGET CGAL::Eigen3_support)
|
|
target_link_libraries(offset_meshing_plugin PRIVATE CGAL::Eigen3_support)
|
|
endif()
|
|
if(TARGET CGAL::TBB_support)
|
|
target_link_libraries(offset_meshing_plugin PRIVATE CGAL::TBB_support)
|
|
endif()
|