summaryrefslogtreecommitdiffstats
path: root/release_docs
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2023-03-01 01:06:31 (GMT)
committerGitHub <noreply@github.com>2023-03-01 01:06:31 (GMT)
commit197966eb9f46edfa4e837a3308a8fa776dd65014 (patch)
treefb5fd8885f4d1d14b2da3382366ea7671c12a3dd /release_docs
parentd8fd9c2f79ad0aceb0b55b33b7480a4063b8cf08 (diff)
downloadhdf5-197966eb9f46edfa4e837a3308a8fa776dd65014.zip
hdf5-197966eb9f46edfa4e837a3308a8fa776dd65014.tar.gz
hdf5-197966eb9f46edfa4e837a3308a8fa776dd65014.tar.bz2
1.14 Add fetchcontent for compression libs and fix cmake config #2487 (#2492)
* Add fetchcontent for compression libs and fix cmake config #2487 * Update cmake doc for FetchContent * Add CI test for FetchContent * Use LINK_COMP_LIBS instead of STATIC_LIBRARY for depends
Diffstat (limited to 'release_docs')
-rw-r--r--release_docs/INSTALL_CMake.txt48
-rw-r--r--release_docs/RELEASE.txt25
2 files changed, 67 insertions, 6 deletions
diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt
index b17a7e5..a8d86b0 100644
--- a/release_docs/INSTALL_CMake.txt
+++ b/release_docs/INSTALL_CMake.txt
@@ -296,8 +296,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.
@@ -312,6 +312,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:
@@ -472,6 +495,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>
@@ -496,13 +520,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
#######################
@@ -837,6 +867,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 9405ce6..dae4a39 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -47,7 +47,30 @@ 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)
Library: