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