Fix visit+ (#13652)

* Propagate MPI option in VTK to NetCDF

This fixes a conflict message reads as though NetCDF always requires
hdf5+mpi. It allows `visit~mpi` to resolve correctly without an
additional `^netcdf~mpi`.

* Tell VisIt not to look for 'hdf5_mpi' library
This commit is contained in:
Seth R. Johnson 2019-11-09 13:47:04 -05:00 committed by Adam J. Stewart
parent eee3a63a3e
commit d01a8f7cd6
3 changed files with 27 additions and 9 deletions

View File

@ -30,19 +30,21 @@ class Visit(CMakePackage):
patch('spack-changes.patch')
patch('nonframework-qwt.patch', when='^qt~framework platform=darwin')
patch('parallel-hdf5.patch', when='+hdf5+mpi')
depends_on('cmake@3.0:', type='build')
depends_on('vtk@8.1.0:+opengl2', when='@3.0:3.0.1')
depends_on('vtk@6.1.0~opengl2', when='@:2.999')
depends_on('vtk+python', when='+python @3.0:')
depends_on('vtk~mpi')
depends_on('vtk~mpi', when='~mpi')
depends_on('vtk+qt', when='+gui')
depends_on('qt@4.8.6:4.999', when='+gui @:2.999')
depends_on('qt@5.10:', when='+gui @3.0:')
depends_on('qwt', when='+gui')
depends_on('python@2.6:2.8', when='+python')
depends_on('silo+shared', when='+silo')
depends_on('hdf5', when='+hdf5')
depends_on('hdf5~mpi', when='+hdf5~mpi')
depends_on('hdf5+mpi', when='+hdf5+mpi')
depends_on('mpi', when='+mpi')
depends_on('adios2', when='+adios2')
@ -91,7 +93,7 @@ def cmake_args(self):
if '+hdf5' in spec:
args.append(
'-DVISIT_HDF5_DIR:PATH={0}'.format(spec['hdf5'].prefix))
if spec.satisfies('^hdf5+mpi', strict=True):
if '+mpi' in spec:
args.append('-DVISIT_HDF5_MPI_DIR:PATH={0}'.format(
spec['hdf5'].prefix))

View File

@ -0,0 +1,19 @@
--- a/src/CMake/FindHDF5.cmake 2019-02-15 18:31:27.000000000 -0500
+++ b/src/CMake/FindHDF5.cmake 2019-11-08 07:57:26.000000000 -0500
@@ -46,7 +46,7 @@
#
#****************************************************************************/
-# Use the HDF5_DIR hint from the config-site .cmake file
+# Use the HDF5_DIR hint from the config-site .cmake file
INCLUDE(${VISIT_SOURCE_DIR}/CMake/SetUpThirdParty.cmake)
@@ -73,6 +73,6 @@
ELSE()
SET_UP_THIRD_PARTY(HDF5 lib include hdf5)
IF(VISIT_PARALLEL)
- SET_UP_THIRD_PARTY(HDF5_MPI lib include hdf5_mpi)
+ SET_UP_THIRD_PARTY(HDF5_MPI lib include hdf5)
ENDIF(VISIT_PARALLEL)
ENDIF()

View File

@ -70,14 +70,10 @@ class Vtk(CMakePackage):
# VTK will need Qt5OpenGL, and qt needs '-opengl' for that
depends_on('qt+opengl', when='+qt')
depends_on('mpi', when='+mpi')
depends_on('boost', when='+xdmf')
depends_on('boost+mpi', when='+xdmf +mpi')
depends_on('mpi', when='+mpi')
depends_on('ffmpeg', when='+ffmpeg')
depends_on('mpi', when='+mpi')
depends_on('expat')
depends_on('freetype')
@ -88,7 +84,8 @@ class Vtk(CMakePackage):
depends_on('jsoncpp')
depends_on('libxml2')
depends_on('lz4')
depends_on('netcdf-c')
depends_on('netcdf-c~mpi', when='~mpi')
depends_on('netcdf-c+mpi', when='+mpi')
depends_on('netcdf-cxx')
depends_on('libpng')
depends_on('libtiff')