2010-05-27 00:47:12 +08:00
|
|
|
************************************************************************
|
|
|
|
* Build and Install HDF5 C/C++ Library with CMake *
|
|
|
|
************************************************************************
|
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
Table of Contents
|
|
|
|
|
2014-02-01 02:15:02 +08:00
|
|
|
Section I: Quick Step Building HDF5 Libraries with CMake Script Mode
|
|
|
|
Section II: Quick Step Building HDF5 Libraries with CMake Command Mode
|
|
|
|
Section III: Preconditions
|
|
|
|
Section IV: Building HDF5 C/C++ Libraries with CMake
|
|
|
|
Section V: All Options for HDF5 C/C++ Libraries with CMake
|
|
|
|
Section VI: User Defined Options for HDF5 Libraries with CMake
|
|
|
|
Section VII: APPENDIX
|
2013-04-29 22:18:34 +08:00
|
|
|
|
|
|
|
************************************************************************
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
========================================================================
|
2014-02-01 02:15:02 +08:00
|
|
|
I. Quick Step Building HDF5 Libraries with CMake Script Mode
|
|
|
|
========================================================================
|
|
|
|
This short set of instructions is written for users who want to quickly
|
|
|
|
build the HDF5 Library and tools from the HDF5 source code package
|
|
|
|
using the CMake tools. HDF Group recommends using a ctest script to build
|
|
|
|
HDF5.
|
2014-04-29 05:40:17 +08:00
|
|
|
NOTE: The files referenced below are available at the HDF web site:
|
|
|
|
http://www.hdfgroup.org/HDF5/release/cmakebuild.html
|
|
|
|
(See Section VII: APPENDIX for instructions)
|
2014-02-01 02:15:02 +08:00
|
|
|
|
|
|
|
To build HDF5 with the SZIP and ZLIB external libraries you will need to:
|
|
|
|
|
|
|
|
1. Create a directory for your development; myhdfstuff.
|
|
|
|
|
|
|
|
2. Create a directory for the HDF5 source; hdf5-1.8 in myhdfstuff.
|
|
|
|
|
|
|
|
3. Download the SZip.tar.gz and ZLib.tar.gz to your development directory,
|
|
|
|
(See Section VII: APPENDIX for instructions). Both are needed if
|
|
|
|
building with external libraries; do not uncompress them.
|
|
|
|
|
|
|
|
4. Download or create the CTestScript.cmake file in your development
|
2014-04-29 05:40:17 +08:00
|
|
|
directory, (See Section VII.A: APPENDIX for an example).
|
2014-02-01 02:15:02 +08:00
|
|
|
|
|
|
|
5. Download or create a platform configuration file in your development
|
2014-04-29 05:40:17 +08:00
|
|
|
directory, (See Section VII.B: APPENDIX for an example).
|
2014-02-01 02:15:02 +08:00
|
|
|
This file calls CTestScript.cmake; the platform configuration file can
|
|
|
|
be modified. CTestScript.cmake file should not be modified.
|
|
|
|
|
|
|
|
6. From your development directory execute the CTest Script with the
|
|
|
|
following options:
|
|
|
|
|
|
|
|
ctest -S <configuration file>,<hdf5src> -C RelWithDebInfo -VV -O hdf5.log
|
|
|
|
|
2014-04-29 05:40:17 +08:00
|
|
|
7. This will configure, build, test and create an install package in the
|
|
|
|
myhdfstuff/hdf5-1.8/build folder.
|
|
|
|
On windows, execute:
|
|
|
|
HDF5-1.8.13-win32.exe
|
|
|
|
On Linux, change to the install destination and execute:
|
|
|
|
<path-to>/myhdfstuff/hdf5-1.8/build/HDF5-1.8.13-Linux.sh
|
|
|
|
|
2014-02-01 02:15:02 +08:00
|
|
|
Where:
|
|
|
|
"configuration file" is the platform configuration file from step6;
|
|
|
|
HDF518WindowsRWDICMake.cmake, HDF518LinuxRWDICMake.cmake, or
|
|
|
|
HDF518MacRWDICMake.cmake can be downloaded from the HDF Group website.
|
|
|
|
"hdf5src" is the uncompressed HDF5 source code directory. No path
|
|
|
|
should be specified.
|
|
|
|
|
|
|
|
The -S option uses the script version of ctest.
|
|
|
|
|
|
|
|
The value for the -C option (as shown above, "-C RelWithDebInfo") must
|
|
|
|
match the setting for CTEST_BUILD_CONFIGURATION in the platform
|
|
|
|
configuration file.
|
|
|
|
|
|
|
|
The -VV option is for verbose; Use -V for less verbose.
|
|
|
|
|
|
|
|
The "-O hdf5.log" option saves the output to a log file hdf5.log.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
========================================================================
|
|
|
|
II. Quick Step Building HDF5 Libraries with CMake
|
2013-04-29 22:18:34 +08:00
|
|
|
========================================================================
|
|
|
|
Notes: This short set of instructions is written for users who want to
|
|
|
|
quickly build the HDF5 Library and tools from the HDF5 source code
|
2014-02-01 02:15:02 +08:00
|
|
|
package using the CMake command line tools.
|
2010-05-27 00:47:12 +08:00
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
A. Windows Quick Step Building HDF5 Libraries with CMake Using VS2010
|
|
|
|
|
|
|
|
Go through these steps:
|
|
|
|
|
|
|
|
1. Locate the source files in:
|
|
|
|
c:\MyHDFstuff\hdf5
|
|
|
|
|
|
|
|
2. Create a build folder at:
|
|
|
|
c:\MyHDFstuff\hdf5\build
|
|
|
|
|
|
|
|
3. Open a command prompt at:
|
|
|
|
c:\MyHDFstuff\hdf5\build
|
|
|
|
|
|
|
|
4. Configure the C library, tools and tests with this command:
|
2014-04-10 02:56:19 +08:00
|
|
|
cmake -G "Visual Studio 11" -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_TESTING:BOOL=ON -DHDF5_BUILD_TOOLS:BOOL=ON ..
|
2014-03-18 06:12:46 +08:00
|
|
|
The two dots on the end of the command is the location of the source.
|
|
|
|
The CMAKE_BUILD_TYPE must match the configuration type.
|
2013-04-29 22:18:34 +08:00
|
|
|
|
2014-01-25 04:06:35 +08:00
|
|
|
5. Build the C library, tools and tests with this command:
|
2013-04-29 22:18:34 +08:00
|
|
|
cmake --build . --config Release
|
|
|
|
|
2014-01-25 04:06:35 +08:00
|
|
|
6. Test the C library and tools with this command:
|
2013-04-29 22:18:34 +08:00
|
|
|
ctest . -C Release
|
|
|
|
|
2014-01-25 04:06:35 +08:00
|
|
|
7. Create an install image with this command:
|
2013-04-29 22:18:34 +08:00
|
|
|
cpack -C Release CPackConfig.cmake
|
|
|
|
|
2014-01-25 04:06:35 +08:00
|
|
|
8. Install with this command:
|
2014-04-10 02:56:19 +08:00
|
|
|
HDF5-1.8.13-win32.exe
|
2013-04-29 22:18:34 +08:00
|
|
|
|
|
|
|
B. Linux Quick Step Building HDF5 Libraries with CMake Using GCC
|
|
|
|
|
|
|
|
Go through these steps:
|
2010-05-27 00:47:12 +08:00
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
1. Locate the source files in:
|
2014-02-01 02:15:02 +08:00
|
|
|
~/MyHDFstuff/hdf5
|
2013-04-29 22:18:34 +08:00
|
|
|
|
|
|
|
2. Create a build folder at:
|
2014-02-01 02:15:02 +08:00
|
|
|
~/MyHDFstuff/hdf5/build
|
2013-04-29 22:18:34 +08:00
|
|
|
|
|
|
|
3. Open a command prompt at:
|
2014-02-01 02:15:02 +08:00
|
|
|
~/MyHDFstuff/hdf5/build
|
2013-04-29 22:18:34 +08:00
|
|
|
|
|
|
|
4. Configure the C library, tools and tests with this command:
|
2014-03-18 06:12:46 +08:00
|
|
|
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_TESTING:BOOL=ON -DHDF5_BUILD_TOOLS:BOOL=ON ..
|
2014-02-01 02:15:02 +08:00
|
|
|
The two dots on the end of the command is the location of the source.
|
2014-03-18 06:12:46 +08:00
|
|
|
The CMAKE_BUILD_TYPE must match the configuration type.
|
2013-04-29 22:18:34 +08:00
|
|
|
|
2014-01-25 04:06:35 +08:00
|
|
|
5. Build the C library, tools and tests with this command:
|
2013-04-29 22:18:34 +08:00
|
|
|
cmake --build . --config Release
|
|
|
|
|
2014-01-25 04:06:35 +08:00
|
|
|
6. Test the C library and tools with this command:
|
2013-04-29 22:18:34 +08:00
|
|
|
ctest . -C Release
|
|
|
|
|
2014-01-25 04:06:35 +08:00
|
|
|
7. Create an install image with this command:
|
2013-04-29 22:18:34 +08:00
|
|
|
cpack -C Release CPackConfig.cmake
|
|
|
|
|
2014-01-25 04:06:35 +08:00
|
|
|
8. Install with this command:
|
2014-04-10 02:56:19 +08:00
|
|
|
HDF5-1.8.13-Linux.sh
|
2013-04-29 22:18:34 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
========================================================================
|
2014-02-01 02:15:02 +08:00
|
|
|
III. Preconditions
|
2010-05-27 00:47:12 +08:00
|
|
|
========================================================================
|
|
|
|
|
|
|
|
1. We suggest you obtain the latest CMake for windows from the Kitware
|
2014-03-18 06:12:46 +08:00
|
|
|
web site. The HDF5 1.8.x product requires a minimum CMake version 2.8.12.
|
2010-05-27 00:47:12 +08:00
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
2. If you plan to use Zlib or Szip:
|
2014-02-01 02:15:02 +08:00
|
|
|
A. Download the binary packages and install them in a central location.
|
2013-04-29 22:18:34 +08:00
|
|
|
For example on Windows, create a folder extlibs and install the
|
2014-04-29 05:40:17 +08:00
|
|
|
packages there. Add the following CMake options:
|
|
|
|
-DZLIB_LIBRARY:FILEPATH=some_location/lib/zlib.lib
|
|
|
|
-DZLIB_INCLUDE_DIR:PATH=some_location/include
|
|
|
|
-DSZIP_LIBRARY:FILEPATH=some_location/lib/szlib.lib
|
|
|
|
-DSZIP_INCLUDE_DIR:PATH=some_location/include
|
|
|
|
where "some_location" is the full path to the extlibs folder.
|
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
B. Use source packages from an SVN server by adding the following CMake
|
2011-01-26 04:40:41 +08:00
|
|
|
options:
|
|
|
|
HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="SVN"
|
|
|
|
ZLIB_SVN_URL:STRING="http://some_location/zlib/trunk"
|
|
|
|
SZIP_SVN_URL:STRING="http://some_location/szip/trunk"
|
2014-03-18 06:12:46 +08:00
|
|
|
where "some_location" is the URL to the SVN repository. Also set
|
|
|
|
CMAKE_BUILD_TYPE to the configuration type.
|
2014-04-29 05:40:17 +08:00
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
C. Use source packages from a compressed file by adding the following
|
|
|
|
CMake options:
|
2011-01-26 04:40:41 +08:00
|
|
|
HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="TGZ"
|
2011-01-26 05:17:54 +08:00
|
|
|
ZLIB_TGZ_NAME:STRING="zlib_src.ext"
|
|
|
|
SZIP_TGZ_NAME:STRING="szip_src.ext"
|
2013-09-13 02:12:34 +08:00
|
|
|
TGZPATH:STRING="some_location"
|
2013-04-29 22:18:34 +08:00
|
|
|
where "some_location" is the URL or full path to the compressed
|
2014-03-18 06:12:46 +08:00
|
|
|
file and ext is the type of compression file. Also set CMAKE_BUILD_TYPE
|
|
|
|
to the configuration type during configuration
|
2011-01-26 04:40:41 +08:00
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
3. If you are building on Apple Darwin platforms, you should add the
|
|
|
|
following options:
|
2013-01-15 02:35:30 +08:00
|
|
|
Compiler choice - use xcode by setting the ENV variables of CC and CXX
|
|
|
|
Shared fortran is not supported, build static:
|
|
|
|
BUILD_SHARED_LIBS:BOOL=OFF
|
|
|
|
Additional options:
|
|
|
|
CMAKE_ANSI_CFLAGS:STRING=-fPIC
|
|
|
|
CTEST_USE_LAUNCHERS:BOOL=ON
|
|
|
|
CMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF
|
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
4. Windows developers should install NSIS to create an install image with CPack.
|
|
|
|
Visual Studio Express users will not be able to package HDF5 into
|
|
|
|
an install image executable.
|
2013-10-03 03:46:32 +08:00
|
|
|
|
2014-02-01 02:15:02 +08:00
|
|
|
5. Developers can copy the config/cmake/cacheinit.cmake file and alter the
|
2013-10-03 03:46:32 +08:00
|
|
|
the settings for the developers' environment. Then the only options needed
|
|
|
|
on the command line are those options that are different. Example using HDF
|
|
|
|
default cache file:
|
2014-04-10 02:56:19 +08:00
|
|
|
cmake -C ../config/cmake/cacheinit.cmake -G "Visual Studio 11" \
|
2014-03-18 06:12:46 +08:00
|
|
|
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF \
|
|
|
|
-DCMAKE_BUILD_TYPE:STRING=Release ..
|
2013-04-29 22:18:34 +08:00
|
|
|
|
2014-01-25 04:06:35 +08:00
|
|
|
Notes: CMake and HDF5
|
2013-04-29 22:18:34 +08:00
|
|
|
|
2014-01-25 04:06:35 +08:00
|
|
|
1. Using CMake for building and using HDF5 is under active development.
|
|
|
|
While we have attempted to provide error-free files, please
|
|
|
|
understand that development with CMake has not been extensively
|
|
|
|
tested outside of HDF. The CMake specific files may change
|
|
|
|
before the next release.
|
2013-04-29 22:18:34 +08:00
|
|
|
|
2014-01-25 04:06:35 +08:00
|
|
|
2. CMake support for HDF5 development should be usable on any
|
|
|
|
system where CMake is supported. Please send us any comments on
|
|
|
|
how CMake support can be improved on any system. Visit the
|
|
|
|
KitWare site for more information about CMake.
|
2013-04-29 22:18:34 +08:00
|
|
|
|
2014-01-25 04:06:35 +08:00
|
|
|
3. Build and test results can be submitted to our CDash server at:
|
2013-04-29 22:18:34 +08:00
|
|
|
cdash.hdfgroup.uiuc.edu.
|
2014-01-25 04:06:35 +08:00
|
|
|
Please read the HDF and CDash document at:
|
2013-04-29 22:18:34 +08:00
|
|
|
www.hdfgroup.org/CDash/HowToSubmit.
|
|
|
|
|
2014-01-25 04:06:35 +08:00
|
|
|
4. See the appendix at the bottom of this file for examples of using
|
|
|
|
a ctest script for building and testing. Using a ctest script is
|
|
|
|
preferred because of its flexibility.
|
2013-04-29 22:18:34 +08:00
|
|
|
|
2014-01-25 04:06:35 +08:00
|
|
|
Notes: CMake in General
|
|
|
|
|
|
|
|
1. More information about using CMake can be found at the KitWare site at
|
|
|
|
www.cmake.org.
|
|
|
|
|
|
|
|
2. CMake uses the command line; however, the visual CMake tool is
|
|
|
|
available for the configuration step. The steps are similar for
|
|
|
|
all the operating systems supported by CMake.
|
2013-04-29 22:18:34 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-27 00:47:12 +08:00
|
|
|
========================================================================
|
2014-02-01 02:15:02 +08:00
|
|
|
IV. Building HDF5 C/C++ Libraries with CMake
|
2013-04-29 22:18:34 +08:00
|
|
|
========================================================================
|
|
|
|
|
|
|
|
To build the HDF5 C/C++ Libraries with CMake, go through these five steps:
|
|
|
|
|
|
|
|
1. Run CMake
|
|
|
|
2. Configure the cache settings
|
|
|
|
3. Build HDF5
|
|
|
|
4. Test HDF5
|
|
|
|
5. Packaging HDF5 (create install image)
|
|
|
|
|
|
|
|
These five steps are described in detail below.
|
|
|
|
|
2010-05-27 00:47:12 +08:00
|
|
|
========================================================================
|
|
|
|
|
|
|
|
1. Run CMake
|
|
|
|
|
2013-10-03 03:46:32 +08:00
|
|
|
The visual CMake executable is named "cmake-gui.exe" on Windows and should be
|
2010-05-27 00:47:12 +08:00
|
|
|
available in your Start menu. For Linux, UNIX, and Mac users the
|
|
|
|
executable is named "cmake-gui" and can be found where CMake was
|
|
|
|
installed.
|
2013-04-29 22:18:34 +08:00
|
|
|
|
2013-03-07 02:40:47 +08:00
|
|
|
Specify the source and build directories.
|
2013-04-29 22:18:34 +08:00
|
|
|
|
|
|
|
***** Make the build and source directories different. ******
|
|
|
|
|
|
|
|
For example on Windows, if the source is at c:\MyHDFstuff\hdf5,
|
|
|
|
then use c:\MyHDFstuff\hdf5\build or c:\MyHDFstuff\build\hdf5 as the
|
|
|
|
build directory.
|
2010-09-21 01:27:29 +08:00
|
|
|
|
2014-02-01 02:15:02 +08:00
|
|
|
RECOMMENDED:
|
2013-04-29 22:18:34 +08:00
|
|
|
Users can perform the configuration step without using the visual
|
|
|
|
cmake-gui program. We use the file cacheinit.cmake in the
|
|
|
|
config/cmake folder for our testing. This file enables all the
|
|
|
|
basic options and we turn specific options on or off for testing
|
|
|
|
using the following command line within the build directory:
|
2010-09-21 01:27:29 +08:00
|
|
|
|
|
|
|
cmake -C <sourcepath>/config/cmake/cacheinit.cmake -G "<generator>" [-D<options>] <sourcepath>
|
|
|
|
|
|
|
|
Where <generator> is
|
|
|
|
* MinGW Makefiles
|
|
|
|
* NMake Makefiles
|
|
|
|
* Unix Makefiles
|
2014-04-10 02:56:19 +08:00
|
|
|
* Visual Studio 12
|
|
|
|
* Visual Studio 12 Win64
|
2013-04-29 22:18:34 +08:00
|
|
|
* Visual Studio 11
|
|
|
|
* Visual Studio 11 Win64
|
2010-09-21 01:27:29 +08:00
|
|
|
* Visual Studio 10
|
|
|
|
* Visual Studio 10 Win64
|
|
|
|
|
|
|
|
<options> is:
|
|
|
|
* SZIP_INCLUDE_DIR:PATH=<path to szip includes directory>
|
|
|
|
* SZIP_LIBRARY:FILEPATH=<path to szip/library file>
|
2011-08-26 23:38:35 +08:00
|
|
|
* ZLIB_INCLUDE_DIR:PATH=<path to zlib includes directory>
|
|
|
|
* ZLIB_LIBRARY:FILEPATH=<path to zlib/library file>
|
2010-09-21 01:27:29 +08:00
|
|
|
* <HDF5OPTION>:BOOL=[ON | OFF]
|
|
|
|
|
|
|
|
<cacheinit.cmake> is:
|
2013-04-29 22:18:34 +08:00
|
|
|
# This is the CMakeCache file used by HDF Group for daily tests.
|
2013-03-07 02:40:47 +08:00
|
|
|
########################
|
|
|
|
# EXTERNAL cache entries
|
|
|
|
########################
|
2014-03-12 05:14:57 +08:00
|
|
|
set (BUILD_SHARED_LIBS ON CACHE BOOL "Build Shared Libraries" FORCE)
|
|
|
|
set (BUILD_TESTING ON CACHE BOOL "Build HDF5 Unit Testing" FORCE)
|
|
|
|
set (HDF_PACKAGE_EXT "" CACHE STRING "Name of HDF package extension" FORCE)
|
|
|
|
set (HDF5_BUILD_CPP_LIB ON CACHE BOOL "Build HDF5 C++ Library" FORCE)
|
|
|
|
set (HDF5_BUILD_EXAMPLES ON CACHE BOOL "Build HDF5 Library Examples" FORCE)
|
|
|
|
set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE)
|
|
|
|
set (HDF5_ENABLE_F2003 OFF CACHE BOOL "Enable FORTRAN 2003 Standard" FORCE)
|
|
|
|
set (HDF5_BUILD_HL_LIB ON CACHE BOOL "Build HIGH Level HDF5 Library" FORCE)
|
|
|
|
set (HDF5_BUILD_TOOLS ON CACHE BOOL "Build HDF5 Tools" FORCE)
|
|
|
|
set (HDF5_BUILD_GENERATORS OFF CACHE BOOL "Build Test Generators" FORCE)
|
|
|
|
set (HDF5_ENABLE_Z_LIB_SUPPORT ON CACHE BOOL "Enable Zlib Filters" FORCE)
|
|
|
|
set (HDF5_ENABLE_SZIP_SUPPORT ON CACHE BOOL "Use SZip Filter" FORCE)
|
|
|
|
set (HDF5_ENABLE_SZIP_ENCODING ON CACHE BOOL "Use SZip Encoding" FORCE)
|
|
|
|
set (HDF5_ENABLE_HSIZET ON CACHE BOOL "Enable datasets larger than memory" FORCE)
|
|
|
|
set (HDF5_ENABLE_UNSUPPORTED OFF CACHE BOOL "Enable unsupported combinations of configuration options" FORCE)
|
|
|
|
set (HDF5_ENABLE_DEPRECATED_SYMBOLS ON CACHE BOOL "Enable deprecated public API symbols" FORCE)
|
|
|
|
set (HDF5_ENABLE_DIRECT_VFD OFF CACHE BOOL "Build the Direct I/O Virtual File Driver" FORCE)
|
|
|
|
set (HDF5_ENABLE_PARALLEL OFF CACHE BOOL "Enable parallel build (requires MPI)" FORCE)
|
|
|
|
set (MPIEXEC_MAX_NUMPROCS "3" CACHE STRING "Minimum number of processes for HDF parallel tests" FORCE)
|
|
|
|
set (HDF5_BUILD_PARALLEL_ALL OFF CACHE BOOL "Build Parallel Programs" FORCE)
|
|
|
|
set (HDF5_ENABLE_COVERAGE OFF CACHE BOOL "Enable code coverage for Libraries and Programs" FORCE)
|
|
|
|
set (HDF5_ENABLE_USING_MEMCHECKER OFF CACHE BOOL "Indicate that a memory checker is used" FORCE)
|
|
|
|
set (HDF5_DISABLE_COMPILER_WARNINGS OFF CACHE BOOL "Disable compiler warnings" FORCE)
|
|
|
|
set (HDF5_USE_FOLDERS ON CACHE BOOL "Enable folder grouping of projects in IDEs." FORCE)
|
|
|
|
set (HDF5_USE_16_API_DEFAULT OFF CACHE BOOL "Use the HDF5 1.6.x API by default" FORCE)
|
|
|
|
set (HDF5_USE_18_API_DEFAULT OFF CACHE BOOL "Use the HDF5 1.8.x API by default" FORCE)
|
|
|
|
set (HDF5_ENABLE_THREADSAFE OFF CACHE BOOL "(WINDOWS)Enable Threadsafety" FORCE)
|
|
|
|
set (HDF5_PACKAGE_EXTLIBS OFF CACHE BOOL "(WINDOWS)CPACK - include external libraries" FORCE)
|
|
|
|
set (HDF5_NO_PACKAGES OFF CACHE BOOL "CPACK - Disable packaging" FORCE)
|
|
|
|
set (HDF5_ALLOW_EXTERNAL_SUPPORT "NO" CACHE STRING "Allow External Library Building" FORCE)
|
|
|
|
set (ZLIB_SVN_URL "http://svn.hdfgroup.uiuc.edu/zlib/trunk" CACHE STRING "Use ZLib from HDF repository" FORCE)
|
|
|
|
set (SZIP_SVN_URL "http://svn.hdfgroup.uiuc.edu/szip/trunk" CACHE STRING "Use SZip from HDF repository" FORCE)
|
|
|
|
set (ZLIB_TGZ_NAME "ZLib.tar.gz" CACHE STRING "Use ZLib from compressed file" FORCE)
|
|
|
|
set (SZIP_TGZ_NAME "SZip.tar.gz" CACHE STRING "Use SZip from compressed file" FORCE)
|
|
|
|
set (ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of ZLIB package" FORCE)
|
|
|
|
set (SZIP_PACKAGE_NAME "szip" CACHE STRING "Name of SZIP package" FORCE)
|
2010-05-27 00:47:12 +08:00
|
|
|
|
|
|
|
2. Configure the cache settings
|
|
|
|
|
2013-10-03 03:46:32 +08:00
|
|
|
2.1 Visual CMake users, click the Configure button. If this is the first time you are
|
2010-09-21 01:27:29 +08:00
|
|
|
running cmake-gui in this directory, you will be prompted for the
|
|
|
|
generator you wish to use (for example on Windows, Visual Studio 9 2008).
|
|
|
|
CMake will read in the CMakeLists.txt files from the source directory and
|
|
|
|
display options for the HDF5 project. After the first configure you
|
2013-04-29 22:18:34 +08:00
|
|
|
can adjust the cache settings and/or specify the locations of other programs.
|
2010-05-27 00:47:12 +08:00
|
|
|
|
2010-09-21 01:27:29 +08:00
|
|
|
Any conflicts or new values will be highlighted by the configure
|
|
|
|
process in red. Once you are happy with all the settings and there are no
|
|
|
|
more values in red, click the Generate button to produce the appropriate
|
|
|
|
build files.
|
2010-05-27 00:47:12 +08:00
|
|
|
|
2010-09-21 01:27:29 +08:00
|
|
|
On Windows, if you are using a Visual Studio generator, the solution and
|
|
|
|
project files will be created in the build folder.
|
2010-05-27 00:47:12 +08:00
|
|
|
|
2010-09-21 01:27:29 +08:00
|
|
|
On linux, if you are using the Unix Makefiles generator, the Makefiles will
|
|
|
|
be created in the build folder.
|
|
|
|
|
2013-10-03 03:46:32 +08:00
|
|
|
2.2 Preferred command line example on Windows in c:\MyHDFstuff\hdf5\build directory:
|
2010-09-21 01:27:29 +08:00
|
|
|
|
2014-04-10 02:56:19 +08:00
|
|
|
cmake -C ../config/cmake/cacheinit.cmake -G "Visual Studio 11" \
|
2014-03-18 06:12:46 +08:00
|
|
|
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF \
|
|
|
|
-DCMAKE_BUILD_TYPE:STRING=Release ..
|
2010-05-27 00:47:12 +08:00
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
2.3 On Windows, if you are using a Visual Studio Express version you must
|
|
|
|
be sure that the following two options are correctly set/unset:
|
2011-10-26 00:52:58 +08:00
|
|
|
|
|
|
|
HDF5_NO_PACKAGES:BOOL=ON
|
|
|
|
HDF5_USE_FOLDERS:BOOL=OFF
|
|
|
|
|
2010-05-27 00:47:12 +08:00
|
|
|
3. Build HDF5
|
|
|
|
|
|
|
|
On Windows, you can build HDF5 using either the Visual Studio Environment
|
2013-10-03 03:46:32 +08:00
|
|
|
or the command line. The command line can be used on all platforms;
|
|
|
|
Windows, linux, Unix, and Mac.
|
2010-05-27 00:47:12 +08:00
|
|
|
|
|
|
|
To build from the command line, navigate to your build directory and
|
2013-04-29 22:18:34 +08:00
|
|
|
execute the following:
|
2010-05-27 00:47:12 +08:00
|
|
|
|
|
|
|
cmake --build . --config {Debug | Release}
|
|
|
|
|
|
|
|
NOTE: "--config {Debug | Release}" may be optional on your platform. We
|
|
|
|
recommend choosing either Debug or Release on Windows.
|
|
|
|
|
|
|
|
3.1 If you wish to use the Visual Studio environment, open the solution
|
|
|
|
file in your build directory. Be sure to select either Debug or
|
|
|
|
Release and build the solution.
|
2010-10-15 05:58:35 +08:00
|
|
|
|
2011-01-26 22:09:45 +08:00
|
|
|
3.2.1 The external libraries (zlib and szip) can be configured
|
2013-04-29 22:18:34 +08:00
|
|
|
to allow building the libraries by downloading from an SVN repository.
|
2010-10-15 05:58:35 +08:00
|
|
|
The option is 'HDF5_ALLOW_EXTERNAL_SUPPORT'; by adding the following
|
|
|
|
configuration option:
|
|
|
|
-DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING="SVN"
|
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
The options to control the SVN URL (config/cmake/cacheinit.cmake file) are:
|
2010-10-15 05:58:35 +08:00
|
|
|
ZLIB_SVN_URL:STRING="http://svn.hdfgroup.uiuc.edu/zlib/trunk"
|
|
|
|
SZIP_SVN_URL:STRING="http://svn.hdfgroup.uiuc.edu/szip/trunk"
|
2014-03-18 06:12:46 +08:00
|
|
|
These should be changed to your location. Also define CMAKE_BUILD_TYPE
|
|
|
|
to be the configuration type.
|
2011-01-26 04:40:41 +08:00
|
|
|
|
2011-01-26 22:09:45 +08:00
|
|
|
3.2.2 Or the external libraries (zlib and szip) can be configured
|
2011-01-26 04:40:41 +08:00
|
|
|
to allow building the libraries by using a compressed file.
|
2013-04-29 22:18:34 +08:00
|
|
|
The option is 'HDF5_ALLOW_EXTERNAL_SUPPORT' and is enabled by
|
|
|
|
adding the following configuration option:
|
2011-01-26 04:40:41 +08:00
|
|
|
-DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING="TGZ"
|
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
The options to control the SVN URL (config/cmake/cacheinit.cmake
|
|
|
|
file) are:
|
2011-01-26 05:17:54 +08:00
|
|
|
ZLIB_TGZ_NAME:STRING="zlib_src.ext"
|
|
|
|
SZIP_TGZ_NAME:STRING="szip_src.ext"
|
2013-09-13 02:12:34 +08:00
|
|
|
TGZPATH:STRING="some_location"
|
2013-04-29 22:18:34 +08:00
|
|
|
where "some_location/xxxx_src.ext" is the URL or full path to
|
|
|
|
the compressed file and where ext is the type of the compression
|
2014-03-18 06:12:46 +08:00
|
|
|
file such as .bz2, .tar, .tar.gz, .tgz, or .zip. Also define
|
|
|
|
CMAKE_BUILD_TYPE to be the configuration type.
|
2010-05-27 00:47:12 +08:00
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
4. Test HDF5
|
2010-05-27 00:47:12 +08:00
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
To test the build, navigate to your build directory and execute:
|
2010-05-27 00:47:12 +08:00
|
|
|
|
|
|
|
ctest . -C {Debug | Release}
|
|
|
|
|
|
|
|
NOTE: "-C {Debug | Release}" may be optional on your platform. We
|
|
|
|
recommend choosing either Debug or Release to match the build
|
|
|
|
step on Windows.
|
2010-09-21 01:27:29 +08:00
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
5. Packaging HDF5 (create an install image)
|
2010-09-21 01:27:29 +08:00
|
|
|
|
|
|
|
To package the build into a simple installer using the NullSoft installer NSIS
|
|
|
|
on Windows, or into compressed files (.tar.gz, .sh, .zip), use the CPack tool.
|
|
|
|
|
2011-01-26 04:40:41 +08:00
|
|
|
To package the build, navigate to your build directory and execute;
|
2010-09-21 01:27:29 +08:00
|
|
|
|
2010-09-21 05:00:36 +08:00
|
|
|
cpack -C {Debug | Release} CPackConfig.cmake
|
2010-09-21 01:27:29 +08:00
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
NOTE: See note 8 of this document for NSIS information.
|
|
|
|
Also, if you are using a Visual Studio Express version or do not
|
|
|
|
want to enable the packaging components, set HDF5_NO_PACKAGES
|
|
|
|
to ON (on the command line add -DHDF5_NO_PACKAGES:BOOL=ON)
|
2010-09-21 01:27:29 +08:00
|
|
|
|
2010-10-15 05:58:35 +08:00
|
|
|
6. The files that support building HDF5 with CMake are all the files in the
|
2010-09-21 01:27:29 +08:00
|
|
|
config/cmake folder, the CMakeLists.txt files in each source folder, and
|
|
|
|
CTestConfig.cmake. CTestConfig.cmake is specific to the internal testing
|
2013-04-29 22:18:34 +08:00
|
|
|
performed by The HDF Group. It should be altered for the user's
|
|
|
|
installation and needs. The cacheinit.cmake file settings are used by
|
|
|
|
The HDF Group for daily testing. It should be altered/ignored for the user's
|
2010-09-21 01:27:29 +08:00
|
|
|
installation and needs.
|
2010-05-27 00:47:12 +08:00
|
|
|
|
2010-10-15 05:58:35 +08:00
|
|
|
7. More information about using CMake can be found at the KitWare site,
|
2010-05-27 00:47:12 +08:00
|
|
|
www.cmake.org.
|
2011-08-25 23:08:29 +08:00
|
|
|
|
|
|
|
8. Nullsoft Scriptable Install System
|
|
|
|
The Nullsoft Scriptable Install System (NSIS) is an open source installation
|
|
|
|
system. It was created by the WinAmp authors to distribute that application,
|
|
|
|
but it is now a general-purpose system which anyone might use. NSIS installers
|
|
|
|
recognize /S for silent installation and /D=dir to specify the
|
|
|
|
"output directory", which is where the program will be installed. These
|
|
|
|
options are case-sensitive, so be sure to type them in upper case.
|
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
|
|
|
|
|
2011-10-01 02:19:54 +08:00
|
|
|
========================================================================
|
2014-04-10 02:56:19 +08:00
|
|
|
V. More Options for HDF5 C/C++ Libraries with CMake
|
2011-10-01 02:19:54 +08:00
|
|
|
========================================================================
|
2013-04-29 22:18:34 +08:00
|
|
|
|
|
|
|
In the options listed below, there are three columns of information:
|
|
|
|
Option Name, Option Description, and Option Default.
|
|
|
|
|
2012-07-20 03:53:17 +08:00
|
|
|
---------------- General Build Options ---------------------
|
2013-04-29 22:18:34 +08:00
|
|
|
BUILD_SHARED_LIBS "Build Shared Libraries" OFF
|
2012-07-20 03:53:17 +08:00
|
|
|
BUILD_STATIC_EXECS "Build Static Executabless" OFF
|
2013-04-29 22:18:34 +08:00
|
|
|
BUILD_STATIC_PIC "Build Static PIC" OFF
|
|
|
|
BUILD_TESTING "Build HDF5 Unit Testing" OFF
|
2012-07-20 03:53:17 +08:00
|
|
|
|
|
|
|
---------------- HDF5 Build Options ---------------------
|
2013-04-29 22:18:34 +08:00
|
|
|
HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" OFF
|
|
|
|
HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" OFF
|
|
|
|
HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF
|
|
|
|
HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" OFF
|
|
|
|
HDF5_BUILD_TOOLS "Build HDF5 Tools" OFF
|
2014-03-12 05:14:57 +08:00
|
|
|
if (HDF5_BUILD_FORTRAN)
|
2012-07-20 03:53:17 +08:00
|
|
|
HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" OFF
|
|
|
|
|
|
|
|
---------------- HDF5 Advanced Options ---------------------
|
2013-04-29 22:18:34 +08:00
|
|
|
HDF5_DISABLE_COMPILER_WARNINGS "Disable compiler warnings" OFF
|
|
|
|
HDF5_Enable_Clear_File_Buffers "Securely clear file buffers before writing to file" ON
|
|
|
|
HDF5_Enable_Instrument "Instrument The library" OFF
|
|
|
|
HDF5_ENABLE_CODESTACK "Enable the function stack tracing (for developer debugging)." OFF
|
|
|
|
HDF5_ENABLE_COVERAGE "Enable code coverage for Libraries and Programs" OFF
|
|
|
|
HDF5_ENABLE_DEPRECATED_SYMBOLS "Enable deprecated public API symbols" ON
|
|
|
|
HDF5_ENABLE_EMBEDDED_LIBINFO "embed library info into executables" ON
|
|
|
|
HDF5_ENABLE_HSIZET "Enable datasets larger than memory" ON
|
|
|
|
HDF5_ENABLE_LARGE_FILE "Enable support for large (64-bit) files on Linux." ON
|
|
|
|
HDF5_ENABLE_PARALLEL "Enable parallel build (requires MPI)" OFF
|
|
|
|
HDF5_ENABLE_TRACE "Enable API tracing capability" OFF
|
|
|
|
HDF5_ENABLE_USING_MEMCHECKER "Indicate that a memory checker is used" OFF
|
|
|
|
HDF5_METADATA_TRACE_FILE "Enable metadata trace file collection" OFF
|
|
|
|
HDF5_NO_PACKAGES "Do not include CPack Packaging" OFF
|
|
|
|
HDF5_PACKAGE_EXTLIBS "CPACK - include external libraries" OFF
|
|
|
|
HDF5_STRICT_FORMAT_CHECKS "Whether to perform strict file format checks" OFF
|
|
|
|
HDF5_TEST_VFD "Execute tests with different VFDs" OFF
|
|
|
|
HDF5_USE_16_API_DEFAULT "Use the HDF5 1.6.x API by default" OFF
|
|
|
|
HDF5_USE_18_API_DEFAULT "Use the HDF5 1.8.x API by default" OFF
|
|
|
|
HDF5_USE_FOLDERS "Enable folder grouping of projects in IDEs." OFF
|
|
|
|
HDF5_WANT_DATA_ACCURACY "IF data accuracy is guaranteed during data conversions" ON
|
|
|
|
HDF5_WANT_DCONV_EXCEPTION "exception handling functions is checked during data conversions" ON
|
|
|
|
HDF5_ENABLE_THREADSAFE "Enable Threadsafety" OFF
|
2014-03-12 05:14:57 +08:00
|
|
|
if (APPLE)
|
2013-04-29 22:18:34 +08:00
|
|
|
HDF5_BUILD_WITH_INSTALL_NAME "Build with library install_name set to the installation path" OFF
|
2014-03-12 05:14:57 +08:00
|
|
|
if (CMAKE_BUILD_TYPE MATCHES Debug)
|
2013-04-29 22:18:34 +08:00
|
|
|
HDF5_ENABLE_TRACE "Enable API tracing capability" ON
|
2014-03-12 05:14:57 +08:00
|
|
|
if (HDF5_TEST_VFD)
|
2013-04-29 22:18:34 +08:00
|
|
|
HDF5_TEST_FHEAP_VFD "Execute fheap test with different VFDs" ON
|
2012-07-20 03:53:17 +08:00
|
|
|
|
|
|
|
---------------- External Library Options ---------------------
|
2013-04-29 22:18:34 +08:00
|
|
|
HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building" "NO"
|
|
|
|
HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF
|
|
|
|
HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" OFF
|
|
|
|
ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 0
|
|
|
|
SZIP_USE_EXTERNAL "Use External Library Building for SZIP" 0
|
|
|
|
HDF5_USE_FILTER_FLETCHER32 "Use the FLETCHER32 Filter" ON
|
|
|
|
HDF5_USE_FILTER_NBIT "Use the NBIT Filter" ON
|
|
|
|
HDF5_USE_FILTER_SCALEOFFSET "Use the SCALEOFFSET Filter" ON
|
|
|
|
HDF5_USE_FILTER_SHUFFLE "Use the SHUFFLE Filter" ON
|
2014-03-12 05:14:57 +08:00
|
|
|
if (HDF5_ENABLE_SZIP_SUPPORT)
|
2013-04-29 22:18:34 +08:00
|
|
|
HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF
|
2014-03-12 05:14:57 +08:00
|
|
|
if (WINDOWS)
|
2013-09-20 00:38:08 +08:00
|
|
|
H5_DEFAULT_PLUGINDIR "%ALLUSERSPROFILE%/hdf5/lib/plugin"
|
2014-03-12 05:14:57 +08:00
|
|
|
else (WINDOWS)
|
2013-09-20 00:38:08 +08:00
|
|
|
H5_DEFAULT_PLUGINDIR "/usr/local/hdf5/lib/plugin"
|
2014-03-12 05:14:57 +08:00
|
|
|
endif (WINDOWS)
|
2010-05-27 00:47:12 +08:00
|
|
|
|
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
|
|
|
|
========================================================================
|
2014-02-01 02:15:02 +08:00
|
|
|
VI. User Defined Options for HDF5 Libraries with CMake
|
2013-09-20 00:38:08 +08:00
|
|
|
========================================================================
|
|
|
|
|
|
|
|
Support for User Defined macros and options has been added. The file
|
|
|
|
UserMacros.cmake has an example of the technique. In the folder,
|
|
|
|
config/cmake/UserMacros, is an implementation for Windows Visual Studio
|
|
|
|
users for linking libraries to the static CRT - Windows_MT.cmake.
|
|
|
|
|
|
|
|
Copy the contents of the file, both macro and option, into the
|
|
|
|
UserMacros.cmake file. Then enable the option to the CMake configuration,
|
|
|
|
build and test process.
|
|
|
|
|
|
|
|
========================================================================
|
2014-02-01 02:15:02 +08:00
|
|
|
VII. APPENDIX
|
2013-04-29 22:18:34 +08:00
|
|
|
========================================================================
|
2013-03-07 02:40:47 +08:00
|
|
|
|
|
|
|
Below are examples of the ctest scripts used by The HDF Group.
|
|
|
|
See the script, cmakehdf5, in the bin folder for a smaller and limited
|
|
|
|
function shell script version of the following general scripts.
|
|
|
|
The example is for a linux machine, but the same scripts can be used on
|
2013-04-29 22:18:34 +08:00
|
|
|
a Windows machine by adjusting the CTEST_CMAKE_GENERATOR option in the
|
2013-03-07 02:40:47 +08:00
|
|
|
product specific script.
|
|
|
|
|
2013-10-03 03:46:32 +08:00
|
|
|
NOTE: these files are available at the HDF web site:
|
2013-10-10 01:05:51 +08:00
|
|
|
http://www.hdfgroup.org/HDF5/release/cmakebuild.html
|
2013-04-29 22:18:34 +08:00
|
|
|
|
2013-10-03 03:46:32 +08:00
|
|
|
CTestScript.cmake
|
|
|
|
SZip.tar.gz
|
|
|
|
ZLib.tar.gz
|
|
|
|
|
|
|
|
HDF518WindowsRWDICMake.cmake
|
|
|
|
HDF518LinuxRWDICMake.cmake
|
2013-04-29 22:18:34 +08:00
|
|
|
|
|
|
|
|
2013-03-07 02:40:47 +08:00
|
|
|
========================================================================
|
2014-04-29 05:40:17 +08:00
|
|
|
VII.A CTestScript.cmake
|
2013-04-29 22:18:34 +08:00
|
|
|
========================================================================
|
|
|
|
|
|
|
|
The CTestScript.cmake script, shown below, is a common ctest script that
|
|
|
|
is used to build, test, and package HDF5 Library files.
|
|
|
|
|
2013-03-07 02:40:47 +08:00
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
|
2014-03-18 06:12:46 +08:00
|
|
|
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
|
2013-03-07 02:40:47 +08:00
|
|
|
########################################################
|
|
|
|
# This dashboard is maintained by The HDF Group
|
|
|
|
# For any comments please contact cdashhelp@hdfgroup.org
|
|
|
|
#
|
|
|
|
########################################################
|
|
|
|
# -----------------------------------------------------------
|
|
|
|
# -- Get environment
|
|
|
|
# -----------------------------------------------------------
|
|
|
|
if(NOT SITE_OS_NAME)
|
|
|
|
## machine name not provided - attempt to discover with uname
|
|
|
|
## -- set hostname
|
|
|
|
## --------------------------
|
|
|
|
find_program(HOSTNAME_CMD NAMES hostname)
|
|
|
|
exec_program(${HOSTNAME_CMD} ARGS OUTPUT_VARIABLE HOSTNAME)
|
|
|
|
set(CTEST_SITE "${HOSTNAME}${CTEST_SITE_EXT}")
|
|
|
|
find_program(UNAME NAMES uname)
|
|
|
|
macro(getuname name flag)
|
|
|
|
exec_program("${UNAME}" ARGS "${flag}" OUTPUT_VARIABLE "${name}")
|
|
|
|
endmacro(getuname)
|
|
|
|
|
|
|
|
getuname(osname -s)
|
|
|
|
getuname(osrel -r)
|
|
|
|
getuname(cpu -m)
|
|
|
|
message("Dashboard script uname output: ${osname}-${osrel}-${cpu}\n")
|
|
|
|
|
|
|
|
set(CTEST_BUILD_NAME "${osname}-${osrel}-${cpu}")
|
|
|
|
if(USE_AUTOTOOLS)
|
|
|
|
set(CTEST_BUILD_NAME "AT-${CTEST_BUILD_NAME}")
|
|
|
|
endif(USE_AUTOTOOLS)
|
|
|
|
if(SITE_BUILDNAME_SUFFIX)
|
|
|
|
set(CTEST_BUILD_NAME "${CTEST_BUILD_NAME}-${SITE_BUILDNAME_SUFFIX}")
|
|
|
|
endif(SITE_BUILDNAME_SUFFIX)
|
|
|
|
set(BUILD_OPTIONS "${ADD_BUILD_OPTIONS}")
|
|
|
|
else(NOT SITE_OS_NAME)
|
|
|
|
## machine name provided
|
|
|
|
## --------------------------
|
|
|
|
if(CMAKE_HOST_UNIX)
|
|
|
|
set(CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_OS_BITS}-${SITE_COMPILER_NAME}-${SITE_COMPILER_VERSION}")
|
|
|
|
else(CMAKE_HOST_UNIX)
|
|
|
|
set(CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_COMPILER_NAME}")
|
|
|
|
endif(CMAKE_HOST_UNIX)
|
|
|
|
if(SITE_BUILDNAME_SUFFIX)
|
|
|
|
set(CTEST_BUILD_NAME ${CTEST_BUILD_NAME}-${SITE_BUILDNAME_SUFFIX})
|
2014-02-01 02:15:02 +08:00
|
|
|
endif(SITE_BUILDNAME_SUFFIX)
|
2013-03-07 02:40:47 +08:00
|
|
|
set(BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDNAME:STRING=${CTEST_BUILD_NAME}")
|
|
|
|
endif(NOT SITE_OS_NAME)
|
|
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
# MAC machines need special option
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
if(APPLE)
|
|
|
|
# Compiler choice
|
|
|
|
execute_process(COMMAND xcrun --find cc OUTPUT_VARIABLE XCODE_CC OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
|
execute_process(COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE)
|
2014-02-01 02:15:02 +08:00
|
|
|
set(ENV{CC} "${XCODE_CC}")
|
|
|
|
set(ENV{CXX} "${XCODE_CXX}")
|
|
|
|
|
|
|
|
if(NOT NO_MAC_FORTRAN)
|
|
|
|
# Shared fortran is not supported, build static
|
|
|
|
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_ANSI_CFLAGS:STRING=-fPIC")
|
|
|
|
else(NOT NO_MAC_FORTRAN)
|
|
|
|
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
|
|
|
|
endif(NOT NO_MAC_FORTRAN)
|
|
|
|
|
2013-03-07 02:40:47 +08:00
|
|
|
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF")
|
|
|
|
endif(APPLE)
|
|
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
## cygwin does not handle the find_package() call
|
|
|
|
## --------------------------
|
|
|
|
if(NOT SITE_CYGWIN})
|
|
|
|
find_package (Subversion)
|
|
|
|
set(CTEST_UPDATE_COMMAND "${Subversion_SVN_EXECUTABLE}")
|
|
|
|
else(NOT SITE_CYGWIN})
|
|
|
|
set(CTEST_UPDATE_COMMAND "/usr/bin/svn")
|
|
|
|
endif(NOT SITE_CYGWIN})
|
|
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
set(NEED_REPOSITORY_CHECKOUT 0)
|
|
|
|
set(CTEST_CMAKE_COMMAND "\"${CMAKE_COMMAND}\"")
|
2014-02-01 02:15:02 +08:00
|
|
|
if(CTEST_USE_TAR_SOURCE)
|
2013-03-07 02:40:47 +08:00
|
|
|
## Uncompress source if tar file provided
|
|
|
|
## --------------------------
|
|
|
|
if(WIN32)
|
|
|
|
set(CTEST_7Z_COMMAND "C:/Program Files/7-Zip/7z.exe")
|
|
|
|
message("extracting... [${CTEST_7Z_COMMAND} x ${CTEST_USE_TAR_SOURCE}.zip]")
|
|
|
|
execute_process(COMMAND ${CTEST_7Z_COMMAND} x ${CTEST_USE_TAR_SOURCE}.zip RESULT_VARIABLE rv)
|
|
|
|
else(WIN32)
|
|
|
|
message("extracting... [${CTEST_CMAKE_COMMAND} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.tar]")
|
|
|
|
execute_process(COMMAND tar -xvf ${CTEST_USE_TAR_SOURCE}.tar RESULT_VARIABLE rv)
|
|
|
|
endif(WIN32)
|
|
|
|
|
|
|
|
if(NOT rv EQUAL 0)
|
|
|
|
message("extracting... [error-(${rv}) clean up]")
|
|
|
|
file(REMOVE_RECURSE "${CTEST_SOURCE_DIRECTORY}")
|
|
|
|
message(FATAL_ERROR "error: extract of ${CTEST_USE_TAR_SOURCE} failed")
|
|
|
|
endif(NOT rv EQUAL 0)
|
|
|
|
|
|
|
|
file(RENAME ${CTEST_USE_TAR_SOURCE} ${CTEST_SOURCE_DIRECTORY})
|
|
|
|
set(LOCAL_SKIP_UPDATE "TRUE")
|
2014-02-01 02:15:02 +08:00
|
|
|
else(CTEST_USE_TAR_SOURCE)
|
2013-03-07 02:40:47 +08:00
|
|
|
## use subversion to get source
|
|
|
|
## --------------------------
|
2014-02-01 02:15:02 +08:00
|
|
|
if(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
|
|
|
|
set(NEED_REPOSITORY_CHECKOUT 1)
|
|
|
|
endif(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
|
2013-03-07 02:40:47 +08:00
|
|
|
|
2014-02-01 02:15:02 +08:00
|
|
|
if(${NEED_REPOSITORY_CHECKOUT})
|
|
|
|
set(CTEST_CHECKOUT_COMMAND
|
2013-03-07 02:40:47 +08:00
|
|
|
"${CTEST_UPDATE_COMMAND} co ${REPOSITORY_URL} \"${CTEST_SOURCE_DIRECTORY}\" -r HEAD")
|
2014-02-01 02:15:02 +08:00
|
|
|
else(${NEED_REPOSITORY_CHECKOUT})
|
|
|
|
set(CTEST_CHECKOUT_COMMAND "${CTEST_UPDATE_COMMAND} update")
|
|
|
|
endif(${NEED_REPOSITORY_CHECKOUT})
|
|
|
|
endif(CTEST_USE_TAR_SOURCE)
|
2013-03-07 02:40:47 +08:00
|
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
## Clear the build directory
|
|
|
|
## --------------------------
|
|
|
|
set(CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
|
|
|
|
file(MAKE_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
|
|
|
|
#include(${CTEST_SOURCE_DIRECTORY}/CTestConfig.cmake)
|
|
|
|
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
|
|
|
|
|
|
|
|
# Use multiple CPU cores to build
|
|
|
|
include(ProcessorCount)
|
|
|
|
ProcessorCount(N)
|
|
|
|
if(NOT N EQUAL 0)
|
|
|
|
if(NOT WIN32)
|
|
|
|
set(CTEST_BUILD_FLAGS -j${N})
|
|
|
|
endif(NOT WIN32)
|
|
|
|
set(ctest_test_args ${ctest_test_args} PARALLEL_LEVEL ${N})
|
|
|
|
endif()
|
|
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
# Send the main script as a note.
|
|
|
|
if(USE_AUTOTOOLS)
|
|
|
|
## autotools builds need to use make and does not use the cacheinit.cmake file
|
|
|
|
## -- make command
|
|
|
|
## -----------------
|
|
|
|
find_program(MAKE NAMES make)
|
|
|
|
|
|
|
|
list(APPEND CTEST_NOTES_FILES
|
|
|
|
"${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}"
|
|
|
|
"${CMAKE_CURRENT_LIST_FILE}"
|
|
|
|
)
|
|
|
|
else(USE_AUTOTOOLS)
|
|
|
|
list(APPEND CTEST_NOTES_FILES
|
|
|
|
"${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}"
|
|
|
|
"${CMAKE_CURRENT_LIST_FILE}"
|
|
|
|
"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake"
|
|
|
|
)
|
|
|
|
endif(USE_AUTOTOOLS)
|
|
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
# Check for required variables.
|
|
|
|
# --------------------------
|
|
|
|
foreach(req
|
|
|
|
CTEST_CMAKE_GENERATOR
|
|
|
|
CTEST_SITE
|
|
|
|
CTEST_BUILD_NAME
|
|
|
|
)
|
|
|
|
if(NOT DEFINED ${req})
|
|
|
|
message(FATAL_ERROR "The containing script must set ${req}")
|
|
|
|
endif(NOT DEFINED ${req})
|
|
|
|
endforeach(req)
|
|
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
# Initialize the CTEST commands
|
|
|
|
#------------------------------
|
|
|
|
if(USE_AUTOTOOLS)
|
|
|
|
set(CTEST_CONFIGURE_COMMAND "${CTEST_SOURCE_DIRECTORY}/configure ${ADD_BUILD_OPTIONS}")
|
|
|
|
set(CTEST_BUILD_COMMAND "${MAKE} ${CTEST_BUILD_FLAGS}")
|
|
|
|
## -- CTest Config
|
|
|
|
#configure_file($ENV{HOME}/CTestConfiguration/CTestConfig.cmake ${CTEST_SOURCE_DIRECTORY}/CTestConfig.cmake)
|
|
|
|
configure_file(${CTEST_SOURCE_DIRECTORY}/config/cmake/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake)
|
|
|
|
## -- CTest Testfile
|
|
|
|
# configure_file(${CTEST_SCRIPT_DIRECTORY}/CTestTestfile.cmake ${CTEST_BINARY_DIRECTORY}/CTestTestfile.cmake)
|
|
|
|
file(WRITE ${CTEST_BINARY_DIRECTORY}/CTestTestfile.cmake "ADD_TEST(makecheck \"${MAKE}\" \"${CTEST_BUILD_FLAGS}\" \"-i\" \"check\")")
|
|
|
|
else(USE_AUTOTOOLS)
|
|
|
|
if(LOCAL_MEMCHECK_TEST)
|
|
|
|
find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind)
|
|
|
|
set (CTEST_CONFIGURE_COMMAND
|
|
|
|
"${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/mccacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_BUILD_CONFIGURATION} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_SOURCE_DIRECTORY}\""
|
|
|
|
)
|
|
|
|
else(LOCAL_MEMCHECK_TEST)
|
|
|
|
find_program(CTEST_COVERAGE_COMMAND NAMES gcov)
|
|
|
|
set (CTEST_CONFIGURE_COMMAND
|
|
|
|
"${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_BUILD_CONFIGURATION} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_SOURCE_DIRECTORY}\""
|
|
|
|
)
|
|
|
|
endif(LOCAL_MEMCHECK_TEST)
|
|
|
|
endif(USE_AUTOTOOLS)
|
|
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
## -- set output to english
|
|
|
|
set($ENV{LC_MESSAGES} "en_EN")
|
|
|
|
|
|
|
|
# Print summary information.
|
|
|
|
foreach(v
|
|
|
|
CTEST_SITE
|
|
|
|
CTEST_BUILD_NAME
|
|
|
|
CTEST_SOURCE_DIRECTORY
|
|
|
|
CTEST_BINARY_DIRECTORY
|
|
|
|
CTEST_CMAKE_GENERATOR
|
|
|
|
CTEST_BUILD_CONFIGURATION
|
|
|
|
CTEST_GIT_COMMAND
|
|
|
|
CTEST_CHECKOUT_COMMAND
|
|
|
|
CTEST_CONFIGURE_COMMAND
|
|
|
|
CTEST_SCRIPT_DIRECTORY
|
|
|
|
CTEST_USE_LAUNCHERS
|
|
|
|
)
|
|
|
|
set(vars "${vars} ${v}=[${${v}}]\n")
|
|
|
|
endforeach(v)
|
|
|
|
message("Dashboard script configuration:\n${vars}\n")
|
|
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
#-----------------------------------------------------------------------------
|
2014-02-01 02:15:02 +08:00
|
|
|
## NORMAL process
|
|
|
|
## -- LOCAL_UPDATE updates the source folder from svn
|
|
|
|
## -- LOCAL_SUBMIT reports to CDash server
|
|
|
|
## -- LOCAL_SKIP_TEST skips the test process (only builds)
|
|
|
|
## -- LOCAL_MEMCHECK_TEST executes the Valgrind testing
|
|
|
|
## -- LOCAL_COVERAGE_TEST executes code coverage process
|
|
|
|
## --------------------------
|
|
|
|
CTEST_START (${MODEL} TRACK ${MODEL})
|
|
|
|
if(LOCAL_UPDATE)
|
|
|
|
CTEST_UPDATE (SOURCE "${CTEST_SOURCE_DIRECTORY}")
|
|
|
|
endif(LOCAL_UPDATE)
|
|
|
|
CTEST_CONFIGURE (BUILD "${CTEST_BINARY_DIRECTORY}")
|
|
|
|
CTEST_READ_CUSTOM_FILES ("${CTEST_BINARY_DIRECTORY}")
|
|
|
|
if(LOCAL_SUBMIT)
|
|
|
|
CTEST_SUBMIT (PARTS Update Configure Notes)
|
|
|
|
endif(LOCAL_SUBMIT)
|
|
|
|
CTEST_BUILD (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
|
|
|
|
if(LOCAL_SUBMIT)
|
|
|
|
CTEST_SUBMIT (PARTS Build)
|
|
|
|
endif(LOCAL_SUBMIT)
|
|
|
|
if(NOT LOCAL_SKIP_TEST)
|
|
|
|
if(NOT LOCAL_MEMCHECK_TEST)
|
|
|
|
CTEST_TEST (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args} RETURN_VALUE res)
|
|
|
|
if(LOCAL_SUBMIT)
|
|
|
|
CTEST_SUBMIT (PARTS Test)
|
|
|
|
endif(LOCAL_SUBMIT)
|
|
|
|
if(res GREATER 0)
|
|
|
|
message(FATAL_ERROR "Failed tests: ${res}\n")
|
|
|
|
endif(res GREATER 0)
|
|
|
|
else(NOT LOCAL_MEMCHECK_TEST)
|
|
|
|
CTEST_MEMCHECK (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args})
|
|
|
|
if(LOCAL_SUBMIT)
|
|
|
|
CTEST_SUBMIT (PARTS MemCheck)
|
|
|
|
endif(LOCAL_SUBMIT)
|
|
|
|
endif(NOT LOCAL_MEMCHECK_TEST)
|
|
|
|
if(LOCAL_COVERAGE_TEST)
|
|
|
|
CTEST_COVERAGE (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
|
|
|
|
if(LOCAL_SUBMIT)
|
|
|
|
CTEST_SUBMIT (PARTS Coverage)
|
|
|
|
endif(LOCAL_SUBMIT)
|
|
|
|
endif(LOCAL_COVERAGE_TEST)
|
|
|
|
endif(NOT LOCAL_SKIP_TEST)
|
|
|
|
if(NOT LOCAL_MEMCHECK_TEST AND NOT LOCAL_NO_PACKAGE)
|
|
|
|
##-----------------------------------------------
|
|
|
|
## Package the product
|
|
|
|
##-----------------------------------------------
|
|
|
|
execute_process(COMMAND cpack -C ${CTEST_BUILD_CONFIGURATION} -V
|
|
|
|
WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY}
|
|
|
|
RESULT_VARIABLE cpackResult
|
|
|
|
OUTPUT_VARIABLE cpackLog
|
|
|
|
ERROR_VARIABLE cpackLog.err
|
|
|
|
)
|
|
|
|
file(WRITE ${CTEST_BINARY_DIRECTORY}/cpack.log "${cpackLog.err}" "${cpackLog}")
|
|
|
|
if(cpackResult GREATER 0)
|
|
|
|
message(FATAL_ERROR "Failed packaging: ${cpackResult}\n")
|
|
|
|
endif(cpackResult GREATER 0)
|
|
|
|
endif(NOT LOCAL_MEMCHECK_TEST AND NOT LOCAL_NO_PACKAGE)
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
|
2013-03-07 02:40:47 +08:00
|
|
|
message("DONE:CTestScript")
|
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
|
|
|
|
========================================================================
|
2014-04-29 05:40:17 +08:00
|
|
|
VII.B ctest
|
2013-03-07 02:40:47 +08:00
|
|
|
========================================================================
|
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
Below is an example of the ctest script used by The HDF Group. The
|
|
|
|
CTestScript.cmake file used by this script is shown above. Adjust the values
|
|
|
|
as necessary. Note that the source folder is entered on the command line
|
|
|
|
and the build folder is created as a sub-folder.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
# Product specific script, HDF518Static.cmake, that uses the
|
|
|
|
# CTestScript.cmake file (see above). Usage:
|
|
|
|
# "ctest -S HDF518Static.cmake,hdf518 -C Release -O hdf518static.log"
|
|
|
|
# where hdf518 is the source folder relative to the location of these scripts
|
|
|
|
############################################################################
|
2014-03-18 06:12:46 +08:00
|
|
|
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
|
2013-03-07 02:40:47 +08:00
|
|
|
set(CTEST_SOURCE_NAME ${CTEST_SCRIPT_ARG})
|
2014-02-01 02:15:02 +08:00
|
|
|
set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}/build)
|
|
|
|
set(CTEST_DASHBOARD_ROOT "${CTEST_SCRIPT_DIRECTORY}")
|
2013-03-07 02:40:47 +08:00
|
|
|
set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}")
|
|
|
|
set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}")
|
|
|
|
set(MODEL "Experimental")
|
|
|
|
|
2014-02-01 02:15:02 +08:00
|
|
|
####### Following Line is one of [Release, RelWithDebInfo, Debug] #############
|
|
|
|
set(CTEST_BUILD_CONFIGURATION "RelWithDebInfo")
|
|
|
|
######### Following describes computer ############
|
2013-03-07 02:40:47 +08:00
|
|
|
set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
|
|
|
|
|
2014-02-01 02:15:02 +08:00
|
|
|
## Set the following to unique id your computer ##
|
|
|
|
set(CTEST_SITE "LINUX.XXXX")
|
|
|
|
## following is optional to describe build ##
|
|
|
|
set(SITE_BUILDNAME_SUFFIX "RWDI-SHARED")
|
|
|
|
####################################################
|
|
|
|
|
|
|
|
##### Following controls CDash submission #####
|
|
|
|
#set(LOCAL_SUBMIT "TRUE")
|
|
|
|
##### Following controls test process #####
|
|
|
|
#set(LOCAL_SKIP_TEST "TRUE")
|
|
|
|
#set(LOCAL_MEMCHECK_TEST "TRUE")
|
|
|
|
#set(LOCAL_COVERAGE_TEST "TRUE")
|
|
|
|
##### Following controls cpack command #####
|
|
|
|
set(LOCAL_NO_PACKAGE "TRUE")
|
|
|
|
##### Following controls source update #####
|
|
|
|
#set(LOCAL_UPDATE "TRUE")
|
2013-03-07 02:40:47 +08:00
|
|
|
set(REPOSITORY_URL "http://svn.hdfgroup.uiuc.edu/hdf5/branches/hdf5_1_8")
|
2014-02-01 02:15:02 +08:00
|
|
|
#uncomment to use a compressed source file *.zip
|
2014-04-10 02:56:19 +08:00
|
|
|
#set(CTEST_USE_TAR_SOURCE "hdf5-1.8.13")
|
2014-02-01 02:15:02 +08:00
|
|
|
############################################
|
|
|
|
|
|
|
|
#### Change default configuration of options in config/cmake/cacheinit.cmake file ###
|
|
|
|
### uncomment and change the following line for more configuration options
|
|
|
|
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DXXX:XXX=XXX")
|
|
|
|
### uncomment the following line to build static libraries
|
|
|
|
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF")
|
|
|
|
### ext libs from svn
|
|
|
|
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=SVN")
|
|
|
|
### ext libs from tgz for 1.8.12 and after
|
|
|
|
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=TGZ -DTGZPATH:PATH=${CTEST_SCRIPT_DIRECTORY}")
|
|
|
|
### ext libs from tgz for 1.8.11 and before
|
|
|
|
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS}-DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=TGZ -DTGZ_PATH:PATH=${CTEST_SCRIPT_DIRECTORY}")
|
|
|
|
### Create install package with external libraries (szip, zlib)
|
|
|
|
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACKAGE_EXTLIBS:BOOL=ON")
|
|
|
|
### disable test program builds
|
|
|
|
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_TESTING:BOOL=OFF")
|
|
|
|
### disable packaging
|
|
|
|
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_NO_PACKAGES:BOOL=ON")
|
|
|
|
############################################
|
2013-03-07 02:40:47 +08:00
|
|
|
|
|
|
|
include(${CTEST_SCRIPT_DIRECTORY}/CTestScript.cmake)
|
|
|
|
|
2013-04-29 22:18:34 +08:00
|
|
|
|
|
|
|
========================================================================
|
|
|
|
For further assistance, send email to help@hdfgroup.org
|
|
|
|
========================================================================
|
|
|
|
|
|
|
|
|
2010-05-27 00:47:12 +08:00
|
|
|
|