summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>2021-10-14 20:42:01 +0200
committerGitHub <noreply@github.com>2021-10-14 11:42:01 -0700
commit6ca4d554cd8ff8e9707b13701900d595b64d6d7e (patch)
treedb7934c74015ff227e174d39a657c0ee230c6721
parent74c6b7d8c15d7698513ade3689ea1271352ae1eb (diff)
downloadspack-6ca4d554cd8ff8e9707b13701900d595b64d6d7e.tar.gz
spack-6ca4d554cd8ff8e9707b13701900d595b64d6d7e.tar.bz2
spack-6ca4d554cd8ff8e9707b13701900d595b64d6d7e.tar.xz
spack-6ca4d554cd8ff8e9707b13701900d595b64d6d7e.zip
libfive: Add all variants, +qt needs qt@5.15.2:+opengl (#26629)
Refresh of deps to fix the build and add variants from CMakeLists.txt
-rw-r--r--var/spack/repos/builtin/packages/libfive/package.py25
1 files changed, 22 insertions, 3 deletions
diff --git a/var/spack/repos/builtin/packages/libfive/package.py b/var/spack/repos/builtin/packages/libfive/package.py
index 8fe0da08c4..f8a14cf989 100644
--- a/var/spack/repos/builtin/packages/libfive/package.py
+++ b/var/spack/repos/builtin/packages/libfive/package.py
@@ -13,12 +13,31 @@ class Libfive(CMakePackage):
git = "https://github.com/libfive/libfive.git"
# https://libfive.com/download/ recommends working from the master branch
+ # and currently, all tags are from 2017:
version('master', branch='master')
depends_on('pkgconfig', type='build')
- depends_on('cmake@3.3:', type='build')
+ depends_on('cmake@3.12:', type='build')
depends_on('boost@1.65:')
depends_on('eigen@3.3.0:')
depends_on('libpng')
- depends_on('qt@5.7:')
- depends_on('guile@2.2.1:')
+ depends_on('python@3:', when='+python', type=('link', 'run'))
+ depends_on('guile@2.2.1:', when='+guile')
+ # In case build of future git master fails, check raising the minimum Qt version
+ depends_on('qt@5.15.2:+opengl', when='+qt')
+
+ variant('qt', default=True, description='Enable Studio UI(with Guile or Python)')
+ variant('guile', default=True, description='Enable Guile support for Studio UI')
+ variant('python', default=True, description='Enable Python support for Studio UI')
+
+ variant('packed_opcodes', default=False,
+ description='packed opcodes breaks compatibility with saved f-reps!')
+
+ def cmake_args(self):
+ if self.spec.satisfies('+qt~guile~python'):
+ raise InstallError('The Qt-based Studio UI (+qt) needs +guile or +python!')
+
+ return [self.define_from_variant('BUILD_STUDIO_APP', 'qt'),
+ self.define_from_variant('BUILD_GUILE_BINDINGS', 'guile'),
+ self.define_from_variant('BUILD_PYTHON_BINDINGS', 'python'),
+ self.define_from_variant('LIBFIVE_PACKED_OPCODES', 'packed_opcodes')]