summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2023-04-23 20:11:17 (GMT)
committerGitHub <noreply@github.com>2023-04-23 20:11:17 (GMT)
commit3f5842cdd201ec73ffe9746cb9ea1d384754c968 (patch)
tree5e85c4faa5668d73d0ae7701689cbcef5ee051b7
parentd5be099707ac0c7dfe1366adc7ad488043083e8a (diff)
downloadhdf5-3f5842cdd201ec73ffe9746cb9ea1d384754c968.zip
hdf5-3f5842cdd201ec73ffe9746cb9ea1d384754c968.tar.gz
hdf5-3f5842cdd201ec73ffe9746cb9ea1d384754c968.tar.bz2
Correct CMake option defaults - deprecate szip for libaec (#2778)
-rw-r--r--CMakeFilters.cmake34
-rw-r--r--CMakeInstallation.cmake6
-rw-r--r--config/cmake/HDFLibMacros.cmake42
-rw-r--r--config/cmake/cacheinit.cmake8
-rw-r--r--config/cmake/examples/CTestScript.cmake (renamed from config/cmake/CTestScript.cmake)27
-rw-r--r--config/cmake/examples/HDF5_Examples.cmake.in (renamed from config/cmake/HDF5_Examples.cmake.in)0
-rw-r--r--config/cmake/examples/HDF5_Examples_options.cmake (renamed from config/cmake/HDF5_Examples_options.cmake)0
-rw-r--r--config/cmake/hdf5-config.cmake.in2
-rw-r--r--config/cmake/mccacheinit.cmake20
-rw-r--r--release_docs/INSTALL_CMake.txt149
-rw-r--r--release_docs/RELEASE.txt5
11 files changed, 143 insertions, 150 deletions
diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake
index eb62071..a55d7ae 100644
--- a/CMakeFilters.cmake
+++ b/CMakeFilters.cmake
@@ -9,7 +9,6 @@
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
-option (USE_LIBAEC "Use AEC library as SZip Filter" OFF)
option (USE_LIBAEC_STATIC "Use static AEC library " OFF)
option (ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 0)
option (SZIP_USE_EXTERNAL "Use External Library Building for SZIP" 0)
@@ -29,8 +28,6 @@ endif ()
option (BUILD_SZIP_WITH_FETCHCONTENT "Use FetchContent to use original source files" OFF)
if (BUILD_SZIP_WITH_FETCHCONTENT)
- # Only libaec library is usable
- set (USE_LIBAEC ON CACHE BOOL "Use libaec szip replacement" FORCE)
set (SZIP_USE_EXTERNAL "Use External Library Building for SZIP" 1)
if (NOT LIBAEC_USE_LOCALCONTENT)
set (SZIP_URL ${LIBAEC_TGZ_ORIGPATH}/${LIBAEC_TGZ_ORIGNAME})
@@ -66,10 +63,7 @@ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MAT
message (VERBOSE "Filter ZLIB file ${ZLIB_URL} not found")
endif ()
if (NOT BUILD_SZIP_WITH_FETCHCONTENT)
- set (SZIP_URL ${TGZPATH}/${SZIP_TGZ_NAME})
- if (USE_LIBAEC)
- set (SZIP_URL ${TGZPATH}/${SZAEC_TGZ_NAME})
- endif ()
+ set (SZIP_URL ${TGZPATH}/${SZAEC_TGZ_NAME})
endif ()
if (NOT EXISTS "${SZIP_URL}")
set (HDF5_ENABLE_SZIP_SUPPORT OFF CACHE BOOL "" FORCE)
@@ -142,15 +136,13 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
option (HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF)
if (NOT SZIP_USE_EXTERNAL)
set(SZIP_FOUND FALSE)
- if (USE_LIBAEC)
- set(libaec_USE_STATIC_LIBS ${USE_LIBAEC_STATIC})
- find_package (libaec 1.0.5 CONFIG)
- if (SZIP_FOUND)
- set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_LIBRARIES})
- endif ()
+ set(libaec_USE_STATIC_LIBS ${USE_LIBAEC_STATIC})
+ find_package (libaec 1.0.5 CONFIG)
+ if (SZIP_FOUND)
+ set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_LIBRARIES})
endif ()
if (NOT SZIP_FOUND)
- find_package (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared)
+ find_package (SZIP NAMES ${LIBAEC_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared)
if (NOT SZIP_FOUND)
find_package (SZIP) # Legacy find
endif ()
@@ -171,12 +163,7 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
set (H5_HAVE_SZLIB_H 1)
set (H5_HAVE_LIBSZ 1)
message (VERBOSE "SZIP is built from fetch content")
- if (USE_LIBAEC)
- message (VERBOSE "... with library AEC")
- set (SZIP_PACKAGE_NAME ${LIBAEC_PACKAGE_NAME})
- else ()
- set (SZIP_PACKAGE_NAME ${SZIP_PACKAGE_NAME})
- endif ()
+ message (VERBOSE "... with library AEC")
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})
@@ -184,12 +171,7 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
set (H5_HAVE_SZLIB_H 1)
set (H5_HAVE_LIBSZ 1)
message (VERBOSE "Filter SZIP is built")
- if (USE_LIBAEC)
- message (VERBOSE "... with library AEC")
- set (SZIP_PACKAGE_NAME ${LIBAEC_PACKAGE_NAME})
- else ()
- set (SZIP_PACKAGE_NAME ${SZIP_PACKAGE_NAME})
- endif ()
+ 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")
diff --git a/CMakeInstallation.cmake b/CMakeInstallation.cmake
index d13f8bb..00ed5cd 100644
--- a/CMakeInstallation.cmake
+++ b/CMakeInstallation.cmake
@@ -142,7 +142,7 @@ install (
option (HDF5_PACK_EXAMPLES "Package the HDF5 Library Examples Compressed File" OFF)
if (HDF5_PACK_EXAMPLES)
configure_file (
- ${HDF_RESOURCES_DIR}/HDF5_Examples.cmake.in
+ ${HDF_RESOURCES_DIR}/examples/HDF5_Examples.cmake.in
${HDF5_BINARY_DIR}/HDF5_Examples.cmake @ONLY
)
install (
@@ -169,13 +169,13 @@ if (HDF5_PACK_EXAMPLES)
)
install (
FILES
- ${HDF_RESOURCES_DIR}/CTestScript.cmake
+ ${HDF_RESOURCES_DIR}/examples/CTestScript.cmake
DESTINATION ${HDF5_INSTALL_DATA_DIR}
COMPONENT hdfdocuments
)
install (
FILES
- ${HDF_RESOURCES_DIR}/HDF5_Examples_options.cmake
+ ${HDF_RESOURCES_DIR}/examples/HDF5_Examples_options.cmake
DESTINATION ${HDF5_INSTALL_DATA_DIR}
COMPONENT hdfdocuments
)
diff --git a/config/cmake/HDFLibMacros.cmake b/config/cmake/HDFLibMacros.cmake
index d2f2660..b3985d5 100644
--- a/config/cmake/HDFLibMacros.cmake
+++ b/config/cmake/HDFLibMacros.cmake
@@ -66,7 +66,6 @@ macro (ORIGINAL_SZIP_LIBRARY compress_type encoding)
add_subdirectory(${szip_SOURCE_DIR} ${szip_BINARY_DIR})
endif()
- set (USE_LIBAEC ON CACHE BOOL "Use libaec szip replacement" FORCE)
add_library (${HDF_PACKAGE_NAMESPACE}szaec-static ALIAS szaec-static)
add_library (${HDF_PACKAGE_NAMESPACE}aec-static ALIAS aec-static)
set (SZIP_STATIC_LIBRARY "${HDF_PACKAGE_NAMESPACE}szaec-static;${HDF_PACKAGE_NAMESPACE}aec-static")
@@ -127,47 +126,30 @@ macro (EXTERNAL_SZIP_LIBRARY compress_type encoding)
endif ()
externalproject_get_property (SZIP BINARY_DIR SOURCE_DIR)
#
-##include (${BINARY_DIR}/${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT}-targets.cmake)
+##include (${BINARY_DIR}/${LIBAEC_PACKAGE_NAME}${HDF_PACKAGE_EXT}-targets.cmake)
# Create imported target szip-static
- if (USE_LIBAEC)
- add_library(${HDF_PACKAGE_NAMESPACE}szaec-static STATIC IMPORTED)
- HDF_IMPORT_SET_LIB_OPTIONS (${HDF_PACKAGE_NAMESPACE}szaec-static "szaec" STATIC "")
- add_dependencies (${HDF_PACKAGE_NAMESPACE}szaec-static SZIP)
- add_library(${HDF_PACKAGE_NAMESPACE}aec-static STATIC IMPORTED)
- HDF_IMPORT_SET_LIB_OPTIONS (${HDF_PACKAGE_NAMESPACE}aec-static "aec" STATIC "")
- add_dependencies (${HDF_PACKAGE_NAMESPACE}aec-static SZIP)
- set (SZIP_STATIC_LIBRARY "${HDF_PACKAGE_NAMESPACE}szaec-static;${HDF_PACKAGE_NAMESPACE}aec-static")
- else ()
- add_library(${HDF_PACKAGE_NAMESPACE}szip-static STATIC IMPORTED)
- HDF_IMPORT_SET_LIB_OPTIONS (${HDF_PACKAGE_NAMESPACE}szip-static "szip" STATIC "")
- add_dependencies (${HDF_PACKAGE_NAMESPACE}szip-static SZIP)
- set (SZIP_STATIC_LIBRARY "${HDF_PACKAGE_NAMESPACE}szip-static")
- endif ()
+ add_library(${HDF_PACKAGE_NAMESPACE}szaec-static STATIC IMPORTED)
+ HDF_IMPORT_SET_LIB_OPTIONS (${HDF_PACKAGE_NAMESPACE}szaec-static "szaec" STATIC "")
+ add_dependencies (${HDF_PACKAGE_NAMESPACE}szaec-static SZIP)
+ add_library(${HDF_PACKAGE_NAMESPACE}aec-static STATIC IMPORTED)
+ HDF_IMPORT_SET_LIB_OPTIONS (${HDF_PACKAGE_NAMESPACE}aec-static "aec" STATIC "")
+ add_dependencies (${HDF_PACKAGE_NAMESPACE}aec-static SZIP)
+ set (SZIP_STATIC_LIBRARY "${HDF_PACKAGE_NAMESPACE}szaec-static;${HDF_PACKAGE_NAMESPACE}aec-static")
set (SZIP_LIBRARIES ${SZIP_STATIC_LIBRARY})
set (SZIP_INCLUDE_DIR_GEN "${BINARY_DIR}")
- if (USE_LIBAEC)
- set (SZIP_INCLUDE_DIR "${SOURCE_DIR}/include")
- else ()
- set (SZIP_INCLUDE_DIR "${SOURCE_DIR}/src")
- endif ()
+ set (SZIP_INCLUDE_DIR "${SOURCE_DIR}/include")
set (SZIP_FOUND 1)
set (SZIP_INCLUDE_DIRS ${SZIP_INCLUDE_DIR_GEN} ${SZIP_INCLUDE_DIR})
endmacro ()
#-------------------------------------------------------------------------------
macro (PACKAGE_SZIP_LIBRARY compress_type)
- set (SZIP_HDR "SZconfig")
- if (USE_LIBAEC)
- set (SZIP_HDR "aec_config")
- else ()
- set (SZIP_HDR "libaec_Export")
- endif ()
add_custom_target (SZIP-GenHeader-Copy ALL
- COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SZIP_INCLUDE_DIR_GEN}/${SZIP_HDR}.h ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/
- COMMENT "Copying ${SZIP_INCLUDE_DIR_GEN}/${SZIP_HDR}.h to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/"
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SZIP_INCLUDE_DIR_GEN}/aec_config.h ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/
+ COMMENT "Copying ${SZIP_INCLUDE_DIR_GEN}/aec_config.h to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/"
)
- set (EXTERNAL_HEADER_LIST ${EXTERNAL_HEADER_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${SZIP_HDR}.h)
+ set (EXTERNAL_HEADER_LIST ${EXTERNAL_HEADER_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/aec_config.h)
if (${compress_type} MATCHES "GIT" OR ${compress_type} MATCHES "TGZ")
add_dependencies (SZIP-GenHeader-Copy SZIP)
endif ()
diff --git a/config/cmake/cacheinit.cmake b/config/cmake/cacheinit.cmake
index 7c5cc1e..4460891 100644
--- a/config/cmake/cacheinit.cmake
+++ b/config/cmake/cacheinit.cmake
@@ -25,6 +25,8 @@ 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)
@@ -44,21 +46,17 @@ 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 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 (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)
diff --git a/config/cmake/CTestScript.cmake b/config/cmake/examples/CTestScript.cmake
index a2b122c..657806c 100644
--- a/config/cmake/CTestScript.cmake
+++ b/config/cmake/examples/CTestScript.cmake
@@ -35,23 +35,30 @@ if (NOT SITE_OS_NAME)
message (STATUS "Dashboard script uname output: ${osname}-${osrel}-${cpu}\n")
set (CTEST_BUILD_NAME "${osname}-${osrel}-${cpu}")
- if (SITE_BUILDNAME_SUFFIX)
- set (CTEST_BUILD_NAME "${SITE_BUILDNAME_SUFFIX}-${CTEST_BUILD_NAME}")
- endif ()
- set (BUILD_OPTIONS "${ADD_BUILD_OPTIONS}")
else ()
## machine name provided
## --------------------------
if (CMAKE_HOST_UNIX)
- set(CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_OS_BITS}-${SITE_COMPILER_NAME}-${SITE_COMPILER_VERSION}")
+ set (CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_OS_BITS}-${SITE_COMPILER_NAME}-${SITE_COMPILER_VERSION}")
else ()
- set(CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_COMPILER_NAME}")
- endif ()
- if (SITE_BUILDNAME_SUFFIX)
- set(CTEST_BUILD_NAME "${CTEST_BUILD_NAME}-${SITE_BUILDNAME_SUFFIX}")
+ set (CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_COMPILER_NAME}")
endif ()
- set (BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDNAME:STRING=${CTEST_BUILD_NAME}")
endif ()
+if (SITE_BUILDNAME_SUFFIX)
+ set (CTEST_BUILD_NAME "${SITE_BUILDNAME_SUFFIX}-${CTEST_BUILD_NAME}")
+endif ()
+set (BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDNAME:STRING=${CTEST_BUILD_NAME}")
+
+# Launchers work only with Makefile and Ninja generators.
+if(NOT "${CTEST_CMAKE_GENERATOR}" MATCHES "Make|Ninja" OR LOCAL_SKIP_TEST)
+ set(CTEST_USE_LAUNCHERS 0)
+ set(ENV{CTEST_USE_LAUNCHERS_DEFAULT} 0)
+ set(BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=OFF")
+else()
+ set(CTEST_USE_LAUNCHERS 1)
+ set(ENV{CTEST_USE_LAUNCHERS_DEFAULT} 1)
+ set(BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=ON")
+endif()
#-----------------------------------------------------------------------------
# MacOS machines need special options
diff --git a/config/cmake/HDF5_Examples.cmake.in b/config/cmake/examples/HDF5_Examples.cmake.in
index d2661a7..d2661a7 100644
--- a/config/cmake/HDF5_Examples.cmake.in
+++ b/config/cmake/examples/HDF5_Examples.cmake.in
diff --git a/config/cmake/HDF5_Examples_options.cmake b/config/cmake/examples/HDF5_Examples_options.cmake
index cdd49eb..cdd49eb 100644
--- a/config/cmake/HDF5_Examples_options.cmake
+++ b/config/cmake/examples/HDF5_Examples_options.cmake
diff --git a/config/cmake/hdf5-config.cmake.in b/config/cmake/hdf5-config.cmake.in
index b778c42..2f8f673 100644
--- a/config/cmake/hdf5-config.cmake.in
+++ b/config/cmake/hdf5-config.cmake.in
@@ -118,7 +118,7 @@ if (NOT TARGET "@HDF5_PACKAGE@")
include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
endif ()
if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS)
- include (@PACKAGE_SHARE_INSTALL_DIR@/@SZIP_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
+ include (@PACKAGE_SHARE_INSTALL_DIR@/@LIBAEC_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
endif ()
include (@PACKAGE_SHARE_INSTALL_DIR@/@HDF5_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake)
endif ()
diff --git a/config/cmake/mccacheinit.cmake b/config/cmake/mccacheinit.cmake
index dcd7ca6..068adff 100644
--- a/config/cmake/mccacheinit.cmake
+++ b/config/cmake/mccacheinit.cmake
@@ -17,22 +17,20 @@
set (CMAKE_INSTALL_FRAMEWORK_PREFIX "Library/Frameworks" CACHE STRING "Frameworks installation directory" FORCE)
-set (BUILD_TESTING ON CACHE BOOL "Build HDF5 Unit Testing" 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" FORCE)
set (HDF5_BUILD_CPP_LIB ON CACHE BOOL "Build HDF5 C++ Library" FORCE)
-set (HDF5_BUILD_EXAMPLES ON CACHE BOOL "Build HDF5 Library Examples" FORCE)
-
set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE)
set (HDF5_BUILD_HL_LIB ON CACHE BOOL "Build HIGH Level HDF5 Library" FORCE)
set (HDF5_BUILD_TOOLS ON CACHE BOOL "Build HDF5 Tools" FORCE)
+set (HDF5_BUILD_EXAMPLES ON CACHE BOOL "Build HDF5 Library Examples" 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)
@@ -45,19 +43,19 @@ set (HDF5_ENABLE_USING_MEMCHECKER ON CACHE BOOL "Indicate that a memory checker
set (HDF5_NO_PACKAGES ON CACHE BOOL "CPACK - Disable packaging" FORCE)
-set (HDF5_ALLOW_EXTERNAL_SUPPORT "NO" CACHE STRING "Allow External Library Building (NO GIT TGZ)" 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 "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 (SZIP_TGZ_NAME "SZip.tar.gz" CACHE STRING "Use SZip from compressed file" 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 (USE_LIBAEC ON CACHE BOOL "Use libaec szip replacement" FORCE)
set (CMAKE_BUILD_TYPE "Debug" CACHE STRING "Build Debug" FORCE)
set (CTEST_CONFIGURATION_TYPE "Debug" CACHE STRING "Build Debug" 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)
diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt
index 59edaf2..b9d8338 100644
--- a/release_docs/INSTALL_CMake.txt
+++ b/release_docs/INSTALL_CMake.txt
@@ -306,7 +306,7 @@ IV. Further considerations
CMake options:
HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="TGZ"
ZLIB_TGZ_NAME:STRING="zlib_src.ext"
- SZIP_TGZ_NAME:STRING="szip_src.ext"
+ SZAEC_TGZ_NAME:STRING="szaec_src.ext"
TGZPATH:STRING="some_location"
where "some_location" is the URL or full path to the compressed
file and ext is the type of compression file. Also set CMAKE_BUILD_TYPE
@@ -512,13 +512,20 @@ 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_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 "3" CACHE STRING "Minimum number of processes for HDF parallel tests" 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_property (CACHE HDF5_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT TGZ)
set (ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of ZLIB package" FORCE)
@@ -526,11 +533,8 @@ These five steps are described in detail below.
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 (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)
@@ -614,7 +618,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
@@ -638,7 +648,7 @@ These five steps are described in detail below.
2.2 Preferred command line example on Windows in c:\MyHDFstuff\hdf5\build directory:
- cmake -C ../config/cmake/cacheinit.cmake -G "Visual Studio 12 2013" \
+ cmake -C ../config/cmake/cacheinit.cmake -G "Visual Studio 16 2019" "-Ax64"\
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF \
-DCMAKE_BUILD_TYPE:STRING=Release ..
@@ -688,7 +698,6 @@ These five steps are described in detail below.
The options to control the TGZ URL (config/cmake/cacheinit.cmake
file) are:
ZLIB_TGZ_NAME:STRING="zlib_src.ext"
- SZIP_TGZ_NAME:STRING="szip_src.ext"
LIBAEC_TGZ_NAME:STRING="libaec_src.ext"
PLUGIN_TGZ_NAME:STRING="plugin_src.ext"
TGZPATH:STRING="some_location"
@@ -697,9 +706,8 @@ These five steps are described in detail below.
file such as .bz2, .tar, .tar.gz, .tgz, or .zip. Also define
CMAKE_BUILD_TYPE to be the configuration type.
- NOTE: the USE_LIBAEC option will use the file named by LIBAEC_TGZ_NAME
- to build SZIP instead of the file named by SZIP_TGZ_NAME. This option
- is also used to account for the different headers and library names.
+ NOTE: HDF5 uses the file named by LIBAEC_TGZ_NAME to build SZIP. This
+ is used to account for the different headers and library names.
4. Test HDF5
@@ -767,14 +775,14 @@ if (WINDOWS)
DISABLE_PDB_FILES "Do not install PDB files" OFF
---------------- 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_HL_GIF_TOOLS "Build HIGH Level HDF5 GIF Tools" OFF
+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 ---------------------
Defaults relative to $<INSTALL_PREFIX>
@@ -800,59 +808,73 @@ 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_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, v112, v114)" "v114"
-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, v114)" "v114"
+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_DIMENSION_SCALES_NEW_REF "Use new-style references with dimension scale APIs" 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"
@@ -864,7 +886,6 @@ ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB"
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
if (WINDOWS)
H5_DEFAULT_PLUGINDIR "%ALLUSERSPROFILE%/hdf5/lib/plugin"
else ()
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index 4de0b94..2698b43 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -47,6 +47,11 @@ New Features
Configuration:
-------------
+ - Deprecated and removed old SZIP library in favor of LIBAEC library
+
+ LIBAEC library has been used in HDF5 binaries as the szip library of choice
+ for a few years. We are removing the options for using the old SZIP library.
+
- Enabled instrumentation of the library by default in CMake for parallel
debug builds