# - cmake script for finding PHDF5 libraries
# PHDF5_INCLUDE_DIR - user modifiable choice of where hdf5 headers are
# PHDF5_LIBRARY - user modifiable choice of where hdf5 library is
# PHDF5HL_LIBRARY - user modifiable choice of where hdf5 height level library is
# or PHDF5_LIBRARIES - user modifiable choice of where hdf5 & hdf5hl libraries are
# This module returns these variables for the rest of the project to use.
#
# PHDF5_FOUND - True if HDF5 found including required interfaces (see below)
# PHDF5_LIBRARIES - All hdf5 related libraries.
# PHDF5_INCLUDE_DIR - All directories to include.
# # handle the QUIETLY and REQUIRED arguments and set PHDF5_FOUND to TRUE
# if all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
# If PHDF5 & PHDF5_HL libraries are already defined, do nothing
IF(PHDF5_LIBRARIES AND PHDF5_INCLUDE_DIR)
SET(PHDF5_FOUND TRUE)
RETURN()
ELSEIF(PHDF5HL_LIBRARY AND PHDF5_LIBRARY AND PHDF5_INCLUDE_DIR)
SET(PHDF5_LIBRARIES "${PHDF5HL_LIBRARY};${PHDF5_LIBRARY}" )
SET(PHDF5_FOUND TRUE)
RETURN()
ENDIF()
SET(PHDF5_FOUND FALSE)
SET(PHDF5INCLUDE
"${PHDF5ROOT}/include"
"$ENV{PHDF5ROOT}/include"
"${PHDF5_ROOT}/include"
"$ENV{PHDF5_ROOT}/include"
INTERNAL
)
FIND_PATH(PHDF5_INCLUDE_DIR
hdf5.h
HINTS
${PHDF5INCLUDE}
)
SET(PHDF5LIB
"${PHDF5ROOT}/lib"
"$ENV{PHDF5ROOT}/lib"
"${PHDF5_ROOT}/lib"
"$ENV{PHDF5_ROOT}/lib"
INTERNAL)
SET(PHDF5HLLIB
"${PHDF5ROOT}/lib"
"$ENV{PHDF5ROOT}/lib"
"${PHDF5_ROOT}/lib"
"$ENV{PHDF5_ROOT}/lib"
INTERNAL)
FIND_LIBRARY(PHDF5_LIBRARY hdf5 HINTS ${PHDF5LIB})
FIND_LIBRARY(PHDF5HL_LIBRARY hdf5_hl HINTS ${PHDF5HLLIB})
IF (PHDF5_INCLUDE_DIR AND PHDF5_LIBRARY AND PHDF5HL_LIBRARY)
UNSET(PHDF5_FAILMSG)
SET(PHDF5LIB_FOUND TRUE)
SET(PHDF5_INCLUDE_DIR ${PHDF5_INCLUDE_DIR})
SET(PHDF5_LIBRARIES "${PHDF5_LIBRARY};${PHDF5HL_LIBRARY}")
ELSE()
SET(PHDF5_FAILMSG "PHDF5 libraries not found.")
ENDIF()
IF (NOT PHDF5_FAILMSG)
SET(PHDF5_FOUND TRUE)
ENDIF()
MARK_AS_ADVANCED(
PHDF5INCLUDE
PHDF5LIB
PHDF5_FAILMSG
PHDF5_INCLUDE_DIR
PHDF5_LIBRARIES
PHDF5_LIBRARY
PHDF5HL_LIBRARY)