jedbrown / cmake-modules

CMake modules for some scientific libraries
BSD 2-Clause "Simplified" License
87 stars 54 forks source link

Update FindPETSc.cmake to account for new directory structure #9

Closed jakubfabian closed 9 years ago

jakubfabian commented 9 years ago

Directory structure changed as B.Smith pointed out in [petsc-users] For users of PETSc repository only on 04/12/2015 <<

If you use PETSc 3.5.3 or earlier releases you can ignore this message. It only affects those using the pre-release PETSc repository code.

I have changed some of the directory structure of PETSc which will your makefiles and Fortran source code.

The locations of the PETSc include makefiles has changed from lib/petsc-conf/ to lib/petsc/conf This means items such as

include ${PETSC_DIR}/lib/petsc-conf/variables include ${PETSC_DIR}/lib/petsc-conf/rules

need to be changed in your makefiles to

include ${PETSC_DIR}/lib/petsc/conf/variables include ${PETSC_DIR}/lib/petsc/conf/rules

The locations of the PETSc fortran include files has changed from petsc-finclude to petsc/finclude This means items such as

include <petsc-finclude/petscsys.h>

include <petsc-finclude/petscvec.h>

in your Fortran source needs to be changed to

include <petsc/finclude/petscsys.h>

include <petsc/finclude/petscvec.h>

The reason for the change is to match Linux packaging standards for locations of files and directories. I hope this will be the last change for this for a long while, thanks for your patience

Barry

jedbrown commented 9 years ago

Thanks for this. I opted to accept #10 to keep the number of variants down (the "petsc-conf" structure only existed briefly in PETSc 'master' prior to the 3.6 release).