fix PCH issues (tentative)

This commit is contained in:
Laurent Rineau 2025-04-18 12:44:56 +02:00
parent d98f25af92
commit 52b620ecde
9 changed files with 30 additions and 30 deletions

View File

@ -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.

View File

@ -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)

View File

@ -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)

View File

@ -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()

View File

@ -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

View File

@ -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(

View File

@ -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()

View File

@ -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>

View File

@ -0,0 +1 @@
#include "C3t3_type.h"