summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2023-05-18 21:05:20 (GMT)
committerGitHub <noreply@github.com>2023-05-18 21:05:20 (GMT)
commitdc3ef6055f7f0e251683637326bc8ea6a2062e34 (patch)
treea0f643c5b8b57118f3fb3c6d71401400f1dbd744
parent6e5c4a5c586b43206f77378cd1774edb168d62bb (diff)
downloadhdf5-dc3ef6055f7f0e251683637326bc8ea6a2062e34.zip
hdf5-dc3ef6055f7f0e251683637326bc8ea6a2062e34.tar.gz
hdf5-dc3ef6055f7f0e251683637326bc8ea6a2062e34.tar.bz2
Change defaults of standard filters. (#2927)
-rw-r--r--.github/workflows/main.yml4
-rw-r--r--CMakeFilters.cmake56
-rw-r--r--CMakePresets.json3
-rw-r--r--config/cmake/HDFLibMacros.cmake2
-rw-r--r--config/cmake/cacheinit.cmake12
-rw-r--r--config/cmake/scripts/HDF5options.cmake2
-rw-r--r--release_docs/INSTALL_CMake.txt15
-rw-r--r--release_docs/RELEASE.txt10
8 files changed, 56 insertions, 48 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index d08227e..0711d00 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -496,7 +496,7 @@ jobs:
run: |
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
- cmake ${{ matrix.generator }} -DCMAKE_BUILD_TYPE=${{ matrix.build_mode.cmake }} -DCMAKE_TOOLCHAIN_FILE=${{ matrix.toolchain }} -DBUILD_SHARED_LIBS=ON -DHDF5_ENABLE_ALL_WARNINGS=ON -DHDF5_ENABLE_PARALLEL:BOOL=${{ matrix.parallel }} -DHDF5_BUILD_CPP_LIB:BOOL=${{ matrix.cpp }} -DHDF5_BUILD_FORTRAN=${{ matrix.fortran }} -DHDF5_BUILD_JAVA=${{ matrix.java }} -DBUILD_SZIP_WITH_FETCHCONTENT=${{ matrix.libaecfc }} -DBUILD_ZLIB_WITH_FETCHCONTENT=${{ matrix.zlibfc }} -DHDF5_ENABLE_MIRROR_VFD:BOOL=${{ matrix.mirror_vfd }} -DHDF5_ENABLE_DIRECT_VFD:BOOL=${{ matrix.direct_vfd }} $GITHUB_WORKSPACE
+ cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake ${{ matrix.generator }} -DCMAKE_BUILD_TYPE=${{ matrix.build_mode.cmake }} -DCMAKE_TOOLCHAIN_FILE=${{ matrix.toolchain }} -DBUILD_SHARED_LIBS=ON -DHDF5_ENABLE_ALL_WARNINGS=ON -DHDF5_ENABLE_PARALLEL:BOOL=${{ matrix.parallel }} -DHDF5_BUILD_CPP_LIB:BOOL=${{ matrix.cpp }} -DHDF5_BUILD_FORTRAN=${{ matrix.fortran }} -DHDF5_BUILD_JAVA=${{ matrix.java }} -DBUILD_SZIP_WITH_FETCHCONTENT=${{ matrix.libaecfc }} -DBUILD_ZLIB_WITH_FETCHCONTENT=${{ matrix.zlibfc }} -DHDF5_ENABLE_MIRROR_VFD:BOOL=${{ matrix.mirror_vfd }} -DHDF5_ENABLE_DIRECT_VFD:BOOL=${{ matrix.direct_vfd }} $GITHUB_WORKSPACE
shell: bash
if: (matrix.generator != 'autogen') && (! matrix.thread_safe.enabled)
@@ -505,7 +505,7 @@ jobs:
run: |
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
- cmake ${{ matrix.generator }} -DCMAKE_BUILD_TYPE=${{ matrix.build_mode.cmake }} -DCMAKE_TOOLCHAIN_FILE=${{ matrix.toolchain }} -DBUILD_SHARED_LIBS=ON -DHDF5_ENABLE_ALL_WARNINGS=ON -DHDF5_ENABLE_THREADSAFE:BOOL=ON -DHDF5_ENABLE_PARALLEL:BOOL=${{ matrix.parallel }} -DHDF5_BUILD_HL_LIB:BOOL=OFF -DHDF5_ENABLE_MIRROR_VFD:BOOL=${{ matrix.mirror_vfd }} -DHDF5_ENABLE_DIRECT_VFD:BOOL=${{ matrix.direct_vfd }} $GITHUB_WORKSPACE
+ cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake ${{ matrix.generator }} -DCMAKE_BUILD_TYPE=${{ matrix.build_mode.cmake }} -DCMAKE_TOOLCHAIN_FILE=${{ matrix.toolchain }} -DBUILD_SHARED_LIBS=ON -DHDF5_ENABLE_ALL_WARNINGS=ON -DHDF5_ENABLE_THREADSAFE:BOOL=ON -DHDF5_ENABLE_PARALLEL:BOOL=${{ matrix.parallel }} -DHDF5_BUILD_HL_LIB:BOOL=OFF -DHDF5_ENABLE_MIRROR_VFD:BOOL=${{ matrix.mirror_vfd }} -DHDF5_ENABLE_DIRECT_VFD:BOOL=${{ matrix.direct_vfd }} $GITHUB_WORKSPACE
shell: bash
if: (matrix.generator != 'autogen') && (matrix.thread_safe.enabled)
diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake
index a55d7ae..82dc6fa 100644
--- a/CMakeFilters.cmake
+++ b/CMakeFilters.cmake
@@ -58,16 +58,20 @@ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MAT
if (NOT BUILD_ZLIB_WITH_FETCHCONTENT)
set (ZLIB_URL ${TGZPATH}/${ZLIB_TGZ_NAME})
endif ()
- if (NOT EXISTS "${ZLIB_URL}")
- set (HDF5_ENABLE_Z_LIB_SUPPORT OFF CACHE BOOL "" FORCE)
- message (VERBOSE "Filter ZLIB file ${ZLIB_URL} not found")
+ if (ZLIB_USE_LOCALCONTENT)
+ if (NOT EXISTS "${ZLIB_URL}")
+ set (HDF5_ENABLE_Z_LIB_SUPPORT OFF CACHE BOOL "" FORCE)
+ message (VERBOSE "Filter ZLIB file ${ZLIB_URL} not found")
+ endif ()
endif ()
if (NOT BUILD_SZIP_WITH_FETCHCONTENT)
set (SZIP_URL ${TGZPATH}/${SZAEC_TGZ_NAME})
endif ()
- if (NOT EXISTS "${SZIP_URL}")
- set (HDF5_ENABLE_SZIP_SUPPORT OFF CACHE BOOL "" FORCE)
- message (VERBOSE "Filter SZIP file ${SZIP_URL} not found")
+ if (LIBAEC_USE_LOCALCONTENT)
+ if (NOT EXISTS "${SZIP_URL}")
+ set (HDF5_ENABLE_SZIP_SUPPORT OFF CACHE BOOL "" FORCE)
+ message (VERBOSE "Filter SZIP file ${SZIP_URL} not found")
+ endif ()
endif ()
else ()
set (ZLIB_USE_EXTERNAL 0)
@@ -78,7 +82,7 @@ endif ()
#-----------------------------------------------------------------------------
# Option for ZLib support
#-----------------------------------------------------------------------------
-option (HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" OFF)
+option (HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" ON)
if (HDF5_ENABLE_Z_LIB_SUPPORT)
if (NOT H5_ZLIB_HEADER)
if (NOT ZLIB_USE_EXTERNAL)
@@ -111,8 +115,6 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT)
set (H5_HAVE_LIBZ 1)
message (VERBOSE "Filter HDF5_ZLIB is built")
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${ZLIB_STATIC_LIBRARY})
- else ()
- message (FATAL_ERROR " ZLib is Required for ZLib support in HDF5")
endif ()
endif ()
else ()
@@ -121,11 +123,15 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT)
set (H5_HAVE_ZLIB_H 1)
set (H5_HAVE_LIBZ 1)
endif ()
- if (H5_HAVE_FILTER_DEFLATE)
- set (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} DEFLATE")
+ if (ZLIB_FOUND)
+ if (H5_HAVE_FILTER_DEFLATE)
+ set (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} DEFLATE")
+ endif ()
+ INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIRS})
+ message (VERBOSE "Filter HDF5_ZLIB is ON")
+ else ()
+ message (WARNING " ZLib support in HDF5 was enabled but not found")
endif ()
- INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIRS})
- message (VERBOSE "Filter HDF5_ZLIB is ON")
endif ()
#-----------------------------------------------------------------------------
@@ -133,7 +139,7 @@ endif ()
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF)
if (HDF5_ENABLE_SZIP_SUPPORT)
- option (HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF)
+ option (HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" ON)
if (NOT SZIP_USE_EXTERNAL)
set(SZIP_FOUND FALSE)
set(libaec_USE_STATIC_LIBS ${USE_LIBAEC_STATIC})
@@ -173,17 +179,19 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
message (VERBOSE "Filter SZIP is built")
message (VERBOSE "... with library AEC")
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_STATIC_LIBRARY})
- else ()
- message (FATAL_ERROR "SZIP is Required for SZIP support in HDF5")
endif ()
endif ()
- INCLUDE_DIRECTORIES (${SZIP_INCLUDE_DIRS})
- message (VERBOSE "Filter SZIP is ON")
- if (H5_HAVE_FILTER_SZIP)
- set (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} DECODE")
- endif ()
- if (HDF5_ENABLE_SZIP_ENCODING)
- set (H5_HAVE_SZIP_ENCODER 1)
- set (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} ENCODE")
+ if (SZIP_FOUND)
+ INCLUDE_DIRECTORIES (${SZIP_INCLUDE_DIRS})
+ message (VERBOSE "Filter SZIP is ON")
+ if (H5_HAVE_FILTER_SZIP)
+ set (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} DECODE")
+ endif ()
+ if (HDF5_ENABLE_SZIP_ENCODING)
+ set (H5_HAVE_SZIP_ENCODER 1)
+ set (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} ENCODE")
+ endif ()
+ else ()
+ message (WARNING "SZIP support in HDF5 was enabled but not found")
endif ()
endif ()
diff --git a/CMakePresets.json b/CMakePresets.json
index 66f31a4..13766ca 100644
--- a/CMakePresets.json
+++ b/CMakePresets.json
@@ -18,9 +18,6 @@
"hidden": true,
"inherits": "ci-base-tgz",
"cacheVariables": {
- "HDF5_ENABLE_Z_LIB_SUPPORT": "ON",
- "HDF5_ENABLE_SZIP_SUPPORT": "ON",
- "HDF5_ENABLE_SZIP_ENCODING": "ON",
"BUILD_ZLIB_WITH_FETCHCONTENT": "ON",
"ZLIB_PACKAGE_NAME": {"type": "STRING", "value": "zlib"},
"ZLIB_TGZ_ORIGPATH": {"type": "STRING", "value": "https://github.com/madler/zlib/releases/download/v1.2.13"},
diff --git a/config/cmake/HDFLibMacros.cmake b/config/cmake/HDFLibMacros.cmake
index 282fe0c..538adf0 100644
--- a/config/cmake/HDFLibMacros.cmake
+++ b/config/cmake/HDFLibMacros.cmake
@@ -17,6 +17,7 @@ macro (ORIGINAL_ZLIB_LIBRARY compress_type)
GIT_TAG ${ZLIB_BRANCH}
)
elseif (${compress_type} MATCHES "TGZ")
+ message (VERBOSE "Filter ZLIB file ${ZLIB_URL}")
FetchContent_Declare (HDF5_ZLIB
URL ${ZLIB_URL}
URL_HASH ""
@@ -51,6 +52,7 @@ macro (ORIGINAL_SZIP_LIBRARY compress_type encoding)
GIT_TAG ${SZIP_BRANCH}
)
elseif (${compress_type} MATCHES "TGZ")
+ message (VERBOSE "Filter SZIP file ${SZIP_URL}")
FetchContent_Declare (SZIP
URL ${SZIP_URL}
URL_HASH ""
diff --git a/config/cmake/cacheinit.cmake b/config/cmake/cacheinit.cmake
index 376b28f..6ca1080 100644
--- a/config/cmake/cacheinit.cmake
+++ b/config/cmake/cacheinit.cmake
@@ -32,12 +32,6 @@ set_property (CACHE HDF5_INSTALL_MOD_FORTRAN PROPERTY STRINGS NO SHARED STATIC)
set (HDF5_BUILD_GENERATORS ON CACHE BOOL "Build Test Generators" FORCE)
-set (HDF5_ENABLE_Z_LIB_SUPPORT ON CACHE BOOL "Enable Zlib Filters" FORCE)
-
-set (HDF5_ENABLE_SZIP_SUPPORT ON CACHE BOOL "Use SZip Filter" FORCE)
-
-set (HDF5_ENABLE_SZIP_ENCODING ON CACHE BOOL "Use SZip Encoding" FORCE)
-
set (MPIEXEC_MAX_NUMPROCS "4" CACHE STRING "Minimum number of processes for HDF parallel tests" FORCE)
set (HDF5_ENABLE_ALL_WARNINGS ON CACHE BOOL "Enable all warnings" FORCE)
@@ -61,14 +55,14 @@ set (ZLIB_USE_LOCALCONTENT OFF CACHE BOOL "Use local file for ZLIB FetchContent"
set (LIBAEC_PACKAGE_NAME "libaec" CACHE STRING "Name of AEC SZIP package" FORCE)
set (SZAEC_TGZ_NAME "LIBAEC.tar.gz" CACHE STRING "Use SZip AEC from compressed file" FORCE)
-set (LIBAEC_TGZ_ORIGPATH "https://github.com/MathisRosenhauer/libaec/releases/download/v1.0.6/libaec-1.0.6.tar.gz" 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_TGZ_ORIGPATH "https://github.com/MathisRosenhauer/libaec/releases/download/v1.0.6" CACHE STRING "Use LIBAEC from original location" FORCE)
+set (LIBAEC_TGZ_ORIGNAME "libaec-1.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)
########################
# API test options
########################
-set (KWSYS_TGZ_ORIGPATH "https://gitlab.kitware.com/utils/kwsys/-/archive/master/kwsys-master.tar.gz" CACHE STRING "Use KWSYS from original location" FORCE)
+set (KWSYS_TGZ_ORIGPATH "https://gitlab.kitware.com/utils/kwsys/-/archive/master" CACHE STRING "Use KWSYS from original location" FORCE)
set (KWSYS_TGZ_ORIGNAME "kwsys-master.tar.gz" CACHE STRING "Use KWSYS from original compressed file" FORCE)
set (KWSYS_USE_LOCALCONTENT OFF CACHE BOOL "Use local file for KWSYS FetchContent" FORCE)
diff --git a/config/cmake/scripts/HDF5options.cmake b/config/cmake/scripts/HDF5options.cmake
index 92bfd37..ba5fc24 100644
--- a/config/cmake/scripts/HDF5options.cmake
+++ b/config/cmake/scripts/HDF5options.cmake
@@ -70,7 +70,7 @@ set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRIN
### disable using ext zlib
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_Z_LIB_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_SUPPORT:BOOL=ON")
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF")
#### package examples ####
diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt
index ac04855..766819a 100644
--- a/release_docs/INSTALL_CMake.txt
+++ b/release_docs/INSTALL_CMake.txt
@@ -520,24 +520,21 @@ These five steps are described in detail below.
set (HDF5_INSTALL_MOD_FORTRAN "NO" CACHE STRING "Copy FORTRAN mod files to include directory (NO SHARED STATIC)" FORCE)
set_property (CACHE HDF5_INSTALL_MOD_FORTRAN PROPERTY STRINGS NO SHARED STATIC)
set (HDF5_BUILD_GENERATORS ON CACHE BOOL "Build Test Generators" FORCE)
- set (HDF5_ENABLE_Z_LIB_SUPPORT ON CACHE BOOL "Enable Zlib Filters" FORCE)
- set (HDF5_ENABLE_SZIP_SUPPORT ON CACHE BOOL "Use SZip Filter" FORCE)
- set (HDF5_ENABLE_SZIP_ENCODING ON CACHE BOOL "Use SZip Encoding" FORCE)
set (MPIEXEC_MAX_NUMPROCS "4" CACHE STRING "Minimum number of processes for HDF parallel tests" FORCE)
set (HDF5_ENABLE_ALL_WARNINGS ON CACHE BOOL "Enable all warnings" FORCE)
set (HDF_TEST_EXPRESS "2" CACHE STRING "Control testing framework (0-3)" FORCE)
set (HDF5_MINGW_STATIC_GCC_LIBS ON CACHE BOOL "Statically link libgcc/libstdc++" FORCE)
- set (HDF5_ALLOW_EXTERNAL_SUPPORT "NO" CACHE STRING "Allow External Library Building (NO GIT TGZ)" FORCE)
+ set (HDF5_ALLOW_EXTERNAL_SUPPORT "TGZ" 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_NAME "ZLib.tar.gz" CACHE STRING "Use HDF5_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 (LIBAEC_PACKAGE_NAME "libaec" CACHE STRING "Name of AEC SZIP package" FORCE)
set (SZAEC_TGZ_NAME "LIBAEC.tar.gz" CACHE STRING "Use SZip AEC from compressed file" FORCE)
- set (LIBAEC_TGZ_ORIGPATH "https://github.com/MathisRosenhauer/libaec/releases/download/v1.0.6/libaec-1.0.6.tar.gz" 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_TGZ_ORIGPATH "https://github.com/MathisRosenhauer/libaec/releases/download/v1.0.6" CACHE STRING "Use LIBAEC from original location" FORCE)
+ set (LIBAEC_TGZ_ORIGNAME "libaec-1.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
@@ -881,12 +878,12 @@ 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_Z_LIB_SUPPORT "Enable Zlib Filters" OFF
+HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" ON
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)
- HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF
+ HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" ON
if (WINDOWS)
H5_DEFAULT_PLUGINDIR "%ALLUSERSPROFILE%/hdf5/lib/plugin"
else ()
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index 8d3111e..f6d95b8 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -414,6 +414,16 @@ Bug Fixes since HDF5-1.14.0 release
Configuration
-------------
+ - Changed the default settings used by CMake for the GZIP filter
+
+ The default for the option HDF5_ENABLE_Z_LIB_SUPPORT was OFF. Now the default is ON.
+ This was done to match the defaults used by the autotools configure.ac.
+ In addition, the CMake message level for not finding a suitable filter library was
+ changed from FATAL_ERROR (which would halt the build process) to WARNING (which
+ will print a message to stderr). Associated files and documentation were changed to match.
+
+ Fixes GitHub issue #2926
+
- Fixed syntax of generator expressions used by CMake
Add quotes around the generator expression should allow CMake to