summaryrefslogtreecommitdiffstats
path: root/release_docs
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2023-02-22 23:03:40 (GMT)
committerGitHub <noreply@github.com>2023-02-22 23:03:40 (GMT)
commit0662ff97124ce2a04436877fd4966dd105d60b45 (patch)
tree022fc5e3da8bb5f1367c121cf1f57d0e2f298318 /release_docs
parent832ac883f41001ea83e63ecffcab9b23cf19306a (diff)
downloadhdf5-0662ff97124ce2a04436877fd4966dd105d60b45.zip
hdf5-0662ff97124ce2a04436877fd4966dd105d60b45.tar.gz
hdf5-0662ff97124ce2a04436877fd4966dd105d60b45.tar.bz2
1.10 Add fetchcontent for compression libs and fix cmake config #2487 (#2494)
* Add fetchcontent for compression libs and fix cmake config #2487 * Add CI test for FetchContent
Diffstat (limited to 'release_docs')
-rw-r--r--release_docs/INSTALL_CMake.txt48
-rw-r--r--release_docs/RELEASE.txt25
2 files changed, 68 insertions, 5 deletions
diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt
index 552eaf4..af21c62 100644
--- a/release_docs/INSTALL_CMake.txt
+++ b/release_docs/INSTALL_CMake.txt
@@ -297,8 +297,8 @@ IV. Further considerations
B. Use source packages from an GIT server by adding the following CMake
options:
HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="GIT"
- ZLIB_GIT_URL:STRING="http://some_location/zlib"
- SZIP_GIT_URL:STRING="http://some_location/szip"
+ ZLIB_GIT_URL:STRING="https://some_location/zlib"
+ SZIP_GIT_URL:STRING="https://some_location/szip"
where "some_location" is the URL to the GIT repository. Also set
CMAKE_BUILD_TYPE to the configuration type.
@@ -313,6 +313,29 @@ IV. Further considerations
to the configuration type during configuration. See the settings in the
config/cmake/cacheinit.cmake file HDF uses for testing.
+ D. Use original source packages from a compressed file by adding the following
+ CMake options:
+ BUILD_SZIP_WITH_FETCHCONTENT:BOOL=ON
+ LIBAEC_TGZ_ORIGNAME:STRING="szip_src.ext"
+ LIBAEC_TGZ_ORIGPATH:STRING="some_location"
+
+ BUILD_ZLIB_WITH_FETCHCONTENT:BOOL=ON
+ ZLIB_TGZ_ORIGNAME:STRING="zlib_src.ext"
+ ZLIB_TGZ_ORIGPATH:STRING="some_location"
+
+ HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="TGZ"
+ where "some_location" is the URL or full path to the compressed
+ file and ext is the type of compression file. The individual filters are
+ enabled by setting the BUILD_<filter>_WITH_FETCHCONTENT CMake variable to ON.
+ 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.
+
+ The files can also be retrieved from a local path if necessary
+ TGZPATH:STRING="some_location"
+ by setting
+ ZLIB_USE_LOCALCONTENT:BOOL=ON
+ LIBAEC_USE_LOCALCONTENT:BOOL=ON
+
3. If you plan to use compression plugins:
A. Use source packages from an GIT server by adding the following CMake
options:
@@ -473,6 +496,7 @@ These five steps are described in detail below.
* Visual Studio 15 2017
* Visual Studio 15 2017 Win64
* Visual Studio 16 2019
+ * Visual Studio 17 2022
<options> is:
* SZIP_INCLUDE_DIR:PATH=<path to szip includes directory>
@@ -497,13 +521,19 @@ These five steps are described in detail below.
set (HDF_TEST_EXPRESS "2" CACHE STRING "Control testing framework (0-3)" FORCE)
set (HDF5_ALLOW_EXTERNAL_SUPPORT "NO" CACHE STRING "Allow External Library Building (NO GIT TGZ)" FORCE)
set_property (CACHE HDF5_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT TGZ)
+ set (ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of ZLIB package" FORCE)
set (ZLIB_TGZ_NAME "ZLib.tar.gz" CACHE STRING "Use ZLib from compressed file" FORCE)
+ set (ZLIB_TGZ_ORIGPATH "https://github.com/madler/zlib/releases/download/v1.2.13" CACHE STRING "Use ZLIB from original location" FORCE)
+ set (ZLIB_TGZ_ORIGNAME "zlib-1.2.13.tar.gz" CACHE STRING "Use ZLIB from original compressed file" FORCE)
+ set (ZLIB_USE_LOCALCONTENT OFF CACHE BOOL "Use local file for ZLIB FetchContent" FORCE)
+ set (SZIP_PACKAGE_NAME "szip" CACHE STRING "Name of SZIP package" FORCE)
+ set (LIBAEC_PACKAGE_NAME "libaec" CACHE STRING "Name of AEC SZIP package" FORCE)
set (SZIP_TGZ_NAME "SZip.tar.gz" CACHE STRING "Use SZip from compressed file" FORCE)
set (SZAEC_TGZ_NAME "LIBAEC.tar.gz" CACHE STRING "Use SZip AEC from compressed file" FORCE)
set (USE_LIBAEC ON CACHE BOOL "Use libaec szip replacement" FORCE)
- 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)
+ set (LIBAEC_TGZ_ORIGPATH "https://gitlab.dkrz.de/k202009/libaec/-/archive/v1.0.6" CACHE STRING "Use LIBAEC from original location" FORCE)
+ set (LIBAEC_TGZ_ORIGNAME "libaec-v1.0.6.tar.gz" CACHE STRING "Use LIBAEC from original compressed file" FORCE)
+ set (LIBAEC_USE_LOCALCONTENT OFF CACHE BOOL "Use local file for LIBAEC FetchContent" FORCE)
#######################
# filter plugin options
#######################
@@ -838,6 +868,14 @@ if (WINDOWS)
else ()
H5_DEFAULT_PLUGINDIR "/usr/local/hdf5/lib/plugin"
endif ()
+if (BUILD_SZIP_WITH_FETCHCONTENT)
+ LIBAEC_TGZ_ORIGPATH "Use LIBAEC from original location" "https://gitlab.dkrz.de/k202009/libaec/-/archive/v1.0.6"
+ LIBAEC_TGZ_ORIGNAME "Use LIBAEC from original compressed file" "libaec-v1.0.6.tar.gz"
+ LIBAEC_USE_LOCALCONTENT "Use local file for LIBAEC FetchContent" OFF
+if (BUILD_ZLIB_WITH_FETCHCONTENT)
+ ZLIB_TGZ_ORIGPATH "Use ZLIB from original location" "https://github.com/madler/zlib/releases/download/v1.2.13"
+ ZLIB_TGZ_ORIGNAME "Use ZLIB from original compressed file" "zlib-1.2.13.tar.gz"
+ ZLIB_USE_LOCALCONTENT "Use local file for ZLIB FetchContent" OFF
NOTE:
The BUILD_STATIC_EXECS ("Build Static Executables") option is only valid
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index a6e4bd8..e0ecfac 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -49,6 +49,31 @@ New Features
Configuration:
-------------
+ - Added new option to build libaec and zlib inline with CMake.
+
+ Using the CMake FetchContent module, the external filters can populate
+ content at configure time via any method supported by the ExternalProject
+ module. Whereas ExternalProject_Add() downloads at build time, the
+ FetchContent module makes content available immediately, allowing the
+ configure step to use the content in commands like add_subdirectory(),
+ include() or file() operations.
+
+ The HDF options (and defaults) for using this are:
+ BUILD_SZIP_WITH_FETCHCONTENT:BOOL=OFF
+ LIBAEC_USE_LOCALCONTENT:BOOL=OFF
+ BUILD_ZLIB_WITH_FETCHCONTENT:BOOL=OFF
+ ZLIB_USE_LOCALCONTENT:BOOL=OFF
+
+ The CMake variables to control the path and file names:
+ LIBAEC_TGZ_ORIGPATH:STRING
+ LIBAEC_TGZ_ORIGNAME:STRING
+ ZLIB_TGZ_ORIGPATH:STRING
+ ZLIB_TGZ_ORIGNAME:STRING
+
+ See the CMakeFilters.cmake and config/cmake/cacheinit.cmake files for usage.
+
+ (ADB - 2023/02/21)
+
- Add new CMake configuration variable HDF5_USE_GNU_DIRS
HDF5_USE_GNU_DIRS (default OFF) selects the use of GNU Coding Standard install