summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/visit/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/visit/package.py')
-rw-r--r--var/spack/repos/builtin/packages/visit/package.py92
1 files changed, 57 insertions, 35 deletions
diff --git a/var/spack/repos/builtin/packages/visit/package.py b/var/spack/repos/builtin/packages/visit/package.py
index 56dec99eec..47d93c3a7b 100644
--- a/var/spack/repos/builtin/packages/visit/package.py
+++ b/var/spack/repos/builtin/packages/visit/package.py
@@ -1,27 +1,8 @@
-##############################################################################
-# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
-# Produced at the Lawrence Livermore National Laboratory.
+# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
-# This file is part of Spack.
-# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
-# LLNL-CODE-647188
-#
-# For details, see https://github.com/spack/spack
-# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License (as
-# published by the Free Software Foundation) version 2.1, February 1999.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
-# conditions of the GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-##############################################################################
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
from spack import *
@@ -31,31 +12,72 @@ class Visit(CMakePackage):
homepage = "https://wci.llnl.gov/simulation/computer-codes/visit/"
url = "http://portal.nersc.gov/project/visit/releases/2.10.1/visit2.10.1.tar.gz"
+ version('2.13.0', '716644b8e78a00ff82691619d4d1e7a914965b6535884890b667b97ba08d6a0f')
+ version('2.12.3', '2dd351a291ee3e79926bc00391ca89b202cfa4751331b0fdee1b960c7922161f')
version('2.12.2', '355779b1dbf440cdd548526eecd77b60')
version('2.10.3', 'a1082a6f6dab3e2dcb58993603456c2b')
version('2.10.2', '253de0837a9d69fb689befc98ea4d068')
version('2.10.1', '3cbca162fdb0249f17c4456605c4211e')
+ variant('gui', default=True, description='Enable VisIt\'s GUI')
+ variant('hdf5', default=True, description='Enable HDF5 file format')
+ variant('silo', default=True, description='Enable Silo file format')
+ variant('python', default=True, description='Enable Python support')
+ variant('mpi', default=True, description='Enable parallel engine')
+
depends_on('cmake@3.0:', type='build')
- depends_on('vtk@6.1.0~opengl2')
- depends_on('qt@4.8.6')
- depends_on('python')
- depends_on('silo+shared')
- depends_on('hdf5~mpi')
+ depends_on('vtk@6.1.0~opengl2~mpi')
+ depends_on('qt@4.8.6', when='+gui')
+ depends_on('qwt', when='+gui')
+ depends_on('python', when='+python')
+ depends_on('silo+shared', when='+silo')
+ depends_on('hdf5', when='+hdf5')
+ depends_on('mpi', when='+mpi')
+
+ conflicts('+hdf5', when='~gui')
+ conflicts('+silo', when='~gui')
root_cmakelists_dir = 'src'
def cmake_args(self):
spec = self.spec
- qt_bin = spec['qt'].prefix.bin
- return [
+ args = [
'-DVTK_MAJOR_VERSION={0}'.format(spec['vtk'].version[0]),
'-DVTK_MINOR_VERSION={0}'.format(spec['vtk'].version[1]),
- '-DVISIT_USE_GLEW=OFF',
- '-DVISIT_LOC_QMAKE_EXE:FILEPATH={0}/qmake-qt4'.format(qt_bin),
- '-DPYTHON_DIR:PATH={0}'.format(spec['python'].home),
- '-DVISIT_SILO_DIR:PATH={0}'.format(spec['silo'].prefix),
- '-DVISIT_HDF5_DIR:PATH={0}'.format(spec['hdf5'].prefix),
'-DVISIT_VTK_DIR:PATH={0}'.format(spec['vtk'].prefix),
+ '-DVISIT_USE_GLEW=OFF',
+ '-DCMAKE_CXX_FLAGS=-fPIC',
+ '-DCMAKE_C_FLAGS=-fPIC'
]
+
+ if(spec.variants['python'].value):
+ args.append('-DPYTHON_DIR:PATH={0}'.format(spec['python'].home))
+
+ if(spec.variants['gui'].value):
+ qt_bin = spec['qt'].prefix.bin
+ args.append(
+ '-DVISIT_LOC_QMAKE_EXE:FILEPATH={0}/qmake-qt4'.format(qt_bin))
+ args.append('-DVISIT_QWT_DIR:PATH={0}'.format(spec['qwt'].prefix))
+ else:
+ args.append('-DVISIT_SERVER_COMPONENTS_ONLY=ON')
+ args.append('-DVISIT_ENGINE_ONLY=ON')
+
+ if(spec.variants['hdf5'].value):
+ args.append(
+ '-DVISIT_HDF5_DIR:PATH={0}'.format(spec['hdf5'].prefix))
+ if spec.satisfies('^hdf5+mpi', strict=True):
+ args.append('-DVISIT_HDF5_MPI_DIR:PATH={0}'.format(
+ spec['hdf5'].prefix))
+
+ if(spec.variants['silo'].value):
+ args.append(
+ '-DVISIT_SILO_DIR:PATH={0}'.format(spec['silo'].prefix))
+
+ if(spec.variants['mpi'].value):
+ args.append('-DVISIT_PARALLEL=ON')
+ args.append('-DVISIT_C_COMPILER={0}'.format(spec['mpi'].mpicc))
+ args.append('-DVISIT_CXX_COMPILER={0}'.format(spec['mpi'].mpicxx))
+ args.append('-DVISIT_MPI_COMPILER={0}'.format(spec['mpi'].mpicxx))
+
+ return args