This is an automated email from the git hooks/post-receive script. giggls-guest pushed a commit to branch master in repository sfcgal.
commit dcc15a08d37e8f74292a807a840978b221df9620 Author: Sven Geggus <sven-...@geggus.net> Date: Tue Nov 10 19:17:56 2015 +0100 Imported Upstream version 1.2.1 --- .gitignore | 11 +++ .travis.yml | 10 ++- cmake/Modules/FindCGAL.cmake | 3 +- src/algorithm/Intersection3D.cpp | 12 ++- src/algorithm/difference.cpp | 1 - src/algorithm/differencePrimitives.h | 8 +- src/algorithm/intersects.cpp | 4 +- src/algorithm/minkowskiSum.cpp | 8 ++ src/algorithm/straightSkeleton.cpp | 4 +- src/algorithm/union.cpp | 4 +- src/detail/Point_inside_polyhedron.h | 19 +++++ test/CMakeLists.txt | 2 + .../StraightSkeletonTest.txt | 0 test/data/StraightSkeletonTest/issue111.txt | 3 + test/garden/CMakeLists.txt | 4 +- test/regress/standalone/CMakeLists.txt | 4 +- test/regress/standalone/README | 15 ++++ .../standalone/SFCGAL/StraightSkeletonTest.cpp | 97 +++++++++++++++++----- test/unit/CMakeLists.txt | 4 +- travis/linux/before_install.sh | 16 +++- travis/linux/install_cgal.sh | 14 ++++ 21 files changed, 193 insertions(+), 50 deletions(-) diff --git a/.gitignore b/.gitignore index eef6c1b..51a58d0 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,14 @@ polygon_triangulation2.obj gmon.out include/SFCGAL + +.gdb_history +libSFCGAL.la +sfcgal-config +src/libSFCGAL.so* +test/bench/bench-SFCGAL +test/garden/garden-test-SFCGAL +test/regress/convex_hull/test-regress-convex_hull +test/regress/polygon_triangulator/test-regress-polygon_triangulator +test/regress/standalone/standalone-regress-test-SFCGAL +test/unit/unit-test-SFCGAL diff --git a/.travis.yml b/.travis.yml index 32a0cd5..9e05e25 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,15 +5,19 @@ language: cpp # - osx compiler: - - gcc +# - gcc - clang +env: + - CGAL_VERSION=4.3 + - CGAL_VERSION=4.7 + before_install: - - ./travis/${TRAVIS_OS_NAME}/before_install.sh + - ./travis/${TRAVIS_OS_NAME}/before_install.sh $CGAL_VERSION before_script: - cmake -DSFCGAL_BUILD_TESTS=ON script: - make - - make test + - ctest -VV diff --git a/cmake/Modules/FindCGAL.cmake b/cmake/Modules/FindCGAL.cmake index 17876b5..d61765e 100644 --- a/cmake/Modules/FindCGAL.cmake +++ b/cmake/Modules/FindCGAL.cmake @@ -24,7 +24,8 @@ if( CGAL_LIBRARY ) endif() if(CGAL_FIND_VERSION) - find_file(version_file CGAL/version.h HINTS $ENV{CGAL_DIR}/include ${CGAL_DIR}/include ${CGAL_INCLUDE_DIRS} PATH_SUFFIXES CGAL) + message("CGAL_DIR ${CGAL_DIR}") + find_file(version_file version.h HINTS $ENV{CGAL_DIR}/include ${CGAL_DIR}/include ${CGAL_INCLUDE_DIRS} PATH_SUFFIXES CGAL) file(STRINGS ${version_file} version_str REGEX "# *define +CGAL_VERSION +") string( REGEX REPLACE "# *define +CGAL_VERSION +" "" CGAL_VERSION ${version_str}) if("${CGAL_VERSION}" VERSION_LESS "${CGAL_FIND_VERSION}") diff --git a/src/algorithm/Intersection3D.cpp b/src/algorithm/Intersection3D.cpp index 2481eb7..3011856 100644 --- a/src/algorithm/Intersection3D.cpp +++ b/src/algorithm/Intersection3D.cpp @@ -32,7 +32,7 @@ #include <CGAL/IO/Polyhedron_iostream.h> -#include <CGAL/Point_inside_polyhedron_3.h> +#include <SFCGAL/detail/Point_inside_polyhedron.h> using namespace SFCGAL::detail; @@ -48,7 +48,7 @@ void _intersection_solid_segment( const PrimitiveHandle<3>& pa, const PrimitiveH const CGAL::Segment_3<Kernel>* segment = pb.as<CGAL::Segment_3<Kernel> >(); MarkedPolyhedron* ext_poly_nc = const_cast<MarkedPolyhedron*>( ext_poly ); - CGAL::Point_inside_polyhedron_3<MarkedPolyhedron, Kernel> is_in_ext( *ext_poly_nc ); + Point_inside_polyhedron<MarkedPolyhedron, Kernel> is_in_ext( *ext_poly_nc ); GeometrySet<3> triangles; GeometrySet<3> spoint( segment->source() ); @@ -151,7 +151,7 @@ void _intersection_solid_triangle( const MarkedPolyhedron& pa, const CGAL::Trian CGAL::Intersection_of_Polyhedra_3<MarkedPolyhedron,Kernel, Split_visitor> intersect_polys( visitor ); intersect_polys( polya, polyb, std::back_inserter( polylines ) ); - CGAL::Point_inside_polyhedron_3<MarkedPolyhedron, Kernel> point_inside_q( polya ); + Point_inside_polyhedron<MarkedPolyhedron, Kernel> point_inside_q( polya ); if ( polylines.size() == 0 ) { // no surface intersection @@ -168,7 +168,13 @@ void _intersection_solid_triangle( const MarkedPolyhedron& pa, const CGAL::Trian // triangle decomposition std::list<MarkedPolyhedron> decomposition; Is_not_marked criterion; +#if CGAL_VERSION_NR < 1040701000 // version 4.7 + // Before 4.7, extract_connected_components lies in CGAL::internal CGAL::internal::extract_connected_components( polyb, criterion, std::back_inserter( decomposition ) ); +#else + // After 4.7, it's now in CGAL::internal::corefinement + CGAL::internal::corefinement::extract_connected_components( polyb, criterion, std::back_inserter( decomposition ) ); +#endif bool hasSurface = false; diff --git a/src/algorithm/difference.cpp b/src/algorithm/difference.cpp index aaadac9..c4eab51 100644 --- a/src/algorithm/difference.cpp +++ b/src/algorithm/difference.cpp @@ -32,7 +32,6 @@ #include <CGAL/Exact_predicates_exact_constructions_kernel.h> #include <CGAL/box_intersection_d.h> #include <CGAL/corefinement_operations.h> -#include <CGAL/Point_inside_polyhedron_3.h> // // Intersection kernel diff --git a/src/algorithm/differencePrimitives.h b/src/algorithm/differencePrimitives.h index c1ae977..216d31e 100644 --- a/src/algorithm/differencePrimitives.h +++ b/src/algorithm/differencePrimitives.h @@ -32,7 +32,7 @@ #include <CGAL/Exact_predicates_exact_constructions_kernel.h> #include <CGAL/box_intersection_d.h> #include <CGAL/corefinement_operations.h> -#include <CGAL/Point_inside_polyhedron_3.h> +#include <SFCGAL/detail/Point_inside_polyhedron.h> @@ -168,7 +168,7 @@ PointOutputIteratorType difference( const Point_3& a, const Triangle_3& b, Point template < typename PointOutputIteratorType> PointOutputIteratorType difference( const Point_3& a, const MarkedPolyhedron& b, PointOutputIteratorType out ) { - CGAL::Point_inside_polyhedron_3<MarkedPolyhedron, Kernel> is_in_poly( b ); + Point_inside_polyhedron<MarkedPolyhedron, Kernel> is_in_poly( b ); if ( CGAL::ON_UNBOUNDED_SIDE == is_in_poly( a ) ) { *out++ = a; @@ -628,7 +628,7 @@ SegmentOutputIteratorType difference( const Segment_3& segment, const MarkedPoly if ( !collisions.size() ) { // completely in or out, we just test one point - CGAL::Point_inside_polyhedron_3<MarkedPolyhedron, Kernel> is_in_poly( polyhedron ); + Point_inside_polyhedron<MarkedPolyhedron, Kernel> is_in_poly( polyhedron ); if ( CGAL::ON_UNBOUNDED_SIDE == is_in_poly( segment.source() ) ) { *out++ = segment; @@ -675,7 +675,7 @@ SegmentOutputIteratorType difference( const Segment_3& segment, const MarkedPoly const Nearer<Point_3> nearer( seg->source() ); std::sort( points.begin()+1, points.end()-1, nearer ); - CGAL::Point_inside_polyhedron_3<MarkedPolyhedron, Kernel> is_in_poly( polyhedron ); + Point_inside_polyhedron<MarkedPolyhedron, Kernel> is_in_poly( polyhedron ); // append segments that has length and wich midpoint is outside polyhedron to result for ( std::vector< Point_3 >::const_iterator p = points.begin(); p != points.end()-1; ++p ) { diff --git a/src/algorithm/intersects.cpp b/src/algorithm/intersects.cpp index 55baa7f..4836d0a 100644 --- a/src/algorithm/intersects.cpp +++ b/src/algorithm/intersects.cpp @@ -37,7 +37,7 @@ #include <CGAL/box_intersection_d.h> -#include <CGAL/Point_inside_polyhedron_3.h> +#include <SFCGAL/detail/Point_inside_polyhedron.h> using namespace SFCGAL::detail; @@ -256,7 +256,7 @@ struct intersects_volume_x : public boost::static_visitor<bool> { // this test is needed only if its a volume // if the polyhedron is not closed, this is not a volume, actually - CGAL::Point_inside_polyhedron_3<MarkedPolyhedron, Kernel> is_in_poly( *polyhedron ); + Point_inside_polyhedron<MarkedPolyhedron, Kernel> is_in_poly( *polyhedron ); GeometrySet<3> points; points.collectPoints( geometry ); diff --git a/src/algorithm/minkowskiSum.cpp b/src/algorithm/minkowskiSum.cpp index 2edc1c3..c14ca5c 100644 --- a/src/algorithm/minkowskiSum.cpp +++ b/src/algorithm/minkowskiSum.cpp @@ -166,7 +166,15 @@ void minkowskiSum( const LineString& gA, const Polygon_2& gB, Polygon_set_2& pol P.push_back( gA.pointN( i ).toPoint_2() ); P.push_back( gA.pointN( i+1 ).toPoint_2() ); + // + // We want to compute the "minkowski sum" on each segment of the line string + // This is not very well defined. But it appears CGAL supports it. + // However we must use the explicit "full convolution" method for that particular case in CGAL >= 4.7 +#if CGAL_VERSION_NR < 1040701000 // version 4.7 Polygon_with_holes_2 part = minkowski_sum_2( P, gB ); +#else + Polygon_with_holes_2 part = minkowski_sum_by_full_convolution_2( P, gB ); +#endif // merge into a polygon set if ( polygonSet.is_empty() ) { diff --git a/src/algorithm/straightSkeleton.cpp b/src/algorithm/straightSkeleton.cpp index a44188a..45b4186 100644 --- a/src/algorithm/straightSkeleton.cpp +++ b/src/algorithm/straightSkeleton.cpp @@ -100,7 +100,9 @@ straightSkeleton(const Polygon_with_holes_2& poly) poly.holes_end (), CGAL::Epick() ); - return CGAL::convert_straight_skeleton_2< Straight_skeleton_2 > ( *sk ) ; + boost::shared_ptr< Straight_skeleton_2 > ret; + if ( sk ) ret = CGAL::convert_straight_skeleton_2< Straight_skeleton_2 > ( *sk ) ; + return ret; } // Throw an exception if any two polygon rings touch, diff --git a/src/algorithm/union.cpp b/src/algorithm/union.cpp index 3932cbe..257e874 100644 --- a/src/algorithm/union.cpp +++ b/src/algorithm/union.cpp @@ -525,7 +525,7 @@ void union_point_volume( Handle<2> ,Handle<2> ) void union_point_volume( Handle<3> a,Handle<3> b ) { //@todo put is in poly in a struct derived from MarkedPolyhedron to avoid rebuilding point inside every time - CGAL::Point_inside_polyhedron_3<MarkedPolyhedron, Kernel> is_in_poly( b.asVolume() ); + Point_inside_polyhedron<MarkedPolyhedron, Kernel> is_in_poly( b.asVolume() ); if ( CGAL::ON_UNBOUNDED_SIDE != is_in_poly( a.asPoint() ) ) { b.registerObservers( a ); @@ -638,7 +638,7 @@ void union_segment_volume( Handle<3> a,Handle<3> b ) bboxes.begin(), bboxes.end(), cb ); - CGAL::Point_inside_polyhedron_3<MarkedPolyhedron, Kernel> is_in_poly( polyhedron ); + Point_inside_polyhedron<MarkedPolyhedron, Kernel> is_in_poly( polyhedron ); if ( !collisions.size() ) { // completely in or out, we just test one point diff --git a/src/detail/Point_inside_polyhedron.h b/src/detail/Point_inside_polyhedron.h new file mode 100644 index 0000000..6b23efd --- /dev/null +++ b/src/detail/Point_inside_polyhedron.h @@ -0,0 +1,19 @@ +#ifndef POLYGON_INSIDE_POLYHEDRON_H +#define POLYGON_INSIDE_POLYHEDRON_H + +// +// Compatibility layer for Point_inside_polyhderon_3 that becomes Side_of_triangle_mesh in CGAL 4.7 + +#if CGAL_VERSION_NR < 1040701000 // version 4.7 + +#include <CGAL/Point_inside_polyhedron_3.h> +#define Point_inside_polyhedron CGAL::Point_inside_polyhedron_3 + +#else + +#include <CGAL/Side_of_triangle_mesh.h> +#define Point_inside_polyhedron CGAL::Side_of_triangle_mesh + +#endif + +#endif diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 64f8014..6a455e9 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -18,3 +18,5 @@ if( SFCGAL_BUILD_BENCH ) add_subdirectory( bench ) endif() +# add a custom rule "check" that adds verbosity to ctest +add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --verbose) diff --git a/test/data/StraightSkeletonTest.txt b/test/data/StraightSkeletonTest/StraightSkeletonTest.txt similarity index 100% rename from test/data/StraightSkeletonTest.txt rename to test/data/StraightSkeletonTest/StraightSkeletonTest.txt diff --git a/test/data/StraightSkeletonTest/issue111.txt b/test/data/StraightSkeletonTest/issue111.txt new file mode 100644 index 0000000..99271e0 --- /dev/null +++ b/test/data/StraightSkeletonTest/issue111.txt @@ -0,0 +1,3 @@ +# Test for https://github.com/Oslandia/SFCGAL/issues/111 +# Origin https://trac.osgeo.org/postgis/ticket/3324 +POLYGON ((-86.53986 32.35124,-86.54 32.35202,-86.54122 32.35622,-86.5424 32.3611,-86.54368 32.36537,-86.54456 32.36679,-86.54509 32.36723,-86.54565 32.36764,-86.54625 32.36801,-86.54679 32.3683,-86.54744 32.3686,-86.54802 32.36881,-86.5486 32.36897,-86.54911 32.36907,-86.54982 32.36913,-86.55044 32.36911,-86.55379 32.36878,-86.55473 32.36867,-86.55599 32.3686,-86.55683 32.3686,-86.55767 32.36864,-86.5585 32.36873,-86.55933 32.36885,-86.56025 32.36946,-86.563 32.37094,-86.56472 32.37169,- [...] diff --git a/test/garden/CMakeLists.txt b/test/garden/CMakeLists.txt index 28674b9..cf83e06 100644 --- a/test/garden/CMakeLists.txt +++ b/test/garden/CMakeLists.txt @@ -17,9 +17,9 @@ set_target_properties( ${REGRESS_NAME} PROPERTIES DEBUG_POSTFIX "d" ) install( TARGETS ${REGRESS_NAME} DESTINATION bin ) if (CMAKE_BUILD_TYPE STREQUAL "Debug" ) - add_test( garden-testd ${CMAKE_CURRENT_BINARY_DIR}/garden-test-SFCGALd ) + add_test( garden-testd ${CMAKE_CURRENT_BINARY_DIR}/garden-test-SFCGALd --verbose) else() - add_test( garden-test ${CMAKE_CURRENT_BINARY_DIR}/garden-test-SFCGAL ) + add_test( garden-test ${CMAKE_CURRENT_BINARY_DIR}/garden-test-SFCGAL --verbose) endif() diff --git a/test/regress/standalone/CMakeLists.txt b/test/regress/standalone/CMakeLists.txt index 2b0df3c..7459e5e 100644 --- a/test/regress/standalone/CMakeLists.txt +++ b/test/regress/standalone/CMakeLists.txt @@ -15,9 +15,9 @@ set_target_properties( standalone-regress-test-SFCGAL PROPERTIES DEBUG_POSTFIX " install( TARGETS standalone-regress-test-SFCGAL DESTINATION bin ) if (CMAKE_BUILD_TYPE STREQUAL "Debug" ) - add_test( standalone-regress-testd ${CMAKE_CURRENT_BINARY_DIR}/standalone-regress-test-SFCGALd ) + add_test( standalone-regress-testd ${CMAKE_CURRENT_BINARY_DIR}/standalone-regress-test-SFCGALd --auto_start_dbg=y --log_level=all) else() - add_test( standalone-regress-test ${CMAKE_CURRENT_BINARY_DIR}/standalone-regress-test-SFCGAL ) + add_test( standalone-regress-test ${CMAKE_CURRENT_BINARY_DIR}/standalone-regress-test-SFCGAL --auto_start_dbg=y --log_level=all) endif() diff --git a/test/regress/standalone/README b/test/regress/standalone/README new file mode 100644 index 0000000..587b81f --- /dev/null +++ b/test/regress/standalone/README @@ -0,0 +1,15 @@ +Tester file is built with "make" if enabled at configure time + + cmake -D SFCGAL_BUILD_TESTS=True <srcdir> # in top-level build dir + +Run all tests with: + + ./standalone-regress-test-SFCGAL + +Run specific tests with: + + ./standalone-regress-test-SFCGAL --run_test=TestSuite/Test + +See more options with: + + ./standalone-regress-test-SFCGAL --help diff --git a/test/regress/standalone/SFCGAL/StraightSkeletonTest.cpp b/test/regress/standalone/SFCGAL/StraightSkeletonTest.cpp index ae3d622..23bee5f 100644 --- a/test/regress/standalone/SFCGAL/StraightSkeletonTest.cpp +++ b/test/regress/standalone/SFCGAL/StraightSkeletonTest.cpp @@ -37,37 +37,88 @@ #include "../../../test_config.h" #include <boost/test/unit_test.hpp> +#include <boost/filesystem.hpp> +#include <boost/filesystem/path.hpp> + using namespace boost::unit_test ; using namespace SFCGAL ; BOOST_AUTO_TEST_SUITE( SFCGAL_StraightSkeletonTest ) -BOOST_AUTO_TEST_CASE( testStraightSkeletonTest ) -{ - std::string filename( SFCGAL_TEST_DIRECTORY ); - filename += "/data/StraightSkeletonTest.txt" ; - - std::ifstream ifs( filename.c_str() ); - BOOST_REQUIRE( ifs.good() ) ; - - std::string line; - - while ( std::getline( ifs, line ) ) { - if ( line[0] == '#' || line.empty() ) { - continue ; +namespace { + + void runTest(const std::string& filename) + { + std::ifstream ifs( filename.c_str() ); + BOOST_REQUIRE( ifs.good() ) ; + + std::string line; + std::string lbl_base = boost::filesystem::basename(filename); + + int lineno = 0; + while ( std::getline( ifs, line ) ) { + ++lineno; + if ( line[0] == '#' || line.empty() ) { + continue ; + } + std::stringstream lblstream; + lblstream << lbl_base << ':' << lineno << ": "; + std::string lbl = lblstream.str(); + + std::istringstream iss( line ); + std::string inputWkt ; + std::string outputWkt ; + std::string obtWkt ; + + if ( ! std::getline( iss, inputWkt, '|' ) || + ! std::getline( iss, outputWkt, '|' ) ) + { + std::stringstream ss; + ss << lbl << "missing `|' char in test file"; + BOOST_CHECK_EQUAL("", ss.str()); + continue; + } + + std::auto_ptr< Geometry > g; + try { + g = io::readWkt( inputWkt ); + } catch (const std::exception &e) { + std::stringstream ss; + ss << lbl << e.what(); + BOOST_CHECK_EQUAL("", ss.str()); + continue; + } + std::auto_ptr< MultiLineString > result; + try { + result = algorithm::straightSkeleton( *g ) ; + obtWkt = result->asText( 6 ); + } catch (const std::exception& e) { + obtWkt = std::string(e.what()); + } + std::string obt = lbl + obtWkt; + std::string exp = lbl + outputWkt; + BOOST_CHECK_EQUAL( exp, obt ); } + } +} - std::istringstream iss( line ); - std::string inputWkt ; - std::string outputWkt ; - - BOOST_CHECK( std::getline( iss, inputWkt, '|' ) ); - BOOST_CHECK( std::getline( iss, outputWkt, '|' ) ); - - std::auto_ptr< Geometry > g( io::readWkt( inputWkt ) ); - std::auto_ptr< MultiLineString > result = algorithm::straightSkeleton( *g ) ; - BOOST_CHECK_EQUAL( result->asText( 6 ), outputWkt ); +BOOST_AUTO_TEST_CASE( testStraightSkeletonTest ) +{ + using namespace boost; + using namespace boost::filesystem; + + std::string testdir( SFCGAL_TEST_DIRECTORY ); + path dirname = testdir + "/data/StraightSkeletonTest" ; + if ( is_directory(dirname) ) + { + directory_iterator it = directory_iterator(dirname); + while ( it != directory_iterator() ) + { + path f = *it; + runTest(f.c_str()); + ++it; + } } } diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt index bede8ba..675c7c9 100644 --- a/test/unit/CMakeLists.txt +++ b/test/unit/CMakeLists.txt @@ -23,8 +23,8 @@ set_target_properties( unit-test-SFCGAL PROPERTIES DEBUG_POSTFIX "d" ) install( TARGETS unit-test-SFCGAL DESTINATION bin ) if (CMAKE_BUILD_TYPE STREQUAL "Debug" ) - add_test( unit-testd ${CMAKE_CURRENT_BINARY_DIR}/unit-test-SFCGALd ) + add_test( unit-testd ${CMAKE_CURRENT_BINARY_DIR}/unit-test-SFCGALd --auto_start_dbg=y --log_level=all) else() - add_test( unit-test ${CMAKE_CURRENT_BINARY_DIR}/unit-test-SFCGAL ) + add_test( unit-test ${CMAKE_CURRENT_BINARY_DIR}/unit-test-SFCGAL --auto_start_dbg=y --log_level=all) endif() diff --git a/travis/linux/before_install.sh b/travis/linux/before_install.sh index 00d52b7..26f84ca 100755 --- a/travis/linux/before_install.sh +++ b/travis/linux/before_install.sh @@ -1,15 +1,23 @@ export DEBIAN_FRONTEND=noninteractive sudo add-apt-repository ppa:apokluda/boost1.53 --yes +sudo add-apt-repository ppa:kalakris/cmake --yes # CMAKE 2.8.11 sudo apt-get update -qq sudo apt-get install --force-yes \ cmake libboost-chrono1.53-dev libboost-program-options1.53-dev libboost-filesystem1.53-dev libboost-timer1.53-dev \ libboost-test1.53-dev libboost-date-time1.53-dev libboost-thread1.53-dev \ libboost-system1.53-dev libboost-serialization1.53-dev \ - libmpfr-dev libgmp-dev + libmpfr-dev libgmp-dev \ + cmake #CGAL -wget https://gforge.inria.fr/frs/download.php/file/32994/CGAL-4.3.tar.gz -tar xzf CGAL-4.3.tar.gz -cd CGAL-4.3 && cmake . && make && sudo make install && cd .. +if [ "$1" = "4.3" ]; then + wget https://gforge.inria.fr/frs/download.php/file/32994/CGAL-4.3.tar.gz + tar xzf CGAL-4.3.tar.gz + cd CGAL-4.3 && cmake . && make && sudo make install && cd .. +elif [ "$1" = "4.7" ]; then + wget https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-4.7/CGAL-4.7.tar.gz + tar xzf CGAL-4.7.tar.gz + cd CGAL-4.7 && cmake . && make && sudo make install && cd .. +fi cmake --version diff --git a/travis/linux/install_cgal.sh b/travis/linux/install_cgal.sh new file mode 100644 index 0000000..92922aa --- /dev/null +++ b/travis/linux/install_cgal.sh @@ -0,0 +1,14 @@ +#CGAL +if [ "$1" = "4.3" ]; then + wget https://gforge.inria.fr/frs/download.php/file/32994/CGAL-4.3.tar.gz + tar xzf CGAL-4.3.tar.gz + cd CGAL-4.3 && cmake -DCMAKE_INSTALL_PREFIX=$HOME/CGAL-4.3 . && make && make install && cd .. +elif [ "$1" = "4.7" ]; then + wget https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-4.7/CGAL-4.7.tar.gz + tar xzf CGAL-4.7.tar.gz + cd CGAL-4.7 && cmake -DCMAKE_INSTALL_PREFIX=$HOME/CGAL-4.7 . && make && make install && cd .. +fi + + +cmake --version +clang --version -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/sfcgal.git _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel