Actual source code: ex56f.F90

  1: !
  2: !  Tests PetscHasExternalPackage().
  3: !
  4: #include <petsc/finclude/petscsys.h>
  5: program main
  6:   use petscsys
  7:   implicit none

  9:   character(len=256) pkg, outputString
 10:   PetscBool has, flg
 11:   PetscErrorCode ierr

 13:   PetscCallA(PetscInitialize(ierr))
 14:   pkg = 'hdf5'
 15:   PetscCallA(PetscOptionsGetString(PETSC_NULL_OPTIONS, PETSC_NULL_CHARACTER, '-pkg', pkg, flg, ierr))
 16:   PetscCallA(PetscHasExternalPackage(pkg, has, ierr))
 17:   write (outputString, *) 'PETSc has '//trim(pkg)//'?', has, '\n'
 18:   PetscCallA(PetscPrintf(PETSC_COMM_WORLD, outputString, ierr))
 19:   PetscCallA(PetscFinalize(ierr))
 20: end program main

 22: !/*TEST
 23: !
 24: !   test:
 25: !      suffix: blaslapack
 26: !      args: -pkg blaslapack
 27: !   test:
 28: !      suffix: hdf5
 29: !      requires: hdf5
 30: !      args: -pkg hdf5
 31: !   test:
 32: !      suffix: no-hdf5
 33: !      requires: !hdf5
 34: !      args: -pkg hdf5
 35: !   test:
 36: !      suffix: parmetis
 37: !      requires: parmetis
 38: !      args: -pkg parmetis
 39: !   test:
 40: !      suffix: no-parmetis
 41: !      requires: !parmetis
 42: !      args: -pkg parmetis
 43: !   test:
 44: !      suffix: yaml
 45: !      requires: yaml
 46: !      args: -pkg yaml
 47: !   test:
 48: !      suffix: no-yaml
 49: !      requires: !yaml
 50: !      args: -pkg yaml
 51: !
 52: !TEST*/