mirror of
https://github.com/Unidata/netcdf-c.git
synced 2025-01-24 16:04:40 +08:00
Merge pull request #2678 from DennisHeimbigner/xgetopt.dmh
"Simplify" XGetopt usage
This commit is contained in:
commit
a42a218d5b
@ -1249,18 +1249,6 @@ IF(MSVC)
|
||||
OPTION(ENABLE_XGETOPT "Enable bundled XGetOpt instead of external getopt()." ON)
|
||||
IF(ENABLE_XGETOPT)
|
||||
SET(USE_X_GETOPT ON CACHE BOOL "")
|
||||
# Copy XGetopt.c to everywhere it is needed. Avoids
|
||||
# inconsistent code
|
||||
FILE(COPY ${netCDF_SOURCE_DIR}/libsrc/XGetopt.c
|
||||
DESTINATION ${netCDF_BINARY_DIR}/ncgen3/)
|
||||
FILE(COPY ${netCDF_SOURCE_DIR}/libsrc/XGetopt.c
|
||||
DESTINATION ${netCDF_BINARY_DIR}/ncgen/)
|
||||
FILE(COPY ${netCDF_SOURCE_DIR}/libsrc/XGetopt.c
|
||||
DESTINATION ${netCDF_BINARY_DIR}/ncdump/)
|
||||
FILE(COPY ${netCDF_SOURCE_DIR}/libsrc/XGetopt.c
|
||||
DESTINATION ${netCDF_BINARY_DIR}/nczarr_test/)
|
||||
FILE(COPY ${netCDF_SOURCE_DIR}/libsrc/XGetopt.c
|
||||
DESTINATION ${netCDF_BINARY_DIR}/ncdap_test/)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
|
@ -56,7 +56,7 @@ if REGEDIT
|
||||
libdispatch_la_SOURCES += dreg.c
|
||||
endif
|
||||
|
||||
EXTRA_DIST=CMakeLists.txt ncsettings.hdr utf8proc_data.c
|
||||
EXTRA_DIST = CMakeLists.txt ncsettings.hdr utf8proc_data.c XGetopt.c
|
||||
|
||||
# Build ncsettings.c as follows:
|
||||
# 1. copy ncsettings.hdr to ncsettings.c
|
||||
|
@ -45,7 +45,7 @@ noinst_LTLIBRARIES = libnetcdf3.la
|
||||
# with m4), but they are included in the distribution so that the user
|
||||
# does not have to have m4.
|
||||
MAINTAINERCLEANFILES = $(man_MANS) attr.c ncx.c putget.c
|
||||
EXTRA_DIST = attr.m4 ncx.m4 putget.m4 $(man_MANS) CMakeLists.txt XGetopt.c
|
||||
EXTRA_DIST = attr.m4 ncx.m4 putget.m4 $(man_MANS) CMakeLists.txt
|
||||
|
||||
# This tells make how to turn .m4 files into .c files.
|
||||
.m4.c:
|
||||
|
@ -11,25 +11,19 @@
|
||||
|
||||
SET(RCMERGE OFF)
|
||||
|
||||
SET(ncdump_FILES ncdump.c vardata.c dumplib.c indent.c nctime0.c utils.c nciter.c)
|
||||
SET(nccopy_FILES nccopy.c nciter.c chunkspec.c utils.c dimmap.c list.c)
|
||||
SET(ocprint_FILES ocprint.c)
|
||||
SET(ncvalidator_FILES ncvalidator.c)
|
||||
SET(printfqn_FILES printfqn.c)
|
||||
SET(ncpathcvt_FILES ncpathcvt.c)
|
||||
SET(ncfilteravail_FILES ncfilteravail.c)
|
||||
SET(nchdf5version_FILES nchdf5version.c)
|
||||
|
||||
IF(USE_X_GETOPT)
|
||||
SET(ncdump_FILES ${ncdump_FILES} XGetopt.c)
|
||||
SET(nccopy_FILES ${nccopy_FILES} XGetopt.c)
|
||||
SET(ocprint_FILES ${ocprint_FILES} XGetopt.c)
|
||||
SET(ncvalidator_FILES ${ncvalidator_FILES} XGetopt.c)
|
||||
SET(printfqn_FILES ${printfqn_FILES} XGetopt.c)
|
||||
SET(ncpathcvt_FILES ${ncpathcvt_FILES} XGetopt.c)
|
||||
SET(ncfilteravail_FILES ${ncfilteravail_FILES} XGetopt.c)
|
||||
ENDIF(USE_X_GETOPT)
|
||||
SET(XGETOPTSRC "${CMAKE_CURRENT_SOURCE_DIR}/../libdispatch/XGetopt.c")
|
||||
ENDIF()
|
||||
|
||||
SET(ncdump_FILES ncdump.c vardata.c dumplib.c indent.c nctime0.c utils.c nciter.c ${XGETOPTSRC})
|
||||
SET(nccopy_FILES nccopy.c nciter.c chunkspec.c utils.c dimmap.c list.c ${XGETOPTSRC})
|
||||
SET(ocprint_FILES ocprint.c ${XGETOPTSRC})
|
||||
SET(ncvalidator_FILES ncvalidator.c ${XGETOPTSRC})
|
||||
SET(printfqn_FILES printfqn.c ${XGETOPTSRC})
|
||||
SET(ncpathcvt_FILES ncpathcvt.c ${XGETOPTSRC})
|
||||
SET(ncfilteravail_FILES ncfilteravail.c ${XGETOPTSRC})
|
||||
SET(nchdf5version_FILES nchdf5version.c)
|
||||
|
||||
ADD_EXECUTABLE(ncdump ${ncdump_FILES})
|
||||
ADD_EXECUTABLE(nccopy ${nccopy_FILES})
|
||||
ADD_EXECUTABLE(ncvalidator ${ncvalidator_FILES})
|
||||
@ -181,21 +175,21 @@ endif()
|
||||
build_bin_test_no_prefix(tst_h_rdc0)
|
||||
build_bin_test_no_prefix(tst_unicode)
|
||||
build_bin_test_no_prefix(tst_vlen_data)
|
||||
add_bin_test_no_prefix(tst_create_files)
|
||||
add_bin_test_no_prefix(tst_opaque_data)
|
||||
add_bin_test_no_prefix(tst_string_data)
|
||||
add_bin_test_no_prefix(tst_comp2)
|
||||
add_bin_test_no_prefix(tst_nans)
|
||||
add_bin_test_no_prefix(tst_h_scalar)
|
||||
add_bin_test_no_prefix(tst_compress)
|
||||
add_bin_test_no_prefix(tst_chunking)
|
||||
add_bin_test_no_prefix(tst_group_data)
|
||||
add_bin_test_no_prefix(tst_enum_data)
|
||||
add_bin_test_no_prefix(tst_enum_undef)
|
||||
add_bin_test_no_prefix(tst_comp)
|
||||
build_bin_test_no_prefix(tst_create_files)
|
||||
build_bin_test_no_prefix(tst_opaque_data)
|
||||
build_bin_test_no_prefix(tst_string_data)
|
||||
build_bin_test_no_prefix(tst_comp2)
|
||||
build_bin_test_no_prefix(tst_nans)
|
||||
build_bin_test_no_prefix(tst_h_scalar)
|
||||
build_bin_test_no_prefix(tst_compress)
|
||||
build_bin_test_no_prefix(tst_chunking)
|
||||
build_bin_test_no_prefix(tst_group_data)
|
||||
build_bin_test_no_prefix(tst_enum_data)
|
||||
build_bin_test_no_prefix(tst_enum_undef)
|
||||
build_bin_test_no_prefix(tst_comp)
|
||||
# Add this test by hand, as it is also called from a script.
|
||||
# Editing the script would break autotools compatibility.
|
||||
add_bin_test_no_prefix(tst_special_atts)
|
||||
build_bin_test_no_prefix(tst_special_atts)
|
||||
ENDIF(USE_HDF5)
|
||||
|
||||
# Base tests
|
||||
|
@ -9,6 +9,10 @@ IF(BUILD_SHARED_LIBS AND WIN32)
|
||||
remove_definitions(-DDLL_NETCDF)
|
||||
ENDIF()
|
||||
|
||||
IF(USE_X_GETOPT)
|
||||
SET(XGETOPTSRC "${CMAKE_CURRENT_SOURCE_DIR}/../libdispatch/XGetopt.c")
|
||||
ENDIF()
|
||||
|
||||
SET(ncgen_FILES bindata.c bytebuffer.c cdata.c cvt.c data.c
|
||||
debug.c dump.c escapes.c f77data.c genbin.c
|
||||
genc.c genchar.c generate.c generr.c genf77.c
|
||||
@ -16,15 +20,11 @@ genj.c genlib.c getfill.c jdata.c list.c
|
||||
main.c ncgeny.c semantics.c
|
||||
util.c bytebuffer.h data.h debug.h dump.h
|
||||
generate.h generr.h genlib.h includes.h list.h
|
||||
ncgen.h ncgeny.h util.h)
|
||||
ncgen.h ncgeny.h util.h ${XGETOPTSRC})
|
||||
|
||||
# Obsolete
|
||||
SET(OBSOLETE odom.c odom.h jdatastd.c jdatajni.c genjni.c cdfdata.c cmldata.c)
|
||||
|
||||
IF(USE_X_GETOPT)
|
||||
SET(ncgen_FILES ${ncgen_FILES} XGetopt.c)
|
||||
ENDIF()
|
||||
|
||||
# don't add the automatically determined parts of the RPATH
|
||||
# which point to directories outside the build tree to the install RPATH
|
||||
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
|
||||
|
@ -3,13 +3,14 @@
|
||||
# 2015, 2016, 2017, 2018
|
||||
# University Corporation for Atmospheric Research/Unidata.
|
||||
|
||||
# See netcdf-c/COPYRIGHT file for more info.
|
||||
SET(ncgen3_FILES main.c load.c escapes.c getfill.c init.c genlib.c ncgeny.c)
|
||||
|
||||
IF(USE_X_GETOPT)
|
||||
SET(ncgen3_FILES ${ncgen3_FILES} XGetopt.c)
|
||||
SET(XGETOPTSRC "${CMAKE_CURRENT_SOURCE_DIR}/../libdispatch/XGetopt.c")
|
||||
ENDIF()
|
||||
|
||||
# See netcdf-c/COPYRIGHT file for more info.
|
||||
SET(ncgen3_FILES main.c load.c escapes.c getfill.c init.c genlib.c ncgeny.c ${XGETOPTSRC})
|
||||
|
||||
FILE(GLOB COPY_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.nc ${CMAKE_CURRENT_SOURCE_DIR}/*.sh ${CMAKE_CURRENT_SOURCE_DIR}/*.cdl)
|
||||
FILE(COPY ${COPY_FILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/ FILE_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE)
|
||||
|
||||
|
@ -40,17 +40,15 @@ ${CMAKE_CURRENT_SOURCE_DIR}/ref*.zmap)
|
||||
|
||||
FILE(COPY ${COPY_FILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/ FILE_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE)
|
||||
|
||||
IF(USE_X_GETOPT)
|
||||
SET(XGETOPTSRC "${CMAKE_CURRENT_SOURCE_DIR}/../libdispatch/XGetopt.c")
|
||||
ENDIF()
|
||||
|
||||
IF(ENABLE_TESTS)
|
||||
|
||||
SET(COMMONSRC ut_util.c ut_test.c)
|
||||
IF(USE_X_GETOPT)
|
||||
SET(COMMONSRC ${COMMONSRC} XGetopt.c)
|
||||
ENDIF()
|
||||
SET(COMMONSRC ut_util.c ut_test.c ${XGETOPTSRC})
|
||||
|
||||
SET(TSTCOMMONSRC tst_utils.c)
|
||||
IF(USE_X_GETOPT)
|
||||
SET(TSTCOMMONSRC ${TSTCOMMONSRC} XGetopt.c)
|
||||
ENDIF()
|
||||
SET(TSTCOMMONSRC tst_utils.c ${XGETOPTSRC})
|
||||
|
||||
# Base tests
|
||||
# The tests are set up as a combination of shell scripts and executables that
|
||||
@ -91,9 +89,7 @@ IF(ENABLE_TESTS)
|
||||
endif()
|
||||
|
||||
SET(ncdumpchunks_SOURCE ncdumpchunks.c)
|
||||
IF(USE_X_GETOPT)
|
||||
SET(ncdumpchunks_SOURCE ${ncdumpchunks_SOURCE} XGetopt.c)
|
||||
ENDIF()
|
||||
SET(ncdumpchunks_SOURCE ${ncdumpchunks_SOURCE} ${XGETOPTSRC})
|
||||
BUILD_BIN_TEST(ncdumpchunks ${ncdumpchunks_SOURCE})
|
||||
TARGET_INCLUDE_DIRECTORIES(ncdumpchunks PUBLIC ../libnczarr)
|
||||
|
||||
|
@ -15,6 +15,10 @@
|
||||
|
||||
SET(UNIT_TESTS test_ncuri)
|
||||
|
||||
IF(USE_X_GETOPT)
|
||||
SET(XGETOPTSRC "${CMAKE_CURRENT_SOURCE_DIR}/../libdispatch/XGetopt.c")
|
||||
ENDIF()
|
||||
|
||||
IF(NOT MSVC)
|
||||
IF(ENABLE_NETCDF_4)
|
||||
SET(UNIT_TESTS ${UNIT_TESTS} tst_nclist tst_nc4internal)
|
||||
|
Loading…
Reference in New Issue
Block a user