summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/libffs/package.py
blob: 4efe1b719bd659f174b2c3bb507756a3a00b44f6 (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
# 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 Libffs(CMakePackage):
    """FFS is a middleware library for data communication,
    including representation, processing and marshaling
    that preserves the performance of traditional approaches
    while relaxing the requirement of a priori knowledge
    and providing complex run-time flexibility.
    """

    homepage = "https://www.cc.gatech.edu/systems/projects/FFS"
    url = "https://github.com/GTkorvo/ffs/archive/v1.1.tar.gz"
    git = "https://github.com/GTkorvo/ffs.git"

    version("develop", branch="master")
    version("1.5", sha256="e1f3df42eb36fa35c5445887d679e26b7e3c9be697a07cd38e4ae824dbcd8ef8")
    version("1.1.1", sha256="9c3a82b3357e6ac255b65d4f45003dd270dea3ec0cd7a2aa40b59b3eab4bdb83")
    version("1.1", sha256="008fd87c5a6cb216cd757b4dc04057fc987b39b7a367623eb4cf0fd32a9fd81e")

    depends_on("flex", type="build", when="@:1.4")
    depends_on("bison", type="build", when="@:1.4")
    depends_on("gtkorvo-cercs-env", type="build", when="@:1.4")
    depends_on("gtkorvo-atl")
    depends_on("gtkorvo-dill")

    def cmake_args(self):
        args = ["-DTARGET_CNL=1"]
        if self.spec.satisfies("@1.5:"):
            args.append("-DBUILD_SHARED_LIBS=OFF")
        else:
            args.append("-DENABLE_BUILD_STATIC=STATIC")

        if self.run_tests:
            args.append("-DENABLE_TESTING=0")
        else:
            args.append("-DENABLE_TESTING=0")

        return args