diff options
author | jiseung <anna.jiseung@gmail.com> | 2017-08-08 20:25:00 -0500 |
---|---|---|
committer | Adam J. Stewart <ajstewart426@gmail.com> | 2017-08-08 20:25:00 -0500 |
commit | a66fb012da1b88f230d9a5b6f93c3d94b99f2987 (patch) | |
tree | a4149e32353998897e48fcf5d002db79d8f534cf /var | |
parent | 3506f2674c6fe03b13f89d6b4ac5ede78c18acb1 (diff) | |
download | spack-a66fb012da1b88f230d9a5b6f93c3d94b99f2987.tar.gz spack-a66fb012da1b88f230d9a5b6f93c3d94b99f2987.tar.bz2 spack-a66fb012da1b88f230d9a5b6f93c3d94b99f2987.tar.xz spack-a66fb012da1b88f230d9a5b6f93c3d94b99f2987.zip |
Packages/cns nospec (#5023)
* new package: cns-nospec
* made changes as suggested and added proxy-app tag
* updated edit()
* adjusted logic for '+debug'
* install readme and license
* install readme and license
* install readme and license; fix mpi version build issues
* fix build issues for ~mpi
* pep8 compliant
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/cns-nospec/package.py | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/cns-nospec/package.py b/var/spack/repos/builtin/packages/cns-nospec/package.py index d5569bdb6e..30b760ff80 100644 --- a/var/spack/repos/builtin/packages/cns-nospec/package.py +++ b/var/spack/repos/builtin/packages/cns-nospec/package.py @@ -49,6 +49,21 @@ class CnsNospec(MakefilePackage): build_directory = 'MiniApps/CNS_NoSpec' def edit(self, spec, prefix): + def_file = FileFilter('Tools/F_mk/GMakedefs.mak') + def_file.filter('tdir = t/.*', 'tdir := t/$(suf)') + def_file.filter('hdir = t/.*', 'hdir := t/html') + def_file.filter('include $(BOXLIB_HOME)/Tools/F_mk/GMakeMPI.mak', '#') + + if '+mpi' in spec: + def_file.filter('FC.*:=.*', 'FC = {0}'.format(spec['mpi'].mpifc)) + def_file.filter('F90.*:=.*', 'F90 = {0}'.format(spec['mpi'].mpifc)) + def_file.filter( + 'mpi_include_dir =.*', + 'mpi_include_dir = {0}'.format(spec['mpi'].prefix.include)) + def_file.filter( + 'mpi_lib_dir =.*', + 'mpi_lib_dir = {0}'.format(spec['mpi'].prefix.lib)) + with working_dir(self.build_directory): makefile = FileFilter('GNUmakefile') if '+mpi' in spec: @@ -60,10 +75,35 @@ class CnsNospec(MakefilePackage): if '+prof' in spec: makefile.filter('PROF.*', 'PROF := t') + if self.compiler.name == 'gcc': + makefile.filter('COMP .*', 'COMP = gfortran') + if self.compiler.name == 'intel': + makefile.filter('COMP .*', 'COMP = Intel') + if self.compiler.name == 'pgi': + makefile.filter('COMP .*', 'COMP = PGI') + if self.compiler.name == 'xl': + makefile.filter('COMP .*', 'COMP = IBM') + if self.compiler.name == 'cce': + makefile.filter('COMP .*', 'COMP = Cray') + + @property + def build_targets(self): + spec = self.spec + if '+mpi' in spec: + return ['CC = {0}'.format(spec['mpi'].mpicc), + 'CXX = {0}'.format(spec['mpi'].mpicxx)] + else: + return [] + + def build(self, spec, prefix): + with working_dir(self.build_directory): + gmake() + def install(self, spec, prefix): mkdirp(prefix.bin) files = glob.glob(join_path(self.build_directory, '*.exe')) for f in files: install(f, prefix.bin) install('README.txt', prefix) - install('license.txt', prefix)
\ No newline at end of file + install('license.txt', prefix) + install(join_path(self.build_directory, 'README'), prefix) |