summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/glm/package.py
blob: 23dcb4a5f4aa8ea153ae6fcf4b66f94e8f2b184e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack import *


class Glm(CMakePackage):
    """OpenGL Mathematics (GLM) is a header only C++ mathematics library for
    graphics software based on the OpenGL Shading Language (GLSL) specification
    """

    homepage = "https://github.com/g-truc/glm"
    url = "https://github.com/g-truc/glm/archive/0.9.9.8.tar.gz"
    git = "https://github.com/g-truc/glm.git"

    version('develop', branch="master")
    version('0.9.9.8', sha256='7d508ab72cb5d43227a3711420f06ff99b0a0cb63ee2f93631b162bfe1fe9592')
    version('0.9.7.1', sha256='285a0dc8f762b4e523c8710fbd97accaace0c61f45bc8be2bdb0deed07b0e6f3')

    depends_on('cmake@2.6:', type='build')
    depends_on('cmake@3.2:', type='build', when='@0.9.9.0:')

    # CMake install target was removed in version 0.9.9.6
    @when('@0.9.9.6:0.9.9.8')
    def cmake(self, spec, prefix):
        pass

    @when('@0.9.9.6:0.9.9.8')
    def build(self, spec, prefix):
        pass

    @when('@0.9.9.6:0.9.9.8')
    def install(self, spec, prefix):
        mkdirp(prefix.include.glm)
        ignore_cmakelists = lambda p: p.endswith('CMakeLists.txt')
        install_tree('glm', prefix.include.glm, ignore=ignore_cmakelists)
        mkdirp(prefix.lib64.cmake)
        install_tree('cmake', prefix.lib64.cmake)

    @when('@develop')
    def cmake_args(self):
        return [
            self.define('GLM_TEST_ENABLE', self.run_tests)
        ]