mirror of https://github.com/CGAL/cgal
Squash-merge PR #5701 into 5.2.x
See https://github.com/CGAL/cgal/pull/5701
This commit is contained in:
parent
07cfbc21d8
commit
db4cea95a6
|
|
@ -97,10 +97,35 @@ function(cgal_add_compilation_test exe_name)
|
|||
if(NOT POLICY CMP0064 OR TEST compilation_of__${exe_name})
|
||||
return()
|
||||
endif()
|
||||
add_test(NAME "compilation_of__${exe_name}"
|
||||
COMMAND ${TIME_COMMAND} "${CMAKE_COMMAND}" --build "${CMAKE_BINARY_DIR}" --target "${exe_name}" --config "$<CONFIG>")
|
||||
set_property(TEST "compilation_of__${exe_name}"
|
||||
APPEND PROPERTY LABELS "${PROJECT_NAME}")
|
||||
if(NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
if(TEST compilation_of__${exe_name})
|
||||
return()
|
||||
endif()
|
||||
add_test(NAME "compilation_of__${exe_name}"
|
||||
COMMAND ${TIME_COMMAND} "${CMAKE_COMMAND}" --build "${CMAKE_BINARY_DIR}" --target "${exe_name}" --config "$<CONFIG>")
|
||||
set_property(TEST "compilation_of__${exe_name}"
|
||||
APPEND PROPERTY LABELS "${PROJECT_NAME}")
|
||||
set_property(TEST "compilation_of__${exe_name}"
|
||||
APPEND PROPERTY FIXTURES_REQUIRED "check_build_system_SetupFixture")
|
||||
elseif(NOT TARGET compilation_of__${PROJECT_NAME})#CMAKE_VS_MSBUILD_COMMAND
|
||||
#this target is just a flag, to deal with the scope problem with the tests
|
||||
add_custom_target(compilation_of__${PROJECT_NAME})
|
||||
add_test(NAME "compilation_of__${PROJECT_NAME}"
|
||||
COMMAND ${TIME_COMMAND} "${CMAKE_VS_MSBUILD_COMMAND}" "${PROJECT_BINARY_DIR}/${PROJECT_NAME}.sln" "-m:$ENV{NUMBER_OF_PROCESSORS}" "/t:Build" "/p:Configuration=$<CONFIG>")
|
||||
set_property(TEST "compilation_of__${PROJECT_NAME}"
|
||||
APPEND PROPERTY LABELS "${PROJECT_NAME}")
|
||||
set_property(TEST "compilation_of__${PROJECT_NAME}"
|
||||
APPEND PROPERTY FIXTURES_REQUIRED "check_build_system_SetupFixture")
|
||||
set_tests_properties("compilation_of__${PROJECT_NAME}"
|
||||
PROPERTIES RUN_SERIAL TRUE)
|
||||
#because of the scope of the tests, this part cannot go in the relevant CMakeLists
|
||||
if("${PROJECT_NAME}" STREQUAL "Polyhedron_Demo")
|
||||
set_tests_properties(compilation_of__Polyhedron_Demo PROPERTIES TIMEOUT 2400)
|
||||
elseif("${PROJECT_NAME}" STREQUAL "Mesh_3_Tests" OR "${PROJECT_NAME}" STREQUAL "Mesh_3_Examples")
|
||||
set_tests_properties(compilation_of__${PROJECT_NAME} PROPERTIES TIMEOUT 1600)
|
||||
endif()
|
||||
|
||||
endif()#CMAKE_VS_MSBUILD_COMMAND
|
||||
if(NOT TARGET ALL_CGAL_TARGETS)
|
||||
add_custom_target( ALL_CGAL_TARGETS )
|
||||
endif()
|
||||
|
|
@ -159,8 +184,13 @@ function(cgal_setup_test_properties test_name)
|
|||
endif()
|
||||
|
||||
if(exe_name)
|
||||
set_property(TEST "${test_name}"
|
||||
APPEND PROPERTY DEPENDS "compilation_of__${exe_name}")
|
||||
if(NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_property(TEST "${test_name}"
|
||||
APPEND PROPERTY DEPENDS "compilation_of__${exe_name}")
|
||||
else()#CMAKE_VS_MSBUILD_COMMAND
|
||||
set_property(TEST "${test_name}"
|
||||
APPEND PROPERTY DEPENDS "compilation_of__${PROJECT_NAME}")
|
||||
endif()#CMAKE_VS_MSBUILD_COMMAND
|
||||
endif()
|
||||
|
||||
get_filename_component(_source_dir_abs ${CMAKE_CURRENT_SOURCE_DIR} ABSOLUTE)
|
||||
|
|
@ -242,8 +272,13 @@ function(cgal_setup_test_properties test_name)
|
|||
if(exe_name)
|
||||
set_property(TEST ${test_name}
|
||||
APPEND PROPERTY FIXTURES_REQUIRED "${exe_name}")
|
||||
set_property(TEST "compilation_of__${exe_name}"
|
||||
PROPERTY FIXTURES_SETUP "${exe_name}")
|
||||
if(NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_property(TEST "compilation_of__${exe_name}"
|
||||
PROPERTY FIXTURES_SETUP "${exe_name}")
|
||||
else()#CMAKE_VS_MSBUILD_COMMAND
|
||||
set_property(TEST "compilation_of__${PROJECT_NAME}"
|
||||
PROPERTY FIXTURES_SETUP "${exe_name}")
|
||||
endif()#CMAKE_VS_MSBUILD_COMMAND
|
||||
if((ANDROID OR CGAL_RUN_TESTS_THROUGH_SSH) AND NOT TEST push_of__${exe_name})
|
||||
if(ANDROID)
|
||||
add_test(NAME "push_of__${exe_name}"
|
||||
|
|
|
|||
|
|
@ -69,8 +69,8 @@ include(${CGAL_USE_FILE})
|
|||
|
||||
find_package(
|
||||
Qt5 QUIET
|
||||
COMPONENTS OpenGL Script
|
||||
OPTIONAL_COMPONENTS ScriptTools WebSockets)
|
||||
COMPONENTS OpenGL Script Widgets
|
||||
OPTIONAL_COMPONENTS ScriptTools WebSockets Network)
|
||||
|
||||
set_package_properties(
|
||||
Qt5 PROPERTIES
|
||||
|
|
@ -241,7 +241,7 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
STATUS "Qt5WebSockets was found. Using WebSockets is therefore possible.")
|
||||
endif()
|
||||
|
||||
cgal_add_compilation_test(demo_framework)
|
||||
#compilation_of__demo_framework is defined in polyhedron_demo_macros.cmake
|
||||
# Let's define `three_EXPORT` during the compilation of `demo_framework`,
|
||||
# in addition of `demo_framework_EXPORT` (defined automatically by
|
||||
# CMake). That is to deal with the visibility of symbols of
|
||||
|
|
@ -267,23 +267,11 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
target_link_libraries(point_dialog PUBLIC Qt5::OpenGL Qt5::Gui Qt5::Script
|
||||
Qt5::Widgets)
|
||||
|
||||
add_custom_target(all_scene_items)
|
||||
if(BUILD_TESTING)
|
||||
cgal_add_compilation_test(all_scene_items)
|
||||
set_property(
|
||||
TEST compilation_of__all_scene_items
|
||||
APPEND
|
||||
PROPERTY DEPENDS compilation_of__demo_framework)
|
||||
set_property(TEST compilation_of__all_scene_items APPEND PROPERTY TIMEOUT
|
||||
1700)
|
||||
endif(BUILD_TESTING)
|
||||
|
||||
macro(add_item item_name)
|
||||
add_library(${item_name} SHARED ${ARGN})
|
||||
target_link_libraries(
|
||||
${item_name} PUBLIC demo_framework ${CGAL_LIBRARIES} Qt5::OpenGL Qt5::Gui
|
||||
Qt5::Script Qt5::Widgets)
|
||||
add_dependencies(all_scene_items ${item_name})
|
||||
add_to_cached_list(CGAL_EXECUTABLE_TARGETS ${item_name})
|
||||
endmacro(add_item)
|
||||
|
||||
|
|
@ -477,9 +465,9 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
|
|||
add_to_cached_list(CGAL_EXECUTABLE_TARGETS CGAL_PMP)
|
||||
|
||||
#WS Server
|
||||
if(TARGET Qt5::WebSockets)
|
||||
if(TARGET Qt5::WebSockets AND TARGET Qt5::Network)
|
||||
add_executable(WS_server Server_ws.cpp)
|
||||
target_link_libraries(WS_server PUBLIC Qt5::WebSockets)
|
||||
target_link_libraries(WS_server PUBLIC Qt5::WebSockets Qt5::Widgets Qt5::Network)
|
||||
message(
|
||||
STATUS "Qt5WebSockets was found. Using WebSockets is therefore possible.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ polyhedron_demo_plugin(camera_positions_plugin
|
|||
${cameraUI_FILES}
|
||||
KEYWORDS Viewer)
|
||||
|
||||
target_link_libraries( camera_positions_plugin PUBLIC demo_framework)
|
||||
add_dependencies(camera_positions_plugin demo_framework)
|
||||
target_link_libraries(camera_positions_plugin PUBLIC demo_framework)
|
||||
|
|
|
|||
|
|
@ -62,6 +62,12 @@ if(TARGET CGAL::Eigen3_support)
|
|||
scene_color_ramp
|
||||
CGAL::Eigen3_support)
|
||||
|
||||
if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_tests_properties(
|
||||
compilation_of__classification_plugin
|
||||
PROPERTIES RESOURCE_LOCK Selection_test_resources)
|
||||
endif()
|
||||
|
||||
if(TARGET CGAL::Boost_serialization_support AND TARGET CGAL::Boost_iostreams_support)
|
||||
target_link_libraries(classification_plugin PUBLIC
|
||||
CGAL::Boost_serialization_support
|
||||
|
|
|
|||
|
|
@ -8,3 +8,10 @@ target_link_libraries(
|
|||
|
||||
polyhedron_demo_plugin(kernel_plugin Kernel_plugin)
|
||||
target_link_libraries(kernel_plugin PUBLIC scene_surface_mesh_item)
|
||||
|
||||
|
||||
if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_tests_properties(
|
||||
compilation_of__convex_hull_plugin
|
||||
PROPERTIES RESOURCE_LOCK Selection_test_resources)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -37,3 +37,9 @@ target_link_libraries(
|
|||
basic_generator_plugin
|
||||
PUBLIC scene_surface_mesh_item scene_points_with_normal_item
|
||||
scene_polylines_item)
|
||||
|
||||
if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_tests_properties(
|
||||
compilation_of__create_obb_mesh_plugin
|
||||
PROPERTIES RESOURCE_LOCK Selection_test_resources)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -52,6 +52,17 @@ if(TARGET CGAL::Eigen3_support)
|
|||
DESCRIPTION "A large scale non-linear optimization library."
|
||||
PURPOSE "Can be used as a solver in the smoothing plugin.")
|
||||
target_link_libraries(extrude_plugin PUBLIC CGAL::Eigen3_support)
|
||||
|
||||
if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_tests_properties(
|
||||
compilation_of__extrude_plugin
|
||||
compilation_of__fairing_plugin
|
||||
PROPERTIES RESOURCE_LOCK Selection_test_resources)
|
||||
set_tests_properties(
|
||||
compilation_of__hole_filling_plugin
|
||||
compilation_of__smoothing_plugin
|
||||
PROPERTIES RESOURCE_LOCK Selection_test_resources)
|
||||
endif()
|
||||
else()
|
||||
message(
|
||||
STATUS
|
||||
|
|
@ -153,3 +164,15 @@ polyhedron_demo_plugin(engrave_text_plugin Engrave_text_plugin
|
|||
target_link_libraries(
|
||||
engrave_text_plugin PUBLIC scene_surface_mesh_item scene_selection_item
|
||||
scene_polylines_item)
|
||||
|
||||
if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_tests_properties(
|
||||
compilation_of__join_and_split_plugin
|
||||
compilation_of__selection_plugin
|
||||
compilation_of__triangulate_facets_plugin
|
||||
compilation_of__isotropic_remeshing_plugin
|
||||
compilation_of__random_perturbation_plugin
|
||||
compilation_of__engrave_text_plugin
|
||||
compilation_of__degenerated_faces_plugin
|
||||
PROPERTIES RESOURCE_LOCK Selection_test_resources)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -15,6 +15,13 @@ if(NOT CGAL_DISABLE_GMP)
|
|||
target_link_libraries(
|
||||
parameterization_plugin PUBLIC scene_surface_mesh_item scene_textured_item
|
||||
scene_selection_item CGAL::Eigen3_support)
|
||||
|
||||
if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_tests_properties(
|
||||
compilation_of__parameterization_plugin
|
||||
PROPERTIES RESOURCE_LOCK Selection_test_resources)
|
||||
endif()
|
||||
|
||||
else()
|
||||
message(
|
||||
STATUS
|
||||
|
|
@ -27,6 +34,11 @@ if(NOT CGAL_DISABLE_GMP)
|
|||
${segmentationUI_FILES})
|
||||
target_link_libraries(mesh_segmentation_plugin PUBLIC scene_surface_mesh_item)
|
||||
|
||||
if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_tests_properties(
|
||||
compilation_of__mesh_segmentation_plugin
|
||||
PROPERTIES RESOURCE_LOCK Selection_test_resources)
|
||||
endif()
|
||||
|
||||
qt5_wrap_ui( mesh_simplificationUI_FILES Mesh_simplification_dialog.ui)
|
||||
polyhedron_demo_plugin(mesh_simplification_plugin Mesh_simplification_plugin ${mesh_simplificationUI_FILES})
|
||||
|
|
|
|||
|
|
@ -4,6 +4,13 @@ if(EIGEN3_FOUND AND "${EIGEN3_VERSION}" VERSION_GREATER "3.1.90")
|
|||
polyhedron_demo_plugin(edit_plugin Edit_polyhedron_plugin Deform_mesh.ui)
|
||||
target_link_libraries(edit_plugin PUBLIC scene_surface_mesh_item
|
||||
scene_edit_item scene_selection_item)
|
||||
|
||||
if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
set_tests_properties(
|
||||
compilation_of__edit_plugin
|
||||
PROPERTIES RESOURCE_LOCK Selection_test_resources)
|
||||
endif()
|
||||
|
||||
else()
|
||||
message(
|
||||
STATUS
|
||||
|
|
|
|||
|
|
@ -28,18 +28,33 @@ include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
|
|||
PROPERTY LIBRARY_OUTPUT_DIRECTORY
|
||||
"${CGAL_POLYHEDRON_DEMO_PLUGINS_DIR}")
|
||||
cgal_add_compilation_test(${plugin_name})
|
||||
if(BUILD_TESTING)
|
||||
set_property(TEST compilation_of__${plugin_name}
|
||||
APPEND PROPERTY DEPENDS compilation_of__all_scene_items)
|
||||
endif()
|
||||
add_to_cached_list( CGAL_EXECUTABLE_TARGETS ${plugin_name} )
|
||||
# Link with Qt
|
||||
target_link_libraries( ${plugin_name} PUBLIC ${QT_LIBRARIES} )
|
||||
# Link with the demo_framework
|
||||
if(TARGET demo_framework)
|
||||
target_link_libraries( ${plugin_name} PUBLIC demo_framework)
|
||||
add_dependencies(${plugin_name} demo_framework)
|
||||
if(BUILD_TESTING AND NOT CMAKE_VS_MSBUILD_COMMAND)
|
||||
if(NOT TARGET compilation_of__demo_framework)
|
||||
# This custom target is useless. It is used only as a flag to
|
||||
# detect that the test has already been created.
|
||||
add_custom_target(compilation_of__demo_framework)
|
||||
add_dependencies( compilation_of__demo_framework demo_framework )
|
||||
add_test(NAME "compilation_of__demo_framework"
|
||||
COMMAND "${CMAKE_COMMAND}" --build "${CMAKE_BINARY_DIR}" --target "demo_framework" --config "$<CONFIG>")
|
||||
|
||||
set_property(TEST "compilation_of__demo_framework"
|
||||
APPEND PROPERTY LABELS "CGAL_build_system")
|
||||
set_property(TEST "compilation_of__demo_framework"
|
||||
PROPERTY FIXTURES_SETUP "check_build_system_SetupFixture")
|
||||
set_property(TEST "compilation_of__demo_framework"
|
||||
APPEND PROPERTY DEPENDS "compilation_of__CGAL_Qt5_moc_and_resources")
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
target_link_libraries( ${plugin_name} PUBLIC Polyhedron_demo_framework)
|
||||
add_dependencies(${plugin_name} Polyhedron_demo_framework)
|
||||
endif()
|
||||
# Link with CGAL
|
||||
target_link_libraries( ${plugin_name} PUBLIC ${CGAL_LIBRARIES} ${CGAL_3RD_PARTY_LIBRARIES} )
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ function(add_Snap_rounding_tests name)
|
|||
cgal_add_test(${name} TEST_NAME ${test_name} ARGUMENTS ${data_dir}/${file}
|
||||
${data_dir}/output_${file})
|
||||
add_test(NAME "${test_name}_compare_results"
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files --ignore-eol
|
||||
${data_dir}/output_${file} ${data_dir}/gold_${file})
|
||||
cgal_setup_test_properties("${test_name}_compare_results")
|
||||
set_property(
|
||||
|
|
|
|||
Loading…
Reference in New Issue