Merge remote-tracking branch 'cgal/master' into Mesh-3-rework-make-mesh-point-initialization-2-aclement

# Conflicts:
#	Mesh_3/examples/Mesh_3/CMakeLists.txt
This commit is contained in:
Jane Tournois 2024-11-04 12:42:37 +01:00
commit f3abf598ed
168 changed files with 789 additions and 973 deletions

View File

@ -14,7 +14,7 @@ find_package(Qt6 QUIET COMPONENTS Gui OpenGL)
if(CGAL_Qt6_FOUND AND Qt6_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
# Instruct CMake to run moc/ui/rcc automatically when needed. # Instruct CMake to run moc/ui/rcc automatically when needed.
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)

View File

@ -13,7 +13,7 @@ find_package(Qt6 QUIET COMPONENTS Widgets OpenGL)
if(CGAL_Qt6_FOUND AND Qt6_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
# Instruct CMake to run moc/ui/rcc automatically when needed. # Instruct CMake to run moc/ui/rcc automatically when needed.
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)

View File

@ -20,7 +20,7 @@ if (CGAL_Qt6_FOUND AND Qt6_FOUND)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Arrangement package includes # Arrangement package includes
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
option(COMPILE_UTILS_INCREMENTALLY option(COMPILE_UTILS_INCREMENTALLY
"Compile files in Utils directory incrementally, or compile them all as a unit. \ "Compile files in Utils directory incrementally, or compile them all as a unit. \
Incremental compilation will be better for development and consume less \ Incremental compilation will be better for development and consume less \

View File

@ -39,7 +39,7 @@ endif()
add_definitions(-DQT_NO_VERSION_TAGGING) add_compile_definitions(QT_NO_VERSION_TAGGING)
# AOS # AOS
file(GLOB source_files_aos Aos.h Aos.cpp Aos_defs.h file(GLOB source_files_aos Aos.h Aos.cpp Aos_defs.h

View File

@ -16,15 +16,15 @@ foreach(cppfile ${cppfiles})
endforeach() endforeach()
if(CGAL_Qt6_FOUND) if(CGAL_Qt6_FOUND)
target_link_libraries(draw_arr PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(draw_arr PRIVATE CGAL::CGAL_Basic_viewer)
target_link_libraries(linear_conics PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(linear_conics PRIVATE CGAL::CGAL_Basic_viewer)
target_link_libraries(parabolas PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(parabolas PRIVATE CGAL::CGAL_Basic_viewer)
target_link_libraries(ellipses PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(ellipses PRIVATE CGAL::CGAL_Basic_viewer)
target_link_libraries(hyperbolas PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(hyperbolas PRIVATE CGAL::CGAL_Basic_viewer)
target_link_libraries(polylines PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(polylines PRIVATE CGAL::CGAL_Basic_viewer)
target_link_libraries(circles PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(circles PRIVATE CGAL::CGAL_Basic_viewer)
target_link_libraries(circular_arcs PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(circular_arcs PRIVATE CGAL::CGAL_Basic_viewer)
target_link_libraries(spherical_insert PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(spherical_insert PRIVATE CGAL::CGAL_Basic_viewer)
else() else()
message( message(
STATUS STATUS

View File

@ -28,7 +28,7 @@ find_package(METIS QUIET)
include(CGAL_METIS_support) include(CGAL_METIS_support)
if(TARGET CGAL::METIS_support) if(TARGET CGAL::METIS_support)
create_single_source_cgal_program("polyhedron_partition.cpp") create_single_source_cgal_program("polyhedron_partition.cpp")
target_link_libraries(polyhedron_partition PUBLIC CGAL::METIS_support) target_link_libraries(polyhedron_partition PRIVATE CGAL::METIS_support)
else() else()
message(STATUS "NOTICE: The example 'polyhedron_partition' requires the METIS library, and will not be compiled.") message(STATUS "NOTICE: The example 'polyhedron_partition' requires the METIS library, and will not be compiled.")
endif() endif()

View File

@ -14,7 +14,7 @@ find_package(METIS QUIET)
include(CGAL_METIS_support) include(CGAL_METIS_support)
if(TARGET CGAL::METIS_support) if(TARGET CGAL::METIS_support)
create_single_source_cgal_program("surface_mesh_partition.cpp") create_single_source_cgal_program("surface_mesh_partition.cpp")
target_link_libraries(surface_mesh_partition PUBLIC CGAL::METIS_support) target_link_libraries(surface_mesh_partition PRIVATE CGAL::METIS_support)
else() else()
message(STATUS "NOTICE: Examples that use the METIS library will not be compiled.") message(STATUS "NOTICE: Examples that use the METIS library will not be compiled.")
endif() endif()

View File

@ -18,9 +18,9 @@ find_package(Eigen3 3.1.0 QUIET) # (3.1.0 or greater)
include(CGAL_Eigen3_support) include(CGAL_Eigen3_support)
if(TARGET CGAL::Eigen3_support) if(TARGET CGAL::Eigen3_support)
create_single_source_cgal_program("benchmark_hm_4_vertices.cpp") create_single_source_cgal_program("benchmark_hm_4_vertices.cpp")
target_link_libraries(benchmark_hm_4_vertices PUBLIC CGAL::Eigen3_support) target_link_libraries(benchmark_hm_4_vertices PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("benchmark_hm_n_vertices.cpp") create_single_source_cgal_program("benchmark_hm_n_vertices.cpp")
target_link_libraries(benchmark_hm_n_vertices PUBLIC CGAL::Eigen3_support) target_link_libraries(benchmark_hm_n_vertices PRIVATE CGAL::Eigen3_support)
else() else()
message(STATUS "NOTICE: Several benchmarks require the Eigen library, and will not be compiled.") message(STATUS "NOTICE: Several benchmarks require the Eigen library, and will not be compiled.")
endif() endif()

View File

@ -21,11 +21,11 @@ find_package(Eigen3 3.1.0 QUIET) # (3.1.0 or greater)
include(CGAL_Eigen3_support) include(CGAL_Eigen3_support)
if(TARGET CGAL::Eigen3_support) if(TARGET CGAL::Eigen3_support)
create_single_source_cgal_program("affine_coordinates.cpp") create_single_source_cgal_program("affine_coordinates.cpp")
target_link_libraries(affine_coordinates PUBLIC CGAL::Eigen3_support) target_link_libraries(affine_coordinates PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("harmonic_coordinates.cpp") create_single_source_cgal_program("harmonic_coordinates.cpp")
target_link_libraries(harmonic_coordinates PUBLIC CGAL::Eigen3_support) target_link_libraries(harmonic_coordinates PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("shape_deformation.cpp") create_single_source_cgal_program("shape_deformation.cpp")
target_link_libraries(shape_deformation PUBLIC CGAL::Eigen3_support) target_link_libraries(shape_deformation PRIVATE CGAL::Eigen3_support)
else() else()
message(STATUS "NOTICE: Several examples require the Eigen library, and will not be compiled.") message(STATUS "NOTICE: Several examples require the Eigen library, and will not be compiled.")
endif() endif()

View File

@ -46,15 +46,15 @@ find_package(Eigen3 3.1.0 QUIET) # (3.1.0 or greater)
include(CGAL_Eigen3_support) include(CGAL_Eigen3_support)
if(TARGET CGAL::Eigen3_support) if(TARGET CGAL::Eigen3_support)
create_single_source_cgal_program("test_hm_unit_square.cpp") create_single_source_cgal_program("test_hm_unit_square.cpp")
target_link_libraries(test_hm_unit_square PUBLIC CGAL::Eigen3_support) target_link_libraries(test_hm_unit_square PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("test_hm_const_linear_precision.cpp") create_single_source_cgal_program("test_hm_const_linear_precision.cpp")
target_link_libraries(test_hm_const_linear_precision PUBLIC CGAL::Eigen3_support) target_link_libraries(test_hm_const_linear_precision PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("test_hm_triangle.cpp") create_single_source_cgal_program("test_hm_triangle.cpp")
target_link_libraries(test_hm_triangle PUBLIC CGAL::Eigen3_support) target_link_libraries(test_hm_triangle PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("test_bc_projection_traits.cpp") create_single_source_cgal_program("test_bc_projection_traits.cpp")
target_link_libraries(test_bc_projection_traits PUBLIC CGAL::Eigen3_support) target_link_libraries(test_bc_projection_traits PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("test_bc_all_coordinates.cpp") create_single_source_cgal_program("test_bc_all_coordinates.cpp")
target_link_libraries(test_bc_all_coordinates PUBLIC CGAL::Eigen3_support) target_link_libraries(test_bc_all_coordinates PRIVATE CGAL::Eigen3_support)
else() else()
message(STATUS "NOTICE: Several tests require the Eigen library, and will not be compiled.") message(STATUS "NOTICE: Several tests require the Eigen library, and will not be compiled.")
endif() endif()

View File

@ -23,19 +23,19 @@ create_single_source_cgal_program("draw_surface_mesh_vcolor.cpp")
if(CGAL_Qt6_FOUND) if(CGAL_Qt6_FOUND)
#link it with the required CGAL libraries #link it with the required CGAL libraries
target_link_libraries(draw_lcc PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(draw_lcc PRIVATE CGAL::CGAL_Basic_viewer)
target_link_libraries(draw_mesh_and_points PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(draw_mesh_and_points PRIVATE CGAL::CGAL_Basic_viewer)
target_link_libraries(draw_several_windows PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(draw_several_windows PRIVATE CGAL::CGAL_Basic_viewer)
target_link_libraries(draw_surface_mesh_height PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(draw_surface_mesh_height PRIVATE CGAL::CGAL_Basic_viewer)
target_link_libraries(draw_surface_mesh_small_faces PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(draw_surface_mesh_small_faces PRIVATE CGAL::CGAL_Basic_viewer)
target_link_libraries(draw_surface_mesh_vcolor PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(draw_surface_mesh_vcolor PRIVATE CGAL::CGAL_Basic_viewer)
else() else()
message("CGAL_Qt6 not configured: examples that require Qt will not be compiled.") message("CGAL_Qt6 not configured: examples that require Qt will not be compiled.")
endif() endif()
if(TARGET CGAL::Eigen3_support) if(TARGET CGAL::Eigen3_support)
target_link_libraries(draw_mesh_and_points PUBLIC CGAL::Eigen3_support) target_link_libraries(draw_mesh_and_points PRIVATE CGAL::Eigen3_support)
target_link_libraries(draw_several_windows PUBLIC CGAL::Eigen3_support) target_link_libraries(draw_several_windows PRIVATE CGAL::Eigen3_support)
endif() endif()
#end of the file #end of the file

View File

@ -16,7 +16,7 @@ foreach(cppfile ${cppfiles})
endforeach() endforeach()
if(CGAL_Qt6_FOUND) if(CGAL_Qt6_FOUND)
target_link_libraries(draw_polygon_set PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(draw_polygon_set PRIVATE CGAL::CGAL_Basic_viewer)
else() else()
message(STATUS "NOTICE: The example 'draw_polygon_set' requires Qt and drawing will be disabled.") message(STATUS "NOTICE: The example 'draw_polygon_set' requires Qt and drawing will be disabled.")
endif() endif()

View File

@ -15,7 +15,7 @@ create_single_source_cgal_program("test_Has_member_report.cpp")
find_package(TBB QUIET) find_package(TBB QUIET)
include(CGAL_TBB_support) include(CGAL_TBB_support)
if(TARGET CGAL::TBB_support) if(TARGET CGAL::TBB_support)
target_link_libraries(test_box_grid PUBLIC CGAL::TBB_support) target_link_libraries(test_box_grid PRIVATE CGAL::TBB_support)
else() else()
message(STATUS "NOTICE: Intel TBB was not found. Parallel code will not be used.") message(STATUS "NOTICE: Intel TBB was not found. Parallel code will not be used.")
endif() endif()

View File

@ -52,7 +52,7 @@ if(TARGET CGAL::OpenCV_support)
message(STATUS "Found OpenCV") message(STATUS "Found OpenCV")
create_single_source_cgal_program( "example_opencv_random_forest.cpp" ) create_single_source_cgal_program( "example_opencv_random_forest.cpp" )
target_link_libraries(example_opencv_random_forest PUBLIC CGAL::OpenCV_support) target_link_libraries(example_opencv_random_forest PRIVATE CGAL::OpenCV_support)
else() else()
message("NOTICE: OpenCV was not found. OpenCV random forest predicate for classification won't be available.") message("NOTICE: OpenCV was not found. OpenCV random forest predicate for classification won't be available.")
endif() endif()
@ -68,11 +68,11 @@ foreach(target
gis_tutorial_example gis_tutorial_example
example_deprecated_conversion) example_deprecated_conversion)
if(TARGET ${target}) if(TARGET ${target})
target_link_libraries(${target} PUBLIC CGAL::Eigen3_support target_link_libraries(${target} PRIVATE CGAL::Eigen3_support
CGAL::Boost_iostreams_support CGAL::Boost_iostreams_support
CGAL::Boost_serialization_support) CGAL::Boost_serialization_support)
if(TARGET CGAL::TBB_support) if(TARGET CGAL::TBB_support)
target_link_libraries(${target} PUBLIC CGAL::TBB_support) target_link_libraries(${target} PRIVATE CGAL::TBB_support)
endif() endif()
endif() endif()
endforeach() endforeach()

View File

@ -41,10 +41,10 @@ create_single_source_cgal_program("test_classification_point_set.cpp")
create_single_source_cgal_program("test_classification_io.cpp") create_single_source_cgal_program("test_classification_io.cpp")
foreach(target test_classification_point_set test_classification_io) foreach(target test_classification_point_set test_classification_io)
target_link_libraries(${target} PUBLIC CGAL::Eigen3_support target_link_libraries(${target} PRIVATE CGAL::Eigen3_support
CGAL::Boost_iostreams_support CGAL::Boost_iostreams_support
CGAL::Boost_serialization_support) CGAL::Boost_serialization_support)
if(TARGET CGAL::TBB_support) if(TARGET CGAL::TBB_support)
target_link_libraries(${target} PUBLIC CGAL::TBB_support) target_link_libraries(${target} PRIVATE CGAL::TBB_support)
endif() endif()
endforeach() endforeach()

View File

@ -15,13 +15,13 @@ create_single_source_cgal_program(Combinatorial_map_copy_test.cpp ${hfiles})
# Same targets, defining USE_COMPACT_CONTAINER_WITH_INDEX to test index version # Same targets, defining USE_COMPACT_CONTAINER_WITH_INDEX to test index version
add_executable(Combinatorial_map_test_index Combinatorial_map_test.cpp ${hfiles}) add_executable(Combinatorial_map_test_index Combinatorial_map_test.cpp ${hfiles})
target_compile_definitions(Combinatorial_map_test_index PUBLIC USE_COMPACT_CONTAINER_WITH_INDEX) target_compile_definitions(Combinatorial_map_test_index PRIVATE USE_COMPACT_CONTAINER_WITH_INDEX)
target_link_libraries(Combinatorial_map_test_index PUBLIC CGAL CGAL::Data) target_link_libraries(Combinatorial_map_test_index PRIVATE CGAL::CGAL CGAL::Data)
cgal_add_compilation_test(Combinatorial_map_test_index) cgal_add_compilation_test(Combinatorial_map_test_index)
add_executable(Combinatorial_map_copy_test_index Combinatorial_map_copy_test.cpp ${hfiles}) add_executable(Combinatorial_map_copy_test_index Combinatorial_map_copy_test.cpp ${hfiles})
target_compile_definitions(Combinatorial_map_copy_test_index PUBLIC USE_COMPACT_CONTAINER_WITH_INDEX) target_compile_definitions(Combinatorial_map_copy_test_index PRIVATE USE_COMPACT_CONTAINER_WITH_INDEX)
target_link_libraries(Combinatorial_map_copy_test_index PUBLIC CGAL CGAL::Data) target_link_libraries(Combinatorial_map_copy_test_index PRIVATE CGAL::CGAL CGAL::Data)
cgal_add_compilation_test(Combinatorial_map_copy_test_index) cgal_add_compilation_test(Combinatorial_map_copy_test_index)
create_single_source_cgal_program(cmap_test_split_attribute.cpp) create_single_source_cgal_program(cmap_test_split_attribute.cpp)

View File

@ -43,7 +43,7 @@ This section describes a minimal example of a program that uses \cgal and Qt6 fo
\skip if(CGAL_Qt6_FOUND) \skip if(CGAL_Qt6_FOUND)
\until target_link_libraries(draw_surface_mesh PUBLIC CGAL::CGAL_Basic_viewer) \until target_link_libraries(draw_surface_mesh PRIVATE CGAL::CGAL_Basic_viewer)
\skip endif \skip endif
\until #end of the file \until #end of the file

View File

@ -15,8 +15,8 @@ set(hfiles Generalized_map_2_test.h
create_single_source_cgal_program("Generalized_map_test.cpp" ${hfiles}) create_single_source_cgal_program("Generalized_map_test.cpp" ${hfiles})
add_executable(Generalized_map_test_index Generalized_map_test.cpp ${hfiles}) add_executable(Generalized_map_test_index Generalized_map_test.cpp ${hfiles})
target_compile_definitions(Generalized_map_test_index PUBLIC USE_COMPACT_CONTAINER_WITH_INDEX) target_compile_definitions(Generalized_map_test_index PRIVATE USE_COMPACT_CONTAINER_WITH_INDEX)
target_link_libraries(Generalized_map_test_index PUBLIC CGAL CGAL::Data) target_link_libraries(Generalized_map_test_index PRIVATE CGAL CGAL::Data)
cgal_add_compilation_test(Generalized_map_test_index) cgal_add_compilation_test(Generalized_map_test_index)
create_single_source_cgal_program("gmap_test_split_attribute.cpp") create_single_source_cgal_program("gmap_test_split_attribute.cpp")

View File

@ -10,13 +10,8 @@ find_package(Boost COMPONENTS program_options)
if(Boost_PROGRAM_OPTIONS_FOUND) if(Boost_PROGRAM_OPTIONS_FOUND)
create_single_source_cgal_program("random_grid.cpp") create_single_source_cgal_program("random_grid.cpp")
create_single_source_cgal_program("random_disc_2.cpp") create_single_source_cgal_program("random_disc_2.cpp")
if(TARGET Boost::program_options) target_link_libraries(random_grid PRIVATE Boost::program_options)
target_link_libraries(random_grid PRIVATE Boost::program_options) target_link_libraries(random_disc_2 PRIVATE Boost::program_options)
target_link_libraries(random_disc_2 PRIVATE Boost::program_options)
else()
target_link_libraries(random_grid PRIVATE ${Boost_PROGRAM_OPTIONS_LIBRARY})
target_link_libraries(random_disc_2 PRIVATE ${Boost_PROGRAM_OPTIONS_LIBRARY})
endif()
else() else()
message("NOTICE: The benchmarks requires Boost Program Options, and will not be compiled.") message("NOTICE: The benchmarks requires Boost Program Options, and will not be compiled.")
endif() endif()

View File

@ -9,7 +9,7 @@ find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
find_package(Qt6 QUIET COMPONENTS Widgets) find_package(Qt6 QUIET COMPONENTS Widgets)
if(CGAL_Qt6_FOUND AND Qt6_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)

View File

@ -9,7 +9,7 @@ find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
find_package(Qt6 QUIET COMPONENTS Widgets) find_package(Qt6 QUIET COMPONENTS Widgets)
if(CGAL_Qt6_FOUND AND Qt6_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)

View File

@ -19,7 +19,7 @@ endif()
if(CGAL_Qt6_FOUND AND Qt6_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON) set(CMAKE_AUTORCC ON)

View File

@ -9,7 +9,7 @@ find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
find_package(Qt6 QUIET COMPONENTS Widgets) find_package(Qt6 QUIET COMPONENTS Widgets)
if(CGAL_Qt6_FOUND AND Qt6_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)

View File

@ -9,7 +9,7 @@ find_package(Qt6 QUIET COMPONENTS Widgets)
if(CGAL_Qt6_FOUND AND Qt6_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)

View File

@ -9,7 +9,7 @@ find_package(Qt6 QUIET COMPONENTS Widgets)
if(CGAL_Qt6_FOUND AND Qt6_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
qt_add_executable(min min.cpp) qt_add_executable(min min.cpp)

View File

@ -11,7 +11,7 @@ include_directories(BEFORE ./include)
if(CGAL_Qt6_FOUND AND Qt6_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)

View File

@ -10,7 +10,7 @@ find_package(Qt6 QUIET COMPONENTS Widgets)
if(CGAL_Qt6_FOUND AND Qt6_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)

View File

@ -8,7 +8,7 @@ include_directories(BEFORE ./include)
if(CGAL_Qt6_FOUND AND Qt6_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)

View File

@ -16,13 +16,13 @@ endif()
find_package(Qt6 QUIET COMPONENTS Widgets) find_package(Qt6 QUIET COMPONENTS Widgets)
if(CGAL_Qt6_FOUND AND Qt6_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON) set(CMAKE_AUTORCC ON)
if(CGAL_Core_FOUND) if(CGAL_Core_FOUND)
add_definitions(-DCGAL_USE_CORE) add_compile_definitions(CGAL_USE_CORE)
endif() endif()
qt_add_executable(Polygon_2 Polygon_2.cpp qt_add_executable(Polygon_2 Polygon_2.cpp

View File

@ -15,7 +15,7 @@ if(CGAL_Qt6_FOUND AND Qt6_FOUND)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON) set(CMAKE_AUTORCC ON)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
qt_add_executable( qt_add_executable(

View File

@ -13,7 +13,7 @@ if(CGAL_Qt6_FOUND AND Qt6_FOUND)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON) set(CMAKE_AUTORCC ON)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
qt_add_executable( qt_add_executable(
Segment_voronoi_linf_2 Segment_voronoi_linf_2.cpp Segment_voronoi_linf_2 Segment_voronoi_linf_2.cpp

View File

@ -12,7 +12,7 @@ if(CGAL_Qt6_FOUND AND Qt6_FOUND)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON) set(CMAKE_AUTORCC ON)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
qt_add_executable( qt_add_executable(
Snap_rounding_2 Snap_rounding_2.cpp Snap_rounding_2 Snap_rounding_2.cpp

View File

@ -10,7 +10,7 @@ find_package(Qt6 QUIET COMPONENTS Widgets)
if(CGAL_Qt6_FOUND AND Qt6_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)

View File

@ -10,7 +10,7 @@ find_package(Qt6 QUIET COMPONENTS Widgets)
if(CGAL_Qt6_FOUND AND Qt6_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)

View File

@ -17,7 +17,7 @@ if(NOT CGAL_Qt6_FOUND OR NOT Qt6_FOUND)
return() return()
endif() endif()
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
#-------------------------------- #--------------------------------

View File

@ -18,10 +18,10 @@ endif()
include_directories(BEFORE include) include_directories(BEFORE include)
create_single_source_cgal_program("heat_method.cpp") create_single_source_cgal_program("heat_method.cpp")
target_link_libraries(heat_method PUBLIC CGAL::Eigen3_support) target_link_libraries(heat_method PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("heat_method_polyhedron.cpp") create_single_source_cgal_program("heat_method_polyhedron.cpp")
target_link_libraries(heat_method_polyhedron PUBLIC CGAL::Eigen3_support) target_link_libraries(heat_method_polyhedron PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("heat_method_surface_mesh.cpp") create_single_source_cgal_program("heat_method_surface_mesh.cpp")
target_link_libraries(heat_method_surface_mesh PUBLIC CGAL::Eigen3_support) target_link_libraries(heat_method_surface_mesh PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("heat_method_surface_mesh_direct.cpp") create_single_source_cgal_program("heat_method_surface_mesh_direct.cpp")
target_link_libraries(heat_method_surface_mesh_direct PUBLIC CGAL::Eigen3_support) target_link_libraries(heat_method_surface_mesh_direct PRIVATE CGAL::Eigen3_support)

View File

@ -18,10 +18,10 @@ endif()
include_directories(BEFORE include) include_directories(BEFORE include)
create_single_source_cgal_program("heat_method_concept.cpp") create_single_source_cgal_program("heat_method_concept.cpp")
target_link_libraries(heat_method_concept PUBLIC CGAL::Eigen3_support) target_link_libraries(heat_method_concept PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("heat_method_surface_mesh_test.cpp") create_single_source_cgal_program("heat_method_surface_mesh_test.cpp")
target_link_libraries(heat_method_surface_mesh_test PUBLIC CGAL::Eigen3_support) target_link_libraries(heat_method_surface_mesh_test PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("heat_method_surface_mesh_direct_test.cpp") create_single_source_cgal_program("heat_method_surface_mesh_direct_test.cpp")
target_link_libraries(heat_method_surface_mesh_direct_test PUBLIC CGAL::Eigen3_support) target_link_libraries(heat_method_surface_mesh_direct_test PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("heat_method_surface_mesh_intrinsic_test.cpp") create_single_source_cgal_program("heat_method_surface_mesh_intrinsic_test.cpp")
target_link_libraries(heat_method_surface_mesh_intrinsic_test PUBLIC CGAL::Eigen3_support) target_link_libraries(heat_method_surface_mesh_intrinsic_test PRIVATE CGAL::Eigen3_support)

View File

@ -23,10 +23,6 @@ function(create_single_source_cgal_program firstfile )
if(EXISTS "${firstfile}") if(EXISTS "${firstfile}")
if(CXX_FEATURES AND NOT COMMAND target_compile_features)
message(STATUS "NOTICE: ${exe_name}.cpp requires a CMake version >= 3.1 to detect C++ features, and will not be compiled.")
return()
endif()
if(CXX_FEATURES) if(CXX_FEATURES)
set(MISSING_CXX_FEATURES ${CXX_FEATURES}) set(MISSING_CXX_FEATURES ${CXX_FEATURES})
if(CMAKE_CXX_COMPILE_FEATURES) if(CMAKE_CXX_COMPILE_FEATURES)

View File

@ -49,7 +49,7 @@ set_property(GLOBAL PROPERTY CGAL_Core_FOUND TRUE)
function(CGAL_setup_CGAL_Core_dependencies target) function(CGAL_setup_CGAL_Core_dependencies target)
find_package( Boost 1.72 REQUIRED ) find_package( Boost 1.72 REQUIRED )
if (!CGAL_DISABLE_GMP AND GMP_FOUND) if (NOT CGAL_DISABLE_GMP AND GMP_FOUND)
use_CGAL_GMP_support(CGAL_Core INTERFACE) use_CGAL_GMP_support(CGAL_Core INTERFACE)
endif() endif()
target_compile_definitions(${target} INTERFACE CGAL_USE_CORE=1) target_compile_definitions(${target} INTERFACE CGAL_USE_CORE=1)

View File

@ -76,9 +76,9 @@ if(NOT CGAL_Qt6_MISSING_DEPS)
POSITION_INDEPENDENT_CODE TRUE POSITION_INDEPENDENT_CODE TRUE
EXCLUDE_FROM_ALL TRUE EXCLUDE_FROM_ALL TRUE
AUTOMOC TRUE) AUTOMOC TRUE)
target_link_libraries(CGAL_Qt6_moc_and_resources PUBLIC CGAL::CGAL Qt6::Widgets Qt6::OpenGLWidgets) target_link_libraries(CGAL_Qt6_moc_and_resources PRIVATE CGAL::CGAL Qt6::Widgets Qt6::OpenGLWidgets)
if(Qt6Svg_FOUND) if(Qt6Svg_FOUND)
target_link_libraries(CGAL_Qt6_moc_and_resources PUBLIC Qt6::Svg) target_link_libraries(CGAL_Qt6_moc_and_resources PRIVATE Qt6::Svg)
endif() endif()
add_library(CGAL::CGAL_Qt6_moc_and_resources ALIAS CGAL_Qt6_moc_and_resources) add_library(CGAL::CGAL_Qt6_moc_and_resources ALIAS CGAL_Qt6_moc_and_resources)
add_library(CGAL::Qt6_moc_and_resources ALIAS CGAL_Qt6_moc_and_resources) add_library(CGAL::Qt6_moc_and_resources ALIAS CGAL_Qt6_moc_and_resources)

View File

@ -33,7 +33,7 @@ find_package(TBB QUIET)
include(CGAL_TBB_support) include(CGAL_TBB_support)
create_single_source_cgal_program("test_TBB.cpp") create_single_source_cgal_program("test_TBB.cpp")
if(TARGET CGAL::TBB_support) if(TARGET CGAL::TBB_support)
target_link_libraries(test_TBB PUBLIC CGAL::TBB_support) target_link_libraries(test_TBB PRIVATE CGAL::TBB_support)
endif() endif()
create_link_to_program(CGAL) create_link_to_program(CGAL)

View File

@ -11,4 +11,4 @@ if(NOT ${CGAL_DIR_PATH} STREQUAL ${CGAL_GIVEN_DIR_PATH})
message( FATAL_ERROR "The CGAL_DIR is wrong !") message( FATAL_ERROR "The CGAL_DIR is wrong !")
endif() endif()
add_executable(test_configuration @CMAKE_CURRENT_SOURCE_DIR@/test_configuration.cpp) add_executable(test_configuration @CMAKE_CURRENT_SOURCE_DIR@/test_configuration.cpp)
target_link_libraries(test_configuration PUBLIC CGAL::CGAL) target_link_libraries(test_configuration PRIVATE CGAL::CGAL)

View File

@ -11,4 +11,4 @@ if(NOT ${CGAL_DIR_PATH} STREQUAL ${CGAL_GIVEN_DIR_PATH})
message( FATAL_ERROR "The CGAL_DIR is wrong !") message( FATAL_ERROR "The CGAL_DIR is wrong !")
endif() endif()
add_executable(test_configuration @CMAKE_CURRENT_SOURCE_DIR@/test_configuration_qt.cpp) add_executable(test_configuration @CMAKE_CURRENT_SOURCE_DIR@/test_configuration_qt.cpp)
target_link_libraries(test_configuration PUBLIC CGAL::CGAL CGAL::CGAL_Qt6) target_link_libraries(test_configuration PRIVATE CGAL::CGAL CGAL::CGAL_Qt6)

View File

@ -15,18 +15,14 @@ if(TARGET CGAL::Eigen3_support)
find_package(Boost QUIET COMPONENTS program_options) find_package(Boost QUIET COMPONENTS program_options)
if(Boost_PROGRAM_OPTIONS_FOUND) if(Boost_PROGRAM_OPTIONS_FOUND)
create_single_source_cgal_program("Mesh_estimation.cpp") create_single_source_cgal_program("Mesh_estimation.cpp")
target_link_libraries(Mesh_estimation PUBLIC CGAL::Eigen3_support) target_link_libraries(Mesh_estimation PRIVATE CGAL::Eigen3_support
if(TARGET Boost::program_options) Boost::program_options)
target_link_libraries(Mesh_estimation PRIVATE Boost::program_options)
else()
target_link_libraries(Mesh_estimation PRIVATE ${Boost_PROGRAM_OPTIONS_LIBRARY})
endif()
else() else()
message(STATUS "NOTICE: The example 'Mesh_estimation' requires Boost Program Options, and will not be compiled.") message(STATUS "NOTICE: The example 'Mesh_estimation' requires Boost Program Options, and will not be compiled.")
endif() endif()
create_single_source_cgal_program("Single_estimation.cpp") create_single_source_cgal_program("Single_estimation.cpp")
target_link_libraries(Single_estimation PUBLIC CGAL::Eigen3_support) target_link_libraries(Single_estimation PRIVATE CGAL::Eigen3_support)
else() else()
message("NOTICE: These examples require Eigen 3.1 (or greater), and will not be compiled.") message("NOTICE: These examples require Eigen 3.1 (or greater), and will not be compiled.")

View File

@ -11,7 +11,7 @@ find_package(Eigen3 3.1.0 QUIET) #(requires 3.1.0 or greater)
include(CGAL_Eigen3_support) include(CGAL_Eigen3_support)
if(TARGET CGAL::Eigen3_support) if(TARGET CGAL::Eigen3_support)
create_single_source_cgal_program("blind_1pt.cpp") create_single_source_cgal_program("blind_1pt.cpp")
target_link_libraries(blind_1pt PUBLIC CGAL::Eigen3_support) target_link_libraries(blind_1pt PRIVATE CGAL::Eigen3_support)
else() else()
message("NOTICE: This project requires Eigen 3.1 (or greater), and will not be compiled.") message("NOTICE: This project requires Eigen 3.1 (or greater), and will not be compiled.")
endif() endif()

View File

@ -37,10 +37,10 @@ if(CGAL_KERNEL_23_TEST_RT_FT_PREDICATE_FLAGS)
# - create a lot of possible combinations, which is expensive to test # - create a lot of possible combinations, which is expensive to test
# - create issues because some combinations might be RT-sufficient whereas others will require FT # - create issues because some combinations might be RT-sufficient whereas others will require FT
# #
# add_definitions(-DCGAL_KERNEL_23_TEST_RT_FT_PREDICATES_TEST_PREDICATES_WITH_TEMPLATED_OPERATORS) # add_compile_definitions(CGAL_KERNEL_23_TEST_RT_FT_PREDICATES_TEST_PREDICATES_WITH_TEMPLATED_OPERATORS)
create_single_source_cgal_program("atomic_compilation_test.cpp") create_single_source_cgal_program("atomic_compilation_test.cpp")
target_precompile_headers(atomic_compilation_test PUBLIC [["atomic_RT_FT_predicate_headers.h"]]) target_precompile_headers(atomic_compilation_test PRIVATE [["atomic_RT_FT_predicate_headers.h"]])
create_single_source_cgal_program("test_RT_or_FT_predicates.cpp") create_single_source_cgal_program("test_RT_or_FT_predicates.cpp")
target_compile_definitions(test_RT_or_FT_predicates PRIVATE target_compile_definitions(test_RT_or_FT_predicates PRIVATE

View File

@ -11,13 +11,13 @@ include(CGAL_CreateSingleSourceCGALProgram)
find_package(Eigen3 3.1.0 REQUIRED) find_package(Eigen3 3.1.0 REQUIRED)
if(Eigen3_FOUND) if(Eigen3_FOUND)
message(STATUS "Found Eigen") message(STATUS "Found Eigen")
include(CGAL_Eigen_support) include(CGAL_Eigen3_support)
set(targets kinetic_partition) set(targets kinetic_partition)
foreach(target ${targets}) foreach(target ${targets})
create_single_source_cgal_program("${target}.cpp") create_single_source_cgal_program("${target}.cpp")
target_link_libraries(${target} PUBLIC CGAL::Eigen_support) target_link_libraries(${target} PRIVATE CGAL::Eigen3_support)
endforeach() endforeach()
else() else()
message(ERROR "This program requires the Eigen library, and will not be compiled.") message(ERROR "This program requires the Eigen library, and will not be compiled.")

View File

@ -17,7 +17,7 @@ if(Boost_FOUND)
find_package(Eigen3 3.1.0 REQUIRED) find_package(Eigen3 3.1.0 REQUIRED)
if(Eigen3_FOUND) if(Eigen3_FOUND)
message(STATUS "Found Eigen") message(STATUS "Found Eigen")
include(CGAL_Eigen_support) include(CGAL_Eigen3_support)
set(targets kinetic_3d_test_all) set(targets kinetic_3d_test_all)
@ -27,8 +27,8 @@ if(Boost_FOUND)
foreach(target ${targets}) foreach(target ${targets})
create_single_source_cgal_program("${target}.cpp") create_single_source_cgal_program("${target}.cpp")
if(TARGET ${target}) if(TARGET ${target})
target_link_libraries(${target} PUBLIC ${project_linked_libraries} CGAL::Eigen_support) target_link_libraries(${target} PRIVATE ${project_linked_libraries} CGAL::Eigen3_support)
target_compile_definitions(${target} PUBLIC ${project_compilation_definitions}) target_compile_definitions(${target} PRIVATE ${project_compilation_definitions})
endif() endif()
endforeach() endforeach()
else() else()

View File

@ -11,13 +11,13 @@ include(CGAL_CreateSingleSourceCGALProgram)
find_package(Eigen3 3.1.0 REQUIRED) find_package(Eigen3 3.1.0 REQUIRED)
if(Eigen3_FOUND) if(Eigen3_FOUND)
message(STATUS "Found Eigen") message(STATUS "Found Eigen")
include(CGAL_Eigen_support) include(CGAL_Eigen3_support)
set(targets ksr_basic ksr_building ksr_parameters) set(targets ksr_basic ksr_building ksr_parameters)
foreach(target ${targets}) foreach(target ${targets})
create_single_source_cgal_program("${target}.cpp") create_single_source_cgal_program("${target}.cpp")
target_link_libraries(${target} PUBLIC CGAL::Eigen_support) target_link_libraries(${target} PRIVATE CGAL::Eigen3_support)
endforeach() endforeach()
else() else()
message(ERROR "This program requires the Eigen library, and will not be compiled.") message(ERROR "This program requires the Eigen library, and will not be compiled.")

View File

@ -11,13 +11,13 @@ include(CGAL_CreateSingleSourceCGALProgram)
find_package(Eigen3 3.1.0 REQUIRED) find_package(Eigen3 3.1.0 REQUIRED)
if(Eigen3_FOUND) if(Eigen3_FOUND)
message(STATUS "Found Eigen") message(STATUS "Found Eigen")
include(CGAL_Eigen_support) include(CGAL_Eigen3_support)
set(targets ksr_test ksr_reorientation ksr_regularization) set(targets ksr_test ksr_reorientation ksr_regularization)
foreach(target ${targets}) foreach(target ${targets})
create_single_source_cgal_program("${target}.cpp") create_single_source_cgal_program("${target}.cpp")
target_link_libraries(${target} PUBLIC CGAL::Eigen_support) target_link_libraries(${target} PRIVATE CGAL::Eigen3_support)
endforeach() endforeach()
else() else()
message(ERROR "This program requires the Eigen library, and will not be compiled.") message(ERROR "This program requires the Eigen library, and will not be compiled.")

View File

@ -3,7 +3,7 @@ project(Lab_Demo)
include(FeatureSummary) include(FeatureSummary)
add_definitions ( -DCGAL_NO_DEPRECATED_CODE ) add_compile_definitions(CGAL_NO_DEPRECATED_CODE)
# Find includes in corresponding build directories # Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
@ -12,7 +12,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
#Defines flags to emulate windows behavior for linking error generation #Defines flags to emulate windows behavior for linking error generation
if(CMAKE_CXX_COMPILER_ID EQUAL Clang if(CMAKE_CXX_COMPILER_ID STREQUAL Clang
OR CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCC
OR CMAKE_COMPILER_IS_GNUCXX) OR CMAKE_COMPILER_IS_GNUCXX)
if(UNIX OR APPLE) if(UNIX OR APPLE)
@ -48,8 +48,7 @@ set_package_properties(
DESCRIPTION "To find this package, it should be sufficient to fill the Qt6_DIR variable with: <Qt_dir>/<Qt_version>/<Compilator>/lib/cmake/Qt6") DESCRIPTION "To find this package, it should be sufficient to fill the Qt6_DIR variable with: <Qt_dir>/<Qt_version>/<Compilator>/lib/cmake/Qt6")
if(Qt6_FOUND) if(Qt6_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
add_definitions(-DSCENE_IMAGE_GL_BUFFERS_AVAILABLE)
endif(Qt6_FOUND) endif(Qt6_FOUND)
find_package(Eigen3 3.2.0 QUIET) #(requires 3.2.0 or greater) find_package(Eigen3 3.2.0 QUIET) #(requires 3.2.0 or greater)
@ -94,7 +93,7 @@ option(CGAL_ACTIVATE_CONCURRENT_MESH_3 "Activate parallelism in Mesh_3" OFF)
# And add -DCGAL_CONCURRENT_MESH_3 if that option is ON # And add -DCGAL_CONCURRENT_MESH_3 if that option is ON
if(CGAL_ACTIVATE_CONCURRENT_MESH_3 OR "$ENV{CGAL_ACTIVATE_CONCURRENT_MESH_3}") if(CGAL_ACTIVATE_CONCURRENT_MESH_3 OR "$ENV{CGAL_ACTIVATE_CONCURRENT_MESH_3}")
add_definitions(-DCGAL_CONCURRENT_MESH_3) add_compile_definitions(CGAL_CONCURRENT_MESH_3)
if(NOT TBB_FOUND) if(NOT TBB_FOUND)
find_package(TBB REQUIRED) find_package(TBB REQUIRED)
include(CGAL_TBB_support) include(CGAL_TBB_support)
@ -186,10 +185,10 @@ if(CGAL_Qt6_FOUND AND Qt6_FOUND)
Primitive_container.cpp Primitive_container.cpp
CGALlab_plugin_helper.cpp CGALlab_plugin_helper.cpp
CGAL_double_edit.cpp) CGAL_double_edit.cpp)
target_link_libraries(demo_framework PUBLIC Qt6::OpenGLWidgets Qt6::Widgets Qt6::Gui Qt6::Qml target_link_libraries(demo_framework PRIVATE Qt6::OpenGLWidgets Qt6::Widgets Qt6::Gui
CGAL::CGAL_Qt6) PUBLIC CGAL::CGAL_Qt6)
if(TARGET Qt6::WebSockets) if(TARGET Qt6::WebSockets)
target_link_libraries(demo_framework PUBLIC Qt6::WebSockets) target_link_libraries(demo_framework PRIVATE Qt6::WebSockets)
message(STATUS "Qt6WebSockets was found. Using WebSockets is therefore possible.") message(STATUS "Qt6WebSockets was found. Using WebSockets is therefore possible.")
endif() endif()
@ -216,8 +215,8 @@ if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_library(scene_basic_objects SHARED Scene_plane_item.cpp add_library(scene_basic_objects SHARED Scene_plane_item.cpp
Scene_spheres_item.cpp) Scene_spheres_item.cpp)
target_link_libraries( target_link_libraries(
scene_basic_objects PUBLIC demo_framework CGAL::CGAL_Qt6 Qt6::OpenGLWidgets scene_basic_objects PRIVATE demo_framework CGAL::CGAL_Qt6 Qt6::OpenGLWidgets
Qt6::Gui Qt6::Widgets) Qt6::Gui Qt6::Widgets)
add_library(scene_color_ramp SHARED Color_ramp.cpp) add_library(scene_color_ramp SHARED Color_ramp.cpp)
target_link_libraries(scene_color_ramp PRIVATE Qt6::Core) target_link_libraries(scene_color_ramp PRIVATE Qt6::Core)
@ -226,51 +225,58 @@ if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_library(point_dialog SHARED Show_point_dialog.cpp Show_point_dialog.ui add_library(point_dialog SHARED Show_point_dialog.cpp Show_point_dialog.ui
${Show_point_dialogUI_FILES}) ${Show_point_dialogUI_FILES})
target_link_libraries(point_dialog PUBLIC Qt6::OpenGLWidgets Qt6::Gui target_link_libraries(point_dialog PRIVATE Qt6::OpenGLWidgets Qt6::Gui
Qt6::Widgets) Qt6::Widgets)
cgal_add_compilation_test(point_dialog) cgal_add_compilation_test(point_dialog)
macro(add_item item_name) macro(add_item item_name)
add_library(${item_name} SHARED ${ARGN}) add_library(${item_name} SHARED ${ARGN})
target_link_libraries( target_link_libraries(
${item_name} PUBLIC demo_framework CGAL::CGAL_Qt6 Qt6::OpenGLWidgets Qt6::Gui ${item_name} PRIVATE demo_framework CGAL::CGAL_Qt6 Qt6::OpenGLWidgets Qt6::Gui
Qt6::Widgets) Qt6::Widgets)
cgal_add_compilation_test(${item_name}) cgal_add_compilation_test(${item_name})
add_to_cached_list(CGAL_EXECUTABLE_TARGETS ${item_name}) add_to_cached_list(CGAL_EXECUTABLE_TARGETS ${item_name})
CGAL_install_hooks() CGAL_install_hooks()
endmacro(add_item) endmacro(add_item)
add_item(scene_triangulation_3_item Scene_triangulation_3_item.cpp) add_item(scene_triangulation_3_item Scene_triangulation_3_item.cpp)
target_link_libraries(scene_triangulation_3_item PUBLIC scene_basic_objects scene_edit_box_item) target_link_libraries(scene_triangulation_3_item PRIVATE scene_basic_objects scene_edit_box_item)
add_item(scene_c3t3_item Scene_c3t3_item.cpp) add_item(scene_c3t3_item Scene_c3t3_item.cpp)
target_link_libraries( target_link_libraries(
scene_c3t3_item PUBLIC scene_triangulation_3_item scene_c3t3_item
PUBLIC
scene_triangulation_3_item
PRIVATE
scene_surface_mesh_item scene_polygon_soup_item scene_surface_mesh_item scene_polygon_soup_item
scene_basic_objects ${TBB_LIBRARIES}) scene_basic_objects ${TBB_LIBRARIES})
add_item(scene_tetrahedra_item Scene_tetrahedra_item.cpp)
target_link_libraries(scene_tetrahedra_item PRIVATE scene_c3t3_item)
if(TARGET CGAL::TBB_support) if(TARGET CGAL::TBB_support)
target_link_libraries(scene_c3t3_item PUBLIC CGAL::TBB_support) target_link_libraries(scene_c3t3_item PRIVATE CGAL::TBB_support)
target_link_libraries(scene_triangulation_3_item PUBLIC CGAL::TBB_support) target_link_libraries(scene_triangulation_3_item PRIVATE CGAL::TBB_support)
target_link_libraries(scene_tetrahedra_item PRIVATE CGAL::TBB_support)
endif() endif()
if(COMMAND target_precompile_headers) if(COMMAND target_precompile_headers)
# Support for precompiled headers, for Mesh_3 (since CMake 3.16) # Support for precompiled headers, for Mesh_3 (since CMake 3.16)
target_precompile_headers(scene_c3t3_item PUBLIC [["C3t3_type.h"]]) target_precompile_headers(scene_c3t3_item PUBLIC [["C3t3_type.h"]])
endif() endif()
add_item(scene_tetrahedra_item Scene_tetrahedra_item.cpp)
target_link_libraries(scene_tetrahedra_item PUBLIC scene_c3t3_item)
add_item(scene_aff_transformed_item Plugins/PCA/Scene_aff_transformed_item.cpp) add_item(scene_aff_transformed_item Plugins/PCA/Scene_aff_transformed_item.cpp)
add_item(scene_aff_transformed_point_set_item Plugins/PCA/Scene_aff_transformed_point_set_item.cpp) add_item(scene_aff_transformed_point_set_item Plugins/PCA/Scene_aff_transformed_point_set_item.cpp)
target_link_libraries(scene_aff_transformed_point_set_item PUBLIC scene_points_with_normal_item target_link_libraries(scene_aff_transformed_point_set_item PRIVATE scene_points_with_normal_item
scene_aff_transformed_item) scene_aff_transformed_item)
add_item(scene_aff_transformed_polygon_soup_item Plugins/PCA/Scene_aff_transformed_polygon_soup_item.cpp) add_item(scene_aff_transformed_polygon_soup_item Plugins/PCA/Scene_aff_transformed_polygon_soup_item.cpp)
target_link_libraries(scene_aff_transformed_polygon_soup_item PUBLIC scene_polygon_soup_item target_link_libraries(scene_aff_transformed_polygon_soup_item PRIVATE scene_polygon_soup_item
scene_aff_transformed_item) scene_aff_transformed_item)
add_item(scene_aff_transformed_surface_mesh_item Plugins/PCA/Scene_aff_transformed_surface_mesh_item.cpp) add_item(scene_aff_transformed_surface_mesh_item Plugins/PCA/Scene_aff_transformed_surface_mesh_item.cpp)
target_link_libraries(scene_aff_transformed_surface_mesh_item PUBLIC scene_surface_mesh_item target_link_libraries(scene_aff_transformed_surface_mesh_item PRIVATE scene_surface_mesh_item
scene_aff_transformed_item) scene_aff_transformed_item)
add_item(scene_edit_box_item Plugins/PCA/Scene_edit_box_item.cpp) add_item(scene_edit_box_item Plugins/PCA/Scene_edit_box_item.cpp)
@ -278,65 +284,68 @@ if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_item(scene_surface_mesh_item Scene_surface_mesh_item.cpp) add_item(scene_surface_mesh_item Scene_surface_mesh_item.cpp)
if(TBB_FOUND) if(TBB_FOUND)
target_link_libraries(scene_surface_mesh_item PUBLIC CGAL::TBB_support) target_link_libraries(scene_surface_mesh_item PRIVATE CGAL::TBB_support)
endif() endif()
# special # special
add_item(scene_item_decorator Scene_polyhedron_item_decorator.cpp) add_item(scene_item_decorator Scene_polyhedron_item_decorator.cpp)
target_link_libraries(scene_item_decorator PUBLIC scene_surface_mesh_item) target_link_libraries(scene_item_decorator PRIVATE scene_surface_mesh_item)
add_item(scene_k_ring_selection add_item(scene_k_ring_selection
Plugins/PMP/Scene_facegraph_item_k_ring_selection.cpp) Plugins/PMP/Scene_facegraph_item_k_ring_selection.cpp)
target_link_libraries(scene_k_ring_selection PUBLIC scene_surface_mesh_item) target_link_libraries(scene_k_ring_selection PRIVATE scene_surface_mesh_item)
add_item(scene_selection_item Scene_polyhedron_selection_item.cpp) add_item(scene_selection_item Scene_polyhedron_selection_item.cpp)
target_link_libraries(scene_selection_item PUBLIC scene_item_decorator target_link_libraries(scene_selection_item
scene_k_ring_selection) PUBLIC
scene_surface_mesh_item
scene_item_decorator
scene_k_ring_selection)
if(TBB_FOUND) if(TBB_FOUND)
target_link_libraries(scene_selection_item PUBLIC CGAL::TBB_support) target_link_libraries(scene_selection_item PRIVATE CGAL::TBB_support)
endif() endif()
add_item(scene_shortest_path_item add_item(scene_shortest_path_item
Plugins/Surface_mesh/Scene_polyhedron_shortest_path_item.cpp) Plugins/Surface_mesh/Scene_polyhedron_shortest_path_item.cpp)
target_link_libraries( target_link_libraries(
scene_shortest_path_item scene_shortest_path_item
PUBLIC scene_item_decorator scene_surface_mesh_item scene_polylines_item) PRIVATE scene_item_decorator scene_surface_mesh_item scene_polylines_item)
add_item(scene_movable_sm_item Plugins/AABB_tree/Scene_movable_sm_item.cpp) add_item(scene_movable_sm_item Plugins/AABB_tree/Scene_movable_sm_item.cpp)
if(TARGET CGAL::Eigen3_support) if(TARGET CGAL::Eigen3_support)
add_item(scene_textured_item Scene_textured_surface_mesh_item.cpp add_item(scene_textured_item Scene_textured_surface_mesh_item.cpp
texture.cpp) texture.cpp)
target_link_libraries(scene_textured_item PUBLIC CGAL::Eigen3_support) target_link_libraries(scene_textured_item PRIVATE CGAL::Eigen3_support)
add_item(scene_mcf_item Plugins/PMP/Scene_mcf_item.cpp) add_item(scene_mcf_item Plugins/PMP/Scene_mcf_item.cpp)
target_link_libraries(scene_mcf_item PUBLIC CGAL::Eigen3_support) target_link_libraries(scene_mcf_item PRIVATE CGAL::Eigen3_support)
endif() endif()
add_item(scene_implicit_function_item Scene_implicit_function_item.cpp) add_item(scene_implicit_function_item Scene_implicit_function_item.cpp)
target_link_libraries(scene_implicit_function_item PUBLIC scene_color_ramp) target_link_libraries(scene_implicit_function_item PRIVATE scene_color_ramp)
add_item(scene_polygon_soup_item Scene_polygon_soup_item.cpp) add_item(scene_polygon_soup_item Scene_polygon_soup_item.cpp)
target_link_libraries(scene_polygon_soup_item PUBLIC scene_surface_mesh_item) target_link_libraries(scene_polygon_soup_item PRIVATE scene_surface_mesh_item)
add_item(scene_nef_polyhedron_item Scene_nef_polyhedron_item.cpp) add_item(scene_nef_polyhedron_item Scene_nef_polyhedron_item.cpp)
target_link_libraries(scene_nef_polyhedron_item target_link_libraries(scene_nef_polyhedron_item
PUBLIC scene_surface_mesh_item) PRIVATE scene_surface_mesh_item)
add_item(scene_points_with_normal_item Scene_points_with_normal_item.cpp) add_item(scene_points_with_normal_item Scene_points_with_normal_item.cpp)
if(TARGET CGAL::Eigen3_support) if(TARGET CGAL::Eigen3_support)
target_link_libraries(scene_points_with_normal_item target_link_libraries(scene_points_with_normal_item
PUBLIC CGAL::Eigen3_support) PRIVATE CGAL::Eigen3_support)
endif() endif()
if(TBB_FOUND) if(TBB_FOUND)
target_link_libraries(scene_points_with_normal_item target_link_libraries(scene_points_with_normal_item
PUBLIC CGAL::TBB_support) PRIVATE CGAL::TBB_support)
endif() endif()
add_item(scene_polylines_item Scene_polylines_item.cpp) add_item(scene_polylines_item Scene_polylines_item.cpp)
target_link_libraries( target_link_libraries(
scene_polylines_item PUBLIC scene_basic_objects scene_polylines_item PRIVATE scene_basic_objects
scene_points_with_normal_item) scene_points_with_normal_item)
add_item(scene_lcc_item Scene_lcc_item.cpp) add_item(scene_lcc_item Scene_lcc_item.cpp)
@ -345,7 +354,7 @@ if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_to_cached_list(CGAL_EXECUTABLE_TARGETS ${lib}) add_to_cached_list(CGAL_EXECUTABLE_TARGETS ${lib})
endforeach() endforeach()
add_definitions(-DUSE_FORWARD_DECL) add_compile_definitions(USE_FORWARD_DECL)
add_library( add_library(
cgal_lab SHARED cgal_lab SHARED
MainWindow.cpp MainWindow.cpp
@ -360,8 +369,9 @@ if(CGAL_Qt6_FOUND AND Qt6_FOUND)
${statisticsUI_FILES} ${statisticsUI_FILES}
${SubViewerUI_files}) ${SubViewerUI_files})
target_link_libraries( target_link_libraries(
cgal_lab PUBLIC demo_framework point_dialog Qt6::Gui Qt6::OpenGLWidgets cgal_lab PRIVATE demo_framework point_dialog Qt6::Widgets
Qt6::Widgets ) PUBLIC CGAL::CGAL Qt6::Gui Qt6::OpenGLWidgets Qt6::Qml
)
if(LIBSSH_FOUND) if(LIBSSH_FOUND)
target_compile_definitions(cgal_lab PRIVATE -DCGAL_USE_SSH) target_compile_definitions(cgal_lab PRIVATE -DCGAL_USE_SSH)
target_link_libraries(cgal_lab PRIVATE ${LIBSSH_LIBRARIES}) target_link_libraries(cgal_lab PRIVATE ${LIBSSH_LIBRARIES})
@ -381,7 +391,7 @@ if(CGAL_Qt6_FOUND AND Qt6_FOUND)
target_link_libraries(CGALlab PRIVATE demo_framework) target_link_libraries(CGALlab PRIVATE demo_framework)
# Link with CGAL # Link with CGAL
target_link_libraries(CGALlab PUBLIC CGAL::CGAL_Qt6) target_link_libraries(CGALlab PRIVATE CGAL::CGAL_Qt6)
add_to_cached_list(CGAL_EXECUTABLE_TARGETS CGALlab) add_to_cached_list(CGAL_EXECUTABLE_TARGETS CGALlab)
@ -420,7 +430,7 @@ if(CGAL_Qt6_FOUND AND Qt6_FOUND)
#WS Server #WS Server
if(TARGET Qt6::WebSockets AND TARGET Qt6::Network) if(TARGET Qt6::WebSockets AND TARGET Qt6::Network)
add_executable(WS_server Server_ws.cpp) add_executable(WS_server Server_ws.cpp)
target_link_libraries(WS_server PUBLIC Qt6::WebSockets Qt6::Widgets Qt6::Network) target_link_libraries(WS_server PRIVATE Qt6::WebSockets Qt6::Widgets Qt6::Network)
message(STATUS "Qt6WebSockets was found. Using WebSockets is therefore possible.") message(STATUS "Qt6WebSockets was found. Using WebSockets is therefore possible.")
endif() endif()
# #

View File

@ -1,12 +1,12 @@
include(CGALlab_macros) include(CGALlab_macros)
cgal_lab_plugin(do_trees_intersect_plugin Do_trees_intersect_plugin) cgal_lab_plugin(do_trees_intersect_plugin Do_trees_intersect_plugin)
target_link_libraries(do_trees_intersect_plugin PUBLIC scene_surface_mesh_item target_link_libraries(do_trees_intersect_plugin PRIVATE scene_surface_mesh_item
scene_movable_sm_item) scene_movable_sm_item)
cgal_lab_plugin(cut_plugin Cut_plugin) cgal_lab_plugin(cut_plugin Cut_plugin)
target_link_libraries(cut_plugin PUBLIC scene_surface_mesh_item target_link_libraries(cut_plugin PRIVATE scene_surface_mesh_item
scene_basic_objects scene_color_ramp) scene_basic_objects scene_color_ramp)
if(TARGET CGAL::TBB_support) if(TARGET CGAL::TBB_support)
target_link_libraries(cut_plugin PUBLIC CGAL::TBB_support) target_link_libraries(cut_plugin PRIVATE CGAL::TBB_support)
endif() endif()

View File

@ -5,4 +5,4 @@ qt6_wrap_ui(alpha_wrap_3UI_FILES alpha_wrap_3_dialog.ui)
cgal_lab_plugin(alpha_wrap_3_plugin Alpha_wrap_3_plugin ${alpha_wrap_3UI_FILES}) cgal_lab_plugin(alpha_wrap_3_plugin Alpha_wrap_3_plugin ${alpha_wrap_3UI_FILES})
#if the plugin uses external libraries like scene_items #if the plugin uses external libraries like scene_items
target_link_libraries(alpha_wrap_3_plugin PUBLIC scene_surface_mesh_item scene_polygon_soup_item scene_points_with_normal_item scene_selection_item scene_polylines_item) target_link_libraries(alpha_wrap_3_plugin PRIVATE scene_surface_mesh_item scene_polygon_soup_item scene_points_with_normal_item scene_selection_item scene_polylines_item)

View File

@ -8,4 +8,4 @@ cgal_lab_plugin(camera_positions_plugin
KEYWORDS Viewer) KEYWORDS Viewer)
add_dependencies(camera_positions_plugin demo_framework) add_dependencies(camera_positions_plugin demo_framework)
target_link_libraries(camera_positions_plugin PUBLIC demo_framework) target_link_libraries(camera_positions_plugin PRIVATE demo_framework)

View File

@ -33,7 +33,7 @@ if(TARGET CGAL::Eigen3_support)
Classification) Classification)
target_link_libraries( target_link_libraries(
classification_plugin classification_plugin
PUBLIC scene_points_with_normal_item PRIVATE scene_points_with_normal_item
scene_polylines_item scene_polylines_item
scene_polygon_soup_item scene_polygon_soup_item
scene_surface_mesh_item scene_surface_mesh_item
@ -48,16 +48,16 @@ if(TARGET CGAL::Eigen3_support)
endif() endif()
if(TARGET CGAL::Boost_serialization_support AND TARGET CGAL::Boost_iostreams_support) if(TARGET CGAL::Boost_serialization_support AND TARGET CGAL::Boost_iostreams_support)
target_link_libraries(classification_plugin PUBLIC CGAL::Boost_serialization_support target_link_libraries(classification_plugin PRIVATE CGAL::Boost_serialization_support
CGAL::Boost_iostreams_support) CGAL::Boost_iostreams_support)
endif() endif()
if(TARGET CGAL::OpenCV_support) if(TARGET CGAL::OpenCV_support)
target_link_libraries(classification_plugin PUBLIC CGAL::OpenCV_support) target_link_libraries(classification_plugin PRIVATE CGAL::OpenCV_support)
endif() endif()
if(TARGET CGAL::TBB_support) if(TARGET CGAL::TBB_support)
target_link_libraries(classification_plugin PUBLIC CGAL::TBB_support) target_link_libraries(classification_plugin PRIVATE CGAL::TBB_support)
endif() endif()
add_dependencies(classification_plugin point_set_selection_plugin selection_plugin) add_dependencies(classification_plugin point_set_selection_plugin selection_plugin)

View File

@ -1,4 +1,5 @@
include(CGALlab_macros) include(CGALlab_macros)
cgal_lab_plugin(nef_plugin Nef_plugin) cgal_lab_plugin(nef_plugin Nef_plugin)
target_link_libraries(nef_plugin PUBLIC scene_nef_polyhedron_item) target_link_libraries(nef_plugin PRIVATE scene_nef_polyhedron_item scene_surface_mesh_item)

View File

@ -3,11 +3,11 @@ include(CGALlab_macros)
cgal_lab_plugin(convex_hull_plugin Convex_hull_plugin KEYWORDS cgal_lab_plugin(convex_hull_plugin Convex_hull_plugin KEYWORDS
PointSetProcessing) PointSetProcessing)
target_link_libraries( target_link_libraries(
convex_hull_plugin PUBLIC scene_points_with_normal_item scene_polylines_item convex_hull_plugin PRIVATE scene_points_with_normal_item scene_polylines_item
scene_selection_item scene_surface_mesh_item) scene_selection_item scene_surface_mesh_item)
cgal_lab_plugin(kernel_plugin Kernel_plugin) cgal_lab_plugin(kernel_plugin Kernel_plugin)
target_link_libraries(kernel_plugin PUBLIC scene_surface_mesh_item) target_link_libraries(kernel_plugin PRIVATE scene_surface_mesh_item)
if(CGAL_ENABLE_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND) if(CGAL_ENABLE_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)

View File

@ -2,15 +2,16 @@ include(CGALlab_macros)
qt6_wrap_ui(display_propertyUI_FILES Display_property.ui) qt6_wrap_ui(display_propertyUI_FILES Display_property.ui)
cgal_lab_plugin(display_property_plugin Display_property_plugin ${display_propertyUI_FILES} KEYWORDS Viewer) cgal_lab_plugin(display_property_plugin Display_property_plugin ${display_propertyUI_FILES} KEYWORDS Viewer)
target_link_libraries(display_property_plugin PUBLIC scene_surface_mesh_item target_link_libraries(display_property_plugin PRIVATE scene_surface_mesh_item
scene_points_with_normal_item scene_points_with_normal_item
scene_color_ramp) scene_color_ramp
CGAL::Eigen3_support)
if(TARGET CGAL::Eigen3_support) if(TARGET CGAL::Eigen3_support)
qt6_wrap_ui(heat_methodUI_FILES Heat_method.ui) qt6_wrap_ui(heat_methodUI_FILES Heat_method.ui)
cgal_lab_plugin(heat_method_plugin Heat_method_plugin ${heat_methodUI_FILES} KEYWORDS Viewer) cgal_lab_plugin(heat_method_plugin Heat_method_plugin ${heat_methodUI_FILES} KEYWORDS Viewer)
target_link_libraries(heat_method_plugin PUBLIC scene_surface_mesh_item target_link_libraries(heat_method_plugin PRIVATE scene_surface_mesh_item
scene_selection_item scene_selection_item
scene_color_ramp scene_color_ramp
CGAL::Eigen3_support) CGAL::Eigen3_support)
endif() endif()

View File

@ -13,39 +13,39 @@ endif()
include(CGAL_LASLIB_support) include(CGAL_LASLIB_support)
cgal_lab_plugin(gocad_plugin GOCAD_io_plugin KEYWORDS Viewer) cgal_lab_plugin(gocad_plugin GOCAD_io_plugin KEYWORDS Viewer)
target_link_libraries(gocad_plugin PUBLIC scene_surface_mesh_item) target_link_libraries(gocad_plugin PRIVATE scene_surface_mesh_item)
qt6_wrap_ui( funcUI_FILES Function_dialog.ui ) qt6_wrap_ui( funcUI_FILES Function_dialog.ui )
cgal_lab_plugin(io_implicit_function_plugin cgal_lab_plugin(io_implicit_function_plugin
Implicit_function_io_plugin Implicit_function_io_plugin
${funcUI_FILES} ${funcUI_FILES}
KEYWORDS Viewer Mesh_3) KEYWORDS Viewer Mesh_3)
target_link_libraries(io_implicit_function_plugin PUBLIC scene_implicit_function_item) target_link_libraries(io_implicit_function_plugin PRIVATE scene_implicit_function_item)
cgal_lab_plugin(nef_io_plugin Nef_io_plugin KEYWORDS Viewer) cgal_lab_plugin(nef_io_plugin Nef_io_plugin KEYWORDS Viewer)
target_link_libraries(nef_io_plugin PUBLIC scene_nef_polyhedron_item) target_link_libraries(nef_io_plugin PRIVATE scene_nef_polyhedron_item)
cgal_lab_plugin(off_plugin OFF_io_plugin cgal_lab_plugin(off_plugin OFF_io_plugin
KEYWORDS Viewer Mesh_3 PointSetProcessing Classification PMP) KEYWORDS Viewer Mesh_3 PointSetProcessing Classification PMP)
target_link_libraries(off_plugin PUBLIC scene_polygon_soup_item scene_points_with_normal_item scene_surface_mesh_item) target_link_libraries(off_plugin PRIVATE scene_polygon_soup_item scene_points_with_normal_item scene_surface_mesh_item)
cgal_lab_plugin(off_to_nef_plugin OFF_to_nef_io_plugin KEYWORDS Viewer) cgal_lab_plugin(off_to_nef_plugin OFF_to_nef_io_plugin KEYWORDS Viewer)
target_link_libraries(off_to_nef_plugin PUBLIC scene_nef_polyhedron_item) target_link_libraries(off_to_nef_plugin PRIVATE scene_nef_polyhedron_item)
cgal_lab_plugin(polylines_io_plugin Polylines_io_plugin KEYWORDS Viewer Mesh_3) cgal_lab_plugin(polylines_io_plugin Polylines_io_plugin KEYWORDS Viewer Mesh_3)
target_link_libraries(polylines_io_plugin PUBLIC scene_polylines_item) target_link_libraries(polylines_io_plugin PRIVATE scene_polylines_item)
cgal_lab_plugin(wkt_plugin WKT_io_plugin KEYWORDS Viewer PointSetProcessing Mesh_3) cgal_lab_plugin(wkt_plugin WKT_io_plugin KEYWORDS Viewer PointSetProcessing Mesh_3)
target_link_libraries(wkt_plugin PUBLIC scene_polylines_item) target_link_libraries(wkt_plugin PRIVATE scene_polylines_item)
cgal_lab_plugin(stl_plugin STL_io_plugin KEYWORDS Viewer PMP) cgal_lab_plugin(stl_plugin STL_io_plugin KEYWORDS Viewer PMP)
target_link_libraries(stl_plugin PUBLIC scene_surface_mesh_item scene_polygon_soup_item) target_link_libraries(stl_plugin PRIVATE scene_surface_mesh_item scene_polygon_soup_item)
cgal_lab_plugin(surf_io_plugin Surf_io_plugin KEYWORDS Viewer PMP) cgal_lab_plugin(surf_io_plugin Surf_io_plugin KEYWORDS Viewer PMP)
target_link_libraries(surf_io_plugin PUBLIC scene_surface_mesh_item) target_link_libraries(surf_io_plugin PRIVATE scene_surface_mesh_item)
cgal_lab_plugin(lcc_io_plugin lcc_io_plugin KEYWORDS Viewer) cgal_lab_plugin(lcc_io_plugin lcc_io_plugin KEYWORDS Viewer)
target_link_libraries(lcc_io_plugin PUBLIC scene_lcc_item) target_link_libraries(lcc_io_plugin PRIVATE scene_lcc_item)
find_package(VTK 9.0 QUIET COMPONENTS CommonCore IOCore IOLegacy IOXML FiltersCore FiltersSources) find_package(VTK 9.0 QUIET COMPONENTS CommonCore IOCore IOLegacy IOXML FiltersCore FiltersSources)
set_package_properties( set_package_properties(
@ -54,29 +54,42 @@ set_package_properties(
PURPOSE "Can be used for I/O (DICOM, VTU, VTP).") PURPOSE "Can be used for I/O (DICOM, VTU, VTP).")
cgal_lab_plugin(triangulation_3_io_plugin triangulation_3_io_plugin KEYWORDS Viewer) cgal_lab_plugin(triangulation_3_io_plugin triangulation_3_io_plugin KEYWORDS Viewer)
target_link_libraries(triangulation_3_io_plugin PUBLIC scene_triangulation_3_item) target_link_libraries(triangulation_3_io_plugin PRIVATE scene_triangulation_3_item)
if(TARGET CGAL::TBB_support)
target_link_libraries(triangulation_3_io_plugin PRIVATE CGAL::TBB_support)
endif()
if(VTK_FOUND AND VTK_LIBRARIES) if(VTK_FOUND AND VTK_LIBRARIES)
message(STATUS "VTK ${VTK_VERSION} found ${VTK_LIBRARIES}") message(STATUS "VTK ${VTK_VERSION} found ${VTK_LIBRARIES}")
cgal_lab_plugin(vtk_plugin VTK_io_plugin KEYWORDS Viewer Mesh_3) cgal_lab_plugin(vtk_plugin VTK_io_plugin KEYWORDS Viewer Mesh_3)
target_link_libraries(vtk_plugin PUBLIC scene_surface_mesh_item scene_polylines_item scene_c3t3_item scene_points_with_normal_item target_link_libraries(vtk_plugin
${VTK_LIBRARIES}) PRIVATE
scene_surface_mesh_item
scene_polygon_soup_item
scene_polylines_item
scene_c3t3_item
scene_points_with_normal_item
${VTK_LIBRARIES}
)
target_compile_definitions(vtk_plugin PRIVATE -DCGAL_USE_VTK -DNOMINMAX) 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()
else() else()
message(STATUS "NOTICE: the vtk IO plugin needs VTK 9.0 or greater and will not be compiled.") message(STATUS "NOTICE: the vtk IO plugin needs VTK 9.0 or greater and will not be compiled.")
endif() endif()
cgal_lab_plugin(xyz_plugin XYZ_io_plugin KEYWORDS Viewer PointSetProcessing Classification) cgal_lab_plugin(xyz_plugin XYZ_io_plugin KEYWORDS Viewer PointSetProcessing Classification)
target_link_libraries(xyz_plugin PUBLIC scene_points_with_normal_item) target_link_libraries(xyz_plugin PRIVATE scene_points_with_normal_item)
cgal_lab_plugin(ply_plugin PLY_io_plugin KEYWORDS Viewer PointSetProcessing Classification PMP) cgal_lab_plugin(ply_plugin PLY_io_plugin KEYWORDS Viewer PointSetProcessing Classification PMP)
target_link_libraries(ply_plugin PUBLIC scene_points_with_normal_item scene_polygon_soup_item scene_surface_mesh_item scene_textured_item) target_link_libraries(ply_plugin PRIVATE scene_points_with_normal_item scene_polygon_soup_item scene_surface_mesh_item scene_textured_item)
if (TARGET CGAL::LASLIB_support) if (TARGET CGAL::LASLIB_support)
cgal_lab_plugin(las_plugin LAS_io_plugin KEYWORDS Viewer PointSetProcessing Classification) cgal_lab_plugin(las_plugin LAS_io_plugin KEYWORDS Viewer PointSetProcessing Classification)
target_link_libraries(las_plugin PUBLIC scene_points_with_normal_item CGAL::LASLIB_support) target_link_libraries(las_plugin PRIVATE scene_points_with_normal_item CGAL::LASLIB_support)
if(MSVC) if(MSVC)
target_compile_definitions( target_compile_definitions(
las_plugin las_plugin
PUBLIC "-D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS") PRIVATE "-D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS")
endif() endif()
else() else()
message(STATUS "NOTICE: the LAS IO plugin needs LAS libraries and will not be compiled.") message(STATUS "NOTICE: the LAS IO plugin needs LAS libraries and will not be compiled.")

View File

@ -3,4 +3,4 @@ include(CGALlab_macros)
cgal_lab_plugin(isosurface_3_plugin Isosurface_3_plugin KEYWORDS cgal_lab_plugin(isosurface_3_plugin Isosurface_3_plugin KEYWORDS
Isosurface_3) Isosurface_3)
target_link_libraries( target_link_libraries(
isosurface_3_plugin PUBLIC scene_polygon_soup_item scene_image_item ) isosurface_3_plugin PRIVATE scene_polygon_soup_item scene_image_item )

View File

@ -4,5 +4,5 @@ qt6_wrap_ui(mesh_2UI_FILES mesh_2_dialog.ui)
cgal_lab_plugin(mesh_2_plugin Mesh_2_plugin ${mesh_2UI_FILES}) cgal_lab_plugin(mesh_2_plugin Mesh_2_plugin ${mesh_2UI_FILES})
#if the plugin uses external libraries like scene_items #if the plugin uses external libraries like scene_items
target_link_libraries( target_link_libraries(
mesh_2_plugin PUBLIC scene_surface_mesh_item scene_polylines_item mesh_2_plugin PRIVATE scene_surface_mesh_item scene_polylines_item
scene_points_with_normal_item) scene_points_with_normal_item)

View File

@ -19,13 +19,13 @@ cgal_lab_plugin(
Mesh_3) Mesh_3)
target_link_libraries( target_link_libraries(
mesh_3_plugin mesh_3_plugin
PUBLIC scene_polygon_soup_item PRIVATE scene_polygon_soup_item
scene_polylines_item scene_polylines_item
scene_implicit_function_item scene_implicit_function_item
scene_image_item scene_image_item
scene_surface_mesh_item scene_surface_mesh_item
scene_c3t3_item scene_c3t3_item
${OPENGL_gl_LIBRARY}) ${OPENGL_gl_LIBRARY})
target_include_directories(mesh_3_plugin PRIVATE include) target_include_directories(mesh_3_plugin PRIVATE include)
find_package(ITK NAMES ITK InsightToolkit find_package(ITK NAMES ITK InsightToolkit
@ -34,7 +34,7 @@ if(ITK_FOUND)
include(CGAL_ITK_support) include(CGAL_ITK_support)
message(STATUS "ITK found") message(STATUS "ITK found")
include(${ITK_USE_FILE}) include(${ITK_USE_FILE})
target_link_libraries(mesh_3_plugin PUBLIC CGAL::ITK_support) target_link_libraries(mesh_3_plugin PRIVATE CGAL::ITK_support)
endif(ITK_FOUND) endif(ITK_FOUND)
find_package(VTK 9.0 QUIET COMPONENTS ImagingGeneral IOImage IOXML NO_MODULE) find_package(VTK 9.0 QUIET COMPONENTS ImagingGeneral IOImage IOXML NO_MODULE)
@ -53,16 +53,13 @@ if(Boost_FILESYSTEM_FOUND)
${imgUI_FILES} ${imgUI_FILES}
${VOLUME_MOC_OUTFILES} ${VOLUME_MOC_OUTFILES}
KEYWORDS Viewer Mesh_3) KEYWORDS Viewer Mesh_3)
target_link_libraries(io_image_plugin PUBLIC scene_image_item ${VTK_LIBRARIES} CGAL::CGAL_ImageIO) target_link_libraries(io_image_plugin PRIVATE scene_image_item ${VTK_LIBRARIES} CGAL::CGAL_ImageIO)
if(VTK_LIBRARIES) if(VTK_LIBRARIES)
target_compile_definitions(io_image_plugin PRIVATE -DCGAL_USE_VTK -DNOMINMAX) target_compile_definitions(io_image_plugin PRIVATE -DCGAL_USE_VTK -DNOMINMAX)
endif() endif()
if(TARGET Boost::filesystem)
target_link_libraries(io_image_plugin PUBLIC Boost::filesystem target_link_libraries(io_image_plugin PRIVATE Boost::filesystem Boost::system)
Boost::system)
else()
target_link_libraries(io_image_plugin PUBLIC ${Boost_LIBRARIES})
endif()
else() else()
message(STATUS "NOTICE: the Io_image_plugin requires boost-filesystem, and will not be compiled") message(STATUS "NOTICE: the Io_image_plugin requires boost-filesystem, and will not be compiled")
endif() endif()
@ -76,47 +73,50 @@ cgal_lab_plugin(
Mesh_3) Mesh_3)
target_link_libraries( target_link_libraries(
mesh_3_optimization_plugin mesh_3_optimization_plugin
PUBLIC scene_c3t3_item scene_surface_mesh_item scene_image_item PRIVATE scene_c3t3_item scene_surface_mesh_item scene_image_item
scene_implicit_function_item) scene_implicit_function_item)
# Use Eigen # Use Eigen
find_package(Eigen3 3.1.0 QUIET) #(3.1.0 or greater) find_package(Eigen3 3.1.0 QUIET) #(3.1.0 or greater)
include(CGAL_Eigen3_support) include(CGAL_Eigen3_support)
if(TARGET CGAL::Eigen3_support) if(TARGET CGAL::Eigen3_support)
target_link_libraries(mesh_3_optimization_plugin PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_3_optimization_plugin PRIVATE CGAL::Eigen3_support)
else() else()
message(STATUS "NOTICE: The Mesh_3_optimization_plugin requires Eigen, which was not found." 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.") "A deprecated class will be used to replace it. Warnings are to be expected.")
endif() endif()
cgal_lab_plugin(c3t3_io_plugin C3t3_io_plugin KEYWORDS Viewer Mesh_3) cgal_lab_plugin(c3t3_io_plugin C3t3_io_plugin KEYWORDS Viewer Mesh_3)
target_link_libraries(c3t3_io_plugin PUBLIC scene_c3t3_item) target_link_libraries(c3t3_io_plugin PRIVATE scene_c3t3_item)
qt6_wrap_ui(tetraUI_FILES Tetrahedra_filter_widget.ui) qt6_wrap_ui(tetraUI_FILES Tetrahedra_filter_widget.ui)
cgal_lab_plugin(tetrahedra_filtering_plugin Tetrahedra_filtering_plugin ${tetraUI_FILES} KEYWORDS Mesh_3 Viewer) cgal_lab_plugin(tetrahedra_filtering_plugin Tetrahedra_filtering_plugin ${tetraUI_FILES} KEYWORDS Mesh_3 Viewer)
target_link_libraries(tetrahedra_filtering_plugin PUBLIC scene_c3t3_item scene_tetrahedra_item) 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) qt6_wrap_ui(ribUI_FILES Rib_dialog.ui)
cgal_lab_plugin(c3t3_rib_exporter_plugin C3t3_rib_exporter_plugin cgal_lab_plugin(c3t3_rib_exporter_plugin C3t3_rib_exporter_plugin
${ribUI_FILES} KEYWORDS Mesh_3) ${ribUI_FILES} KEYWORDS Mesh_3)
target_link_libraries(c3t3_rib_exporter_plugin PUBLIC scene_c3t3_item) target_link_libraries(c3t3_rib_exporter_plugin PRIVATE scene_c3t3_item)
if(TBB_FOUND) if(TBB_FOUND)
target_link_libraries(mesh_3_plugin PUBLIC CGAL::TBB_support) target_link_libraries(mesh_3_plugin PRIVATE CGAL::TBB_support)
target_link_libraries(mesh_3_optimization_plugin PUBLIC CGAL::TBB_support) target_link_libraries(mesh_3_optimization_plugin PRIVATE CGAL::TBB_support)
target_link_libraries(c3t3_io_plugin PUBLIC CGAL::TBB_support) target_link_libraries(c3t3_io_plugin PRIVATE CGAL::TBB_support)
target_link_libraries(c3t3_rib_exporter_plugin PUBLIC CGAL::TBB_support) target_link_libraries(c3t3_rib_exporter_plugin PRIVATE CGAL::TBB_support)
endif() endif()
qt6_wrap_ui(offsetMeshingUI_FILES Offset_meshing_dialog.ui) qt6_wrap_ui(offsetMeshingUI_FILES Offset_meshing_dialog.ui)
cgal_lab_plugin(offset_meshing_plugin Offset_meshing_plugin cgal_lab_plugin(offset_meshing_plugin Offset_meshing_plugin
${offsetMeshingUI_FILES}) ${offsetMeshingUI_FILES})
target_link_libraries(offset_meshing_plugin PUBLIC scene_surface_mesh_item target_link_libraries(offset_meshing_plugin PRIVATE scene_surface_mesh_item
scene_polygon_soup_item scene_polygon_soup_item
scene_polylines_item) scene_polylines_item)
if(TARGET CGAL::Eigen3_support) if(TARGET CGAL::Eigen3_support)
target_link_libraries(offset_meshing_plugin PUBLIC CGAL::Eigen3_support) target_link_libraries(offset_meshing_plugin PRIVATE CGAL::Eigen3_support)
endif() endif()
if(TARGET CGAL::TBB_support) if(TARGET CGAL::TBB_support)
target_link_libraries(offset_meshing_plugin PUBLIC CGAL::TBB_support) target_link_libraries(offset_meshing_plugin PRIVATE CGAL::TBB_support)
endif() endif()

View File

@ -3,34 +3,34 @@ qt6_wrap_ui(clip_polyhedronUI_FILES Clip_polyhedron_plugin.ui)
cgal_lab_plugin(clip_polyhedron_plugin Clip_polyhedron_plugin cgal_lab_plugin(clip_polyhedron_plugin Clip_polyhedron_plugin
${clip_polyhedronUI_FILES}) ${clip_polyhedronUI_FILES})
target_link_libraries( target_link_libraries(
clip_polyhedron_plugin PUBLIC scene_surface_mesh_item scene_basic_objects clip_polyhedron_plugin PRIVATE scene_surface_mesh_item scene_basic_objects
scene_movable_sm_item) scene_movable_sm_item)
cgal_lab_plugin(point_set_from_vertices_plugin cgal_lab_plugin(point_set_from_vertices_plugin
Point_set_from_vertices_plugin) Point_set_from_vertices_plugin)
target_link_libraries( target_link_libraries(
point_set_from_vertices_plugin point_set_from_vertices_plugin
PUBLIC scene_surface_mesh_item scene_polygon_soup_item PRIVATE scene_surface_mesh_item scene_polygon_soup_item
scene_points_with_normal_item) scene_points_with_normal_item)
cgal_lab_plugin(point_set_from_sampling_plugin cgal_lab_plugin(point_set_from_sampling_plugin
Point_set_from_sampling_plugin) Point_set_from_sampling_plugin)
target_link_libraries( target_link_libraries(
point_set_from_sampling_plugin point_set_from_sampling_plugin
PUBLIC scene_surface_mesh_item scene_polygon_soup_item PRIVATE scene_surface_mesh_item scene_polygon_soup_item
scene_points_with_normal_item) scene_points_with_normal_item)
cgal_lab_plugin(diff_between_meshes_plugin Diff_between_meshes_plugin) cgal_lab_plugin(diff_between_meshes_plugin Diff_between_meshes_plugin)
target_link_libraries(diff_between_meshes_plugin PUBLIC scene_surface_mesh_item) target_link_libraries(diff_between_meshes_plugin PRIVATE scene_surface_mesh_item)
qt6_wrap_ui( animateUI_FILES Animate_widget.ui ) qt6_wrap_ui( animateUI_FILES Animate_widget.ui )
cgal_lab_plugin(animate_mesh_plugin Animate_mesh_plugin ${animateUI_FILES}) cgal_lab_plugin(animate_mesh_plugin Animate_mesh_plugin ${animateUI_FILES})
target_link_libraries(animate_mesh_plugin PUBLIC scene_surface_mesh_item) target_link_libraries(animate_mesh_plugin PRIVATE scene_surface_mesh_item)
if( TARGET CGAL::METIS_support ) if( TARGET CGAL::METIS_support )
qt6_wrap_ui( partitionUI_FILES PartitionDialog.ui ) qt6_wrap_ui( partitionUI_FILES PartitionDialog.ui )
cgal_lab_plugin(partition_plugin Partition_graph_plugin ${partitionUI_FILES}) cgal_lab_plugin(partition_plugin Partition_graph_plugin ${partitionUI_FILES})
target_link_libraries(partition_plugin PUBLIC scene_surface_mesh_item CGAL::METIS_support ) target_link_libraries(partition_plugin PRIVATE scene_surface_mesh_item CGAL::METIS_support )
else() else()
message(STATUS "NOTICE: the Partition plugin needs METIS libraries and will not be compiled.") message(STATUS "NOTICE: the Partition plugin needs METIS libraries and will not be compiled.")
endif() endif()

View File

@ -1,37 +1,38 @@
include(CGALlab_macros) include(CGALlab_macros)
cgal_lab_plugin(pca_plugin Pca_plugin KEYWORDS PointSetProcessing) cgal_lab_plugin(pca_plugin Pca_plugin KEYWORDS PointSetProcessing)
target_link_libraries( target_link_libraries(
pca_plugin PUBLIC scene_surface_mesh_item scene_points_with_normal_item pca_plugin PRIVATE scene_surface_mesh_item scene_points_with_normal_item
scene_basic_objects) scene_basic_objects CGAL::Eigen3_support)
qt6_wrap_ui(transformUI_FILES Transformation_widget.ui MeshOnGrid_dialog.ui) qt6_wrap_ui(transformUI_FILES Transformation_widget.ui MeshOnGrid_dialog.ui)
cgal_lab_plugin(affine_transform_plugin Affine_transform_plugin cgal_lab_plugin(affine_transform_plugin Affine_transform_plugin
${transformUI_FILES} KEYWORDS PointSetProcessing) ${transformUI_FILES} KEYWORDS PointSetProcessing)
target_link_libraries(affine_transform_plugin PUBLIC scene_surface_mesh_item target_link_libraries(affine_transform_plugin PRIVATE scene_surface_mesh_item
scene_points_with_normal_item scene_polygon_soup_item
scene_aff_transformed_item scene_points_with_normal_item
scene_aff_transformed_point_set_item scene_aff_transformed_item
scene_aff_transformed_polygon_soup_item scene_aff_transformed_point_set_item
scene_aff_transformed_surface_mesh_item) scene_aff_transformed_polygon_soup_item
scene_aff_transformed_surface_mesh_item)
cgal_lab_plugin(edit_box_plugin Edit_box_plugin) cgal_lab_plugin(edit_box_plugin Edit_box_plugin)
target_link_libraries(edit_box_plugin PUBLIC scene_edit_box_item target_link_libraries(edit_box_plugin PRIVATE scene_edit_box_item
scene_surface_mesh_item) scene_surface_mesh_item)
qt6_wrap_ui(clipUI_FILES Clipping_box_widget.ui) qt6_wrap_ui(clipUI_FILES Clipping_box_widget.ui)
cgal_lab_plugin(clipping_box_plugin Clipping_box_plugin ${clipUI_FILES}) cgal_lab_plugin(clipping_box_plugin Clipping_box_plugin ${clipUI_FILES})
target_link_libraries(clipping_box_plugin PUBLIC scene_edit_box_item target_link_libraries(clipping_box_plugin PRIVATE scene_edit_box_item
scene_basic_objects) scene_basic_objects)
cgal_lab_plugin(create_bbox_mesh_plugin Create_bbox_mesh_plugin) cgal_lab_plugin(create_bbox_mesh_plugin Create_bbox_mesh_plugin)
target_link_libraries(create_bbox_mesh_plugin PUBLIC scene_surface_mesh_item) target_link_libraries(create_bbox_mesh_plugin PRIVATE scene_surface_mesh_item)
cgal_lab_plugin(create_obb_mesh_plugin Create_obb_mesh_plugin) cgal_lab_plugin(create_obb_mesh_plugin Create_obb_mesh_plugin)
target_link_libraries(create_obb_mesh_plugin PUBLIC scene_surface_mesh_item target_link_libraries(create_obb_mesh_plugin PRIVATE scene_surface_mesh_item
scene_polygon_soup_item scene_polygon_soup_item
scene_selection_item scene_selection_item
scene_points_with_normal_item) scene_points_with_normal_item CGAL::Eigen3_support)
qt6_wrap_ui(volumesUI_FILES Basic_generator_widget.ui) qt6_wrap_ui(volumesUI_FILES Basic_generator_widget.ui)
cgal_lab_plugin( cgal_lab_plugin(
@ -39,11 +40,11 @@ cgal_lab_plugin(
PolygonMesh PointSetProcessing) PolygonMesh PointSetProcessing)
target_link_libraries( target_link_libraries(
basic_generator_plugin basic_generator_plugin
PUBLIC scene_surface_mesh_item scene_points_with_normal_item PRIVATE scene_surface_mesh_item scene_points_with_normal_item
scene_polylines_item) scene_polylines_item)
if(CGAL_ENABLE_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND) if(CGAL_ENABLE_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
set_tests_properties( set_tests_properties(
"compilation of create_obb_mesh_plugin" "compilation of create_obb_mesh_plugin"
PROPERTIES RESOURCE_LOCK Selection_test_resources) PROPERTIES RESOURCE_LOCK Selection_test_resources)
endif() endif()

View File

@ -3,8 +3,8 @@ include(CGALlab_macros)
if(TARGET CGAL::Eigen3_support) if(TARGET CGAL::Eigen3_support)
cgal_lab_plugin(jet_fitting_plugin Jet_fitting_plugin) cgal_lab_plugin(jet_fitting_plugin Jet_fitting_plugin)
target_link_libraries( target_link_libraries(
jet_fitting_plugin PUBLIC scene_surface_mesh_item scene_polylines_item jet_fitting_plugin PRIVATE scene_surface_mesh_item scene_polylines_item
CGAL::Eigen3_support) CGAL::Eigen3_support)
else() else()
message(STATUS "NOTICE: Eigen 3.1 (or greater) was not found. Jet fitting plugin will not be available.") message(STATUS "NOTICE: Eigen 3.1 (or greater) was not found. Jet fitting plugin will not be available.")
endif() endif()
@ -13,7 +13,7 @@ if(TARGET CGAL::Eigen3_support)
cgal_lab_plugin(interpolated_corrected_principal_curvatures_plugin Interpolated_corrected_principal_curvatures_plugin) cgal_lab_plugin(interpolated_corrected_principal_curvatures_plugin Interpolated_corrected_principal_curvatures_plugin)
target_link_libraries( target_link_libraries(
interpolated_corrected_principal_curvatures_plugin PUBLIC scene_surface_mesh_item scene_polylines_item interpolated_corrected_principal_curvatures_plugin PRIVATE scene_surface_mesh_item scene_polylines_item
CGAL::Eigen3_support) CGAL::Eigen3_support)
else() else()
@ -24,23 +24,23 @@ else()
endif() endif()
cgal_lab_plugin(extrude_plugin Extrude_plugin KEYWORDS PMP) cgal_lab_plugin(extrude_plugin Extrude_plugin KEYWORDS PMP)
target_link_libraries(extrude_plugin PUBLIC scene_surface_mesh_item target_link_libraries(extrude_plugin PRIVATE scene_surface_mesh_item
scene_selection_item) scene_selection_item)
if(TARGET CGAL::Eigen3_support) if(TARGET CGAL::Eigen3_support)
if("${EIGEN3_VERSION}" VERSION_GREATER "3.1.90") if("${EIGEN3_VERSION}" VERSION_GREATER "3.1.90")
qt6_wrap_ui( hole_fillingUI_FILES Hole_filling_widget.ui) qt6_wrap_ui( hole_fillingUI_FILES Hole_filling_widget.ui)
cgal_lab_plugin(hole_filling_plugin Hole_filling_plugin ${hole_fillingUI_FILES} KEYWORDS PMP) cgal_lab_plugin(hole_filling_plugin Hole_filling_plugin ${hole_fillingUI_FILES} KEYWORDS PMP)
target_link_libraries(hole_filling_plugin PUBLIC scene_surface_mesh_item scene_polylines_item scene_selection_item CGAL::Eigen3_support) target_link_libraries(hole_filling_plugin PRIVATE scene_surface_mesh_item scene_polylines_item scene_selection_item CGAL::Eigen3_support)
qt6_wrap_ui( fairingUI_FILES Fairing_widget.ui) qt6_wrap_ui( fairingUI_FILES Fairing_widget.ui)
cgal_lab_plugin(fairing_plugin Fairing_plugin ${fairingUI_FILES} KEYWORDS PMP) cgal_lab_plugin(fairing_plugin Fairing_plugin ${fairingUI_FILES} KEYWORDS PMP)
target_link_libraries(fairing_plugin PUBLIC scene_selection_item CGAL::Eigen3_support) target_link_libraries(fairing_plugin PRIVATE scene_selection_item CGAL::Eigen3_support)
qt6_wrap_ui( Mean_curvature_flow_skeleton_pluginUI_FILES Mean_curvature_flow_skeleton_plugin.ui) qt6_wrap_ui( Mean_curvature_flow_skeleton_pluginUI_FILES Mean_curvature_flow_skeleton_plugin.ui)
cgal_lab_plugin(mean_curvature_flow_skeleton_plugin Mean_curvature_flow_skeleton_plugin ${Mean_curvature_flow_skeleton_pluginUI_FILES}) cgal_lab_plugin(mean_curvature_flow_skeleton_plugin Mean_curvature_flow_skeleton_plugin ${Mean_curvature_flow_skeleton_pluginUI_FILES})
target_link_libraries(mean_curvature_flow_skeleton_plugin target_link_libraries(mean_curvature_flow_skeleton_plugin
PUBLIC PRIVATE
scene_surface_mesh_item scene_surface_mesh_item
scene_points_with_normal_item scene_points_with_normal_item
scene_polylines_item scene_polylines_item
@ -50,23 +50,23 @@ if(TARGET CGAL::Eigen3_support)
# The smoothing plugin can still do some things, even if Ceres is not found # The smoothing plugin can still do some things, even if Ceres is not found
qt6_wrap_ui( smoothingUI_FILES Smoothing_plugin.ui Smoothing_tangential_relaxation.ui) qt6_wrap_ui( smoothingUI_FILES Smoothing_plugin.ui Smoothing_tangential_relaxation.ui)
cgal_lab_plugin(smoothing_plugin Smoothing_plugin ${smoothingUI_FILES}) cgal_lab_plugin(smoothing_plugin Smoothing_plugin ${smoothingUI_FILES})
target_link_libraries(smoothing_plugin PUBLIC scene_surface_mesh_item scene_selection_item CGAL::Eigen3_support) target_link_libraries(smoothing_plugin PRIVATE scene_surface_mesh_item scene_selection_item CGAL::Eigen3_support)
find_package(Ceres QUIET) find_package(Ceres QUIET)
include(CGAL_Ceres_support) include(CGAL_Ceres_support)
if(TARGET CGAL::Ceres_support) if(TARGET CGAL::Ceres_support)
target_link_libraries(smoothing_plugin PUBLIC CGAL::Ceres_support) target_link_libraries(smoothing_plugin PRIVATE CGAL::Ceres_support)
endif() endif()
set_package_properties( set_package_properties(
Ceres PROPERTIES Ceres PROPERTIES
DESCRIPTION "A large scale non-linear optimization library." DESCRIPTION "A large scale non-linear optimization library."
PURPOSE "Can be used as a solver in the smoothing plugin.") PURPOSE "Can be used as a solver in the smoothing plugin.")
target_link_libraries(extrude_plugin PUBLIC CGAL::Eigen3_support) target_link_libraries(extrude_plugin PRIVATE CGAL::Eigen3_support)
qt6_wrap_ui(remeshPlanarPatchesUI_FILES Remesh_planar_patches_dialog.ui) qt6_wrap_ui(remeshPlanarPatchesUI_FILES Remesh_planar_patches_dialog.ui)
cgal_lab_plugin(remesh_planar_patches_plugin Remesh_planar_patches_plugin cgal_lab_plugin(remesh_planar_patches_plugin Remesh_planar_patches_plugin
${remeshPlanarPatchesUI_FILES} KEYWORDS PMP) ${remeshPlanarPatchesUI_FILES} KEYWORDS PMP)
target_link_libraries(remesh_planar_patches_plugin PUBLIC scene_surface_mesh_item CGAL::Eigen3_support) target_link_libraries(remesh_planar_patches_plugin PRIVATE scene_surface_mesh_item CGAL::Eigen3_support)
if(CGAL_ENABLE_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND) if(CGAL_ENABLE_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
set_tests_properties( set_tests_properties(
@ -89,64 +89,64 @@ qt6_wrap_ui(soupUI_FILES Repair_soup.ui)
cgal_lab_plugin(orient_soup_plugin Orient_soup_plugin ${soupUI_FILES} cgal_lab_plugin(orient_soup_plugin Orient_soup_plugin ${soupUI_FILES}
KEYWORDS Classification PMP) KEYWORDS Classification PMP)
target_link_libraries( target_link_libraries(
orient_soup_plugin PUBLIC scene_polygon_soup_item scene_surface_mesh_item orient_soup_plugin PRIVATE scene_polygon_soup_item scene_surface_mesh_item
scene_polylines_item scene_points_with_normal_item) scene_polylines_item scene_points_with_normal_item)
cgal_lab_plugin(inside_out_plugin Inside_out_plugin KEYWORDS PMP) cgal_lab_plugin(inside_out_plugin Inside_out_plugin KEYWORDS PMP)
target_link_libraries(inside_out_plugin PUBLIC scene_surface_mesh_item scene_polygon_soup_item) target_link_libraries(inside_out_plugin PRIVATE scene_surface_mesh_item scene_polygon_soup_item)
cgal_lab_plugin(join_and_split_plugin Join_and_split_polyhedra_plugin KEYWORDS PMP) cgal_lab_plugin(join_and_split_plugin Join_and_split_polyhedra_plugin KEYWORDS PMP)
target_link_libraries(join_and_split_plugin PUBLIC scene_surface_mesh_item scene_selection_item) target_link_libraries(join_and_split_plugin PRIVATE scene_surface_mesh_item scene_selection_item)
qt6_wrap_ui( point_inside_polyhedronUI_FILES Point_inside_polyhedron_widget.ui) qt6_wrap_ui( point_inside_polyhedronUI_FILES Point_inside_polyhedron_widget.ui)
cgal_lab_plugin(point_inside_polyhedron_plugin Point_inside_polyhedron_plugin ${point_inside_polyhedronUI_FILES}) cgal_lab_plugin(point_inside_polyhedron_plugin Point_inside_polyhedron_plugin ${point_inside_polyhedronUI_FILES})
target_link_libraries(point_inside_polyhedron_plugin PUBLIC scene_surface_mesh_item scene_points_with_normal_item) target_link_libraries(point_inside_polyhedron_plugin PRIVATE scene_surface_mesh_item scene_points_with_normal_item)
qt6_wrap_ui( polyhedron_slicerUI_FILES Polyhedron_slicer_widget.ui) qt6_wrap_ui( polyhedron_slicerUI_FILES Polyhedron_slicer_widget.ui)
cgal_lab_plugin(polyhedron_slicer_plugin Polyhedron_slicer_plugin ${polyhedron_slicerUI_FILES}) cgal_lab_plugin(polyhedron_slicer_plugin Polyhedron_slicer_plugin ${polyhedron_slicerUI_FILES})
target_link_libraries(polyhedron_slicer_plugin PUBLIC scene_surface_mesh_item scene_basic_objects scene_polylines_item) target_link_libraries(polyhedron_slicer_plugin PRIVATE scene_surface_mesh_item scene_basic_objects scene_polylines_item)
cgal_lab_plugin(polyhedron_stitching_plugin Polyhedron_stitching_plugin KEYWORDS PMP) cgal_lab_plugin(polyhedron_stitching_plugin Polyhedron_stitching_plugin KEYWORDS PMP)
target_link_libraries(polyhedron_stitching_plugin PUBLIC scene_surface_mesh_item scene_polylines_item) target_link_libraries(polyhedron_stitching_plugin PRIVATE scene_surface_mesh_item scene_polylines_item)
qt6_wrap_ui( selectionUI_FILES Selection_widget.ui) qt6_wrap_ui( selectionUI_FILES Selection_widget.ui)
cgal_lab_plugin(selection_plugin Selection_plugin ${selectionUI_FILES} KEYWORDS PMP Viewer Classification Mesh_3) cgal_lab_plugin(selection_plugin Selection_plugin ${selectionUI_FILES} KEYWORDS PMP Viewer Classification Mesh_3)
target_link_libraries(selection_plugin PUBLIC scene_selection_item scene_points_with_normal_item scene_polylines_item) target_link_libraries(selection_plugin PRIVATE scene_selection_item scene_surface_mesh_item scene_points_with_normal_item scene_polylines_item)
#to keep it simple to compile #to keep it simple to compile
add_custom_target(self_intersection_plugin) add_custom_target(self_intersection_plugin)
add_dependencies(self_intersection_plugin selection_plugin) add_dependencies(self_intersection_plugin selection_plugin)
cgal_lab_plugin(triangulate_facets_plugin Triangulate_facets_plugin KEYWORDS PMP) cgal_lab_plugin(triangulate_facets_plugin Triangulate_facets_plugin KEYWORDS PMP)
target_link_libraries(triangulate_facets_plugin PUBLIC scene_surface_mesh_item scene_selection_item scene_polygon_soup_item) target_link_libraries(triangulate_facets_plugin PRIVATE scene_surface_mesh_item scene_selection_item scene_polygon_soup_item)
cgal_lab_plugin(corefinement_plugin Corefinement_plugin KEYWORDS PMP) cgal_lab_plugin(corefinement_plugin Corefinement_plugin KEYWORDS PMP)
target_link_libraries(corefinement_plugin PUBLIC scene_surface_mesh_item) target_link_libraries(corefinement_plugin PRIVATE scene_surface_mesh_item)
cgal_lab_plugin(surface_intersection_plugin Surface_intersection_plugin cgal_lab_plugin(surface_intersection_plugin Surface_intersection_plugin
KEYWORDS PMP) KEYWORDS PMP)
target_link_libraries( target_link_libraries(
surface_intersection_plugin surface_intersection_plugin
PUBLIC scene_surface_mesh_item scene_polylines_item PRIVATE scene_surface_mesh_item scene_polylines_item
scene_points_with_normal_item) scene_points_with_normal_item)
qt6_wrap_ui( repairUI_FILES RemoveNeedlesDialog.ui SelfSnapDialog.ui AddBboxDialog.ui) qt6_wrap_ui( repairUI_FILES RemoveNeedlesDialog.ui SelfSnapDialog.ui AddBboxDialog.ui)
cgal_lab_plugin(repair_polyhedron_plugin Repair_polyhedron_plugin ${repairUI_FILES} KEYWORDS PMP) cgal_lab_plugin(repair_polyhedron_plugin Repair_polyhedron_plugin ${repairUI_FILES} KEYWORDS PMP)
target_link_libraries(repair_polyhedron_plugin PUBLIC scene_points_with_normal_item scene_surface_mesh_item scene_polygon_soup_item) target_link_libraries(repair_polyhedron_plugin PRIVATE scene_points_with_normal_item scene_surface_mesh_item scene_polygon_soup_item)
if(TARGET CGAL::TBB_support) if(TARGET CGAL::TBB_support)
target_link_libraries(repair_polyhedron_plugin PUBLIC CGAL::TBB_support) target_link_libraries(repair_polyhedron_plugin PRIVATE CGAL::TBB_support)
endif() endif()
if(TARGET CGAL::Eigen3_support) if(TARGET CGAL::Eigen3_support)
qt6_wrap_ui(isotropicRemeshingUI_FILES Isotropic_remeshing_dialog.ui) qt6_wrap_ui(isotropicRemeshingUI_FILES Isotropic_remeshing_dialog.ui)
cgal_lab_plugin(isotropic_remeshing_plugin Isotropic_remeshing_plugin cgal_lab_plugin(isotropic_remeshing_plugin Isotropic_remeshing_plugin
${isotropicRemeshingUI_FILES} KEYWORDS PMP) ${isotropicRemeshingUI_FILES} KEYWORDS PMP)
target_link_libraries(isotropic_remeshing_plugin PUBLIC scene_surface_mesh_item target_link_libraries(isotropic_remeshing_plugin PRIVATE scene_surface_mesh_item
scene_selection_item CGAL::Eigen3_support) scene_selection_item CGAL::Eigen3_support)
if(TARGET CGAL::TBB_support) if(TARGET CGAL::TBB_support)
target_link_libraries(isotropic_remeshing_plugin PUBLIC CGAL::TBB_support) target_link_libraries(isotropic_remeshing_plugin PRIVATE CGAL::TBB_support)
endif() endif()
else() else()
@ -154,32 +154,33 @@ else()
endif() endif()
cgal_lab_plugin(distance_plugin Distance_plugin KEYWORDS PMP) cgal_lab_plugin(distance_plugin Distance_plugin KEYWORDS PMP)
target_link_libraries(distance_plugin PUBLIC scene_surface_mesh_item target_link_libraries(distance_plugin PRIVATE scene_surface_mesh_item
scene_color_ramp) scene_color_ramp)
if(TARGET CGAL::TBB_support) if(TARGET CGAL::TBB_support)
target_link_libraries(distance_plugin PUBLIC CGAL::TBB_support) target_link_libraries(distance_plugin PRIVATE CGAL::TBB_support)
endif() endif()
cgal_lab_plugin(detect_sharp_edges_plugin Detect_sharp_edges_plugin KEYWORDS Viewer Mesh_3 PMP) cgal_lab_plugin(detect_sharp_edges_plugin Detect_sharp_edges_plugin KEYWORDS Viewer Mesh_3 PMP)
target_link_libraries(detect_sharp_edges_plugin PUBLIC scene_surface_mesh_item) target_link_libraries(detect_sharp_edges_plugin PRIVATE scene_surface_mesh_item)
qt6_wrap_ui(randomPerturbationUI_FILES Random_perturbation_dialog.ui) qt6_wrap_ui(randomPerturbationUI_FILES Random_perturbation_dialog.ui)
cgal_lab_plugin(random_perturbation_plugin Random_perturbation_plugin cgal_lab_plugin(random_perturbation_plugin Random_perturbation_plugin
${randomPerturbationUI_FILES} KEYWORDS PMP) ${randomPerturbationUI_FILES} KEYWORDS PMP)
target_link_libraries(random_perturbation_plugin PUBLIC scene_surface_mesh_item target_link_libraries(random_perturbation_plugin PRIVATE scene_surface_mesh_item
scene_selection_item) scene_selection_item)
cgal_lab_plugin(degenerated_faces_plugin Degenerated_faces_plugin cgal_lab_plugin(degenerated_faces_plugin Degenerated_faces_plugin
KEYWORDS PMP) KEYWORDS PMP)
target_link_libraries(degenerated_faces_plugin PUBLIC scene_surface_mesh_item target_link_libraries(degenerated_faces_plugin PRIVATE scene_surface_mesh_item
scene_selection_item) scene_selection_item)
qt6_wrap_ui(engravUI_FILES Engrave_dock_widget.ui) qt6_wrap_ui(engravUI_FILES Engrave_dock_widget.ui)
cgal_lab_plugin(engrave_text_plugin Engrave_text_plugin cgal_lab_plugin(engrave_text_plugin Engrave_text_plugin
${engravUI_FILES}) ${engravUI_FILES})
target_link_libraries( target_link_libraries(
engrave_text_plugin PUBLIC scene_surface_mesh_item scene_selection_item engrave_text_plugin PRIVATE scene_surface_mesh_item scene_selection_item
scene_polylines_item) scene_polylines_item
CGAL::Eigen3_support)
if(CGAL_ENABLE_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND) if(CGAL_ENABLE_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
set_tests_properties( set_tests_properties(

View File

@ -37,13 +37,13 @@ if(TARGET CGAL::Eigen3_support)
PointSetProcessing) PointSetProcessing)
target_link_libraries( target_link_libraries(
surface_reconstruction_plugin surface_reconstruction_plugin
PUBLIC scene_polygon_soup_item scene_surface_mesh_item PRIVATE scene_polygon_soup_item scene_surface_mesh_item
scene_points_with_normal_item CGAL::Eigen3_support) scene_points_with_normal_item CGAL::Eigen3_support)
if(TARGET CGAL::SCIP_support) if(TARGET CGAL::SCIP_support)
target_link_libraries(surface_reconstruction_plugin PUBLIC CGAL::SCIP_support) target_link_libraries(surface_reconstruction_plugin PRIVATE CGAL::SCIP_support)
elseif(TARGET CGAL::GLPK_support) elseif(TARGET CGAL::GLPK_support)
target_link_libraries(surface_reconstruction_plugin PUBLIC CGAL::GLPK_support) target_link_libraries(surface_reconstruction_plugin PRIVATE CGAL::GLPK_support)
endif() endif()
qt6_wrap_ui(point_set_normal_estimationUI_FILES qt6_wrap_ui(point_set_normal_estimationUI_FILES
@ -54,23 +54,23 @@ if(TARGET CGAL::Eigen3_support)
Classification) Classification)
target_link_libraries( target_link_libraries(
point_set_normal_estimation_plugin point_set_normal_estimation_plugin
PUBLIC scene_points_with_normal_item scene_callback_signaler PRIVATE scene_points_with_normal_item scene_callback_signaler
CGAL::Eigen3_support) CGAL::Eigen3_support)
qt6_wrap_ui(features_detection_pluginUI_FILES Features_detection_plugin.ui) qt6_wrap_ui(features_detection_pluginUI_FILES Features_detection_plugin.ui)
cgal_lab_plugin( cgal_lab_plugin(
features_detection_plugin Features_detection_plugin features_detection_plugin Features_detection_plugin
${features_detection_pluginUI_FILES} KEYWORDS PointSetProcessing) ${features_detection_pluginUI_FILES} KEYWORDS PointSetProcessing)
target_link_libraries( target_link_libraries(
features_detection_plugin PUBLIC scene_points_with_normal_item features_detection_plugin PRIVATE scene_points_with_normal_item
CGAL::Eigen3_support) CGAL::Eigen3_support)
qt6_wrap_ui(kinetic_surface_reconstruction_pluginUI_FILES Kinetic_surface_reconstruction_plugin.ui) qt6_wrap_ui(kinetic_surface_reconstruction_pluginUI_FILES Kinetic_surface_reconstruction_plugin.ui)
cgal_lab_plugin( cgal_lab_plugin(
kinetic_surface_reconstruction_plugin Kinetic_surface_reconstruction_plugin kinetic_surface_reconstruction_plugin Kinetic_surface_reconstruction_plugin
${kinetic_surface_reconstruction_pluginUI_FILES} KEYWORDS PointSetProcessing) ${kinetic_surface_reconstruction_pluginUI_FILES} KEYWORDS PointSetProcessing)
target_link_libraries( target_link_libraries(
kinetic_surface_reconstruction_plugin PUBLIC scene_points_with_normal_item kinetic_surface_reconstruction_plugin PRIVATE scene_points_with_normal_item
CGAL::Eigen3_support scene_polygon_soup_item CGAL::Eigen3_support scene_polygon_soup_item
scene_surface_mesh_item scene_points_with_normal_item) scene_surface_mesh_item scene_points_with_normal_item)
@ -78,16 +78,16 @@ if(TARGET CGAL::Eigen3_support)
KEYWORDS PointSetProcessing) KEYWORDS PointSetProcessing)
target_link_libraries( target_link_libraries(
point_set_smoothing_plugin point_set_smoothing_plugin
PUBLIC scene_points_with_normal_item scene_callback_signaler PRIVATE scene_points_with_normal_item scene_callback_signaler
CGAL::Eigen3_support) CGAL::Eigen3_support)
cgal_lab_plugin( cgal_lab_plugin(
point_set_average_spacing_plugin Point_set_average_spacing_plugin KEYWORDS point_set_average_spacing_plugin Point_set_average_spacing_plugin KEYWORDS
PointSetProcessing Classification) PointSetProcessing Classification)
target_link_libraries( target_link_libraries(
point_set_average_spacing_plugin point_set_average_spacing_plugin
PUBLIC scene_points_with_normal_item scene_callback_signaler PRIVATE scene_points_with_normal_item scene_callback_signaler
CGAL::Eigen3_support) CGAL::Eigen3_support)
qt6_wrap_ui(point_set_shape_detectionUI_FILES qt6_wrap_ui(point_set_shape_detectionUI_FILES
Point_set_shape_detection_plugin.ui) Point_set_shape_detection_plugin.ui)
@ -97,8 +97,8 @@ if(TARGET CGAL::Eigen3_support)
Classification) Classification)
target_link_libraries( target_link_libraries(
point_set_shape_detection_plugin point_set_shape_detection_plugin
PUBLIC scene_surface_mesh_item scene_points_with_normal_item PRIVATE scene_surface_mesh_item scene_points_with_normal_item
scene_polygon_soup_item scene_callback_signaler CGAL::Eigen3_support) scene_polygon_soup_item scene_callback_signaler CGAL::Eigen3_support)
if (NOT MSVC_VERSION OR MSVC_VERSION GREATER_EQUAL 1910) if (NOT MSVC_VERSION OR MSVC_VERSION GREATER_EQUAL 1910)
find_package(OpenGR QUIET) find_package(OpenGR QUIET)
include(CGAL_OpenGR_support) include(CGAL_OpenGR_support)
@ -117,15 +117,15 @@ if(TARGET CGAL::Eigen3_support)
register_point_sets_plugin Register_point_sets_plugin register_point_sets_plugin Register_point_sets_plugin
${register_point_setsUI_FILES} KEYWORDS PointSetProcessing) ${register_point_setsUI_FILES} KEYWORDS PointSetProcessing)
target_link_libraries(register_point_sets_plugin target_link_libraries(register_point_sets_plugin
PUBLIC scene_points_with_normal_item) PRIVATE scene_points_with_normal_item)
target_link_libraries(register_point_sets_plugin PUBLIC CGAL::Eigen3_support) target_link_libraries(register_point_sets_plugin PRIVATE CGAL::Eigen3_support)
if(TARGET CGAL::OpenGR_support) if(TARGET CGAL::OpenGR_support)
target_link_libraries(register_point_sets_plugin target_link_libraries(register_point_sets_plugin
PUBLIC CGAL::OpenGR_support) PRIVATE CGAL::OpenGR_support)
endif() endif()
if(TARGET CGAL::pointmatcher_support) if(TARGET CGAL::pointmatcher_support)
target_link_libraries(register_point_sets_plugin target_link_libraries(register_point_sets_plugin
PUBLIC CGAL::pointmatcher_support) PRIVATE CGAL::pointmatcher_support)
endif() endif()
else() else()
message(STATUS "NOTICE: OpenGR and libpointmatcher were not found. Registration plugin will not be available.") message(STATUS "NOTICE: OpenGR and libpointmatcher were not found. Registration plugin will not be available.")
@ -144,68 +144,69 @@ cgal_lab_plugin(
point_set_bilateral_smoothing_plugin Point_set_bilateral_smoothing_plugin point_set_bilateral_smoothing_plugin Point_set_bilateral_smoothing_plugin
${point_set_bilateral_smoothingUI_FILES} KEYWORDS PointSetProcessing) ${point_set_bilateral_smoothingUI_FILES} KEYWORDS PointSetProcessing)
target_link_libraries( target_link_libraries(
point_set_bilateral_smoothing_plugin PUBLIC scene_points_with_normal_item point_set_bilateral_smoothing_plugin PRIVATE scene_points_with_normal_item
scene_callback_signaler) scene_callback_signaler)
qt6_wrap_ui(ps_outliers_removal_UI_FILES Point_set_outliers_removal_plugin.ui) qt6_wrap_ui(ps_outliers_removal_UI_FILES Point_set_outliers_removal_plugin.ui)
cgal_lab_plugin( cgal_lab_plugin(
point_set_outliers_removal_plugin Point_set_outliers_removal_plugin point_set_outliers_removal_plugin Point_set_outliers_removal_plugin
${ps_outliers_removal_UI_FILES} KEYWORDS PointSetProcessing) ${ps_outliers_removal_UI_FILES} KEYWORDS PointSetProcessing)
target_link_libraries( target_link_libraries(
point_set_outliers_removal_plugin PUBLIC scene_points_with_normal_item point_set_outliers_removal_plugin PRIVATE scene_points_with_normal_item
scene_callback_signaler) scene_callback_signaler)
qt6_wrap_ui(point_set_selectionUI_FILES Point_set_selection_widget.ui) qt6_wrap_ui(point_set_selectionUI_FILES Point_set_selection_widget.ui)
cgal_lab_plugin( cgal_lab_plugin(
point_set_selection_plugin Point_set_selection_plugin point_set_selection_plugin Point_set_selection_plugin
${point_set_selectionUI_FILES} KEYWORDS PointSetProcessing Classification) ${point_set_selectionUI_FILES} KEYWORDS PointSetProcessing Classification)
target_link_libraries( target_link_libraries(
point_set_selection_plugin PUBLIC scene_points_with_normal_item point_set_selection_plugin PRIVATE scene_points_with_normal_item
scene_polylines_item scene_edit_box_item) scene_polylines_item scene_edit_box_item CGAL::Eigen3_support)
qt6_wrap_ui(point_set_simplificationUI_FILES Point_set_simplification_plugin.ui) qt6_wrap_ui(point_set_simplificationUI_FILES Point_set_simplification_plugin.ui)
cgal_lab_plugin( cgal_lab_plugin(
point_set_simplification_plugin Point_set_simplification_plugin point_set_simplification_plugin Point_set_simplification_plugin
${point_set_simplificationUI_FILES} KEYWORDS PointSetProcessing) ${point_set_simplificationUI_FILES} KEYWORDS PointSetProcessing)
target_link_libraries( target_link_libraries(
point_set_simplification_plugin PUBLIC scene_points_with_normal_item point_set_simplification_plugin PRIVATE scene_points_with_normal_item
scene_callback_signaler) scene_callback_signaler CGAL::Eigen3_support)
qt6_wrap_ui(point_set_upsamplingUI_FILES Point_set_upsampling_plugin.ui) qt6_wrap_ui(point_set_upsamplingUI_FILES Point_set_upsampling_plugin.ui)
cgal_lab_plugin( cgal_lab_plugin(
point_set_upsampling_plugin Point_set_upsampling_plugin point_set_upsampling_plugin Point_set_upsampling_plugin
${point_set_upsamplingUI_FILES} KEYWORDS PointSetProcessing) ${point_set_upsamplingUI_FILES} KEYWORDS PointSetProcessing)
target_link_libraries(point_set_upsampling_plugin target_link_libraries(point_set_upsampling_plugin
PUBLIC scene_points_with_normal_item) PRIVATE scene_points_with_normal_item)
qt6_wrap_ui(point_set_wlopFILES Point_set_wlop_plugin.ui) qt6_wrap_ui(point_set_wlopFILES Point_set_wlop_plugin.ui)
cgal_lab_plugin(point_set_wlop_plugin Point_set_wlop_plugin cgal_lab_plugin(point_set_wlop_plugin Point_set_wlop_plugin
${point_set_wlopFILES} KEYWORDS PointSetProcessing) ${point_set_wlopFILES} KEYWORDS PointSetProcessing)
target_link_libraries(point_set_wlop_plugin PUBLIC scene_points_with_normal_item target_link_libraries(point_set_wlop_plugin PRIVATE scene_points_with_normal_item
scene_callback_signaler) scene_callback_signaler)
cgal_lab_plugin(point_set_clustering_plugin Point_set_clustering_plugin cgal_lab_plugin(point_set_clustering_plugin Point_set_clustering_plugin
KEYWORDS PointSetProcessing) KEYWORDS PointSetProcessing)
target_link_libraries( target_link_libraries(
point_set_clustering_plugin PUBLIC scene_points_with_normal_item point_set_clustering_plugin PRIVATE scene_points_with_normal_item
scene_callback_signaler) scene_callback_signaler CGAL::Eigen3_support)
cgal_lab_plugin(merge_point_sets_plugin Merge_point_sets_plugin KEYWORDS cgal_lab_plugin(merge_point_sets_plugin Merge_point_sets_plugin KEYWORDS
PointSetProcessing Classification) PointSetProcessing Classification)
target_link_libraries(merge_point_sets_plugin target_link_libraries(merge_point_sets_plugin
PUBLIC scene_points_with_normal_item) PRIVATE scene_points_with_normal_item)
cgal_lab_plugin( cgal_lab_plugin(
point_set_interference_plugin Point_set_interference_plugin KEYWORDS point_set_interference_plugin Point_set_interference_plugin KEYWORDS
PointSetProcessing) PointSetProcessing)
target_link_libraries(point_set_interference_plugin target_link_libraries(point_set_interference_plugin
PUBLIC scene_points_with_normal_item) PRIVATE scene_points_with_normal_item)
qt6_wrap_ui(alpha_shapeUI_FILES Alpha_shape_widget.ui) qt6_wrap_ui(alpha_shapeUI_FILES Alpha_shape_widget.ui)
cgal_lab_plugin(alpha_shape_plugin Alpha_shape_plugin cgal_lab_plugin(alpha_shape_plugin Alpha_shape_plugin
${alpha_shapeUI_FILES} KEYWORDS PointSetProcessing) ${alpha_shapeUI_FILES} KEYWORDS PointSetProcessing)
target_link_libraries(alpha_shape_plugin PUBLIC scene_points_with_normal_item target_link_libraries(alpha_shape_plugin PRIVATE scene_points_with_normal_item
scene_c3t3_item) scene_polygon_soup_item
scene_c3t3_item)
qt6_wrap_ui(distanceUI_FILES Point_set_to_mesh_distance_widget.ui) qt6_wrap_ui(distanceUI_FILES Point_set_to_mesh_distance_widget.ui)
cgal_lab_plugin( cgal_lab_plugin(
@ -213,7 +214,7 @@ cgal_lab_plugin(
${distanceUI_FILES} KEYWORDS PointSetProcessing) ${distanceUI_FILES} KEYWORDS PointSetProcessing)
target_link_libraries( target_link_libraries(
point_set_to_mesh_distance_plugin point_set_to_mesh_distance_plugin
PUBLIC scene_points_with_normal_item scene_surface_mesh_item scene_color_ramp) PRIVATE scene_points_with_normal_item scene_surface_mesh_item scene_color_ramp)
if(TARGET CGAL::TBB_support) if(TARGET CGAL::TBB_support)
foreach( foreach(
@ -235,7 +236,7 @@ if(TARGET CGAL::TBB_support)
alpha_shape_plugin alpha_shape_plugin
point_set_to_mesh_distance_plugin) point_set_to_mesh_distance_plugin)
if(TARGET ${plugin}) if(TARGET ${plugin})
target_link_libraries(${plugin} PUBLIC CGAL::TBB_support) target_link_libraries(${plugin} PRIVATE CGAL::TBB_support)
endif() endif()
endforeach() endforeach()
endif() endif()

View File

@ -1,4 +1,4 @@
include(CGALlab_macros) include(CGALlab_macros)
cgal_lab_plugin(subdivision_methods_plugin Subdivision_methods_plugin) cgal_lab_plugin(subdivision_methods_plugin Subdivision_methods_plugin)
target_link_libraries(subdivision_methods_plugin PUBLIC scene_surface_mesh_item) target_link_libraries(subdivision_methods_plugin PRIVATE scene_surface_mesh_item)

View File

@ -11,8 +11,8 @@ if(NOT CGAL_DISABLE_GMP)
cgal_lab_plugin(parameterization_plugin Parameterization_plugin cgal_lab_plugin(parameterization_plugin Parameterization_plugin
${parameterizationUI_FILES}) ${parameterizationUI_FILES})
target_link_libraries( target_link_libraries(
parameterization_plugin PUBLIC scene_surface_mesh_item scene_textured_item parameterization_plugin PRIVATE scene_surface_mesh_item scene_textured_item
scene_selection_item CGAL::Eigen3_support) scene_selection_item CGAL::Eigen3_support)
if(CGAL_ENABLE_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND) if(CGAL_ENABLE_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
set_tests_properties( set_tests_properties(
@ -27,7 +27,7 @@ if(NOT CGAL_DISABLE_GMP)
qt6_wrap_ui(segmentationUI_FILES Mesh_segmentation_widget.ui) qt6_wrap_ui(segmentationUI_FILES Mesh_segmentation_widget.ui)
cgal_lab_plugin(mesh_segmentation_plugin Mesh_segmentation_plugin cgal_lab_plugin(mesh_segmentation_plugin Mesh_segmentation_plugin
${segmentationUI_FILES}) ${segmentationUI_FILES})
target_link_libraries(mesh_segmentation_plugin PUBLIC scene_surface_mesh_item) target_link_libraries(mesh_segmentation_plugin PRIVATE scene_surface_mesh_item)
if(CGAL_ENABLE_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND) if(CGAL_ENABLE_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
set_tests_properties( set_tests_properties(
@ -37,14 +37,17 @@ if(NOT CGAL_DISABLE_GMP)
qt6_wrap_ui( mesh_simplificationUI_FILES Mesh_simplification_dialog.ui) qt6_wrap_ui( mesh_simplificationUI_FILES Mesh_simplification_dialog.ui)
cgal_lab_plugin(mesh_simplification_plugin Mesh_simplification_plugin ${mesh_simplificationUI_FILES}) cgal_lab_plugin(mesh_simplification_plugin Mesh_simplification_plugin ${mesh_simplificationUI_FILES})
target_link_libraries(mesh_simplification_plugin PUBLIC scene_surface_mesh_item scene_selection_item) target_link_libraries(mesh_simplification_plugin PRIVATE scene_surface_mesh_item scene_selection_item)
qt6_wrap_ui(shortestPathUI_FILES Shortest_path_widget.ui) qt6_wrap_ui(shortestPathUI_FILES Shortest_path_widget.ui)
cgal_lab_plugin(shortest_path_plugin Shortest_path_plugin cgal_lab_plugin(shortest_path_plugin Shortest_path_plugin
${shortestPathUI_FILES}) ${shortestPathUI_FILES})
target_link_libraries( target_link_libraries(shortest_path_plugin
shortest_path_plugin PUBLIC scene_surface_mesh_item scene_shortest_path_item PRIVATE
scene_basic_objects) scene_surface_mesh_item
scene_selection_item
scene_shortest_path_item
scene_basic_objects)
qt6_wrap_ui(basicUI_FILES Surface_mesh_approximation_dockwidget.ui) qt6_wrap_ui(basicUI_FILES Surface_mesh_approximation_dockwidget.ui)
cgal_lab_plugin( cgal_lab_plugin(
@ -52,7 +55,7 @@ if(NOT CGAL_DISABLE_GMP)
${basicUI_FILES} VSA_wrapper.cpp) ${basicUI_FILES} VSA_wrapper.cpp)
target_link_libraries( target_link_libraries(
surface_mesh_approximation_plugin surface_mesh_approximation_plugin
PUBLIC scene_surface_mesh_item scene_polygon_soup_item scene_polylines_item) PRIVATE scene_surface_mesh_item scene_polygon_soup_item scene_polylines_item CGAL::Eigen3_support)
else() else()
message(STATUS "NOTICE: Some tests require the CGAL_Core library, and will not be compiled.") message(STATUS "NOTICE: Some tests require the CGAL_Core library, and will not be compiled.")
endif() endif()

View File

@ -7,12 +7,12 @@ if(TARGET CGAL::Eigen3_support AND "${EIGEN3_VERSION}" VERSION_GREATER "3.1.90")
Scene_edit_polyhedron_item.cpp Scene_edit_polyhedron_item.cpp
${editionUI_FILES}) ${editionUI_FILES})
target_link_libraries( target_link_libraries(
scene_edit_item PUBLIC CGAL::Eigen3_support scene_surface_mesh_item scene_edit_item PRIVATE CGAL::Eigen3_support scene_surface_mesh_item
scene_k_ring_selection scene_basic_objects) scene_k_ring_selection scene_basic_objects)
cgal_lab_plugin(edit_plugin Edit_polyhedron_plugin Deform_mesh.ui) cgal_lab_plugin(edit_plugin Edit_polyhedron_plugin Deform_mesh.ui)
target_link_libraries(edit_plugin PUBLIC scene_surface_mesh_item target_link_libraries(edit_plugin PRIVATE scene_surface_mesh_item
scene_edit_item scene_selection_item) scene_edit_item scene_selection_item)
if(CGAL_ENABLE_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND) if(CGAL_ENABLE_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
set_tests_properties( set_tests_properties(

View File

@ -11,11 +11,14 @@ qt6_wrap_ui(tetRemeshingUI_FILES Tetrahedral_remeshing_dialog.ui)
cgal_lab_plugin( cgal_lab_plugin(
tetrahedral_remeshing_plugin Tetrahedral_remeshing_plugin tetrahedral_remeshing_plugin Tetrahedral_remeshing_plugin
${tetRemeshingUI_FILES} KEYWORDS Tetrahedral_remeshing) ${tetRemeshingUI_FILES} KEYWORDS Tetrahedral_remeshing)
target_link_libraries(tetrahedral_remeshing_plugin PUBLIC scene_c3t3_item target_link_libraries(tetrahedral_remeshing_plugin PRIVATE scene_c3t3_item
${OPENGL_gl_LIBRARY}) ${OPENGL_gl_LIBRARY})
find_package(Eigen3 3.1.0 REQUIRED) #(3.1.0 or greater) find_package(Eigen3 3.1.0 REQUIRED) #(3.1.0 or greater)
include(CGAL_Eigen3_support) include(CGAL_Eigen3_support)
if(TARGET CGAL::Eigen3_support) if(TARGET CGAL::Eigen3_support)
target_link_libraries(tetrahedral_remeshing_plugin PUBLIC 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() endif()

View File

@ -28,5 +28,5 @@ if(RUNNING_CGAL_AUTO_TEST OR CGAL_TEST_SUITE)
cgal_lab_plugin(basic_item_plugin Basic_item_plugin) cgal_lab_plugin(basic_item_plugin Basic_item_plugin)
# links the library containing the scene_plane_item with the plugin # links the library containing the scene_plane_item with the plugin
target_link_libraries(basic_item_plugin PUBLIC scene_basic_objects) target_link_libraries(basic_item_plugin PRIVATE scene_basic_objects)
endif() endif()

View File

@ -465,7 +465,6 @@ struct Scene_image_item_priv
void draw_Bbox(Scene_item::Bbox bbox, std::vector<float> *vertices); void draw_Bbox(Scene_item::Bbox bbox, std::vector<float> *vertices);
bool m_initialized; bool m_initialized;
//#ifdef SCENE_SEGMENTED_IMAGE_GL_BUFFERS_AVAILABLE
int m_voxel_scale; int m_voxel_scale;
std::vector<float> v_box; std::vector<float> v_box;
std::size_t idx_size, box_size; std::size_t idx_size, box_size;
@ -476,7 +475,6 @@ struct Scene_image_item_priv
Image m_image_weights; Image m_image_weights;
float m_sigma_weights; float m_sigma_weights;
//#endif // SCENE_SEGMENTED_IMAGE_GL_BUFFERS_AVAILABLE
}; };
// ----------------------------------- // -----------------------------------
// Scene_image_item // Scene_image_item

View File

@ -13,9 +13,9 @@ link_directories(${CMAKE_CURRENT_SOURCE_DIR}/cgogn/lib/Release)
include_directories(BEFORE "/usr/include/libxml2/") include_directories(BEFORE "/usr/include/libxml2/")
# For profilling with gprof # For profilling with gprof
#add_definitions("-pg") #add_compile_definitions("-pg")
#SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pg") #SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pg")
# add_definitions("-g") # add_compile_definitions("-g")
# OpenMesh # OpenMesh
find_package(OpenMesh REQUIRED) find_package(OpenMesh REQUIRED)
@ -47,7 +47,7 @@ find_package(Qt REQUIRED)
set(QT_USE_QTSVG TRUE) set(QT_USE_QTSVG TRUE)
set(QT_USE_QTXML TRUE) set(QT_USE_QTXML TRUE)
include(${QT_USE_FILE}) include(${QT_USE_FILE})
add_definitions(${QT_DEFINITIONS}) add_compile_definitions(${QT_DEFINITIONS})
set(CGoGN_EXT_INCLUDES ${CGoGN_EXT_INCLUDES} ${QT_INCLUDE_DIR}) set(CGoGN_EXT_INCLUDES ${CGoGN_EXT_INCLUDES} ${QT_INCLUDE_DIR})
set(CGoGN_EXT_LIBS ${CGoGN_EXT_LIBS} ${QT_LIBRARIES}) set(CGoGN_EXT_LIBS ${CGoGN_EXT_LIBS} ${QT_LIBRARIES})

View File

@ -21,9 +21,9 @@ find_package(Qt REQUIRED)
set(QT_USE_QTSVG TRUE) set(QT_USE_QTSVG TRUE)
set(QT_USE_QTXML TRUE) set(QT_USE_QTXML TRUE)
include(${QT_USE_FILE}) include(${QT_USE_FILE})
add_definitions(${QT_DEFINITIONS}) add_compile_definitions(${QT_DEFINITIONS})
add_definitions(-DINCLUDE_TEMPLATES) add_compile_definitions(INCLUDE_TEMPLATES)
# Performance_3 # Performance_3
add_executable(performance_3 performance_3.cpp) add_executable(performance_3 performance_3.cpp)

View File

@ -9,25 +9,25 @@ project(Linear_cell_complex_Demo)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
## To add expensive tests ## To add expensive tests
# add_definitions("-DCGAL_CHECK_EXPENSIVE") # add_compile_definitions(CGAL_CHECK_EXPENSIVE)
# add_definitions("-Wall -Wextra") # add_definitions("-Wall -Wextra")
# add_definitions(-fsanitize=address) # add_definitions(-fsanitize=address)
# add_link_options(-fsanitize=address) # add_link_options(-fsanitize=address)
# add_definitions("-D_GLIBCXX_DEBUG") # add_compile_definitions(_GLIBCXX_DEBUG)
## For profilling with gprof ## For profilling with gprof
# add_definitions("-pg") # add_compile_definitions("-pg")
# SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pg") # SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pg")
## To add an is_valid test after each operation (only in debug mode) ## To add an is_valid test after each operation (only in debug mode)
# add_definitions("-DCGAL_CMAP_TEST_VALID_REMOVALS") # add_compile_definitions(CGAL_CMAP_TEST_VALID_REMOVALS)
# add_definitions("-DCGAL_CMAP_TEST_VALID_CONTRACTIONS") # add_compile_definitions(CGAL_CMAP_TEST_VALID_CONTRACTIONS)
# add_definitions("-DCGAL_CMAP_TEST_VALID_INSERTIONS") # add_compile_definitions(CGAL_CMAP_TEST_VALID_INSERTIONS)
# Option allowing to profile each operation of the demo (cout times on stdout). # Option allowing to profile each operation of the demo (cout times on stdout).
add_definitions(-DCGAL_PROFILE_LCC_DEMO) add_compile_definitions(CGAL_PROFILE_LCC_DEMO)
add_definitions(-DCMAP_WITH_INDEX) # to use cc with index (handle otherwise) add_compile_definitions(CMAP_WITH_INDEX) # to use cc with index (handle otherwise)
################## ##################
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
@ -40,7 +40,7 @@ if(NOT CGAL_Qt6_FOUND OR NOT Qt6_FOUND)
else() else()
add_definitions(-DCGAL_USE_BASIC_VIEWER -DQT_NO_KEYWORDS) add_compile_definitions(CGAL_USE_BASIC_VIEWER QT_NO_KEYWORDS)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON) set(CMAKE_AUTORCC ON)
@ -61,7 +61,7 @@ else()
add_to_cached_list(CGAL_EXECUTABLE_TARGETS Linear_cell_complex_3_demo) add_to_cached_list(CGAL_EXECUTABLE_TARGETS Linear_cell_complex_3_demo)
target_link_libraries(Linear_cell_complex_3_demo target_link_libraries(Linear_cell_complex_3_demo
PUBLIC CGAL::CGAL CGAL::CGAL_Qt6 Qt6::OpenGL) PRIVATE CGAL::CGAL CGAL::CGAL_Qt6 Qt6::OpenGL)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Linear_cell_complex_3_demo) cgal_add_compilation_test(Linear_cell_complex_3_demo)

View File

@ -11,7 +11,7 @@ find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
# set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pg") # set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pg")
# To use valgrind, we must disable rounding math check. # To use valgrind, we must disable rounding math check.
# add_definitions(-DCGAL_DISABLE_ROUNDING_MATH_CHECK) # add_compile_definitions(CGAL_DISABLE_ROUNDING_MATH_CHECK)
create_single_source_cgal_program("gmap_linear_cell_complex_3.cpp") create_single_source_cgal_program("gmap_linear_cell_complex_3.cpp")
create_single_source_cgal_program("linear_cell_complex_3.cpp") create_single_source_cgal_program("linear_cell_complex_3.cpp")
@ -30,7 +30,7 @@ create_single_source_cgal_program("voronoi_3.cpp")
create_single_source_cgal_program("draw_linear_cell_complex.cpp") create_single_source_cgal_program("draw_linear_cell_complex.cpp")
if(CGAL_Qt6_FOUND) if(CGAL_Qt6_FOUND)
target_link_libraries(draw_linear_cell_complex PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(draw_linear_cell_complex PRIVATE CGAL::CGAL_Basic_viewer)
target_link_libraries(linear_cell_complex_3_incremental_builder PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(linear_cell_complex_3_incremental_builder PRIVATE CGAL::CGAL_Basic_viewer)
target_link_libraries(linear_cell_complex_3_insert PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(linear_cell_complex_3_insert PRIVATE CGAL::CGAL_Basic_viewer)
endif() endif()

View File

@ -18,21 +18,21 @@ create_single_source_cgal_program(LCC_3_incremental_builder_test.cpp ${hfiles})
# Same targets, defining USE_COMPACT_CONTAINER_WITH_INDEX to test index version # Same targets, defining USE_COMPACT_CONTAINER_WITH_INDEX to test index version
add_executable(Linear_cell_complex_2_test_index Linear_cell_complex_2_test.cpp ${hfiles}) add_executable(Linear_cell_complex_2_test_index Linear_cell_complex_2_test.cpp ${hfiles})
target_compile_definitions(Linear_cell_complex_2_test_index PUBLIC USE_COMPACT_CONTAINER_WITH_INDEX) target_compile_definitions(Linear_cell_complex_2_test_index PRIVATE USE_COMPACT_CONTAINER_WITH_INDEX)
target_link_libraries(Linear_cell_complex_2_test_index PUBLIC CGAL CGAL::Data) target_link_libraries(Linear_cell_complex_2_test_index PRIVATE CGAL CGAL::Data)
cgal_add_compilation_test(Linear_cell_complex_2_test_index) cgal_add_compilation_test(Linear_cell_complex_2_test_index)
add_executable(Linear_cell_complex_3_test_index Linear_cell_complex_3_test.cpp ${hfiles}) add_executable(Linear_cell_complex_3_test_index Linear_cell_complex_3_test.cpp ${hfiles})
target_compile_definitions(Linear_cell_complex_3_test_index PUBLIC USE_COMPACT_CONTAINER_WITH_INDEX) target_compile_definitions(Linear_cell_complex_3_test_index PRIVATE USE_COMPACT_CONTAINER_WITH_INDEX)
target_link_libraries(Linear_cell_complex_3_test_index PUBLIC CGAL CGAL::Data) target_link_libraries(Linear_cell_complex_3_test_index PRIVATE CGAL CGAL::Data)
cgal_add_compilation_test(Linear_cell_complex_3_test_index) cgal_add_compilation_test(Linear_cell_complex_3_test_index)
add_executable(Linear_cell_complex_4_test_index Linear_cell_complex_4_test.cpp ${hfiles}) add_executable(Linear_cell_complex_4_test_index Linear_cell_complex_4_test.cpp ${hfiles})
target_compile_definitions(Linear_cell_complex_4_test_index PUBLIC USE_COMPACT_CONTAINER_WITH_INDEX) target_compile_definitions(Linear_cell_complex_4_test_index PRIVATE USE_COMPACT_CONTAINER_WITH_INDEX)
target_link_libraries(Linear_cell_complex_4_test_index PUBLIC CGAL CGAL::Data) target_link_libraries(Linear_cell_complex_4_test_index PRIVATE CGAL CGAL::Data)
cgal_add_compilation_test(Linear_cell_complex_4_test_index) cgal_add_compilation_test(Linear_cell_complex_4_test_index)
add_executable(Linear_cell_complex_copy_test_index Linear_cell_complex_copy_test.cpp ${hfiles}) add_executable(Linear_cell_complex_copy_test_index Linear_cell_complex_copy_test.cpp ${hfiles})
target_compile_definitions(Linear_cell_complex_copy_test_index PUBLIC USE_COMPACT_CONTAINER_WITH_INDEX) target_compile_definitions(Linear_cell_complex_copy_test_index PRIVATE USE_COMPACT_CONTAINER_WITH_INDEX)
target_link_libraries(Linear_cell_complex_copy_test_index PUBLIC CGAL CGAL::Data) target_link_libraries(Linear_cell_complex_copy_test_index PRIVATE CGAL CGAL::Data)
cgal_add_compilation_test(Linear_cell_complex_copy_test_index) cgal_add_compilation_test(Linear_cell_complex_copy_test_index)

View File

@ -1,177 +1,71 @@
Subject: CGAL 5.6 Released, Computational Geometry Algorithms Library Subject: CGAL 5.5.5, 5.6.2, 6.0, and 6.0.1 Released, Computational Geometry Algorithms Library
Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8"
Body: Body:
The CGAL Open Source Project is pleased to announce the release 5.6 of The CGAL Open Source Project is pleased to announce the recent releases
CGAL, the Computational Geometry Algorithms Library. of CGAL versions 5.5.5, 5.6.2, 6.0, and 6.0.1.
## CGAL version 6.0
CGAL version 6.0 was released on September 27, 2024. Following the
discovery of early issues, version 6.0.1 was subsequently released on
October 22, 2024.
This version is a major release, with many new features and
improvements.
General changes
- C++17 Requirement: CGAL 6.0 requires a C++17 compatible compiler.
- GMP/MPFR Optional: GMP/MPFR are no longer mandatory;
Boost.Multiprecision can be used.
- Qt6 Demos: All demos are now based on Qt6.
- Polyhedral Surface: The demo has been renamed to “CGAL Lab” and
moved to its own directory in demo/Lab/.
New Packages
- Kinetic Space Partition: Partition of the space from planar input
shapes.
- Kinetic Surface Reconstruction: Reconstructs surfaces from point
clouds.
- Basic Viewer: Interactive visualization for various CGAL packages.
- Polygon Repair: Algorithms to repair 2D polygons and multipolygons.
Breaking Changes
- CMake Changes: UseCGAL.cmake removed; use CGAL::CGAL target instead.
- Kernel: Replaced boost::variant with std::variant and
boost::optional with std::optional in the intersection functions.
Enhancements
- AABB Tree: Now supports 2D and 3D primitives.
See the announcement of CGAL version 6.0.1 for more details:
https://www.cgal.org/2024/10/22/cgal601/
Besides fixes and general enhancement to existing packages, the
following has changed since CGAL 5.5:
General Changes ## Bug-fix releases
- Breaking change: Package-specific assertions, preconditions, and - CGAL version 5.5.5 has been published. This is the last bug-fix
postconditions (such as CGAL_triangulation_assertion) have been release for CGAL-5.5.
removed. Corresponding CGAL-wide versions (such as CGAL_assertion) - CGAL version 5.6.2 has been published. This is the second bug-fix
should be used instead. release for CGAL-5.6.
Shape Detection (major changes) These releases include various bug fixes and enhancements. For more details,
please visit:
- Breaking change: The region growing part of the package have been https://www.cgal.org/2024/10/22/cgal555/
reworked to fix design issues introduced with the handling of https://www.cgal.org/2024/10/22/cgal562/
FaceGraph models. In particular, the notion of Item has been
introduced to reference an element in the input range of elements.
Region maps now operates on Item and no longer on the value type of
the input range.
- Breaking change: The method update() in the concept RegionType now
returns a Boolean instead of void, that is used inside the class
Region_growing for detecting if the input conditions for the new
region are satisfied. This change affects only user-defined types of
regions.
- Breaking change: The constructors of all models used together with
the region growing algorithm now enable users to provide parameters
through the named parameters mechanism.
- All fitting classes in the region growing framework are now using
better versions of the region conditions, more precise and faster,
including the correct normal orientations.
- Added new models of the concept RegionType for getting linear
regions in a set of 2D and 3D segments and on 2D and 3D polylines.
- Added the class Polyline_graph for extracting a set of polylines
from a face graph, which splits this graph into a set of
user-defined regions.
- Added new shapes to the Region Growing algorithm on a point set:
circles in 2D, spheres in 3D, and cylinders in 3D.
2D Straight Skeleton and Polygon Offsetting (major changes)
- Added weighted straight skeletons: weighted straight skeletons are a
generalization of straight skeletons. Contour edges are assigned a
positive weight, which can be understood as assigning a speed to the
wavefront spawned from the contour edge.
- Added straight skeleton extrusion: this CGAL package now implements
the extrusion of weighted straight skeletons of polygons with holes.
The output is a closed, combinatorially 2-manifold surface triangle
mesh. See also the news entry.
Combinatorial Maps, Generalized Maps, and Linear Cell Complex
- Added a version that uses indices instead of handles as dart and
attribute descriptors. As the indices are integers convertible from
and to std::size_t, they can be used as index into vectors which
store properties. To use the index version, Use_index must be
defined and be equal to CGAL::Tag_true in the item class.
2D Arrangements
- Introduced an overload function template, namely draw(arr), that
renders arrangements based on the Basic_viewer_qt class template. As
of now, only 2D arrangements on the plane induced by (i)
segments, (ii) conics, and (iii) circular arcs or (linear) segments
are supported.
- Improved the traits class template that handles conics, namely
Arr_conic_traits_2. This includes the following: 1. Fixed a couple
of bugs and slightly optimized some functions. 2. Introduced
functionality that approximates conics with polylines. (This is used
to draw conic curves.) 3. Breaking change: Changed the interface to
generate conic curves. In the past, curves where generated directly
using the constructors of the conic and x-monotone conic constructs.
Now, they are constructed via function objects provided by the
traits. This eliminates the constructions of temporary kernels. The
old functionality is obsolete, but still supported for a limited
number of versions. It depends on a static member function of the
traits. In a future version this function will no longer be static,
implying that the old functionality will no longer be supported.
- Introduced functionality that approximates circular segments with
polylines. (This is used to draw conic curves.)
Polygon Mesh Processing
- Added functions
CGAL::Polygon_mesh_processing::region_growing_of_planes_on_faces()
and CGAL::Polygon_mesh_processing::detect_corners_of_regions(),
which enable partitioning a mesh into planar regions using the
region growing algorithm from the Shape Detection package.
- Added the functions
CGAL::Polygon_mesh_processing::remesh_planar_patches() and
CGAL::Polygon_mesh_processing::remesh_almost_planar_patches(), which
can be used to remesh patches of coplanar faces in a mesh.
- Added the function
CGAL::Polygon_mesh_processing::surface_Delaunay_remeshing(), which
can be used to remesh a surface triangle mesh using the Delaunay
refinement algorithm from the 3D Mesh Generation package.
- Added the function
CGAL::Polygon_mesh_processing::remove_almost_degenerate_faces(),
which can be used to remove badly shaped triangles faces in a mesh.
- Added the functions
CGAL::Polygon_mesh_processing::does_triangle_soup_self_intersect()
and
CGAL::Polygon_mesh_processing::triangle_soup_self_intersections() to
identify and report self-intersections in a triangle soup, similarly
to existing functions on triangle meshes.
- Added the function
CGAL::Polygon_mesh_processing::triangulate_polygons(), which allows
users to triangulate polygon soups.
- Added a named parameter to
CGAL::Polygon_mesh_processing::smooth_shape() to disable the
scaling, which otherwise aims to compensate volume loss during
smoothing.
- Deprecated the overloads of functions
CGAL::Polygon_mesh_processing::triangulate_hole(),
CGAL::Polygon_mesh_processing::triangulate_and_refine_hole(), and
CGAL::Polygon_mesh_processing::triangulate_refine_and_fair_hole()
which have output iterators for vertices and faces as parameter.
They are replaced by overloads with two additional named parameters.
Tetrahedral Remeshing
- Breaking change: The template parameters of The development of CGAL will now focus on the upcoming CGAL-6.1 release,
CGAL::Tetrahedral_remeshing::Remeshing_vertex_base_3 and planned for late 2025. Bug fixes will continue to be backported to the
CGAL::Tetrahedral_remeshing::Remeshing_cell_base_3 have been CGAL-5.6.x and CGAL-6.0.x branches.
modified.
3D Mesh Generation
- Added two new named parameters to the named constructor
CGAL::create_labeled_image_mesh_domain() for automatic detection and
protection of 1D-curves that lie at the intersection of three or
more subdomains extracted from labeled images.
- Added CGAL::Sizing_field_with_aabb_tree, a geometry-aware sizing
field for feature edges in polyhedral domains.
- Added new meshing criterion edge_min_size to avoid subdividing sharp
edges that are shorter than a prescribed size bound.
- Added new meshing criteria facet_min_size and cell_min_size to
prevent Delaunay refinement from creating simplices smaller than a
prescribed bound.
- Deprecated usage of boost parameters in favor of function named
parameters.
Known Bug
- MSVC 2015 is still supported by this version of CGAL, but the
feature Segment Cell Iterator of the class CGAL::Triangulation_3
does not compile with MSVC 2015.
See https://www.cgal.org/2023/07/28/cgal56/ for a complete list of changes.
The development of CGAL will then now on the future CGAL-6.0 (planned
for December 2023), with bug-fixes regularly backported to the branches
for CGAL-5.5.x and CGAL-5.6.x.
CGAL-6.0 will be the first release of CGAL requiring C++17 or later. It
will also support Qt6.
The CGAL project is a collaborative effort to develop a robust, The CGAL project is a collaborative effort to develop a robust,

View File

@ -13,6 +13,6 @@ foreach(cppfile ${cppfiles})
endforeach() endforeach()
if(CGAL_Qt6_FOUND) if(CGAL_Qt6_FOUND)
target_link_libraries(mesh_with_seeds PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(mesh_with_seeds PRIVATE CGAL::CGAL_Basic_viewer)
target_link_libraries(mesh_marked_domain PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(mesh_marked_domain PRIVATE CGAL::CGAL_Basic_viewer)
endif() endif()

View File

@ -6,13 +6,13 @@ project(Mesh_3_benchmark)
find_package(CGAL REQUIRED COMPONENTS ImageIO) find_package(CGAL REQUIRED COMPONENTS ImageIO)
add_definitions(-DCGAL_MESH_3_NO_DEPRECATED_SURFACE_INDEX add_compile_definitions(CGAL_MESH_3_NO_DEPRECATED_SURFACE_INDEX
-DCGAL_MESH_3_NO_DEPRECATED_C3T3_ITERATORS) -DCGAL_MESH_3_NO_DEPRECATED_C3T3_ITERATORS)
# Activate verbose mode? (turned OFF by default) # Activate verbose mode? (turned OFF by default)
option(CGAL_ACTIVATE_CONCURRENT_MESH_3 "Activate verbose mode in Mesh_3" OFF) option(CGAL_ACTIVATE_CONCURRENT_MESH_3 "Activate verbose mode in Mesh_3" OFF)
if(MESH_3_VERBOSE) if(MESH_3_VERBOSE)
add_definitions(-DCGAL_MESH_3_VERBOSE) add_compile_definitions(CGAL_MESH_3_VERBOSE)
endif() endif()
# Activate concurrency? (turned OFF by default) # Activate concurrency? (turned OFF by default)
@ -20,7 +20,7 @@ option(CGAL_ACTIVATE_CONCURRENT_MESH_3 "Activate parallelism in Mesh_3" OFF)
# And add -DCGAL_CONCURRENT_MESH_3 if that option is ON # And add -DCGAL_CONCURRENT_MESH_3 if that option is ON
if(CGAL_ACTIVATE_CONCURRENT_MESH_3) if(CGAL_ACTIVATE_CONCURRENT_MESH_3)
add_definitions(-DCGAL_CONCURRENT_MESH_3) add_compile_definitions(CGAL_CONCURRENT_MESH_3)
find_package(TBB REQUIRED) find_package(TBB REQUIRED)
include(CGAL_TBB_support) include(CGAL_TBB_support)
else() else()
@ -35,15 +35,12 @@ endif()
create_single_source_cgal_program("benchmark_mesh_3.cpp") create_single_source_cgal_program("benchmark_mesh_3.cpp")
if(TARGET CGAL::TBB_support) if(TARGET CGAL::TBB_support)
target_link_libraries(benchmark_mesh_3 PUBLIC CGAL::TBB_support) target_link_libraries(benchmark_mesh_3 PRIVATE CGAL::TBB_support)
endif() endif()
# Link with Boost.ProgramOptions (optional) # Link with Boost.ProgramOptions (optional)
find_package(Boost QUIET COMPONENTS program_options) find_package(Boost QUIET COMPONENTS program_options)
if(Boost_PROGRAM_OPTIONS_FOUND) if(Boost_PROGRAM_OPTIONS_FOUND)
if(TARGET Boost::program_options) target_link_libraries(benchmark_mesh_3 PRIVATE Boost::program_options)
target_link_libraries(benchmark_mesh_3 PRIVATE Boost::program_options)
else()
target_link_libraries(benchmark_mesh_3 PRIVATE ${Boost_PROGRAM_OPTIONS_LIBRARY})
endif()
endif() endif()

View File

@ -1,11 +1,11 @@
cmake_minimum_required(VERSION 3.12...3.29) cmake_minimum_required(VERSION 3.12...3.29)
project(Mesh_3_Examples) project(Mesh_3_Examples)
add_definitions(-DCGAL_MESH_3_NO_DEPRECATED_SURFACE_INDEX add_compile_definitions(CGAL_MESH_3_NO_DEPRECATED_SURFACE_INDEX
-DCGAL_MESH_3_NO_DEPRECATED_C3T3_ITERATORS) CGAL_MESH_3_NO_DEPRECATED_C3T3_ITERATORS)
if(CGAL_MESH_3_VERBOSE) if(CGAL_MESH_3_VERBOSE)
add_definitions(-DCGAL_MESH_3_VERBOSE) add_compile_definitions(CGAL_MESH_3_VERBOSE)
endif() endif()
find_package(CGAL REQUIRED COMPONENTS ImageIO) find_package(CGAL REQUIRED COMPONENTS ImageIO)
@ -13,7 +13,7 @@ find_package(CGAL REQUIRED COMPONENTS ImageIO)
option(CGAL_ACTIVATE_CONCURRENT_MESH_3 "Activate parallelism in Mesh_3" OFF) option(CGAL_ACTIVATE_CONCURRENT_MESH_3 "Activate parallelism in Mesh_3" OFF)
if(CGAL_ACTIVATE_CONCURRENT_MESH_3 OR "$ENV{CGAL_ACTIVATE_CONCURRENT_MESH_3}") if(CGAL_ACTIVATE_CONCURRENT_MESH_3 OR "$ENV{CGAL_ACTIVATE_CONCURRENT_MESH_3}")
add_definitions(-DCGAL_CONCURRENT_MESH_3) add_compile_definitions(CGAL_CONCURRENT_MESH_3)
find_package(TBB REQUIRED) find_package(TBB REQUIRED)
include(CGAL_TBB_support) include(CGAL_TBB_support)
endif() endif()
@ -36,33 +36,33 @@ else()
endif() endif()
create_single_source_cgal_program("mesh_hybrid_mesh_domain.cpp") create_single_source_cgal_program("mesh_hybrid_mesh_domain.cpp")
target_link_libraries(mesh_hybrid_mesh_domain PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_hybrid_mesh_domain PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_implicit_sphere.cpp") create_single_source_cgal_program("mesh_implicit_sphere.cpp")
target_link_libraries(mesh_implicit_sphere PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_implicit_sphere PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_implicit_ellipsoid.cpp") create_single_source_cgal_program("mesh_implicit_ellipsoid.cpp")
target_link_libraries(mesh_implicit_ellipsoid PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_implicit_ellipsoid PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_implicit_sphere_variable_size.cpp") create_single_source_cgal_program("mesh_implicit_sphere_variable_size.cpp")
target_link_libraries(mesh_implicit_sphere_variable_size PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_implicit_sphere_variable_size PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_two_implicit_spheres_with_balls.cpp") create_single_source_cgal_program("mesh_two_implicit_spheres_with_balls.cpp")
target_link_libraries(mesh_two_implicit_spheres_with_balls PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_two_implicit_spheres_with_balls PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_implicit_domains_2.cpp" create_single_source_cgal_program("mesh_implicit_domains_2.cpp"
"implicit_functions.cpp") "implicit_functions.cpp")
target_link_libraries(mesh_implicit_domains_2 PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_implicit_domains_2 PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_cubes_intersection.cpp") create_single_source_cgal_program("mesh_cubes_intersection.cpp")
target_link_libraries(mesh_cubes_intersection PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_cubes_intersection PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_cubes_intersection_with_features.cpp") create_single_source_cgal_program("mesh_cubes_intersection_with_features.cpp")
target_link_libraries(mesh_cubes_intersection_with_features PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_cubes_intersection_with_features PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_implicit_domains.cpp" create_single_source_cgal_program("mesh_implicit_domains.cpp"
"implicit_functions.cpp") "implicit_functions.cpp")
target_link_libraries(mesh_implicit_domains PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_implicit_domains PRIVATE CGAL::Eigen3_support)
find_package( ITT QUIET ) find_package( ITT QUIET )
if(TARGET ITT::ITT) if(TARGET ITT::ITT)
@ -71,95 +71,95 @@ if(TARGET ITT::ITT)
endif() endif()
create_single_source_cgal_program( "mesh_polyhedral_domain.cpp" ) create_single_source_cgal_program( "mesh_polyhedral_domain.cpp" )
target_link_libraries(mesh_polyhedral_domain PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_polyhedral_domain PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_polyhedral_domain_sm.cpp") create_single_source_cgal_program("mesh_polyhedral_domain_sm.cpp")
target_link_libraries(mesh_polyhedral_domain_sm PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_polyhedral_domain_sm PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program( create_single_source_cgal_program(
"mesh_polyhedral_domain_with_surface_inside.cpp") "mesh_polyhedral_domain_with_surface_inside.cpp")
target_link_libraries(mesh_polyhedral_domain_with_surface_inside target_link_libraries(mesh_polyhedral_domain_with_surface_inside
PUBLIC CGAL::Eigen3_support) PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("remesh_polyhedral_surface.cpp") create_single_source_cgal_program("remesh_polyhedral_surface.cpp")
target_link_libraries(remesh_polyhedral_surface PUBLIC CGAL::Eigen3_support) target_link_libraries(remesh_polyhedral_surface PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("remesh_polyhedral_surface_sm.cpp") create_single_source_cgal_program("remesh_polyhedral_surface_sm.cpp")
target_link_libraries(remesh_polyhedral_surface_sm PUBLIC CGAL::Eigen3_support) target_link_libraries(remesh_polyhedral_surface_sm PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_polyhedral_domain_with_features.cpp") create_single_source_cgal_program("mesh_polyhedral_domain_with_features.cpp")
target_link_libraries(mesh_polyhedral_domain_with_features target_link_libraries(mesh_polyhedral_domain_with_features
PUBLIC CGAL::Eigen3_support) PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_polyhedral_domain_with_features_sizing.cpp") create_single_source_cgal_program("mesh_polyhedral_domain_with_features_sizing.cpp")
target_link_libraries(mesh_polyhedral_domain_with_features_sizing target_link_libraries(mesh_polyhedral_domain_with_features_sizing
PUBLIC CGAL::Eigen3_support) PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_polyhedral_domain_with_edge_distance.cpp") create_single_source_cgal_program("mesh_polyhedral_domain_with_edge_distance.cpp")
target_link_libraries(mesh_polyhedral_domain_with_edge_distance target_link_libraries(mesh_polyhedral_domain_with_edge_distance
PUBLIC CGAL::Eigen3_support) PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_polyhedral_domain_with_features_sm.cpp") create_single_source_cgal_program("mesh_polyhedral_domain_with_features_sm.cpp")
target_link_libraries(mesh_polyhedral_domain_with_features_sm target_link_libraries(mesh_polyhedral_domain_with_features_sm
PUBLIC CGAL::Eigen3_support) PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program( create_single_source_cgal_program(
"mesh_polyhedral_domain_with_lipschitz_sizing.cpp") "mesh_polyhedral_domain_with_lipschitz_sizing.cpp")
target_link_libraries(mesh_polyhedral_domain_with_lipschitz_sizing target_link_libraries(mesh_polyhedral_domain_with_lipschitz_sizing
PUBLIC CGAL::Eigen3_support) PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_polyhedral_complex.cpp") create_single_source_cgal_program("mesh_polyhedral_complex.cpp")
target_link_libraries(mesh_polyhedral_complex PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_polyhedral_complex PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_polyhedral_complex_sm.cpp") create_single_source_cgal_program("mesh_polyhedral_complex_sm.cpp")
target_link_libraries(mesh_polyhedral_complex_sm PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_polyhedral_complex_sm PRIVATE CGAL::Eigen3_support)
if(TARGET CGAL::CGAL_ImageIO) if(TARGET CGAL::CGAL_ImageIO)
if(VTK_FOUND) if(VTK_FOUND)
create_single_source_cgal_program("mesh_3D_gray_vtk_image.cpp") create_single_source_cgal_program("mesh_3D_gray_vtk_image.cpp")
target_link_libraries(mesh_3D_gray_vtk_image target_link_libraries(mesh_3D_gray_vtk_image
PUBLIC CGAL::Eigen3_support PRIVATE CGAL::Eigen3_support
CGAL::CGAL_ImageIO CGAL::CGAL_ImageIO
PRIVATE ${VTK_LIBRARIES}) PRIVATE ${VTK_LIBRARIES})
add_to_cached_list(CGAL_EXECUTABLE_TARGETS mesh_3D_gray_vtk_image) add_to_cached_list(CGAL_EXECUTABLE_TARGETS mesh_3D_gray_vtk_image)
endif() endif()
create_single_source_cgal_program("mesh_3D_gray_image.cpp") create_single_source_cgal_program("mesh_3D_gray_image.cpp")
target_link_libraries(mesh_3D_gray_image PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_3D_gray_image PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_3D_gray_image_multiple_values.cpp") create_single_source_cgal_program("mesh_3D_gray_image_multiple_values.cpp")
target_link_libraries(mesh_3D_gray_image_multiple_values target_link_libraries(mesh_3D_gray_image_multiple_values
PUBLIC CGAL::Eigen3_support) PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_3D_image_with_features.cpp") create_single_source_cgal_program("mesh_3D_image_with_features.cpp")
target_link_libraries(mesh_3D_image_with_features PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_3D_image_with_features PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_3D_image_with_input_features.cpp") create_single_source_cgal_program("mesh_3D_image_with_input_features.cpp")
target_link_libraries(mesh_3D_image_with_input_features PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_3D_image_with_input_features PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_3D_image_with_detection_of_features.cpp") create_single_source_cgal_program("mesh_3D_image_with_detection_of_features.cpp")
target_link_libraries(mesh_3D_image_with_detection_of_features PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_3D_image_with_detection_of_features PRIVATE CGAL::Eigen3_support)
if(CGAL_ImageIO_USE_ZLIB) if(CGAL_ImageIO_USE_ZLIB)
create_single_source_cgal_program("mesh_optimization_example.cpp") create_single_source_cgal_program("mesh_optimization_example.cpp")
target_link_libraries(mesh_optimization_example PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_optimization_example PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_optimization_lloyd_example.cpp") create_single_source_cgal_program("mesh_optimization_lloyd_example.cpp")
target_link_libraries(mesh_optimization_lloyd_example target_link_libraries(mesh_optimization_lloyd_example
PUBLIC CGAL::Eigen3_support) PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_3D_image.cpp") create_single_source_cgal_program("mesh_3D_image.cpp")
target_link_libraries(mesh_3D_image PUBLIC CGAL::Eigen3_support) target_link_libraries(mesh_3D_image PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program( create_single_source_cgal_program(
"mesh_3D_image_with_custom_initialization.cpp") "mesh_3D_image_with_custom_initialization.cpp")
target_link_libraries(mesh_3D_image_with_custom_initialization target_link_libraries(mesh_3D_image_with_custom_initialization
PUBLIC CGAL::Eigen3_support) PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program( create_single_source_cgal_program(
"mesh_3D_image_with_image_initialization.cpp") "mesh_3D_image_with_image_initialization.cpp")
target_link_libraries(mesh_3D_image_with_image_initialization target_link_libraries(mesh_3D_image_with_image_initialization
PUBLIC CGAL::Eigen3_support) PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program( create_single_source_cgal_program(
"mesh_3D_image_with_initial_points.cpp") "mesh_3D_image_with_initial_points.cpp")
@ -168,7 +168,7 @@ if(TARGET CGAL::CGAL_ImageIO)
create_single_source_cgal_program("mesh_3D_image_variable_size.cpp") create_single_source_cgal_program("mesh_3D_image_variable_size.cpp")
target_link_libraries(mesh_3D_image_variable_size target_link_libraries(mesh_3D_image_variable_size
PUBLIC CGAL::Eigen3_support) PRIVATE CGAL::Eigen3_support)
find_package(ITK NAMES ITK InsightToolkit find_package(ITK NAMES ITK InsightToolkit
QUIET COMPONENTS ITKCommon ITKThresholding ITKSmoothing ITKImageIntensity) QUIET COMPONENTS ITKCommon ITKThresholding ITKSmoothing ITKImageIntensity)
@ -179,11 +179,11 @@ if(TARGET CGAL::CGAL_ImageIO)
create_single_source_cgal_program("mesh_3D_weighted_image.cpp") create_single_source_cgal_program("mesh_3D_weighted_image.cpp")
target_link_libraries(mesh_3D_weighted_image target_link_libraries(mesh_3D_weighted_image
PUBLIC CGAL::Eigen3_support CGAL::ITK_support) PRIVATE CGAL::Eigen3_support CGAL::ITK_support)
create_single_source_cgal_program("mesh_3D_weighted_image_with_detection_of_features.cpp") create_single_source_cgal_program("mesh_3D_weighted_image_with_detection_of_features.cpp")
target_link_libraries(mesh_3D_weighted_image_with_detection_of_features target_link_libraries(mesh_3D_weighted_image_with_detection_of_features
PUBLIC CGAL::Eigen3_support CGAL::ITK_support) PRIVATE CGAL::Eigen3_support CGAL::ITK_support)
else() else()
message(STATUS "NOTICE: The examples that need ITK will not be compiled.") message(STATUS "NOTICE: The examples that need ITK will not be compiled.")
endif() endif()
@ -225,7 +225,7 @@ if(CGAL_ACTIVATE_CONCURRENT_MESH_3 AND TARGET CGAL::TBB_support)
mesh_polyhedral_domain_with_lipschitz_sizing mesh_polyhedral_domain_with_lipschitz_sizing
mesh_two_implicit_spheres_with_balls) mesh_two_implicit_spheres_with_balls)
if(TARGET ${target}) if(TARGET ${target})
target_link_libraries(${target} PUBLIC CGAL::TBB_support) target_link_libraries(${target} PRIVATE CGAL::TBB_support)
endif() endif()
endforeach() endforeach()
endif() endif()

View File

@ -89,7 +89,7 @@ foreach(target
test_meshing_polyhedral_complex_with_manifold_and_min_size test_meshing_polyhedral_complex_with_manifold_and_min_size
) )
if(TARGET ${target}) if(TARGET ${target})
target_link_libraries(${target} PUBLIC CGAL::Eigen3_support) target_link_libraries(${target} PRIVATE CGAL::Eigen3_support)
endif() endif()
endforeach() endforeach()
@ -115,7 +115,7 @@ if(TARGET CGAL::TBB_support)
test_min_size_criteria test_min_size_criteria
) )
if(TARGET ${target}) if(TARGET ${target})
target_link_libraries(${target} PUBLIC CGAL::TBB_support) target_link_libraries(${target} PRIVATE CGAL::TBB_support)
endif() endif()
endforeach() endforeach()

View File

@ -16,5 +16,5 @@ foreach(cppfile ${cppfiles})
endforeach() endforeach()
if(CGAL_Qt6_FOUND) if(CGAL_Qt6_FOUND)
target_link_libraries(draw_nef_3 PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(draw_nef_3 PRIVATE CGAL::CGAL_Basic_viewer)
endif() endif()

View File

@ -22,7 +22,7 @@ if(TARGET CGAL::Eigen3_support)
foreach(cppfile ${cppfiles}) foreach(cppfile ${cppfiles})
get_filename_component(target ${cppfile} NAME_WE) get_filename_component(target ${cppfile} NAME_WE)
create_single_source_cgal_program("${cppfile}") create_single_source_cgal_program("${cppfile}")
target_link_libraries(${target} PUBLIC CGAL::Eigen3_support) target_link_libraries(${target} PRIVATE CGAL::Eigen3_support)
endforeach() endforeach()
else() else()
message("NOTICE: These programs require the Eigen3 library, and will not be compiled.") message("NOTICE: These programs require the Eigen3 library, and will not be compiled.")

View File

@ -83,7 +83,7 @@ if(NOT CGAL_DISABLE_GMP)
find_package(Eigen3 3.2.0 QUIET) #(requires 3.2.0 or greater) find_package(Eigen3 3.2.0 QUIET) #(requires 3.2.0 or greater)
include(CGAL_Eigen3_support) include(CGAL_Eigen3_support)
if (TARGET CGAL::Eigen3_support) if (TARGET CGAL::Eigen3_support)
target_link_libraries(test_eigen PUBLIC CGAL::Eigen3_support) target_link_libraries(test_eigen PRIVATE CGAL::Eigen3_support)
endif() endif()
else()#NOT CGAL_DISABLE_GMP else()#NOT CGAL_DISABLE_GMP
message(STATUS "NOTICE: Some tests require the CGAL_Core library, and will not be compiled.") message(STATUS "NOTICE: Some tests require the CGAL_Core library, and will not be compiled.")

View File

@ -15,4 +15,4 @@ if(NOT TARGET CGAL::Eigen3_support)
endif() endif()
create_single_source_cgal_program("bench_obb.cpp") create_single_source_cgal_program("bench_obb.cpp")
target_link_libraries(bench_obb PUBLIC CGAL::Eigen3_support) target_link_libraries(bench_obb PRIVATE CGAL::Eigen3_support)

View File

@ -18,5 +18,5 @@ create_single_source_cgal_program("obb_with_point_maps_example.cpp")
create_single_source_cgal_program("rotated_aabb_tree_example.cpp") create_single_source_cgal_program("rotated_aabb_tree_example.cpp")
foreach(target obb_example obb_with_point_maps_example rotated_aabb_tree_example) foreach(target obb_example obb_with_point_maps_example rotated_aabb_tree_example)
target_link_libraries(${target} PUBLIC CGAL::Eigen3_support) target_link_libraries(${target} PRIVATE CGAL::Eigen3_support)
endforeach() endforeach()

View File

@ -18,5 +18,5 @@ create_single_source_cgal_program("test_nelder_mead.cpp")
create_single_source_cgal_program("test_optimization_algorithms.cpp") create_single_source_cgal_program("test_optimization_algorithms.cpp")
foreach(target test_OBB_traits test_nelder_mead test_optimization_algorithms) foreach(target test_OBB_traits test_nelder_mead test_optimization_algorithms)
target_link_libraries(${target} PUBLIC CGAL::Eigen3_support) target_link_libraries(${target} PRIVATE CGAL::Eigen3_support)
endforeach() endforeach()

View File

@ -28,7 +28,6 @@ if(CGAL_Qt6_FOUND AND Qt6_FOUND)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON) set(CMAKE_AUTORCC ON)
add_definitions(-DQT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
add_executable(Otr2_demo glviewer.cpp scene.cpp Otr2_demo.cpp window.cpp render.cpp dialog_options.cpp add_executable(Otr2_demo glviewer.cpp scene.cpp Otr2_demo.cpp window.cpp render.cpp dialog_options.cpp

View File

@ -19,8 +19,8 @@ create_single_source_cgal_program("octree_surface_mesh.cpp")
create_single_source_cgal_program("quadtree_build_manually.cpp") create_single_source_cgal_program("quadtree_build_manually.cpp")
find_package(Eigen3 3.1.91 QUIET) #(requires 3.1.91 or greater) find_package(Eigen3 3.1.91 QUIET) #(requires 3.1.91 or greater)
include(CGAL_Eigen_support) include(CGAL_Eigen3_support)
if (TARGET CGAL::Eigen_support) if (TARGET CGAL::Eigen3_support)
create_single_source_cgal_program("orthtree_build.cpp") create_single_source_cgal_program("orthtree_build.cpp")
target_link_libraries(orthtree_build PUBLIC CGAL::Eigen_support) target_link_libraries(orthtree_build PRIVATE CGAL::Eigen3_support)
endif() endif()

View File

@ -16,5 +16,5 @@ foreach(cppfile ${cppfiles})
endforeach() endforeach()
if(CGAL_Qt6_FOUND) if(CGAL_Qt6_FOUND)
target_link_libraries(draw_periodic_2_triangulation_2 PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(draw_periodic_2_triangulation_2 PRIVATE CGAL::CGAL_Basic_viewer)
endif() endif()

View File

@ -30,5 +30,5 @@ foreach(
mesh_implicit_shape_with_optimizers mesh_implicit_shape_with_optimizers
mesh_implicit_shape_with_features mesh_implicit_shape_with_features
mesh_periodic_polyhedral_domain) mesh_periodic_polyhedral_domain)
target_link_libraries(${target} PUBLIC CGAL::Eigen3_support) target_link_libraries(${target} PRIVATE CGAL::Eigen3_support)
endforeach() endforeach()

View File

@ -15,8 +15,8 @@ if(NOT TARGET CGAL::Eigen3_support)
endif() endif()
create_single_source_cgal_program("test_implicit_shapes_bunch.cpp") create_single_source_cgal_program("test_implicit_shapes_bunch.cpp")
target_link_libraries(test_implicit_shapes_bunch PUBLIC CGAL::Eigen3_support) target_link_libraries(test_implicit_shapes_bunch PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("test_implicit_shapes_with_features.cpp") create_single_source_cgal_program("test_implicit_shapes_with_features.cpp")
target_link_libraries(test_implicit_shapes_with_features PUBLIC CGAL::Eigen3_support) target_link_libraries(test_implicit_shapes_with_features PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("test_triply_periodic_minimal_surfaces.cpp") create_single_source_cgal_program("test_triply_periodic_minimal_surfaces.cpp")
target_link_libraries(test_triply_periodic_minimal_surfaces PUBLIC CGAL::Eigen3_support) target_link_libraries(test_triply_periodic_minimal_surfaces PRIVATE CGAL::Eigen3_support)

View File

@ -11,7 +11,7 @@ find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
find_package(Qt6 QUIET COMPONENTS Widgets OpenGL Help ToolsTools) find_package(Qt6 QUIET COMPONENTS Widgets OpenGL Help ToolsTools)
if(Qt6_FOUND) if(Qt6_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
endif(Qt6_FOUND) endif(Qt6_FOUND)

View File

@ -17,12 +17,12 @@ find_package(Eigen3 3.1.0 QUIET) #(requires 3.1.0 or greater)
include(CGAL_Eigen3_support) include(CGAL_Eigen3_support)
if(TARGET CGAL::Eigen3_support) if(TARGET CGAL::Eigen3_support)
create_single_source_cgal_program("point_set_algo.cpp") create_single_source_cgal_program("point_set_algo.cpp")
target_link_libraries(point_set_algo PUBLIC CGAL::Eigen3_support) target_link_libraries(point_set_algo PRIVATE CGAL::Eigen3_support)
else() else()
message(STATUS "NOTICE: The example 'point_set_algo' requires the Eigen library, and will not be compiled.") message(STATUS "NOTICE: The example 'point_set_algo' requires the Eigen library, and will not be compiled.")
endif() endif()
create_single_source_cgal_program("draw_point_set_3.cpp") create_single_source_cgal_program("draw_point_set_3.cpp")
if(CGAL_Qt6_FOUND) if(CGAL_Qt6_FOUND)
target_link_libraries(draw_point_set_3 PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(draw_point_set_3 PRIVATE CGAL::CGAL_Basic_viewer)
endif() endif()

View File

@ -18,7 +18,7 @@ if(NOT MSVC_VERSION OR MSVC_VERSION GREATER_EQUAL 1919 OR MSVC_VERSION LESS 1910
find_package(LASLIB QUIET) find_package(LASLIB QUIET)
include(CGAL_LASLIB_support) include(CGAL_LASLIB_support)
if (TARGET CGAL::LASLIB_support) if (TARGET CGAL::LASLIB_support)
target_link_libraries(test_deprecated_io_ps PUBLIC CGAL::LASLIB_support) target_link_libraries(test_deprecated_io_ps PRIVATE CGAL::LASLIB_support)
else() else()
message(STATUS "NOTICE: the LAS reader test requires LASlib, and will not be compiled.") message(STATUS "NOTICE: the LAS reader test requires LASlib, and will not be compiled.")
endif() endif()

View File

@ -8,9 +8,6 @@ find_package(CGAL REQUIRED)
# VisualC++ optimization for applications dealing with large data # VisualC++ optimization for applications dealing with large data
if(MSVC) if(MSVC)
# Quit warning in the lasreader
add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS)
if(CMAKE_SIZEOF_VOID_P EQUAL 4) if(CMAKE_SIZEOF_VOID_P EQUAL 4)
# Allow Windows 32bit applications to use up to 3GB of RAM # Allow Windows 32bit applications to use up to 3GB of RAM
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE")
@ -47,7 +44,7 @@ foreach(
read_ply_points_with_colors_example read_ply_points_with_colors_example
write_ply_points_example) write_ply_points_example)
create_single_source_cgal_program("${target}.cpp") create_single_source_cgal_program("${target}.cpp")
target_link_libraries(${target} PRIVATE ${CGAL_libs}) target_link_libraries(${target} PRIVATE CGAL::CGAL)
endforeach() endforeach()
#disable if MSVC 2017 #disable if MSVC 2017
@ -59,6 +56,10 @@ if(NOT MSVC_VERSION OR MSVC_VERSION GREATER_EQUAL 1919 OR MSVC_VERSION LESS 1910
create_single_source_cgal_program("write_las_example.cpp") create_single_source_cgal_program("write_las_example.cpp")
target_link_libraries(read_las_example PRIVATE CGAL::LASLIB_support) target_link_libraries(read_las_example PRIVATE CGAL::LASLIB_support)
target_link_libraries(write_las_example PRIVATE CGAL::LASLIB_support) target_link_libraries(write_las_example PRIVATE CGAL::LASLIB_support)
target_compile_definitions(read_las_example PRIVATE -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS)
target_compile_definitions(write_las_example PRIVATE -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS)
else() else()
message(STATUS "NOTICE : the LAS reader test requires LASlib and will not be compiled.") message(STATUS "NOTICE : the LAS reader test requires LASlib and will not be compiled.")
endif() endif()

View File

@ -37,8 +37,8 @@ if(NOT MSVC_VERSION OR MSVC_VERSION GREATER_EQUAL 1919 OR MSVC_VERSION LESS 1910
find_package(LASLIB QUIET) find_package(LASLIB QUIET)
include(CGAL_LASLIB_support) include(CGAL_LASLIB_support)
if (TARGET CGAL::LASLIB_support) if (TARGET CGAL::LASLIB_support)
target_link_libraries(test_read_write_point_set PUBLIC ${CGAL_libs} CGAL::LASLIB_support) target_link_libraries(test_read_write_point_set PRIVATE ${CGAL_libs} CGAL::LASLIB_support)
target_link_libraries(test_deprecated_io_point_set PUBLIC ${CGAL_libs} CGAL::LASLIB_support) target_link_libraries(test_deprecated_io_point_set PRIVATE ${CGAL_libs} CGAL::LASLIB_support)
else() else()
message(STATUS "NOTICE: the LAS reader test requires LASlib and will not be compiled.") message(STATUS "NOTICE: the LAS reader test requires LASlib and will not be compiled.")
endif() endif()
@ -52,25 +52,25 @@ include(CGAL_Eigen3_support)
if(TARGET CGAL::Eigen3_support) if(TARGET CGAL::Eigen3_support)
# Executables that require Eigen # Executables that require Eigen
create_single_source_cgal_program( "normal_estimation_test.cpp" ) create_single_source_cgal_program( "normal_estimation_test.cpp" )
target_link_libraries(normal_estimation_test PUBLIC CGAL::Eigen3_support) target_link_libraries(normal_estimation_test PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("hierarchy_simplification_test.cpp") create_single_source_cgal_program("hierarchy_simplification_test.cpp")
target_link_libraries(hierarchy_simplification_test PUBLIC CGAL::Eigen3_support) target_link_libraries(hierarchy_simplification_test PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("smoothing_test.cpp") create_single_source_cgal_program("smoothing_test.cpp")
target_link_libraries(smoothing_test PUBLIC CGAL::Eigen3_support) target_link_libraries(smoothing_test PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("vcm_plane_test.cpp") create_single_source_cgal_program("vcm_plane_test.cpp")
target_link_libraries(vcm_plane_test PUBLIC CGAL::Eigen3_support) target_link_libraries(vcm_plane_test PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("vcm_all_test.cpp") create_single_source_cgal_program("vcm_all_test.cpp")
target_link_libraries(vcm_all_test PUBLIC CGAL::Eigen3_support) target_link_libraries(vcm_all_test PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("jet_pointer_as_property_map.cpp") create_single_source_cgal_program("jet_pointer_as_property_map.cpp")
target_link_libraries(jet_pointer_as_property_map PUBLIC CGAL::Eigen3_support) target_link_libraries(jet_pointer_as_property_map PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("psp_jet_includes.cpp") create_single_source_cgal_program("psp_jet_includes.cpp")
target_link_libraries(psp_jet_includes PUBLIC CGAL::Eigen3_support) target_link_libraries(psp_jet_includes PRIVATE CGAL::Eigen3_support)
else() else()
message(STATUS "NOTICE: Some tests require Eigen 3.1 (or greater), and will not be compiled.") message(STATUS "NOTICE: Some tests require Eigen 3.1 (or greater), and will not be compiled.")
endif() endif()
@ -84,7 +84,7 @@ if(TARGET CGAL::TBB_support)
wlop_simplify_and_regularize_test edge_aware_upsample_test wlop_simplify_and_regularize_test edge_aware_upsample_test
normal_estimation_test) normal_estimation_test)
if(TARGET ${target}) if(TARGET ${target})
target_link_libraries(${target} PUBLIC CGAL::TBB_support) target_link_libraries(${target} PRIVATE CGAL::TBB_support)
endif() endif()
endforeach() endforeach()
else() else()

View File

@ -27,15 +27,15 @@ include(CGAL_Eigen3_support)
if(TARGET CGAL::Eigen3_support) if(TARGET CGAL::Eigen3_support)
# Executables that require Eigen 3 # Executables that require Eigen 3
create_single_source_cgal_program("poisson_reconstruction_example.cpp") create_single_source_cgal_program("poisson_reconstruction_example.cpp")
target_link_libraries(poisson_reconstruction_example PUBLIC CGAL::Eigen3_support) target_link_libraries(poisson_reconstruction_example PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("poisson_and_parallel_mesh_3.cpp") create_single_source_cgal_program("poisson_and_parallel_mesh_3.cpp")
target_link_libraries(poisson_and_parallel_mesh_3 PUBLIC CGAL::Eigen3_support) target_link_libraries(poisson_and_parallel_mesh_3 PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("poisson_reconstruction.cpp") create_single_source_cgal_program("poisson_reconstruction.cpp")
target_link_libraries(poisson_reconstruction PUBLIC CGAL::Eigen3_support) target_link_libraries(poisson_reconstruction PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("poisson_reconstruction_function.cpp") create_single_source_cgal_program("poisson_reconstruction_function.cpp")
target_link_libraries(poisson_reconstruction_function PUBLIC CGAL::Eigen3_support) target_link_libraries(poisson_reconstruction_function PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("tutorial_example.cpp") create_single_source_cgal_program("tutorial_example.cpp")
target_link_libraries(tutorial_example PUBLIC CGAL::Eigen3_support) target_link_libraries(tutorial_example PRIVATE CGAL::Eigen3_support)
else() else()
message("NOTICE: The examples require Eigen 3.1 (or greater) will not be compiled.") message("NOTICE: The examples require Eigen 3.1 (or greater) will not be compiled.")
endif() endif()
@ -46,6 +46,6 @@ if(CGAL_ACTIVATE_CONCURRENT_MESH_3)
include(CGAL_TBB_support) include(CGAL_TBB_support)
if(TARGET CGAL::TBB_support) if(TARGET CGAL::TBB_support)
add_definitions(-DCGAL_CONCURRENT_MESH_3) add_definitions(-DCGAL_CONCURRENT_MESH_3)
target_link_libraries(poisson_and_parallel_mesh_3 PUBLIC CGAL::TBB_support) target_link_libraries(poisson_and_parallel_mesh_3 PRIVATE CGAL::TBB_support)
endif()#Find TBB endif()#Find TBB
endif()#Parallelism in Mesh_3 endif()#Parallelism in Mesh_3

View File

@ -23,13 +23,13 @@ include(CGAL_Eigen3_support)
if(TARGET CGAL::Eigen3_support) if(TARGET CGAL::Eigen3_support)
# Executables that require Eigen 3.1 # Executables that require Eigen 3.1
create_single_source_cgal_program("poisson_reconstruction_test_surface_mesher.cpp") create_single_source_cgal_program("poisson_reconstruction_test_surface_mesher.cpp")
target_link_libraries(poisson_reconstruction_test_surface_mesher PUBLIC CGAL::Eigen3_support) target_link_libraries(poisson_reconstruction_test_surface_mesher PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("poisson_reconstruction_test_mesh_3.cpp") create_single_source_cgal_program("poisson_reconstruction_test_mesh_3.cpp")
target_link_libraries(poisson_reconstruction_test_mesh_3 PUBLIC CGAL::Eigen3_support) target_link_libraries(poisson_reconstruction_test_mesh_3 PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("compare_mesh_3_vs_Poisson_implicit_surface_3.cpp") create_single_source_cgal_program("compare_mesh_3_vs_Poisson_implicit_surface_3.cpp")
target_link_libraries(compare_mesh_3_vs_Poisson_implicit_surface_3 PUBLIC CGAL::Eigen3_support) target_link_libraries(compare_mesh_3_vs_Poisson_implicit_surface_3 PRIVATE CGAL::Eigen3_support)
else() else()
message("NOTICE: Tests in this directory require Eigen 3.1 (or greater), and will not be compiled.") message("NOTICE: Tests in this directory require Eigen 3.1 (or greater), and will not be compiled.")

Some files were not shown because too many files have changed in this diff Show More