mirror of https://github.com/CGAL/cgal
fix PCH issues (tentative)
This commit is contained in:
parent
d98f25af92
commit
52b620ecde
|
|
@ -46,7 +46,7 @@ Each face is embedded into the geometric space via the points coordinates.
|
|||
The faces must satisfy the following conditions. They must be connected together by
|
||||
their common faces of lower dimension:
|
||||
- two edges can only intersect at a common vertex which is also in the PLC;
|
||||
- two facets can only intersect at a common edge or vertex which is also in the PLC.
|
||||
- two facets can only intersect at a common edge or vertex which is also in the PLC. \todo pour Laurent
|
||||
|
||||
\cgalFigureBegin{plc_fig, plc.png}
|
||||
A Piecewise Linear Complex, made of planar faces, connected by edges and vertices.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.12...3.31)
|
||||
cmake_minimum_required(VERSION 3.16...3.31)
|
||||
project(Lab_Demo)
|
||||
include(FeatureSummary)
|
||||
|
||||
|
|
@ -255,16 +255,26 @@ if(CGAL_Qt6_FOUND AND Qt6_FOUND)
|
|||
target_link_libraries(scene_tetrahedra_item PRIVATE scene_c3t3_item)
|
||||
|
||||
|
||||
# Support for precompiled headers, for Mesh_3 (since CMake 3.16)
|
||||
add_library(c3t3_type_pch OBJECT c3t3_type_pch_empty_source.cpp C3t3_type.h)
|
||||
target_link_libraries(c3t3_type_pch PRIVATE CGAL::CGAL_Qt6 Qt6::OpenGLWidgets Qt6::Gui)
|
||||
set_property(TARGET c3t3_type_pch PROPERTY POSITION_INDEPENDENT_CODE TRUE)
|
||||
if(TARGET CGAL::TBB_support)
|
||||
target_link_libraries(scene_c3t3_item PRIVATE CGAL::TBB_support)
|
||||
target_link_libraries(scene_triangulation_3_item PRIVATE CGAL::TBB_support)
|
||||
target_link_libraries(scene_tetrahedra_item PRIVATE CGAL::TBB_support)
|
||||
target_link_libraries(c3t3_type_pch PRIVATE CGAL::TBB_support)
|
||||
endif()
|
||||
target_precompile_headers(c3t3_type_pch PRIVATE [["C3t3_type.h"]])
|
||||
|
||||
if(COMMAND target_precompile_headers)
|
||||
# Support for precompiled headers, for Mesh_3 (since CMake 3.16)
|
||||
target_precompile_headers(scene_c3t3_item PUBLIC [["C3t3_type.h"]])
|
||||
endif()
|
||||
function(CGAL_Lab_target_use_c3t3_type target)
|
||||
target_link_libraries(${target} PRIVATE c3t3_type_pch)
|
||||
target_precompile_headers(${target} REUSE_FROM c3t3_type_pch)
|
||||
if(TARGET CGAL::TBB_support)
|
||||
target_link_libraries(${target} PRIVATE CGAL::TBB_support)
|
||||
endif()
|
||||
endfunction(CGAL_Lab_target_use_c3t3_type)
|
||||
|
||||
CGAL_Lab_target_use_c3t3_type(scene_c3t3_item)
|
||||
CGAL_Lab_target_use_c3t3_type(scene_triangulation_3_item)
|
||||
CGAL_Lab_target_use_c3t3_type(scene_tetrahedra_item)
|
||||
|
||||
add_item(scene_aff_transformed_item Plugins/PCA/Scene_aff_transformed_item.cpp)
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,4 @@ cgal_lab_plugin(cdt_3_plugin CDT_3_plugin KEYWORDS CDT_3)
|
|||
target_link_libraries(cdt_3_plugin PRIVATE scene_surface_mesh_item
|
||||
scene_polygon_soup_item
|
||||
scene_c3t3_item)
|
||||
if(TARGET CGAL::TBB_support)
|
||||
target_link_libraries(cdt_3_plugin PRIVATE CGAL::TBB_support)
|
||||
endif()
|
||||
CGAL_Lab_target_use_c3t3_type(cdt_3_plugin)
|
||||
|
|
|
|||
|
|
@ -82,9 +82,7 @@ if(VTK_FOUND AND VTK_LIBRARIES)
|
|||
${VTK_LIBRARIES}
|
||||
)
|
||||
target_compile_definitions(vtk_plugin PRIVATE -DCGAL_USE_VTK -DNOMINMAX)
|
||||
if(TARGET CGAL::TBB_support)
|
||||
target_link_libraries(vtk_plugin PRIVATE CGAL::TBB_support)
|
||||
endif()
|
||||
CGAL_Lab_target_use_c3t3_type(vtk_plugin)
|
||||
else()
|
||||
message(STATUS "NOTICE: the vtk IO plugin needs VTK 9.0 or greater and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ target_link_libraries(
|
|||
scene_c3t3_item
|
||||
${OPENGL_gl_LIBRARY})
|
||||
target_include_directories(mesh_3_plugin PRIVATE include)
|
||||
CGAL_Lab_target_use_c3t3_type(mesh_3_plugin)
|
||||
|
||||
find_package(ITK NAMES ITK InsightToolkit
|
||||
QUIET COMPONENTS ITKCommon ITKThresholding ITKSmoothing ITKImageIntensity)
|
||||
|
|
@ -77,6 +78,7 @@ target_link_libraries(
|
|||
mesh_3_optimization_plugin
|
||||
PRIVATE scene_c3t3_item scene_surface_mesh_item scene_image_item
|
||||
scene_implicit_function_item)
|
||||
CGAL_Lab_target_use_c3t3_type(mesh_3_optimization_plugin)
|
||||
|
||||
# Use Eigen
|
||||
find_package(Eigen3 3.1.0 QUIET) #(3.1.0 or greater)
|
||||
|
|
@ -90,25 +92,18 @@ endif()
|
|||
|
||||
cgal_lab_plugin(c3t3_io_plugin C3t3_io_plugin KEYWORDS Viewer Mesh_3)
|
||||
target_link_libraries(c3t3_io_plugin PRIVATE scene_c3t3_item)
|
||||
CGAL_Lab_target_use_c3t3_type(c3t3_io_plugin)
|
||||
|
||||
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()
|
||||
CGAL_Lab_target_use_c3t3_type(tetrahedra_filtering_plugin)
|
||||
|
||||
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()
|
||||
CGAL_Lab_target_use_c3t3_type(c3t3_rib_exporter_plugin)
|
||||
|
||||
qt6_wrap_ui(offsetMeshingUI_FILES Offset_meshing_dialog.ui)
|
||||
cgal_lab_plugin(offset_meshing_plugin Offset_meshing_plugin
|
||||
|
|
|
|||
|
|
@ -202,6 +202,7 @@ cgal_lab_plugin(alpha_shape_plugin Alpha_shape_plugin
|
|||
target_link_libraries(alpha_shape_plugin PRIVATE scene_points_with_normal_item
|
||||
scene_polygon_soup_item
|
||||
scene_c3t3_item)
|
||||
CGAL_Lab_target_use_c3t3_type(alpha_shape_plugin)
|
||||
|
||||
qt6_wrap_ui(distanceUI_FILES Point_set_to_mesh_distance_widget.ui)
|
||||
cgal_lab_plugin(
|
||||
|
|
|
|||
|
|
@ -13,12 +13,9 @@ cgal_lab_plugin(
|
|||
${tetRemeshingUI_FILES} KEYWORDS Tetrahedral_remeshing)
|
||||
target_link_libraries(tetrahedral_remeshing_plugin PRIVATE scene_c3t3_item
|
||||
${OPENGL_gl_LIBRARY})
|
||||
|
||||
CGAL_Lab_target_use_c3t3_type(tetrahedral_remeshing_plugin)
|
||||
find_package(Eigen3 3.1.0 REQUIRED) #(3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
if(TARGET CGAL::Eigen3_support)
|
||||
target_link_libraries(tetrahedral_remeshing_plugin PRIVATE CGAL::Eigen3_support)
|
||||
endif()
|
||||
if(TARGET CGAL::TBB_support)
|
||||
target_link_libraries(tetrahedral_remeshing_plugin PRIVATE CGAL::TBB_support)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
#ifndef SCENE_C3T3_ITEM_H
|
||||
#define SCENE_C3T3_ITEM_H
|
||||
|
||||
#include "Scene_c3t3_item_config.h"
|
||||
#include "C3t3_type.h"
|
||||
#include "Scene_c3t3_item_config.h"
|
||||
|
||||
#include <QVector>
|
||||
#include <QColor>
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
#include "C3t3_type.h"
|
||||
Loading…
Reference in New Issue