Actual source code: ex56f.F90

  1: !
  2: !  Tests PetscHasExternalPackage().
  3: !
  4: program main

  6: #include <petsc/finclude/petscsys.h>
  7:   use petscsys
  8:   implicit none

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

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

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