summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorJohn Jolly <john.jolly@gmail.com>2021-06-16 23:03:37 -0600
committerGitHub <noreply@github.com>2021-06-17 07:03:37 +0200
commitd31d339bf6805e1f2905b5262f5b24d53312e871 (patch)
tree64bcb97eb5743add5783850123ca48956dcfb01b /var
parent5692c15e3a0703af7579f61069c6ac2c0e1b67c5 (diff)
downloadspack-d31d339bf6805e1f2905b5262f5b24d53312e871.tar.gz
spack-d31d339bf6805e1f2905b5262f5b24d53312e871.tar.bz2
spack-d31d339bf6805e1f2905b5262f5b24d53312e871.tar.xz
spack-d31d339bf6805e1f2905b5262f5b24d53312e871.zip
z3: update package to use CMake build system (#24337)
The Z3 solver provides a Z3Config.cmake file when built using the CMake build system. This submission changes the package build system to inherit the CMakePackage type. In addition to changing the build system, this submission: - Adds the GMP variant - Removes v4.4.0 and v4.4.1 as CMake was implemented starting with v4.5.0
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/z3/package.py37
1 files changed, 13 insertions, 24 deletions
diff --git a/var/spack/repos/builtin/packages/z3/package.py b/var/spack/repos/builtin/packages/z3/package.py
index 18dd1838b4..fe1aec86ad 100644
--- a/var/spack/repos/builtin/packages/z3/package.py
+++ b/var/spack/repos/builtin/packages/z3/package.py
@@ -7,7 +7,7 @@
from spack import *
-class Z3(MakefilePackage):
+class Z3(CMakePackage):
"""Z3 is a theorem prover from Microsoft Research.
It is licensed under the MIT license."""
@@ -18,37 +18,26 @@ class Z3(MakefilePackage):
version('4.8.8', sha256='6962facdcdea287c5eeb1583debe33ee23043144d0e5308344e6a8ee4503bcff')
version('4.8.7', sha256='8c1c49a1eccf5d8b952dadadba3552b0eac67482b8a29eaad62aa7343a0732c3')
version('4.5.0', sha256='aeae1d239c5e06ac183be7dd853775b84698db1265cb2258e5918a28372d4a0c')
- version('4.4.1', sha256='50967cca12c5c6e1612d0ccf8b6ebf5f99840a783d6cf5216336a2b59c37c0ce')
- version('4.4.0', sha256='65b72f9eb0af50949e504b47080fb3fc95f11c435633041d9a534473f3142cba')
-
- phases = ['bootstrap', 'build', 'install']
variant('python', default=True, description='Enable python binding')
- depends_on('python', type=('build', 'run'))
+ depends_on('python', type='build', when='~python')
+ depends_on('python', type=('build', 'run'), when='+python')
depends_on('py-setuptools', type=('run'), when='+python')
extends('python', when='+python')
+ variant('gmp', default=False, description='GNU multiple precision library support')
+ depends_on('cmake@3.4:', type='build')
+ depends_on('gmp', when='+gmp', type=('build', 'link'))
+
# Referenced: https://github.com/Z3Prover/z3/issues/1016
- patch('fix_1016_1.patch', when='@:4.4.1')
patch('fix_1016_2.patch', when='@4.5.0')
build_directory = 'build'
- def configure_args(self):
- spec = self.spec
-
- args = []
-
- if spec.satisfies('+python'):
- args.append('--python')
- args.append(
- '--pypkgdir=%s' % join_path(
- prefix.lib,
- 'python%s' % spec['python'].version.up_to(2),
- 'site-packages'))
-
+ def cmake_args(self):
+ args = [
+ self.define_from_variant('Z3_USE_LIB_GMP', 'gmp'),
+ self.define_from_variant('Z3_BUILD_PYTHON_BINDINGS', 'python'),
+ self.define_from_variant('Z3_INSTALL_PYTHON_BINDINGS', 'python')
+ ]
return args
-
- def bootstrap(self, spec, prefix):
- options = ['--prefix={0}'.format(prefix)] + self.configure_args()
- spec['python'].command('scripts/mk_make.py', *options)