From 2c9010ffff1baa96fda1ebe8d9a237d528a9379f Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Tue, 21 May 2024 12:05:53 -0500 Subject: [PATCH 1/5] Set H% specific vars immediately if legacy find --- CMakeFilters.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake index ea492b51f9b..98f74459581 100644 --- a/CMakeFilters.cmake +++ b/CMakeFilters.cmake @@ -75,6 +75,8 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT) find_package (ZLIB NAMES ${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared) if (NOT ZLIB_FOUND) find_package (ZLIB) # Legacy find + set (H5_ZLIB_INCLUDE_DIR ${ZLIB_INCLUDE_DIRS}) + set (H5_ZLIB_LIBRARIES ${ZLIB_LIBRARIES}) endif () set(H5_ZLIB_FOUND ${ZLIB_FOUND}) if (H5_ZLIB_FOUND) @@ -126,6 +128,8 @@ if (HDF5_ENABLE_SZIP_SUPPORT) find_package (SZIP NAMES ${LIBAEC_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared) if (NOT SZIP_FOUND) find_package (SZIP) # Legacy find + set (H5_SZIP_INCLUDE_DIR ${SZIP_INCLUDE_DIRS}) + set (H5_SZIP_LIBRARIES ${SZIP_LIBRARIES}) endif () endif () set(H5_SZIP_FOUND ${SZIP_FOUND}) From 3066aff4ceb8ac478b4ba59865e57a7b81c4e512 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Tue, 21 May 2024 12:17:22 -0500 Subject: [PATCH 2/5] Correct find process vars (vs in-line build) --- CMakeFilters.cmake | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake index 98f74459581..58e9c411b0c 100644 --- a/CMakeFilters.cmake +++ b/CMakeFilters.cmake @@ -75,15 +75,13 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT) find_package (ZLIB NAMES ${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared) if (NOT ZLIB_FOUND) find_package (ZLIB) # Legacy find - set (H5_ZLIB_INCLUDE_DIR ${ZLIB_INCLUDE_DIRS}) - set (H5_ZLIB_LIBRARIES ${ZLIB_LIBRARIES}) endif () set(H5_ZLIB_FOUND ${ZLIB_FOUND}) if (H5_ZLIB_FOUND) set (H5_ZLIB_HEADER "zlib.h") - set (H5_ZLIB_INCLUDE_DIR_GEN ${H5_ZLIB_INCLUDE_DIR}) - set (H5_ZLIB_INCLUDE_DIRS ${H5_ZLIB_INCLUDE_DIRS} ${H5_ZLIB_INCLUDE_DIR}) - set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${H5_ZLIB_LIBRARIES}) + set (H5_ZLIB_INCLUDE_DIR_GEN ${ZLIB_INCLUDE_DIR}) + set (H5_ZLIB_INCLUDE_DIRS ${H5_ZLIB_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR}) + set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${ZLIB_LIBRARIES}) endif () else () if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ") @@ -128,15 +126,13 @@ if (HDF5_ENABLE_SZIP_SUPPORT) find_package (SZIP NAMES ${LIBAEC_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared) if (NOT SZIP_FOUND) find_package (SZIP) # Legacy find - set (H5_SZIP_INCLUDE_DIR ${SZIP_INCLUDE_DIRS}) - set (H5_SZIP_LIBRARIES ${SZIP_LIBRARIES}) endif () endif () set(H5_SZIP_FOUND ${SZIP_FOUND}) if (H5_SZIP_FOUND) - set (H5_SZIP_INCLUDE_DIR_GEN ${H5_SZIP_INCLUDE_DIR}) - set (H5_SZIP_INCLUDE_DIRS ${H5_SZIP_INCLUDE_DIRS} ${H5_SZIP_INCLUDE_DIR}) - set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${H5_SZIP_LIBRARIES}) + set (H5_SZIP_INCLUDE_DIR_GEN ${SZIP_INCLUDE_DIR}) + set (H5_SZIP_INCLUDE_DIRS ${H5_SZIP_INCLUDE_DIRS} ${SZIP_INCLUDE_DIR}) + set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_LIBRARIES}) endif () else () if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ") From bc00d85ef95ea459dfdf78c202f2fdbc8596a290 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Tue, 21 May 2024 12:18:47 -0500 Subject: [PATCH 3/5] Correct SZIP find --- CMakeFilters.cmake | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake index 58e9c411b0c..03550522108 100644 --- a/CMakeFilters.cmake +++ b/CMakeFilters.cmake @@ -120,9 +120,7 @@ if (HDF5_ENABLE_SZIP_SUPPORT) set(libaec_USE_STATIC_LIBS ${HDF5_USE_LIBAEC_STATIC}) set(SZIP_FOUND FALSE) find_package (libaec 1.0.5 CONFIG) - if (SZIP_FOUND) - set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${H5_SZIP_LIBRARIES}) - else () + if (NOT SZIP_FOUND) find_package (SZIP NAMES ${LIBAEC_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared) if (NOT SZIP_FOUND) find_package (SZIP) # Legacy find From 7584ff8a1f340fb7777413eac692a46156fe3d2d Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Tue, 21 May 2024 12:23:29 -0500 Subject: [PATCH 4/5] Everything is libaec 1.0.6 or newer --- CMakeFilters.cmake | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake index 03550522108..0b4addd134f 100644 --- a/CMakeFilters.cmake +++ b/CMakeFilters.cmake @@ -119,12 +119,9 @@ if (HDF5_ENABLE_SZIP_SUPPORT) if (NOT SZIP_USE_EXTERNAL) set(libaec_USE_STATIC_LIBS ${HDF5_USE_LIBAEC_STATIC}) set(SZIP_FOUND FALSE) - find_package (libaec 1.0.5 CONFIG) + find_package (SZIP NAMES ${LIBAEC_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared) if (NOT SZIP_FOUND) - find_package (SZIP NAMES ${LIBAEC_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared) - if (NOT SZIP_FOUND) - find_package (SZIP) # Legacy find - endif () + find_package (SZIP) # Legacy find endif () set(H5_SZIP_FOUND ${SZIP_FOUND}) if (H5_SZIP_FOUND) From a55d4ec44fe3f185717a54cc11afe540c1f985a8 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Tue, 21 May 2024 12:26:28 -0500 Subject: [PATCH 5/5] Correct option help text --- CMakeFilters.cmake | 12 ++++++------ CMakePlugins.cmake | 6 +++--- config/cmake/HDF5PluginMacros.cmake | 2 +- release_docs/INSTALL_CMake.txt | 6 +++--- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake index 0b4addd134f..5346abdb5cf 100644 --- a/CMakeFilters.cmake +++ b/CMakeFilters.cmake @@ -10,8 +10,8 @@ # help@hdfgroup.org. # option (USE_LIBAEC_STATIC "Use static AEC library" OFF) -option (ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" OFF) -option (SZIP_USE_EXTERNAL "Use External Library Building for SZIP" OFF) +option (ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB else search" OFF) +option (SZIP_USE_EXTERNAL "Use External Library Building for SZIP else search" OFF) if (NOT ZLIB_USE_LOCALCONTENT) set (ZLIB_URL ${ZLIB_TGZ_ORIGPATH}/${ZLIB_TGZ_NAME}) @@ -32,8 +32,8 @@ include (ExternalProject) 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 (ZLIB_USE_EXTERNAL ON CACHE BOOL "Use External Library Building for ZLIB" FORCE) - set (SZIP_USE_EXTERNAL ON CACHE BOOL "Use External Library Building for SZIP" FORCE) + set (ZLIB_USE_EXTERNAL ON CACHE BOOL "Use External Library Building for ZLIB else search" FORCE) + set (SZIP_USE_EXTERNAL ON CACHE BOOL "Use External Library Building for SZIP else search" FORCE) if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT") set (ZLIB_URL ${ZLIB_GIT_URL} CACHE STRING "Path to zlib git repository") set (ZLIB_BRANCH ${ZLIB_GIT_BRANCH}) @@ -57,9 +57,9 @@ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MAT endif () else () set (HDF5_ENABLE_Z_LIB_SUPPORT OFF CACHE BOOL "" FORCE) - set (ZLIB_USE_EXTERNAL OFF CACHE BOOL "Use External Library Building for ZLIB") + set (ZLIB_USE_EXTERNAL OFF CACHE BOOL "Use External Library Building for ZLIB else search") set (HDF5_ENABLE_SZIP_SUPPORT OFF CACHE BOOL "" FORCE) - set (SZIP_USE_EXTERNAL OFF CACHE BOOL "Use External Library Building for SZIP") + set (SZIP_USE_EXTERNAL OFF CACHE BOOL "Use External Library Building for SZIP else search") endif () endif () diff --git a/CMakePlugins.cmake b/CMakePlugins.cmake index 7fd332a2ebe..f607c2cfb39 100644 --- a/CMakePlugins.cmake +++ b/CMakePlugins.cmake @@ -9,7 +9,7 @@ # 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" OFF) +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}) @@ -26,7 +26,7 @@ include (ExternalProject) 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" FORCE) + 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}) @@ -41,7 +41,7 @@ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MAT endif () endif () else () - set (PLUGIN_USE_EXTERNAL OFF CACHE BOOL "Use External Library Building for PLUGIN") + set (PLUGIN_USE_EXTERNAL OFF CACHE BOOL "Use External Library Building for PLUGIN else search") message (VERBOSE "Filter PLUGIN not built") endif () endif () diff --git a/config/cmake/HDF5PluginMacros.cmake b/config/cmake/HDF5PluginMacros.cmake index e2bdce3f33f..3ef5b90527e 100644 --- a/config/cmake/HDF5PluginMacros.cmake +++ b/config/cmake/HDF5PluginMacros.cmake @@ -44,7 +44,7 @@ macro (FILTER_OPTION plname) string(TOLOWER ${plname} PLUGIN_NAME) option (ENABLE_${plname} "Enable Library Building for ${plname} plugin" ON) if (ENABLE_${plname}) - option (HDF_${plname}_USE_EXTERNAL "Use External Library Building for ${PLUGIN_NAME} plugin" OFF) + option (HDF_${plname}_USE_EXTERNAL "Use External Library Building for ${PLUGIN_NAME} plugin else search" OFF) mark_as_advanced (HDF_${plname}_USE_EXTERNAL) if (H5PL_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR H5PL_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ") set (HDF_${plname}_USE_EXTERNAL ON CACHE BOOL "Use External Library Building for ${PLUGIN_NAME} plugin" FORCE) diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt index e2671039819..95d5f069dc0 100644 --- a/release_docs/INSTALL_CMake.txt +++ b/release_docs/INSTALL_CMake.txt @@ -926,19 +926,19 @@ HDF5_ENABLE_PLUGIN_SUPPORT "Enable PLUGIN Filters" OFF HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" ON -ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" OFF +ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB else search" OFF ZLIB_TGZ_ORIGPATH "Use ZLIB from original location" "https://github.com/madler/zlib/releases/download/v1.2.13" ZLIB_TGZ_NAME "Use ZLIB from original compressed file" "zlib-1.2.13.tar.gz" ZLIB_USE_LOCALCONTENT "Use local file for ZLIB FetchContent" ON -SZIP_USE_EXTERNAL "Use External Library Building for SZIP" OFF +SZIP_USE_EXTERNAL "Use External Library Building for SZIP else search" OFF if (HDF5_ENABLE_SZIP_SUPPORT) HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" ON LIBAEC_TGZ_ORIGPATH "Use LIBAEC from original location" "https://github.com/MathisRosenhauer/libaec/releases/download/v1.0.6" LIBAEC_TGZ_NAME "Use LIBAEC from original compressed file" "libaec-1.0.6.tar.gz" LIBAEC_USE_LOCALCONTENT "Use local file for LIBAEC FetchContent" ON -PLUGIN_USE_EXTERNAL "Use External Library Building for PLUGINS" OFF +PLUGIN_USE_EXTERNAL "Use External Library Building for PLUGINS else search" OFF if (WINDOWS) H5_DEFAULT_PLUGINDIR "%ALLUSERSPROFILE%/hdf5/lib/plugin" else ()