-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Initial Spackage for qmd-progress library #4924
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
############################################################################## | ||
# Copyright (c) 2017, Los Alamos National Security, LLC | ||
# Produced at the Los Alamos 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 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 | ||
############################################################################## | ||
from spack import * | ||
|
||
|
||
class QmdProgress(CMakePackage): | ||
"""PROGRESS: Parallel, Rapid O(N) and Graph-based Recursive Electronic | ||
Structure Solver. LA-CC-16-068 | ||
This library is focused on the development of general solvers that are | ||
commonly used in quantum chemistry packages.""" | ||
|
||
homepage = "https://github.com/lanl/qmd-progress" | ||
url = "https://github.com/lanl/qmd-progress" | ||
|
||
version('develop', git='https://github.com/lanl/qmd-progress', branch='master') | ||
version('1.0.0', git='https://github.com/lanl/qmd-progress', tag='v1.0.0') | ||
|
||
variant('graphlib', default=False, description='Build with Metis Suppport') | ||
variant('mpi', default=True, description='Build with MPI Support') | ||
|
||
depends_on('cmake', type='build') | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You don't need this. It is already included in |
||
|
||
depends_on("bml") | ||
depends_on('mpi', when="+mpi") | ||
depends_on('metis', when="+graphlib") | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Might want to stick to single quotes or double quotes instead of mixing them. I usually prefer single quotes unless the string contains an apostrophe. |
||
|
||
def cmake_args(self): | ||
spec = self.spec | ||
args = ['-DCMAKE_Fortran_FLAGS=-ffree-line-length-none'] | ||
if '+mpi' in spec: | ||
args.append('-DPROGRESS_MPI=yes') | ||
args.append('-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc) | ||
args.append('-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx) | ||
args.append('-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc) | ||
if '+graphlib' in spec: | ||
args.append('-DPROGRESS_GRAPHLIB=yes') | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It might be good to also add: else:
args.append('-DPROGRESS_MPI=no') and: else:
args.append('-DPROGRESS_GRAPHLIB=no') I've seen too many projects that build with library support if they find it installed on the system. |
||
|
||
return args |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You'll probably want a period after this
LA-CC-16-068
, or remove it altogether. Spack doesn't preserve newline characters inspack info
so it will look confusing.