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
This commit is contained in:
Bernhard Kaindl 2021-10-14 20:42:01 +02:00 committed by GitHub
parent 74c6b7d8c1
commit 6ca4d554cd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -13,12 +13,31 @@ class Libfive(CMakePackage):
git = "https://github.com/libfive/libfive.git" git = "https://github.com/libfive/libfive.git"
# https://libfive.com/download/ recommends working from the master branch # https://libfive.com/download/ recommends working from the master branch
# and currently, all tags are from 2017:
version('master', branch='master') version('master', branch='master')
depends_on('pkgconfig', type='build') 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('boost@1.65:')
depends_on('eigen@3.3.0:') depends_on('eigen@3.3.0:')
depends_on('libpng') depends_on('libpng')
depends_on('qt@5.7:') depends_on('python@3:', when='+python', type=('link', 'run'))
depends_on('guile@2.2.1:') 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')]