diff --git a/CMakePlugins.cmake b/CMakePlugins.cmake index 16fb8740fd9..7fd332a2ebe 100644 --- a/CMakePlugins.cmake +++ b/CMakePlugins.cmake @@ -9,27 +9,40 @@ # 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) + +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") - option (PLUGIN_USE_EXTERNAL "Use External Library Building for filter PLUGIN" 1) + set (PLUGIN_USE_EXTERNAL ON CACHE BOOL "Use External Library Building for PLUGIN" 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 TGZPATH) - set (TGZPATH ${HDF5_SOURCE_DIR}) + if (NOT H5PL_TGZPATH) + set (H5PL_TGZPATH ${TGZPATH}) endif () - set (PLUGIN_URL ${TGZPATH}/${PLUGIN_TGZ_NAME}) - if (NOT EXISTS "${PLUGIN_URL}") - set (HDF5_ENABLE_PLUGIN_SUPPORT OFF CACHE BOOL "" FORCE) - message (STATUS "Filter PLUGIN file ${PLUGIN_URL} not found") + 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 0) + set (PLUGIN_USE_EXTERNAL OFF CACHE BOOL "Use External Library Building for PLUGIN") + message (VERBOSE "Filter PLUGIN not built") endif () endif () diff --git a/CMakePresets.json b/CMakePresets.json index 152aa414873..077b8198899 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -9,22 +9,20 @@ "hidden": true, "inherits": "ci-base", "cacheVariables": { - "HDF5_ALLOW_EXTERNAL_SUPPORT": "NO", - "TGZPATH": {"type": "STRING", "value": "${sourceParentDir}/temp"} + "HDF5_ALLOW_EXTERNAL_SUPPORT": {"type": "STRING", "value": "TGZ"}, + "TGZPATH": {"type": "PATH", "value": "${sourceParentDir}/temp"} } }, { "name": "ci-CompressionVars", "hidden": true, "cacheVariables": { - "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"}, - "ZLIB_TGZ_ORIGNAME": {"type": "STRING", "value": "zlib-1.2.13.tar.gz"}, - "BUILD_SZIP_WITH_FETCHCONTENT": "ON", + "ZLIB_TGZ_ORIGPATH": {"type": "STRING", "value": "https://github.com/madler/zlib/releases/download/v1.3"}, + "ZLIB_TGZ_NAME": {"type": "STRING", "value": "zlib-1.3.tar.gz"}, "LIBAEC_PACKAGE_NAME": {"type": "STRING", "value": "libaec"}, "LIBAEC_TGZ_ORIGPATH": {"type": "STRING", "value": "https://github.com/MathisRosenhauer/libaec/releases/download/v1.0.6"}, - "LIBAEC_TGZ_ORIGNAME": {"type": "STRING", "value": "libaec-1.0.6.tar.gz"} + "LIBAEC_TGZ_NAME": {"type": "STRING", "value": "libaec-1.0.6.tar.gz"} } }, { @@ -42,30 +40,29 @@ "name": "ci-base-plugins", "hidden": true, "cacheVariables": { - "PLUGIN_TGZ_NAME": {"type": "STRING", "value": "hdf5_plugins.tar.gz"}, - "PLUGIN_PACKAGE_NAME": {"type": "STRING", "value": "pl"}, - "BSHUF_TGZ_NAME": {"type": "STRING", "value": "bitshuffle.tar.gz"}, + "PLUGIN_TGZ_NAME": {"type": "STRING", "value": "hdf5_plugins-master.tar.gz"}, + "BSHUF_TGZ_NAME": {"type": "STRING", "value": "bitshuffle-0.5.1.tar.gz"}, "BSHUF_PACKAGE_NAME": {"type": "STRING", "value": "bshuf"}, - "BLOSC_TGZ_NAME": {"type": "STRING", "value": "c-blosc.tar.gz"}, + "BLOSC_TGZ_NAME": {"type": "STRING", "value": "c-blosc-1.21.5.tar.gz"}, "BLOSC_PACKAGE_NAME": {"type": "STRING", "value": "blosc"}, - "BLOSC_ZLIB_TGZ_NAME": {"type": "STRING", "value": "ZLib.tar.gz"}, + "BLOSC_ZLIB_TGZ_NAME": {"type": "STRING", "value": "zlib-1.3.tar.gz"}, "BLOSC_ZLIB_PACKAGE_NAME": {"type": "STRING", "value": "zlib"}, - "BZ2_TGZ_NAME": {"type": "STRING", "value": "BZ2.tar.gz"}, + "BZ2_TGZ_NAME": {"type": "STRING", "value": "bzip2-bzip2-1.0.8.tar.gz"}, "BZ2_PACKAGE_NAME": {"type": "STRING", "value": "bz2"}, - "FPZIP_TGZ_NAME": {"type": "STRING", "value": "fpzip.tar.gz"}, + "FPZIP_TGZ_NAME": {"type": "STRING", "value": "fpzip-1.3.0.tar.gz"}, "FPZIP_PACKAGE_NAME": {"type": "STRING", "value": "fpzip"}, - "JPEG_TGZ_NAME": {"type": "STRING", "value": "JPEG.tar.gz"}, + "JPEG_TGZ_NAME": {"type": "STRING", "value": "jpegsrc.v9e.tar.gz"}, "JPEG_PACKAGE_NAME": {"type": "STRING", "value": "jpeg"}, "BUILD_LZ4_LIBRARY_SOURCE": "ON", - "LZ4_TGZ_NAME": {"type": "STRING", "value": "lz4.tar.gz"}, + "LZ4_TGZ_NAME": {"type": "STRING", "value": "lz4-1.9.4.tar.gz"}, "LZ4_PACKAGE_NAME": {"type": "STRING", "value": "lz4"}, - "LZF_TGZ_NAME": {"type": "STRING", "value": "lzf.tar.gz"}, + "LZF_TGZ_NAME": {"type": "STRING", "value": "liblzf-3.6.tar.gz"}, "LZF_PACKAGE_NAME": {"type": "STRING", "value": "lzf"}, - "SZ_TGZ_NAME": {"type": "STRING", "value": "szf.tar.gz"}, + "SZ_TGZ_NAME": {"type": "STRING", "value": "SZ-2.1.12.5.tar.gz"}, "SZ_PACKAGE_NAME": {"type": "STRING", "value": "SZ"}, - "ZFP_TGZ_NAME": {"type": "STRING", "value": "zfp.tar.gz"}, + "ZFP_TGZ_NAME": {"type": "STRING", "value": "zfp-1.0.0.tar.gz"}, "ZFP_PACKAGE_NAME": {"type": "STRING", "value": "zfp"}, - "ZSTD_TGZ_NAME": {"type": "STRING", "value": "zstd.tar.gz"}, + "ZSTD_TGZ_NAME": {"type": "STRING", "value": "zstd-1.5.5.tar.gz"}, "ZSTD_PACKAGE_NAME": {"type": "STRING", "value": "zstd"} } }, @@ -74,8 +71,10 @@ "hidden": true, "cacheVariables": { "HDF5_ENABLE_PLUGIN_SUPPORT": "ON", - "PLUGIN_TGZ_ORIGPATH": {"type": "STRING", "value": "https://github.com/HDFGroup/hdf5_plugins/archive/refs/tags"}, - "PLUGIN_TGZ_ORIGNAME": {"type": "STRING", "value": "hdf5_plugins-master.tar.gz"} + "H5PL_ALLOW_EXTERNAL_SUPPORT": {"type": "STRING", "value": "TGZ"}, + "PLUGIN_PACKAGE_NAME": {"type": "STRING", "value": "pl"}, + "PLUGIN_TGZ_ORIGPATH": {"type": "STRING", "value": "https://github.com/HDFGroup/hdf5_plugins/releases/download/snapshot"}, + "PLUGIN_TGZ_NAME": {"type": "STRING", "value": "hdf5_plugins-master.tar.gz"} } }, { @@ -83,19 +82,20 @@ "hidden": true, "inherits": ["ci-base-plugins", "ci-PluginsVars", "ci-base-tgz"], "cacheVariables": { - "H5PL_VERS_MAJOR": "1", - "H5PL_VERS_MINOR": "12", - "H5PL_VERS_RELEASE": "3" + "PLUGIN_USE_LOCALCONTENT": "OFF" + "H5PL_VERS_MAJOR": "1", + "H5PL_VERS_MINOR": "12", + "H5PL_VERS_RELEASE": "3" } }, { "name": "ci-ExamplesVars", "hidden": true, "cacheVariables": { - "HDF5_EXAMPLES_COMPRESSED": {"type": "STRING", "value": "hdf5-examples-2.0.4.tar.gz"}, - "HDF5_EXAMPLES_COMPRESSED_DIR": {"type": "STRING", "value": "${sourceParentDir}/temp"}, - "EXAMPLES_TGZ_ORIGPATH": {"type": "STRING", "value": "https://github.com/HDFGroup/hdf5-examples/archive/refs/tags/"}, - "EXAMPLES_TGZ_ORIGNAME": {"type": "STRING", "value": "2.0.4.tar.gz"} + "HDF5_EXAMPLES_COMPRESSED": {"type": "STRING", "value": "hdf5-examples-master.tar.gz"}, + "HDF5_EXAMPLES_COMPRESSED_DIR": {"type": "PATH", "value": "${sourceParentDir}/temp"}, + "EXAMPLES_TGZ_ORIGPATH": {"type": "STRING", "value": "https://github.com/HDFGroup/hdf5-examples/releases/download/snapshot"}, + "EXAMPLES_TGZ_ORIGNAME": {"type": "STRING", "value": "hdf5-examples-2.0.4.tar.gz"} } }, { @@ -112,7 +112,7 @@ { "name": "ci-StdShar", "hidden": true, - "inherits": ["ci-StdCompression", "ci-StdExamples"], + "inherits": ["ci-StdCompression", "ci-StdExamples", "ci-StdPlugins"], "cacheVariables": { "HDF_PACKAGE_NAMESPACE": {"type": "STRING", "value": "hdf5::"}, "HDF5_INSTALL_MOD_FORTRAN": "NO", @@ -187,7 +187,7 @@ "name": "ci-StdShar-GNUC", "description": "GNUC Standard Build for x64 (Release)", "configurePreset": "ci-StdShar-GNUC", - "verbose": false, + "verbose": true, "inherits": [ "ci-x64-Release-GNUC" ] diff --git a/config/cmake-presets/hidden-presets.json b/config/cmake-presets/hidden-presets.json index 02d200aed8a..9912a8e0c04 100644 --- a/config/cmake-presets/hidden-presets.json +++ b/config/cmake-presets/hidden-presets.json @@ -100,7 +100,7 @@ "name": "ci-Fortran-Clang", "hidden": true, "cacheVariables": { - "CMAKE_Fortran_COMPILER": "gfortran" + "CMAKE_Fortran_COMPILER": {"type": "FILEPATH", "value": "gfortran"} }, "condition": { "type": "matches",