xref: /phasta/CMakeFiles/FindPETSC.cmake (revision fad91747fc273859c9aaa9073947f8f2bf249d38)
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