This is a project to create a Windows 7 compatible version of the C++ interface to the netCDF 4.1.3 library. The CMake utility will be used to create a platform independent build script that will support both Windows and Unix. If successful, the goal is to turn this back over to Unidata as a possible replacement for their current Autoconf based system. The test platforms will be: * Windows 7, 64-bit, Visual C++ 2010 Express Edition, IDE and NMAKe * Unubtu 10.04 LTS, 32-bit, GNU C++ 4.4.3, make and Eclipse We strongly recommend that inexperienced CMake people use the "cmake-gui" utility to configure the project properly. After using the "configure" option for the first time, netCDF build settings can be modified by changing the variables in this gui. The changed values will remain until the CMake cache is cleared. The Unidata network Common Data Form (netCDF) is an interface for scientific data access and a freely-distributed software library that provides an implementation of the interface. But, the current build does not support Windows because of several factors: 1) No configure script support on windows - the Unix build system uses a configure script to determine details of the build platform and allow the user to specify settings. Windows has no mechanism for this other than statically set properties. A Windows-only config.h file needs to be created for windows using Cygwin, then included with the distribution. Since this contains the version string, it must be updated "by hand" before each release. 2) No m4 on windows - the Unix build uses the macro language m4 to generate some of the C code in the netCDF library (for example, libsrc/putget.c). M4 must be run under Cygwin to generate these files, and then they must be statically added to the windows distribution. Each new version of netCDF these files should be checked for changes. We are restricting new use of m4 for netCDF compiles, but that doesn't help with the existing files. 3) No user options on Windows - since Windows does not support a configure step, all user options must be pre-set in the Visual Studio property lists. As a simplification, many options available to Unix users will be unavailable to builders on Windows, such as --disable-dap, --disable-netcdf-4, and --disable-shared. 4) Large files (> 2 GB) have proved to be a problem area in past Windows builds. 5) Previous Windows ports have not had to deal with the new OPeNDAP client. We believe that an approach based on CMake can address items 1, 2, and 3 very well. Unfortunately for many people, we will not be including the netCDF FORTRAN in out initial effort. For more information about netCDF, see the netCDF Web page at http://www.unidata.ucar.edu/software/netcdf/ For more information about CMake, see the netCDF Web page at http://www.cmake.org/ == TO-DO LIST == * Add rules to support FORTRAN API. * Add rules to support man-page generation. * Add rules to support m4 code generation on Unix platforms. * Test on a broader variety of platforms.