mirror of
https://github.com/Unidata/netcdf-c.git
synced 2024-12-09 08:11:38 +08:00
b02703aa24
After a long discussion, I implemented the rules at the end of that issue. They are documented in nccopy.1. Additionally, I added a new, per-variable, -c flag that allows for the direct setting of the chunking parameters for a variable. The form is -c var:c1,c2,...ck where var is the name of the variable (possibly a fully qualified name) and the ci are the chunksizes for that variable. It must be the case that the rank of the variable is k. If the new form is used as well as the old form, then the new form overrides the old form for the specified variable. Note that multiple occurrences of the new form -c flag may be specified. Misc. Other fixes 1. Added -M <size> option to nccopy to specify the minimum allowable chunksize. 2. Removed the unused variables from bigmeta.c (Issue https://github.com/Unidata/netcdf-c/issues/1079) 3. Fixed failure of nc_test4/tst_filter.sh by using the new -M flag (#1) to allow filter test on a small chunk size.
101 lines
1.9 KiB
CMake
101 lines
1.9 KiB
CMake
# Visual Studio
|
|
|
|
# Is netcdf-4 and/or DAP enabled?
|
|
NC4=1
|
|
DAP=1
|
|
#CDF5=1
|
|
#HDF4=1
|
|
|
|
for arg in "$@" ; do
|
|
case "$arg" in
|
|
vs|VS) VS=1 ;;
|
|
linux|nix|l|x) unset VS ;;
|
|
nobuild|nb) NOBUILD=1 ;;
|
|
*) echo "Must specify env: vs|linux"; exit 1; ;;
|
|
esac
|
|
done
|
|
|
|
if test "x$VS" = x1 ; then
|
|
if test "x$2" = xsetup ; then
|
|
VSSETUP=1
|
|
else
|
|
unset VSSETUP
|
|
fi
|
|
fi
|
|
|
|
#TESTSERVERS="localhost:8080,149.165.169.123:8080"
|
|
|
|
#export NCPATHDEBUG=1
|
|
|
|
if test "x$VSSETUP" = x1 ; then
|
|
CFG="Debug"
|
|
else
|
|
CFG="Release"
|
|
fi
|
|
|
|
if test "x$VS" != x -a "x$INSTALL" != x ; then
|
|
FLAGS="-DCMAKE_PREFIX_PATH=c:/tools/nccmake"
|
|
fi
|
|
FLAGS="$FLAGS -DCMAKE_INSTALL_PREFIX=/tmp/netcdf"
|
|
|
|
if test "x$DAP" = x ; then
|
|
FLAGS="$FLAGS -DENABLE_DAP=false"
|
|
fi
|
|
if test "x$NC4" = x ; then
|
|
FLAGS="$FLAGS -DENABLE_NETCDF_4=false"
|
|
fi
|
|
if test "x$CDF5" != x ; then
|
|
FLAGS="$FLAGS -DENABLE_CDF5=true"
|
|
fi
|
|
if test "x$HDF4" != x ; then
|
|
FLAGS="$FLAGS -DENABLE_HDF4=true"
|
|
fi
|
|
|
|
if test "x$TESTSERVERS" != x ; then
|
|
FLAGS="$FLAGS -DREMOTETESTSERVERS=${TESTSERVERS}"
|
|
fi
|
|
|
|
# Enables
|
|
FLAGS="$FLAGS -DENABLE_DAP_REMOTE_TESTS=true"
|
|
FLAGS="$FLAGS -DENABLE_LOGGING=true"
|
|
#FLAGS="$FLAGS -DENABLE_DOXYGEN=true -DENABLE_INTERNAL_DOCS=true"
|
|
#FLAGS="$FLAGS -DENABLE_LARGE_FILE_TESTS=true"
|
|
FLAGS="$FLAGS -DENABLE_FILTER_TESTING=true"
|
|
|
|
# Disables
|
|
FLAGS="$FLAGS -DENABLE_EXAMPLES=false"
|
|
FLAGS="$FLAGS -DENABLE_CONVERSION_WARNINGS=false"
|
|
#FLAGS="$FLAGS -DENABLE_TESTS=false"
|
|
#FLAGS="$FLAGS -DENABLE_DISKLESS=false"
|
|
|
|
rm -fr build
|
|
mkdir build
|
|
cd build
|
|
|
|
NCLIB=`pwd`
|
|
|
|
if test "x$VS" != x ; then
|
|
|
|
# Visual Studio
|
|
CFG="Release"
|
|
NCLIB="${NCLIB}/liblib"
|
|
export PATH="${NCLIB}:${PATH}"
|
|
#G=
|
|
cmake "$G" -DCMAKE_BUILD_TYPE=${CFG} $FLAGS ..
|
|
if test "x$NOBUILD" = x ; then
|
|
cmake --build . --config ${CFG}
|
|
cmake --build . --config ${CFG} --target RUN_TESTS
|
|
fi
|
|
else
|
|
# GCC
|
|
NCLIB="${NCLIB}/build/liblib"
|
|
#G="-GUnix Makefiles"
|
|
#T="--trace-expand"
|
|
cmake "${G}" $FLAGS ..
|
|
if test "x$NOBUILD" == x ; then
|
|
make all
|
|
make test
|
|
fi
|
|
fi
|
|
exit
|