diff --git a/var/spack/repos/builtin/packages/tfel/package.py b/var/spack/repos/builtin/packages/tfel/package.py index da73e8c735894849e01749e892b8dfc198fe7b0c..3e121e66aef11d7aa142267b492cbd0b080fc7b9 100644 --- a/var/spack/repos/builtin/packages/tfel/package.py +++ b/var/spack/repos/builtin/packages/tfel/package.py @@ -3,6 +3,9 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +# Maintainer comments: +# 18/12/2018: fix python detection + from spack import * @@ -75,22 +78,52 @@ class Tfel(CMakePackage): variant('java', default=False, description='Enables java interface') + variant('build_type', default='Release', + description='The build type to build', + values=('Debug', 'Release')) + depends_on('java', when='+java') - depends_on('python', when='+python') - depends_on('python', when='+python_bindings') + depends_on('python', when='+python', + type=('build', 'link', 'run')) + depends_on('python', when='+python_bindings', + type=('build', 'link', 'run')) depends_on('boost+python', when='+python_bindings') + extends('python', when='+python_bindings') + def cmake_args(self): args = [] - for i in ['fortran', 'java', 'castem', 'aster', - 'abaqus', 'calculix', 'ansys', - 'europlexus', 'cyrano', 'lsdyna', - 'python', 'python_bindings']: + for i in ['fortran', 'java', 'aster', 'abaqus', 'calculix', + 'ansys', 'europlexus', 'cyrano', 'lsdyna', 'python']: if '+' + i in self.spec: args.append("-Denable-{0}=ON".format(i)) else: args.append("-Denable-{0}=OFF".format(i)) + if '+castem' in self.spec: + args.append("-Dlocal-castem-header=ON") + else: + args.append("-Dlocal-castem-header=OFF") + + if '+python_bindings' in self.spec: + args.append("-Denable-python-bindings=ON") + else: + args.append("-Denable-python-bindings=OFF") + + if(('+python' in self.spec) or + ('+python_bindings' in self.spec)): + python = self.spec['python'] + args.append('-DPYTHON_LIBRARY={0}'. + format(python.libs[0])) + args.append('-DPYTHON_INCLUDE_DIR={0}'. + format(python.headers.directories[0])) + args.append('-DPython_ADDITIONAL_VERSIONS={0}'. + format(python.version.up_to(2))) + + if '+python_bindings' in self.spec: + args.append('-DBOOST_ROOT={0}'. + format(self.spec['boost'].prefix)) + return args