Merge branch 'Point_set_processing_3-fix_bug_with_Boost_1_54-GF'

Workaround the incompatibility between Point_set_processing_3 and Boost
1.54. In the testsuite, the tests that failed because of Boost-1.54 are
no longer compiled.

Tested in CGAL-4.5-Ic-97.

Approved by the Release Manager.
This commit is contained in:
Laurent Rineau 2014-07-16 17:45:40 +02:00
commit 984c5aa9c4
3 changed files with 25 additions and 3 deletions

View File

@ -23,6 +23,8 @@ if ( CGAL_FOUND )
include( ${CGAL_USE_FILE} )
include( CGAL_CreateSingleSourceCGALProgram )
find_package(Boost QUIET)
# VisualC++ optimization for applications dealing with large data
if (MSVC)
# Use /EHa option to catch stack overflows.
@ -48,7 +50,9 @@ if ( CGAL_FOUND )
# Executables that do *not* require EIGEN or LAPACK
create_single_source_cgal_program( "average_spacing_example.cpp" )
create_single_source_cgal_program( "grid_simplification_example.cpp" )
create_single_source_cgal_program( "normals_example.cpp" )
if(NOT Boost_VERSION EQUAL "105400")
create_single_source_cgal_program( "normals_example.cpp" )
endif()
create_single_source_cgal_program( "property_map.cpp" )
create_single_source_cgal_program( "random_simplification_example.cpp" )
create_single_source_cgal_program( "read_write_xyz_point_set_example.cpp" )
@ -70,13 +74,22 @@ if ( CGAL_FOUND )
if(EIGEN3_FOUND OR LAPACK_FOUND)
# Executables that require Eigen or BLAS and LAPACK
create_single_source_cgal_program( "jet_smoothing_example.cpp" )
create_single_source_cgal_program( "normal_estimation.cpp" )
if(NOT Boost_VERSION EQUAL "105400")
create_single_source_cgal_program( "normal_estimation.cpp" )
endif()
else(EIGEN3_FOUND OR LAPACK_FOUND)
message(STATUS "NOTICE: Some of the executables in this directory need either Eigen 3.1 (or greater) or LAPACK, and will not be compiled.")
endif(EIGEN3_FOUND OR LAPACK_FOUND)
if(Boost_VERSION EQUAL "105400")
message(STATUS
"NOTICE: The examples \"normals_examples.cpp\" and "
"\"normal_estimation.cpp\" are incompatible with Boost 1.54,"
" and will not be compiled.")
message(STATUS "See the following bug: https://svn.boost.org/trac/boost/ticket/9012")
endif()
else()
message(STATUS "NOTICE: This program requires the CGAL library, and will not be compiled.")

View File

@ -234,6 +234,15 @@ bool run_mst_orient_normals(PointList& points, // input points + input/output no
unsigned int nb_neighbors_mst, // number of neighbors
const std::vector<Vector>& original_normals) // may be empty
{
#if (BOOST_VERSION / 100) == 1054
std::cerr <<
"In run_mst_orient_normals():\n"
"NOTICE: This function is incompatible with Boost 1.54, "
"and will not be tested. See the following bug:\n"
" https://svn.boost.org/trac/boost/ticket/9012\n";
return true;
#endif // Boost version is 1.54
std::cerr << "Orients Normals with a Minimum Spanning Tree (k="<< nb_neighbors_mst << ")...\n";
CGAL::Timer task_timer; task_timer.start();

View File

@ -53,7 +53,7 @@ print_testresult()
then
RESULT="w"
else
if grep -E -q 'NOTICE: .*(need|require).*and.*will not be' CompilerOutput_$1
if grep -E -q 'NOTICE: .*(need|require|incompatible).*and.*will not be' CompilerOutput_$1
then
RESULT="r"
else