summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/xdmf3/package.py
blob: 17b2084d0cf65b3f58cf53bdba7956d3f3a28b49 (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
# Copyright 2013-2021 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 Xdmf3(CMakePackage):
    """XDMF, or eXtensible Data Model and Format (XDMF), is a common data model
       format to exchange scientific data between High Performance Computing
       codes and tools.
    """

    homepage = "https://xdmf.org"
    git      = "https://gitlab.kitware.com/xdmf/xdmf.git"

    # There is no official release of XDMF and development has largely ceased,
    # but the current version, 3.x, is maintained on the master branch.
    version('2019-01-14', commit='8d9c98081d89ac77a132d56bc8bef53581db4078')

    variant('shared', default=True, description='Enable shared libraries')
    variant('mpi', default=True, description='Enable MPI')

    depends_on('libxml2')
    depends_on('boost')
    depends_on('mpi', when='+mpi')
    depends_on('hdf5+mpi', when='+mpi')
    depends_on('hdf5~mpi', when='~mpi')

    def cmake_args(self):
        """Populate cmake arguments for XDMF."""
        spec = self.spec

        cmake_args = [
            '-DBUILD_SHARED_LIBS=%s' % str('+shared' in spec),
            '-DXDMF_BUILD_UTILS=ON',
            '-DXDMF_WRAP_JAVA=OFF',
            '-DXDMF_WRAP_PYTHON=OFF',
            '-DXDMF_BUILD_TESTING=ON'
        ]

        return cmake_args