mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-02-17 16:10:24 +08:00
[svn-r23649] Correct file reference in pack list
Rename and update CMake docs.
This commit is contained in:
parent
1f09e9d19e
commit
3c79c08dbe
@ -487,6 +487,8 @@ IF (HDF5_ENABLE_PARALLEL)
|
||||
# Used by Fortran + MPI
|
||||
CHECK_SYMBOL_EXISTS (MPI_Comm_c2f "${MPI_C_INCLUDE_PATH}/mpi.h" H5_HAVE_MPI_MULTI_LANG_Comm)
|
||||
CHECK_SYMBOL_EXISTS (MPI_Info_c2f "${MPI_C_INCLUDE_PATH}/mpi.h" H5_HAVE_MPI_MULTI_LANG_Info)
|
||||
ELSE (MPI_C_FOUND)
|
||||
MESSAGE (STATUS "Parallel libraries not found")
|
||||
ENDIF (MPI_C_FOUND)
|
||||
ENDIF (HDF5_ENABLE_PARALLEL)
|
||||
|
||||
@ -962,8 +964,8 @@ IF (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
)
|
||||
IF (EXISTS "${HDF5_SOURCE_DIR}/release_docs" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/release_docs")
|
||||
SET (release_files
|
||||
${HDF5_SOURCE_DIR}/release_docs/CMake.txt
|
||||
${HDF5_SOURCE_DIR}/release_docs/USING_CMake.txt
|
||||
${HDF5_SOURCE_DIR}/release_docs/INSTALL_CMake.txt
|
||||
${HDF5_SOURCE_DIR}/release_docs/USING_HDF5_CMake.txt
|
||||
${HDF5_SOURCE_DIR}/release_docs/COPYING
|
||||
${HDF5_SOURCE_DIR}/release_docs/HISTORY-1_9.txt
|
||||
${HDF5_SOURCE_DIR}/release_docs/INSTALL
|
||||
|
6
MANIFEST
6
MANIFEST
@ -529,7 +529,7 @@
|
||||
./perform/sio_timer.h
|
||||
./perform/zip_perf.c
|
||||
|
||||
./release_docs/CMake.txt
|
||||
./release_docs/INSTALL_CMake.txt
|
||||
./release_docs/COPYING
|
||||
./release_docs/HISTORY-1_0-1_8_0_rc3.txt
|
||||
./release_docs/HISTORY-1_9.txt
|
||||
@ -539,8 +539,8 @@
|
||||
./release_docs/INSTALL_VMS.txt
|
||||
./release_docs/INSTALL_Windows.txt
|
||||
./release_docs/RELEASE.txt
|
||||
./release_docs/USING_CMake.txt
|
||||
./release_docs/USING_Windows.txt
|
||||
./release_docs/USING_HDF5_CMake.txt
|
||||
./release_docs/USING_HDF5_VS.txt
|
||||
|
||||
./src/.indent.pro _DO_NOT_DISTRIBUTE_
|
||||
./src/hdf5.lnt _DO_NOT_DISTRIBUTE_
|
||||
|
@ -2,14 +2,129 @@
|
||||
* Build and Install HDF5 C/C++ Library with CMake *
|
||||
************************************************************************
|
||||
|
||||
Notes: This short instruction is written for users who want to quickly build
|
||||
HDF5 library and tools from the HDF5 source code package using the
|
||||
CMake tools.
|
||||
Table of Contents
|
||||
|
||||
Section I: Quick Step Building HDF5 Libraries with CMake
|
||||
Section II: Preconditions
|
||||
Section III: Building HDF5 C/C++ Libraries with CMake
|
||||
Section IV: All Options for HDF5 C/C++ Libraries with CMake
|
||||
Section V: APPENDIX
|
||||
|
||||
************************************************************************
|
||||
|
||||
|
||||
|
||||
========================================================================
|
||||
I. Quick Step Building HDF5 Libraries with CMake
|
||||
========================================================================
|
||||
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
|
||||
package using the CMake tools.
|
||||
|
||||
More information about using CMake can be found at the KitWare site,
|
||||
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:
|
||||
cmake -G "Visual Studio 10" -DBUILD_TESTING:BOOL=ON -DHDF5_BUILD_TOOLS:BOOL=ON ..
|
||||
|
||||
3. Build the C library, tools and tests with this command:
|
||||
cmake --build . --config Release
|
||||
|
||||
4. Test the C library and tools with this command:
|
||||
ctest . -C Release
|
||||
|
||||
5. Create an install image with this command:
|
||||
cpack -C Release CPackConfig.cmake
|
||||
|
||||
6. Install with this command:
|
||||
HDF5-1.8.11-win32.exe
|
||||
|
||||
B. Linux Quick Step Building HDF5 Libraries with CMake Using GCC
|
||||
|
||||
Go through these steps:
|
||||
|
||||
1. Locate the source files in:
|
||||
~\MyHDFstuff\hdf5
|
||||
|
||||
2. Create a build folder at:
|
||||
~\MyHDFstuff\hdf5\build
|
||||
|
||||
3. Open a command prompt at:
|
||||
~\MyHDFstuff\hdf5\build
|
||||
|
||||
4. Configure the C library, tools and tests with this command:
|
||||
cmake -G "Unix Makefiles" -DBUILD_TESTING:BOOL=ON -DHDF5_BUILD_TOOLS:BOOL=ON ..
|
||||
|
||||
3. Build the C library, tools and tests with this command:
|
||||
cmake --build . --config Release
|
||||
|
||||
4. Test the C library and tools with this command:
|
||||
ctest . -C Release
|
||||
|
||||
5. Create an install image with this command:
|
||||
cpack -C Release CPackConfig.cmake
|
||||
|
||||
6. Install with this command:
|
||||
HDF5-1.8.11-Linux.sh
|
||||
|
||||
|
||||
|
||||
|
||||
========================================================================
|
||||
II. Preconditions
|
||||
========================================================================
|
||||
|
||||
1. We suggest you obtain the latest CMake for windows from the Kitware
|
||||
web site. The HDF5 1.8.x product requires a minimum CMake version 2.8.10.
|
||||
|
||||
2. If you plan to use Zlib or Szip:
|
||||
A. Download the packages and install them in a central location.
|
||||
For example on Windows, create a folder extlibs and install the
|
||||
packages there.
|
||||
B. Use source packages from an SVN server by adding the following CMake
|
||||
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"
|
||||
where "some_location" is the URL to the SVN repository.
|
||||
C. Use source packages from a compressed file by adding the following
|
||||
CMake options:
|
||||
HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="TGZ"
|
||||
ZLIB_TGZ_NAME:STRING="zlib_src.ext"
|
||||
SZIP_TGZ_NAME:STRING="szip_src.ext"
|
||||
TGZ_PATH:STRING="some_location"
|
||||
where "some_location" is the URL or full path to the compressed
|
||||
file and ext is the type of compression file.
|
||||
|
||||
3. If you are building on Apple Darwin platforms, you should add the
|
||||
following options:
|
||||
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
|
||||
|
||||
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.
|
||||
|
||||
|
||||
Notes: More information about using CMake can be found at the KitWare site,
|
||||
www.cmake.org.
|
||||
|
||||
CMake uses the command line, however the visual CMake tool is
|
||||
CMake uses the command line; however, the visual CMake tool is
|
||||
recommended for the configuration step. The steps are similar for
|
||||
all the operating systems supported by CMake.
|
||||
|
||||
@ -20,58 +135,36 @@ Notes: This short instruction is written for users who want to quickly build
|
||||
tested outside of HDF. The CMake specific files may change
|
||||
before the next release.
|
||||
|
||||
2. CMake was originally introduced to support development on Windows,
|
||||
however it 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.
|
||||
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.
|
||||
|
||||
3. Build and test results can be submitted to our CDash server at:
|
||||
cdash.hdfgroup.uiuc.edu.
|
||||
cdash.hdfgroup.uiuc.edu.
|
||||
Please read the HDF and CDash document at:
|
||||
www.hdfgroup.org/CDash/HowToSubmit.
|
||||
www.hdfgroup.org/CDash/HowToSubmit.
|
||||
|
||||
4. See the appendix at the bottom of this file for examples of using
|
||||
a ctest script for building and testing.
|
||||
|
||||
|
||||
========================================================================
|
||||
Preconditions
|
||||
========================================================================
|
||||
|
||||
1. We suggest you obtain the latest CMake for windows from the Kitware
|
||||
web site. The HDF5 1.8.x product requires CMake version 2.8.10.
|
||||
|
||||
2. If you plan to use Zlib or Szip;
|
||||
A. Download the packages and install them
|
||||
in a central location. For example on Windows, create a folder extlibs
|
||||
and install the packages there.
|
||||
B. Use source packages from a SVN server by adding the following CMake
|
||||
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"
|
||||
where "some_location" is the URL to the SVN repository.
|
||||
C. Use source packages from a compressed file by adding the following CMake
|
||||
options:
|
||||
HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="TGZ"
|
||||
ZLIB_TGZ_NAME:STRING="zlib_src.ext"
|
||||
SZIP_TGZ_NAME:STRING="szip_src.ext"
|
||||
TGZ_PATH:STRING="some_location"
|
||||
where "some_location" is the URL or full path to the compressed file and
|
||||
ext is the type of compression file.
|
||||
|
||||
3. Building on Apple Darwin platforms should add the following options:
|
||||
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
|
||||
|
||||
|
||||
|
||||
========================================================================
|
||||
Building HDF5 C/C++ Libraries with CMake
|
||||
III. Building HDF5 C/C++ Libraries with CMake
|
||||
========================================================================
|
||||
|
||||
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.
|
||||
|
||||
========================================================================
|
||||
|
||||
1. Run CMake
|
||||
@ -80,18 +173,21 @@ Notes: This short instruction is written for users who want to quickly build
|
||||
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.
|
||||
|
||||
Specify the source and build directories.
|
||||
***** It is recommemded that you choose a build directory ******
|
||||
***** different then the source directory ******
|
||||
(for example on Windows, if the source is at c:\MyHDFstuff\hdf5, then
|
||||
use c:\MyHDFstuff\hdf5\build or c:\MyHDFstuff\build\hdf5).
|
||||
|
||||
***** 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.
|
||||
|
||||
OPTIONAL:
|
||||
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:
|
||||
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:
|
||||
|
||||
cmake -C <sourcepath>/config/cmake/cacheinit.cmake -G "<generator>" [-D<options>] <sourcepath>
|
||||
|
||||
@ -101,6 +197,8 @@ Notes: This short instruction is written for users who want to quickly build
|
||||
* MinGW Makefiles
|
||||
* NMake Makefiles
|
||||
* Unix Makefiles
|
||||
* Visual Studio 11
|
||||
* Visual Studio 11 Win64
|
||||
* Visual Studio 10
|
||||
* Visual Studio 10 Win64
|
||||
* Visual Studio 6
|
||||
@ -119,7 +217,7 @@ Notes: This short instruction is written for users who want to quickly build
|
||||
* <HDF5OPTION>:BOOL=[ON | OFF]
|
||||
|
||||
<cacheinit.cmake> is:
|
||||
# This is the CMakeCache file.
|
||||
# This is the CMakeCache file used by HDF Group for daily tests.
|
||||
########################
|
||||
# EXTERNAL cache entries
|
||||
########################
|
||||
@ -167,7 +265,7 @@ Notes: This short instruction is written for users who want to quickly build
|
||||
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
|
||||
can adjust the cache settings and/or specify locations of other programs.
|
||||
can adjust the cache settings and/or specify the locations of other programs.
|
||||
|
||||
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
|
||||
@ -185,8 +283,8 @@ Notes: This short instruction is written for users who want to quickly build
|
||||
cmake -C ../config/cmake/cacheinit.cmake -G "Visual Studio 9 2008" \
|
||||
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF ..
|
||||
|
||||
2.3 On Windows, if you are using a VS Express version you must be sure that the
|
||||
following two options are correctly set/unset:
|
||||
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:
|
||||
|
||||
HDF5_NO_PACKAGES:BOOL=ON
|
||||
HDF5_USE_FOLDERS:BOOL=OFF
|
||||
@ -197,7 +295,7 @@ Notes: This short instruction is written for users who want to quickly build
|
||||
or the command line. The command line is used on linux, Unix, and Mac.
|
||||
|
||||
To build from the command line, navigate to your build directory and
|
||||
execute the following;
|
||||
execute the following:
|
||||
|
||||
cmake --build . --config {Debug | Release}
|
||||
|
||||
@ -209,33 +307,34 @@ Notes: This short instruction is written for users who want to quickly build
|
||||
Release and build the solution.
|
||||
|
||||
3.2.1 The external libraries (zlib and szip) can be configured
|
||||
to allow building the libraries by downloading from a SVN repository.
|
||||
to allow building the libraries by downloading from an SVN repository.
|
||||
The option is 'HDF5_ALLOW_EXTERNAL_SUPPORT'; by adding the following
|
||||
configuration option:
|
||||
-DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING="SVN"
|
||||
|
||||
The options to control the SVN URL (config/cmake/cacheinit.cmake file):
|
||||
The options to control the SVN URL (config/cmake/cacheinit.cmake file) are:
|
||||
ZLIB_SVN_URL:STRING="http://svn.hdfgroup.uiuc.edu/zlib/trunk"
|
||||
SZIP_SVN_URL:STRING="http://svn.hdfgroup.uiuc.edu/szip/trunk"
|
||||
These should be changed to your location.
|
||||
|
||||
3.2.2 Or the external libraries (zlib and szip) can be configured
|
||||
to allow building the libraries by using a compressed file.
|
||||
The option is 'HDF5_ALLOW_EXTERNAL_SUPPORT'; by adding the following
|
||||
configuration option:
|
||||
The option is 'HDF5_ALLOW_EXTERNAL_SUPPORT' and is enabled by
|
||||
adding the following configuration option:
|
||||
-DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING="TGZ"
|
||||
|
||||
The options to control the SVN URL (config/cmake/cacheinit.cmake file):
|
||||
The options to control the SVN URL (config/cmake/cacheinit.cmake
|
||||
file) are:
|
||||
ZLIB_TGZ_NAME:STRING="zlib_src.ext"
|
||||
SZIP_TGZ_NAME:STRING="szip_src.ext"
|
||||
TGZ_PATH:STRING="some_location"
|
||||
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 file like:
|
||||
.bz2, .tar, .tar.gz, .tgz, .zip
|
||||
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
|
||||
file such as .bz2, .tar, .tar.gz, .tgz, or .zip.
|
||||
|
||||
4. Test HDF5.
|
||||
4. Test HDF5
|
||||
|
||||
To test the build, navigate to your build directory and execute;
|
||||
To test the build, navigate to your build directory and execute:
|
||||
|
||||
ctest . -C {Debug | Release}
|
||||
|
||||
@ -243,7 +342,7 @@ Notes: This short instruction is written for users who want to quickly build
|
||||
recommend choosing either Debug or Release to match the build
|
||||
step on Windows.
|
||||
|
||||
5. Packaging HDF5
|
||||
5. Packaging HDF5 (create an install image)
|
||||
|
||||
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.
|
||||
@ -252,17 +351,17 @@ Notes: This short instruction is written for users who want to quickly build
|
||||
|
||||
cpack -C {Debug | Release} CPackConfig.cmake
|
||||
|
||||
NOTE: We have just introduced the packaging capability and it has not been
|
||||
extensively tested. Please send us comments on how it can be improved.
|
||||
See NSIS note 8 of this document.
|
||||
Also, if you are using a VS 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)
|
||||
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)
|
||||
|
||||
6. The files that support building HDF5 with CMake are all the files in the
|
||||
config/cmake folder, the CMakeLists.txt files in each source folder, and
|
||||
CTestConfig.cmake. CTestConfig.cmake is specific to the internal testing
|
||||
performed by The HDF Group. It should be altered for the users
|
||||
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
|
||||
installation and needs.
|
||||
|
||||
7. More information about using CMake can be found at the KitWare site,
|
||||
@ -276,90 +375,104 @@ Notes: This short instruction is written for users who want to quickly build
|
||||
"output directory", which is where the program will be installed. These
|
||||
options are case-sensitive, so be sure to type them in upper case.
|
||||
|
||||
|
||||
|
||||
|
||||
========================================================================
|
||||
All options for HDF5 C/C++ Libraries with CMake
|
||||
Option Name --- Option Description --- Option Default
|
||||
IV. All Options for HDF5 C/C++ Libraries with CMake
|
||||
========================================================================
|
||||
|
||||
In the options listed below, there are three columns of information:
|
||||
Option Name, Option Description, and Option Default.
|
||||
|
||||
---------------- General Build Options ---------------------
|
||||
BUILD_SHARED_LIBS "Build Shared Libraries" OFF
|
||||
BUILD_SHARED_LIBS "Build Shared Libraries" OFF
|
||||
BUILD_STATIC_EXECS "Build Static Executabless" OFF
|
||||
BUILD_STATIC_PIC "Build Static PIC" OFF
|
||||
BUILD_TESTING "Build HDF5 Unit Testing" OFF
|
||||
BUILD_STATIC_PIC "Build Static PIC" OFF
|
||||
BUILD_TESTING "Build HDF5 Unit Testing" OFF
|
||||
|
||||
---------------- HDF5 Build Options ---------------------
|
||||
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
|
||||
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
|
||||
IF (HDF5_BUILD_FORTRAN)
|
||||
HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" OFF
|
||||
|
||||
---------------- HDF5 Advanced Options ---------------------
|
||||
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" HDF5_Enable_Instrument
|
||||
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_GPFS "Enable GPFS hints for the MPI/POSIX file driver" OFF
|
||||
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_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_GPFS "Enable GPFS hints for the MPI/POSIX file driver" OFF
|
||||
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
|
||||
IF (APPLE)
|
||||
HDF5_BUILD_WITH_INSTALL_NAME "Build with library install_name set to the installation path" OFF
|
||||
HDF5_BUILD_WITH_INSTALL_NAME "Build with library install_name set to the installation path" OFF
|
||||
IF (CMAKE_BUILD_TYPE MATCHES Debug)
|
||||
HDF5_ENABLE_TRACE "Enable API tracing capability" ON
|
||||
HDF5_ENABLE_TRACE "Enable API tracing capability" ON
|
||||
IF (HDF5_TEST_VFD)
|
||||
HDF5_TEST_FHEAP_VFD "Execute fheap test with different VFDs" ON
|
||||
HDF5_TEST_FHEAP_VFD "Execute fheap test with different VFDs" ON
|
||||
IF (WIN32 AND NOT CYGWIN)
|
||||
HDF_LEGACY_NAMING "Use Legacy Names for Libraries and Programs" OFF
|
||||
HDF5_ENABLE_THREADSAFE "Enable Threadsafety" OFF
|
||||
HDF_LEGACY_NAMING "Use Legacy Names for Libraries and Programs" OFF
|
||||
|
||||
---------------- External Library Options ---------------------
|
||||
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
|
||||
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
|
||||
IF (HDF5_ENABLE_SZIP_SUPPORT)
|
||||
HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF
|
||||
HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF
|
||||
|
||||
|
||||
************************************************************************
|
||||
APPENDIX
|
||||
|
||||
========================================================================
|
||||
V. APPENDIX
|
||||
========================================================================
|
||||
|
||||
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
|
||||
a windows machine by adjusting the CTEST_CMAKE_GENERATOR option in the
|
||||
a Windows machine by adjusting the CTEST_CMAKE_GENERATOR option in the
|
||||
product specific script.
|
||||
|
||||
************************************************************************
|
||||
|
||||
CTestScript.cmake: common ctest script used to build, test and package
|
||||
CTestScript.cmake
|
||||
|
||||
|
||||
|
||||
========================================================================
|
||||
CTestScript.cmake
|
||||
========================================================================
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.6 FATAL_ERROR)
|
||||
The CTestScript.cmake script, shown below, is a common ctest script that
|
||||
is used to build, test, and package HDF5 Library files.
|
||||
|
||||
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.10 FATAL_ERROR)
|
||||
########################################################
|
||||
# This dashboard is maintained by The HDF Group
|
||||
# For any comments please contact cdashhelp@hdfgroup.org
|
||||
@ -569,108 +682,86 @@ endforeach(v)
|
||||
message("Dashboard script configuration:\n${vars}\n")
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
if(${MODEL} STREQUAL "Continuous")
|
||||
## Continuous mode is used for commit test processing
|
||||
## --------------------------
|
||||
while (${CTEST_ELAPSED_TIME} LESS 36000)
|
||||
set(START_TIME ${CTEST_ELAPSED_TIME})
|
||||
CTEST_START (Continuous)
|
||||
CTEST_UPDATE (SOURCE "${CTEST_SOURCE_DIRECTORY}" RETURN_VALUE res)
|
||||
set (CTEST_CHECKOUT_COMMAND) # checkout on first iteration only
|
||||
message("Dashboard updated files: ${res}\n")
|
||||
if(res GREATER 0)
|
||||
CTEST_CONFIGURE (BUILD "${CTEST_BINARY_DIRECTORY}")
|
||||
CTEST_READ_CUSTOM_FILES ("${CTEST_BINARY_DIRECTORY}")
|
||||
CTEST_SUBMIT (PARTS Update Configure Notes)
|
||||
CTEST_BUILD (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
|
||||
CTEST_SUBMIT (PARTS Build)
|
||||
CTEST_TEST (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args})
|
||||
CTEST_SUBMIT (PARTS Test)
|
||||
|
||||
execute_process (COMMAND cpack -C ${CTEST_BUILD_CONFIGURATION}
|
||||
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}")
|
||||
endif(${res} GREATER 0)
|
||||
|
||||
CTEST_SLEEP(${START_TIME} 300 ${CTEST_ELAPSED_TIME})
|
||||
endwhile (${CTEST_ELAPSED_TIME} LESS 36000)
|
||||
#-----------------------------------------------------------------------------
|
||||
else(${MODEL} STREQUAL "Continuous")
|
||||
#-----------------------------------------------------------------------------
|
||||
## NORMAL process
|
||||
## -- LOCAL_SKIP_UPDATE skips updating the source folder from svn
|
||||
## -- LOCAL_NO_SUBMIT skips reporting 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(NOT LOCAL_SKIP_UPDATE)
|
||||
CTEST_UPDATE (SOURCE "${CTEST_SOURCE_DIRECTORY}")
|
||||
endif(NOT LOCAL_SKIP_UPDATE)
|
||||
CTEST_CONFIGURE (BUILD "${CTEST_BINARY_DIRECTORY}")
|
||||
CTEST_READ_CUSTOM_FILES ("${CTEST_BINARY_DIRECTORY}")
|
||||
if(NOT LOCAL_NO_SUBMIT)
|
||||
CTEST_SUBMIT (PARTS Update Configure Notes)
|
||||
endif(NOT LOCAL_NO_SUBMIT)
|
||||
CTEST_BUILD (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
|
||||
if(NOT LOCAL_NO_SUBMIT)
|
||||
CTEST_SUBMIT (PARTS Build)
|
||||
endif(NOT LOCAL_NO_SUBMIT)
|
||||
if(NOT LOCAL_SKIP_TEST)
|
||||
if(NOT LOCAL_MEMCHECK_TEST)
|
||||
CTEST_TEST (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args})
|
||||
if(NOT LOCAL_NO_SUBMIT)
|
||||
CTEST_SUBMIT (PARTS Test)
|
||||
endif(NOT LOCAL_NO_SUBMIT)
|
||||
else(NOT LOCAL_MEMCHECK_TEST)
|
||||
CTEST_MEMCHECK (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args})
|
||||
if(NOT LOCAL_NO_SUBMIT)
|
||||
CTEST_SUBMIT (PARTS MemCheck)
|
||||
endif(NOT LOCAL_NO_SUBMIT)
|
||||
endif(NOT LOCAL_MEMCHECK_TEST)
|
||||
if(LOCAL_COVERAGE_TEST)
|
||||
CTEST_COVERAGE (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
|
||||
if(NOT LOCAL_NO_SUBMIT)
|
||||
CTEST_SUBMIT (PARTS Coverage)
|
||||
endif(NOT LOCAL_NO_SUBMIT)
|
||||
endif(LOCAL_COVERAGE_TEST)
|
||||
endif(NOT LOCAL_SKIP_TEST)
|
||||
## NORMAL process
|
||||
## -- LOCAL_SKIP_UPDATE skips updating the source folder from svn
|
||||
## -- LOCAL_NO_SUBMIT skips reporting 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(NOT LOCAL_SKIP_UPDATE)
|
||||
CTEST_UPDATE (SOURCE "${CTEST_SOURCE_DIRECTORY}")
|
||||
endif(NOT LOCAL_SKIP_UPDATE)
|
||||
CTEST_CONFIGURE (BUILD "${CTEST_BINARY_DIRECTORY}")
|
||||
CTEST_READ_CUSTOM_FILES ("${CTEST_BINARY_DIRECTORY}")
|
||||
if(NOT LOCAL_NO_SUBMIT)
|
||||
CTEST_SUBMIT (PARTS Update Configure Notes)
|
||||
endif(NOT LOCAL_NO_SUBMIT)
|
||||
CTEST_BUILD (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
|
||||
if(NOT LOCAL_NO_SUBMIT)
|
||||
CTEST_SUBMIT (PARTS Build)
|
||||
endif(NOT LOCAL_NO_SUBMIT)
|
||||
if(NOT LOCAL_SKIP_TEST)
|
||||
if(NOT LOCAL_MEMCHECK_TEST)
|
||||
##-----------------------------------------------
|
||||
## 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}")
|
||||
CTEST_TEST (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args})
|
||||
if(NOT LOCAL_NO_SUBMIT)
|
||||
CTEST_SUBMIT (PARTS Test)
|
||||
endif(NOT LOCAL_NO_SUBMIT)
|
||||
else(NOT LOCAL_MEMCHECK_TEST)
|
||||
CTEST_MEMCHECK (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args})
|
||||
if(NOT LOCAL_NO_SUBMIT)
|
||||
CTEST_SUBMIT (PARTS MemCheck)
|
||||
endif(NOT LOCAL_NO_SUBMIT)
|
||||
endif(NOT LOCAL_MEMCHECK_TEST)
|
||||
endif(${MODEL} STREQUAL "Continuous")
|
||||
if(LOCAL_COVERAGE_TEST)
|
||||
CTEST_COVERAGE (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
|
||||
if(NOT LOCAL_NO_SUBMIT)
|
||||
CTEST_SUBMIT (PARTS Coverage)
|
||||
endif(NOT LOCAL_NO_SUBMIT)
|
||||
endif(LOCAL_COVERAGE_TEST)
|
||||
endif(NOT LOCAL_SKIP_TEST)
|
||||
if(NOT LOCAL_MEMCHECK_TEST)
|
||||
##-----------------------------------------------
|
||||
## 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}")
|
||||
endif(NOT LOCAL_MEMCHECK_TEST)
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
message("DONE:CTestScript")
|
||||
************************************************************************
|
||||
|
||||
************************************************************************
|
||||
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
|
||||
|
||||
|
||||
========================================================================
|
||||
ctest
|
||||
========================================================================
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.6 FATAL_ERROR)
|
||||
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
|
||||
############################################################################
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.10 FATAL_ERROR)
|
||||
|
||||
# CTEST_SCRIPT_ARG is the source folder passed on the command line
|
||||
set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY})
|
||||
set(CTEST_SOURCE_NAME ${CTEST_SCRIPT_ARG})
|
||||
set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}/buildstatic)
|
||||
set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY})
|
||||
set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}")
|
||||
set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}")
|
||||
set(CTEST_BUILD_CONFIGURATION "Release")
|
||||
@ -703,7 +794,11 @@ include(${CTEST_SCRIPT_DIRECTORY}/CTestScript.cmake)
|
||||
|
||||
message("DONE")
|
||||
|
||||
************************************************************************
|
||||
|
||||
Need further assistance, send email to help@hdfgroup.org
|
||||
|
||||
========================================================================
|
||||
For further assistance, send email to help@hdfgroup.org
|
||||
========================================================================
|
||||
|
||||
|
||||
|
@ -6,8 +6,11 @@
|
||||
|
||||
We now recommend that users build, test and install HDF5 using CMake.
|
||||
|
||||
Instructions for building and testing HDF5 using CMake can be found in
|
||||
the CMake.txt file found in this folder.
|
||||
Instructions for building and testing HDF5 using CMake can be found in the
|
||||
INSTALL_CMake.txt file found in this folder.
|
||||
|
||||
The old INSTALL_Windows documentation can be found in the
|
||||
obsolete_windows_docs\ folder located with this document.
|
||||
For instructions of building and testing an application with HDF5, see
|
||||
USING_HDF5_CMake.txt file found in this folder.
|
||||
|
||||
Users who want to build and run an application with HDF5 in Visual Studio
|
||||
without using CMake should consult the USING_HDF5_VS.txt file.
|
||||
|
@ -1,79 +1,96 @@
|
||||
************************************************************************
|
||||
* Build and Install HDF5 Applications with CMake *
|
||||
* Build and Install HDF5 Applications with CMake *
|
||||
************************************************************************
|
||||
|
||||
Notes: This short instruction is written for users who want to quickly build
|
||||
HDF5 Applications from the HDF5 Examples package using the CMake tools.
|
||||
Users can adapt these instructions for their own applications, see the
|
||||
"Minimum Project Files" section.
|
||||
Notes: This short instruction is written for users who want to quickly
|
||||
build HDF5 applications using the CMake tools. Users can adapt
|
||||
these instructions for their own applications. For more information,
|
||||
see the "Minimum C Project Files for CMake" section.
|
||||
|
||||
More information about using CMake can be found at the KitWare site,
|
||||
www.cmake.org.
|
||||
More information about using CMake can be found at the KitWare
|
||||
site, www.cmake.org.
|
||||
|
||||
CMake uses the command line, however the visual CMake tool is
|
||||
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.
|
||||
all of the operating systems supported by CMake.
|
||||
|
||||
NOTES:
|
||||
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.
|
||||
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.
|
||||
|
||||
2. CMake was originally introduced to support development on Windows,
|
||||
however it 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.
|
||||
|
||||
3. HDF5 library build and test results can be submitted to our CDash server at:
|
||||
cdash.hdfgroup.uiuc.edu.
|
||||
Please read the HDF and CDash document at:
|
||||
www.hdfgroup.org/CDash/HowToSubmit.
|
||||
|
||||
4. See the appendix at the bottom of this file for an example of using
|
||||
a ctest script for building and testing. See CMake.txt for more
|
||||
information.
|
||||
2. CMake 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.
|
||||
|
||||
3. See the appendix at the bottom of this file for an example
|
||||
of using a ctest script for building and testing. See
|
||||
CMake.txt for more information.
|
||||
|
||||
|
||||
|
||||
========================================================================
|
||||
Preconditions
|
||||
========================================================================
|
||||
I. Preconditions
|
||||
========================================================================
|
||||
|
||||
1. We suggest you obtain the latest CMake for windows from the Kitware
|
||||
web site. The HDF5 1.8.x product requires CMake version 2.8.10 (minimum).
|
||||
web site. The HDF5 1.8.x product requires a minimum CMake version
|
||||
of 2.8.10.
|
||||
|
||||
2. You have installed the HDF5 library built with CMake, by executing the
|
||||
HDF Install Utility (The *.exe file in the binary package for Windows).
|
||||
If you are using a Windows platform, you can obtain a pre-built Windows
|
||||
binary from The HDF Group's website at www.hdfgroup.org.
|
||||
2. You have installed the HDF5 library built with CMake, by executing
|
||||
the HDF Install Utility (the *.exe file in the binary package for
|
||||
Windows). If you are using a Windows platform, you can obtain a
|
||||
pre-built Windows binary from The HDF Group's website at
|
||||
www.hdfgroup.org.
|
||||
|
||||
3. Set the environment variable HDF5_DIR to the installed location of
|
||||
the config files for HDF5. On Windows:
|
||||
HDF5_DIR=C:/Program Files/HDF_Group/HDF5/1.8.x/cmake/hdf5
|
||||
|
||||
(Note there are no quote characters used on Windows and all platforms
|
||||
use forward slashes)
|
||||
|
||||
4. Created separate source and build directories.
|
||||
(CMake commands are executed in the build directory)
|
||||
|
||||
5. Created a CMakeLists.txt file(s) for your source. See Section III
|
||||
below.
|
||||
|
||||
|
||||
|
||||
3. On Windows with Visual Studio, if you have installed the static HDF5
|
||||
library, you will need to add the HDF5\lib folder to the library
|
||||
search list. See the "Using Static Libraries with Visual Studio" section.
|
||||
|
||||
4. Set the environment variable HDF5_ROOT to the installed location of HDF5.
|
||||
On Windows HDF5_ROOT=C:\Program Files\HDF Group\HDF5\hdf5-1.8.x
|
||||
(Note there are no quote characters used on windows)
|
||||
|
||||
========================================================================
|
||||
Building HDF5 Applications with CMake
|
||||
II. Building HDF5 Applications with CMake
|
||||
========================================================================
|
||||
|
||||
Go through these steps to build HDF5 applications with CMake.
|
||||
|
||||
1. Run CMake
|
||||
2. Configure the cache settings
|
||||
3. Build HDF5 Applications
|
||||
4. Test HDF5 Applications.
|
||||
|
||||
These steps are described in more detail below.
|
||||
|
||||
|
||||
|
||||
1. Run CMake
|
||||
|
||||
The CMake executable is named "cmake-gui.exe" on Windows and should be
|
||||
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.
|
||||
Specify the source and build directories. It is recommended that you
|
||||
choose a build directory different then the source directory
|
||||
(for example on Windows, if the source is at c:\MyHDFstuff\hdf5, then
|
||||
use c:\MyHDFstuff\hdf5\build or c:\MyHDFstuff\build\hdf5).
|
||||
|
||||
Specify the source and build directories. 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 for the build directory.
|
||||
|
||||
OPTIONAL:
|
||||
Users can perform the configuration step without using the visual cmake-gui
|
||||
program. Example configuration step executed within the build directory:
|
||||
Users can perform the configuration step without using the visual
|
||||
cmake-gui program. The following is an example command line
|
||||
configuration step executed within the build directory:
|
||||
|
||||
cmake -G "<generator>" [-D<options>] <sourcepath>
|
||||
|
||||
@ -83,6 +100,8 @@ Notes: This short instruction is written for users who want to quickly build
|
||||
* MinGW Makefiles
|
||||
* NMake Makefiles
|
||||
* Unix Makefiles
|
||||
* Visual Studio 11
|
||||
* Visual Studio 11 Win64
|
||||
* Visual Studio 10
|
||||
* Visual Studio 10 Win64
|
||||
* Visual Studio 6
|
||||
@ -127,7 +146,7 @@ Notes: This short instruction is written for users who want to quickly build
|
||||
or the command line. The command line is normally used on linux, Unix, and Mac.
|
||||
|
||||
To build from the command line, navigate to your build directory and
|
||||
execute the following;
|
||||
execute the following:
|
||||
|
||||
cmake --build . --config {Debug | Release}
|
||||
|
||||
@ -139,9 +158,9 @@ Notes: This short instruction is written for users who want to quickly build
|
||||
file in your build directory. Be sure to select either Debug or
|
||||
Release and build the solution.
|
||||
|
||||
4. Test HDF5 Applications.
|
||||
4. Test HDF5 Applications
|
||||
|
||||
To test the build, navigate to your build directory and execute;
|
||||
To test the build, navigate to your build directory and execute:
|
||||
|
||||
ctest . -C {Debug | Release}
|
||||
|
||||
@ -149,95 +168,74 @@ Notes: This short instruction is written for users who want to quickly build
|
||||
recommend choosing either Debug or Release to match the build
|
||||
step on Windows.
|
||||
|
||||
6. The files that support building with CMake are all the files in the
|
||||
5. The files that support building with CMake are all of the files in the
|
||||
config/cmake folder, the CMakeLists.txt files in each source folder, and
|
||||
CTestConfig.cmake. CTestConfig.cmake is specific to the internal testing
|
||||
performed by The HDF Group. It should be altered for the users
|
||||
installation and needs.
|
||||
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
|
||||
installation and needs.
|
||||
|
||||
|
||||
|
||||
7. More information about using CMake can be found at the KitWare site,
|
||||
www.cmake.org.
|
||||
|
||||
|
||||
========================================================================
|
||||
Using Visual Studio 2008 with HDF5 Libraries built with Visual Studio 2008
|
||||
III. Minimum C Project Files for CMake
|
||||
========================================================================
|
||||
|
||||
8. Set up path for external libraries and headers
|
||||
6. Create a CMakeLists.txt file at the source root. Include the
|
||||
following text in the file:
|
||||
|
||||
Invoke Microsoft Visual Studio and go to "Tools" and select "Options",
|
||||
find "Projects", and then "VC++ Directories".
|
||||
|
||||
8.1 If you are building on 64-bit Windows, find the "Platform" dropdown
|
||||
and select "x64".
|
||||
|
||||
8.2 Find the box "Show directories for", choose "Include files", add the
|
||||
header path (i.e. c:\Program Files\HDF Group\HDF5\hdf5-1.8.x\include)
|
||||
to the included directories.
|
||||
|
||||
8.3 Find the box "Show directories for", choose "Library files", add the
|
||||
library path (i.e. c:\Program Files\HDF Group\HDF5\hdf5-1.8.x\lib)
|
||||
to the library directories.
|
||||
|
||||
8.4 If using Fortran libraries, you will also need to setup the path
|
||||
for the Intel Fortran compiler.
|
||||
|
||||
|
||||
========================================================================
|
||||
Using Visual Studio 2010 with HDF5 Libraries built with Visual Studio 2010
|
||||
========================================================================
|
||||
|
||||
9. Set up path for external libraries and headers
|
||||
|
||||
The path settings will need to be in project property sheets per project.
|
||||
Go to "Project" and select "Properties", find "Configuration Properties",
|
||||
and then "VC++ Directories".
|
||||
|
||||
9.1 If you are building on 64-bit Windows, find the "Platform" dropdown
|
||||
and select "x64".
|
||||
|
||||
9.2 Add the header path to the "Include Directories" setting.
|
||||
|
||||
9.3 Add the library path to the "Library Directories" setting.
|
||||
|
||||
|
||||
========================================================================
|
||||
Minimum C Project Files for CMake
|
||||
========================================================================
|
||||
|
||||
10. Create a CMakeLists.txt file at the source root.
|
||||
..........................................................................
|
||||
##########################################################
|
||||
cmake_minimum_required (VERSION 2.8.10)
|
||||
PROJECT (HDF5MyApp C CXX)
|
||||
|
||||
FIND_PACKAGE (HDF5 REQURIED)
|
||||
INCLUDE_DIRECTORIES (${HDF5_INCLUDE_DIRS})
|
||||
FIND_PACKAGE (HDF5 NAMES hdf5)
|
||||
# FIND_PACKAGE (HDF5) # Find non-cmake built HDF5
|
||||
INCLUDE_DIRECTORIES (${HDF5_INCLUDE_DIR})
|
||||
SET (LINK_LIBS ${LINK_LIBS} ${HDF5_LIBRARIES})
|
||||
|
||||
ADD_EXECUTABLE (hdf_example ${PROJECT_SOURCE_DIR}/hdf_example.c)
|
||||
TARGET_LINK_LIBRARIES (hdf_example ${LINK_LIBS})
|
||||
..........................................................................
|
||||
SET (example hdf_example)
|
||||
|
||||
ADD_EXECUTABLE (${example} ${PROJECT_SOURCE_DIR}/${example}.c)
|
||||
TARGET_LINK_LIBRARIES (${example} ${LINK_LIBS})
|
||||
|
||||
ENABLE_TESTING ()
|
||||
INCLUDE (CTest)
|
||||
|
||||
ADD_TEST (NAME test_example COMMAND ${example})
|
||||
##########################################################
|
||||
|
||||
|
||||
************************************************************************
|
||||
APPENDIX
|
||||
|
||||
Below ia an example of the ctest script used by The HDF Group. See the
|
||||
Appendix in the CMake.txt file for the CTestScript.cmake file used by this
|
||||
script.
|
||||
|
||||
************************************************************************
|
||||
Product specific script, HDF518Example.cmake, that uses the
|
||||
CTestScript.cmake file (see Appendix in the CMake.txt). Usage:
|
||||
"ctest -S HDF518Example.cmake,hdf518Examples -C Release -O hdf518EX.log"
|
||||
where hdf518Examples is the source folder relative to the location of these scripts
|
||||
========================================================================
|
||||
IV. APPENDIX
|
||||
========================================================================
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.6 FATAL_ERROR)
|
||||
Below is an example of the ctest script used by The HDF Group. See the
|
||||
Appendix in the INSTALL_CMake.txt file for the CTestScript.cmake file used
|
||||
by this script. 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.
|
||||
Windows should adjust the forward slash to double backslashes, except for
|
||||
the HDF_DIR environment variable.
|
||||
|
||||
|
||||
|
||||
========================================================================
|
||||
ctest
|
||||
========================================================================
|
||||
|
||||
############################################################################
|
||||
# Product specific script, HDF518Example.cmake, that uses the
|
||||
# CTestScript.cmake file (see Appendix in the CMake.txt). Usage:
|
||||
# "ctest -S HDF518Example.cmake,hdf518Examples -C Release -O hdf518EX.log"
|
||||
# where hdf518Examples is the source folder relative to the location of these scripts
|
||||
############################################################################
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.10 FATAL_ERROR)
|
||||
|
||||
set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY})
|
||||
set(CTEST_SOURCE_NAME ${CTEST_SCRIPT_ARG})
|
||||
set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}/build)
|
||||
set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY})
|
||||
set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}")
|
||||
set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}")
|
||||
set(CTEST_BUILD_CONFIGURATION "Release")
|
||||
@ -254,6 +252,10 @@ set(SITE_OS_BITS "os size")
|
||||
set(SITE_COMPILER_NAME "compiler name")
|
||||
set(SITE_COMPILER_VERSION "compiler version")
|
||||
|
||||
# skip submit to cdash
|
||||
set(LOCAL_NO_SUBMIT "True")
|
||||
# skip update source from repository
|
||||
set(LOCAL_SKIP_UPDATE "True")
|
||||
|
||||
# needed for source updates, change as required
|
||||
set(REPOSITORY_URL "http://svn.hdfgroup.uiuc.edu/hdf5-examples/trunk/1_8")
|
||||
@ -266,7 +268,12 @@ set(ENV{HDF5_DIR} "/usr/share/cmake/hdf5")
|
||||
include(${CTEST_SCRIPT_DIRECTORY}/CTestScript.cmake)
|
||||
|
||||
message("DONE")
|
||||
#################################################################################
|
||||
|
||||
|
||||
Need further assistance, send email to help@hdfgroup.org
|
||||
|
||||
========================================================================
|
||||
For further assistance, send email to help@hdfgroup.org
|
||||
========================================================================
|
||||
|
||||
|
88
release_docs/USING_HDF5_VS.txt
Normal file
88
release_docs/USING_HDF5_VS.txt
Normal file
@ -0,0 +1,88 @@
|
||||
|
||||
***********************************************************************
|
||||
* HDF5 Build and Install Suggestions for Windows and Visual Studio *
|
||||
* (Full Version) *
|
||||
***********************************************************************
|
||||
|
||||
These suggestions are for Visual Studio users.
|
||||
|
||||
Instructions for building and testing HDF5 applications using CMake can
|
||||
be found in the USING_CMake.txt file found in this folder.
|
||||
|
||||
The following two sections are helpful if you do not use CMake to build
|
||||
your applications.
|
||||
|
||||
========================================================================
|
||||
Using Visual Studio 2010 with HDF5 Libraries built with Visual Studio 2010
|
||||
========================================================================
|
||||
|
||||
1. Set up path for external libraries and headers
|
||||
|
||||
The path settings will need to be in project property sheets per project.
|
||||
Go to "Project" and select "Properties", find "Configuration Properties",
|
||||
and then "VC++ Directories".
|
||||
|
||||
1.1 If you are building on 64-bit Windows, find the "Platform" dropdown
|
||||
and select "x64".
|
||||
|
||||
1.2 Add the header path to the "Include Directories" setting.
|
||||
|
||||
1.3 Add the library path to the "Library Directories" setting.
|
||||
|
||||
1.4 Select Linker->Input and beginning with the
|
||||
"Additional Dependencies" line, enter the library names. The
|
||||
external libraries should be listed first, followed by the HDF5
|
||||
library, and then optionally the HDF5 High Level, Fortran or C++
|
||||
libraries. For example, to compile a C++ application, enter:
|
||||
|
||||
szip.lib zlib.lib hdf5dll.lib hdf5_cppdll.lib
|
||||
|
||||
|
||||
==========================================================================
|
||||
Using Visual Studio 2008 with HDF5 Libraries built with Visual Studio 2008
|
||||
==========================================================================
|
||||
|
||||
2. Set up path for external libraries and headers
|
||||
|
||||
Invoke Microsoft Visual Studio and go to "Tools" and select "Options",
|
||||
find "Projects", and then "VC++ Directories".
|
||||
|
||||
2.1 If you are building on 64-bit Windows, find the "Platform" dropdown
|
||||
and select "x64".
|
||||
|
||||
2.2 Find the box "Show directories for", choose "Include files", add the
|
||||
header path (i.e. c:\Program Files\HDF_Group\HDF5\1.8.x\include)
|
||||
to the included directories.
|
||||
|
||||
2.3 Find the box "Show directories for", choose "Library files", add the
|
||||
library path (i.e. c:\Program Files\HDF_Group\HDF5\1.8.x\lib)
|
||||
to the library directories.
|
||||
|
||||
2.4 If using Fortran libraries, you will also need to setup the path
|
||||
for the Intel Fortran compiler.
|
||||
|
||||
2.5 Select Project->Properties->Linker->Input and beginning with the
|
||||
"Additional Dependencies" line, enter the library names. The
|
||||
external libraries should be listed first, followed by the HDF5
|
||||
library, and then optionally the HDF5 High Level, Fortran or C++
|
||||
libraries. For example, to compile a C++ application, enter:
|
||||
|
||||
szip.lib zlib.lib hdf5dll.lib hdf5_cppdll.lib
|
||||
|
||||
========================================================================
|
||||
3. Helpful Pointers
|
||||
========================================================================
|
||||
|
||||
3.1 FAQ
|
||||
|
||||
Many other common questions and hints are located online and being updated
|
||||
in the HDF5 FAQ. For Windows-specific questions, please see:
|
||||
|
||||
http://www.hdfgroup.org/windows/faq.html
|
||||
|
||||
For all other general questions, you can look in the general FAQ:
|
||||
|
||||
http://hdfgroup.org/HDF5-FAQ.html
|
||||
|
||||
************************************************************************
|
||||
Please send email to help@hdfgroup.org for further assistance.
|
@ -1,35 +0,0 @@
|
||||
|
||||
***********************************************************************
|
||||
* HDF5 Build and Install Instructions for Windows *
|
||||
* (Full Version) *
|
||||
***********************************************************************
|
||||
|
||||
We now recommend that users build, test and install HDF5 using CMake.
|
||||
|
||||
Instructions for building and testing HDF5 applications using CMake can be found in
|
||||
the USING_CMake.txt file found in this folder.
|
||||
|
||||
|
||||
========================================================================
|
||||
Section VI: Misc.
|
||||
========================================================================
|
||||
|
||||
1. Helpful Pointers
|
||||
|
||||
Here are some helpful notes if you are not familiar with
|
||||
using the Visual C++ Development Environment.
|
||||
|
||||
1.1 FAQ
|
||||
|
||||
Many other common questions and hints are located online and being updated
|
||||
in the HDF5 FAQ. For Windows-specific questions, please see:
|
||||
|
||||
http://www.hdfgroup.org/windows/faq.html
|
||||
|
||||
For all other general questions, you can look in the general FAQ:
|
||||
|
||||
http://hdfgroup.org/HDF5-FAQ.html
|
||||
|
||||
|
||||
************************************************************************
|
||||
Please send email to help@hdfgroup.org for further assistance.
|
Loading…
Reference in New Issue
Block a user