diff --git a/CMakeLists.txt b/CMakeLists.txt index d0dc010bd1c..11cdcf8a540 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -252,6 +252,11 @@ else() find_package (PnetCDF COMPONENTS C) endif() +# Did we find pnetCDF? If so, set _PNETCDF in config.h. +if (PnetCDF_C_FOUND) + set(_PNETCDF 1) +endif () + #============================================================================== # INCLUDE SOURCE DIRECTORIES #============================================================================== @@ -312,6 +317,11 @@ CHECK_C_SOURCE_COMPILES(" #endif int main() {return 0;}" HAVE_NETCDF_PAR) +# Set this synonym for HAVE_NETCDF_PAR. It is defined in config.h. +if (HAVE_NETCDF_PAR) + set(_NETCDF4 1) +endif () + ### # Check to see if szip write capability is present in netcdf-c. ### diff --git a/cmake_config.h.in b/cmake_config.h.in index b7ed181b372..7561db067df 100644 --- a/cmake_config.h.in +++ b/cmake_config.h.in @@ -30,15 +30,22 @@ #define USE_VARD @USE_VARD@ +/* Does netCDF support netCDF/HDF5 files? */ +#cmakedefine HAVE_NETCDF4 + +/* Does netCDF support parallel I/O for netCDF/HDF5 files? */ +#cmakedefine HAVE_NETCDF_PAR + +/* Does PIO support netCDF/HDF5 files? (Will be same as + * HAVE_NETCDF_PAR). */ +#cmakedefine _NETCDF4 + /* Does netCDF and HDF5 support parallel I/O filters? */ #cmakedefine HAVE_PAR_FILTERS /* Was PIO built with netCDF integration? */ #cmakedefine NETCDF_INTEGRATION -/* Does PIO support netCDF/HDF5 files? */ -#cmakedefine _NETCDF4 - /* Does PIO support using pnetcdf for I/O? */ #cmakedefine _PNETCDF diff --git a/libpio.settings.in b/libpio.settings.in index 7eefe3134fa..4e88e6a01d0 100644 --- a/libpio.settings.in +++ b/libpio.settings.in @@ -32,4 +32,6 @@ Parallel Filters: @HAS_PAR_FILTERS@ NetCDF/HDF5 Support: @HAS_NETCDF4@ NetCDF/HDF5 Par I/O: @HAS_NETCDF4_PAR@ NetCDF Integration: @HAS_NETCDF_INTEGRATION@ +PIO Logging: @HAS_LOGGING@ +MPIEXEC: @WITH_MPIEXEC@ diff --git a/src/clib/CMakeLists.txt b/src/clib/CMakeLists.txt index 8d37fc812f3..30d25ac0471 100644 --- a/src/clib/CMakeLists.txt +++ b/src/clib/CMakeLists.txt @@ -94,32 +94,19 @@ endif () if (NetCDF_C_FOUND) target_include_directories (pioc PUBLIC ${NetCDF_C_INCLUDE_DIRS}) - target_compile_definitions (pioc - PUBLIC _NETCDF) target_link_libraries (pioc PUBLIC ${NetCDF_C_LIBRARIES}) - if (${NetCDF_C_HAS_PARALLEL}) - target_compile_definitions (pioc - PUBLIC _NETCDF4) - endif () if (${NetCDF_C_LOGGING_ENABLED}) - target_compile_definitions (pioc - PUBLIC NETCDF_C_LOGGING_ENABLED) # netcdf.h needs this to be defined to use netCDF logging. target_compile_definitions (pioc PUBLIC LOGGING) endif() -else () - target_compile_definitions (pioc - PUBLIC _NONETCDF) endif () #===== PnetCDF-C ===== if (PnetCDF_C_FOUND) target_include_directories (pioc PUBLIC ${PnetCDF_C_INCLUDE_DIRS}) - target_compile_definitions (pioc - PUBLIC _PNETCDF) target_link_libraries (pioc PUBLIC ${PnetCDF_C_LIBRARIES}) @@ -131,9 +118,6 @@ if (PnetCDF_C_FOUND) PUBLIC USE_PNETCDF_VARN PUBLIC USE_PNETCDF_VARN_ON_READ) endif() -else () - target_compile_definitions (pioc - PUBLIC _NOPNETCDF) endif () #===== Add EXTRAs ===== diff --git a/src/clib/pio_meta.h.in b/src/clib/pio_meta.h.in index 8cbe2019fd7..a735a890026 100644 --- a/src/clib/pio_meta.h.in +++ b/src/clib/pio_meta.h.in @@ -29,5 +29,6 @@ #define PIO_HAS_NETCDF4 @PIO_HAS_NETCDF4@ /*!< NetCDF-4 supported. */ #define PIO_HAS_NETCDF4_PAR @PIO_HAS_NETCDF4_PAR@ /*!< NetCDF-4 parallel I/O supported. */ #define PIO_HAS_NETCDF_INTEGRATION @PIO_HAS_NETCDF_INTEGRATION@ /*!< NetCDF integration supported. */ +#define PIO_HAS_LOGGING @PIO_HAS_LOGGING@ /*!< PIO logging turned on. */ #endif diff --git a/src/clib/pioc_support.c b/src/clib/pioc_support.c index 6e1849075b8..8a681136d86 100644 --- a/src/clib/pioc_support.c +++ b/src/clib/pioc_support.c @@ -164,14 +164,6 @@ PIOc_set_log_level(int level) /* Set the log level. */ pio_log_level = level; -#if NETCDF_C_LOGGING_ENABLED - int ret; - - /* If netcdf logging is available turn it on starting at level = 4. */ - if (level > NC_LEVEL_DIFF) - if ((ret = nc_set_log_level(level - NC_LEVEL_DIFF))) - return pio_err(NULL, NULL, ret, __FILE__, __LINE__); -#endif /* NETCDF_C_LOGGING_ENABLED */ #endif /* PIO_ENABLE_LOGGING */ return PIO_NOERR; diff --git a/src/flib/CMakeLists.txt b/src/flib/CMakeLists.txt index 8ee65c77ad6..506981ddc98 100644 --- a/src/flib/CMakeLists.txt +++ b/src/flib/CMakeLists.txt @@ -216,25 +216,14 @@ endif () if (NetCDF_Fortran_FOUND) target_include_directories (piof PUBLIC ${NetCDF_Fortran_INCLUDE_DIRS}) - target_compile_definitions (piof - PUBLIC _NETCDF) target_link_libraries (piof PUBLIC ${NetCDF_Fortran_LIBRARIES}) - if (EXISTS ${NetCDF_Fortran_INCLUDE_DIR}/netcdf_par.h) - target_compile_definitions (piof - PUBLIC _NETCDF4) - endif () -else () - target_compile_definitions (piof - PUBLIC _NONETCDF) endif () #===== PnetCDF ===== if (PnetCDF_Fortran_FOUND) target_include_directories (piof PUBLIC ${PnetCDF_Fortran_INCLUDE_DIRS}) - target_compile_definitions (piof - PUBLIC _PNETCDF) target_link_libraries (piof PUBLIC ${PnetCDF_Fortran_LIBRARIES}) @@ -246,9 +235,6 @@ if (PnetCDF_Fortran_FOUND) PUBLIC USE_PNETCDF_VARN PUBLIC USE_PNETCDF_VARN_ON_READ) endif() -else () - target_compile_definitions (piof - PUBLIC _NOPNETCDF) endif () #===== Add EXTRAs =====