From b447c2ba51f57826980703e4efa1a7a15e98faed Mon Sep 17 00:00:00 2001 From: Jon Rood Date: Thu, 14 Dec 2017 12:46:25 -0700 Subject: Add TIOGA package and optional dependency of Nalu on TIOGA (#6638) --- var/spack/repos/builtin/packages/nalu/package.py | 10 +++++ var/spack/repos/builtin/packages/tioga/package.py | 54 +++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 var/spack/repos/builtin/packages/tioga/package.py diff --git a/var/spack/repos/builtin/packages/nalu/package.py b/var/spack/repos/builtin/packages/nalu/package.py index 36dd317009..4a7ca67897 100644 --- a/var/spack/repos/builtin/packages/nalu/package.py +++ b/var/spack/repos/builtin/packages/nalu/package.py @@ -39,6 +39,8 @@ class Nalu(CMakePackage): variant('openfast', default=False, description='Compile with OpenFAST support') + variant('tioga', default=False, + description='Compile with Tioga support') version('master', git='https://github.com/NaluCFD/Nalu.git', branch='master') @@ -47,6 +49,7 @@ class Nalu(CMakePackage): depends_on('yaml-cpp+pic~shared@0.5.3:') depends_on('trilinos~shared+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist+superlu+hdf5+zlib+pnetcdf+shards@master,12.12.1:') depends_on('openfast+cxx', when='+openfast') + depends_on('tioga', when='+tioga') def cmake_args(self): spec = self.spec @@ -60,7 +63,14 @@ class Nalu(CMakePackage): if '+openfast' in spec: options.extend([ + '-DENABLE_OPENFAST:BOOL=ON', '-DOpenFAST_DIR:PATH=%s' % spec['openfast'].prefix ]) + if '+tioga' in spec: + options.extend([ + '-DENABLE_TIOGA:BOOL=ON', + '-DTIOGA_DIR:PATH=%s' % spec['tioga'].prefix + ]) + return options diff --git a/var/spack/repos/builtin/packages/tioga/package.py b/var/spack/repos/builtin/packages/tioga/package.py new file mode 100644 index 0000000000..7d770e3437 --- /dev/null +++ b/var/spack/repos/builtin/packages/tioga/package.py @@ -0,0 +1,54 @@ +############################################################################## +# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC. +# Produced at the Lawrence Livermore National Laboratory. +# +# 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/llnl/spack +# Please also see the LICENSE file 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 +############################################################################## +from spack import * + + +class Tioga(CMakePackage): + """Topology Independent Overset Grid Assembly (TIOGA)""" + + homepage = "https://github.com/jsitaraman/tioga" + url = "https://github.com/jsitaraman/tioga.git" + + # The master branch doesn't support CMake + version('develop', git="https://github.com/jsitaraman/tioga.git", + branch='nalu-api') + + variant('shared', default=False, + description="Enable building shared libraries") + + depends_on('mpi') + + # Tioga has the fortran module file problem with parallel builds + parallel = False + + def cmake_args(self): + spec = self.spec + + options = [ + '-DBUILD_SHARED_LIBS:BOOL=%s' % ( + 'ON' if '+shared' in spec else 'OFF') + ] + + return options -- cgit v1.2.3-70-g09d2