summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/entt/package.py
blob: e50f8f81327d7e365cf78c5086d344b7ed5dc88f (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
# Copyright 2013-2023 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.package import *


class Entt(CMakePackage):
    """EnTT is a header-only, tiny and easy to use library for game
    programming and much more written in modern C++, mainly known for its
    innovative entity-component-system (ECS) model.
    """

    homepage = "https://entt.docsforge.com"
    url = "https://github.com/skypjack/entt/archive/v3.5.2.tar.gz"

    license("MIT")

    version("3.11.1", sha256="0ac010f232d3089200c5e545bcbd6480cf68b705de6930d8ff7cdb0a29f5b47b")
    version("3.5.2", sha256="f9271293c44518386c402c9a2188627819748f66302df48af4f6d08e30661036")

    depends_on("cmake@3.7.0:", type="build")
    depends_on("doxygen@1.8.0:", type="build")

    # TODO: This list is not comprehensive, we might want to extend it later
    compiler_warning = "EnTT requires a compiler with support for C++17"
    conflicts("%apple-clang@:10.1", msg=compiler_warning)
    conflicts("%clang@:6", msg=compiler_warning)
    conflicts("%gcc@:7.1", msg=compiler_warning)

    def cmake_args(self):
        return ["-DBUILD_DOCS=ON"]