summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/latte/package.py
blob: 3efa9fdbc4be8680bf01d1d685e9f4f4e09f502d (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
47
48
49
50
51
52
# 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 Latte(CMakePackage):
    """Open source density functional tight binding molecular dynamics."""

    homepage = "https://github.com/lanl/latte"
    url = "https://github.com/lanl/latte/tarball/v1.2.1"
    git = "https://github.com/lanl/latte.git"

    tags = ["ecp", "ecp-apps"]

    version("master", branch="master")
    version("1.2.2", sha256="ab1346939dbd70ffd89c5e5bf8d24946cb3655dc25b203bec7fc59c6c63e4c79")
    version("1.2.1", sha256="a21dda5ebdcefa56e9ff7296d74ef03f89c200d2e110a02af7a84612668bf702")
    version("1.0.1", sha256="67b2957639ad8e36b69bc6ea9a13085183a881562af9ca6d2b90b412ff073789")

    variant("mpi", default=True, description="Build with mpi")
    variant("progress", default=False, description="Use progress for fast")
    variant("shared", default=True, description="Build shared libs")

    depends_on("cmake@3.1:", type="build")
    depends_on("blas")
    depends_on("lapack")
    depends_on("mpi", when="+mpi")
    depends_on("qmd-progress", when="+progress")

    root_cmakelists_dir = "cmake"

    def cmake_args(self):
        options = []
        if "+shared" in self.spec:
            options.append("-DBUILD_SHARED_LIBS=ON")
        else:
            options.append("-DBUILD_SHARED_LIBS=OFF")
        if "+mpi" in self.spec:
            options.append("-DO_MPI=yes")
        if "+progress" in self.spec:
            options.append("-DPROGRESS=yes")

        blas_list = ";".join(self.spec["blas"].libs)
        lapack_list = ";".join(self.spec["lapack"].libs)
        options.append("-DBLAS_LIBRARIES={0}".format(blas_list))
        options.append("-DLAPACK_LIBRARIES={0}".format(lapack_list))

        return options