[sfcgal] 02/04: Imported Upstream version 1.2.1
Sven Geggus
giggls-guest at moszumanska.debian.org
Tue Nov 10 18:39:41 UTC 2015
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-deb at 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
More information about the Pkg-grass-devel
mailing list