Initial Find{FFTW,GSL,NetCDF,PETSc}.cmake

Signed-off-by: Jed Brown <jed@59A2.org>
Use Foo_INCLUDE_PATH consistently

Signed-off-by: Jed Brown <jed@59A2.org>
FindiMesh.cmake

Signed-off-by: Jed Brown <jed@59A2.org>
Tabs to spaces except in heredoc

Signed-off-by: Jed Brown <jed@59A2.org>
XXX_INCLUDE_PATH -> XXX_INCLUDE_DIRS, consistent with 2.6.3rc1 readme

Signed-off-by: Jed Brown <jed@59A2.org>
XXX_INCLUDE_PATH -> XXX_INCLUDE_DIRS, consistent with 2.6.3rc1 readme

Signed-off-by: Jed Brown <jed@59A2.org>
FindPackageMultipass.cmake: simplify multipass FindXXX modules

Signed-off-by: Jed Brown <jed@59A2.org>
Resolve library (-L, -l) and include (-I) paths.

Signed-off-by: Jed Brown <jed@59A2.org>
Change my mind again, use XXX_INCLUDES like FindQt4.cmake

Signed-off-by: Jed Brown <jed@59A2.org>
FindNetCDF.cmake: support all 4 interfaces (C,C++,F77,F90)

Signed-off-by: Jed Brown <jed@59A2.org>
FindPackageMultipass.cmake: correctly clear dependent vars

Signed-off-by: Jed Brown <jed@59A2.org>
comment

Signed-off-by: Jed Brown <jed@59A2.org>
FindPETSc.cmake: use compilation test to determine minimal linking

With shared libraries, this will only include the interface (petsc*.so)
libs which is optimal because it leads to smaller binaries and makes it
possible to change/update the libs (if soname is stable) without
relinking executables.

With static libraries, it is necessary to explicitly link the entire
dependency graph of PETSc.  We determine which case using a test
executable.

Signed-off-by: Jed Brown <jed@59A2.org>
Add MULTIPASS_C_SOURCE_RUNS() which forces re-running the test.

This is useful when the environment changes.  If we had a way to
guarantee that the environment described in INCLUDES and LIBRARIES was
really a complete description, we could avoid re-running these tests.
In reality, it probably doesn't matter because we don't request the test
to be rerun unless the environment is likely to have changed.

Signed-off-by: Jed Brown <jed@59A2.org>
Make FindiMesh.cmake properly multipass.

This module now only links the interface library unless the explicit
linking of recursive dependencies is needed.

Signed-off-by: Jed Brown <jed@59A2.org>
Fix finding petscconf.h with old layout, remove iMesh config makefile.

Signed-off-by: Jed Brown <jed@59A2.org>
Comments and example usage for NetCDF

Signed-off-by: Jed Brown <jed@59A2.org>
Fix misunderstanding about POSIX -L,-l semantics

Signed-off-by: Jed Brown <jed@59A2.org>
PETSC_VERSION hack
FindGSL.cmake: Add way to set CBLAS for GSL if necessary.

FindNetCDF.cmake: Setting NETCDF_DIR (the environment variable or CMake
variable) influences the selection process.

FindPETSc.cmake: make PETSC_INCLUDE_{DIR,CONF} slaves