summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2023-06-06 15:40:08 (GMT)
committerGitHub <noreply@github.com>2023-06-06 15:40:08 (GMT)
commit9f2a3b18692a97d1168af78dcc99ef8c04e322a0 (patch)
tree7e74763553c27fe2fc007151262922ab53fb5714
parent2b278e29f5959d6b2d710c5d2006d4b16a081e6b (diff)
downloadhdf5-9f2a3b18692a97d1168af78dcc99ef8c04e322a0.zip
hdf5-9f2a3b18692a97d1168af78dcc99ef8c04e322a0.tar.gz
hdf5-9f2a3b18692a97d1168af78dcc99ef8c04e322a0.tar.bz2
Update actions and change defaults of compression (fix vars) (#3044)
-rw-r--r--.github/workflows/clang-format-check.yml2
-rw-r--r--.github/workflows/clang-format-fix.yml4
-rw-r--r--.github/workflows/cmake-ctest.yml3
-rw-r--r--.github/workflows/codespell.yml2
-rw-r--r--.github/workflows/daily-build.yml6
-rw-r--r--.github/workflows/main.yml39
-rw-r--r--.github/workflows/release.yml115
-rw-r--r--.github/workflows/tarball.yml9
-rw-r--r--CMakeFilters.cmake90
-rw-r--r--CMakePresets.json3
-rw-r--r--config/cmake/HDF5PluginCache.cmake18
-rw-r--r--config/cmake/cacheinit.cmake21
-rw-r--r--config/cmake/mccacheinit.cmake4
-rw-r--r--release_docs/INSTALL_CMake.txt169
-rw-r--r--release_docs/RELEASE.txt2
15 files changed, 326 insertions, 161 deletions
diff --git a/.github/workflows/clang-format-check.yml b/.github/workflows/clang-format-check.yml
index 70809a1..56d2b48 100644
--- a/.github/workflows/clang-format-check.yml
+++ b/.github/workflows/clang-format-check.yml
@@ -1,6 +1,8 @@
name: clang-format Check
on:
pull_request:
+permissions:
+ contents: read
jobs:
formatting-check:
name: Formatting Check
diff --git a/.github/workflows/clang-format-fix.yml b/.github/workflows/clang-format-fix.yml
index 00d2352..5981118 100644
--- a/.github/workflows/clang-format-fix.yml
+++ b/.github/workflows/clang-format-fix.yml
@@ -11,11 +11,15 @@ name: clang-format Commit Changes
on:
workflow_dispatch:
push:
+permissions:
+ contents: read
jobs:
formatting-check:
name: Commit Format Changes
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'skip-ci')"
+ permissions:
+ contents: write # In order to allow EndBug/add-and-commit to commit changes
steps:
- uses: actions/checkout@v3
- name: Fix C and Java formatting issues detected by clang-format
diff --git a/.github/workflows/cmake-ctest.yml b/.github/workflows/cmake-ctest.yml
index bb84130..fd10815 100644
--- a/.github/workflows/cmake-ctest.yml
+++ b/.github/workflows/cmake-ctest.yml
@@ -9,6 +9,9 @@ on:
required: true
type: string
+permissions:
+ contents: read
+
# A workflow run is made up of one or more jobs that can run sequentially or
# in parallel
jobs:
diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml
index 5d9b0b9..882705c 100644
--- a/.github/workflows/codespell.yml
+++ b/.github/workflows/codespell.yml
@@ -3,6 +3,8 @@
# https://github.com/codespell-project/actions-codespell
name: codespell
on: [push, pull_request]
+permissions:
+ contents: read
jobs:
codespell:
name: Check for spelling errors
diff --git a/.github/workflows/daily-build.yml b/.github/workflows/daily-build.yml
index 87ea15a..316691b 100644
--- a/.github/workflows/daily-build.yml
+++ b/.github/workflows/daily-build.yml
@@ -4,7 +4,7 @@ name: hdf5 1.10 daily build
on:
workflow_dispatch:
schedule:
- - cron: "10 0 * * *"
+ - cron: "4 0 * * *"
# A workflow run is made up of one or more jobs that can run sequentially or
# in parallel.
@@ -20,9 +20,11 @@ jobs:
if: ${{ needs.call-workflow-tarball.outputs.has_changes == 'true' }}
call-workflow-release:
- needs: call-workflow-ctest
+ needs: [call-workflow-tarball, call-workflow-ctest]
uses: ./.github/workflows/release.yml
with:
file_base: ${{ needs.call-workflow-tarball.outputs.file_base }}
+ file_branch: ${{ needs.call-workflow-tarball.outputs.file_branch }}
+ file_sha: ${{ needs.call-workflow-tarball.outputs.file_sha }}
if: ${{ needs.call-workflow-tarball.outputs.has_changes == 'true' }}
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 62050a0..258c5ea 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -17,9 +17,12 @@ on:
# Using concurrency to cancel any in-progress job or run
concurrency:
- group: ${{ github.ref }}
+ group: ${{ github.workflow }}-${{ github.sha || github.event.pull_request.number }}
cancel-in-progress: true
+permissions:
+ contents: read
+
# A workflow run is made up of one or more jobs that can run sequentially or
# in parallel. We just have one job, but the matrix items defined below will
# run in parallel.
@@ -79,7 +82,9 @@ jobs:
fortran: OFF
java: ON
libaecfc: ON
+ localaec: OFF
zlibfc: ON
+ localzlib: OFF
parallel: OFF
mirror_vfd: OFF
direct_vfd: OFF
@@ -96,7 +101,9 @@ jobs:
fortran: ON
java: ON
libaecfc: ON
+ localaec: OFF
zlibfc: ON
+ localzlib: OFF
parallel: OFF
mirror_vfd: ON
direct_vfd: ON
@@ -155,7 +162,9 @@ jobs:
fortran: OFF
java: ON
libaecfc: ON
+ localaec: OFF
zlibfc: ON
+ localzlib: OFF
parallel: OFF
mirror_vfd: ON
direct_vfd: OFF
@@ -339,16 +348,16 @@ jobs:
cd "${{ runner.workspace }}/build"
${{ matrix.flags }} $GITHUB_WORKSPACE/configure --enable-build-mode=${{ matrix.build_mode.autotools }} --${{ matrix.deprec_sym }}-deprecated-symbols --with-default-api-version=${{ matrix.default_api }} --enable-shared --${{ matrix.parallel }}-parallel --${{ matrix.cpp }}-cxx --${{ matrix.fortran }}-fortran --${{ matrix.java }}-java --${{ matrix.mirror_vfd }}-mirror-vfd --${{ matrix.direct_vfd }}-direct-vfd --with-szlib=${{ matrix.szip }}
shell: bash
- if: (matrix.generator == 'autogen') && (! matrix.thread_safe.enabled)
+ if: (matrix.generator == 'autogen') && ! (matrix.thread_safety.enabled)
- name: Autotools Configure (Thread-Safe)
run: |
sh ./autogen.sh
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
- ${{ matrix.flags }} $GITHUB_WORKSPACE/configure --enable-build-mode=${{ matrix.build_mode.autotools }} --enable-shared --enable-threadsafe --disable-hl --${{ matrix.parallel }}-parallel --${{ matrix.mirror_vfd }}-mirror-vfd --${{ matrix.direct_vfd }}-direct-vfd --with-szlib=${{ matrix.szip }}
+ ${{ matrix.flags }} $GITHUB_WORKSPACE/configure --enable-build-mode=${{ matrix.build_mode.autotools }} --enable-shared --enable-threadsafe --disable-hl --${{ matrix.mirror_vfd }}-mirror-vfd --${{ matrix.direct_vfd }}-direct-vfd --with-szlib=${{ matrix.szip }}
shell: bash
- if: (matrix.generator == 'autogen') && (matrix.thread_safe.enabled)
+ if: (matrix.generator == 'autogen') && (matrix.thread_safety.enabled)
#
# CMAKE CONFIGURE
@@ -358,44 +367,46 @@ 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 }} -DLIBAEC_USE_LOCALCONTENT=${{ matrix.localaec }} -DBUILD_ZLIB_WITH_FETCHCONTENT=${{ matrix.zlibfc }} -DZLIB_USE_LOCALCONTENT=${{ matrix.localzlib }} -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)
+ if: (matrix.generator != 'autogen') && ! (matrix.thread_safety.enabled)
- name: CMake Configure (Thread-Safe)
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_CPP_LIB:BOOL=OFF -DHDF5_BUILD_FORTRAN:BOOL=OFF -DHDF5_BUILD_JAVA:BOOL=OFF -DHDF5_BUILD_HL_LIB:BOOL=OFF -DBUILD_SZIP_WITH_FETCHCONTENT=${{ matrix.libaecfc }} -DLIBAEC_USE_LOCALCONTENT=${{ matrix.localaec }} -DBUILD_ZLIB_WITH_FETCHCONTENT=${{ matrix.zlibfc }} -DZLIB_USE_LOCALCONTENT=${{ matrix.localzlib }} -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)
+ if: (matrix.generator != 'autogen') && (matrix.thread_safety.enabled)
#
# BUILD
#
- name: Autotools Build
- run: make
+ run: make -j3
working-directory: ${{ runner.workspace }}/build
if: matrix.generator == 'autogen'
- name: CMake Build
- run: cmake --build . --config ${{ matrix.build_mode.cmake }}
+ run: cmake --build . --parallel 3 --config ${{ matrix.build_mode.cmake }}
working-directory: ${{ runner.workspace }}/build
- if: matrix.generator != 'autogen'
+ if: (matrix.generator != 'autogen')
#
# RUN TESTS
#
+ # NORMAL
+
- name: Autotools Run Tests
- run: make check
+ run: make check -j2
working-directory: ${{ runner.workspace }}/build
- if: (matrix.generator == 'autogen') && (matrix.run_tests)
+ if: (matrix.generator == 'autogen') && (matrix.run_tests) && ! (matrix.thread_safety.enabled)
- name: CMake Run Tests
- run: ctest --build . -C ${{ matrix.build_mode.cmake }} -V
+ run: ctest --build . --parallel 2 -C ${{ matrix.build_mode.cmake }} -V
working-directory: ${{ runner.workspace }}/build
# Skip Debug MSVC while we investigate H5L Java test timeouts
if: (matrix.generator != 'autogen') && (matrix.run_tests) && ! ((matrix.name == 'Windows MSVC CMake') && (matrix.build_mode.cmake == 'Debug'))
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..721f7b7
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,115 @@
+name: hdf5 1.10 release
+
+# Controls when the action will run. Triggers the workflow on a schedule
+on:
+ workflow_call:
+ inputs:
+ file_base:
+ description: "The common base name of the source tarballs"
+ required: true
+ type: string
+ file_branch:
+ description: "The branch name for the source tarballs"
+ required: true
+ type: string
+ file_sha:
+ description: "The sha for the source tarballs"
+ required: true
+ type: string
+
+# Previous workflows must pass to get here so tag the commit that created the files
+jobs:
+ create-tag:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write # In order to allow tag creation
+ steps:
+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
+ - name: Get Sources
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+
+ - run: |
+ git checkout ${{ inputs.file_sha }}
+
+ - uses: rickstaa/action-create-tag@v1
+ id: "tag_create"
+ with:
+ commit_sha: ${{ inputs.file_sha }}
+ tag: "snapshot"
+ force_push_tag: true
+ message: "Latest snapshot"
+
+ # Print result using the action output.
+ - run: |
+ echo "Tag already present: ${{ steps.tag_create.outputs.tag_exists }}"
+
+ getfiles:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Set file base name
+ id: set-file-base
+ run: |
+ FILE_NAME_BASE=$(echo "${{ inputs.file_base }}")
+ echo "FILE_BASE=$FILE_NAME_BASE" >> $GITHUB_OUTPUT
+
+ # Get files created by tarball script
+ - name: Get tgz-tarball (Linux)
+ uses: actions/download-artifact@v3
+ with:
+ name: tgz-tarball
+ path: ${{ github.workspace }}
+
+ - name: Get zip-tarball (Windows)
+ uses: actions/download-artifact@v3
+ with:
+ name: zip-tarball
+ path: ${{ github.workspace }}
+
+ # Get files created by cmake-ctest script
+ - name: Get published binary (Windows)
+ uses: actions/download-artifact@v3
+ with:
+ name: zip-vs2022-binary
+ path: ${{ github.workspace }}
+
+ - name: Get published binary (MacOS)
+ uses: actions/download-artifact@v3
+ with:
+ name: tgz-osx12-binary
+ path: ${{ github.workspace }}
+
+ - name: Get published binary (Linux)
+ uses: actions/download-artifact@v3
+ with:
+ name: tgz-ubuntu-2204-binary
+ path: ${{ github.workspace }}
+
+ # Get files used by release script
+
+ PreRelease:
+ runs-on: ubuntu-latest
+ needs: [create-tag, getfiles]
+ environment: snapshots_1_10
+ permissions:
+ contents: write
+ steps:
+ - name: Set file base name
+ id: get-file-base
+ run: |
+ FILE_NAME_BASE=$(echo "${{ inputs.file_base }}")
+ echo "FILE_BASE=$FILE_NAME_BASE" >> $GITHUB_OUTPUT
+
+ - name: PreRelease tag
+ uses: softprops/action-gh-release@v1
+ with:
+ tag_name: "snapshot"
+ prerelease: true
+ files: |
+ ${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz
+ ${{ steps.get-file-base.outputs.FILE_BASE }}.zip
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-osx12.tar.gz
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204.tar.gz
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-win_vs2022.zip
+ if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
diff --git a/.github/workflows/tarball.yml b/.github/workflows/tarball.yml
index 235d95a..ce6b2cf 100644
--- a/.github/workflows/tarball.yml
+++ b/.github/workflows/tarball.yml
@@ -10,6 +10,15 @@ on:
file_base:
description: "The common base name of the source tarballs"
value: ${{ jobs.create_tarball.outputs.file_base }}
+ file_branch:
+ description: "The branch used for the source tarballs"
+ value: ${{ jobs.check_commits.outputs.branch_ref }}
+ file_sha:
+ description: "The sha used for the source tarballs"
+ value: ${{ jobs.check_commits.outputs.branch_sha }}
+
+permissions:
+ contents: read
# A workflow run is made up of one or more jobs that can run sequentially or
# in parallel
diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake
index cac35d4..b81d6e2 100644
--- a/CMakeFilters.cmake
+++ b/CMakeFilters.cmake
@@ -61,10 +61,12 @@ 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)
- if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
- 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)
+ if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
+ message (VERBOSE "Filter ZLIB file ${ZLIB_URL} not found")
+ endif ()
endif ()
endif ()
if (NOT BUILD_SZIP_WITH_FETCHCONTENT)
@@ -73,10 +75,12 @@ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MAT
set (SZIP_URL ${TGZPATH}/${SZAEC_TGZ_NAME})
endif ()
endif ()
- if (NOT EXISTS "${SZIP_URL}")
- set (HDF5_ENABLE_SZIP_SUPPORT OFF CACHE BOOL "" FORCE)
- if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
- 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)
+ if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
+ message (VERBOSE "Filter SZIP file ${SZIP_URL} not found")
+ endif ()
endif ()
endif ()
else ()
@@ -88,7 +92,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)
@@ -97,9 +101,6 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT)
find_package (ZLIB) # Legacy find
endif ()
if (ZLIB_FOUND)
- set (H5_HAVE_FILTER_DEFLATE 1)
- set (H5_HAVE_ZLIB_H 1)
- set (H5_HAVE_LIBZ 1)
set (H5_ZLIB_HEADER "zlib.h")
set (ZLIB_INCLUDE_DIR_GEN ${ZLIB_INCLUDE_DIR})
set (ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR})
@@ -109,24 +110,16 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT)
if (BUILD_ZLIB_WITH_FETCHCONTENT)
# Only tgz files available
ORIGINAL_ZLIB_LIBRARY ("TGZ")
- set (H5_HAVE_FILTER_DEFLATE 1)
- set (H5_HAVE_ZLIB_H 1)
- set (H5_HAVE_LIBZ 1)
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
message (VERBOSE "HDF5_ZLIB is built from fetch content")
endif ()
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${ZLIB_STATIC_LIBRARY})
elseif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
EXTERNAL_ZLIB_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT})
- set (H5_HAVE_FILTER_DEFLATE 1)
- set (H5_HAVE_ZLIB_H 1)
- set (H5_HAVE_LIBZ 1)
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
message (VERBOSE "Filter HDF5_ZLIB is built")
endif ()
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 ()
@@ -135,12 +128,19 @@ 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")
- endif ()
- INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIRS})
- if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
- message (VERBOSE "Filter HDF5_ZLIB is ON")
+ if (ZLIB_FOUND)
+ set (H5_HAVE_FILTER_DEFLATE 1)
+ set (H5_HAVE_ZLIB_H 1)
+ set (H5_HAVE_LIBZ 1)
+ if (H5_HAVE_FILTER_DEFLATE)
+ set (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} DEFLATE")
+ endif ()
+ INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIRS})
+ if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
+ message (VERBOSE "Filter HDF5_ZLIB is ON")
+ endif ()
+ else ()
+ message (WARNING " ZLib support in HDF5 was enabled but not found")
endif ()
endif ()
@@ -149,7 +149,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)
if (USE_LIBAEC)
@@ -165,9 +165,6 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
find_package (SZIP) # Legacy find
endif ()
if (SZIP_FOUND)
- set (H5_HAVE_FILTER_SZIP 1)
- set (H5_HAVE_SZLIB_H 1)
- set (H5_HAVE_LIBSZ 1)
set (SZIP_INCLUDE_DIR_GEN ${SZIP_INCLUDE_DIR})
set (SZIP_INCLUDE_DIRS ${SZIP_INCLUDE_DIRS} ${SZIP_INCLUDE_DIR})
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_LIBRARIES})
@@ -177,9 +174,6 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
if (BUILD_SZIP_WITH_FETCHCONTENT)
# Only tgz files available
ORIGINAL_SZIP_LIBRARY ("TGZ" ${HDF5_ENABLE_SZIP_ENCODING})
- set (H5_HAVE_FILTER_SZIP 1)
- set (H5_HAVE_SZLIB_H 1)
- set (H5_HAVE_LIBSZ 1)
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
message (VERBOSE "SZIP is built from fetch content")
endif ()
@@ -194,9 +188,6 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_STATIC_LIBRARY})
elseif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
EXTERNAL_SZIP_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT} ${HDF5_ENABLE_SZIP_ENCODING})
- set (H5_HAVE_FILTER_SZIP 1)
- set (H5_HAVE_SZLIB_H 1)
- set (H5_HAVE_LIBSZ 1)
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
message (VERBOSE "Filter SZIP is built")
endif ()
@@ -213,15 +204,22 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
message (FATAL_ERROR "SZIP is Required for SZIP support in HDF5")
endif ()
endif ()
- INCLUDE_DIRECTORIES (${SZIP_INCLUDE_DIRS})
- if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
- message (VERBOSE "Filter SZIP is ON")
- endif ()
- 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)
+ set (H5_HAVE_FILTER_SZIP 1)
+ set (H5_HAVE_SZLIB_H 1)
+ set (H5_HAVE_LIBSZ 1)
+ INCLUDE_DIRECTORIES (${SZIP_INCLUDE_DIRS})
+ if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
+ message (VERBOSE "Filter SZIP is ON")
+ endif ()
+ 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/HDF5PluginCache.cmake b/config/cmake/HDF5PluginCache.cmake
index e676919..0d1795d 100644
--- a/config/cmake/HDF5PluginCache.cmake
+++ b/config/cmake/HDF5PluginCache.cmake
@@ -8,15 +8,15 @@
set (H5PL_BUILD_TESTING ON CACHE BOOL "Enable H5PL testing" FORCE)
set (BUILD_EXAMPLES ON CACHE BOOL "Build H5PL Examples" FORCE)
-set (HDF5_HDF5_HEADER "H5pubconf.h" CACHE STRING "Name of HDF5 header" FORCE)
-set (HDF5_LINK_LIBS ${HDF5_LIBSH_TARGET} CACHE STRING "HDF5 target" FORCE)
-#set (HDF5_INCLUDE_DIR $<TARGET_PROPERTY:${HDF5_LIBSH_TARGET},INCLUDE_DIRECTORIES> CACHE PATH "HDF5 include dirs" FORCE)
-set (HDF5_INCLUDE_DIR "${HDF5_SRC_INCLUDE_DIRS};${HDF5_SRC_BINARY_DIR}" CACHE PATH "HDF5 include dirs" FORCE)
-set (HDF5_INCLUDE_DIRS "${HDF5_SRC_INCLUDE_DIRS};${HDF5_SRC_BINARY_DIR}" CACHE PATH "HDF5 include dirs" FORCE)
-set (HDF5_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE STRING "HDF5 build folder" FORCE)
-
-set (HDF5_DUMP_EXECUTABLE $<TARGET_FILE:h5dump-shared> CACHE STRING "HDF5 h5dump target" FORCE)
-set (HDF5_REPACK_EXECUTABLE $<TARGET_FILE:h5repack-shared> CACHE STRING "HDF5 h5repack target" FORCE)
+#preset HDF5 cache vars to this projects libraries instead of searching
+set (H5PL_HDF5_HEADER "H5pubconf.h" CACHE STRING "Name of HDF5 header" FORCE)
+set (H5PL_HDF5_LINK_LIBS ${HDF5_LIBSH_TARGET} CACHE STRING "HDF5 target" FORCE)
+#set (H5PL_HDF5_INCLUDE_DIRS $<TARGET_PROPERTY:${HDF5_LIBSH_TARGET},INCLUDE_DIRECTORIES> CACHE PATH "HDF5 include dirs" FORCE)
+set (H5PL_HDF5_INCLUDE_DIRS "${HDF5_SRC_INCLUDE_DIRS};${HDF5_SRC_BINARY_DIR}" CACHE PATH "HDF5 include dirs" FORCE)
+set (H5PL_HDF5_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE STRING "HDF5 build folder" FORCE)
+
+set (H5PL_HDF5_DUMP_EXECUTABLE $<TARGET_FILE:h5dump-shared> CACHE STRING "HDF5 h5dump target" FORCE)
+set (H5PL_HDF5_REPACK_EXECUTABLE $<TARGET_FILE:h5repack-shared> CACHE STRING "HDF5 h5repack target" FORCE)
set (H5PL_ALLOW_EXTERNAL_SUPPORT "${HDF5_ALLOW_EXTERNAL_SUPPORT}" CACHE STRING "Allow External Library Building (NO GIT TGZ)" FORCE)
diff --git a/config/cmake/cacheinit.cmake b/config/cmake/cacheinit.cmake
index 7c5cc1e..3cae5ab 100644
--- a/config/cmake/cacheinit.cmake
+++ b/config/cmake/cacheinit.cmake
@@ -25,17 +25,13 @@ set (HDF5_BUILD_CPP_LIB ON CACHE BOOL "Build C++ support" FORCE)
set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE)
+set (HDF5_BUILD_JAVA ON CACHE BOOL "Build JAVA support" FORCE)
+
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)
@@ -44,24 +40,27 @@ 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)
+########################
+# compression options
+########################
set (ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of ZLIB package" 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 (ZLIB_USE_LOCALCONTENT ON 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 (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_USE_LOCALCONTENT OFF CACHE BOOL "Use local file for LIBAEC FetchContent" 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 ON CACHE BOOL "Use local file for LIBAEC FetchContent" FORCE)
########################
# filter plugin options
diff --git a/config/cmake/mccacheinit.cmake b/config/cmake/mccacheinit.cmake
index dcd7ca6..dd0c9ec 100644
--- a/config/cmake/mccacheinit.cmake
+++ b/config/cmake/mccacheinit.cmake
@@ -11,9 +11,9 @@
#
# This is the CMakeCache file.
-#########################
+########################
# EXTERNAL cache entries
-#########################
+########################
set (CMAKE_INSTALL_FRAMEWORK_PREFIX "Library/Frameworks" CACHE STRING "Frameworks installation directory" FORCE)
diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt
index fa75527..e105000 100644
--- a/release_docs/INSTALL_CMake.txt
+++ b/release_docs/INSTALL_CMake.txt
@@ -326,17 +326,17 @@ IV. Further considerations
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.
+ where "some_location" is the URL and by setting
+ ZLIB_USE_LOCALCONTENT:BOOL=OFF
+ LIBAEC_USE_LOCALCONTENT:BOOL=OFF
+ 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
@@ -514,28 +514,32 @@ These five steps are described in detail below.
########################
set (CMAKE_INSTALL_FRAMEWORK_PREFIX "Library/Frameworks" CACHE STRING "Frameworks installation directory" FORCE)
set (HDF_PACKAGE_EXT "" CACHE STRING "Name of HDF package extension" FORCE)
+ set (HDF_PACKAGE_NAMESPACE "hdf5::" CACHE STRING "Name for HDF package namespace (can be empty)" FORCE)
+ set (HDF5_BUILD_CPP_LIB ON CACHE BOOL "Build C++ support" FORCE)
set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" 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 "3" CACHE STRING "Minimum number of processes for HDF parallel tests" FORCE)
+ set (HDF5_BUILD_JAVA ON CACHE BOOL "Build JAVA support" FORCE)
+ 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 (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_ALLOW_EXTERNAL_SUPPORT "NO" CACHE STRING "Allow External Library Building (NO GIT TGZ)" FORCE)
+ set (HDF5_MINGW_STATIC_GCC_LIBS ON CACHE BOOL "Statically link libgcc/libstdc++" 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 (ZLIB_USE_LOCALCONTENT ON 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 (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_USE_LOCALCONTENT OFF CACHE BOOL "Use local file for LIBAEC FetchContent" 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 ON CACHE BOOL "Use local file for LIBAEC FetchContent" FORCE)
#######################
# filter plugin options
#######################
@@ -616,6 +620,13 @@ These five steps are described in detail below.
set (ZFP_GIT_BRANCH "master" CACHE STRING "" FORCE)
set (ZFP_TGZ_NAME "zfp.tar.gz" CACHE STRING "Use ZFP from compressed file" FORCE)
set (ZFP_PACKAGE_NAME "zfp" CACHE STRING "Name of ZFP package" FORCE)
+ ######
+ # zstd
+ ######
+ set (ZSTD_GIT_URL "https://github.com/facebook/zstd" CACHE STRING "Use ZSTD from repository" FORCE)
+ set (ZSTD_GIT_BRANCH "dev" CACHE STRING "" FORCE)
+ set (ZSTD_TGZ_NAME "zstd.tar.gz" CACHE STRING "Use ZSTD from compressed file" FORCE)
+ set (ZSTD_PACKAGE_NAME "zstd" CACHE STRING "Name of ZSTD package" FORCE)
2. Configure the cache settings
@@ -766,13 +777,13 @@ BUILD_STATIC_EXECS "Build Static Executables" OFF
BUILD_TESTING "Build HDF5 Unit Testing" ON
---------------- HDF5 Build Options ---------------------
-HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" OFF
-HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" ON
-HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF
-HDF5_BUILD_JAVA "Build JAVA support" OFF
-HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" ON
-HDF5_BUILD_TOOLS "Build HDF5 Tools" ON
-HDF5_BUILD_HL_TOOLS "Build HIGH Level HDF5 Tools" ON
+HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" OFF
+HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" ON
+HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF
+HDF5_BUILD_JAVA "Build JAVA support" OFF
+HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" ON
+HDF5_BUILD_TOOLS "Build HDF5 Tools" ON
+HDF5_BUILD_HL_TOOLS "Build HIGH Level HDF5 Tools" ON
HDF5_BUILD_HL_GIF_TOOLS "Build HIGH Level HDF5 GIF Tools" OFF
---------------- HDF5 Folder Build Options ---------------------
@@ -799,72 +810,84 @@ HDF5_INSTALL_DOC_DIR "HDF5_INSTALL_DATA_DIR/doc/hdf5"
---------------- HDF5 Advanced Options ---------------------
HDF5_USE_GNU_DIRS "TRUE to use GNU Coding Standard install directory variables,
- FALSE to use historical settings" FALSE
-ONLY_SHARED_LIBS "Only Build Shared Libraries" OFF
-ALLOW_UNSUPPORTED "Allow unsupported combinations of configure options" OFF
-HDF5_EXTERNAL_LIB_PREFIX "Use prefix for custom library naming." ""
-HDF5_DISABLE_COMPILER_WARNINGS "Disable compiler warnings" OFF
-HDF5_ENABLE_ALL_WARNINGS "Enable all warnings" OFF
-HDF5_ENABLE_CODESTACK "Enable the function stack tracing (for developer debugging)." OFF
-HDF5_ENABLE_COVERAGE "Enable code coverage for Libraries and Programs" OFF
-HDF5_ENABLE_DEBUG_APIS "Turn on extra debug output in all packages" OFF
-HDF5_ENABLE_DEPRECATED_SYMBOLS "Enable deprecated public API symbols" ON
-HDF5_ENABLE_DIRECT_VFD "Build the Direct I/O Virtual File Driver" OFF
-HDF5_ENABLE_EMBEDDED_LIBINFO "embed library info into executables" ON
-HDF5_ENABLE_PARALLEL "Enable parallel build (requires MPI)" OFF
+ FALSE to use historical settings" FALSE
+ONLY_SHARED_LIBS "Only Build Shared Libraries" OFF
+ALLOW_UNSUPPORTED "Allow unsupported combinations of configure options" OFF
+HDF5_EXTERNAL_LIB_PREFIX "Use prefix for custom library naming." ""
+HDF5_DISABLE_COMPILER_WARNINGS "Disable compiler warnings" OFF
+HDF5_ENABLE_ALL_WARNINGS "Enable all warnings" OFF
+HDF5_ENABLE_CODESTACK "Enable the function stack tracing (for developer debugging)." OFF
+HDF5_ENABLE_COVERAGE "Enable code coverage for Libraries and Programs" OFF
+HDF5_ENABLE_DEBUG_APIS "Turn on extra debug output in all packages" OFF
+HDF5_ENABLE_DEPRECATED_SYMBOLS "Enable deprecated public API symbols" ON
+HDF5_ENABLE_DIRECT_VFD "Build the Direct I/O Virtual File Driver" OFF
+HDF5_ENABLE_EMBEDDED_LIBINFO "embed library info into executables" ON
+HDF5_ENABLE_PARALLEL "Enable parallel build (requires MPI)" OFF
HDF5_ENABLE_PREADWRITE "Use pread/pwrite in sec2/log/core VFDs in place of read/write (when available)" ON
-HDF5_ENABLE_TRACE "Enable API tracing capability" OFF
-HDF5_ENABLE_USING_MEMCHECKER "Indicate that a memory checker is used" OFF
-HDF5_GENERATE_HEADERS "Rebuild Generated Files" ON
-HDF5_BUILD_GENERATORS "Build Test Generators" OFF
-HDF5_JAVA_PACK_JRE "Package a JRE installer directory" OFF
-HDF5_MEMORY_ALLOC_SANITY_CHECK "Indicate that internal memory allocation sanity checks are enabled" OFF
-HDF5_NO_PACKAGES "Do not include CPack Packaging" OFF
-HDF5_PACK_EXAMPLES "Package the HDF5 Library Examples Compressed File" OFF
-HDF5_PACK_MACOSX_FRAMEWORK "Package the HDF5 Library in a Frameworks" OFF
+HDF5_ENABLE_TRACE "Enable API tracing capability" OFF
+HDF5_ENABLE_USING_MEMCHECKER "Indicate that a memory checker is used" OFF
+HDF5_GENERATE_HEADERS "Rebuild Generated Files" ON
+HDF5_BUILD_GENERATORS "Build Test Generators" OFF
+HDF5_JAVA_PACK_JRE "Package a JRE installer directory" OFF
+HDF5_NO_PACKAGES "Do not include CPack Packaging" OFF
+HDF5_PACK_EXAMPLES "Package the HDF5 Library Examples Compressed File" OFF
+HDF5_PACK_MACOSX_FRAMEWORK "Package the HDF5 Library in a Frameworks" OFF
HDF5_BUILD_FRAMEWORKS "TRUE to build as frameworks libraries,
- FALSE to build according to BUILD_SHARED_LIBS" FALSE
-HDF5_PACKAGE_EXTLIBS "CPACK - include external libraries" OFF
-HDF5_STRICT_FORMAT_CHECKS "Whether to perform strict file format checks" OFF
-HDF_TEST_EXPRESS "Control testing framework (0-3)" "3"
-HDF5_TEST_VFD "Execute tests with different VFDs" OFF
-HDF5_TEST_PASSTHROUGH_VOL "Execute tests with different passthrough VOL connectors" OFF
-DEFAULT_API_VERSION "Enable default API (v16, v18, v110)" "v110"
-HDF5_USE_FOLDERS "Enable folder grouping of projects in IDEs." ON
-HDF5_WANT_DATA_ACCURACY "IF data accuracy is guaranteed during data conversions" ON
+ FALSE to build according to BUILD_SHARED_LIBS" FALSE
+HDF5_PACKAGE_EXTLIBS "CPACK - include external libraries" OFF
+HDF5_STRICT_FORMAT_CHECKS "Whether to perform strict file format checks" OFF
+DEFAULT_API_VERSION "Enable default API (v16, v18, v110, v112)" "v112"
+HDF5_USE_FOLDERS "Enable folder grouping of projects in IDEs." ON
+HDF5_WANT_DATA_ACCURACY "IF data accuracy is guaranteed during data conversions" ON
HDF5_WANT_DCONV_EXCEPTION "exception handling functions is checked during data conversions" ON
-HDF5_ENABLE_THREADSAFE "Enable Threadsafety" OFF
-HDF5_MSVC_NAMING_CONVENTION "Use MSVC Naming conventions for Shared Libraries" OFF
-HDF5_MINGW_STATIC_GCC_LIBS "Statically link libgcc/libstdc++" OFF
+HDF5_ENABLE_THREADSAFE "Enable Threadsafety" OFF
+HDF5_MSVC_NAMING_CONVENTION "Use MSVC Naming conventions for Shared Libraries" OFF
+HDF5_MINGW_STATIC_GCC_LIBS "Statically link libgcc/libstdc++" OFF
if (APPLE)
HDF5_BUILD_WITH_INSTALL_NAME "Build with library install_name set to the installation path" OFF
if (CMAKE_BUILD_TYPE MATCHES Debug)
HDF5_ENABLE_INSTRUMENT "Instrument The library" OFF
-if (HDF5_TEST_VFD)
- HDF5_TEST_FHEAP_VFD "Execute fheap test with different VFDs" ON
if (HDF5_BUILD_FORTRAN)
- HDF5_INSTALL_MOD_FORTRAN "Copy FORTRAN mod files to include directory (NO SHARED STATIC)" "XX"
- if (BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED
- if (BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED
- if (NOT BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is STATIC
+ HDF5_INSTALL_MOD_FORTRAN "Copy FORTRAN mod files to include directory (NO SHARED STATIC)" SHARED
+ if (BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED
+ if (BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED
+ if (NOT BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is STATIC
if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED
-HDF5_BUILD_DOC "Build documentation" OFF
-HDF5_ENABLE_ANALYZER_TOOLS "enable the use of Clang tools" OFF
-HDF5_ENABLE_SANITIZERS "execute the Clang sanitizer" OFF
-HDF5_ENABLE_FORMATTERS "format source files" OFF
-TEST_SHELL_SCRIPTS "Enable shell script tests" ON
+HDF5_BUILD_DOC "Build documentation" OFF
+HDF5_ENABLE_ANALYZER_TOOLS "enable the use of Clang tools" OFF
+HDF5_ENABLE_SANITIZERS "execute the Clang sanitizer" OFF
+HDF5_ENABLE_FORMATTERS "format source files" OFF
+
+---------------- HDF5 Advanced Test Options ---------------------
+if (BUILD_TESTING)
+ HDF5_TEST_SERIAL "Execute non-parallel tests" ON
+ HDF5_TEST_TOOLS "Execute tools tests" ON
+ HDF5_TEST_EXAMPLES "Execute tests on examples" ON
+ HDF5_TEST_SWMR "Execute SWMR tests" ON
+ HDF5_TEST_PARALLEL "Execute parallel tests" ON
+ HDF5_TEST_FORTRAN "Execute fortran tests" ON
+ HDF5_TEST_CPP "Execute cpp tests" ON
+ HDF5_TEST_JAVA "Execute java tests" ON
+ HDF_TEST_EXPRESS "Control testing framework (0-3)" "3"
+ HDF5_TEST_PASSTHROUGH_VOL "Execute tests with different passthrough VOL connectors" OFF
+ if (HDF5_TEST_PASSTHROUGH_VOL)
+ HDF5_TEST_FHEAP_PASSTHROUGH_VOL "Execute fheap test with different passthrough VOL connectors" ON
+ HDF5_TEST_VFD "Execute tests with different VFDs" OFF
+ if (HDF5_TEST_VFD)
+ HDF5_TEST_FHEAP_VFD "Execute fheap test with different VFDs" ON
+ TEST_SHELL_SCRIPTS "Enable shell script tests" ON
---------------- External Library Options ---------------------
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
- USE_LIBAEC "Use libaec szip replacement" OFF
+ HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" ON
+ USE_LIBAEC "Use libaec szip replacement" ON
if (WINDOWS)
H5_DEFAULT_PLUGINDIR "%ALLUSERSPROFILE%/hdf5/lib/plugin"
else ()
@@ -873,11 +896,11 @@ endif ()
if (BUILD_SZIP_WITH_FETCHCONTENT)
LIBAEC_TGZ_ORIGPATH "Use LIBAEC from original location" "https://github.com/MathisRosenhauer/libaec/releases/download/v1.0.6/libaec-1.0.6.tar.gz"
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
+ LIBAEC_USE_LOCALCONTENT "Use local file for LIBAEC FetchContent" ON
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
+ ZLIB_USE_LOCALCONTENT "Use local file for ZLIB FetchContent" ON
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 63b75ed..3034ba5 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -200,7 +200,7 @@ Bug Fixes since HDF5-1.10.10 release
match, opening of the dataset will fail.
Fixes GitHub issue #2606
-
+
- Fix for CVE-2019-8396
Malformed HDF5 files may have truncated content which does not match