2021-01-02 15:10:28 +08:00
|
|
|
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
|
2018-10-08 04:52:23 +08:00
|
|
|
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
Moab 5.0 and meshkit 1.5 (#4557)
* enable some of the tools
do not make zoltan default
* modify moab package
add shared, debug options to cgm, too
build some tools by default (mbsize, mbconvert)
add hdf5, netcdf dependency
add pnetcdf variant (dependency), metis, parmetis, zoltan
add shared, debug, fortran options to moab
* few kinks for moab
zoltan should be built without fortran api, otherwise moab
complains (need to fix)
also, notice that when built with cgm, shared can't find
cgm libraries for the new tools/geometry execs
install in serial for the time being (because of example makefile
duplicate?)
for example, these builds are successful:
spack install moab+mpi+hdf5+zoltan ^mpich@3.2
spack install moab+mpi+hdf5+shared ^mpich@3.2
* force hdf5+mpi if both are specified
also, something like this works:
spack install moab+mpi+hdf5+cgm ^mpich@3.2 ^cgm+oce+mpi ^oce@0.17.2
use mpich32, and cgm built with oce 0.17.2
* forgot about irel, fbigeom, mbcoupler
* add meshkit package
simple build so far, moab and cgm deps only
also, an example of complex build for cgm
spack install moab+mpi+hdf5+cgm+irel+fbigeom ^mpich@3.2 ^cgm+oce+mpi ^oce@0.17.2
* for meshkit, moab needs to have irel, fbigeom
* forgot to self.spec
after building moab with cgm with oce 0.17.2, we can build
meshkit with something like this
spack install meshkit ^moab/tsb75zk
cgm depencency is found out from moab
moab has to be built with irel and fbigeom
* add netgen package and review
do not support yet older versions of meshkit
(which depend on lasso, etc)
add netgen package; tested with meshkit (netgen has to be built without
occ, for meshkit)
We are not enforcing that yet, we may have to test
* use conflicts where needed, suggested by review
remove release candidates
* flake8 alignment errors
* flake8
* reviews
flake8 alignment
explicit options, even for default variants
variant for netgen should be "gui", with the default ~gui (False)
FIXME: with-occ does not work right for netgen ; maybe it should be disabled?
also, with +gui, it should depend on a lot more, like tk, tcl?
* flake8 issues
whitespaces and a comment in netgen
* add more explicit options
--without-mpi needs fixing for cgm, moab and meshkit
add variable url for netgen (although we don''t know if other
versions will appear)
* flake8, trailing whitespace
2017-06-23 21:53:43 +08:00
|
|
|
#
|
2018-10-08 04:52:23 +08:00
|
|
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
|
|
|
|
Moab 5.0 and meshkit 1.5 (#4557)
* enable some of the tools
do not make zoltan default
* modify moab package
add shared, debug options to cgm, too
build some tools by default (mbsize, mbconvert)
add hdf5, netcdf dependency
add pnetcdf variant (dependency), metis, parmetis, zoltan
add shared, debug, fortran options to moab
* few kinks for moab
zoltan should be built without fortran api, otherwise moab
complains (need to fix)
also, notice that when built with cgm, shared can't find
cgm libraries for the new tools/geometry execs
install in serial for the time being (because of example makefile
duplicate?)
for example, these builds are successful:
spack install moab+mpi+hdf5+zoltan ^mpich@3.2
spack install moab+mpi+hdf5+shared ^mpich@3.2
* force hdf5+mpi if both are specified
also, something like this works:
spack install moab+mpi+hdf5+cgm ^mpich@3.2 ^cgm+oce+mpi ^oce@0.17.2
use mpich32, and cgm built with oce 0.17.2
* forgot about irel, fbigeom, mbcoupler
* add meshkit package
simple build so far, moab and cgm deps only
also, an example of complex build for cgm
spack install moab+mpi+hdf5+cgm+irel+fbigeom ^mpich@3.2 ^cgm+oce+mpi ^oce@0.17.2
* for meshkit, moab needs to have irel, fbigeom
* forgot to self.spec
after building moab with cgm with oce 0.17.2, we can build
meshkit with something like this
spack install meshkit ^moab/tsb75zk
cgm depencency is found out from moab
moab has to be built with irel and fbigeom
* add netgen package and review
do not support yet older versions of meshkit
(which depend on lasso, etc)
add netgen package; tested with meshkit (netgen has to be built without
occ, for meshkit)
We are not enforcing that yet, we may have to test
* use conflicts where needed, suggested by review
remove release candidates
* flake8 alignment errors
* flake8
* reviews
flake8 alignment
explicit options, even for default variants
variant for netgen should be "gui", with the default ~gui (False)
FIXME: with-occ does not work right for netgen ; maybe it should be disabled?
also, with +gui, it should depend on a lot more, like tk, tcl?
* flake8 issues
whitespaces and a comment in netgen
* add more explicit options
--without-mpi needs fixing for cgm, moab and meshkit
add variable url for netgen (although we don''t know if other
versions will appear)
* flake8, trailing whitespace
2017-06-23 21:53:43 +08:00
|
|
|
#
|
|
|
|
from spack import *
|
|
|
|
|
|
|
|
|
|
|
|
class Meshkit(AutotoolsPackage):
|
|
|
|
"""MeshKit is an open-source library of mesh generation functionality.
|
|
|
|
Its design philosophy is two-fold: it provides a collection of
|
|
|
|
meshing algorithms for use in real meshing problems, along with
|
|
|
|
other tools commonly needed to support mesh generation"""
|
|
|
|
|
|
|
|
homepage = "http://sigma.mcs.anl.gov/meshkit-library"
|
|
|
|
url = "http://ftp.mcs.anl.gov/pub/fathom/meshkit-1.5.0.tar.gz"
|
|
|
|
|
2019-10-11 13:44:41 +08:00
|
|
|
version('1.5.0', sha256='6a4c119af191e24ef40644acb7cfbe967af0678ac3412f38a943fb28d661cac7')
|
Moab 5.0 and meshkit 1.5 (#4557)
* enable some of the tools
do not make zoltan default
* modify moab package
add shared, debug options to cgm, too
build some tools by default (mbsize, mbconvert)
add hdf5, netcdf dependency
add pnetcdf variant (dependency), metis, parmetis, zoltan
add shared, debug, fortran options to moab
* few kinks for moab
zoltan should be built without fortran api, otherwise moab
complains (need to fix)
also, notice that when built with cgm, shared can't find
cgm libraries for the new tools/geometry execs
install in serial for the time being (because of example makefile
duplicate?)
for example, these builds are successful:
spack install moab+mpi+hdf5+zoltan ^mpich@3.2
spack install moab+mpi+hdf5+shared ^mpich@3.2
* force hdf5+mpi if both are specified
also, something like this works:
spack install moab+mpi+hdf5+cgm ^mpich@3.2 ^cgm+oce+mpi ^oce@0.17.2
use mpich32, and cgm built with oce 0.17.2
* forgot about irel, fbigeom, mbcoupler
* add meshkit package
simple build so far, moab and cgm deps only
also, an example of complex build for cgm
spack install moab+mpi+hdf5+cgm+irel+fbigeom ^mpich@3.2 ^cgm+oce+mpi ^oce@0.17.2
* for meshkit, moab needs to have irel, fbigeom
* forgot to self.spec
after building moab with cgm with oce 0.17.2, we can build
meshkit with something like this
spack install meshkit ^moab/tsb75zk
cgm depencency is found out from moab
moab has to be built with irel and fbigeom
* add netgen package and review
do not support yet older versions of meshkit
(which depend on lasso, etc)
add netgen package; tested with meshkit (netgen has to be built without
occ, for meshkit)
We are not enforcing that yet, we may have to test
* use conflicts where needed, suggested by review
remove release candidates
* flake8 alignment errors
* flake8
* reviews
flake8 alignment
explicit options, even for default variants
variant for netgen should be "gui", with the default ~gui (False)
FIXME: with-occ does not work right for netgen ; maybe it should be disabled?
also, with +gui, it should depend on a lot more, like tk, tcl?
* flake8 issues
whitespaces and a comment in netgen
* add more explicit options
--without-mpi needs fixing for cgm, moab and meshkit
add variable url for netgen (although we don''t know if other
versions will appear)
* flake8, trailing whitespace
2017-06-23 21:53:43 +08:00
|
|
|
|
|
|
|
variant("mpi", default=True, description='enable mpi support')
|
|
|
|
variant("netgen", default=False, description='enable netgen support')
|
|
|
|
variant("debug", default=False, description='enable debug symbols')
|
|
|
|
variant("shared", default=False, description='enable shared builds')
|
|
|
|
|
|
|
|
depends_on('mpi', when='+mpi')
|
|
|
|
depends_on('netgen', when='+netgen')
|
|
|
|
depends_on('cgm')
|
2017-06-25 04:34:14 +08:00
|
|
|
depends_on('moab+cgm+irel+fbigeom')
|
Moab 5.0 and meshkit 1.5 (#4557)
* enable some of the tools
do not make zoltan default
* modify moab package
add shared, debug options to cgm, too
build some tools by default (mbsize, mbconvert)
add hdf5, netcdf dependency
add pnetcdf variant (dependency), metis, parmetis, zoltan
add shared, debug, fortran options to moab
* few kinks for moab
zoltan should be built without fortran api, otherwise moab
complains (need to fix)
also, notice that when built with cgm, shared can't find
cgm libraries for the new tools/geometry execs
install in serial for the time being (because of example makefile
duplicate?)
for example, these builds are successful:
spack install moab+mpi+hdf5+zoltan ^mpich@3.2
spack install moab+mpi+hdf5+shared ^mpich@3.2
* force hdf5+mpi if both are specified
also, something like this works:
spack install moab+mpi+hdf5+cgm ^mpich@3.2 ^cgm+oce+mpi ^oce@0.17.2
use mpich32, and cgm built with oce 0.17.2
* forgot about irel, fbigeom, mbcoupler
* add meshkit package
simple build so far, moab and cgm deps only
also, an example of complex build for cgm
spack install moab+mpi+hdf5+cgm+irel+fbigeom ^mpich@3.2 ^cgm+oce+mpi ^oce@0.17.2
* for meshkit, moab needs to have irel, fbigeom
* forgot to self.spec
after building moab with cgm with oce 0.17.2, we can build
meshkit with something like this
spack install meshkit ^moab/tsb75zk
cgm depencency is found out from moab
moab has to be built with irel and fbigeom
* add netgen package and review
do not support yet older versions of meshkit
(which depend on lasso, etc)
add netgen package; tested with meshkit (netgen has to be built without
occ, for meshkit)
We are not enforcing that yet, we may have to test
* use conflicts where needed, suggested by review
remove release candidates
* flake8 alignment errors
* flake8
* reviews
flake8 alignment
explicit options, even for default variants
variant for netgen should be "gui", with the default ~gui (False)
FIXME: with-occ does not work right for netgen ; maybe it should be disabled?
also, with +gui, it should depend on a lot more, like tk, tcl?
* flake8 issues
whitespaces and a comment in netgen
* add more explicit options
--without-mpi needs fixing for cgm, moab and meshkit
add variable url for netgen (although we don''t know if other
versions will appear)
* flake8, trailing whitespace
2017-06-23 21:53:43 +08:00
|
|
|
|
|
|
|
def configure_args(self):
|
|
|
|
spec = self.spec
|
|
|
|
args = [
|
|
|
|
"--with-igeom={0}".format(spec['cgm'].prefix),
|
|
|
|
"--with-imesh={0}".format(spec['moab'].prefix)
|
|
|
|
]
|
|
|
|
if '+mpi' in spec:
|
|
|
|
args.extend([
|
|
|
|
"--with-mpi",
|
|
|
|
"CC={0}".format(spec['mpi'].mpicc),
|
|
|
|
"CXX={0}".format(spec['mpi'].mpicxx),
|
|
|
|
"FC={0}".format(spec['mpi'].mpifc)
|
|
|
|
])
|
|
|
|
# FIXME without-mpi is not working
|
|
|
|
# else:
|
|
|
|
# args.append("--without-mpi")
|
|
|
|
if '+netgen' in spec:
|
|
|
|
args.append("--with-netgen={0}".format(spec['netgen'].prefix))
|
|
|
|
else:
|
|
|
|
args.append("--without-netgen")
|
|
|
|
|
|
|
|
if '+debug' in spec:
|
|
|
|
args.append("--enable-debug")
|
|
|
|
else:
|
|
|
|
args.append("--disable-debug")
|
|
|
|
|
|
|
|
if '+shared' in spec:
|
|
|
|
args.append("--enable-shared")
|
|
|
|
else:
|
|
|
|
args.append("--disable-shared")
|
|
|
|
|
|
|
|
return args
|