summaryrefslogtreecommitdiffstats
path: root/release_docs
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2020-11-20 21:54:28 (GMT)
committerGitHub <noreply@github.com>2020-11-20 21:54:28 (GMT)
commit8d5854cb806a6cf67d2c7cffef9749170d7a8d7d (patch)
tree30385be2bae602f77ec2a2087e2e06bbaf933dcf /release_docs
parentaab84e704d10c15e8e759d75f809158c1923b6d5 (diff)
downloadhdf5-8d5854cb806a6cf67d2c7cffef9749170d7a8d7d.zip
hdf5-8d5854cb806a6cf67d2c7cffef9749170d7a8d7d.tar.gz
hdf5-8d5854cb806a6cf67d2c7cffef9749170d7a8d7d.tar.bz2
Multiple changes to bring branch up-to-date (#87)
Correct TARGET variable and CMake config file location. Add option to allow filter plugins to be built inline. Update CMake tools macros.
Diffstat (limited to 'release_docs')
-rw-r--r--release_docs/INSTALL_CMake.txt128
-rw-r--r--release_docs/README_HDF5_CMake1
-rw-r--r--release_docs/RELEASE.txt30
3 files changed, 151 insertions, 8 deletions
diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt
index 0e04f48..2df839b 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.10.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)
+ ######
+ # szf
+ ######
+ set (SZF_GIT_URL "https://github.com/disheng222/SZ" CACHE STRING "Use SZ from github repository" FORCE)
+ set (SZF_GIT_BRANCH "master" CACHE STRING "" FORCE)
+ set (SZF_TGZ_NAME "szf.tar.gz" CACHE STRING "Use SZ from compressed file" FORCE)
+ set (SZF_PACKAGE_NAME "szf" 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
@@ -671,6 +776,8 @@ HDF5_WANT_DATA_ACCURACY "IF data accuracy is guaranteed during data conve
HDF5_WANT_DCONV_EXCEPTION "exception handling functions is checked during data conversions" ON
HDF5_ENABLE_THREADSAFE "Enable Threadsafety" OFF
SKIP_HDF5_FORTRAN_SHARED "Do not build the fortran shared libraries" OFF
+HDF5_MSVC_NAMING_CONVENTION "Use MSVC Naming conventions for Shared Libraries" OFF
+HDF5_MINGW_STATIC_GCC_LIBS "Statically link libgcc/libstdc++" OFF
if (APPLE)
HDF5_BUILD_WITH_INSTALL_NAME "Build with library install_name set to the installation path" OFF
if (CMAKE_BUILD_TYPE MATCHES Debug)
@@ -683,11 +790,16 @@ if (HDF5_BUILD_FORTRAN)
if (BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED
if (NOT BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is STATIC
if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED
+HDF5_ENABLE_ANALYZER_TOOLS "enable the use of Clang tools" OFF
+HDF5_ENABLE_SANITIZERS "execute the Clang sanitizer" OFF
+HDF5_ENABLE_FORMATTERS "format source files" OFF
---------------- 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 58d612e..fdfc998 100644
--- a/release_docs/README_HDF5_CMake
+++ b/release_docs/README_HDF5_CMake
@@ -9,6 +9,7 @@ This tar file contains
hdf5-1.8.22 HDF5 1.8.22 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.8.22/release_docs, or
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index 8f48a43..f23e8fc 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -56,6 +56,36 @@ New Features
Configuration
-------------
+ - CMake option to use MSVC naming conventions with MinGW
+
+ HDF5_MSVC_NAMING_CONVENTION option enable to use MSVC naming conventions
+ when using a MinGW toolchain
+
+ (xan - 2020/10/30)
+
+ - CMake option to statically link gcc libs with MinGW
+
+ HDF5_MINGW_STATIC_GCC_LIBS allows to statically link libg/libstdc++
+ with the MinGW toolchain
+
+ (xan - 2020/10/30)
+
+ - 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
HDF5_ENABLE_FORMATTERS option will enable creation of targets using the