diff options
-rw-r--r-- | var/spack/repos/builtin/packages/cgal/package.py | 57 |
1 files changed, 44 insertions, 13 deletions
diff --git a/var/spack/repos/builtin/packages/cgal/package.py b/var/spack/repos/builtin/packages/cgal/package.py index 9adef8140c..41fc640448 100644 --- a/var/spack/repos/builtin/packages/cgal/package.py +++ b/var/spack/repos/builtin/packages/cgal/package.py @@ -14,10 +14,12 @@ class Cgal(CMakePackage): molecular biology, medical imaging, computer graphics, and robotics. """ homepage = 'http://www.cgal.org/' - url = 'https://github.com/CGAL/cgal/releases/download/releases/CGAL-4.11/CGAL-4.11.tar.xz' + url = "https://github.com/CGAL/cgal/releases/download/releases/CGAL-5.0.3/CGAL-5.0.3.tar.xz" + version('5.0.3', sha256='e5a3672e35e5e92e3c1b4452cd3c1d554f3177dc512bd98b29edf21866a4288c') + version('5.0', sha256='e1e7e932988c5d149aa471c1afd69915b7603b5b31b9b317a0debb20ecd42dcc') version('4.13', sha256='3e3dd7a64febda58be54c3cbeba329ab6a73b72d4d7647ba4931ecd1fad0e3bc') - version('4.12', sha256='442ef4fffb2ad6e4141e5a7902993ae6a4e73f7cb641fae1010bb586f6ca5e3f') + version('4.12', sha256='442ef4fffb2ad6e4141e5a7902993ae6a4e73f7cb641fae1010bb586f6ca5e3f') version('4.11', sha256='27a7762e5430f5392a1fe12a3a4abdfe667605c40224de1c6599f49d66cfbdd2') version('4.9.1', sha256='56557da971b5310c2678ffc5def4109266666ff3adc7babbe446797ee2b90cca') version('4.9', sha256='63ac5df71f912f34f2f0f2e54a303578df51f4ec2627db593a65407d791f9039') @@ -29,6 +31,8 @@ class Cgal(CMakePackage): variant('build_type', default='Release', description='The build type to build', values=('Debug', 'Release')) + variant('header-only', default=False, + description='Install in header only mode') # ---- See "7 CGAL Libraries" at: # http://doc.cgal.org/latest/Manual/installation.html @@ -42,6 +46,8 @@ class Cgal(CMakePackage): description='Build utilities to read/write image files') variant('demos', default=False, description='Build CGAL demos') + variant('eigen', default=True, + description='Build with Eigen support') depends_on('cmake@2.8.11:', type='build') @@ -59,28 +65,53 @@ class Cgal(CMakePackage): depends_on('qt@5:', when='+demos') # Optional Third Party Libraries + depends_on('eigen', when='+eigen') + # depends_on('leda') # depends_on('mpfi') # depends_on('rs') # depends_on('rs3') # depends_on('ntl') - # depends_on('eigen') # depends_on('libqglviewer') # depends_on('esbtl') # depends_on('intel-tbb') + conflicts('~header_only', when='@:4.9', + msg="Header only builds became optional in 4.9," + " default thereafter") + + def setup_build_environment(self, env): + spec = self.spec + + env.set('BOOST_INCLUDEDIR', spec['boost'].headers.directories[0]) + env.set('BOOST_LIBRARYDIR', spec['boost'].libs.directories[0]) + + if '+eigen' in spec: + env.set('EIGEN3_INC_DIR', spec['eigen'].headers.directories[0]) + def cmake_args(self): # Installation instructions: # http://doc.cgal.org/latest/Manual/installation.html spec = self.spec + variant_bool = lambda feature: str(feature in spec) + cmake_args = [] + + cmake_args.append( + '-DBUILD_SHARED_LIBS:BOOL=%s' % variant_bool('+shared') + ) + cmake_args.append( + '-DWITH_CGAL_Core:BOOL=%s' % variant_bool('+core') + ) + cmake_args.append( + '-DWITH_CGAL_ImageIO:BOOL=%s' % variant_bool('+imageio') + ) + cmake_args.append( + '-DWITH_CGAL_Qt5:BOOL=%s' % variant_bool('+demos') + ) + + if spec.satisfies('@4.9:'): + cmake_args.append( + '-DCGAL_HEADER_ONLY:BOOL=%s' % variant_bool('+header_only') + ) - return [ - '-DBUILD_SHARED_LIBS:BOOL=%s' % - ('ON' if '+shared' in spec else 'OFF'), - '-DWITH_CGAL_Core:BOOL=%s' % - ('YES' if '+core' in spec else 'NO'), - '-DWITH_CGAL_ImageIO:BOOL=%s' % - ('YES' if '+imageio' in spec else 'NO'), - '-DWITH_CGAL_Qt5:BOOL=%s' % - ('YES' if '+demos' in spec else 'NO'), - ] + return cmake_args |