1*fad91747SKenneth E. Jansenfind_package(PkgConfig) 2*fad91747SKenneth E. Jansen 3*fad91747SKenneth E. Jansenif(PKG_CONFIG_FOUND) 4*fad91747SKenneth E. Jansen pkg_check_modules(PETSCPKG "PETSc") 5*fad91747SKenneth E. Jansenendif(PKG_CONFIG_FOUND) 6*fad91747SKenneth E. Jansen 7*fad91747SKenneth E. Jansenif(PETSCPKG_FOUND AND (NOT PETSc_DIR)) 8*fad91747SKenneth E. Jansen#if PETSc_DIR we're probably doing things the old way 9*fad91747SKenneth E. Jansen#so just skip to that 10*fad91747SKenneth E. Jansen#otherwise, try and use pkg-config 11*fad91747SKenneth E. Jansenset(PETSC_LIBRARY_DIRS ${PETSCPKG_LIBRARY_DIRS}) 12*fad91747SKenneth E. Jansenset(PETSC_INCLUDE_DIRS ${PETSCPKG_INCLUDE_DIRS}) 13*fad91747SKenneth E. Jansenset(PETSC_LIBRARIES ${PETSCPKG_LIBRARIES}) 14*fad91747SKenneth E. Jansenset(PETSC_FOUND TRUE) 15*fad91747SKenneth E. Jansen 16*fad91747SKenneth E. Jansenelse() 17*fad91747SKenneth E. Jansenfind_package(PETSc REQUIRED) 18*fad91747SKenneth E. Jansenif(PETSc_FOUND) 19*fad91747SKenneth E. Jansen set(PETSC_FOUND TRUE) 20*fad91747SKenneth E. Jansenendif(PETSc_FOUND) 21*fad91747SKenneth E. Jansen 22*fad91747SKenneth E. Jansenfind_path(PETSC_INC petscsys.h HINTS /usr/include ${PETSC_PACKAGE_INCLUDES}) 23*fad91747SKenneth E. Jansenfind_path(PETSC_LIB libpetsc.a HINTS /usr/lib ${PETSC_PACKAGE_INCLUDES}../lib) 24*fad91747SKenneth E. Jansenset(PETSC_INCLUDE_DIRS ${PETSC_INC}) 25*fad91747SKenneth E. Jansenset(PETSC_LIBRARY_DIRS ${PETSC_LIB}) 26*fad91747SKenneth E. Jansenset(PETSC_LIBRARIES ${PETSC_LIB}/libpetsc.a ${PETSC_PACKAGE_LIBS}) 27*fad91747SKenneth E. Jansenendif(PETSCPKG_FOUND AND (NOT PETSc_DIR)) 28