Thanks Michael, it's good to hear I'm not alone :-) On Sun 2008-11-09 20:16, Michael Jackson wrote: > So basically if you don't have the HDF5_INSTALL env variable set then my > module probably will not find it, which is good in that instead of > getting a wrong version of HDF5 you just don't get any at all.
I also use NO_DEFAULT_PATH in my modules to help prevent an inconsistent
configuration. I think the optimal semantic is usually that if
HDF5_INSTALL is not set, it tries default paths, but if HDF5_INSTALL is
set, even if incorrectly, it will never fall back on default paths.
Something like this, all guarded by clearing all advanced HDF5_* entries
if HDF5_INSTALL is changed so the user can change versions without
manually deleting the cache.
IF(HDF5_INSTALL)
# Look for the library only under the specified directory
FIND_LIBRARY(HDF5_LIBRARY_DEBUG
NAMES ${HDF5_SEARCH_DEBUG_NAMES}
HINTS ${HDF5_INSTALL}
PATH_SUFFIXES lib64 lib
NO_DEFAULT_PATH
)
ELSE(HDF5_INSTALL)
# Look for the library in default paths
FIND_LIBRARY(HDF5_LIBRARY_DEBUG
NAMES ${HDF5_SEARCH_DEBUG_NAMES}
)
ENDIF(HDF5_INSTALL)
Maybe it could look something like
FIND_LIBRARY(HDF5_LIBRARY_DEBUG
NAMES ${HDF5_SEARCH_DEBUG_NAMES}
HINTS ${HDF5_INSTALL}
PATH_SUFFIXES lib64 lib
EXCLUSIVE_HINTS)
where the semantic (if EXCLUSIVE_HINTS is given) is that if the
arguments of HINTS is set (i.e. HDF5_INSTALL was set, either as an
environment variable or in the cache), then only directories under
HINTS/PATH_SUFFIXES are searched, otherwise (i.e. HDF5_INSTALL was not
set) the normal semantics of FIND_LIBRARY are used.
Jed
pgpljBr24oPBL.pgp
Description: PGP signature
_______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
