mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-02-23 16:20:57 +08:00
* win32defs: Fix Wundef warning (#4467)
* Refactor error handling code to eliminate internal ID calls (#4453)
All calls to the H5I routines are now made in API routines (sometimes in
FUNC_ENTER/LEAVE_* macros), except for some calls to H5E_clear_stack() within
the library, but I'm planning to remove those over time.
Also, made all the library internal error messages into static const variables,
instead of malloc'ing them, which means that they can just be referenced
and not copied.
Several new and updated auto-generated header files were necessary to enable
this.
* CMake: Fix mingw/fortran build (#4466)
* Update for blosc2 in plugins and prefix hdf5 cmake varnames (#4468)
* Fix an issue where compound datatype member IDs can be leaked during conversion (#4459)
Also fixes issues with handling of partially initialized datatypes during library shutdown
* H5Group: Fix operator= (#4473)
Closes #4472
* Fix github issue #2523: doxygen -- fix grammatically incorrect sentence alias (#4474)
* Remove env step not used by CI in testing (#4476)
* Add H5fortkit dependecy for H5Rff.F90 (#4482)
* Properly clean up cache when failing to load an object header (#4477)
* Properly clean up cache when failing to load an object header
* Don't check message type a second time in H5G__open_oid if the first attempt returns error
* Add more asserts to H5O__assert() to avoid segfaults
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Add a missing image from the original document (#4490)
* Disable EOF checks for SWMR readers in more cases. (#4489)
Fixes a race condition where the reader opens the file and sets its EOF from the
file's size (from the stat() call in the driver open callback). Then, before
the reader can read the file's superblock, a SWMR writer races in, extends the
file, and closes the file, writing an updated superblock with the 'writer' and
'SWMR writer' flags in the superblock off (appropriately). Then the reader
proceeds to read the superblock, and flags the EOF as wrong. Taking out the
check for the 'writer' and 'SWMR writer' flags will cause SWMR readers to avoid
flagging the file as incorrect.
* Remove unnecessary fortran install (#4498)
* Only one version of binaries is produced for platforms (#4496)
* Fix for github issue #2220. (#4497)
Document the limitation in the Passthrough Conncector section of the VOL Connector Author Guide.
The limitation is posted by Neil in the github issue on Dec 22, 2022.
* Release asset tarballs with no version filenames (#4494)
* Improve spec. reading superblock into cache (a little) by using v2 size (#4491)
* Improve spec. reading superblock into cache (a little) by using v2 size
Instead of reading the absolute minimal possible, use the likely value of
a v2+ superblock w/8-byte addresses & lengths.
* Fix for github Issue #1388 can't delete renamed dense attribute with corder tracking enabled (#4462)
* Fix for github issue #1388: can't delete renamed dense attribute with corder tracking enabled
The problem occurs in step 3(b) below which will delete the attribute with corder x
from the creation order index v2 B-tree.
The rename sequence in H5A__dense_rename() occurs in the following order:
1) The old attribute with corder x was removed from the creation order index v2 B-tree
2) The new renamed attribute was inserted via H5A__dense_insert():
(a) insert the attribute with new name j into the name index v2 B-tree
(b) insert the attribute with corder x into the creation order index v2 B-tree
3) The old attribute was removed via H5A__dense_remove():
(a) remove the attribute with old name k from the name index v2 B-tree
(b) remove the attribute with coorder x from the creation order index v2 B-tree
Fix: deactivate the "corder_bt2_addr" field so that H5A__dense_remove()
won't delete the attribute with corder x from the creation order index v2 B-tree.
* Fix/revert a libtool sed hack (#4501)
* Revert "Remove Autotools sed hack (#3848)"
This reverts commit 8b3ffdef30
.
* Fix libtool sed cleanup on MacOS
Convert sed -i line to sed > libtool.bak && mv libtool.bak libtool
to avoid non-portable -i option.
* Update src/H5public.h
* Set H5 specific vars immediately if legacy find (#4512)
* Correct find process vars (vs in-line build)
* Correct SZIP find
* Everything is libaec 1.0.6 or newer
* Correct option help text
70 lines
2.8 KiB
CMake
70 lines
2.8 KiB
CMake
#
|
|
# Copyright by The HDF Group.
|
|
# All rights reserved.
|
|
#
|
|
# This file is part of HDF5. The full HDF5 copyright notice, including
|
|
# terms governing use, modification, and redistribution, is contained in
|
|
# the COPYING file, which can be found at the root of the source code
|
|
# distribution tree, or in https://www.hdfgroup.org/licenses.
|
|
# If you do not have access to either file, you may request a copy from
|
|
# help@hdfgroup.org.
|
|
#
|
|
option (PLUGIN_USE_EXTERNAL "Use External Library Building for filter PLUGIN else search" OFF)
|
|
|
|
if (NOT PLUGIN_USE_LOCALCONTENT)
|
|
set (PLUGIN_URL ${PLUGIN_TGZ_ORIGPATH}/${PLUGIN_TGZ_NAME})
|
|
else ()
|
|
if (NOT H5PL_TGZPATH)
|
|
set (H5PL_TGZPATH ${TGZPATH})
|
|
endif ()
|
|
set (PLUGIN_URL ${H5PL_TGZPATH}/${PLUGIN_TGZ_NAME})
|
|
endif ()
|
|
message (STATUS "Filter PLUGIN file is ${PLUGIN_URL}")
|
|
|
|
include (ExternalProject)
|
|
#option (HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO GIT TGZ)" "NO")
|
|
set (HDF5_ALLOW_EXTERNAL_SUPPORT "NO" CACHE STRING "Allow External Library Building (NO GIT TGZ)")
|
|
set_property (CACHE HDF5_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT TGZ)
|
|
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
|
set (PLUGIN_USE_EXTERNAL ON CACHE BOOL "Use External Library Building for PLUGIN else search" FORCE)
|
|
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT")
|
|
set (PLUGIN_URL ${PLUGIN_GIT_URL} CACHE STRING "Path to PLUGIN git repository")
|
|
set (PLUGIN_BRANCH ${PLUGIN_GIT_BRANCH})
|
|
elseif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
|
if (NOT H5PL_TGZPATH)
|
|
set (H5PL_TGZPATH ${TGZPATH})
|
|
endif ()
|
|
if (PLUGIN_USE_LOCALCONTENT)
|
|
if (NOT EXISTS "${PLUGIN_URL}")
|
|
set (HDF5_ENABLE_PLUGIN_SUPPORT OFF CACHE BOOL "" FORCE)
|
|
message (VERBOSE "Filter PLUGIN file ${PLUGIN_URL} not found")
|
|
endif ()
|
|
endif ()
|
|
else ()
|
|
set (PLUGIN_USE_EXTERNAL OFF CACHE BOOL "Use External Library Building for PLUGIN else search")
|
|
message (VERBOSE "Filter PLUGIN not built")
|
|
endif ()
|
|
endif ()
|
|
|
|
#-----------------------------------------------------------------------------
|
|
# Option for PLUGIN support
|
|
#-----------------------------------------------------------------------------
|
|
option (HDF5_ENABLE_PLUGIN_SUPPORT "Enable PLUGIN Filters" OFF)
|
|
if (HDF5_ENABLE_PLUGIN_SUPPORT)
|
|
if (NOT PLUGIN_USE_EXTERNAL)
|
|
find_package (PLUGIN NAMES ${PLUGIN_PACKAGE_NAME}${HDF_PACKAGE_EXT})
|
|
if (NOT PLUGIN_FOUND)
|
|
find_package (PLUGIN) # Legacy find
|
|
endif ()
|
|
endif ()
|
|
if (NOT PLUGIN_FOUND)
|
|
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
|
EXTERNAL_PLUGIN_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT})
|
|
message (STATUS "Filter PLUGIN is built")
|
|
else ()
|
|
message (FATAL_ERROR " PLUGIN is Required for PLUGIN support in HDF5")
|
|
endif ()
|
|
endif ()
|
|
message (STATUS "Filter PLUGIN is ON")
|
|
endif ()
|