summaryrefslogtreecommitdiffstats
path: root/release_docs
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2020-10-16 16:09:02 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2020-10-16 16:09:02 (GMT)
commit72f5f74b67f72364b9c5b23e9d0c3ad69b1eb19b (patch)
tree8a9153cb16930982a2d56bb7f0918fb1b89e583d /release_docs
parentee5662650911ef3eded80ccc6c1748e74e045353 (diff)
downloadhdf5-72f5f74b67f72364b9c5b23e9d0c3ad69b1eb19b.zip
hdf5-72f5f74b67f72364b9c5b23e9d0c3ad69b1eb19b.tar.gz
hdf5-72f5f74b67f72364b9c5b23e9d0c3ad69b1eb19b.tar.bz2
OESS-98 add CMake option to build plugins project within hdf5
Diffstat (limited to 'release_docs')
-rw-r--r--release_docs/INSTALL_CMake.txt123
-rw-r--r--release_docs/README_HDF5_CMake1
-rw-r--r--release_docs/RELEASE.txt15
3 files changed, 131 insertions, 8 deletions
diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt
index 5c0a0ed..a893c5a 100644
--- a/release_docs/INSTALL_CMake.txt
+++ b/release_docs/INSTALL_CMake.txt
@@ -65,6 +65,9 @@ External compression szip and zlib libraries:
SZip.tar.gz
ZLib.tar.gz
+External compression plugin libraries:
+ hdf5_plugins.tar.gz
+
Examples Source package:
HDF5Examples-1.12.x-Source.tar.gz
@@ -306,9 +309,28 @@ IV. Further considerations
TGZPATH:STRING="some_location"
where "some_location" is the URL or full path to the compressed
file and ext is the type of compression file. Also set CMAKE_BUILD_TYPE
- to the configuration type during configuration
+ to the configuration type during configuration. See the settings in the
+ config/cmake/cacheinit.cmake file HDF uses for testing.
+
+ 3. If you plan to use compression plugins:
+ A. Use source packages from an GIT server by adding the following CMake
+ options:
+ HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="GIT"
+ PLUGIN_GIT_URL:STRING="http://some_location/plugins"
+ where "some_location" is the URL to the GIT repository. Also set
+ CMAKE_BUILD_TYPE to the configuration type.
- 3. If you are building on Apple Darwin platforms, you should add the
+ B. Use source packages from a compressed file by adding the following
+ CMake options:
+ HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="TGZ"
+ PLUGIN_TGZ_NAME:STRING="plugin_src.ext"
+ TGZPATH:STRING="some_location"
+ where "some_location" is the URL or full path to the compressed
+ file and ext is the type of compression file. Also set CMAKE_BUILD_TYPE
+ to the configuration type during configuration. See the settings in the
+ config/cmake/cacheinit.cmake file HDF uses for testing.
+
+ 4. 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:
@@ -318,11 +340,11 @@ IV. Further considerations
CTEST_USE_LAUNCHERS:BOOL=ON
CMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF
- 4. Windows developers should install NSIS or WiX to create an install image with CPack.
+ 5. Windows developers should install NSIS or WiX to create an install image with CPack.
Visual Studio Express users will not be able to package HDF5 into
an install image executable.
- 5. Developers can copy the config/cmake/cacheinit.cmake file and alter the
+ 6. Developers can copy the config/cmake/cacheinit.cmake file and alter the
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:
@@ -330,7 +352,7 @@ IV. Further considerations
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF \
-DCMAKE_BUILD_TYPE:STRING=Release ..
- 6. CMake uses a toolchain of utilities to compile, link libraries and
+ 7. CMake uses a toolchain of utilities to compile, link libraries and
create archives, and other tasks to drive the build. The toolchain
utilities available are determined by the languages enabled. In normal
builds, CMake automatically determines the toolchain for host builds
@@ -481,6 +503,87 @@ These five steps are described in detail below.
set (ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of ZLIB package" FORCE)
set (LIBAEC_PACKAGE_NAME "libaec" CACHE STRING "Name of AEC SZIP package" FORCE)
set (SZIP_PACKAGE_NAME "szip" CACHE STRING "Name of SZIP package" FORCE)
+ #######################
+ # filter plugin options
+ #######################
+ set (PLUGIN_TGZ_NAME "hdf5_plugins.tar.gz" CACHE STRING "Use PLUGINS from compressed file" FORCE)
+ set (PLUGIN_PACKAGE_NAME "pl" CACHE STRING "Name of PLUGIN package" FORCE)
+ ############
+ # bitshuffle
+ ###########
+ set (BSHUF_GIT_URL "https://git@bitbucket.hdfgroup.org/scm/test/bitshuffle.git" CACHE STRING "Use BSHUF from HDF repository" FORCE)
+ set (BSHUF_GIT_BRANCH "master" CACHE STRING "" FORCE)
+ set (BSHUF_TGZ_NAME "bitshuffle.tar.gz" CACHE STRING "Use BSHUF from compressed file" FORCE)
+ set (BSHUF_PACKAGE_NAME "bshuf" CACHE STRING "Name of BSHUF package" FORCE)
+ #######
+ # blosc
+ #######
+ set (BLOSC_GIT_URL "https://github.com/Blosc/c-blosc.git" CACHE STRING "Use BLOSC from Github" FORCE)
+ set (BLOSC_GIT_BRANCH "master" CACHE STRING "" FORCE)
+ set (BLOSC_TGZ_NAME "c-blosc.tar.gz" CACHE STRING "Use BLOSC from compressed file" FORCE)
+ set (BLOSC_PACKAGE_NAME "blosc" CACHE STRING "Name of BLOSC package" FORCE)
+ set (ZLIB_GIT_URL "https://git@bitbucket.hdfgroup.org/scm/test/zlib.git" CACHE STRING "Use ZLIB from HDF repo" FORCE)
+ set (ZLIB_GIT_BRANCH "master" CACHE STRING "" FORCE)
+ set (ZLIB_TGZ_NAME "ZLib.tar.gz" CACHE STRING "Use ZLib from compressed file" FORCE)
+ set (ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of ZLIB package" FORCE)
+ #######
+ # bzip2
+ ######
+ #
+ set (BZ2_GIT_URL "https://git@bitbucket.hdfgroup.org/scm/test/bzip2.git" CACHE STRING "Use BZ2 from HDF repository" FORCE)
+ set (BZ2_GIT_BRANCH "master" CACHE STRING "" FORCE)
+ set (BZ2_TGZ_NAME "BZ2.tar.gz" CACHE STRING "Use BZ2 from compressed file" FORCE)
+ set (BZ2_PACKAGE_NAME "bz2" CACHE STRING "Name of BZ2 package" FORCE)
+ #######
+ # fpzip
+ #######
+ set (FPZIP_GIT_URL "https://https://github.com/LLNL/fpzip" CACHE STRING "Use FPZIP from github repository" FORCE)
+ set (FPZIP_GIT_BRANCH "master" CACHE STRING "" FORCE)
+ set (FPZIP_TGZ_NAME "fpzip.tar.gz" CACHE STRING "Use FPZIP from compressed file" FORCE)
+ set (FPZIP_PACKAGE_NAME "fpzip" CACHE STRING "Name of FPZIP package" FORCE)
+ ######
+ # jpeg
+ ######
+ set (JPEG_GIT_URL "https://git@bitbucket.hdfgroup.org/scm/test/jpeg.git" CACHE STRING "Use JPEG from HDF repository" FORCE)
+ set (JPEG_GIT_BRANCH "jpeg9c" CACHE STRING "" FORCE)
+ #set (JPEG_TGZ_NAME "JPEG9c.tar.gz" CACHE STRING "Use JPEG from compressed file" FORCE)
+ set (JPEG_TGZ_NAME "JPEG.tar.gz" CACHE STRING "Use JPEG from compressed file" FORCE)
+ set (JPEG_PACKAGE_NAME "jpeg" CACHE STRING "Name of JPEG package" FORCE)
+ ######
+ # lz4
+ ######
+ set (BUILD_LZ4_LIBRARY_SOURCE ON CACHE BOOL "build the lz4 library within the plugin" FORCE)
+ set (LZ4_GIT_URL "https://git@bitbucket.hdfgroup.org/scm/test/lz4.git" CACHE STRING "Use LZ4 from HDF repository" FORCE)
+ set (LZ4_GIT_BRANCH "master" CACHE STRING "" FORCE)
+ set (LZ4_TGZ_NAME "lz4.tar.gz" CACHE STRING "Use LZ4 from compressed file" FORCE)
+ set (LZ4_PACKAGE_NAME "lz4" CACHE STRING "Name of LZ4 package" FORCE)
+ ######
+ # lzf
+ ######
+ set (LZF_GIT_URL "https://git@bitbucket.hdfgroup.org/scm/test/lzf.git" CACHE STRING "Use LZF from HDF repository" FORCE)
+ set (LZF_GIT_BRANCH "master" CACHE STRING "" FORCE)
+ set (LZF_TGZ_NAME "lzf.tar.gz" CACHE STRING "Use LZF from compressed file" FORCE)
+ set (LZF_PACKAGE_NAME "lzf" CACHE STRING "Name of LZF package" FORCE)
+ ########
+ # mafisc
+ ########
+ #set (BUILD_MAFISC_LIBRARY_SOURCE OFF CACHE BOOL "build the mafisc library within the plugin" FORCE)
+ #set (MAFISC_PACKAGE_NAME "mafisc" CACHE STRING "Name of MAFISC package" FORCE)
+ ######
+ # sz
+ ######
+ set (SZ_GIT_URL "https://github.com/disheng222/SZ" CACHE STRING "Use SZ from github repository" FORCE)
+ set (SZ_GIT_BRANCH "master" CACHE STRING "" FORCE)
+ set (SZ_TGZ_NAME "sz.tar.gz" CACHE STRING "Use SZ from compressed file" FORCE)
+ set (SZ_PACKAGE_NAME "sz" CACHE STRING "Name of SZ package" FORCE)
+ ######
+ # zfp
+ ######
+ set (ZFP_GIT_URL "https://github.com/LLNL/zfp.git" CACHE STRING "Use ZFP from Github" FORCE)
+ set (ZFP_GIT_BRANCH "master" CACHE STRING "" FORCE)
+ set (ZFP_TGZ_NAME "zfp.tar.gz" CACHE STRING "Use ZFP from compressed file" FORCE)
+ set (ZFP_PACKAGE_NAME "zfp" CACHE STRING "Name of ZFP package" FORCE)
+
2. Configure the cache settings
@@ -532,7 +635,7 @@ These five steps are described in detail below.
file in your build directory. Be sure to select either Debug or
Release and build the solution.
- 3.2.1 The external libraries (zlib and szip) can be configured
+ 3.2.1 The external libraries (zlib, szip and plugins) can be configured
to allow building the libraries by downloading from a GIT repository.
The option is 'HDF5_ALLOW_EXTERNAL_SUPPORT'; by adding the following
configuration option:
@@ -541,10 +644,11 @@ These five steps are described in detail below.
The options to control the GIT URL (config/cmake/cacheinit.cmake file) are:
ZLIB_GIT_URL:STRING="http://${git_url}/zlib"
SZIP_GIT_URL:STRING="http://${git_url}/szip"
+ PLUGIN_GIT_URL:STRING="http://${git_url}/plugin"
${git_url} should be changed to your location. Also define CMAKE_BUILD_TYPE
to be the configuration type.
- 3.2.2 Or the external libraries (zlib and szip) can be configured
+ 3.2.2 Or the external libraries (zlib, szip and plugins) can be configured
to allow building the libraries by using a compressed file.
The option is 'HDF5_ALLOW_EXTERNAL_SUPPORT' and is enabled by
adding the following configuration option:
@@ -554,7 +658,8 @@ These five steps are described in detail below.
file) are:
ZLIB_TGZ_NAME:STRING="zlib_src.ext"
SZIP_TGZ_NAME:STRING="szip_src.ext"
- LIBAEC_TGZ_NAME:STRING="liaec_src.ext"
+ LIBAEC_TGZ_NAME:STRING="libaec_src.ext"
+ PLUGIN_TGZ_NAME:STRING="plugin_src.ext"
TGZPATH: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
@@ -687,8 +792,10 @@ if (HDF5_BUILD_FORTRAN)
---------------- External Library Options ---------------------
HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO GIT TGZ)" "NO"
+HDF5_ENABLE_PLUGIN_SUPPORT "Enable PLUGIN Filters" OFF
HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF
HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" OFF
+PLUGIN_USE_EXTERNAL "Use External Library Building for PLUGINS" 0
ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 0
SZIP_USE_EXTERNAL "Use External Library Building for SZIP" 0
if (HDF5_ENABLE_SZIP_SUPPORT)
diff --git a/release_docs/README_HDF5_CMake b/release_docs/README_HDF5_CMake
index d840974..6cf83a5 100644
--- a/release_docs/README_HDF5_CMake
+++ b/release_docs/README_HDF5_CMake
@@ -9,6 +9,7 @@ This tar file contains
hdf5-1.12.1 HDF5 1.12.1 source
LIBAEC.tar.gz source for building SZIP replacement
ZLib.tar.gz source for building ZLIB
+ hdf5_plugins.tar.gz source for building compression plugins
For more information about building HDF5 with CMake, see USING_HDF5_CMake.txt in
hdf5-1.12.1/release_docs, or
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index e9a08ab..9376bda 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -46,6 +46,21 @@ New Features
Configuration:
-------------
+ - CMake option to build the HDF filter plugins project as an external project
+
+ The HDF filter plugins project is a collection of registered compression
+ filters that can be dynamically loaded when needed to access data stored
+ in a hdf5 file. This CMake-only option allows the plugins to be built and
+ distributed with the hdf5 library and tools. Like the options for szip and
+ zlib, either a tgz file or a git repository can be specified for the source.
+
+ The necessary options are (see the INSTALL_CMake.txt file):
+ HDF5_ENABLE_PLUGIN_SUPPORT
+ PLUGIN_TGZ_NAME or PLUGIN_GIT_URL
+ There are more options necessary for various filters and the plugin project
+ documents should be referenced.
+
+ (ADB - 2020/10/16, OESS-98)
- Added CMake option to format source files