# - cmake script for finding NETCDF libraries
# NETCDF_INCLUDE_DIR - user modifiable choice of where netcdf headers are
# NETCDF_LIBRARY - user modifiable choice of where netcdf library if
# NETCDFF_LIBRARY - user modifiable choice of where netcdf-fortran library is
# or NETCDF_LIBRARIES - user modifiable choice of where netcdf & netcdff libraries are
# his module returns these variables for the rest of the project to use.
#
# NETCDF_FOUND - True if NETCDF found including required interfaces (see below)
# NETCDF_LIBRARIES - All netcdf related libraries.
# NETCDF_INCLUDE_DIR - All directories to include.
# # handle the QUIETLY and REQUIRED arguments and set NETCDF_FOUND to TRUE
# if all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
# If NETCDF & NETCDF_FORTRAN libraries are already defined, do nothing
IF(NETCDF_LIBRARIES AND NETCDF_INCLUDE_DIR)
SET(NETCDF_FOUND TRUE)
RETURN()
ELSEIF(NETCDFF_LIBRARY AND NETCDF_LIBRARY AND NETCDF_INCLUDE_DIR)
SET(NETCDF_LIBRARIES "${NETCDFF_LIBRARY};${NETCDF_LIBRARY}" )
SET(NETCDF_FOUND TRUE)
RETURN()
ENDIF()
SET(NETCDF_FOUND FALSE)
SET(NETCDFINCLUDE
"${NETCDFROOT}/include"
"$ENV{NETCDFROOT}/include"
"${NETCDF_ROOT}/include"
"$ENV{NETCDF_ROOT}/include"
"${CMAKE_SOURCE_DIR}/netcdf/include"
INTERNAL
)
FIND_PATH(NETCDF_INCLUDE_DIR
netcdf.h
HINTS
${NETCDFINCLUDE}
)
SET(NETCDFLIB
"${NETCDFROOT}/lib"
"$ENV{NETCDFROOT}/lib"
"${NETCDF_ROOT}/lib"
"$ENV{NETCDF_ROOT}/lib"
"${CMAKE_SOURCE_DIR}/netcdf/lib"
INTERNAL)
SET(NETCDFFLIB
"${NETCDFROOT}/lib"
"$ENV{NETCDFROOT}/lib"
"${NETCDF_ROOT}/lib"
"$ENV{NETCDF_ROOT}/lib"
"${CMAKE_SOURCE_DIR}/netcdf/lib"
INTERNAL)
FIND_LIBRARY(NETCDF_LIBRARY netcdf HINTS ${NETCDFLIB})
FIND_LIBRARY(NETCDFF_LIBRARY netcdff HINTS ${NETCDFFLIB})
IF (NETCDF_INCLUDE_DIR AND NETCDF_LIBRARY AND NETCDFF_LIBRARY)
UNSET(NETCDF_FAILMSG)
SET(NETCDFLIB_FOUND TRUE)
SET(NETCDF_INCLUDE_DIR ${NETCDF_INCLUDE_DIR})
SET(NETCDF_LIBRARIES "${NETCDFF_LIBRARY};${NETCDF_LIBRARY}")
ELSE()
SET(NETCDF_FAILMSG "NETCDF libraries not found.")
ENDIF()
IF (NOT NETCDF_FAILMSG)
SET(NETCDF_FOUND TRUE)
ENDIF()
MARK_AS_ADVANCED(
NETCDFINCLUDE
NETCDFLIB
NETCDF_FAILMSG
NETCDF_INCLUDE_DIR
NETCDF_LIBRARIES
NETCDF_LIBRARY
NETCDF_F_LIBRARY)