summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/glew/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/glew/package.py')
-rw-r--r--var/spack/repos/builtin/packages/glew/package.py28
1 files changed, 26 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/glew/package.py b/var/spack/repos/builtin/packages/glew/package.py
index 8d47dd9eeb..c31a4e0e25 100644
--- a/var/spack/repos/builtin/packages/glew/package.py
+++ b/var/spack/repos/builtin/packages/glew/package.py
@@ -3,6 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import sys
from spack.package import *
@@ -18,18 +19,41 @@ class Glew(CMakePackage):
version('2.1.0', sha256='04de91e7e6763039bc11940095cd9c7f880baba82196a7765f727ac05a993c95')
version('2.0.0', sha256='c572c30a4e64689c342ba1624130ac98936d7af90c3103f9ce12b8a0c5736764')
+ variant('gl',
+ default='glx' if sys.platform.startswith('linux') else 'other',
+ values=('glx', 'osmesa', 'other'), multi=False,
+ description='The OpenGL provider to use')
+ conflicts('osmesa', when='gl=glx')
+ conflicts('osmesa', when='gl=other')
+ conflicts('glx', when='gl=osmesa')
+ conflicts('glx', when='gl=other')
+
depends_on('gl')
- depends_on('glx', when='platform=linux')
+ depends_on('osmesa', when='gl=osmesa')
+ depends_on('glx', when='gl=glx')
+ depends_on('libx11', when='gl=glx')
+ depends_on('xproto', when='gl=glx')
# glu is already forcibly disabled in the CMakeLists.txt. This prevents
# it from showing up in the .pc file
patch('remove-pkgconfig-glu-dep.patch')
def cmake_args(self):
+ spec = self.spec
args = [
self.define('BUILD_UTILS', True),
self.define('GLEW_REGAL', False),
- self.define('GLEW_OSMESA', False),
+ self.define('GLEW_EGL', False),
+ self.define('OpenGL_GL_PREFERENCE', 'LEGACY'),
+ self.define('OPENGL_INCLUDE_DIR', spec['gl'].headers.directories[0]),
+ self.define('OPENGL_gl_LIBRARY', spec['gl'].libs[0]),
+ self.define('OPENGL_opengl_LIBRARY', 'IGNORE'),
+ self.define('OPENGL_glx_LIBRARY', 'IGNORE'),
+ self.define('OPENGL_egl_LIBRARY', 'IGNORE'),
+ self.define('OPENGL_glu_LIBRARY', 'IGNORE'),
+ self.define('GLEW_OSMESA', 'gl=osmesa' in spec),
+ self.define('GLEW_X11', 'gl=glx' in spec),
+ self.define('CMAKE_DISABLE_FIND_PACKAGE_X11', 'gl=glx' not in spec),
]
return args