diff --git a/CMakeLists.txt b/CMakeLists.txt index 4b4c8cf..dc0c6d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -509,6 +509,26 @@ INSTALL( # End libnetcdf-cxx.settings section. ##### +##### +# Begin ncxx4-config section +##### + +FILE(MAKE_DIRECTORY ${NCXX_BINARY_DIR}/tmp) +CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/ncxx4-config.cmake.in" + "${NCXX_BINARY_DIR}/tmp/ncxx4-config" @ONLY) +FILE(COPY "${NCXX_BINARY_DIR}/tmp/ncxx4-config" + DESTINATION ${NCXX_BINARY_DIR}/ + FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + +INSTALL(PROGRAMS ${NCXX_BINARY_DIR}/ncxx4-config + DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT utilities) + +##### +# End ncxx4-config section +##### + + ##### # Options ##### diff --git a/ncxx4-config.cmake.in b/ncxx4-config.cmake.in new file mode 100644 index 0000000..84a00de --- /dev/null +++ b/ncxx4-config.cmake.in @@ -0,0 +1,159 @@ +#! /bin/sh +# +# This forms the basis for the ncxx4-config utility, which tells you +# various things about the netCDF C++ library installation. + +prefix="@CMAKE_INSTALL_PREFIX@" +exec_prefix="@CMAKE_INSTALL_PREFIX@" +libdir="@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@" +includedir="@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@" + +cc="@CMAKE_C_COMPILER@" +cxx="@CMAKE_CXX_COMPILER@" + +cflags="-I@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@" + +libs="-L@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ @NC_LIBS@" + +has_dap="@USE_DAP@" +if [ -z $has_dap ]; then + has_dap="no" +else +has_dap="yes" +fi + +has_nc2="@BUILD_V2@" +if [ -z $has_nc2 -o "$has_nc2" = "OFF" ]; then + has_nc2="no" +else +has_nc2="yes" +fi + +has_nc4="@USE_NETCDF4@" +if [ -z $has_nc4 ]; then + has_nc4="no" +else +has_nc4="yes" +fi + +version="@PACKAGE@ @VERSION@" + +usage() +{ + cat < $cc" + echo " --cflags -> $cflags" + echo " --libs -> $libs" + echo + echo " --cxx -> $cxx" + echo + echo " --has-dap -> $has_dap" + echo " --has-nc2 -> $has_nc2" + echo " --has-nc4 -> $has_nc4" + echo + echo " --prefix -> $prefix" + echo " --includedir-> $includedir" + echo " --version -> $version" + echo +} + +if test $# -eq 0; then + usage 1 +fi + +while test $# -gt 0; do + case "$1" in + # this deals with options in the style + # --option=value and extracts the value part + # [not currently used] + -*=*) value=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) value= ;; + esac + + case "$1" in + + --help) + usage 0 + ;; + + --all) + all + ;; + + --cc) + echo $cc + ;; + + --cxx) + echo $cxx + ;; + + --cflags) + echo $cflags + ;; + + --libs) + echo $libs + ;; + + --has-dap) + echo $has_dap + ;; + + --has-nc2) + echo $has_nc2 + ;; + + --has-nc4) + echo $has_nc4 + ;; + + --prefix) + echo "${prefix}" + ;; + + --includedir) + echo "${includedir}" + ;; + + --version) + echo $version + ;; + + *) + echo "unknown option: $1" + usage + exit 1 + ;; + esac + shift +done + +exit 0