diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/visit/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/visit/package.py | 92 |
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 |