diff --git a/CMakeLists.txt b/CMakeLists.txt
index a8168747c..4f6328f4f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -644,6 +644,11 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4)
SET(HDF5_C_LIBRARY hdf5)
ENDIF()
ENDIF(HDF5_C_LIBRARY AND HDF5_HL_LIBRARY AND HDF5_INCLUDE_DIR)
+
+ # There is a missing case in the above code so default it
+ IF("${HDF5_C_LIBRARY_hdf5}" STREQUAL "" )
+ SET(HDF5_C_LIBRARY_hdf5 "${HDF5_C_LIBRARY}")
+ ENDIF()
###
# The following options are not used in Windows.
diff --git a/cf b/cf
index 57f86d476..78ee0e3f5 100644
--- a/cf
+++ b/cf
@@ -54,7 +54,8 @@ MALLOC_CHECK=""
CPPFLAGS=""
LDFLAGS=""
-CFLAGS="-g -O0 $CFLAGS"
+#CFLAGS="-g -O0 $CFLAGS"
+CFLAGS="-g $CFLAGS"
MAKE=make
IGNORE="test 0 = 1"
diff --git a/cf.cmake b/cf.cmake
index 93838d863..680bd2dbd 100644
--- a/cf.cmake
+++ b/cf.cmake
@@ -2,16 +2,8 @@
NC4=1
DAP=1
-# Is visual studio being used?
-VS=yes
-#CYGWIN=yes
-
-if test "x$VS" = x ; then
-#CC=mpicc
-CC=gcc
-fi
-
-export CC
+#export CC=mpicc
+export CC=gcc
FLAGS="-DCMAKE_PREFIX_PATH=c:/tools/nccmake"
FLAGS="$FLAGS -DCMAKE_INSTALL_PREFIX=d:/ignore"
@@ -29,17 +21,21 @@ FLAGS="$FLAGS -DENABLE_DAP_REMOTE_TESTS=true"
FLAGS="$FLAGS -DENABLE_TESTS=true"
FLAGS="$FLAGS -DENABLE_EXAMPLES=false"
#FLAGS="$FLAGS -DENABLE_HDF4=true"
+FLAGS="$FLAGS -DENABLE_DYNAMIC_LOADING=false"
rm -fr build
mkdir build
cd build
-cmake $FLAGS ..
-# We must use Release config here because Debug will invoke a runtime dialog box.
+NCLIB=`pwd`
+NCLIB="${NCLIB}/build/liblib"
-# If missing, appears to default to Debug
-VSCFG=RelWithDebInfo
-CFG="--config $VSCFG"
-export PATH="/cygdrive/d/git/dap4/build/liblib/${VSCFG}:$PATH"
-cmake --build . ${CFG}
-cmake --build . ${CFG} --target RUN_TESTS
+G="-GUnix Makefiles"
+cmake "${G}" $FLAGS ..
+#cmake "${G}" --build .
+
+#cmake "${G}" --build . --target test
+make all
+export PATH="${NCLIB}:${PATH}"
+make test
+exit
diff --git a/docs/Doxyfile.in b/docs/Doxyfile.in
index e4f0c7fdb..3a0b7628e 100644
--- a/docs/Doxyfile.in
+++ b/docs/Doxyfile.in
@@ -759,6 +759,7 @@ INPUT = \
@abs_top_srcdir@/docs/file_format_specifications.md \
@abs_top_srcdir@/docs/tutorial.dox \
@abs_top_srcdir@/docs/notes.md \
+ @abs_top_srcdir@/docs/esg.md \
@abs_top_srcdir@/docs/all-error-codes.md \
@abs_top_srcdir@/docs/FAQ.md \
@abs_top_srcdir@/docs/known_problems.md \
diff --git a/docs/OPeNDAP.dox b/docs/OPeNDAP.dox
index ebb948577..f4de888a1 100644
--- a/docs/OPeNDAP.dox
+++ b/docs/OPeNDAP.dox
@@ -30,7 +30,6 @@ See the following pages for more information.
- \subpage dap_accessing_data
- netCDF Authorization Support
-- \subpage esg
- \subpage dap_to_netcdf
- \subpage dap2_reserved_keywords
- \subpage var_dim_trans
diff --git a/libdispatch/utf8proc.h b/libdispatch/utf8proc.h
index 0ec143c60..cee988264 100644
--- a/libdispatch/utf8proc.h
+++ b/libdispatch/utf8proc.h
@@ -120,6 +120,7 @@ typedef bool nc_utf8proc_bool;
#endif
#include
+#ifndef UTF8PROC_EXPORTS
#ifdef _WIN32
# ifdef UTF8PROC_EXPORTS
# define UTF8PROC_DLLEXPORT __declspec(dllexport)
@@ -131,6 +132,7 @@ typedef bool nc_utf8proc_bool;
#else
# define UTF8PROC_DLLEXPORT
#endif
+#endif
#ifdef __cplusplus
extern "C" {
diff --git a/ncgen/run_tests.sh b/ncgen/run_tests.sh
index 15543faf4..ed4ba469b 100755
--- a/ncgen/run_tests.sh
+++ b/ncgen/run_tests.sh
@@ -2,9 +2,6 @@
# This shell script runs the ncgen tests.
# $Id: run_tests.sh,v 1.10 2010/04/04 22:06:03 dmh Exp $
-export SETX=1
-set -x
-
if test "x$srcdir" = x ; then srcdir=`pwd`; fi
. ../test_common.sh
diff --git a/test_common.in b/test_common.in
index 90f9bdc04..32cb09452 100644
--- a/test_common.in
+++ b/test_common.in
@@ -16,20 +16,22 @@ TOPBUILDDIR=@TOPBUILDDIR@
# 2. Autoconf with make distcheck: the src and build trees are distinct
# 3. Cmake on a *nix platform using e.g. gcc:
# the src and build trees are distinct.
-# 4. Cmake using Visual Studio (VS) compiler: obviously this implies Windows.
-# This only works if a number of *nix tools are available via Cygwin
-# or MinGW. The src and build trees are distinct.
-#
-# The big difference between #3 and #4 is the handling of executables
-# and the notion of a VS configuration type like Debug or Release.
-# When using VS, executables are placed in a subdirectory of the build
-# directory. That subdirectory is named by the configuration type.
+# 4. Cmake on windows using cygwin or msys.
+# The src and build trees are distinct.
+#
+# For now, an explicit build using the Visual C(++) compiler
+# is not supported. The big issue is the handling of executables
+# and the notion of a VS configuration/build type like Debug or Release.
+# When using VS, executables are placed in a subdirectory of the
+# build directory. That subdirectory is named by the configuration type.
# Thus one finds ncdump.exe in $top_builddir/ncdump/Debug instead of
-# $top_builddir/ncdump.
-#
-# An additional issue is the extension of an executable: .exe vs nothing.
-# This code attempts to figure out which is used.
-
+# $top_builddir/ncdump. An additional issue is the extension of an
+# executable: .exe vs nothing. This code attempts to figure out which is used.
+#
+# For possible future fixes, a placeholder is left in place in the
+# following code named VS. If it were set to the build type, then,
+# in theory, this code would work with Visual C. It is disabled for now.
+#
# The goal, then, of this common code is to set up some useful
#constants for use in test shell scripts.
# 1. srcdir - absolute path to the source dir (e.g. ${top_srcdir}/ncgen)
@@ -47,7 +49,7 @@ TOPBUILDDIR=@TOPBUILDDIR@
# 8. NCGEN - absolute path to ncgen.exe
# 9. NCGEN3 - absolute path to ncgen3.exe
-# Allow global set -x mechanism
+# Allow global set -x mechanism for debugging.
if test "x$SETX" = x1 ; then set -x ; fi
# We assume that TOPSRCDIR and TOPBUILDDIR are defined
@@ -55,6 +57,9 @@ if test "x$SETX" = x1 ; then set -x ; fi
top_srcdir="$TOPSRCDIR"
top_builddir="$TOPBUILDDIR"
+# Currently not used, but left as a Visual Studio placeholder.
+# VS=Debug
+
# srcdir may or may not be defined, but if not, then create it
if test "x$srcdir" = x ; then
# we need to figure out our directory
@@ -67,20 +72,8 @@ fi
# We also assume we are executing in builddir
builddir=`pwd`
-# Test for cmake related items
-if test "x$CMAKE_CONFIG_TYPE" != x -o "x$USECMAKE" != x ; then
- ISCMAKE=1;
-fi
-
-# Compute execdir as well as a suffix to use for accessing
-# executables. Note that the leading '/' is needed to avoid
-# occurrences of ...//... in a path
-#if test "x$CMAKE_CONFIG_TYPE" != x ; then
- # Assume case #4: visual studio
-# VS="/${CMAKE_CONFIG_TYPE}"
-#else
- VS=
-#fi
+# execdir is an alias for builddir except
+# in the currently unsupported case of using Visual Studio
execdir="${builddir}$VS"
# pick off the last component as the relative name of this directory
@@ -94,24 +87,26 @@ cd $builddir; builddir=`pwd` ; cd $WD
cd $top_builddir; top_builddir=`pwd` ; cd $WD
cd $execdir; execdir=`pwd` ; cd $WD
-# If we have cygpath, then try to normalize
-tcc=`uname | cut -d '_' -f 1`
-if test "x$tcc_os" = xCYGWIN ; then
- ISCYGWIN=1
-fi
+# If we have cygpath (which only exists under CYGWIN),
+# then try to normalize selected file paths.
-if test "x$ISCYGWIN" = x1; then
-srcdir=`cygpath -mla $srcdir`
-top_srcdir=`cygpath -mla $top_srcdir`
-builddir=`cygpath -mla $builddir`
-top_builddir=`cygpath -mla $top_builddir`
-execdir=`cygpath -mla $execdir`
-fi
+# So are we operating under CYGWIN? (test using uname)
+tcc=`uname | cut -d '_' -f 1`
+if test "x$tcc_os" = xCYGWIN ; then ISCYGWIN=1; fi
+
+# Normalize selected paths
+#if test "x$ISCYGWIN" = x1; then
+#srcdir=`cygpath -mla $srcdir`
+#top_srcdir=`cygpath -mla $top_srcdir`
+#builddir=`cygpath -mla $builddir`
+#top_builddir=`cygpath -mla $top_builddir`
+#execdir=`cygpath -mla $execdir`
+#fi
# For sun os
export srcdir top_srcdir builddir top_builddir execdir
-# Figure out executable extension
+# Figure out executable extension (probably a better way)
if test -e "${top_builddir}/ncdump${VS}/ncdump.exe" ; then
ext=".exe"
else
@@ -119,32 +114,17 @@ else
fi
# We need to locate certain executables (and other things)
-# Find the relevant directory
+# and capture absolute paths
NCDUMP="${top_builddir}/ncdump${VS}/ncdump${ext}"
NCCOPY="${top_builddir}/ncdump${VS}/nccopy${ext}"
NCGEN="${top_builddir}/ncgen${VS}/ncgen${ext}"
NCGEN3="${top_builddir}/ncgen3${VS}/ncgen3${ext}"
-# Need to put netcdf.dll into the path if using cmake
-if test "x$ISCMAKE" = x1 ; then
- NCLIBDIR="${top_builddir}/liblib${VS}"
- if test "x$ISCYGWIN" = x1; then
- NCLIBDIR=`cygpath -ua $NCLIBDIR`
- fi
- export PATH="${NCLIBDIR}:${PATH}"
-fi
-
-# Temporary hacks (until we have a test_utils directory
+# Temporary hacks (until we have a test_utils directory)
+# to locate certain specific test files
ncgen3c0="${top_srcdir}/ncgen3/c0.cdl"
ncgenc0="${top_srcdir}/ncgen/c0.cdl"
ncgenc04="${top_srcdir}/ncgen/c0_4.cdl"
-# Hack to see is valgrind is available
-# Use subshell to keep quiet
-#(set +x ; if valgrind --version ; then exit 1 ; else exit 0 ; fi) >& /dev/null
-#if test "x$?" = x1 ; then
-#VALGRIND="valgrind --leak-check=full"
-#fi
-
# Make sure we are in builddir (not execdir)
cd $builddir