From 1a9f13a7f1d5897324418979d5ffa61cfa268c59 Mon Sep 17 00:00:00 2001 From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Date: Fri, 13 Dec 2024 10:28:27 -0600 Subject: [PATCH] Rework the compression library search (#5085) --- .github/workflows/aocc-cmake.yml | 1 + .github/workflows/i386-cmake.yml | 1 + .github/workflows/julia-cmake.yml | 1 + .github/workflows/netcdf.yml | 1 + .github/workflows/nvhpc-cmake.yml | 1 + .github/workflows/vol_adios2.yml | 1 + .github/workflows/vol_async.yml | 1 + .github/workflows/vol_cache.yml | 1 + .github/workflows/vol_ext_passthru.yml | 1 + .github/workflows/vol_log.yml | 1 + .github/workflows/vol_rest.yml | 2 +- CMakeFilters.cmake | 35 ++++++++++++++++---------- CMakePlugins.cmake | 1 + config/cmake/cacheinit.cmake | 2 +- config/cmake/scripts/HDF5options.cmake | 10 ++++---- release_docs/INSTALL_CMake.txt | 27 +++++++++++--------- release_docs/NEWSLETTER.txt | 8 +++++- release_docs/RELEASE.txt | 16 +++++++++++- test/dsets.c | 3 ++- 19 files changed, 79 insertions(+), 35 deletions(-) diff --git a/.github/workflows/aocc-cmake.yml b/.github/workflows/aocc-cmake.yml index d4cff890e63..15d1e79411b 100644 --- a/.github/workflows/aocc-cmake.yml +++ b/.github/workflows/aocc-cmake.yml @@ -70,6 +70,7 @@ jobs: CC=mpicc cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake -G Ninja \ -DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \ -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \ + -DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=OFF \ -DHDF5_ENABLE_PARALLEL:BOOL=ON \ -DHDF5_ENABLE_SUBFILING_VFD:BOOL=ON \ -DHDF5_BUILD_CPP_LIB:BOOL=OFF \ diff --git a/.github/workflows/i386-cmake.yml b/.github/workflows/i386-cmake.yml index b7aa4cd3417..9867c70558e 100644 --- a/.github/workflows/i386-cmake.yml +++ b/.github/workflows/i386-cmake.yml @@ -38,6 +38,7 @@ jobs: cmake -C ../config/cmake/cacheinit.cmake -G "Unix Makefiles" \ --log-level=VERBOSE \ -DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \ + -DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=OFF \ -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \ -DHDF5_BUILD_CPP_LIB:BOOL=OFF \ -DLIBAEC_USE_LOCALCONTENT:BOOL=OFF \ diff --git a/.github/workflows/julia-cmake.yml b/.github/workflows/julia-cmake.yml index 1d7791b310d..55524f955ff 100644 --- a/.github/workflows/julia-cmake.yml +++ b/.github/workflows/julia-cmake.yml @@ -34,6 +34,7 @@ jobs: cd "${{ runner.workspace }}/build" cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake -G Ninja \ -DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \ + -DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=OFF \ -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \ -DHDF5_ENABLE_PARALLEL:BOOL=OFF \ -DHDF5_BUILD_CPP_LIB:BOOL=OFF \ diff --git a/.github/workflows/netcdf.yml b/.github/workflows/netcdf.yml index e23e45fea4b..14a3a858da3 100644 --- a/.github/workflows/netcdf.yml +++ b/.github/workflows/netcdf.yml @@ -52,6 +52,7 @@ jobs: -DHDF5_BUILD_DOC:BOOL=OFF \ -DLIBAEC_USE_LOCALCONTENT:BOOL=OFF \ -DZLIB_USE_LOCALCONTENT:BOOL=OFF \ + -DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=ON \ -DH5_NO_DEPRECATED_SYMBOLS:BOOL=OFF \ -DBUILD_TESTING:BOOL=OFF \ -DCMAKE_INSTALL_PREFIX:PATH=/usr/local \ diff --git a/.github/workflows/nvhpc-cmake.yml b/.github/workflows/nvhpc-cmake.yml index dbd0e36f4b2..ae25effc982 100644 --- a/.github/workflows/nvhpc-cmake.yml +++ b/.github/workflows/nvhpc-cmake.yml @@ -52,6 +52,7 @@ jobs: cd "${{ runner.workspace }}/build" cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake -G Ninja \ -DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \ + -DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=OFF \ -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \ -DHDF5_ENABLE_PARALLEL:BOOL=ON \ -DMPIEXEC_NUMPROC_FLAG:STRING=-np \ diff --git a/.github/workflows/vol_adios2.yml b/.github/workflows/vol_adios2.yml index ad781c10a28..835e7e020fe 100644 --- a/.github/workflows/vol_adios2.yml +++ b/.github/workflows/vol_adios2.yml @@ -43,6 +43,7 @@ jobs: -DHDF5_ENABLE_PARALLEL:BOOL=ON \ -DHDF5_ENABLE_THREADSAFE:BOOL=ON \ -DHDF5_ALLOW_UNSUPPORTED:BOOL=ON \ + -DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=OFF \ -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \ ${{ github.workspace }}/hdf5 cat src/libhdf5.settings diff --git a/.github/workflows/vol_async.yml b/.github/workflows/vol_async.yml index cd631ff4def..a48838ffeb4 100644 --- a/.github/workflows/vol_async.yml +++ b/.github/workflows/vol_async.yml @@ -55,6 +55,7 @@ jobs: -DHDF5_ENABLE_PARALLEL:BOOL=ON \ -DHDF5_ENABLE_THREADSAFE:BOOL=ON \ -DHDF5_ALLOW_UNSUPPORTED:BOOL=ON \ + -DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=OFF \ -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \ -DHDF5_VOL_ALLOW_EXTERNAL:STRING="GIT" \ -DHDF5_VOL_URL01:STRING="https://github.com/HDFGroup/vol-async.git" \ diff --git a/.github/workflows/vol_cache.yml b/.github/workflows/vol_cache.yml index 4f6a55ad04a..58eecfc0d5d 100644 --- a/.github/workflows/vol_cache.yml +++ b/.github/workflows/vol_cache.yml @@ -83,6 +83,7 @@ jobs: -DHDF5_ENABLE_PARALLEL:BOOL=ON \ -DHDF5_ENABLE_THREADSAFE:BOOL=ON \ -DHDF5_ALLOW_UNSUPPORTED:BOOL=ON \ + -DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=OFF \ -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \ -DHDF5_VOL_ALLOW_EXTERNAL:STRING="GIT" \ -DHDF5_VOL_URL01:STRING="https://github.com/HDFGroup/vol-async.git" \ diff --git a/.github/workflows/vol_ext_passthru.yml b/.github/workflows/vol_ext_passthru.yml index b9579063638..629f24cab11 100644 --- a/.github/workflows/vol_ext_passthru.yml +++ b/.github/workflows/vol_ext_passthru.yml @@ -42,6 +42,7 @@ jobs: -DBUILD_STATIC_LIBS=OFF \ -DHDF5_TEST_API:BOOL=ON \ -DHDF5_ENABLE_PARALLEL:BOOL=ON \ + -DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=OFF \ -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \ -DHDF5_VOL_ALLOW_EXTERNAL:STRING="GIT" \ -DHDF5_VOL_URL01:STRING="https://github.com/hpc-io/vol-external-passthrough.git" \ diff --git a/.github/workflows/vol_log.yml b/.github/workflows/vol_log.yml index 20c4a816ed9..287cf6c1ffb 100644 --- a/.github/workflows/vol_log.yml +++ b/.github/workflows/vol_log.yml @@ -41,6 +41,7 @@ jobs: -DHDF5_ENABLE_PARALLEL:BOOL=ON \ -DHDF5_ENABLE_THREADSAFE:BOOL=ON \ -DHDF5_ALLOW_UNSUPPORTED:BOOL=ON \ + -DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=OFF \ -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \ ${{ github.workspace }}/hdf5 cat src/libhdf5.settings diff --git a/.github/workflows/vol_rest.yml b/.github/workflows/vol_rest.yml index fe964453a4c..3e5d0713016 100644 --- a/.github/workflows/vol_rest.yml +++ b/.github/workflows/vol_rest.yml @@ -57,8 +57,8 @@ jobs: -DHDF5_BUILD_HL_LIB:BOOL=ON \ -DHDF5_TEST_API:BOOL=ON \ -DHDF5_ALLOW_UNSUPPORTED:BOOL=ON \ - -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \ -DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=OFF \ + -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \ -DHDF5_VOL_ALLOW_EXTERNAL:STRING="GIT" \ -DHDF5_VOL_URL01:STRING="https://github.com/HDFGroup/vol-rest.git" \ -DHDF5_VOL_VOL-REST_BRANCH:STRING="master" \ diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake index 7bf152aa357..2b5297f198d 100644 --- a/CMakeFilters.cmake +++ b/CMakeFilters.cmake @@ -14,6 +14,8 @@ option (HDF5_USE_ZLIB_STATIC "Find static zlib library" OFF) option (HDF5_USE_LIBAEC_STATIC "Find static AEC library" OFF) option (ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" OFF) option (SZIP_USE_EXTERNAL "Use External Library Building for SZIP" OFF) +option (ZLIB_USE_LOCALCONTENT "Use local file for ZLIB FetchContent" OFF) +option (LIBAEC_USE_LOCALCONTENT "Use local file for LIBAEC FetchContent" OFF) if (NOT ZLIB_USE_LOCALCONTENT) if (HDF5_USE_ZLIB_NG) @@ -77,7 +79,13 @@ endif () # Option for ZLib support #----------------------------------------------------------------------------- set(H5_ZLIB_FOUND FALSE) -option (HDF5_ENABLE_ZLIB_SUPPORT "Enable Zlib Filters" ON) +if(NOT DEFINED ZLIB_PACKAGE_NAME) + set(ZLIB_PACKAGE_NAME "zlib") +endif () +if(NOT DEFINED ZLIBNG_PACKAGE_NAME) + set(ZLIBNG_PACKAGE_NAME "zlib-ng") +endif () +option (HDF5_ENABLE_ZLIB_SUPPORT "Enable Zlib Filters" OFF) if (HDF5_ENABLE_ZLIB_SUPPORT) if (NOT H5_ZLIB_HEADER) if (NOT ZLIB_USE_EXTERNAL) @@ -88,11 +96,12 @@ if (HDF5_ENABLE_ZLIB_SUPPORT) endif () set(ZLIB_FOUND FALSE) if (HDF5_USE_ZLIB_STATIC) - set(ZLIB_SEACH_TYPE static) + set(ZLIB_SEARCH_TYPE static) else () - set(ZLIB_SEACH_TYPE shared) + set(ZLIB_SEARCH_TYPE shared) endif () - find_package (ZLIB NAMES ${PACKAGE_NAME} COMPONENTS ${ZLIB_SEACH_TYPE}) + # Search pure Config mode first + find_package (ZLIB NAMES ${PACKAGE_NAME} OPTIONAL_COMPONENTS ${ZLIB_SEARCH_TYPE}) if (NOT ZLIB_FOUND) if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.24.0") set(ZLIB_USE_STATIC_LIBS ${HDF5_USE_ZLIB_STATIC}) @@ -140,7 +149,7 @@ if (HDF5_ENABLE_ZLIB_SUPPORT) message (VERBOSE "Filter HDF5_ZLIB is ON") else () set (HDF5_ENABLE_ZLIB_SUPPORT OFF CACHE BOOL "" FORCE) - message (WARNING " ZLib support in HDF5 was enabled but not found") + message (FATAL_ERROR " ZLib support in HDF5 was enabled but not found") endif () message(STATUS "H5_ZLIB_HEADER=${H5_ZLIB_HEADER}") endif () @@ -149,7 +158,10 @@ endif () # Option for SzLib support #----------------------------------------------------------------------------- set(H5_SZIP_FOUND FALSE) -option (HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" ON) +if(NOT DEFINED LIBAEC_PACKAGE_NAME) + set(LIBAEC_PACKAGE_NAME "libaec") +endif () +option (HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF) if (HDF5_ENABLE_SZIP_SUPPORT) option (HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" ON) if (NOT SZIP_USE_EXTERNAL) @@ -160,10 +172,8 @@ if (HDF5_ENABLE_SZIP_SUPPORT) endif () set(libaec_USE_STATIC_LIBS ${HDF5_USE_LIBAEC_STATIC}) set(SZIP_FOUND FALSE) - find_package (SZIP NAMES ${LIBAEC_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS ${LIBAEC_SEARCH_TYPE}) - if (NOT SZIP_FOUND) - find_package (SZIP) # Legacy find - endif () + # Search pure Config mode, there is not a FindSZIP module available + find_package (SZIP NAMES ${LIBAEC_PACKAGE_NAME}${HDF_PACKAGE_EXT} OPTIONAL_COMPONENTS ${LIBAEC_SEARCH_TYPE}) set(H5_SZIP_FOUND ${SZIP_FOUND}) if (H5_SZIP_FOUND) set (H5_SZIP_INCLUDE_DIR_GEN ${SZIP_INCLUDE_DIR}) @@ -173,8 +183,7 @@ if (HDF5_ENABLE_SZIP_SUPPORT) else () if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ") EXTERNAL_SZIP_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT} ${HDF5_ENABLE_SZIP_ENCODING}) - message (VERBOSE "Filter SZIP is built") - message (VERBOSE "... with library AEC") + message (VERBOSE "Filter SZIP is built using library AEC") set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${H5_SZIP_STATIC_LIBRARY}) endif () endif () @@ -193,6 +202,6 @@ if (HDF5_ENABLE_SZIP_SUPPORT) endif () else () set (HDF5_ENABLE_SZIP_SUPPORT OFF CACHE BOOL "" FORCE) - message (WARNING "SZIP support in HDF5 was enabled but not found") + message (FATAL_ERROR "SZIP support in HDF5 was enabled but not found") endif () endif () diff --git a/CMakePlugins.cmake b/CMakePlugins.cmake index 5fccb375224..93d40b2344a 100644 --- a/CMakePlugins.cmake +++ b/CMakePlugins.cmake @@ -10,6 +10,7 @@ # help@hdfgroup.org. # option (PLUGIN_USE_EXTERNAL "Use External Library Building for filter PLUGIN else search" OFF) +option (PLUGIN_USE_LOCALCONTENT "Use local file for PLUGIN FetchContent" OFF) if (NOT PLUGIN_USE_LOCALCONTENT) set (PLUGIN_URL ${PLUGIN_TGZ_ORIGPATH}/${PLUGIN_TGZ_NAME}) diff --git a/config/cmake/cacheinit.cmake b/config/cmake/cacheinit.cmake index 851e7c5987e..58319a68b6e 100644 --- a/config/cmake/cacheinit.cmake +++ b/config/cmake/cacheinit.cmake @@ -79,7 +79,7 @@ set (KWSYS_USE_LOCALCONTENT OFF CACHE BOOL "Use local file for KWSYS FetchConten # filter plugin options ######################## -set (PLUGIN_TGZ_ORIGPATH "https://github.com/HDFGroup/hdf5_plugins/releases/download/snapshots" CACHE STRING "Use PLUGINS from original location" FORCE) +set (PLUGIN_TGZ_ORIGPATH "https://github.com/HDFGroup/hdf5_plugins/releases/download/snapshot" CACHE STRING "Use PLUGINS from original location" FORCE) set (PLUGIN_TGZ_NAME "hdf5_plugins-master.tar.gz" CACHE STRING "Use PLUGINS from compressed file" FORCE) set (PLUGIN_USE_LOCALCONTENT ON CACHE BOOL "Use local file for PLUGIN FetchContent" FORCE) set (PLUGIN_PACKAGE_NAME "pl" CACHE STRING "Name of PLUGIN package" FORCE) diff --git a/config/cmake/scripts/HDF5options.cmake b/config/cmake/scripts/HDF5options.cmake index 50bdd844e70..79373b95b88 100644 --- a/config/cmake/scripts/HDF5options.cmake +++ b/config/cmake/scripts/HDF5options.cmake @@ -62,15 +62,15 @@ set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRIN ### ext libs on system #set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=NO") #set(ENV{ZLIB_ROOT} "some_location") -#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DH5_ZLIB_LIBRARY:FILEPATH=some_location/lib/zlib.lib -DH5_ZLIB_INCLUDE_DIR:PATH=some_location/include") +#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DZLIB_LIBRARY:FILEPATH=some_location/lib/zlib.lib -DZLIB_INCLUDE_DIR:PATH=some_location/include") #set(ENV{SZIP_ROOT} "some_location") -#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DH5_SZIP_LIBRARY:FILEPATH=some_location/lib/szlib.lib -DH5_SZIP_INCLUDE_DIR:PATH=some_location/include") +#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSZIP_LIBRARY:FILEPATH=some_location/lib/szlib.lib -DSZIP_INCLUDE_DIR:PATH=some_location/include") ### disable using ext zlib #set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=OFF") -### disable using ext szip -#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF") -#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF") +### enable using ext szip +#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=ON") +#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=ON") #### package examples #### #set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACK_EXAMPLES:BOOL=ON -DHDF5_EXAMPLES_COMPRESSED:STRING=HDF5Examples-2.0.3-Source.tar.gz -DHDF5_EXAMPLES_COMPRESSED_DIR:PATH=${CTEST_SCRIPT_DIRECTORY}") diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt index 28b7195695b..1a855b60396 100644 --- a/release_docs/INSTALL_CMake.txt +++ b/release_docs/INSTALL_CMake.txt @@ -289,11 +289,11 @@ IV. Further considerations A. Download the binary packages and install them in a central location. For example on Windows, create a folder extlibs and install the packages there. Add the following CMake options: - -DH5_ZLIB_LIBRARY:FILEPATH=some_location/lib/zlib.lib - -DH5_ZLIB_INCLUDE_DIR:PATH=some_location/include + -DZLIB_LIBRARY:FILEPATH=some_location/lib/zlib.lib + -DZLIB_INCLUDE_DIR:PATH=some_location/include -DZLIB_USE_EXTERNAL:BOOL=OFF - -DH5_SZIP_LIBRARY:FILEPATH=some_location/lib/szlib.lib - -DH5_SZIP_INCLUDE_DIR:PATH=some_location/include + -DSZIP_LIBRARY:FILEPATH=some_location/lib/szlib.lib + -DSZIP_INCLUDE_DIR:PATH=some_location/include -DSZIP_USE_EXTERNAL:BOOL=OFF where "some_location" is the full path to the extlibs folder. Also the appropriate environment variable must be set; @@ -503,10 +503,10 @@ These five steps are described in detail below. * Visual Studio 17 2022 is: - * H5_SZIP_INCLUDE_DIR:PATH= - * H5_SZIP_LIBRARY:FILEPATH= - * H5_ZLIB_INCLUDE_DIR:PATH= - * H5_ZLIB_LIBRARY:FILEPATH= + * SZIP_INCLUDE_DIR:PATH= + * SZIP_LIBRARY:FILEPATH= + * ZLIB_INCLUDE_DIR:PATH= + * ZLIB_LIBRARY:FILEPATH= * :BOOL=[ON | OFF] is: @@ -556,7 +556,7 @@ These five steps are described in detail below. ######################## # filter plugin options ######################## - set (PLUGIN_TGZ_ORIGPATH "https://github.com/HDFGroup/hdf5_plugins/releases/download/snapshots" CACHE STRING "Use PLUGINS from original location" FORCE) + set (PLUGIN_TGZ_ORIGPATH "https://github.com/HDFGroup/hdf5_plugins/releases/download/snapshot" CACHE STRING "Use PLUGINS from original location" FORCE) set (PLUGIN_TGZ_NAME "hdf5_plugins-master.tar.gz" CACHE STRING "Use PLUGINS from compressed file" FORCE) set (PLUGIN_USE_LOCALCONTENT ON CACHE BOOL "Use local file for PLUGIN FetchContent" FORCE) set (PLUGIN_PACKAGE_NAME "pl" CACHE STRING "Name of PLUGIN package" FORCE) @@ -939,7 +939,7 @@ if (BUILD_TESTING) 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_ZLIB_SUPPORT "Enable Zlib Filters" ON +HDF5_ENABLE_ZLIB_SUPPORT "Enable Zlib Filters" OFF if (HDF5_USE_ZLIB_NG) ZLIBNG_USE_EXTERNAL "Use External Library Building for ZLIBNG" OFF @@ -949,7 +949,7 @@ else ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" OFF ZLIB_TGZ_ORIGPATH "Use ZLIB from original location" "https://github.com/madler/zlib/releases/download/v1.3.1" ZLIB_TGZ_NAME "Use ZLIB from original compressed file" "zlib-1.3.1.tar.gz" -ZLIB_USE_LOCALCONTENT "Use local file for ZLIB FetchContent" ON +ZLIB_USE_LOCALCONTENT "Use local file for ZLIB FetchContent" OFF HDF5_USE_ZLIB_STATIC "Find static zlib library" OFF SZIP_USE_EXTERNAL "Use External Library Building for SZIP else search" OFF @@ -957,10 +957,13 @@ if (HDF5_ENABLE_SZIP_SUPPORT) HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" ON LIBAEC_TGZ_ORIGPATH "Use LIBAEC from original location" "https://github.com/MathisRosenhauer/libaec/releases/download/v1.1.3" LIBAEC_TGZ_NAME "Use LIBAEC from original compressed file" "libaec-1.1.3.tar.gz" -LIBAEC_USE_LOCALCONTENT "Use local file for LIBAEC FetchContent" ON +LIBAEC_USE_LOCALCONTENT "Use local file for LIBAEC FetchContent" OFF HDF5_USE_LIBAEC_STATIC "Find static AEC library" OFF PLUGIN_USE_EXTERNAL "Use External Library Building for PLUGINS else search" OFF +PLUGIN_TGZ_ORIGPATH "Use PLUGIN from original location" "https://github.com/HDFGroup/hdf5_plugins/releases/download/snapshot" +PLUGIN_TGZ_NAME "Use PLUGIN from original compressed file" "hdf5_plugins-master.tar.gz" +PLUGIN_USE_LOCALCONTENT "Use local file for PLUGIN FetchContent" OFF if (WINDOWS) H5_DEFAULT_PLUGINDIR "%ALLUSERSPROFILE%/hdf5/lib/plugin" else () diff --git a/release_docs/NEWSLETTER.txt b/release_docs/NEWSLETTER.txt index ede8f8c5428..e60e816a935 100644 --- a/release_docs/NEWSLETTER.txt +++ b/release_docs/NEWSLETTER.txt @@ -3,7 +3,13 @@ HDF5 version 2.0.0 currently under development Features included for the next major release: ---------------------------------------------------------------------------- -* + ************ Renamed the option: HDF5_ENABLE_Z_LIB_SUPPORT ************ + + The option has been renamed to HDF5_ENABLE_ZLIB_SUPPORT to be consistent + with the naming of other options. + *** Also, the option defaults to OFF. This requires the user to explicitly *** + *** enable zlib support when configuring the library. *** + ---------------------------------------------------------------------------- Please see the full release notes for detailed information regarding this release, diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 7491902a226..3a4a705d443 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -47,10 +47,12 @@ New Features Configuration: ------------- - - Renamed the option: HDF5_ENABLE_Z_LIB_SUPPORT + - ************ Renamed the option: HDF5_ENABLE_Z_LIB_SUPPORT ************ The option has been renamed to HDF5_ENABLE_ZLIB_SUPPORT to be consistent with the naming of other options. + *** Also, the option defaults to OFF. This requires the user to explicitly *** + *** enable zlib support when configuring the library. *** - Added support for MinGW + MSYS2 when building with CMake @@ -528,6 +530,18 @@ Bug Fixes since HDF5-2.0.0 release Configuration ------------- + - Changed the zlib/szip compression find message to FATAL ERROR + + The message was changed to indicate that zlib/szip compression was requested and + that it was not found. If an option is requested, not finding it should always + be an error. + + - Removed the module search find_package for szip library + + There is not a szip module file to use, so the find_package only uses + find_package in config mode. The choice then is to either build szip, with libaec, + inline or find a system installed szip library, built with CMake. + - Changed name of libhdf5hl_fortran installed by autotools to libhdf5_hl_fortran. The new name is consistent with the name of the lib when installed by CMake and with the other hl libs. diff --git a/test/dsets.c b/test/dsets.c index e64ed4441b7..88eee7297d3 100644 --- a/test/dsets.c +++ b/test/dsets.c @@ -2845,13 +2845,14 @@ test_missing_filter(hid_t file) size_t i, j; /* Local index variables */ herr_t ret; /* Generic return value */ const char *testfile = H5_get_srcdir_filename(FILE_DEFLATE_NAME); /* Corrected test file name */ - H5CX_node_t api_ctx = {{0}, NULL}; /* API context node to push */ bool api_ctx_pushed = false; /* Whether API context pushed */ TESTING("dataset access with missing filter"); /* Unregister the deflate filter */ #ifdef H5_HAVE_FILTER_DEFLATE + H5CX_node_t api_ctx = {{0}, NULL}; /* API context node to push */ + /* Verify deflate filter is registered currently */ if (H5Zfilter_avail(H5Z_FILTER_DEFLATE) != true) { H5_FAILED();