Renamed a file. Work prorgresses on integrating cmake support.

This commit is contained in:
Ward Fisher 2015-04-13 08:43:53 -06:00
parent 82e280a81c
commit 6ff2779b5f
4 changed files with 123 additions and 39 deletions

View File

@ -106,6 +106,39 @@ SET(EXTRA_DEPS "")
# End Project Properties
################################
################################
# Utility Macros
################################
# A function used to create autotools-style 'yes/no' definitions.
# If a variable is set, it 'yes' is returned. Otherwise, 'no' is
# returned.
#
# Also creates a version of the ret_val prepended with 'NC',
# when feature is true, which is used to generate netcdf_meta.h.
FUNCTION(is_disabled feature ret_val)
IF(${feature})
SET(${ret_val} "no" PARENT_SCOPE)
ELSE()
SET(${ret_val} "yes" PARENT_SCOPE)
SET("NC_${ret_val}" 1 PARENT_SCOPE)
ENDIF(${feature})
ENDFUNCTION()
FUNCTION(is_enabled feature ret_val)
IF(${feature})
SET(${ret_val} "yes" PARENT_SCOPE)
SET("NC_${ret_val}" 1 PARENT_SCOPE)
ELSE()
SET(${ret_val} "no" PARENT_SCOPE)
SET("NC_${ret_val}" 0 PARENT_SCOPE)
ENDIF(${feature})
ENDFUNCTION()
################################
# End Utility Macros
################################
################################
# Set CTest Properties
################################
@ -202,7 +235,58 @@ ENDIF()
# End User Options
################################
################################
# Configure, print libnetcdf-cxx.settings
# file.
################################
# Set variables to mirror those used by autoconf.
# This way we don't need to maintain two separate template
# files.
SET(host_cpu "${cpu}")
SET(host_vendor "${osname}")
SET(host_os "${osrel}")
SET(abs_top_builddir "${CMAKE_BINARY_DIR}")
SET(CC_VERSION "${CMAKE_C_COMPILER}")
SET(CXX_VERSION "${CMAKE_CPP_COMPILER}")
# Build *FLAGS for libnetcdf.settings.
SET(CFLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}}")
SET(CPPFLAGS "${CMAKE_CPP_FLAGS} ${CMAKE_CPP_FLAGS_${CMAKE_BUILD_TYPE}}")
SET(LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_${CMAKE_BUILD_TYPE}}")
is_disabled(BUILD_SHARED_LIBS enable_static)
is_enabled(BUILD_SHARED_LIBS enable_shared)
# Remove libnetcdf from NC_LIBS.
STRING(REPLACE "-lnetcdf " "" TMP_NCXX_LIBS "${NCXX_LIBS}")
SET(LIBS "${TMP_NCXX_LIBS}")
CONFIGURE_FILE(
"${CMAKE_CURRENT_SOURCE_DIR}/libnetcdf-cxx.settings.in"
"${CMAKE_CURRENT_BINARY_DIR}/libnetcdf-cxx.settings"
@ONLY)
# Read in settings file, print out.
# Avoid using system-specific calls so that this
# might also work on Windows.
FILE(READ "${CMAKE_CURRENT_BINARY_DIR}/libnetcdf-cxx.settings"
LIBNETCDFCXX_SETTINGS)
MESSAGE(${LIBNETCDFCXX_SETTINGS})
# Install libnetcdf-cxx.settings file into same location
# as the libraries.
INSTALL(FILES "${NCXX_BINARY_DIR}/libnetcdf-cxx.settings"
DESTINATION "${CMAKE_INSTALL_LIBDIR}"
COMPONENT libraries)
#####
# End libnetcdf-cxx.settings section.
#####
#####
# Traverse into subdirectories.
#####
ADD_SUBDIRECTORY(cxx4)
ADD_SUBDIRECTORY(examples)
print_conf_summary()

View File

@ -2,6 +2,6 @@
SET(CXX_HEADERS ncAtt.h ncCheck.h ncDim.h ncException.h ncGroup.h ncOpaqueType.h ncVar.h ncVlenType.h ncCompoundType.h ncEnumType.h ncFile.h ncGroupAtt.h ncType.h ncVarAtt.h ncByte.h ncChar.h ncShort.h ncInt.h ncFloat.h ncDouble.h ncUbyte.h ncUshort.h ncUint.h ncInt64.h ncUint64.h ncString.h)
SET(CXX_SOURCES ncAtt.cpp ncCheck.cpp ncCompoundType.cpp ncDim.ccp ncEnumType.cpp ncException.cpp ncFile.cpp ncGroup.cpp ncGroupAtt.cpp ncOpaqueType.cpp ncType.cpp ncVar.cpp ncVarAtt.cpp ncVlenType.cpp ncByte.cpp ncChar.cpp ncShort.cpp ncInt.cpp ncFloat.cpp ncDouble.cpp ncUbyte.cpp ncUshort.cpp ncUint.cpp ncInt64.cpp ncString.cpp)
SET(CXX_SOURCES ncAtt.cpp ncCheck.cpp ncCompoundType.cpp ncDim.cpp ncEnumType.cpp ncException.cpp ncFile.cpp ncGroup.cpp ncGroupAtt.cpp ncOpaqueType.cpp ncType.cpp ncVar.cpp ncVarAtt.cpp ncVlenType.cpp ncByte.cpp ncChar.cpp ncShort.cpp ncInt.cpp ncFloat.cpp ncDouble.cpp ncUbyte.cpp ncUshort.cpp ncUint.cpp ncInt64.cpp ncString.cpp)
ADD_LIBRARY(ncxx OBJECT ${CXX_HEADERS} ${CXX_SOURCES})

View File

@ -1,36 +0,0 @@
# NetCDF C Configuration Summary
==============================
# General
-------
NetCDF Version: 4.3.3.1
Configured On: Mon Apr 13 01:07:45 MDT 2015
Host System: i686-pc-linux-gnu
Build Directory: /home/vagrant/netcdf-c
Install Prefix: /home/vagrant/local-nc
# Compiling Options
-----------------
C Compiler: /usr/bin/gcc
CFLAGS: -g -O2
CPPFLAGS:
LDFLAGS:
AM_CFLAGS:
AM_CPPFLAGS:
AM_LDFLAGS:
Shared Library: yes
Static Library: yes
Extra libraries: -lhdf5_hl -lhdf5 -ldl -lm -lz -lcurl
# Features
--------
NetCDF-2 API: yes
NetCDF-4 API: yes
HDF4 Support: no
HDF5 Support: yes
PNetCDF Support: no
Parallel Support: no
DAP Support: yes
Diskless Support: yes
MMap Support: no
JNA Support: no

36
libnetcdf-cxx.settings.in Normal file
View File

@ -0,0 +1,36 @@
# NetCDF C Configuration Summary
==============================
# General
-------
NetCDF Version: @PACKAGE_VERSION@
Configured On: @CONFIG_DATE@
Host System: @host_cpu@-@host_vendor@-@host_os@
Build Directory: @abs_top_builddir@
Install Prefix: @prefix@
# Compiling Options
-----------------
C Compiler: @CC_VERSION@
CFLAGS: @CFLAGS@
CPPFLAGS: @CPPFLAGS@
LDFLAGS: @LDFLAGS@
AM_CFLAGS: @AM_CFLAGS@
AM_CPPFLAGS: @AM_CPPFLAGS@
AM_LDFLAGS: @AM_LDFLAGS@
Shared Library: @enable_shared@
Static Library: @enable_static@
Extra libraries: @LIBS@
# Features
--------
NetCDF-2 API: @HAS_NC2@
NetCDF-4 API: @HAS_NC4@
HDF4 Support: @HAS_HDF4@
HDF5 Support: @HAS_HDF5@
PNetCDF Support: @HAS_PNETCDF@
Parallel Support: @HAS_PARALLEL@
DAP Support: @HAS_DAP@
Diskless Support: @HAS_DISKLESS@
MMap Support: @HAS_MMAP@
JNA Support: @HAS_JNA@