mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-12-21 07:51:46 +08:00
90 lines
4.6 KiB
Plaintext
90 lines
4.6 KiB
Plaintext
************************************************************************
|
|
* Build and Test HDF5 Examples with CMake *
|
|
************************************************************************
|
|
|
|
Notes: This short instruction is written for users who want to quickly
|
|
test the installation of HDF5 by using the CMake tools to build
|
|
and test the HDF5 Examples. The following instructions will show
|
|
the default usage and then present common changes for non-default
|
|
installations.
|
|
For more information, see the USING_HDF5_CMake.txt file.
|
|
|
|
More information about using CMake can be found at the KitWare
|
|
site, www.cmake.org.
|
|
|
|
CMake uses the command line and these instructions use the script
|
|
method of the ctest command.
|
|
|
|
|
|
========================================================================
|
|
I. Preconditions
|
|
========================================================================
|
|
|
|
1. We suggest you obtain the latest CMake for your platform from the Kitware
|
|
web site. The HDF5 1.15.x product requires a minimum CMake version
|
|
of 3.18. If you are using VS2022, the minimum version is 3.21.
|
|
|
|
2. You have installed the HDF5 library built with CMake, by executing
|
|
the HDF Install Utility (the *.msi file in the binary package for
|
|
Windows or the *.sh on Linux). You can obtain pre-built binaries
|
|
from The HDF Group's website at www.hdfgroup.org.
|
|
|
|
|
|
|
|
========================================================================
|
|
II. Building HDF5 Examples with CMake
|
|
========================================================================
|
|
|
|
Files in the HDF5 install directory:
|
|
HDF5Examples folder
|
|
CTestScript.cmake
|
|
HDF5_Examples.cmake
|
|
HDF5_Examples_options.cmake
|
|
|
|
Default installation process:
|
|
Create a directory to run the examples, i.e. \test_hdf5.
|
|
Copy HDF5Examples folder to this directory.
|
|
Copy CTestScript.cmake to this directory.
|
|
Copy HDF5_Examples.cmake to this directory.
|
|
Copy HDF5_Examples_options.cmake to this directory.
|
|
The default source folder is defined as "HDF5Examples". It can be changed
|
|
with the CTEST_SOURCE_NAME script option.
|
|
The default installation folder is defined for the platform.
|
|
It can be changed with the INSTALLDIR script option.
|
|
(Note: Windows has issues with spaces and paths -The path will need to
|
|
be set correctly.)
|
|
The default ctest configuration is defined as "Release". It can be changed
|
|
with the CTEST_CONFIGURATION_TYPE script option. Note that this must
|
|
be the same as the value used with the -C command line option.
|
|
The default build configuration is defined to build and use static libraries.
|
|
|
|
Shared libraries and other options can be changed by editing the
|
|
HDF5_Examples_options.cmake file.
|
|
|
|
If the defaults are okay, execute from this directory:
|
|
ctest -S HDF5_Examples.cmake -C Release -V -O test.log
|
|
If the defaults need change, execute from this directory:
|
|
ctest -S HDF5_Examples.cmake,CTEST_SOURCE_NAME=MyExamples,INSTALLDIR=MyLocation -C Release -V -O test.log
|
|
|
|
When executed, the ctest script will save the results to the log file, test.log, as
|
|
indicated by the ctest command. If you wish to see more build and test information,
|
|
add "-VV" to the ctest command. The output should show;
|
|
100% tests passed, 0 tests failed out of 156.
|
|
|
|
|
|
========================================================================
|
|
III. Defaults in the HDF5_Examples_options.cmake file
|
|
========================================================================
|
|
|
|
#### DEFAULT: ###
|
|
#### BUILD_SHARED_LIBS:BOOL=OFF ###
|
|
#### HDF_BUILD_C:BOOL=ON ###
|
|
#### HDF_BUILD_CXX:BOOL=OFF ###
|
|
#### HDF_BUILD_FORTRAN:BOOL=OFF ###
|
|
#### HDF_BUILD_JAVA:BOOL=OFF ###
|
|
#### HDF_BUILD_FILTERS:BOOL=OFF ###
|
|
#### BUILD_TESTING:BOOL=OFF ###
|
|
#### HDF_ENABLE_PARALLEL:BOOL=OFF ###
|
|
#### HDF_ENABLE_THREADSAFE:BOOL=OFF ###
|
|
|