diff options
author | Allen Byrne <50328838+byrnHDF@users.noreply.github.com> | 2023-03-01 01:06:50 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-01 01:06:50 (GMT) |
commit | 4e645aeedf621b341c6b6d5665fecdd08314bda9 (patch) | |
tree | 2c7dff097d74e6b1ea934a3196ed39cf1ec025e3 /release_docs | |
parent | 063a61c36b189bb9b8249f495043a32967eda9d7 (diff) | |
download | hdf5-4e645aeedf621b341c6b6d5665fecdd08314bda9.zip hdf5-4e645aeedf621b341c6b6d5665fecdd08314bda9.tar.gz hdf5-4e645aeedf621b341c6b6d5665fecdd08314bda9.tar.bz2 |
1.12 Add fetchcontent for compression libs and fix cmake config #2487 (#2493)
* Add fetchcontent for compression libs and fix cmake config #2487
* 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.txt | 48 | ||||
-rw-r--r-- | release_docs/RELEASE.txt | 25 |
2 files changed, 68 insertions, 5 deletions
diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt index 44d3203..31b7e46 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 acbde91..05160fa 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -47,6 +47,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 |