From b6d20c8a351f896ba8e62a2a7a6b276d9b04d883 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 19 Nov 2019 16:04:46 -0700 Subject: [PATCH] modifications for build with pre-installed netCDF libraries --- Modules/FindNetCDF.cmake | 50 ++++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/Modules/FindNetCDF.cmake b/Modules/FindNetCDF.cmake index 69176db..387fd49 100644 --- a/Modules/FindNetCDF.cmake +++ b/Modules/FindNetCDF.cmake @@ -25,34 +25,38 @@ # target_link_libraries (uses_f90_interface ${NETCDF_LIBRARIES}) # target_link_libraries (only_uses_c_interface ${NETCDF_LIBRARIES_C}) - -if(DEFINED ENV{NETCDF}) - set(NETCDF_DIR $ENV{NETCDF}) -endif() -message("HEY netcdf_dir is ${NETCDF_DIR}") if (NETCDF_INCLUDES AND NETCDF_LIBRARIES) # Already in cache, be silent set (NETCDF_FIND_QUIETLY TRUE) endif (NETCDF_INCLUDES AND NETCDF_LIBRARIES) -if(DEFINED ENV{NETCDF4}) - set(NETCDF_DIR $ENV{NETCDF4}) -elseif(DEFINED ENV{NETCDF_DIR}) - set(NETCDF_DIR $ENV{NETCDF_DIR}) -elseif(DEFINED ENV{NETCDF_HOME}) - set(NETCDF_DIR $ENV{NETCDF_HOME}) -elseif( DEFINED ENV{NETCDF} ) - set(NETCDF_DIR $ENV{NETCDF}) -elseif(DEFINED ENV{SSEC_NETCDF4_DIR}) - set(NETCDF_DIR $ENV{SSEC_NETCDF4_DIR}) -elseif(DEFINED ENV{SSEC_NETCDF_DIR}) - set(NETCDF_DIR $ENV{SSEC_NETCDF_DIR}) -endif() -if(DEFINED ENV{NETCDF_FORTRAN}) - set(NETCDF_FORTRAN $ENV{NETCDF_FORTRAN}) -elseif(DEFINED ENV{NETCDF_FORTRAN_DIR}) - set(NETCDF_FORTRAN $ENV{NETCDF_FORTRAN_DIR}) -endif() +if(NETCDF) + set(NETCDF_DIR ${NETCDF}) +else(NETCDF) + # This is tricky, WRF users often have "export NETCDF4=1" in their environment (from old days) + if(DEFINED ENV{NETCDF4}) + set(NETCDF_DIR $ENV{NETCDF4}) + elseif(DEFINED ENV{NETCDF_DIR}) + set(NETCDF_DIR $ENV{NETCDF_DIR}) + elseif(DEFINED ENV{NETCDF_HOME}) + set(NETCDF_DIR $ENV{NETCDF_HOME}) + elseif( DEFINED ENV{NETCDF} ) + set(NETCDF_DIR $ENV{NETCDF}) + elseif(DEFINED ENV{SSEC_NETCDF4_DIR}) + set(NETCDF_DIR $ENV{SSEC_NETCDF4_DIR}) + elseif(DEFINED ENV{SSEC_NETCDF_DIR}) + set(NETCDF_DIR $ENV{SSEC_NETCDF_DIR}) + endif() +endif(NETCDF) + +if(NOT NETCDF_FORTRAN) + if(DEFINED ENV{NETCDF_FORTRAN}) + set(NETCDF_FORTRAN $ENV{NETCDF_FORTRAN}) + elseif(DEFINED ENV{NETCDF_FORTRAN_DIR}) + set(NETCDF_FORTRAN $ENV{NETCDF_FORTRAN_DIR}) + endif(DEFINED ENV{NETCDF_FORTRAN}) +endif(NOT NETCDF_FORTRAN) + find_path (NETCDF_INCLUDES netcdf.h HINTS ${NETCDF_DIR}/include $ENV{SSEC_NETCDF_DIR}/include )