From dbfb072c247f699ef0fd5a282731df909d0ca6d5 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Fri, 13 Sep 2024 10:54:31 -0500 Subject: [PATCH] Update to latest dev changes --- .github/CODEOWNERS | 2 +- .github/workflows/cmake-ctest.yml | 325 +++++++++++++++--- .github/workflows/daily-build.yml | 15 +- .github/workflows/release-files.yml | 63 +++- .github/workflows/release.yml | 13 +- .github/workflows/remove-files.yml | 8 +- .github/workflows/tarball.yml | 7 +- BLOSC/config/cmake/H5BLOSCMacros.cmake | 44 +-- BLOSC/config/cmake/HDFMacros.cmake | 9 +- BLOSC/config/cmake/HDFPluginMacros.cmake | 64 +++- BLOSC/config/cmake/SignPackageFiles.cmake | 41 +++ .../cmake/binex/config/cmake/HDFMacros.cmake | 2 + .../binex/config/cmake/HDFPluginMacros.cmake | 8 +- BLOSC/config/cmake/distribution.entitlements | 16 + BLOSC/config/toolchain/aarch64.cmake | 10 +- BLOSC/src/CMakeLists.txt | 2 +- BLOSC2/config/cmake/H5BLOSC2Macros.cmake | 37 +- BLOSC2/config/cmake/HDFMacros.cmake | 9 +- BLOSC2/config/cmake/HDFPluginMacros.cmake | 64 +++- BLOSC2/config/cmake/SignPackageFiles.cmake | 41 +++ .../cmake/binex/config/cmake/HDFMacros.cmake | 2 + .../binex/config/cmake/HDFPluginMacros.cmake | 8 +- BLOSC2/config/cmake/distribution.entitlements | 16 + BLOSC2/config/toolchain/aarch64.cmake | 10 +- BSHUF/CMakeLists.txt | 1 - BSHUF/config/cmake/H5BSHUFMacros.cmake | 37 +- BSHUF/config/cmake/HDFMacros.cmake | 9 +- BSHUF/config/cmake/HDFPluginMacros.cmake | 64 +++- BSHUF/config/cmake/SignPackageFiles.cmake | 41 +++ BSHUF/config/cmake/binex/CMakeLists.txt | 4 +- .../cmake/binex/config/cmake/HDFMacros.cmake | 2 + .../binex/config/cmake/HDFPluginMacros.cmake | 8 +- BSHUF/config/cmake/distribution.entitlements | 16 + BSHUF/config/toolchain/aarch64.cmake | 10 +- BZIP2/CMakeLists.txt | 1 + BZIP2/config/CMakeLists.txt | 8 +- BZIP2/config/cmake/H5BZ2Macros.cmake | 40 +-- BZIP2/config/cmake/HDFMacros.cmake | 9 +- BZIP2/config/cmake/HDFPluginMacros.cmake | 64 +++- BZIP2/config/cmake/SignPackageFiles.cmake | 41 +++ .../cmake/binex/config/cmake/HDFMacros.cmake | 2 + .../binex/config/cmake/HDFPluginMacros.cmake | 8 +- .../config/cmake/binex/example/CMakeLists.txt | 2 +- BZIP2/config/cmake/distribution.entitlements | 16 + BZIP2/config/toolchain/aarch64.cmake | 10 +- CMakeLists.txt | 46 +-- CMakePresets.json | 121 +++++++ JPEG/CMakeLists.txt | 1 + JPEG/config/CMakeLists.txt | 8 +- JPEG/config/cmake/H5JPEGMacros.cmake | 42 +-- JPEG/config/cmake/HDFMacros.cmake | 9 +- JPEG/config/cmake/HDFPluginMacros.cmake | 64 +++- JPEG/config/cmake/SignPackageFiles.cmake | 41 +++ .../cmake/binex/config/cmake/HDFMacros.cmake | 2 + .../binex/config/cmake/HDFPluginMacros.cmake | 8 +- JPEG/config/cmake/distribution.entitlements | 16 + JPEG/config/toolchain/aarch64.cmake | 10 +- LZ4/config/cmake/H5LZ4Macros.cmake | 30 +- LZ4/config/cmake/HDFMacros.cmake | 9 +- LZ4/config/cmake/HDFPluginMacros.cmake | 64 +++- LZ4/config/cmake/SignPackageFiles.cmake | 41 +++ .../cmake/binex/config/cmake/HDFMacros.cmake | 2 + .../binex/config/cmake/HDFPluginMacros.cmake | 8 +- LZ4/config/cmake/distribution.entitlements | 16 + LZ4/config/toolchain/aarch64.cmake | 10 +- LZF/config/CMakeLists.txt | 8 +- LZF/config/cmake/H5LZFMacros.cmake | 43 ++- LZF/config/cmake/HDFMacros.cmake | 9 +- LZF/config/cmake/HDFPluginMacros.cmake | 64 +++- LZF/config/cmake/SignPackageFiles.cmake | 41 +++ .../cmake/binex/config/cmake/HDFMacros.cmake | 2 + .../binex/config/cmake/HDFPluginMacros.cmake | 8 +- LZF/config/cmake/distribution.entitlements | 16 + LZF/config/toolchain/aarch64.cmake | 10 +- ZFP/config/cmake/H5ZFPMacros.cmake | 41 ++- ZFP/config/cmake/HDFMacros.cmake | 9 +- ZFP/config/cmake/HDFPluginMacros.cmake | 64 +++- ZFP/config/cmake/SignPackageFiles.cmake | 41 +++ .../cmake/binex/config/cmake/HDFMacros.cmake | 2 + .../binex/config/cmake/HDFPluginMacros.cmake | 8 +- ZFP/config/cmake/distribution.entitlements | 16 + ZFP/config/toolchain/aarch64.cmake | 10 +- ZSTD/config/cmake/H5ZSTDMacros.cmake | 49 +-- ZSTD/config/cmake/HDFMacros.cmake | 9 +- ZSTD/config/cmake/HDFPluginMacros.cmake | 66 +++- ZSTD/config/cmake/SignPackageFiles.cmake | 41 +++ .../cmake/binex/config/cmake/HDFMacros.cmake | 2 + .../binex/config/cmake/HDFPluginMacros.cmake | 8 +- ZSTD/config/cmake/distribution.entitlements | 16 + ZSTD/config/toolchain/aarch64.cmake | 10 +- community/CMakeLists.txt | 48 +++ .../MAFISC}/Additional_Legal/License | 0 {MAFISC => community/MAFISC}/CMakeLists.txt | 0 .../MAFISC}/CTestConfig.cmake | 0 {MAFISC => community/MAFISC}/Makefile.am | 0 {MAFISC => community/MAFISC}/README.txt | 0 {MAFISC => community/MAFISC}/bin/config.guess | 0 {MAFISC => community/MAFISC}/bin/config.sub | 0 {MAFISC => community/MAFISC}/bin/depcomp | 0 {MAFISC => community/MAFISC}/bin/install-sh | 0 {MAFISC => community/MAFISC}/bin/ltmain.sh | 0 {MAFISC => community/MAFISC}/bin/missing | 0 .../MAFISC}/bin/mkinstalldirs | 0 {MAFISC => community/MAFISC}/bin/reconfigure | 0 {MAFISC => community/MAFISC}/config.h.in | 0 .../MAFISC}/config/cmake/CTestCustom.cmake | 0 .../MAFISC}/config/cmake/CTestScript.cmake | 0 .../config/cmake/ConfigureChecks.cmake | 0 .../MAFISC}/config/cmake/H5MAFISCMacros.cmake | 7 +- .../MAFISC}/config/cmake/H5PLTests.c | 0 .../config/cmake/H5PL_Examples.cmake.in | 0 .../MAFISC}/config/cmake/HDFMacros.cmake | 9 +- .../config/cmake/HDFPluginMacros.cmake | 64 +++- .../MAFISC}/config/cmake/HDFoptions.cmake | 0 .../config/cmake/NSIS.InstallOptions.ini.in | 0 .../MAFISC}/config/cmake/NSIS.template.in | 0 .../MAFISC}/config/cmake/README.txt.cmake.in | 0 .../config/cmake/SignPackageFiles.cmake | 41 +++ .../MAFISC}/config/cmake/binex/CMakeLists.txt | 0 .../config/cmake/binex/CTestConfig.cmake | 0 .../config/cmake/binex/Using_CMake.txt | 0 .../binex/config/cmake/CTestCustom.cmake | 0 .../cmake/binex}/config/cmake/HDFMacros.cmake | 2 + .../binex/config/cmake/HDFPluginMacros.cmake | 8 +- .../cmake/binex/config/cmake/cacheinit.cmake | 0 .../cmake/binex/config/cmake/grepTest.cmake | 0 .../cmake/binex/config/cmake/runTest.cmake | 0 .../binex/config/toolchain/aarch64.cmake | 0 .../binex/config/toolchain/build32.cmake | 0 .../cmake/binex/config/toolchain/clang.cmake | 0 .../cmake/binex/config/toolchain/crayle.cmake | 0 .../cmake/binex/config/toolchain/gcc.cmake | 0 .../cmake/binex/config/toolchain/icc.cmake | 0 .../binex/config/toolchain/mingw64.cmake | 0 .../cmake/binex/config/toolchain/pgi.cmake | 0 .../config/cmake/binex/example/CMakeLists.txt | 0 .../cmake/binex/example/h5ex_d_mafisc.c | 0 .../config/cmake/binex/example/test/test.sh | 0 .../config/cmake/binex/example/test/testCM.sh | 0 .../binex/example/testfiles/h5ex_d_mafisc.ddl | 0 .../binex/example/testfiles/h5ex_d_mafisc.err | 0 .../binex/example/testfiles/h5ex_d_mafisc.h5 | Bin .../binex/example/testfiles/h5ex_d_mafisc.tst | 0 .../example/testfiles/h5repack_layout.h5 | Bin .../h5repack_layout.h5-ud_convert.ddl | 0 .../ud_convert.h5repack_layout.h5.tst | 0 .../MAFISC}/config/cmake/cacheinit.cmake | 0 .../MAFISC}/config/cmake/config.h.in | 0 .../config/cmake/distribution.entitlements | 16 + .../MAFISC}/config/cmake/grepTest.cmake | 0 .../cmake/h5mafisc-config-version.cmake.in | 0 .../config/cmake/h5mafisc-config.cmake.in | 0 .../MAFISC}/config/cmake/runTest.cmake | 0 .../MAFISC}/config/toolchain/aarch64.cmake | 10 +- .../MAFISC}/config/toolchain/build32.cmake | 0 .../MAFISC}/config/toolchain/clang.cmake | 0 .../MAFISC}/config/toolchain/crayle.cmake | 0 .../MAFISC}/config/toolchain/gcc.cmake | 0 .../MAFISC}/config/toolchain/icc.cmake | 0 .../MAFISC}/config/toolchain/intel.cmake | 0 .../MAFISC}/config/toolchain/mingw64.cmake | 0 .../MAFISC}/config/toolchain/pgi.cmake | 0 {MAFISC => community/MAFISC}/configure.ac | 0 .../MAFISC}/example/CMakeLists.txt | 0 .../MAFISC}/example/Makefile.am | 0 .../MAFISC}/example/h5ex_d_mafisc.c | 0 .../MAFISC}/example/test/test.sh | 0 .../MAFISC}/example/test/testCM.sh | 0 .../example/testfiles/h5ex_d_mafisc.ddl | 0 .../example/testfiles/h5ex_d_mafisc.err | 0 .../example/testfiles/h5ex_d_mafisc.h5 | Bin .../example/testfiles/h5ex_d_mafisc.tst | 0 .../example/testfiles/h5repack_layout.h5 | Bin .../h5repack_layout.h5-ud_convert.ddl | 0 .../ud_convert.h5repack_layout.h5.tst | 0 .../MAFISC}/src/CMakeLists.txt | 0 {MAFISC => community/MAFISC}/src/Makefile.am | 0 .../MAFISC}/src/adaptive-filter.c | 0 .../MAFISC}/src/adaptive-filter.h | 0 .../MAFISC}/src/bit-sorter-filter.c | 0 .../MAFISC}/src/bit-sorter-filter.h | 0 .../MAFISC}/src/combined-filter.c | 0 .../MAFISC}/src/combined-filter.h | 0 .../MAFISC}/src/difference-filter.c | 0 .../MAFISC}/src/difference-filter.h | 0 .../MAFISC}/src/filter-cascade-filter.c | 0 .../MAFISC}/src/filter-cascade-filter.h | 0 .../MAFISC}/src/filter-test.c | 0 .../MAFISC}/src/filter-test.h | 0 .../MAFISC}/src/liblzma/CMakeLists.txt | 0 .../MAFISC}/src/liblzma/Makefile.am | 0 .../MAFISC}/src/liblzma/Makefile.in | 0 .../MAFISC}/src/liblzma/api/Makefile.am | 0 .../MAFISC}/src/liblzma/api/Makefile.in | 0 .../MAFISC}/src/liblzma/api/common_w32res.rc | 0 .../MAFISC}/src/liblzma/api/lzma.h | 0 .../MAFISC}/src/liblzma/api/lzma/base.h | 0 .../MAFISC}/src/liblzma/api/lzma/bcj.h | 0 .../MAFISC}/src/liblzma/api/lzma/block.h | 0 .../MAFISC}/src/liblzma/api/lzma/check.h | 0 .../MAFISC}/src/liblzma/api/lzma/container.h | 0 .../MAFISC}/src/liblzma/api/lzma/delta.h | 0 .../MAFISC}/src/liblzma/api/lzma/filter.h | 0 .../MAFISC}/src/liblzma/api/lzma/hardware.h | 0 .../MAFISC}/src/liblzma/api/lzma/index.h | 0 .../MAFISC}/src/liblzma/api/lzma/index_hash.h | 0 .../MAFISC}/src/liblzma/api/lzma/lzma.h | 0 .../src/liblzma/api/lzma/stream_flags.h | 0 .../MAFISC}/src/liblzma/api/lzma/version.h | 0 .../MAFISC}/src/liblzma/api/lzma/vli.h | 0 .../MAFISC}/src/liblzma/check/Makefile.inc | 0 .../MAFISC}/src/liblzma/check/check.c | 0 .../MAFISC}/src/liblzma/check/check.h | 0 .../MAFISC}/src/liblzma/check/crc32_fast.c | 0 .../MAFISC}/src/liblzma/check/crc32_small.c | 0 .../MAFISC}/src/liblzma/check/crc32_table.c | 0 .../src/liblzma/check/crc32_table_be.h | 0 .../src/liblzma/check/crc32_table_le.h | 0 .../src/liblzma/check/crc32_tablegen.c | 0 .../MAFISC}/src/liblzma/check/crc32_x86.S | 0 .../MAFISC}/src/liblzma/check/crc64_fast.c | 0 .../MAFISC}/src/liblzma/check/crc64_small.c | 0 .../MAFISC}/src/liblzma/check/crc64_table.c | 0 .../src/liblzma/check/crc64_table_be.h | 0 .../src/liblzma/check/crc64_table_le.h | 0 .../src/liblzma/check/crc64_tablegen.c | 0 .../MAFISC}/src/liblzma/check/crc64_x86.S | 0 .../MAFISC}/src/liblzma/check/crc_macros.h | 0 .../MAFISC}/src/liblzma/check/sha256.c | 0 .../MAFISC}/src/liblzma/common/Makefile.inc | 0 .../src/liblzma/common/alone_decoder.c | 0 .../src/liblzma/common/alone_decoder.h | 0 .../src/liblzma/common/alone_encoder.c | 0 .../MAFISC}/src/liblzma/common/auto_decoder.c | 0 .../src/liblzma/common/block_buffer_decoder.c | 0 .../src/liblzma/common/block_buffer_encoder.c | 0 .../src/liblzma/common/block_decoder.c | 0 .../src/liblzma/common/block_decoder.h | 0 .../src/liblzma/common/block_encoder.c | 0 .../src/liblzma/common/block_encoder.h | 0 .../src/liblzma/common/block_header_decoder.c | 0 .../src/liblzma/common/block_header_encoder.c | 0 .../MAFISC}/src/liblzma/common/block_util.c | 0 .../MAFISC}/src/liblzma/common/common.c | 0 .../MAFISC}/src/liblzma/common/common.h | 0 .../src/liblzma/common/easy_buffer_encoder.c | 0 .../liblzma/common/easy_decoder_memusage.c | 0 .../MAFISC}/src/liblzma/common/easy_encoder.c | 0 .../liblzma/common/easy_encoder_memusage.c | 0 .../MAFISC}/src/liblzma/common/easy_preset.c | 0 .../MAFISC}/src/liblzma/common/easy_preset.h | 0 .../liblzma/common/filter_buffer_decoder.c | 0 .../liblzma/common/filter_buffer_encoder.c | 0 .../src/liblzma/common/filter_common.c | 0 .../src/liblzma/common/filter_common.h | 0 .../src/liblzma/common/filter_decoder.c | 0 .../src/liblzma/common/filter_decoder.h | 0 .../src/liblzma/common/filter_encoder.c | 0 .../src/liblzma/common/filter_encoder.h | 0 .../src/liblzma/common/filter_flags_decoder.c | 0 .../src/liblzma/common/filter_flags_encoder.c | 0 .../src/liblzma/common/hardware_physmem.c | 0 .../MAFISC}/src/liblzma/common/index.c | 0 .../MAFISC}/src/liblzma/common/index.h | 0 .../src/liblzma/common/index_decoder.c | 0 .../src/liblzma/common/index_encoder.c | 0 .../src/liblzma/common/index_encoder.h | 0 .../MAFISC}/src/liblzma/common/index_hash.c | 0 .../MAFISC}/src/liblzma/common/mythread.h | 0 .../liblzma/common/stream_buffer_decoder.c | 0 .../liblzma/common/stream_buffer_encoder.c | 0 .../src/liblzma/common/stream_decoder.c | 0 .../src/liblzma/common/stream_decoder.h | 0 .../src/liblzma/common/stream_encoder.c | 0 .../src/liblzma/common/stream_encoder.h | 0 .../src/liblzma/common/stream_flags_common.c | 0 .../src/liblzma/common/stream_flags_common.h | 0 .../src/liblzma/common/stream_flags_decoder.c | 0 .../src/liblzma/common/stream_flags_encoder.c | 0 .../MAFISC}/src/liblzma/common/sysdefs.h | 0 .../src/liblzma/common/tuklib_common.h | 0 .../src/liblzma/common/tuklib_config.h | 0 .../src/liblzma/common/tuklib_cpucores.h | 0 .../MAFISC}/src/liblzma/common/tuklib_exit.h | 0 .../src/liblzma/common/tuklib_gettext.h | 0 .../src/liblzma/common/tuklib_integer.h | 0 .../MAFISC}/src/liblzma/common/tuklib_mbstr.h | 0 .../src/liblzma/common/tuklib_open_stdxxx.h | 0 .../src/liblzma/common/tuklib_physmem.c | 0 .../src/liblzma/common/tuklib_physmem.h | 0 .../src/liblzma/common/tuklib_progname.h | 0 .../MAFISC}/src/liblzma/common/vli_decoder.c | 0 .../MAFISC}/src/liblzma/common/vli_encoder.c | 0 .../MAFISC}/src/liblzma/common/vli_size.c | 0 .../MAFISC}/src/liblzma/delta/Makefile.inc | 0 .../MAFISC}/src/liblzma/delta/delta_common.c | 0 .../MAFISC}/src/liblzma/delta/delta_common.h | 0 .../MAFISC}/src/liblzma/delta/delta_decoder.c | 0 .../MAFISC}/src/liblzma/delta/delta_decoder.h | 0 .../MAFISC}/src/liblzma/delta/delta_encoder.c | 0 .../MAFISC}/src/liblzma/delta/delta_encoder.h | 0 .../MAFISC}/src/liblzma/delta/delta_private.h | 0 .../MAFISC}/src/liblzma/liblzma.pc.in | 0 .../MAFISC}/src/liblzma/liblzma_w32res.rc | 0 .../MAFISC}/src/liblzma/lz/Makefile.inc | 0 .../MAFISC}/src/liblzma/lz/lz_decoder.c | 0 .../MAFISC}/src/liblzma/lz/lz_decoder.h | 0 .../MAFISC}/src/liblzma/lz/lz_encoder.c | 0 .../MAFISC}/src/liblzma/lz/lz_encoder.h | 0 .../MAFISC}/src/liblzma/lz/lz_encoder_hash.h | 0 .../src/liblzma/lz/lz_encoder_hash_table.h | 0 .../MAFISC}/src/liblzma/lz/lz_encoder_mf.c | 0 .../MAFISC}/src/liblzma/lzma/Makefile.inc | 0 .../MAFISC}/src/liblzma/lzma/fastpos.h | 0 .../MAFISC}/src/liblzma/lzma/fastpos_table.c | 0 .../src/liblzma/lzma/fastpos_tablegen.c | 0 .../MAFISC}/src/liblzma/lzma/lzma2_decoder.c | 0 .../MAFISC}/src/liblzma/lzma/lzma2_decoder.h | 0 .../MAFISC}/src/liblzma/lzma/lzma2_encoder.c | 0 .../MAFISC}/src/liblzma/lzma/lzma2_encoder.h | 0 .../MAFISC}/src/liblzma/lzma/lzma_common.h | 0 .../MAFISC}/src/liblzma/lzma/lzma_decoder.c | 0 .../MAFISC}/src/liblzma/lzma/lzma_decoder.h | 0 .../MAFISC}/src/liblzma/lzma/lzma_encoder.c | 0 .../MAFISC}/src/liblzma/lzma/lzma_encoder.h | 0 .../liblzma/lzma/lzma_encoder_optimum_fast.c | 0 .../lzma/lzma_encoder_optimum_normal.c | 0 .../src/liblzma/lzma/lzma_encoder_presets.c | 0 .../src/liblzma/lzma/lzma_encoder_private.h | 0 .../src/liblzma/rangecoder/Makefile.inc | 0 .../MAFISC}/src/liblzma/rangecoder/price.h | 0 .../src/liblzma/rangecoder/price_table.c | 0 .../src/liblzma/rangecoder/price_tablegen.c | 0 .../src/liblzma/rangecoder/range_common.h | 0 .../src/liblzma/rangecoder/range_decoder.h | 0 .../src/liblzma/rangecoder/range_encoder.h | 0 .../MAFISC}/src/liblzma/simple/Makefile.inc | 0 .../MAFISC}/src/liblzma/simple/arm.c | 0 .../MAFISC}/src/liblzma/simple/armthumb.c | 0 .../MAFISC}/src/liblzma/simple/ia64.c | 0 .../MAFISC}/src/liblzma/simple/powerpc.c | 0 .../MAFISC}/src/liblzma/simple/simple_coder.c | 0 .../MAFISC}/src/liblzma/simple/simple_coder.h | 0 .../src/liblzma/simple/simple_decoder.c | 0 .../src/liblzma/simple/simple_decoder.h | 0 .../src/liblzma/simple/simple_encoder.c | 0 .../src/liblzma/simple/simple_encoder.h | 0 .../src/liblzma/simple/simple_private.h | 0 .../MAFISC}/src/liblzma/simple/sparc.c | 0 .../MAFISC}/src/liblzma/simple/x86.c | 0 .../MAFISC}/src/lorenzo-filter.c | 0 .../MAFISC}/src/lorenzo-filter.h | 0 {MAFISC => community/MAFISC}/src/mafisc.c | 0 {MAFISC => community/MAFISC}/src/mafisc.h | 0 {MAFISC => community/MAFISC}/src/main.c | 0 .../MAFISC}/src/sign-filter.c | 0 .../MAFISC}/src/sign-filter.h | 0 .../MAFISC}/src/simple-hash.c | 0 .../MAFISC}/src/simple-hash.h | 0 .../MAFISC}/src/time-filter.c | 0 .../MAFISC}/src/time-filter.h | 0 .../MAFISC}/src/variable-filter.c | 0 .../MAFISC}/src/variable-filter.h | 0 community/README.md | 10 + .../copyright-and-BSD-license.txt | 0 {SZ => community/SZ}/CMakeLists.txt | 0 {SZ => community/SZ}/CTestConfig.cmake | 0 {SZ => community/SZ}/Makefile.am | 0 {SZ => community/SZ}/README.txt | 0 {SZ => community/SZ}/config.h.in | 0 .../SZ}/config/cmake/CTestCustom.cmake | 0 .../SZ}/config/cmake/CTestScript.cmake | 0 .../SZ}/config/cmake/ConfigureChecks.cmake | 0 {SZ => community/SZ}/config/cmake/H5PLTests.c | 0 .../SZ}/config/cmake/H5PL_Examples.cmake.in | 0 .../SZ}/config/cmake/H5SZMacros.cmake | 30 +- .../SZ}/config/cmake/HDFMacros.cmake | 9 +- .../SZ}/config/cmake/HDFPluginMacros.cmake | 66 +++- .../SZ}/config/cmake/HDFoptions.cmake | 0 .../config/cmake/NSIS.InstallOptions.ini.in | 0 .../SZ}/config/cmake/NSIS.template.in | 0 .../SZ}/config/cmake/README.txt.cmake.in | 0 .../SZ/config/cmake/SignPackageFiles.cmake | 41 +++ .../SZ}/config/cmake/binex/CMakeLists.txt | 0 .../SZ}/config/cmake/binex/CTestConfig.cmake | 0 .../SZ}/config/cmake/binex/Using_CMake.txt | 0 .../binex/config/cmake/CTestCustom.cmake | 0 .../cmake/binex/config/cmake/HDFMacros.cmake | 2 + .../binex/config/cmake/HDFPluginMacros.cmake | 8 +- .../cmake/binex/config/cmake/cacheinit.cmake | 0 .../cmake/binex/config/cmake/grepTest.cmake | 0 .../cmake/binex/config/cmake/runTest.cmake | 0 .../binex/config/toolchain/aarch64.cmake | 0 .../binex/config/toolchain/build32.cmake | 0 .../cmake/binex/config/toolchain/clang.cmake | 0 .../cmake/binex/config/toolchain/crayle.cmake | 0 .../cmake/binex/config/toolchain/gcc.cmake | 0 .../cmake/binex/config/toolchain/icc.cmake | 0 .../binex/config/toolchain/mingw64.cmake | 0 .../cmake/binex/config/toolchain/pgi.cmake | 0 .../config/cmake/binex/example/CMakeLists.txt | 0 .../config/cmake/binex/example/h5ex_d_sz.c | 0 .../config/cmake/binex/example/test/test.sh | 0 .../config/cmake/binex/example/test/testCM.sh | 0 .../binex/example/testfiles/h5ex_d_sz.ddl | 0 .../binex/example/testfiles/h5ex_d_sz.err | 0 .../binex/example/testfiles/h5ex_d_sz.h5 | Bin .../binex/example/testfiles/h5ex_d_sz.tst | 0 .../example/testfiles/h5repack_layout.h5 | Bin .../h5repack_layout.h5-ud_convert.ddl | 0 .../cmake/binex/example/testfiles/sz.config | 0 .../ud_convert.h5repack_layout.h5.tst | 0 .../SZ}/config/cmake/cacheinit.cmake | 0 {SZ => community/SZ}/config/cmake/config.h.in | 0 .../SZ/config/cmake/distribution.entitlements | 16 + .../SZ}/config/cmake/grepTest.cmake | 0 .../config/cmake/h5sz-config-version.cmake.in | 0 .../SZ}/config/cmake/h5sz-config.cmake.in | 0 .../SZ}/config/cmake/runTest.cmake | 0 .../SZ}/config/toolchain/aarch64.cmake | 10 +- .../SZ}/config/toolchain/build32.cmake | 0 .../SZ}/config/toolchain/clang.cmake | 0 .../SZ}/config/toolchain/crayle.cmake | 0 .../SZ}/config/toolchain/gcc.cmake | 0 .../SZ}/config/toolchain/icc.cmake | 0 .../SZ}/config/toolchain/intel.cmake | 0 .../SZ}/config/toolchain/mingw64.cmake | 0 .../SZ}/config/toolchain/pgi.cmake | 0 {SZ => community/SZ}/configure.ac | 0 {SZ => community/SZ}/example/CMakeLists.txt | 0 {SZ => community/SZ}/example/Makefile.am | 0 {SZ => community/SZ}/example/h5ex_d_sz.c | 0 {SZ => community/SZ}/example/test/test.sh | 0 {SZ => community/SZ}/example/test/testCM.sh | 0 .../SZ}/example/testfiles/h5ex_d_sz.ddl | 0 .../SZ}/example/testfiles/h5ex_d_sz.err | 0 .../SZ}/example/testfiles/h5ex_d_sz.h5 | Bin .../SZ}/example/testfiles/h5ex_d_sz.tst | 0 .../SZ}/example/testfiles/h5repack_layout.h5 | Bin .../h5repack_layout.h5-ud_convert.ddl | 0 .../SZ}/example/testfiles/sz.config | 0 .../ud_convert.h5repack_layout.h5.tst | 0 {SZ => community/SZ}/m4/libtool.m4 | 0 {SZ => community/SZ}/m4/ltoptions.m4 | 0 {SZ => community/SZ}/m4/ltsugar.m4 | 0 {SZ => community/SZ}/m4/ltversion.m4 | 0 {SZ => community/SZ}/m4/lt~obsolete.m4 | 0 {SZ => community/SZ}/src/CMakeLists.txt | 0 {SZ => community/SZ}/src/H5Zszf.c | 0 {SZ => community/SZ}/src/H5Zszf.h | 0 {SZ => community/SZ}/src/Makefile.am | 0 {SZ => community/SZ}/src/sz.config | 0 config/cmake-presets/hidden-presets.json | 214 ++++++++++-- config/cmake/HDFMacros.cmake | 9 +- config/cmake/HDFPluginMacros.cmake | 64 +++- config/cmake/SignPackageFiles.cmake | 43 +++ .../cmake/binex/config/cmake/HDFMacros.cmake | 2 + .../binex/config/cmake/HDFPluginMacros.cmake | 8 +- config/cmake/cacheinit.cmake | 20 +- config/cmake/distribution.entitlements | 16 + config/toolchain/aarch64.cmake | 8 +- docs/INSTALL_With_CMake.txt | 46 ++- docs/RegisteredFilterPlugins.md | 46 ++- 463 files changed, 2549 insertions(+), 674 deletions(-) create mode 100644 BLOSC/config/cmake/SignPackageFiles.cmake create mode 100644 BLOSC/config/cmake/distribution.entitlements create mode 100644 BLOSC2/config/cmake/SignPackageFiles.cmake create mode 100644 BLOSC2/config/cmake/distribution.entitlements create mode 100644 BSHUF/config/cmake/SignPackageFiles.cmake create mode 100644 BSHUF/config/cmake/distribution.entitlements create mode 100644 BZIP2/config/cmake/SignPackageFiles.cmake create mode 100644 BZIP2/config/cmake/distribution.entitlements create mode 100644 JPEG/config/cmake/SignPackageFiles.cmake create mode 100644 JPEG/config/cmake/distribution.entitlements create mode 100644 LZ4/config/cmake/SignPackageFiles.cmake create mode 100644 LZ4/config/cmake/distribution.entitlements create mode 100644 LZF/config/cmake/SignPackageFiles.cmake create mode 100644 LZF/config/cmake/distribution.entitlements create mode 100644 ZFP/config/cmake/SignPackageFiles.cmake create mode 100644 ZFP/config/cmake/distribution.entitlements create mode 100644 ZSTD/config/cmake/SignPackageFiles.cmake create mode 100644 ZSTD/config/cmake/distribution.entitlements create mode 100644 community/CMakeLists.txt rename {MAFISC => community/MAFISC}/Additional_Legal/License (100%) rename {MAFISC => community/MAFISC}/CMakeLists.txt (100%) rename {MAFISC => community/MAFISC}/CTestConfig.cmake (100%) rename {MAFISC => community/MAFISC}/Makefile.am (100%) rename {MAFISC => community/MAFISC}/README.txt (100%) rename {MAFISC => community/MAFISC}/bin/config.guess (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/bin/config.sub (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/bin/depcomp (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/bin/install-sh (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/bin/ltmain.sh (100%) rename {MAFISC => community/MAFISC}/bin/missing (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/bin/mkinstalldirs (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/bin/reconfigure (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/config.h.in (100%) rename {MAFISC => community/MAFISC}/config/cmake/CTestCustom.cmake (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/config/cmake/CTestScript.cmake (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/config/cmake/ConfigureChecks.cmake (100%) rename {MAFISC => community/MAFISC}/config/cmake/H5MAFISCMacros.cmake (87%) rename {MAFISC => community/MAFISC}/config/cmake/H5PLTests.c (100%) rename {MAFISC => community/MAFISC}/config/cmake/H5PL_Examples.cmake.in (100%) rename {MAFISC/config/cmake/binex => community/MAFISC}/config/cmake/HDFMacros.cmake (98%) rename {MAFISC => community/MAFISC}/config/cmake/HDFPluginMacros.cmake (90%) rename {MAFISC => community/MAFISC}/config/cmake/HDFoptions.cmake (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/config/cmake/NSIS.InstallOptions.ini.in (100%) rename {MAFISC => community/MAFISC}/config/cmake/NSIS.template.in (100%) rename {MAFISC => community/MAFISC}/config/cmake/README.txt.cmake.in (100%) create mode 100644 community/MAFISC/config/cmake/SignPackageFiles.cmake rename {MAFISC => community/MAFISC}/config/cmake/binex/CMakeLists.txt (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/CTestConfig.cmake (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/Using_CMake.txt (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/config/cmake/CTestCustom.cmake (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC/config/cmake/binex}/config/cmake/HDFMacros.cmake (99%) rename {SZ => community/MAFISC}/config/cmake/binex/config/cmake/HDFPluginMacros.cmake (98%) rename {MAFISC => community/MAFISC}/config/cmake/binex/config/cmake/cacheinit.cmake (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/config/cmake/binex/config/cmake/grepTest.cmake (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/config/cmake/runTest.cmake (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/config/toolchain/aarch64.cmake (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/config/toolchain/build32.cmake (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/config/toolchain/clang.cmake (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/config/toolchain/crayle.cmake (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/config/toolchain/gcc.cmake (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/config/toolchain/icc.cmake (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/config/toolchain/mingw64.cmake (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/config/toolchain/pgi.cmake (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/example/CMakeLists.txt (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/example/h5ex_d_mafisc.c (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/example/test/test.sh (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/config/cmake/binex/example/test/testCM.sh (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/config/cmake/binex/example/testfiles/h5ex_d_mafisc.ddl (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/example/testfiles/h5ex_d_mafisc.err (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/example/testfiles/h5ex_d_mafisc.h5 (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/example/testfiles/h5ex_d_mafisc.tst (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/config/cmake/binex/example/testfiles/h5repack_layout.h5 (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/example/testfiles/h5repack_layout.h5-ud_convert.ddl (100%) rename {MAFISC => community/MAFISC}/config/cmake/binex/example/testfiles/ud_convert.h5repack_layout.h5.tst (100%) rename {MAFISC => community/MAFISC}/config/cmake/cacheinit.cmake (100%) rename {MAFISC => community/MAFISC}/config/cmake/config.h.in (100%) create mode 100644 community/MAFISC/config/cmake/distribution.entitlements rename {MAFISC => community/MAFISC}/config/cmake/grepTest.cmake (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/config/cmake/h5mafisc-config-version.cmake.in (100%) rename {MAFISC => community/MAFISC}/config/cmake/h5mafisc-config.cmake.in (100%) rename {MAFISC => community/MAFISC}/config/cmake/runTest.cmake (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/config/toolchain/aarch64.cmake (66%) rename {MAFISC => community/MAFISC}/config/toolchain/build32.cmake (100%) rename {MAFISC => community/MAFISC}/config/toolchain/clang.cmake (100%) rename {MAFISC => community/MAFISC}/config/toolchain/crayle.cmake (100%) rename {MAFISC => community/MAFISC}/config/toolchain/gcc.cmake (100%) rename {MAFISC => community/MAFISC}/config/toolchain/icc.cmake (100%) rename {MAFISC => community/MAFISC}/config/toolchain/intel.cmake (100%) rename {MAFISC => community/MAFISC}/config/toolchain/mingw64.cmake (100%) rename {MAFISC => community/MAFISC}/config/toolchain/pgi.cmake (100%) rename {MAFISC => community/MAFISC}/configure.ac (100%) rename {MAFISC => community/MAFISC}/example/CMakeLists.txt (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/example/Makefile.am (100%) rename {MAFISC => community/MAFISC}/example/h5ex_d_mafisc.c (100%) rename {MAFISC => community/MAFISC}/example/test/test.sh (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/example/test/testCM.sh (100%) mode change 100755 => 100644 rename {MAFISC => community/MAFISC}/example/testfiles/h5ex_d_mafisc.ddl (100%) rename {MAFISC => community/MAFISC}/example/testfiles/h5ex_d_mafisc.err (100%) rename {MAFISC => community/MAFISC}/example/testfiles/h5ex_d_mafisc.h5 (100%) rename {MAFISC => community/MAFISC}/example/testfiles/h5ex_d_mafisc.tst (100%) rename {MAFISC => community/MAFISC}/example/testfiles/h5repack_layout.h5 (100%) rename {MAFISC => community/MAFISC}/example/testfiles/h5repack_layout.h5-ud_convert.ddl (100%) rename {MAFISC => community/MAFISC}/example/testfiles/ud_convert.h5repack_layout.h5.tst (100%) rename {MAFISC => community/MAFISC}/src/CMakeLists.txt (100%) rename {MAFISC => community/MAFISC}/src/Makefile.am (100%) rename {MAFISC => community/MAFISC}/src/adaptive-filter.c (100%) rename {MAFISC => community/MAFISC}/src/adaptive-filter.h (100%) rename {MAFISC => community/MAFISC}/src/bit-sorter-filter.c (100%) rename {MAFISC => community/MAFISC}/src/bit-sorter-filter.h (100%) rename {MAFISC => community/MAFISC}/src/combined-filter.c (100%) rename {MAFISC => community/MAFISC}/src/combined-filter.h (100%) rename {MAFISC => community/MAFISC}/src/difference-filter.c (100%) rename {MAFISC => community/MAFISC}/src/difference-filter.h (100%) rename {MAFISC => community/MAFISC}/src/filter-cascade-filter.c (100%) rename {MAFISC => community/MAFISC}/src/filter-cascade-filter.h (100%) rename {MAFISC => community/MAFISC}/src/filter-test.c (100%) rename {MAFISC => community/MAFISC}/src/filter-test.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/CMakeLists.txt (100%) rename {MAFISC => community/MAFISC}/src/liblzma/Makefile.am (100%) rename {MAFISC => community/MAFISC}/src/liblzma/Makefile.in (100%) rename {MAFISC => community/MAFISC}/src/liblzma/api/Makefile.am (100%) rename {MAFISC => community/MAFISC}/src/liblzma/api/Makefile.in (100%) rename {MAFISC => community/MAFISC}/src/liblzma/api/common_w32res.rc (100%) rename {MAFISC => community/MAFISC}/src/liblzma/api/lzma.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/api/lzma/base.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/api/lzma/bcj.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/api/lzma/block.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/api/lzma/check.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/api/lzma/container.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/api/lzma/delta.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/api/lzma/filter.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/api/lzma/hardware.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/api/lzma/index.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/api/lzma/index_hash.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/api/lzma/lzma.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/api/lzma/stream_flags.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/api/lzma/version.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/api/lzma/vli.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/Makefile.inc (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/check.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/check.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/crc32_fast.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/crc32_small.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/crc32_table.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/crc32_table_be.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/crc32_table_le.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/crc32_tablegen.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/crc32_x86.S (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/crc64_fast.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/crc64_small.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/crc64_table.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/crc64_table_be.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/crc64_table_le.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/crc64_tablegen.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/crc64_x86.S (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/crc_macros.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/check/sha256.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/Makefile.inc (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/alone_decoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/alone_decoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/alone_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/auto_decoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/block_buffer_decoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/block_buffer_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/block_decoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/block_decoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/block_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/block_encoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/block_header_decoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/block_header_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/block_util.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/common.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/common.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/easy_buffer_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/easy_decoder_memusage.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/easy_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/easy_encoder_memusage.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/easy_preset.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/easy_preset.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/filter_buffer_decoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/filter_buffer_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/filter_common.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/filter_common.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/filter_decoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/filter_decoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/filter_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/filter_encoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/filter_flags_decoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/filter_flags_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/hardware_physmem.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/index.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/index.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/index_decoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/index_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/index_encoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/index_hash.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/mythread.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/stream_buffer_decoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/stream_buffer_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/stream_decoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/stream_decoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/stream_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/stream_encoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/stream_flags_common.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/stream_flags_common.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/stream_flags_decoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/stream_flags_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/sysdefs.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/tuklib_common.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/tuklib_config.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/tuklib_cpucores.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/tuklib_exit.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/tuklib_gettext.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/tuklib_integer.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/tuklib_mbstr.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/tuklib_open_stdxxx.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/tuklib_physmem.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/tuklib_physmem.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/tuklib_progname.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/vli_decoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/vli_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/common/vli_size.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/delta/Makefile.inc (100%) rename {MAFISC => community/MAFISC}/src/liblzma/delta/delta_common.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/delta/delta_common.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/delta/delta_decoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/delta/delta_decoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/delta/delta_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/delta/delta_encoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/delta/delta_private.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/liblzma.pc.in (100%) rename {MAFISC => community/MAFISC}/src/liblzma/liblzma_w32res.rc (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lz/Makefile.inc (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lz/lz_decoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lz/lz_decoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lz/lz_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lz/lz_encoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lz/lz_encoder_hash.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lz/lz_encoder_hash_table.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lz/lz_encoder_mf.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lzma/Makefile.inc (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lzma/fastpos.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lzma/fastpos_table.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lzma/fastpos_tablegen.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lzma/lzma2_decoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lzma/lzma2_decoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lzma/lzma2_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lzma/lzma2_encoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lzma/lzma_common.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lzma/lzma_decoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lzma/lzma_decoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lzma/lzma_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lzma/lzma_encoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lzma/lzma_encoder_optimum_fast.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lzma/lzma_encoder_optimum_normal.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lzma/lzma_encoder_presets.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/lzma/lzma_encoder_private.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/rangecoder/Makefile.inc (100%) rename {MAFISC => community/MAFISC}/src/liblzma/rangecoder/price.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/rangecoder/price_table.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/rangecoder/price_tablegen.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/rangecoder/range_common.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/rangecoder/range_decoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/rangecoder/range_encoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/simple/Makefile.inc (100%) rename {MAFISC => community/MAFISC}/src/liblzma/simple/arm.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/simple/armthumb.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/simple/ia64.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/simple/powerpc.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/simple/simple_coder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/simple/simple_coder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/simple/simple_decoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/simple/simple_decoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/simple/simple_encoder.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/simple/simple_encoder.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/simple/simple_private.h (100%) rename {MAFISC => community/MAFISC}/src/liblzma/simple/sparc.c (100%) rename {MAFISC => community/MAFISC}/src/liblzma/simple/x86.c (100%) rename {MAFISC => community/MAFISC}/src/lorenzo-filter.c (100%) rename {MAFISC => community/MAFISC}/src/lorenzo-filter.h (100%) rename {MAFISC => community/MAFISC}/src/mafisc.c (100%) rename {MAFISC => community/MAFISC}/src/mafisc.h (100%) rename {MAFISC => community/MAFISC}/src/main.c (100%) rename {MAFISC => community/MAFISC}/src/sign-filter.c (100%) rename {MAFISC => community/MAFISC}/src/sign-filter.h (100%) rename {MAFISC => community/MAFISC}/src/simple-hash.c (100%) rename {MAFISC => community/MAFISC}/src/simple-hash.h (100%) rename {MAFISC => community/MAFISC}/src/time-filter.c (100%) rename {MAFISC => community/MAFISC}/src/time-filter.h (100%) rename {MAFISC => community/MAFISC}/src/variable-filter.c (100%) rename {MAFISC => community/MAFISC}/src/variable-filter.h (100%) create mode 100644 community/README.md rename {SZ => community/SZ}/Additional_Legal/copyright-and-BSD-license.txt (100%) rename {SZ => community/SZ}/CMakeLists.txt (100%) rename {SZ => community/SZ}/CTestConfig.cmake (100%) rename {SZ => community/SZ}/Makefile.am (100%) rename {SZ => community/SZ}/README.txt (100%) rename {SZ => community/SZ}/config.h.in (100%) rename {SZ => community/SZ}/config/cmake/CTestCustom.cmake (100%) mode change 100755 => 100644 rename {SZ => community/SZ}/config/cmake/CTestScript.cmake (100%) mode change 100755 => 100644 rename {SZ => community/SZ}/config/cmake/ConfigureChecks.cmake (100%) rename {SZ => community/SZ}/config/cmake/H5PLTests.c (100%) rename {SZ => community/SZ}/config/cmake/H5PL_Examples.cmake.in (100%) rename {SZ => community/SZ}/config/cmake/H5SZMacros.cmake (56%) rename {SZ => community/SZ}/config/cmake/HDFMacros.cmake (98%) rename {SZ => community/SZ}/config/cmake/HDFPluginMacros.cmake (90%) rename {SZ => community/SZ}/config/cmake/HDFoptions.cmake (100%) mode change 100755 => 100644 rename {SZ => community/SZ}/config/cmake/NSIS.InstallOptions.ini.in (100%) rename {SZ => community/SZ}/config/cmake/NSIS.template.in (100%) rename {SZ => community/SZ}/config/cmake/README.txt.cmake.in (100%) create mode 100644 community/SZ/config/cmake/SignPackageFiles.cmake rename {SZ => community/SZ}/config/cmake/binex/CMakeLists.txt (100%) rename {SZ => community/SZ}/config/cmake/binex/CTestConfig.cmake (100%) rename {SZ => community/SZ}/config/cmake/binex/Using_CMake.txt (100%) rename {SZ => community/SZ}/config/cmake/binex/config/cmake/CTestCustom.cmake (100%) mode change 100755 => 100644 rename {SZ => community/SZ}/config/cmake/binex/config/cmake/HDFMacros.cmake (99%) rename {MAFISC => community/SZ}/config/cmake/binex/config/cmake/HDFPluginMacros.cmake (98%) rename {SZ => community/SZ}/config/cmake/binex/config/cmake/cacheinit.cmake (100%) mode change 100755 => 100644 rename {SZ => community/SZ}/config/cmake/binex/config/cmake/grepTest.cmake (100%) rename {SZ => community/SZ}/config/cmake/binex/config/cmake/runTest.cmake (100%) rename {SZ => community/SZ}/config/cmake/binex/config/toolchain/aarch64.cmake (100%) rename {SZ => community/SZ}/config/cmake/binex/config/toolchain/build32.cmake (100%) rename {SZ => community/SZ}/config/cmake/binex/config/toolchain/clang.cmake (100%) rename {SZ => community/SZ}/config/cmake/binex/config/toolchain/crayle.cmake (100%) rename {SZ => community/SZ}/config/cmake/binex/config/toolchain/gcc.cmake (100%) rename {SZ => community/SZ}/config/cmake/binex/config/toolchain/icc.cmake (100%) rename {SZ => community/SZ}/config/cmake/binex/config/toolchain/mingw64.cmake (100%) rename {SZ => community/SZ}/config/cmake/binex/config/toolchain/pgi.cmake (100%) rename {SZ => community/SZ}/config/cmake/binex/example/CMakeLists.txt (100%) rename {SZ => community/SZ}/config/cmake/binex/example/h5ex_d_sz.c (100%) rename {SZ => community/SZ}/config/cmake/binex/example/test/test.sh (100%) mode change 100755 => 100644 rename {SZ => community/SZ}/config/cmake/binex/example/test/testCM.sh (100%) mode change 100755 => 100644 rename {SZ => community/SZ}/config/cmake/binex/example/testfiles/h5ex_d_sz.ddl (100%) rename {SZ => community/SZ}/config/cmake/binex/example/testfiles/h5ex_d_sz.err (100%) rename {SZ => community/SZ}/config/cmake/binex/example/testfiles/h5ex_d_sz.h5 (100%) rename {SZ => community/SZ}/config/cmake/binex/example/testfiles/h5ex_d_sz.tst (100%) rename {SZ => community/SZ}/config/cmake/binex/example/testfiles/h5repack_layout.h5 (100%) rename {SZ => community/SZ}/config/cmake/binex/example/testfiles/h5repack_layout.h5-ud_convert.ddl (100%) rename {SZ => community/SZ}/config/cmake/binex/example/testfiles/sz.config (100%) rename {SZ => community/SZ}/config/cmake/binex/example/testfiles/ud_convert.h5repack_layout.h5.tst (100%) rename {SZ => community/SZ}/config/cmake/cacheinit.cmake (100%) rename {SZ => community/SZ}/config/cmake/config.h.in (100%) create mode 100644 community/SZ/config/cmake/distribution.entitlements rename {SZ => community/SZ}/config/cmake/grepTest.cmake (100%) mode change 100755 => 100644 rename {SZ => community/SZ}/config/cmake/h5sz-config-version.cmake.in (100%) rename {SZ => community/SZ}/config/cmake/h5sz-config.cmake.in (100%) rename {SZ => community/SZ}/config/cmake/runTest.cmake (100%) mode change 100755 => 100644 rename {SZ => community/SZ}/config/toolchain/aarch64.cmake (66%) rename {SZ => community/SZ}/config/toolchain/build32.cmake (100%) rename {SZ => community/SZ}/config/toolchain/clang.cmake (100%) rename {SZ => community/SZ}/config/toolchain/crayle.cmake (100%) rename {SZ => community/SZ}/config/toolchain/gcc.cmake (100%) rename {SZ => community/SZ}/config/toolchain/icc.cmake (100%) rename {SZ => community/SZ}/config/toolchain/intel.cmake (100%) rename {SZ => community/SZ}/config/toolchain/mingw64.cmake (100%) rename {SZ => community/SZ}/config/toolchain/pgi.cmake (100%) rename {SZ => community/SZ}/configure.ac (100%) rename {SZ => community/SZ}/example/CMakeLists.txt (100%) mode change 100755 => 100644 rename {SZ => community/SZ}/example/Makefile.am (100%) rename {SZ => community/SZ}/example/h5ex_d_sz.c (100%) rename {SZ => community/SZ}/example/test/test.sh (100%) mode change 100755 => 100644 rename {SZ => community/SZ}/example/test/testCM.sh (100%) mode change 100755 => 100644 rename {SZ => community/SZ}/example/testfiles/h5ex_d_sz.ddl (100%) rename {SZ => community/SZ}/example/testfiles/h5ex_d_sz.err (100%) rename {SZ => community/SZ}/example/testfiles/h5ex_d_sz.h5 (100%) rename {SZ => community/SZ}/example/testfiles/h5ex_d_sz.tst (100%) rename {SZ => community/SZ}/example/testfiles/h5repack_layout.h5 (100%) rename {SZ => community/SZ}/example/testfiles/h5repack_layout.h5-ud_convert.ddl (100%) rename {SZ => community/SZ}/example/testfiles/sz.config (100%) rename {SZ => community/SZ}/example/testfiles/ud_convert.h5repack_layout.h5.tst (100%) rename {SZ => community/SZ}/m4/libtool.m4 (100%) rename {SZ => community/SZ}/m4/ltoptions.m4 (100%) rename {SZ => community/SZ}/m4/ltsugar.m4 (100%) rename {SZ => community/SZ}/m4/ltversion.m4 (100%) rename {SZ => community/SZ}/m4/lt~obsolete.m4 (100%) rename {SZ => community/SZ}/src/CMakeLists.txt (100%) rename {SZ => community/SZ}/src/H5Zszf.c (100%) rename {SZ => community/SZ}/src/H5Zszf.h (100%) rename {SZ => community/SZ}/src/Makefile.am (100%) rename {SZ => community/SZ}/src/sz.config (100%) create mode 100644 config/cmake/SignPackageFiles.cmake create mode 100644 config/cmake/distribution.entitlements diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 7ff40c69..08f15245 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -2,7 +2,7 @@ # Each line is a file pattern followed by one or more owners. # These owners will be the default owners for everything in the repo. -* @lrknox @byrnHDF +* @lrknox @byrnHDF @derobins @fortnern @jhendersonHDF @bmribler @glennsong09 @mattjala @brtnfld # Order is important. The last matching pattern has the most precedence. # So if a pull request only touches javascript files, only these owners diff --git a/.github/workflows/cmake-ctest.yml b/.github/workflows/cmake-ctest.yml index 997f5efe..9a67ab06 100644 --- a/.github/workflows/cmake-ctest.yml +++ b/.github/workflows/cmake-ctest.yml @@ -1,6 +1,6 @@ name: hdf5 plugins ctest runs -# Controls when the action will run. Triggers the workflow on a call +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: @@ -26,16 +26,58 @@ on: type: string required: true default: snapshots + secrets: + APPLE_CERTS_BASE64: + required: true + APPLE_CERTS_BASE64_PASSWD: + required: true + KEYCHAIN_PASSWD: + required: true + AZURE_TENANT_ID: + required: true + AZURE_CLIENT_ID: + required: true + AZURE_CLIENT_SECRET: + required: true + AZURE_ENDPOINT: + required: true + AZURE_CODE_SIGNING_NAME: + required: true + AZURE_CERT_PROFILE_NAME: + required: true permissions: contents: read jobs: + check-secret: + name: Check Secrets exists + runs-on: ubuntu-latest + outputs: + sign-state: ${{ steps.set-signing-state.outputs.BINSIGN }} + steps: + - name: Identify Signing Status + id: set-signing-state + env: + signing_secret: ${{ secrets.AZURE_ENDPOINT }} + run: | + if [[ '${{ env.signing_secret }}' == '' ]] + then + SIGN_VAL=$(echo 'notexists') + else + SIGN_VAL=$(echo 'exists') + fi + echo "BINSIGN=$SIGN_VAL" >> $GITHUB_OUTPUT + shell: bash + + - run: echo "signing is ${{ steps.set-signing-state.outputs.BINSIGN }}." + build_and_test_win: # Windows w/ MSVC + CMake # name: "Windows MSVC CTest" runs-on: windows-latest + needs: [check-secret] steps: - name: Install Dependencies (Windows) run: choco install ninja @@ -57,7 +99,7 @@ jobs: echo "SOURCE_BASE=$SOURCE_NAME_BASE" >> $GITHUB_OUTPUT shell: bash - - name: Get hdf5 release + - name: Get hdf5 snapshot if: ${{ (inputs.use_environ == 'snapshots') }} uses: dsaltares/fetch-gh-release-asset@master with: @@ -108,7 +150,7 @@ jobs: # Get files created by release script - name: Get zip-tarball (Windows) - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: name: zip-tarball path: ${{ github.workspace }} @@ -128,14 +170,49 @@ jobs: run: 7z x ${{ steps.set-file-base.outputs.FILE_BASE }}.zip shell: bash + - name: Install TrustedSigning (Windows) + run: | + Invoke-WebRequest -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile .\nuget.exe + .\nuget.exe install Microsoft.Windows.SDK.BuildTools -Version 10.0.22621.3233 -x + .\nuget.exe install Microsoft.Trusted.Signing.Client -Version 1.0.53 -x + shell: pwsh + if: ${{ needs.check-secret.outputs.sign-state == 'exists' }} + + - name: create-json + id: create-json + uses: jsdaniell/create-json@v1.2.3 + with: + name: "credentials.json" + dir: '${{ steps.set-file-base.outputs.SOURCE_BASE }}' + json: '{"Endpoint": "${{ secrets.AZURE_ENDPOINT }}","CodeSigningAccountName": "${{ secrets.AZURE_CODE_SIGNING_NAME }}","CertificateProfileName": "${{ secrets.AZURE_CERT_PROFILE_NAME }}"}' + if: ${{ needs.check-secret.outputs.sign-state == 'exists' }} + - name: Run ctest (Windows) env: + BINSIGN: ${{ needs.check-secret.outputs.sign-state }} + SIGNTOOLDIR: ${{ github.workspace }}/Microsoft.Windows.SDK.BuildTools/bin/10.0.22621.0/x64 HDF5_ROOT: ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }} run: | cd "${{ runner.workspace }}/hdf5_plugins/${{ steps.set-file-base.outputs.SOURCE_BASE }}" cmake --workflow --preset=${{ inputs.preset_name }}-MSVC --fresh shell: bash + - name: Sign files with Trusted Signing + uses: azure/trusted-signing-action@v0.4.0 + with: + azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }} + azure-client-id: ${{ secrets.AZURE_CLIENT_ID }} + azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }} + endpoint: ${{ secrets.AZURE_ENDPOINT }} + trusted-signing-account-name: ${{ secrets.AZURE_CODE_SIGNING_NAME }} + certificate-profile-name: ${{ secrets.AZURE_CERT_PROFILE_NAME }} + files-folder: ${{ runner.workspace }}/hdf5_plugins/build/${{ inputs.preset_name }}-MSVC + files-folder-filter: msi + file-digest: SHA256 + timestamp-rfc3161: http://timestamp.acs.microsoft.com + timestamp-digest: SHA256 + if: ${{ needs.check-secret.outputs.sign-state == 'exists' }} + - name: Publish binary (Windows) id: publish-ctest-binary run: | @@ -148,6 +225,13 @@ jobs: 7z a -tzip ${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip hdf5_plugins shell: pwsh + - name: Publish msi binary (Windows) + id: publish-ctest-msi-binary + run: | + mkdir "${{ runner.workspace }}/buildmsi" + Copy-Item -Path ${{ runner.workspace }}/hdf5_plugins/build/${{ inputs.preset_name }}-MSVC/* -Destination ${{ runner.workspace }}/buildmsi/${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_cl.msi -Include *.msi + shell: pwsh + - name: List files in the space (Windows) run: | Get-ChildItem -Path ${{ github.workspace }} @@ -162,11 +246,19 @@ jobs: path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` + - name: Save published msi binary (Windows) + uses: actions/upload-artifact@v4 + with: + name: msi-vs2022_cl-binary + path: ${{ runner.workspace }}/buildmsi/${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_cl.msi + if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` + build_and_test_linux: # Linux (Ubuntu) w/ gcc + CMake # name: "Ubuntu gcc CMake" runs-on: ubuntu-latest + needs: [check-secret] steps: - name: Install CMake Dependencies (Linux) run: | @@ -186,7 +278,7 @@ jobs: fi echo "SOURCE_BASE=$SOURCE_NAME_BASE" >> $GITHUB_OUTPUT - - name: Get hdf5 release + - name: Get hdf5 snapshot if: ${{ (inputs.use_environ == 'snapshots') }} uses: dsaltares/fetch-gh-release-asset@master with: @@ -228,7 +320,7 @@ jobs: # Get files created by release script - name: Get tgz-tarball (Linux) - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: name: tgz-tarball path: ${{ github.workspace }} @@ -261,6 +353,20 @@ jobs: tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz hdf5_plugins shell: bash + - name: Publish deb binary (Linux) + id: publish-ctest-deb-binary + run: | + mkdir "${{ runner.workspace }}/builddeb" + cp ${{ runner.workspace }}/hdf5_plugins/build/${{ inputs.preset_name }}-GNUC/*.deb ${{ runner.workspace }}/builddeb/${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.deb + shell: bash + + - name: Publish rpm binary (Linux) + id: publish-ctest-rpm-binary + run: | + mkdir "${{ runner.workspace }}/buildrpm" + cp ${{ runner.workspace }}/hdf5_plugins/build/${{ inputs.preset_name }}-GNUC/*.rpm ${{ runner.workspace }}/buildrpm/${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.rpm + shell: bash + - name: List files in the space (Linux) run: | ls ${{ github.workspace }} @@ -274,16 +380,53 @@ jobs: path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` - build_and_test_mac: + - name: Save published binary deb (Linux) + uses: actions/upload-artifact@v4 + with: + name: deb-ubuntu-2204_gcc-binary + path: ${{ runner.workspace }}/builddeb/${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.deb + if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` + + - name: Save published binary rpm (Linux) + uses: actions/upload-artifact@v4 + with: + name: rpm-ubuntu-2204_gcc-binary + path: ${{ runner.workspace }}/buildrpm/${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.rpm + if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` + + build_and_test_mac_latest: # MacOS w/ Clang + CMake # name: "MacOS Clang CMake" - runs-on: macos-13 + runs-on: macos-latest + needs: [check-secret] steps: - - name: Install Dependencies (MacOS) + - name: Install Dependencies (MacOS_latest) run: brew install ninja - - name: Set file base name (MacOS) + - name: Install the Apple certificate and provisioning profile + shell: bash + env: + BUILD_CERTIFICATE_BASE64: ${{ secrets.APPLE_CERTS_BASE64 }} + P12_PASSWORD: ${{ secrets.APPLE_CERTS_BASE64_PASSWD }} + KEYCHAIN_PASSWD: ${{ secrets.KEYCHAIN_PASSWD }} + run: | + # create variables + CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 + KEYCHAIN_FILE=${{ vars.KEYCHAIN_NAME }}.keychain + # import certificate from secrets + echo $BUILD_CERTIFICATE_BASE64 | base64 --decode > $CERTIFICATE_PATH + security -v create-keychain -p $KEYCHAIN_PASSWD $KEYCHAIN_FILE + security -v list-keychain -d user -s $KEYCHAIN_FILE + security -v list-keychains + security -v set-keychain-settings -lut 21600 $KEYCHAIN_FILE + security -v unlock-keychain -p $KEYCHAIN_PASSWD $KEYCHAIN_FILE + # import certificate to keychain + security -v import $CERTIFICATE_PATH -P $P12_PASSWORD -A -t cert -f pkcs12 -k $KEYCHAIN_FILE + security -v set-key-partition-list -S apple-tool:,codesign:,apple: -k $KEYCHAIN_PASSWD $KEYCHAIN_FILE + if: ${{ needs.check-secret.outputs.sign-state == 'exists' }} + + - name: Set file base name (MacOS_latest) id: set-file-base run: | FILE_NAME_BASE=$(echo "${{ inputs.file_base }}") @@ -298,49 +441,29 @@ jobs: - name: Get hdf5 snapshot if: ${{ (inputs.use_environ == 'snapshots') }} - continue-on-error: true uses: dsaltares/fetch-gh-release-asset@master with: repo: 'HDFGroup/hdf5' version: 'tags/snapshot-1.14' - file: '${{ inputs.use_hdf }}-osx.tar.gz' - - - name: Get hdf5 snapshot osx12 - if: ${{ (inputs.use_environ == 'snapshots') }} - continue-on-error: true - uses: dsaltares/fetch-gh-release-asset@master - with: - repo: 'HDFGroup/hdf5' - version: 'tags/snapshot-1.14' - file: '${{ inputs.use_hdf }}-osx12.tar.gz' + file: '${{ inputs.use_hdf }}-macos14_clang.tar.gz' - name: Get hdf5 release if: ${{ (inputs.use_environ == 'release') }} - continue-on-error: true - uses: dsaltares/fetch-gh-release-asset@master - with: - repo: 'HDFGroup/hdf5' - version: 'tags/${{ inputs.use_hdf }}' - file: '${{ inputs.use_hdf }}-osx.tar.gz' - - - name: Get hdf5 release osx12 - if: ${{ (inputs.use_environ == 'release') }} - continue-on-error: true uses: dsaltares/fetch-gh-release-asset@master with: repo: 'HDFGroup/hdf5' version: 'tags/${{ inputs.use_hdf }}' - file: '${{ inputs.use_hdf }}-osx12.tar.gz' + file: '${{ inputs.use_hdf }}-macos14_clang.tar.gz' - - name: List files for the space (MacOS) + - name: List files for the space (MacOS_latest) run: | ls -l ${{ github.workspace }} ls ${{ runner.workspace }} - - name: Uncompress gh binary (MacOS) - run: tar -zxvf ${{ github.workspace }}/${{ inputs.use_hdf }}-osx*.tar.gz + - name: Uncompress gh binary (MacOS_latest) + run: tar -zxvf ${{ github.workspace }}/${{ inputs.use_hdf }}-macos14_clang*.tar.gz - - name: Uncompress hdf5 binary (MacOS) + - name: Uncompress hdf5 binary (MacOS_latest) run: | cd "${{ github.workspace }}/hdf5" tar -zxvf ${{ github.workspace }}/hdf5/HDF5-*-Darwin.tar.gz --strip-components 1 @@ -352,55 +475,157 @@ jobs: FILE_NAME_HDF5=$(ls ${{ github.workspace }}/hdf5/HDF_Group/HDF5) echo "HDF5_ROOT=$HDF5DIR$FILE_NAME_HDF5" >> $GITHUB_OUTPUT - - name: List files for the binaries (MacOS) + - name: List files for the binaries (MacOS_latest) run: | ls -l ${{ github.workspace }}/hdf5/HDF_Group/HDF5 # Get files created by release script - - name: Get tgz-tarball (MacOS) - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + - name: Get tgz-tarball (MacOS_latest) + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: name: tgz-tarball path: ${{ github.workspace }} - - name: List files for the space (MacOS) + - name: List files for the space (MacOS_latest) run: | ls ${{ github.workspace }} ls ${{ runner.workspace }} - - name: Uncompress source (MacOS) + - name: Uncompress source (MacOS_latest) run: tar -zxvf ${{ github.workspace }}/${{ steps.set-file-base.outputs.FILE_BASE }}.tar.gz - - name: Run ctest (MacOS) + - name: Run ctest (MacOS_latest) id: run-ctest env: + BINSIGN: ${{ needs.check-secret.outputs.sign-state }} + SIGNER: ${{ vars.SIGNER }} HDF5_ROOT: ${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }} run: | cd "${{ runner.workspace }}/hdf5_plugins/${{ steps.set-file-base.outputs.SOURCE_BASE }}" - cmake --workflow --preset=${{ inputs.preset_name }}-Clang --fresh + cmake --workflow --preset=${{ inputs.preset_name }}-macos-Clang --fresh + shell: bash + + - name: Sign dmg (MacOS_latest) + id: sign-dmg + env: + KEYCHAIN_PASSWD: ${{ secrets.KEYCHAIN_PASSWD }} + KEYCHAIN_NAME: ${{ vars.KEYCHAIN_NAME }} + SIGNER: ${{ vars.SIGNER }} + NOTARY_USER: ${{ vars.NOTARY_USER }} + NOTARY_KEY: ${{ vars.NOTARY_KEY }} + run: | + /usr/bin/codesign --force --timestamp --options runtime --entitlements ${{ runner.workspace }}/hdf5_plugins/${{ steps.set-file-base.outputs.SOURCE_BASE }}/config/cmake/distribution.entitlements --verbose=4 --strict --sign ${{ env.SIGNER }} --deep ${{ runner.workspace }}/hdf5_plugins/build/${{ inputs.preset_name }}-macos-Clang/*.dmg + if: ${{ needs.check-secret.outputs.sign-state == 'exists' }} + shell: bash + + - name: Check dmg timestamp (MacOS_latest) + run: | + /usr/bin/codesign -dvv ${{ runner.workspace }}/hdf5_plugins/build/${{ inputs.preset_name }}-macos-Clang/*.dmg + if: ${{ needs.check-secret.outputs.sign-state == 'exists' }} shell: bash - - name: Publish binary (MacOS) + - name: Verify dmg (MacOS_latest) + run: | + /usr/bin/hdiutil verify ${{ runner.workspace }}/hdf5_plugins/build/${{ inputs.preset_name }}-macos-Clang/*.dmg + if: ${{ needs.check-secret.outputs.sign-state == 'exists' }} + shell: bash + + - name: Notarize dmg (MacOS_latest) + id: notarize-dmg + env: + KEYCHAIN_PASSWD: ${{ secrets.KEYCHAIN_PASSWD }} + KEYCHAIN_NAME: ${{ vars.KEYCHAIN_NAME }} + SIGNER: ${{ vars.SIGNER }} + NOTARY_USER: ${{ vars.NOTARY_USER }} + NOTARY_KEY: ${{ vars.NOTARY_KEY }} + run: | + jsonout=$(/usr/bin/xcrun notarytool submit --wait --output-format json --apple-id ${{ env.NOTARY_USER }} --password ${{ env.NOTARY_KEY }} --team-id ${{ env.SIGNER }} ${{ runner.workspace }}/hdf5_plugins/build/${{ inputs.preset_name }}-macos-Clang/*.dmg) + echo "JSONOUT=$jsonout" >> $GITHUB_OUTPUT + if: ${{ needs.check-secret.outputs.sign-state == 'exists' }} + shell: bash + + - name: Get ID token (MacOS_latest) + id: get-id-token + run: | + echo "notary result is ${{ fromJson(steps.notarize-dmg.outputs.JSONOUT) }}" + token=${{ fromJson(steps.notarize-dmg.outputs.JSONOUT).id }} + echo "ID_TOKEN=$token" >> "$GITHUB_OUTPUT" + if: ${{ needs.check-secret.outputs.sign-state == 'exists' }} + shell: bash + + - name: post notary check (MacOS_latest) + id: post-notary + env: + KEYCHAIN_PASSWD: ${{ secrets.KEYCHAIN_PASSWD }} + KEYCHAIN_NAME: ${{ vars.KEYCHAIN_NAME }} + SIGNER: ${{ vars.SIGNER }} + NOTARY_USER: ${{ vars.NOTARY_USER }} + NOTARY_KEY: ${{ vars.NOTARY_KEY }} + run: | + { + echo 'NOTARYOUT<> $GITHUB_OUTPUT + if: ${{ needs.check-secret.outputs.sign-state == 'exists' }} + shell: bash + + - name: Get notary info (MacOS_latest) + id: get-notary-info + run: | + echo "notary info is ${{ steps.post-notary.outputs.NOTARYOUT }}." + if: ${{ needs.check-secret.outputs.sign-state == 'exists' }} + shell: bash + + - name: Staple dmg (MacOS_latest) + id: staple-dmg + env: + KEYCHAIN_PASSWD: ${{ secrets.KEYCHAIN_PASSWD }} + KEYCHAIN_NAME: ${{ vars.KEYCHAIN_NAME }} + SIGNER: ${{ vars.SIGNER }} + NOTARY_USER: ${{ vars.NOTARY_USER }} + NOTARY_KEY: ${{ vars.NOTARY_KEY }} + run: | + /usr/bin/xcrun stapler staple ${{ runner.workspace }}/hdf5_plugins/build/${{ inputs.preset_name }}-macos-Clang/*.dmg + if: ${{ needs.check-secret.outputs.sign-state == 'exists' }} + shell: bash + continue-on-error: true + + - name: Publish binary (MacOS_latest) id: publish-ctest-binary run: | mkdir "${{ runner.workspace }}/build" mkdir "${{ runner.workspace }}/build/hdf5_plugins" cp ${{ runner.workspace }}/hdf5_plugins/${{ steps.set-file-base.outputs.SOURCE_BASE }}/COPYING ${{ runner.workspace }}/build/hdf5_plugins - cp ${{ runner.workspace }}/hdf5_plugins/build/${{ inputs.preset_name }}-Clang/README.txt ${{ runner.workspace }}/build/hdf5_plugins - cp ${{ runner.workspace }}/hdf5_plugins/build/${{ inputs.preset_name }}-Clang/*.tar.gz ${{ runner.workspace }}/build/hdf5_plugins + cp ${{ runner.workspace }}/hdf5_plugins/build/${{ inputs.preset_name }}-macos-Clang/README.txt ${{ runner.workspace }}/build/hdf5_plugins + cp ${{ runner.workspace }}/hdf5_plugins/build/${{ inputs.preset_name }}-macos-Clang/*.tar.gz ${{ runner.workspace }}/build/hdf5_plugins cd "${{ runner.workspace }}/build" - tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-osx.tar.gz hdf5_plugins + tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-macos14_clang.tar.gz hdf5_plugins shell: bash - - name: List files in the space (MacOS) + - name: Publish dmg binary (MacOS_latest) + id: publish-ctest-dmg-binary + run: | + mkdir "${{ runner.workspace }}/builddmg" + cp ${{ runner.workspace }}/hdf5_plugins/build/${{ inputs.preset_name }}-macos-Clang/*.dmg ${{ runner.workspace }}/builddmg/${{ steps.set-file-base.outputs.FILE_BASE }}-macos14_clang.dmg + shell: bash + + - name: List files in the space (MacOS_latest) run: | ls ${{ github.workspace }} ls -l ${{ runner.workspace }} # Save files created by ctest script - - name: Save published binary (MacOS) + - name: Save published binary (MacOS_latest) + uses: actions/upload-artifact@v4 + with: + name: tgz-macos14_clang-binary + path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-macos14_clang.tar.gz + if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` + + - name: Save published dmg binary (MacOS_latest) uses: actions/upload-artifact@v4 with: - name: tgz-osx-binary - path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-osx.tar.gz + name: tgz-macos14_clang-dmg-binary + path: ${{ runner.workspace }}/builddmg/${{ steps.set-file-base.outputs.FILE_BASE }}-macos14_clang.dmg if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` diff --git a/.github/workflows/daily-build.yml b/.github/workflows/daily-build.yml index 6cede2dd..4aa30427 100644 --- a/.github/workflows/daily-build.yml +++ b/.github/workflows/daily-build.yml @@ -1,5 +1,6 @@ name: hdf5 plugins daily build +# Triggers the workflow on a pull request or on demand on: workflow_dispatch: inputs: @@ -14,8 +15,6 @@ on: permissions: contents: read -# A workflow run is made up of one or more jobs that can run sequentially or -# in parallel. jobs: get-old-names: runs-on: ubuntu-latest @@ -25,7 +24,7 @@ jobs: run-ignore: ${{ steps.getinputs.outputs.INPUTS_IGNORE }} steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4.1.7 - name: Get hdf5 release base name uses: dsaltares/fetch-gh-release-asset@master @@ -76,6 +75,16 @@ jobs: use_hdf: ${{ needs.get-old-names.outputs.hdf5-name }} # use_tag: snapshot-1.14 use_environ: snapshots + secrets: + APPLE_CERTS_BASE64: ${{ secrets.APPLE_CERTS_BASE64 }} + APPLE_CERTS_BASE64_PASSWD: ${{ secrets.APPLE_CERTS_BASE64_PASSWD }} + KEYCHAIN_PASSWD: ${{ secrets.KEYCHAIN_PASSWD }} + AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} + AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} + AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }} + AZURE_ENDPOINT: ${{ secrets.AZURE_ENDPOINT }} + AZURE_CODE_SIGNING_NAME: ${{ secrets.AZURE_CODE_SIGNING_NAME }} + AZURE_CERT_PROFILE_NAME: ${{ secrets.AZURE_CERT_PROFILE_NAME }} if: ${{ ((needs.call-workflow-tarball.outputs.has_changes == 'true') || (needs.get-base-names.outputs.run-ignore == 'ignore')) }} call-workflow-release: diff --git a/.github/workflows/release-files.yml b/.github/workflows/release-files.yml index bcd47d28..6584082f 100644 --- a/.github/workflows/release-files.yml +++ b/.github/workflows/release-files.yml @@ -1,6 +1,6 @@ name: hdf5 plugins release-files -# Controls when the action will run. Triggers the workflow on a schedule +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: @@ -40,9 +40,10 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - name: Get Sources - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + uses: actions/checkout@9a9194f87191a7e9055e3e9b95b8cfb13023bb08 # v4.1.7 with: fetch-depth: 0 + ref: '${{ github.head_ref || github.ref_name }}' - name: Get Commit if: ${{ (inputs.use_environ == 'snapshots') }} @@ -77,43 +78,71 @@ jobs: # Get files created by tarball script - name: Get tgz-tarball (Linux) - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: name: tgz-tarball path: ${{ github.workspace }} - name: Get zip-tarball (Windows) - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: name: zip-tarball path: ${{ github.workspace }} # Get files created by cmake-ctest script - name: Get published binary (Windows) - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: name: zip-vs2022_cl-binary path: ${{ github.workspace }} + - name: Get published msi binary (Windows) + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: msi-vs2022_cl-binary + path: ${{ github.workspace }} + - name: Get published binary (MacOS) - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: tgz-macos14_clang-binary + path: ${{ github.workspace }} + + - name: Get published dmg binary (MacOS) + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: - name: tgz-osx-binary + name: tgz-macos14_clang-dmg-binary path: ${{ github.workspace }} - name: Get published binary (Linux) - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: name: tgz-ubuntu-2204_gcc-binary path: ${{ github.workspace }} + - name: Get published deb binary (Linux) + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: deb-ubuntu-2204_gcc-binary + path: ${{ github.workspace }} + + - name: Get published rpm binary (Linux) + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 + with: + name: rpm-ubuntu-2204_gcc-binary + path: ${{ github.workspace }} + - name: Create sha256 sums for files run: | sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}.zip >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt - sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-osx.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-macos14_clang.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-macos14_clang.dmg >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.deb >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.rpm >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_cl.msi >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt - name: Store snapshot name run: | @@ -122,7 +151,7 @@ jobs: - name: PreRelease tag id: create_prerelease if: ${{ (inputs.use_environ == 'snapshots') }} - uses: softprops/action-gh-release@9d7c94cfd0a1f3ed45544c887983e9fa900f0564 # v2.0.4 + uses: softprops/action-gh-release@c062e08bd532815e2082a85e87e3ef29c3e6d191 # v2.0.8 with: tag_name: "${{ inputs.use_tag }}" prerelease: true @@ -130,25 +159,33 @@ jobs: last-file.txt ${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}.zip - ${{ steps.get-file-base.outputs.FILE_BASE }}-osx.tar.gz + ${{ steps.get-file-base.outputs.FILE_BASE }}-macos14_clang.tar.gz + ${{ steps.get-file-base.outputs.FILE_BASE }}-macos14_clang.dmg ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz + ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.deb + ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.rpm ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip + ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_cl.msi ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` - name: Release tag id: create_release if: ${{ (inputs.use_environ == 'release') }} - uses: softprops/action-gh-release@9d7c94cfd0a1f3ed45544c887983e9fa900f0564 # v2.0.4 + uses: softprops/action-gh-release@c062e08bd532815e2082a85e87e3ef29c3e6d191 # v2.0.8 with: tag_name: "${{ inputs.use_tag }}" prerelease: false 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 }}-osx.tar.gz + ${{ steps.get-file-base.outputs.FILE_BASE }}-macos14_clang.tar.gz + ${{ steps.get-file-base.outputs.FILE_BASE }}-macos14_clang.dmg ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz + ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.deb + ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.rpm ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip + ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_cl.msi ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d47ff69c..e0fd72eb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,5 +1,6 @@ name: hdf5 plugins release build +# Triggers the workflow on demand on: workflow_dispatch: inputs: @@ -17,8 +18,6 @@ on: permissions: contents: read -# A workflow run is made up of one or more jobs that can run sequentially or -# in parallel. jobs: log-the-inputs: runs-on: ubuntu-latest @@ -51,6 +50,16 @@ jobs: use_hdf: ${{ needs.log-the-inputs.outputs.hdf_tag }} snap_name: hdf5_plugins-${{ needs.call-workflow-tarball.outputs.source_base }} use_environ: release + secrets: + APPLE_CERTS_BASE64: ${{ secrets.APPLE_CERTS_BASE64 }} + APPLE_CERTS_BASE64_PASSWD: ${{ secrets.APPLE_CERTS_BASE64_PASSWD }} + KEYCHAIN_PASSWD: ${{ secrets.KEYCHAIN_PASSWD }} + AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} + AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} + AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }} + AZURE_ENDPOINT: ${{ secrets.AZURE_ENDPOINT }} + AZURE_CODE_SIGNING_NAME: ${{ secrets.AZURE_CODE_SIGNING_NAME }} + AZURE_CERT_PROFILE_NAME: ${{ secrets.AZURE_CERT_PROFILE_NAME }} call-workflow-release: needs: [log-the-inputs, call-workflow-tarball, call-workflow-ctest] diff --git a/.github/workflows/remove-files.yml b/.github/workflows/remove-files.yml index ecc85156..a3a7ec5e 100644 --- a/.github/workflows/remove-files.yml +++ b/.github/workflows/remove-files.yml @@ -1,6 +1,6 @@ name: hdf5 plugins remove-files -# Controls when the action will run. Triggers the workflow on a schedule +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: @@ -47,8 +47,12 @@ jobs: assets: | ${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}.zip - ${{ steps.get-file-base.outputs.FILE_BASE }}-osx.tar.gz + ${{ steps.get-file-base.outputs.FILE_BASE }}-macos14_clang.tar.gz + ${{ steps.get-file-base.outputs.FILE_BASE }}-macos14_clang.dmg ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz + ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.deb + ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.rpm ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip + ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_cl.msi ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt \ No newline at end of file diff --git a/.github/workflows/tarball.yml b/.github/workflows/tarball.yml index f713d27f..07e6ef17 100644 --- a/.github/workflows/tarball.yml +++ b/.github/workflows/tarball.yml @@ -1,6 +1,6 @@ name: hdf5 plugins tarball -# Controls when the action will run. Triggers the workflow on a schedule +# Triggers the workflow on a call from another workflow on: workflow_call: inputs: @@ -34,8 +34,6 @@ on: permissions: contents: read -# A workflow run is made up of one or more jobs that can run sequentially or -# in parallel jobs: check_commits: name: Check for recent commits @@ -87,9 +85,10 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - name: Get Sources - uses: actions/checkout@v4.1.1 + uses: actions/checkout@v4.1.7 with: path: hdfsrc + ref: '${{needs.check_commits.outputs.branch_ref }}' - name: Retrieve version id: version diff --git a/BLOSC/config/cmake/H5BLOSCMacros.cmake b/BLOSC/config/cmake/H5BLOSCMacros.cmake index 9e22bdb8..8accebfc 100644 --- a/BLOSC/config/cmake/H5BLOSCMacros.cmake +++ b/BLOSC/config/cmake/H5BLOSCMacros.cmake @@ -24,22 +24,19 @@ macro (EXTERNAL_BLOSC_LIBRARY compress_type) URL_HASH "" ) endif () - FetchContent_GetProperties(BLOSC) - if(NOT blosc_POPULATED) - FetchContent_Populate(BLOSC) - set (BUILD_SHARED OFF CACHE BOOL "" FORCE) - set (BUILD_TESTS OFF CACHE BOOL "" FORCE) - set (BUILD_FUZZERS OFF CACHE BOOL "" FORCE) - set (BUILD_BENCHMARKS OFF CACHE BOOL "" FORCE) - set (PREFER_EXTERNAL_SNAPPY OFF CACHE BOOL "" FORCE) - set (PREFER_EXTERNAL_ZLIB OFF CACHE BOOL "" FORCE) - set (PREFER_EXTERNAL_ZSTD OFF CACHE BOOL "" FORCE) - set (DEACTIVATE_SNAPPY ON CACHE BOOL "" FORCE) - set (BLOSC_IS_SUBPROJECT ON CACHE BOOL "" FORCE) - set (BLOSC_INSTALL OFF CACHE BOOL "" FORCE) - add_subdirectory(${blosc_SOURCE_DIR} ${blosc_BINARY_DIR}) - endif() + set (BUILD_SHARED OFF CACHE BOOL "" FORCE) + set (BUILD_TESTS OFF CACHE BOOL "" FORCE) + set (BUILD_FUZZERS OFF CACHE BOOL "" FORCE) + set (BUILD_BENCHMARKS OFF CACHE BOOL "" FORCE) + set (PREFER_EXTERNAL_SNAPPY OFF CACHE BOOL "" FORCE) + set (PREFER_EXTERNAL_ZLIB OFF CACHE BOOL "" FORCE) + set (PREFER_EXTERNAL_ZSTD OFF CACHE BOOL "" FORCE) + set (DEACTIVATE_SNAPPY ON CACHE BOOL "" FORCE) + set (BLOSC_IS_SUBPROJECT ON CACHE BOOL "" FORCE) + set (BLOSC_INSTALL OFF CACHE BOOL "" FORCE) + + FetchContent_MakeAvailable(BLOSC) ##include (${BINARY_DIR}/${BLOSC_PACKAGE_NAME}${H5BLOSC_PACKAGE_EXT}-targets.cmake) set (BLOSC_STATIC_LIBRARY "blosc_static") @@ -69,23 +66,20 @@ macro (EXTERNAL_BLOSC_ZLIB_LIBRARY compress_type) FetchContent_Declare (BLOSC_ZLIB GIT_REPOSITORY ${BLOSC_ZLIB_URL} GIT_TAG ${BLOSC_ZLIB_BRANCH} + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + ${H5BLOSC_SOURCE_DIR}/config/zlib-CMakeLists.txt + /CMakeLists.txt ) elseif (${compress_type} MATCHES "TGZ") FetchContent_Declare (BLOSC_ZLIB URL ${BLOSC_ZLIB_URL} URL_HASH "" + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + ${H5BLOSC_SOURCE_DIR}/config/zlib-CMakeLists.txt + /CMakeLists.txt ) endif () - FetchContent_GetProperties(BLOSC_ZLIB) - if(NOT blosc_zlib_POPULATED) - FetchContent_Populate(BLOSC_ZLIB) - - # Copy an additional/replacement files into the populated source - file(COPY ${H5BLOSC_SOURCE_DIR}/config/zlib-CMakeLists.txt DESTINATION ${blosc_zlib_SOURCE_DIR}) - file(RENAME ${blosc_zlib_SOURCE_DIR}/zlib-CMakeLists.txt ${blosc_zlib_SOURCE_DIR}/CMakeLists.txt) - - add_subdirectory(${blosc_zlib_SOURCE_DIR} ${blosc_zlib_BINARY_DIR}) - endif() + FetchContent_MakeAvailable(BLOSC_ZLIB) set (BLOSC_ZLIB_STATIC_LIBRARY "zlibstat") set (BLOSC_ZLIB_LIBRARY ${BLOSC_ZLIB_STATIC_LIBRARY}) diff --git a/BLOSC/config/cmake/HDFMacros.cmake b/BLOSC/config/cmake/HDFMacros.cmake index ec2113ad..d3b65099 100644 --- a/BLOSC/config/cmake/HDFMacros.cmake +++ b/BLOSC/config/cmake/HDFMacros.cmake @@ -301,6 +301,7 @@ macro (PLUGIN_README_PROPERTIES pkg_name) if (WIN32) set (BINARY_EXAMPLE_ENDING "zip") set (BINARY_INSTALL_ENDING "msi") + set (BINARY_COMPRESS_ENDING "zip") if (CMAKE_CL_64) set (BINARY_SYSTEM_NAME "win64") else () @@ -343,8 +344,10 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () - set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ????") endif () else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ${CMAKE_C_COMPILER_VERSION}") @@ -352,12 +355,14 @@ macro (PLUGIN_README_PROPERTIES pkg_name) endif () elseif (APPLE) set (BINARY_EXAMPLE_ENDING "tar.gz") + set (BINARY_COMPRESS_ENDING "tar.gz") set (BINARY_INSTALL_ENDING "sh") # if packaging changes - use dmg set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") else () set (BINARY_EXAMPLE_ENDING "tar.gz") - set (BINARY_INSTALL_ENDING "sh") + set (BINARY_COMPRESS_ENDING "tar.gz") + set (BINARY_INSTALL_ENDING "sh/deb/rpm") set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") endif () diff --git a/BLOSC/config/cmake/HDFPluginMacros.cmake b/BLOSC/config/cmake/HDFPluginMacros.cmake index b33268e1..aba24d7f 100644 --- a/BLOSC/config/cmake/HDFPluginMacros.cmake +++ b/BLOSC/config/cmake/HDFPluginMacros.cmake @@ -150,10 +150,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -161,10 +161,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () @@ -260,6 +260,13 @@ macro (HDF5_SUPPORT link_hdf) set (H5PL_HDF5_REPACK_EXECUTABLE $) endif() endif () + # Determine if a threading package is available on this system + if (HDF5_ENABLE_THREADS) + find_package (Threads) + if (NOT Threads_FOUND) + message (FATAL_ERROR " **** thread support requires C11 threads, Win32 threads or Pthreads **** ") + endif () + endif () else () find_package (HDF5) # Legacy find #Legacy find_package does not set HDF5_TOOLS_DIR, so we set it here @@ -421,6 +428,11 @@ macro (INSTALL_SUPPORT varname) set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}/${CPACK_PACKAGE_NAME}/${CPACK_PACKAGE_VERSION}") endif () + set (CPACK_ORIG_SOURCE_DIR ${CMAKE_SOURCE_DIR}) + if ("$ENV{BINSIGN}" STREQUAL "exists") + set (CPACK_PRE_BUILD_SCRIPTS ${CMAKE_SOURCE_DIR}/config/cmake/SignPackageFiles.cmake) + endif () + set (CPACK_GENERATOR "TGZ") if (WIN32) set (CPACK_GENERATOR "ZIP") @@ -503,13 +515,45 @@ macro (INSTALL_SUPPORT varname) set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${${PLUGIN_PACKAGE_NAME}_PACKAGE_BUGREPORT}") - -# list (APPEND CPACK_GENERATOR "RPM") - set (CPACK_RPM_PACKAGE_RELEASE "1") - set (CPACK_RPM_COMPONENT_INSTALL ON) - set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + + find_program (DPKGSHLIB_EXE dpkg-shlibdeps) + if (DPKGSHLIB_EXE) + list (APPEND CPACK_GENERATOR "DEB") + set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") + set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${H5PL_PACKAGE_BUGREPORT}") + endif () + + find_program (RPMBUILD_EXE rpmbuild) + if (RPMBUILD_EXE) + list (APPEND CPACK_GENERATOR "RPM") + set (CPACK_RPM_PACKAGE_RELEASE "1") + set (CPACK_RPM_PACKAGE_RELEASE_DIST ON) + set (CPACK_RPM_COMPONENT_INSTALL ON) + set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + set (CPACK_RPM_FILE_NAME "RPM-DEFAULT") + set (CPACK_RPM_PACKAGE_NAME "${CPACK_PACKAGE_NAME}") + set (CPACK_RPM_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}") + set (CPACK_RPM_PACKAGE_VENDOR "${CPACK_PACKAGE_VENDOR}") + set (CPACK_RPM_PACKAGE_LICENSE "BSD-style") + set (CPACK_RPM_PACKAGE_GROUP "Development/Libraries") + set (CPACK_RPM_PACKAGE_URL "${H5PL_PACKAGE_URL}") + set (CPACK_RPM_PACKAGE_SUMMARY "HDF5 Plugins are a suite of filters supporting registered compression libraries.") + set (CPACK_RPM_PACKAGE_DESCRIPTION + "The HDF5 technology suite includes: + + * A versatile data model that can represent very complex data objects and a wide variety of metadata. + + * A completely portable file format with no limit on the number or size of data objects in the collection. + + * A software library that runs on a range of computational platforms, from laptops to massively parallel systems, and implements a high-level API with C, C++, Fortran 90, and Java interfaces. + + * A rich set of integrated performance features that allow for access time and storage space optimizations. + +The HDF5 data model, file format, API, library, and tools are open and distributed without charge. +" + ) + endif () endif () - set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${${PLUGIN_PACKAGE_NAME}_BINARY_DIR};${PLUGIN_NAME};ALL;/") set (CPACK_ALL_INSTALL_TYPES Full User) set (CPACK_INSTALL_TYPE_FULL_DISPLAY_NAME "Everything") diff --git a/BLOSC/config/cmake/SignPackageFiles.cmake b/BLOSC/config/cmake/SignPackageFiles.cmake new file mode 100644 index 00000000..b23a0a05 --- /dev/null +++ b/BLOSC/config/cmake/SignPackageFiles.cmake @@ -0,0 +1,41 @@ +# This script signs the targets for the package +message(STATUS "Signing script in ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY}") + +# RPM needs ALL_COMPONENTS_IN_ONE added to path between ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY} +if (CPACK_GENERATOR MATCHES "RPM") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_COMPONENTS_IN_ONE/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +elseif (CPACK_GENERATOR MATCHES "WIX" OR CPACK_GENERATOR MATCHES "NSIS") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/libraries") +elseif (CPACK_GENERATOR MATCHES "ZIP") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}") +else () + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +endif () +file (GLOB target_list LIST_DIRECTORIES false "${CPACK_TARGET_FILE_DIRECTORY}/lib/plugin/*.*") +foreach (targetfile IN LISTS target_list) + if (WIN32) + # Sign the targets + execute_process (COMMAND $ENV{SIGNTOOLDIR}/signtool + sign /v /debug /fd SHA256 /tr http://timestamp.acs.microsoft.com /td SHA256 + /dlib "Microsoft.Trusted.Signing.Client/bin/x64/Azure.CodeSigning.Dlib.dll" /dmdf ${CPACK_ORIG_SOURCE_DIR}/credentials.json + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + elseif (APPLE) + # Sign the targets + execute_process (COMMAND codesign + --force --timestamp --options runtime --entitlements ${CPACK_ORIG_SOURCE_DIR}/config/cmake/distribution.entitlements + --verbose=4 --strict --sign "$ENV{SIGNER}" + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + else () + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + endif () +endforeach () diff --git a/BLOSC/config/cmake/binex/config/cmake/HDFMacros.cmake b/BLOSC/config/cmake/binex/config/cmake/HDFMacros.cmake index ec2113ad..09db2daf 100644 --- a/BLOSC/config/cmake/binex/config/cmake/HDFMacros.cmake +++ b/BLOSC/config/cmake/binex/config/cmake/HDFMacros.cmake @@ -343,6 +343,8 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") endif () diff --git a/BLOSC/config/cmake/binex/config/cmake/HDFPluginMacros.cmake b/BLOSC/config/cmake/binex/config/cmake/HDFPluginMacros.cmake index d2fdb5dd..9dfe4cef 100644 --- a/BLOSC/config/cmake/binex/config/cmake/HDFPluginMacros.cmake +++ b/BLOSC/config/cmake/binex/config/cmake/HDFPluginMacros.cmake @@ -97,10 +97,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -138,10 +138,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () diff --git a/BLOSC/config/cmake/distribution.entitlements b/BLOSC/config/cmake/distribution.entitlements new file mode 100644 index 00000000..0e0df6c7 --- /dev/null +++ b/BLOSC/config/cmake/distribution.entitlements @@ -0,0 +1,16 @@ + + + + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + com.apple.security.cs.disable-executable-page-protection + + com.apple.security.cs.disable-library-validation + + com.apple.security.cs.allow-dyld-environment-variables + + + diff --git a/BLOSC/config/toolchain/aarch64.cmake b/BLOSC/config/toolchain/aarch64.cmake index 69968336..d061949e 100644 --- a/BLOSC/config/toolchain/aarch64.cmake +++ b/BLOSC/config/toolchain/aarch64.cmake @@ -1,7 +1,7 @@ -set(TOOLCHAIN_PREFIX aarch64-linux-gnu) -set(ANDROID_NDK /opt/android-ndk-linux) -set (CMAKE_SYSTEM_NAME Android) -set (CMAKE_ANDROID_ARCH_ABI x86_64) +set (TOOLCHAIN_PREFIX aarch64-linux-gnu) +set (CMAKE_SYSTEM_NAME Linux) +set (CMAKE_SYSTEM_PROCESSOR aarch64) +#set (CMAKE_ANDROID_ARCH_ABI x86_64) #set (CMAKE_ANDROID_STANDALONE_TOOLCHAIN ${ANDROID_NDK}/build/cmake/android.toolchain.cmake) set (CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) set (CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) @@ -12,7 +12,7 @@ set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) -set (CMAKE_CROSSCOMPILING_EMULATOR qemu-aarch64) +set (CMAKE_CROSSCOMPILING_EMULATOR "qemu-aarch64-static;-L;/usr/aarch64-linux-gnu/" CACHE FILEPATH "Path to the emulator for the target system.") include_directories(/usr/${TOOLCHAIN_PREFIX}/include) diff --git a/BLOSC/src/CMakeLists.txt b/BLOSC/src/CMakeLists.txt index cb89225f..9f4e9e04 100644 --- a/BLOSC/src/CMakeLists.txt +++ b/BLOSC/src/CMakeLists.txt @@ -19,7 +19,7 @@ add_definitions (${HDF5_EXTRA_C_FLAGS}) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC OR (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX)) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU" OR (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU")) add_definitions ("-Wno-incompatible-pointer-types") endif () diff --git a/BLOSC2/config/cmake/H5BLOSC2Macros.cmake b/BLOSC2/config/cmake/H5BLOSC2Macros.cmake index 2265ac13..46608ae9 100644 --- a/BLOSC2/config/cmake/H5BLOSC2Macros.cmake +++ b/BLOSC2/config/cmake/H5BLOSC2Macros.cmake @@ -24,28 +24,25 @@ macro (EXTERNAL_BLOSC2_LIBRARY compress_type) URL_HASH "" ) endif () - FetchContent_GetProperties(BLOSC2) - if(NOT blosc2_POPULATED) - FetchContent_Populate(BLOSC2) - set (BUILD_SHARED OFF CACHE BOOL "" FORCE) - set (BUILD_TESTS OFF CACHE BOOL "" FORCE) - set (BUILD_FUZZERS OFF CACHE BOOL "" FORCE) - set (BUILD_BENCHMARKS OFF CACHE BOOL "" FORCE) - # Store the old value of the 'BUILD_EXAMPLES' - set (BUILD_EXAMPLES_OLD ${BUILD_EXAMPLES}) - set (BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) - set (BUILD_PLUGINS OFF CACHE BOOL "" FORCE) - set (BLOSC_IS_SUBPROJECT ON CACHE BOOL "" FORCE) - set (BLOSC_INSTALL OFF CACHE BOOL "" FORCE) - add_subdirectory(${blosc2_SOURCE_DIR} ${blosc2_BINARY_DIR}) - if (WIN32 AND CMAKE_C_COMPILER_ID MATCHES "IntelLLVM") - target_compile_options(blosc2_static PRIVATE -Wno-implicit-function-declaration) - endif () + set (BUILD_SHARED OFF CACHE BOOL "" FORCE) + set (BUILD_TESTS OFF CACHE BOOL "" FORCE) + set (BUILD_FUZZERS OFF CACHE BOOL "" FORCE) + set (BUILD_BENCHMARKS OFF CACHE BOOL "" FORCE) + # Store the old value of the 'BUILD_EXAMPLES' + set (BUILD_EXAMPLES_OLD ${BUILD_EXAMPLES}) + set (BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) + set (BUILD_PLUGINS OFF CACHE BOOL "" FORCE) + set (BLOSC_IS_SUBPROJECT ON CACHE BOOL "" FORCE) + set (BLOSC_INSTALL OFF CACHE BOOL "" FORCE) - # Restore the old value of the parameter - set (BUILD_EXAMPLES ${BUILD_EXAMPLES_OLD} CACHE BOOL "Build EXAMPLES" FORCE) - endif() + FetchContent_MakeAvailable(BLOSC2) + if (WIN32 AND CMAKE_C_COMPILER_ID MATCHES "IntelLLVM") + target_compile_options(blosc2_static PRIVATE -Wno-implicit-function-declaration) + endif () + + # Restore the old value of the parameter + set (BUILD_EXAMPLES ${BUILD_EXAMPLES_OLD} CACHE BOOL "Build EXAMPLES" FORCE) ##include (${BINARY_DIR}/${BLOSC2_PACKAGE_NAME}${H5BLOSC2_PACKAGE_EXT}-targets.cmake) set (BLOSC2_STATIC_LIBRARY "blosc2_static") diff --git a/BLOSC2/config/cmake/HDFMacros.cmake b/BLOSC2/config/cmake/HDFMacros.cmake index ec2113ad..d3b65099 100644 --- a/BLOSC2/config/cmake/HDFMacros.cmake +++ b/BLOSC2/config/cmake/HDFMacros.cmake @@ -301,6 +301,7 @@ macro (PLUGIN_README_PROPERTIES pkg_name) if (WIN32) set (BINARY_EXAMPLE_ENDING "zip") set (BINARY_INSTALL_ENDING "msi") + set (BINARY_COMPRESS_ENDING "zip") if (CMAKE_CL_64) set (BINARY_SYSTEM_NAME "win64") else () @@ -343,8 +344,10 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () - set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ????") endif () else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ${CMAKE_C_COMPILER_VERSION}") @@ -352,12 +355,14 @@ macro (PLUGIN_README_PROPERTIES pkg_name) endif () elseif (APPLE) set (BINARY_EXAMPLE_ENDING "tar.gz") + set (BINARY_COMPRESS_ENDING "tar.gz") set (BINARY_INSTALL_ENDING "sh") # if packaging changes - use dmg set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") else () set (BINARY_EXAMPLE_ENDING "tar.gz") - set (BINARY_INSTALL_ENDING "sh") + set (BINARY_COMPRESS_ENDING "tar.gz") + set (BINARY_INSTALL_ENDING "sh/deb/rpm") set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") endif () diff --git a/BLOSC2/config/cmake/HDFPluginMacros.cmake b/BLOSC2/config/cmake/HDFPluginMacros.cmake index b33268e1..aba24d7f 100644 --- a/BLOSC2/config/cmake/HDFPluginMacros.cmake +++ b/BLOSC2/config/cmake/HDFPluginMacros.cmake @@ -150,10 +150,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -161,10 +161,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () @@ -260,6 +260,13 @@ macro (HDF5_SUPPORT link_hdf) set (H5PL_HDF5_REPACK_EXECUTABLE $) endif() endif () + # Determine if a threading package is available on this system + if (HDF5_ENABLE_THREADS) + find_package (Threads) + if (NOT Threads_FOUND) + message (FATAL_ERROR " **** thread support requires C11 threads, Win32 threads or Pthreads **** ") + endif () + endif () else () find_package (HDF5) # Legacy find #Legacy find_package does not set HDF5_TOOLS_DIR, so we set it here @@ -421,6 +428,11 @@ macro (INSTALL_SUPPORT varname) set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}/${CPACK_PACKAGE_NAME}/${CPACK_PACKAGE_VERSION}") endif () + set (CPACK_ORIG_SOURCE_DIR ${CMAKE_SOURCE_DIR}) + if ("$ENV{BINSIGN}" STREQUAL "exists") + set (CPACK_PRE_BUILD_SCRIPTS ${CMAKE_SOURCE_DIR}/config/cmake/SignPackageFiles.cmake) + endif () + set (CPACK_GENERATOR "TGZ") if (WIN32) set (CPACK_GENERATOR "ZIP") @@ -503,13 +515,45 @@ macro (INSTALL_SUPPORT varname) set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${${PLUGIN_PACKAGE_NAME}_PACKAGE_BUGREPORT}") - -# list (APPEND CPACK_GENERATOR "RPM") - set (CPACK_RPM_PACKAGE_RELEASE "1") - set (CPACK_RPM_COMPONENT_INSTALL ON) - set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + + find_program (DPKGSHLIB_EXE dpkg-shlibdeps) + if (DPKGSHLIB_EXE) + list (APPEND CPACK_GENERATOR "DEB") + set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") + set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${H5PL_PACKAGE_BUGREPORT}") + endif () + + find_program (RPMBUILD_EXE rpmbuild) + if (RPMBUILD_EXE) + list (APPEND CPACK_GENERATOR "RPM") + set (CPACK_RPM_PACKAGE_RELEASE "1") + set (CPACK_RPM_PACKAGE_RELEASE_DIST ON) + set (CPACK_RPM_COMPONENT_INSTALL ON) + set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + set (CPACK_RPM_FILE_NAME "RPM-DEFAULT") + set (CPACK_RPM_PACKAGE_NAME "${CPACK_PACKAGE_NAME}") + set (CPACK_RPM_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}") + set (CPACK_RPM_PACKAGE_VENDOR "${CPACK_PACKAGE_VENDOR}") + set (CPACK_RPM_PACKAGE_LICENSE "BSD-style") + set (CPACK_RPM_PACKAGE_GROUP "Development/Libraries") + set (CPACK_RPM_PACKAGE_URL "${H5PL_PACKAGE_URL}") + set (CPACK_RPM_PACKAGE_SUMMARY "HDF5 Plugins are a suite of filters supporting registered compression libraries.") + set (CPACK_RPM_PACKAGE_DESCRIPTION + "The HDF5 technology suite includes: + + * A versatile data model that can represent very complex data objects and a wide variety of metadata. + + * A completely portable file format with no limit on the number or size of data objects in the collection. + + * A software library that runs on a range of computational platforms, from laptops to massively parallel systems, and implements a high-level API with C, C++, Fortran 90, and Java interfaces. + + * A rich set of integrated performance features that allow for access time and storage space optimizations. + +The HDF5 data model, file format, API, library, and tools are open and distributed without charge. +" + ) + endif () endif () - set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${${PLUGIN_PACKAGE_NAME}_BINARY_DIR};${PLUGIN_NAME};ALL;/") set (CPACK_ALL_INSTALL_TYPES Full User) set (CPACK_INSTALL_TYPE_FULL_DISPLAY_NAME "Everything") diff --git a/BLOSC2/config/cmake/SignPackageFiles.cmake b/BLOSC2/config/cmake/SignPackageFiles.cmake new file mode 100644 index 00000000..b23a0a05 --- /dev/null +++ b/BLOSC2/config/cmake/SignPackageFiles.cmake @@ -0,0 +1,41 @@ +# This script signs the targets for the package +message(STATUS "Signing script in ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY}") + +# RPM needs ALL_COMPONENTS_IN_ONE added to path between ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY} +if (CPACK_GENERATOR MATCHES "RPM") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_COMPONENTS_IN_ONE/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +elseif (CPACK_GENERATOR MATCHES "WIX" OR CPACK_GENERATOR MATCHES "NSIS") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/libraries") +elseif (CPACK_GENERATOR MATCHES "ZIP") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}") +else () + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +endif () +file (GLOB target_list LIST_DIRECTORIES false "${CPACK_TARGET_FILE_DIRECTORY}/lib/plugin/*.*") +foreach (targetfile IN LISTS target_list) + if (WIN32) + # Sign the targets + execute_process (COMMAND $ENV{SIGNTOOLDIR}/signtool + sign /v /debug /fd SHA256 /tr http://timestamp.acs.microsoft.com /td SHA256 + /dlib "Microsoft.Trusted.Signing.Client/bin/x64/Azure.CodeSigning.Dlib.dll" /dmdf ${CPACK_ORIG_SOURCE_DIR}/credentials.json + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + elseif (APPLE) + # Sign the targets + execute_process (COMMAND codesign + --force --timestamp --options runtime --entitlements ${CPACK_ORIG_SOURCE_DIR}/config/cmake/distribution.entitlements + --verbose=4 --strict --sign "$ENV{SIGNER}" + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + else () + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + endif () +endforeach () diff --git a/BLOSC2/config/cmake/binex/config/cmake/HDFMacros.cmake b/BLOSC2/config/cmake/binex/config/cmake/HDFMacros.cmake index ec2113ad..09db2daf 100644 --- a/BLOSC2/config/cmake/binex/config/cmake/HDFMacros.cmake +++ b/BLOSC2/config/cmake/binex/config/cmake/HDFMacros.cmake @@ -343,6 +343,8 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") endif () diff --git a/BLOSC2/config/cmake/binex/config/cmake/HDFPluginMacros.cmake b/BLOSC2/config/cmake/binex/config/cmake/HDFPluginMacros.cmake index d2fdb5dd..9dfe4cef 100644 --- a/BLOSC2/config/cmake/binex/config/cmake/HDFPluginMacros.cmake +++ b/BLOSC2/config/cmake/binex/config/cmake/HDFPluginMacros.cmake @@ -97,10 +97,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -138,10 +138,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () diff --git a/BLOSC2/config/cmake/distribution.entitlements b/BLOSC2/config/cmake/distribution.entitlements new file mode 100644 index 00000000..0e0df6c7 --- /dev/null +++ b/BLOSC2/config/cmake/distribution.entitlements @@ -0,0 +1,16 @@ + + + + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + com.apple.security.cs.disable-executable-page-protection + + com.apple.security.cs.disable-library-validation + + com.apple.security.cs.allow-dyld-environment-variables + + + diff --git a/BLOSC2/config/toolchain/aarch64.cmake b/BLOSC2/config/toolchain/aarch64.cmake index 69968336..d061949e 100644 --- a/BLOSC2/config/toolchain/aarch64.cmake +++ b/BLOSC2/config/toolchain/aarch64.cmake @@ -1,7 +1,7 @@ -set(TOOLCHAIN_PREFIX aarch64-linux-gnu) -set(ANDROID_NDK /opt/android-ndk-linux) -set (CMAKE_SYSTEM_NAME Android) -set (CMAKE_ANDROID_ARCH_ABI x86_64) +set (TOOLCHAIN_PREFIX aarch64-linux-gnu) +set (CMAKE_SYSTEM_NAME Linux) +set (CMAKE_SYSTEM_PROCESSOR aarch64) +#set (CMAKE_ANDROID_ARCH_ABI x86_64) #set (CMAKE_ANDROID_STANDALONE_TOOLCHAIN ${ANDROID_NDK}/build/cmake/android.toolchain.cmake) set (CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) set (CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) @@ -12,7 +12,7 @@ set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) -set (CMAKE_CROSSCOMPILING_EMULATOR qemu-aarch64) +set (CMAKE_CROSSCOMPILING_EMULATOR "qemu-aarch64-static;-L;/usr/aarch64-linux-gnu/" CACHE FILEPATH "Path to the emulator for the target system.") include_directories(/usr/${TOOLCHAIN_PREFIX}/include) diff --git a/BSHUF/CMakeLists.txt b/BSHUF/CMakeLists.txt index cb874ec1..c080d0ec 100644 --- a/BSHUF/CMakeLists.txt +++ b/BSHUF/CMakeLists.txt @@ -84,7 +84,6 @@ message (STATUS "H5BSHUF link libs: ${H5PL_LINK_LIBS}") configure_file (${H5BSHUF_RESOURCES_DIR}/config.h.in ${H5BSHUF_BINARY_DIR}/bshuf_config.h @ONLY) include (ExternalProject) -option (H5PL_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO GIT TGZ)" "NO") set (H5PL_ALLOW_EXTERNAL_SUPPORT "NO" CACHE STRING "Allow External Library Building (NO GIT TGZ)") set_property (CACHE H5PL_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT TGZ) diff --git a/BSHUF/config/cmake/H5BSHUFMacros.cmake b/BSHUF/config/cmake/H5BSHUFMacros.cmake index aafa78f5..e0391dc5 100644 --- a/BSHUF/config/cmake/H5BSHUFMacros.cmake +++ b/BSHUF/config/cmake/H5BSHUFMacros.cmake @@ -24,26 +24,22 @@ macro (EXTERNAL_BSHUF_LIBRARY compress_type) URL_HASH "" ) endif () - FetchContent_GetProperties(BSHUF) - if(NOT bshuf_POPULATED) - FetchContent_Populate(BSHUF) - # Store the old value of the 'BUILD_SHARED_LIBS' - set (BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) - # Make subproject to use 'BUILD_SHARED_LIBS=OFF' setting. - set (BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries" FORCE) - # Store the old value of the 'H5PL_BUILD_TESTING' - set (H5PL_BUILD_TESTING_OLD ${H5PL_BUILD_TESTING}) - # Make subproject to use 'H5PL_BUILD_TESTING=OFF' setting. - set (H5PL_BUILD_TESTING OFF CACHE INTERNAL "Build Unit Testing" FORCE) + # Store the old value of the 'BUILD_SHARED_LIBS' + set (BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) + # Make subproject to use 'BUILD_SHARED_LIBS=OFF' setting. + set (BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries" FORCE) + # Store the old value of the 'H5PL_BUILD_TESTING' + set (H5PL_BUILD_TESTING_OLD ${H5PL_BUILD_TESTING}) + # Make subproject to use 'H5PL_BUILD_TESTING=OFF' setting. + set (H5PL_BUILD_TESTING OFF CACHE INTERNAL "Build Unit Testing" FORCE) - add_subdirectory(${bshuf_SOURCE_DIR} ${bshuf_BINARY_DIR}) + FetchContent_MakeAvailable(BSHUF) - # Restore the old value of the parameter - set (H5PL_BUILD_TESTING ${H5PL_BUILD_TESTING_OLD} CACHE BOOL "Build Unit Testing" FORCE) - # Restore the old value of the parameter - set (BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Type of libraries to build" FORCE) - endif() + # Restore the old value of the parameter + set (H5PL_BUILD_TESTING ${H5PL_BUILD_TESTING_OLD} CACHE BOOL "Build Unit Testing" FORCE) + # Restore the old value of the parameter + set (BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Type of libraries to build" FORCE) # include (${BINARY_DIR}/BSHUF-targets.cmake) set (BSHUF_LIBRARY "bshuf") @@ -80,12 +76,7 @@ macro (EXTERNAL_LZ4_LIBRARY compress_type) URL_HASH "" ) endif () - FetchContent_GetProperties(LZ4) - if(NOT lz4_POPULATED) - FetchContent_Populate(LZ4) - - add_subdirectory(${lz4_SOURCE_DIR} ${lz4_BINARY_DIR}) - endif() + FetchContent_MakeAvailable(LZ4) # include (${BINARY_DIR}/LZ4-targets.cmake) set (LZ4_LIBRARY "lz4") diff --git a/BSHUF/config/cmake/HDFMacros.cmake b/BSHUF/config/cmake/HDFMacros.cmake index ec2113ad..d3b65099 100644 --- a/BSHUF/config/cmake/HDFMacros.cmake +++ b/BSHUF/config/cmake/HDFMacros.cmake @@ -301,6 +301,7 @@ macro (PLUGIN_README_PROPERTIES pkg_name) if (WIN32) set (BINARY_EXAMPLE_ENDING "zip") set (BINARY_INSTALL_ENDING "msi") + set (BINARY_COMPRESS_ENDING "zip") if (CMAKE_CL_64) set (BINARY_SYSTEM_NAME "win64") else () @@ -343,8 +344,10 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () - set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ????") endif () else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ${CMAKE_C_COMPILER_VERSION}") @@ -352,12 +355,14 @@ macro (PLUGIN_README_PROPERTIES pkg_name) endif () elseif (APPLE) set (BINARY_EXAMPLE_ENDING "tar.gz") + set (BINARY_COMPRESS_ENDING "tar.gz") set (BINARY_INSTALL_ENDING "sh") # if packaging changes - use dmg set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") else () set (BINARY_EXAMPLE_ENDING "tar.gz") - set (BINARY_INSTALL_ENDING "sh") + set (BINARY_COMPRESS_ENDING "tar.gz") + set (BINARY_INSTALL_ENDING "sh/deb/rpm") set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") endif () diff --git a/BSHUF/config/cmake/HDFPluginMacros.cmake b/BSHUF/config/cmake/HDFPluginMacros.cmake index b33268e1..aba24d7f 100644 --- a/BSHUF/config/cmake/HDFPluginMacros.cmake +++ b/BSHUF/config/cmake/HDFPluginMacros.cmake @@ -150,10 +150,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -161,10 +161,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () @@ -260,6 +260,13 @@ macro (HDF5_SUPPORT link_hdf) set (H5PL_HDF5_REPACK_EXECUTABLE $) endif() endif () + # Determine if a threading package is available on this system + if (HDF5_ENABLE_THREADS) + find_package (Threads) + if (NOT Threads_FOUND) + message (FATAL_ERROR " **** thread support requires C11 threads, Win32 threads or Pthreads **** ") + endif () + endif () else () find_package (HDF5) # Legacy find #Legacy find_package does not set HDF5_TOOLS_DIR, so we set it here @@ -421,6 +428,11 @@ macro (INSTALL_SUPPORT varname) set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}/${CPACK_PACKAGE_NAME}/${CPACK_PACKAGE_VERSION}") endif () + set (CPACK_ORIG_SOURCE_DIR ${CMAKE_SOURCE_DIR}) + if ("$ENV{BINSIGN}" STREQUAL "exists") + set (CPACK_PRE_BUILD_SCRIPTS ${CMAKE_SOURCE_DIR}/config/cmake/SignPackageFiles.cmake) + endif () + set (CPACK_GENERATOR "TGZ") if (WIN32) set (CPACK_GENERATOR "ZIP") @@ -503,13 +515,45 @@ macro (INSTALL_SUPPORT varname) set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${${PLUGIN_PACKAGE_NAME}_PACKAGE_BUGREPORT}") - -# list (APPEND CPACK_GENERATOR "RPM") - set (CPACK_RPM_PACKAGE_RELEASE "1") - set (CPACK_RPM_COMPONENT_INSTALL ON) - set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + + find_program (DPKGSHLIB_EXE dpkg-shlibdeps) + if (DPKGSHLIB_EXE) + list (APPEND CPACK_GENERATOR "DEB") + set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") + set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${H5PL_PACKAGE_BUGREPORT}") + endif () + + find_program (RPMBUILD_EXE rpmbuild) + if (RPMBUILD_EXE) + list (APPEND CPACK_GENERATOR "RPM") + set (CPACK_RPM_PACKAGE_RELEASE "1") + set (CPACK_RPM_PACKAGE_RELEASE_DIST ON) + set (CPACK_RPM_COMPONENT_INSTALL ON) + set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + set (CPACK_RPM_FILE_NAME "RPM-DEFAULT") + set (CPACK_RPM_PACKAGE_NAME "${CPACK_PACKAGE_NAME}") + set (CPACK_RPM_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}") + set (CPACK_RPM_PACKAGE_VENDOR "${CPACK_PACKAGE_VENDOR}") + set (CPACK_RPM_PACKAGE_LICENSE "BSD-style") + set (CPACK_RPM_PACKAGE_GROUP "Development/Libraries") + set (CPACK_RPM_PACKAGE_URL "${H5PL_PACKAGE_URL}") + set (CPACK_RPM_PACKAGE_SUMMARY "HDF5 Plugins are a suite of filters supporting registered compression libraries.") + set (CPACK_RPM_PACKAGE_DESCRIPTION + "The HDF5 technology suite includes: + + * A versatile data model that can represent very complex data objects and a wide variety of metadata. + + * A completely portable file format with no limit on the number or size of data objects in the collection. + + * A software library that runs on a range of computational platforms, from laptops to massively parallel systems, and implements a high-level API with C, C++, Fortran 90, and Java interfaces. + + * A rich set of integrated performance features that allow for access time and storage space optimizations. + +The HDF5 data model, file format, API, library, and tools are open and distributed without charge. +" + ) + endif () endif () - set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${${PLUGIN_PACKAGE_NAME}_BINARY_DIR};${PLUGIN_NAME};ALL;/") set (CPACK_ALL_INSTALL_TYPES Full User) set (CPACK_INSTALL_TYPE_FULL_DISPLAY_NAME "Everything") diff --git a/BSHUF/config/cmake/SignPackageFiles.cmake b/BSHUF/config/cmake/SignPackageFiles.cmake new file mode 100644 index 00000000..b23a0a05 --- /dev/null +++ b/BSHUF/config/cmake/SignPackageFiles.cmake @@ -0,0 +1,41 @@ +# This script signs the targets for the package +message(STATUS "Signing script in ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY}") + +# RPM needs ALL_COMPONENTS_IN_ONE added to path between ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY} +if (CPACK_GENERATOR MATCHES "RPM") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_COMPONENTS_IN_ONE/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +elseif (CPACK_GENERATOR MATCHES "WIX" OR CPACK_GENERATOR MATCHES "NSIS") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/libraries") +elseif (CPACK_GENERATOR MATCHES "ZIP") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}") +else () + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +endif () +file (GLOB target_list LIST_DIRECTORIES false "${CPACK_TARGET_FILE_DIRECTORY}/lib/plugin/*.*") +foreach (targetfile IN LISTS target_list) + if (WIN32) + # Sign the targets + execute_process (COMMAND $ENV{SIGNTOOLDIR}/signtool + sign /v /debug /fd SHA256 /tr http://timestamp.acs.microsoft.com /td SHA256 + /dlib "Microsoft.Trusted.Signing.Client/bin/x64/Azure.CodeSigning.Dlib.dll" /dmdf ${CPACK_ORIG_SOURCE_DIR}/credentials.json + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + elseif (APPLE) + # Sign the targets + execute_process (COMMAND codesign + --force --timestamp --options runtime --entitlements ${CPACK_ORIG_SOURCE_DIR}/config/cmake/distribution.entitlements + --verbose=4 --strict --sign "$ENV{SIGNER}" + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + else () + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + endif () +endforeach () diff --git a/BSHUF/config/cmake/binex/CMakeLists.txt b/BSHUF/config/cmake/binex/CMakeLists.txt index 4418bef5..018f9b99 100644 --- a/BSHUF/config/cmake/binex/CMakeLists.txt +++ b/BSHUF/config/cmake/binex/CMakeLists.txt @@ -42,4 +42,6 @@ endif () #----------------------------------------------------------------------------- # Build examples #----------------------------------------------------------------------------- -add_subdirectory (example) +if (H5PL_BUILD_EXAMPLES) + add_subdirectory (example) +endif () diff --git a/BSHUF/config/cmake/binex/config/cmake/HDFMacros.cmake b/BSHUF/config/cmake/binex/config/cmake/HDFMacros.cmake index ec2113ad..09db2daf 100644 --- a/BSHUF/config/cmake/binex/config/cmake/HDFMacros.cmake +++ b/BSHUF/config/cmake/binex/config/cmake/HDFMacros.cmake @@ -343,6 +343,8 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") endif () diff --git a/BSHUF/config/cmake/binex/config/cmake/HDFPluginMacros.cmake b/BSHUF/config/cmake/binex/config/cmake/HDFPluginMacros.cmake index d2fdb5dd..9dfe4cef 100644 --- a/BSHUF/config/cmake/binex/config/cmake/HDFPluginMacros.cmake +++ b/BSHUF/config/cmake/binex/config/cmake/HDFPluginMacros.cmake @@ -97,10 +97,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -138,10 +138,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () diff --git a/BSHUF/config/cmake/distribution.entitlements b/BSHUF/config/cmake/distribution.entitlements new file mode 100644 index 00000000..0e0df6c7 --- /dev/null +++ b/BSHUF/config/cmake/distribution.entitlements @@ -0,0 +1,16 @@ + + + + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + com.apple.security.cs.disable-executable-page-protection + + com.apple.security.cs.disable-library-validation + + com.apple.security.cs.allow-dyld-environment-variables + + + diff --git a/BSHUF/config/toolchain/aarch64.cmake b/BSHUF/config/toolchain/aarch64.cmake index 69968336..d061949e 100644 --- a/BSHUF/config/toolchain/aarch64.cmake +++ b/BSHUF/config/toolchain/aarch64.cmake @@ -1,7 +1,7 @@ -set(TOOLCHAIN_PREFIX aarch64-linux-gnu) -set(ANDROID_NDK /opt/android-ndk-linux) -set (CMAKE_SYSTEM_NAME Android) -set (CMAKE_ANDROID_ARCH_ABI x86_64) +set (TOOLCHAIN_PREFIX aarch64-linux-gnu) +set (CMAKE_SYSTEM_NAME Linux) +set (CMAKE_SYSTEM_PROCESSOR aarch64) +#set (CMAKE_ANDROID_ARCH_ABI x86_64) #set (CMAKE_ANDROID_STANDALONE_TOOLCHAIN ${ANDROID_NDK}/build/cmake/android.toolchain.cmake) set (CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) set (CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) @@ -12,7 +12,7 @@ set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) -set (CMAKE_CROSSCOMPILING_EMULATOR qemu-aarch64) +set (CMAKE_CROSSCOMPILING_EMULATOR "qemu-aarch64-static;-L;/usr/aarch64-linux-gnu/" CACHE FILEPATH "Path to the emulator for the target system.") include_directories(/usr/${TOOLCHAIN_PREFIX}/include) diff --git a/BZIP2/CMakeLists.txt b/BZIP2/CMakeLists.txt index 6a3eaf4f..0a441864 100644 --- a/BZIP2/CMakeLists.txt +++ b/BZIP2/CMakeLists.txt @@ -86,6 +86,7 @@ configure_file (${H5BZ2_RESOURCES_DIR}/config.h.in ${H5BZ2_BINARY_DIR}/bzip_conf include (ExternalProject) set (H5PL_ALLOW_EXTERNAL_SUPPORT "NO" CACHE STRING "Allow External Library Building (NO GIT TGZ)") set_property (CACHE H5PL_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT TGZ) + if (H5PL_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR H5PL_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ") option (BZ2_USE_EXTERNAL "Use External Library Building for BZ2" 1) if (H5PL_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT") diff --git a/BZIP2/config/CMakeLists.txt b/BZIP2/config/CMakeLists.txt index 045824b7..81b1b740 100644 --- a/BZIP2/config/CMakeLists.txt +++ b/BZIP2/config/CMakeLists.txt @@ -103,10 +103,10 @@ endif () #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- -if (CMAKE_COMPILER_IS_GNUCC) +if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () -if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED) +if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_LOADED) set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -114,10 +114,10 @@ endif () # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- -if (CMAKE_COMPILER_IS_GNUCC) +if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () -if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED) +if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_LOADED) set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () diff --git a/BZIP2/config/cmake/H5BZ2Macros.cmake b/BZIP2/config/cmake/H5BZ2Macros.cmake index f3bcb3ef..ea0fcdb4 100644 --- a/BZIP2/config/cmake/H5BZ2Macros.cmake +++ b/BZIP2/config/cmake/H5BZ2Macros.cmake @@ -17,36 +17,34 @@ macro (EXTERNAL_BZ2_LIBRARY compress_type) FetchContent_Declare (BZ2 GIT_REPOSITORY ${BZ2_URL} GIT_TAG ${BZ2_BRANCH} + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + ${H5BZ2_SOURCE_DIR}/config/CMakeLists.txt + /CMakeLists.txt ) elseif (${compress_type} MATCHES "TGZ") FetchContent_Declare (BZ2 URL ${BZ2_URL} URL_HASH "" + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + ${H5BZ2_SOURCE_DIR}/config/CMakeLists.txt + /CMakeLists.txt ) endif () - FetchContent_GetProperties(BZ2) - if(NOT bz2_POPULATED) - FetchContent_Populate(BZ2) - # Copy an additional/replacement files into the populated source - file(COPY ${H5BZ2_SOURCE_DIR}/config/CMakeLists.txt DESTINATION ${bz2_SOURCE_DIR}) + # Store the old value of the 'BUILD_SHARED_LIBS' + set (BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) + # Make subproject to use 'BUILD_SHARED_LIBS=OFF' setting. + set (BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries" FORCE) + # Store the old value of the 'H5PL_BUILD_TESTING' + set (H5PL_BUILD_TESTING_OLD ${H5PL_BUILD_TESTING}) + # Make subproject to use 'H5PL_BUILD_TESTING=OFF' setting. + set (H5PL_BUILD_TESTING OFF CACHE INTERNAL "Build Unit Testing" FORCE) - # Store the old value of the 'BUILD_SHARED_LIBS' - set (BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) - # Make subproject to use 'BUILD_SHARED_LIBS=OFF' setting. - set (BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries" FORCE) - # Store the old value of the 'H5PL_BUILD_TESTING' - set (H5PL_BUILD_TESTING_OLD ${H5PL_BUILD_TESTING}) - # Make subproject to use 'H5PL_BUILD_TESTING=OFF' setting. - set (H5PL_BUILD_TESTING OFF CACHE INTERNAL "Build Unit Testing" FORCE) - - add_subdirectory(${bz2_SOURCE_DIR} ${bz2_BINARY_DIR}) - - # Restore the old value of the parameter - set (H5PL_BUILD_TESTING ${H5PL_BUILD_TESTING_OLD} CACHE BOOL "Build Unit Testing" FORCE) - # Restore the old value of the parameter - set (BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Type of libraries to build" FORCE) - endif () + FetchContent_MakeAvailable(BZ2) + # Restore the old value of the parameter + set (H5PL_BUILD_TESTING ${H5PL_BUILD_TESTING_OLD} CACHE BOOL "Build Unit Testing" FORCE) + # Restore the old value of the parameter + set (BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Type of libraries to build" FORCE) # include (${BINARY_DIR}/BZ2-targets.cmake) set (BZ2_LIBRARY "bz2-static") diff --git a/BZIP2/config/cmake/HDFMacros.cmake b/BZIP2/config/cmake/HDFMacros.cmake index ec2113ad..d3b65099 100644 --- a/BZIP2/config/cmake/HDFMacros.cmake +++ b/BZIP2/config/cmake/HDFMacros.cmake @@ -301,6 +301,7 @@ macro (PLUGIN_README_PROPERTIES pkg_name) if (WIN32) set (BINARY_EXAMPLE_ENDING "zip") set (BINARY_INSTALL_ENDING "msi") + set (BINARY_COMPRESS_ENDING "zip") if (CMAKE_CL_64) set (BINARY_SYSTEM_NAME "win64") else () @@ -343,8 +344,10 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () - set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ????") endif () else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ${CMAKE_C_COMPILER_VERSION}") @@ -352,12 +355,14 @@ macro (PLUGIN_README_PROPERTIES pkg_name) endif () elseif (APPLE) set (BINARY_EXAMPLE_ENDING "tar.gz") + set (BINARY_COMPRESS_ENDING "tar.gz") set (BINARY_INSTALL_ENDING "sh") # if packaging changes - use dmg set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") else () set (BINARY_EXAMPLE_ENDING "tar.gz") - set (BINARY_INSTALL_ENDING "sh") + set (BINARY_COMPRESS_ENDING "tar.gz") + set (BINARY_INSTALL_ENDING "sh/deb/rpm") set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") endif () diff --git a/BZIP2/config/cmake/HDFPluginMacros.cmake b/BZIP2/config/cmake/HDFPluginMacros.cmake index b33268e1..aba24d7f 100644 --- a/BZIP2/config/cmake/HDFPluginMacros.cmake +++ b/BZIP2/config/cmake/HDFPluginMacros.cmake @@ -150,10 +150,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -161,10 +161,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () @@ -260,6 +260,13 @@ macro (HDF5_SUPPORT link_hdf) set (H5PL_HDF5_REPACK_EXECUTABLE $) endif() endif () + # Determine if a threading package is available on this system + if (HDF5_ENABLE_THREADS) + find_package (Threads) + if (NOT Threads_FOUND) + message (FATAL_ERROR " **** thread support requires C11 threads, Win32 threads or Pthreads **** ") + endif () + endif () else () find_package (HDF5) # Legacy find #Legacy find_package does not set HDF5_TOOLS_DIR, so we set it here @@ -421,6 +428,11 @@ macro (INSTALL_SUPPORT varname) set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}/${CPACK_PACKAGE_NAME}/${CPACK_PACKAGE_VERSION}") endif () + set (CPACK_ORIG_SOURCE_DIR ${CMAKE_SOURCE_DIR}) + if ("$ENV{BINSIGN}" STREQUAL "exists") + set (CPACK_PRE_BUILD_SCRIPTS ${CMAKE_SOURCE_DIR}/config/cmake/SignPackageFiles.cmake) + endif () + set (CPACK_GENERATOR "TGZ") if (WIN32) set (CPACK_GENERATOR "ZIP") @@ -503,13 +515,45 @@ macro (INSTALL_SUPPORT varname) set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${${PLUGIN_PACKAGE_NAME}_PACKAGE_BUGREPORT}") - -# list (APPEND CPACK_GENERATOR "RPM") - set (CPACK_RPM_PACKAGE_RELEASE "1") - set (CPACK_RPM_COMPONENT_INSTALL ON) - set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + + find_program (DPKGSHLIB_EXE dpkg-shlibdeps) + if (DPKGSHLIB_EXE) + list (APPEND CPACK_GENERATOR "DEB") + set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") + set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${H5PL_PACKAGE_BUGREPORT}") + endif () + + find_program (RPMBUILD_EXE rpmbuild) + if (RPMBUILD_EXE) + list (APPEND CPACK_GENERATOR "RPM") + set (CPACK_RPM_PACKAGE_RELEASE "1") + set (CPACK_RPM_PACKAGE_RELEASE_DIST ON) + set (CPACK_RPM_COMPONENT_INSTALL ON) + set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + set (CPACK_RPM_FILE_NAME "RPM-DEFAULT") + set (CPACK_RPM_PACKAGE_NAME "${CPACK_PACKAGE_NAME}") + set (CPACK_RPM_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}") + set (CPACK_RPM_PACKAGE_VENDOR "${CPACK_PACKAGE_VENDOR}") + set (CPACK_RPM_PACKAGE_LICENSE "BSD-style") + set (CPACK_RPM_PACKAGE_GROUP "Development/Libraries") + set (CPACK_RPM_PACKAGE_URL "${H5PL_PACKAGE_URL}") + set (CPACK_RPM_PACKAGE_SUMMARY "HDF5 Plugins are a suite of filters supporting registered compression libraries.") + set (CPACK_RPM_PACKAGE_DESCRIPTION + "The HDF5 technology suite includes: + + * A versatile data model that can represent very complex data objects and a wide variety of metadata. + + * A completely portable file format with no limit on the number or size of data objects in the collection. + + * A software library that runs on a range of computational platforms, from laptops to massively parallel systems, and implements a high-level API with C, C++, Fortran 90, and Java interfaces. + + * A rich set of integrated performance features that allow for access time and storage space optimizations. + +The HDF5 data model, file format, API, library, and tools are open and distributed without charge. +" + ) + endif () endif () - set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${${PLUGIN_PACKAGE_NAME}_BINARY_DIR};${PLUGIN_NAME};ALL;/") set (CPACK_ALL_INSTALL_TYPES Full User) set (CPACK_INSTALL_TYPE_FULL_DISPLAY_NAME "Everything") diff --git a/BZIP2/config/cmake/SignPackageFiles.cmake b/BZIP2/config/cmake/SignPackageFiles.cmake new file mode 100644 index 00000000..b23a0a05 --- /dev/null +++ b/BZIP2/config/cmake/SignPackageFiles.cmake @@ -0,0 +1,41 @@ +# This script signs the targets for the package +message(STATUS "Signing script in ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY}") + +# RPM needs ALL_COMPONENTS_IN_ONE added to path between ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY} +if (CPACK_GENERATOR MATCHES "RPM") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_COMPONENTS_IN_ONE/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +elseif (CPACK_GENERATOR MATCHES "WIX" OR CPACK_GENERATOR MATCHES "NSIS") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/libraries") +elseif (CPACK_GENERATOR MATCHES "ZIP") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}") +else () + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +endif () +file (GLOB target_list LIST_DIRECTORIES false "${CPACK_TARGET_FILE_DIRECTORY}/lib/plugin/*.*") +foreach (targetfile IN LISTS target_list) + if (WIN32) + # Sign the targets + execute_process (COMMAND $ENV{SIGNTOOLDIR}/signtool + sign /v /debug /fd SHA256 /tr http://timestamp.acs.microsoft.com /td SHA256 + /dlib "Microsoft.Trusted.Signing.Client/bin/x64/Azure.CodeSigning.Dlib.dll" /dmdf ${CPACK_ORIG_SOURCE_DIR}/credentials.json + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + elseif (APPLE) + # Sign the targets + execute_process (COMMAND codesign + --force --timestamp --options runtime --entitlements ${CPACK_ORIG_SOURCE_DIR}/config/cmake/distribution.entitlements + --verbose=4 --strict --sign "$ENV{SIGNER}" + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + else () + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + endif () +endforeach () diff --git a/BZIP2/config/cmake/binex/config/cmake/HDFMacros.cmake b/BZIP2/config/cmake/binex/config/cmake/HDFMacros.cmake index ec2113ad..09db2daf 100644 --- a/BZIP2/config/cmake/binex/config/cmake/HDFMacros.cmake +++ b/BZIP2/config/cmake/binex/config/cmake/HDFMacros.cmake @@ -343,6 +343,8 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") endif () diff --git a/BZIP2/config/cmake/binex/config/cmake/HDFPluginMacros.cmake b/BZIP2/config/cmake/binex/config/cmake/HDFPluginMacros.cmake index d2fdb5dd..9dfe4cef 100644 --- a/BZIP2/config/cmake/binex/config/cmake/HDFPluginMacros.cmake +++ b/BZIP2/config/cmake/binex/config/cmake/HDFPluginMacros.cmake @@ -97,10 +97,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -138,10 +138,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () diff --git a/BZIP2/config/cmake/binex/example/CMakeLists.txt b/BZIP2/config/cmake/binex/example/CMakeLists.txt index 434c7ff7..7de59d97 100644 --- a/BZIP2/config/cmake/binex/example/CMakeLists.txt +++ b/BZIP2/config/cmake/binex/example/CMakeLists.txt @@ -27,7 +27,7 @@ foreach (example ${dyn_examples}) add_executable (${example} ${PROJECT_SOURCE_DIR}/${example}.c) target_include_directories(${example} PRIVATE ${H5PL_HDF5_INCLUDE_DIRS}) TARGET_C_PROPERTIES (${example} ${LIB_TYPE}) - target_link_libraries (${example} PRIVATE ${H5PL_LINK_LIBS}) + target_link_libraries (${example} PRIVATE ${H5PL_HDF5_LINK_LIBS}) if (NOT WIN32) target_link_libraries (${example} PRIVATE dl) endif () diff --git a/BZIP2/config/cmake/distribution.entitlements b/BZIP2/config/cmake/distribution.entitlements new file mode 100644 index 00000000..0e0df6c7 --- /dev/null +++ b/BZIP2/config/cmake/distribution.entitlements @@ -0,0 +1,16 @@ + + + + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + com.apple.security.cs.disable-executable-page-protection + + com.apple.security.cs.disable-library-validation + + com.apple.security.cs.allow-dyld-environment-variables + + + diff --git a/BZIP2/config/toolchain/aarch64.cmake b/BZIP2/config/toolchain/aarch64.cmake index 69968336..d061949e 100644 --- a/BZIP2/config/toolchain/aarch64.cmake +++ b/BZIP2/config/toolchain/aarch64.cmake @@ -1,7 +1,7 @@ -set(TOOLCHAIN_PREFIX aarch64-linux-gnu) -set(ANDROID_NDK /opt/android-ndk-linux) -set (CMAKE_SYSTEM_NAME Android) -set (CMAKE_ANDROID_ARCH_ABI x86_64) +set (TOOLCHAIN_PREFIX aarch64-linux-gnu) +set (CMAKE_SYSTEM_NAME Linux) +set (CMAKE_SYSTEM_PROCESSOR aarch64) +#set (CMAKE_ANDROID_ARCH_ABI x86_64) #set (CMAKE_ANDROID_STANDALONE_TOOLCHAIN ${ANDROID_NDK}/build/cmake/android.toolchain.cmake) set (CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) set (CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) @@ -12,7 +12,7 @@ set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) -set (CMAKE_CROSSCOMPILING_EMULATOR qemu-aarch64) +set (CMAKE_CROSSCOMPILING_EMULATOR "qemu-aarch64-static;-L;/usr/aarch64-linux-gnu/" CACHE FILEPATH "Path to the emulator for the target system.") include_directories(/usr/${TOOLCHAIN_PREFIX}/include) diff --git a/CMakeLists.txt b/CMakeLists.txt index eb870ccc..3d99cb8f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,7 +47,7 @@ if (NOT H5PL_VERS_MINOR) set (H5PL_VERS_MINOR "14") endif () if (NOT H5PL_VERS_RELEASE) - set (H5PL_VERS_RELEASE "5") + set (H5PL_VERS_RELEASE "3") endif () set (H5PL_OVERRIDE_VERSION "${H5PL_VERS_MAJOR}.${H5PL_VERS_MINOR}.${H5PL_VERS_RELEASE}") @@ -122,10 +122,10 @@ if (WIN32) set (ENABLE_BLOSC2 OFF CACHE BOOL "" FORCE) endif () elseif (APPLE) - if (NOT CMAKE_C_COMPILER_ID MATCHES "Intel") - FILTER_OPTION (BLOSC2) - elseif (CMAKE_C_COMPILER_ID MATCHES "Intel[Ll][Ll][Vv][Mm]") + if (CMAKE_C_COMPILER_ID MATCHES "Intel[Ll][Ll][Vv][Mm]") FILTER_OPTION (BLOSC2) + elseif (NOT CMAKE_C_COMPILER_ID MATCHES "Intel" AND NOT CMAKE_C_COMPILER_ID MATCHES "Apple[Cc]lang") + FILTER_OPTION (BLOSC2) else () set (ENABLE_BLOSC2 OFF CACHE BOOL "" FORCE) endif () @@ -179,38 +179,6 @@ else () set (ENABLE_LZF OFF CACHE BOOL "" FORCE) endif () -#if (WIN32 AND MSVC_VERSION GREATER 1600) -# # MAFISC filter -# FILTER_OPTION (MAFISC) -#elseif (NOT WIN32) -# FILTER_OPTION (MAFISC) -#else () -# set (ENABLE_MAFISC OFF CACHE BOOL "" FORCE) -#endif () - -# SZ filter -#if (WIN32 AND MSVC_VERSION GREATER_EQUAL 1930) - #if (NOT CMAKE_C_COMPILER_ID MATCHES "[Cc]lang" AND NOT CMAKE_C_COMPILER_ID MATCHES "Intel[Ll][Ll][Vv][Mm]") - # FILTER_OPTION (SZ) - #else () -# set (ENABLE_SZ OFF CACHE BOOL "" FORCE) - #endif () -#elseif (WIN32 AND MSVC_VERSION GREATER 1900) -# if (CMAKE_C_COMPILER_ID MATCHES "[Cc]lang" AND NOT CMAKE_C_COMPILER_ID MATCHES "Intel[Ll][Ll][Vv][Mm]") -# FILTER_OPTION (SZ) -# else () -# set (ENABLE_SZ OFF CACHE BOOL "" FORCE) -# endif () -#elseif (NOT WIN32) -# if(CMAKE_C_COMPILER_ID MATCHES "[Cc]lang" AND NOT CMAKE_C_COMPILER_ID MATCHES "Apple[Cc]lang") -# FILTER_OPTION (SZ) -# else () -# set (ENABLE_SZ OFF CACHE BOOL "" FORCE) -# endif () -#else () - set (ENABLE_SZ OFF CACHE BOOL "" FORCE) -#endif () - # ZFP filter FILTER_OPTION (ZFP) @@ -240,6 +208,12 @@ if (H5PL_BUILD_TESTING) configure_file (${${PLUGIN_PACKAGE_NAME}_RESOURCES_DIR}/CTestCustom.cmake ${PROJECT_BINARY_DIR}/CTestCustom.ctest @ONLY) endif () +#----------------------------------------------------------------------------- +# Community Filters +#----------------------------------------------------------------------------- +option (H5PL_COMMUNITY "Enable building community filters" OFF) +add_subdirectory (community) + #----------------------------------------------------------------------------- # Add file(s) to CMake Install #----------------------------------------------------------------------------- diff --git a/CMakePresets.json b/CMakePresets.json index c001a103..0776b31f 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -92,6 +92,33 @@ "ci-CPP", "ci-StdShar" ] + }, + { + "name": "ci-StdShar-macos-Clang", + "description": "Clang Standard Config for macos (Release)", + "inherits": [ + "ci-macos-Release-Clang", + "ci-CPP", + "ci-StdShar" + ] + }, + { + "name": "ci-StdShar-macos-GNUC", + "description": "GNUC Standard Config for macos (Release)", + "inherits": [ + "ci-macos-Release-GNUC", + "ci-CPP", + "ci-StdShar" + ] + }, + { + "name": "ci-StdShar-Intel", + "description": "Intel Standard Config for x64 (Release)", + "inherits": [ + "ci-x64-Release-Intel", + "ci-CPP", + "ci-StdShar" + ] } ], "buildPresets": [ @@ -119,6 +146,32 @@ "inherits": [ "ci-x64-Release-GNUC" ] + }, + { + "name": "ci-StdShar-macos-Clang", + "description": "Clang Standard Build for macos (Release)", + "configurePreset": "ci-StdShar-macos-Clang", + "inherits": [ + "ci-macos-Release-Clang" + ] + }, + { + "name": "ci-StdShar-macos-GNUC", + "description": "GNUC Standard Build for macos (Release)", + "configurePreset": "ci-StdShar-macos-GNUC", + "verbose": true, + "inherits": [ + "ci-macos-Release-GNUC" + ] + }, + { + "name": "ci-StdShar-Intel", + "description": "Intel Standard Build for x64 (Release)", + "configurePreset": "ci-StdShar-Intel", + "verbose": true, + "inherits": [ + "ci-x64-Release-Intel" + ] } ], "testPresets": [ @@ -136,12 +189,38 @@ "ci-x64-Release-Clang" ] }, + { + "name": "ci-StdShar-macos-Clang", + "configurePreset": "ci-StdShar-macos-Clang", + "inherits": [ + "ci-macos-Release-Clang" + ], + "execution": { + "noTestsAction": "error", + "timeout": 180, + "jobs": 2 + } + }, + { + "name": "ci-StdShar-macos-GNUC", + "configurePreset": "ci-StdShar-macos-GNUC", + "inherits": [ + "ci-macos-Release-GNUC" + ] + }, { "name": "ci-StdShar-GNUC", "configurePreset": "ci-StdShar-GNUC", "inherits": [ "ci-x64-Release-GNUC" ] + }, + { + "name": "ci-StdShar-Intel", + "configurePreset": "ci-StdShar-Intel", + "inherits": [ + "ci-x64-Release-Intel" + ] } ], "packagePresets": [ @@ -159,6 +238,21 @@ "name": "ci-StdShar-GNUC", "configurePreset": "ci-StdShar-GNUC", "inherits": "ci-x64-Release-GNUC" + }, + { + "name": "ci-StdShar-macos-Clang", + "configurePreset": "ci-StdShar-macos-Clang", + "inherits": "ci-macos-Release-Clang" + }, + { + "name": "ci-StdShar-macos-GNUC", + "configurePreset": "ci-StdShar-macos-GNUC", + "inherits": "ci-macos-Release-GNUC" + }, + { + "name": "ci-StdShar-Intel", + "configurePreset": "ci-StdShar-Intel", + "inherits": "ci-x64-Release-Intel" } ], "workflowPresets": [ @@ -180,6 +274,15 @@ {"type": "package", "name": "ci-StdShar-Clang"} ] }, + { + "name": "ci-StdShar-macos-Clang", + "steps": [ + {"type": "configure", "name": "ci-StdShar-macos-Clang"}, + {"type": "build", "name": "ci-StdShar-macos-Clang"}, + {"type": "test", "name": "ci-StdShar-macos-Clang"}, + {"type": "package", "name": "ci-StdShar-macos-Clang"} + ] + }, { "name": "ci-StdShar-GNUC", "steps": [ @@ -188,6 +291,24 @@ {"type": "test", "name": "ci-StdShar-GNUC"}, {"type": "package", "name": "ci-StdShar-GNUC"} ] + }, + { + "name": "ci-StdShar-macos-GNUC", + "steps": [ + {"type": "configure", "name": "ci-StdShar-macos-GNUC"}, + {"type": "build", "name": "ci-StdShar-macos-GNUC"}, + {"type": "test", "name": "ci-StdShar-macos-GNUC"}, + {"type": "package", "name": "ci-StdShar-macos-GNUC"} + ] + }, + { + "name": "ci-StdShar-Intel", + "steps": [ + {"type": "configure", "name": "ci-StdShar-Intel"}, + {"type": "build", "name": "ci-StdShar-Intel"}, + {"type": "test", "name": "ci-StdShar-Intel"}, + {"type": "package", "name": "ci-StdShar-Intel"} + ] } ] } diff --git a/JPEG/CMakeLists.txt b/JPEG/CMakeLists.txt index 53bd2543..3257f1ad 100644 --- a/JPEG/CMakeLists.txt +++ b/JPEG/CMakeLists.txt @@ -81,6 +81,7 @@ message (STATUS "H5JPEG link libs: ${H5PL_LINK_LIBS}") include (ExternalProject) set (H5PL_ALLOW_EXTERNAL_SUPPORT "NO" CACHE STRING "Allow External Library Building (NO GIT TGZ)") set_property (CACHE H5PL_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT TGZ) + if (H5PL_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR H5PL_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ") option (JPEG_USE_EXTERNAL "Use External Library Building for JPEG" 1) if (H5PL_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT") diff --git a/JPEG/config/CMakeLists.txt b/JPEG/config/CMakeLists.txt index 755db1da..7ff4f103 100644 --- a/JPEG/config/CMakeLists.txt +++ b/JPEG/config/CMakeLists.txt @@ -90,10 +90,10 @@ endif () #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- -if (CMAKE_COMPILER_IS_GNUCC) +if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () -if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED) +if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_LOADED) set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -101,10 +101,10 @@ endif () # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- -if (CMAKE_COMPILER_IS_GNUCC) +if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () -if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED) +if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_LOADED) set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () diff --git a/JPEG/config/cmake/H5JPEGMacros.cmake b/JPEG/config/cmake/H5JPEGMacros.cmake index 9f9f668e..595b9a41 100644 --- a/JPEG/config/cmake/H5JPEGMacros.cmake +++ b/JPEG/config/cmake/H5JPEGMacros.cmake @@ -17,37 +17,37 @@ macro (EXTERNAL_JPEG_LIBRARY compress_type) FetchContent_Declare (JPEG GIT_REPOSITORY ${JPEG_URL} GIT_TAG ${JPEG_BRANCH} + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + ${H5JPEG_SOURCE_DIR}/config/CMakeLists.txt + ${H5JPEG_SOURCE_DIR}/config/jconfig.h.in + ) elseif (${compress_type} MATCHES "TGZ") FetchContent_Declare (JPEG URL ${JPEG_URL} URL_HASH "" + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + ${H5JPEG_SOURCE_DIR}/config/CMakeLists.txt + ${H5JPEG_SOURCE_DIR}/config/jconfig.h.in + ) endif () - FetchContent_GetProperties(JPEG) - if(NOT jpeg_POPULATED) - FetchContent_Populate(JPEG) - # Copy an additional/replacement files into the populated source - file(COPY ${H5JPEG_SOURCE_DIR}/config/CMakeLists.txt DESTINATION ${jpeg_SOURCE_DIR}) - file(COPY ${H5JPEG_SOURCE_DIR}/config/jconfig.h.in DESTINATION ${jpeg_SOURCE_DIR}) + # Store the old value of the 'BUILD_SHARED_LIBS' + set (BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) + # Make subproject to use 'BUILD_SHARED_LIBS=OFF' setting. + set (BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries" FORCE) + # Store the old value of the 'H5PL_BUILD_TESTING' + set (H5PL_BUILD_TESTING_OLD ${H5PL_BUILD_TESTING}) + # Make subproject to use 'H5PL_BUILD_TESTING=OFF' setting. + set (H5PL_BUILD_TESTING OFF CACHE INTERNAL "Build Unit Testing" FORCE) - # Store the old value of the 'BUILD_SHARED_LIBS' - set (BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) - # Make subproject to use 'BUILD_SHARED_LIBS=OFF' setting. - set (BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries" FORCE) - # Store the old value of the 'H5PL_BUILD_TESTING' - set (H5PL_BUILD_TESTING_OLD ${H5PL_BUILD_TESTING}) - # Make subproject to use 'H5PL_BUILD_TESTING=OFF' setting. - set (H5PL_BUILD_TESTING OFF CACHE INTERNAL "Build Unit Testing" FORCE) + FetchContent_MakeAvailable(JPEG) - add_subdirectory(${jpeg_SOURCE_DIR} ${jpeg_BINARY_DIR}) - - # Restore the old value of the parameter - set (H5PL_BUILD_TESTING ${H5PL_BUILD_TESTING_OLD} CACHE BOOL "Build Unit Testing" FORCE) - # Restore the old value of the parameter - set (BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Type of libraries to build" FORCE) - endif () + # Restore the old value of the parameter + set (H5PL_BUILD_TESTING ${H5PL_BUILD_TESTING_OLD} CACHE BOOL "Build Unit Testing" FORCE) + # Restore the old value of the parameter + set (BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Type of libraries to build" FORCE) # include (${BINARY_DIR}/JPEG-targets.cmake) set (JPEG_LIBRARY "jpeg-static") diff --git a/JPEG/config/cmake/HDFMacros.cmake b/JPEG/config/cmake/HDFMacros.cmake index ec2113ad..d3b65099 100644 --- a/JPEG/config/cmake/HDFMacros.cmake +++ b/JPEG/config/cmake/HDFMacros.cmake @@ -301,6 +301,7 @@ macro (PLUGIN_README_PROPERTIES pkg_name) if (WIN32) set (BINARY_EXAMPLE_ENDING "zip") set (BINARY_INSTALL_ENDING "msi") + set (BINARY_COMPRESS_ENDING "zip") if (CMAKE_CL_64) set (BINARY_SYSTEM_NAME "win64") else () @@ -343,8 +344,10 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () - set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ????") endif () else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ${CMAKE_C_COMPILER_VERSION}") @@ -352,12 +355,14 @@ macro (PLUGIN_README_PROPERTIES pkg_name) endif () elseif (APPLE) set (BINARY_EXAMPLE_ENDING "tar.gz") + set (BINARY_COMPRESS_ENDING "tar.gz") set (BINARY_INSTALL_ENDING "sh") # if packaging changes - use dmg set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") else () set (BINARY_EXAMPLE_ENDING "tar.gz") - set (BINARY_INSTALL_ENDING "sh") + set (BINARY_COMPRESS_ENDING "tar.gz") + set (BINARY_INSTALL_ENDING "sh/deb/rpm") set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") endif () diff --git a/JPEG/config/cmake/HDFPluginMacros.cmake b/JPEG/config/cmake/HDFPluginMacros.cmake index b33268e1..aba24d7f 100644 --- a/JPEG/config/cmake/HDFPluginMacros.cmake +++ b/JPEG/config/cmake/HDFPluginMacros.cmake @@ -150,10 +150,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -161,10 +161,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () @@ -260,6 +260,13 @@ macro (HDF5_SUPPORT link_hdf) set (H5PL_HDF5_REPACK_EXECUTABLE $) endif() endif () + # Determine if a threading package is available on this system + if (HDF5_ENABLE_THREADS) + find_package (Threads) + if (NOT Threads_FOUND) + message (FATAL_ERROR " **** thread support requires C11 threads, Win32 threads or Pthreads **** ") + endif () + endif () else () find_package (HDF5) # Legacy find #Legacy find_package does not set HDF5_TOOLS_DIR, so we set it here @@ -421,6 +428,11 @@ macro (INSTALL_SUPPORT varname) set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}/${CPACK_PACKAGE_NAME}/${CPACK_PACKAGE_VERSION}") endif () + set (CPACK_ORIG_SOURCE_DIR ${CMAKE_SOURCE_DIR}) + if ("$ENV{BINSIGN}" STREQUAL "exists") + set (CPACK_PRE_BUILD_SCRIPTS ${CMAKE_SOURCE_DIR}/config/cmake/SignPackageFiles.cmake) + endif () + set (CPACK_GENERATOR "TGZ") if (WIN32) set (CPACK_GENERATOR "ZIP") @@ -503,13 +515,45 @@ macro (INSTALL_SUPPORT varname) set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${${PLUGIN_PACKAGE_NAME}_PACKAGE_BUGREPORT}") - -# list (APPEND CPACK_GENERATOR "RPM") - set (CPACK_RPM_PACKAGE_RELEASE "1") - set (CPACK_RPM_COMPONENT_INSTALL ON) - set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + + find_program (DPKGSHLIB_EXE dpkg-shlibdeps) + if (DPKGSHLIB_EXE) + list (APPEND CPACK_GENERATOR "DEB") + set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") + set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${H5PL_PACKAGE_BUGREPORT}") + endif () + + find_program (RPMBUILD_EXE rpmbuild) + if (RPMBUILD_EXE) + list (APPEND CPACK_GENERATOR "RPM") + set (CPACK_RPM_PACKAGE_RELEASE "1") + set (CPACK_RPM_PACKAGE_RELEASE_DIST ON) + set (CPACK_RPM_COMPONENT_INSTALL ON) + set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + set (CPACK_RPM_FILE_NAME "RPM-DEFAULT") + set (CPACK_RPM_PACKAGE_NAME "${CPACK_PACKAGE_NAME}") + set (CPACK_RPM_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}") + set (CPACK_RPM_PACKAGE_VENDOR "${CPACK_PACKAGE_VENDOR}") + set (CPACK_RPM_PACKAGE_LICENSE "BSD-style") + set (CPACK_RPM_PACKAGE_GROUP "Development/Libraries") + set (CPACK_RPM_PACKAGE_URL "${H5PL_PACKAGE_URL}") + set (CPACK_RPM_PACKAGE_SUMMARY "HDF5 Plugins are a suite of filters supporting registered compression libraries.") + set (CPACK_RPM_PACKAGE_DESCRIPTION + "The HDF5 technology suite includes: + + * A versatile data model that can represent very complex data objects and a wide variety of metadata. + + * A completely portable file format with no limit on the number or size of data objects in the collection. + + * A software library that runs on a range of computational platforms, from laptops to massively parallel systems, and implements a high-level API with C, C++, Fortran 90, and Java interfaces. + + * A rich set of integrated performance features that allow for access time and storage space optimizations. + +The HDF5 data model, file format, API, library, and tools are open and distributed without charge. +" + ) + endif () endif () - set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${${PLUGIN_PACKAGE_NAME}_BINARY_DIR};${PLUGIN_NAME};ALL;/") set (CPACK_ALL_INSTALL_TYPES Full User) set (CPACK_INSTALL_TYPE_FULL_DISPLAY_NAME "Everything") diff --git a/JPEG/config/cmake/SignPackageFiles.cmake b/JPEG/config/cmake/SignPackageFiles.cmake new file mode 100644 index 00000000..b23a0a05 --- /dev/null +++ b/JPEG/config/cmake/SignPackageFiles.cmake @@ -0,0 +1,41 @@ +# This script signs the targets for the package +message(STATUS "Signing script in ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY}") + +# RPM needs ALL_COMPONENTS_IN_ONE added to path between ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY} +if (CPACK_GENERATOR MATCHES "RPM") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_COMPONENTS_IN_ONE/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +elseif (CPACK_GENERATOR MATCHES "WIX" OR CPACK_GENERATOR MATCHES "NSIS") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/libraries") +elseif (CPACK_GENERATOR MATCHES "ZIP") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}") +else () + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +endif () +file (GLOB target_list LIST_DIRECTORIES false "${CPACK_TARGET_FILE_DIRECTORY}/lib/plugin/*.*") +foreach (targetfile IN LISTS target_list) + if (WIN32) + # Sign the targets + execute_process (COMMAND $ENV{SIGNTOOLDIR}/signtool + sign /v /debug /fd SHA256 /tr http://timestamp.acs.microsoft.com /td SHA256 + /dlib "Microsoft.Trusted.Signing.Client/bin/x64/Azure.CodeSigning.Dlib.dll" /dmdf ${CPACK_ORIG_SOURCE_DIR}/credentials.json + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + elseif (APPLE) + # Sign the targets + execute_process (COMMAND codesign + --force --timestamp --options runtime --entitlements ${CPACK_ORIG_SOURCE_DIR}/config/cmake/distribution.entitlements + --verbose=4 --strict --sign "$ENV{SIGNER}" + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + else () + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + endif () +endforeach () diff --git a/JPEG/config/cmake/binex/config/cmake/HDFMacros.cmake b/JPEG/config/cmake/binex/config/cmake/HDFMacros.cmake index ec2113ad..09db2daf 100644 --- a/JPEG/config/cmake/binex/config/cmake/HDFMacros.cmake +++ b/JPEG/config/cmake/binex/config/cmake/HDFMacros.cmake @@ -343,6 +343,8 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") endif () diff --git a/JPEG/config/cmake/binex/config/cmake/HDFPluginMacros.cmake b/JPEG/config/cmake/binex/config/cmake/HDFPluginMacros.cmake index d2fdb5dd..9dfe4cef 100644 --- a/JPEG/config/cmake/binex/config/cmake/HDFPluginMacros.cmake +++ b/JPEG/config/cmake/binex/config/cmake/HDFPluginMacros.cmake @@ -97,10 +97,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -138,10 +138,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () diff --git a/JPEG/config/cmake/distribution.entitlements b/JPEG/config/cmake/distribution.entitlements new file mode 100644 index 00000000..0e0df6c7 --- /dev/null +++ b/JPEG/config/cmake/distribution.entitlements @@ -0,0 +1,16 @@ + + + + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + com.apple.security.cs.disable-executable-page-protection + + com.apple.security.cs.disable-library-validation + + com.apple.security.cs.allow-dyld-environment-variables + + + diff --git a/JPEG/config/toolchain/aarch64.cmake b/JPEG/config/toolchain/aarch64.cmake index 69968336..d061949e 100644 --- a/JPEG/config/toolchain/aarch64.cmake +++ b/JPEG/config/toolchain/aarch64.cmake @@ -1,7 +1,7 @@ -set(TOOLCHAIN_PREFIX aarch64-linux-gnu) -set(ANDROID_NDK /opt/android-ndk-linux) -set (CMAKE_SYSTEM_NAME Android) -set (CMAKE_ANDROID_ARCH_ABI x86_64) +set (TOOLCHAIN_PREFIX aarch64-linux-gnu) +set (CMAKE_SYSTEM_NAME Linux) +set (CMAKE_SYSTEM_PROCESSOR aarch64) +#set (CMAKE_ANDROID_ARCH_ABI x86_64) #set (CMAKE_ANDROID_STANDALONE_TOOLCHAIN ${ANDROID_NDK}/build/cmake/android.toolchain.cmake) set (CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) set (CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) @@ -12,7 +12,7 @@ set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) -set (CMAKE_CROSSCOMPILING_EMULATOR qemu-aarch64) +set (CMAKE_CROSSCOMPILING_EMULATOR "qemu-aarch64-static;-L;/usr/aarch64-linux-gnu/" CACHE FILEPATH "Path to the emulator for the target system.") include_directories(/usr/${TOOLCHAIN_PREFIX}/include) diff --git a/LZ4/config/cmake/H5LZ4Macros.cmake b/LZ4/config/cmake/H5LZ4Macros.cmake index c6e980f7..6c3b079c 100644 --- a/LZ4/config/cmake/H5LZ4Macros.cmake +++ b/LZ4/config/cmake/H5LZ4Macros.cmake @@ -24,26 +24,22 @@ macro (EXTERNAL_LZ4_LIBRARY compress_type) URL_HASH "" ) endif () - FetchContent_GetProperties(LZ4) - if(NOT lz4_POPULATED) - FetchContent_Populate(LZ4) - # Store the old value of the 'BUILD_SHARED_LIBS' - set (BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) - # Make subproject to use 'BUILD_SHARED_LIBS=OFF' setting. - set (BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries" FORCE) - # Store the old value of the 'BUILD_TESTING' - set (BUILD_TESTING_OLD ${BUILD_TESTING}) - # Make subproject to use 'BUILD_TESTING=OFF' setting. - set (BUILD_TESTING OFF CACHE INTERNAL "Build Unit Testing" FORCE) + # Store the old value of the 'BUILD_SHARED_LIBS' + set (BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) + # Make subproject to use 'BUILD_SHARED_LIBS=OFF' setting. + set (BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries" FORCE) + # Store the old value of the 'BUILD_TESTING' + set (BUILD_TESTING_OLD ${BUILD_TESTING}) + # Make subproject to use 'BUILD_TESTING=OFF' setting. + set (BUILD_TESTING OFF CACHE INTERNAL "Build Unit Testing" FORCE) - add_subdirectory(${lz4_SOURCE_DIR} ${lz4_BINARY_DIR}) + FetchContent_MakeAvailable(LZ4) - # Restore the old value of the parameter - set (BUILD_TESTING ${BUILD_TESTING_OLD} CACHE BOOL "Build Unit Testing" FORCE) - # Restore the old value of the parameter - set (BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Type of libraries to build" FORCE) - endif () + # Restore the old value of the parameter + set (BUILD_TESTING ${BUILD_TESTING_OLD} CACHE BOOL "Build Unit Testing" FORCE) + # Restore the old value of the parameter + set (BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Type of libraries to build" FORCE) # include (${BINARY_DIR}/LZ4-targets.cmake) set (LZ4_LIBRARY "lz4-static") diff --git a/LZ4/config/cmake/HDFMacros.cmake b/LZ4/config/cmake/HDFMacros.cmake index ec2113ad..d3b65099 100644 --- a/LZ4/config/cmake/HDFMacros.cmake +++ b/LZ4/config/cmake/HDFMacros.cmake @@ -301,6 +301,7 @@ macro (PLUGIN_README_PROPERTIES pkg_name) if (WIN32) set (BINARY_EXAMPLE_ENDING "zip") set (BINARY_INSTALL_ENDING "msi") + set (BINARY_COMPRESS_ENDING "zip") if (CMAKE_CL_64) set (BINARY_SYSTEM_NAME "win64") else () @@ -343,8 +344,10 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () - set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ????") endif () else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ${CMAKE_C_COMPILER_VERSION}") @@ -352,12 +355,14 @@ macro (PLUGIN_README_PROPERTIES pkg_name) endif () elseif (APPLE) set (BINARY_EXAMPLE_ENDING "tar.gz") + set (BINARY_COMPRESS_ENDING "tar.gz") set (BINARY_INSTALL_ENDING "sh") # if packaging changes - use dmg set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") else () set (BINARY_EXAMPLE_ENDING "tar.gz") - set (BINARY_INSTALL_ENDING "sh") + set (BINARY_COMPRESS_ENDING "tar.gz") + set (BINARY_INSTALL_ENDING "sh/deb/rpm") set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") endif () diff --git a/LZ4/config/cmake/HDFPluginMacros.cmake b/LZ4/config/cmake/HDFPluginMacros.cmake index b33268e1..aba24d7f 100644 --- a/LZ4/config/cmake/HDFPluginMacros.cmake +++ b/LZ4/config/cmake/HDFPluginMacros.cmake @@ -150,10 +150,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -161,10 +161,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () @@ -260,6 +260,13 @@ macro (HDF5_SUPPORT link_hdf) set (H5PL_HDF5_REPACK_EXECUTABLE $) endif() endif () + # Determine if a threading package is available on this system + if (HDF5_ENABLE_THREADS) + find_package (Threads) + if (NOT Threads_FOUND) + message (FATAL_ERROR " **** thread support requires C11 threads, Win32 threads or Pthreads **** ") + endif () + endif () else () find_package (HDF5) # Legacy find #Legacy find_package does not set HDF5_TOOLS_DIR, so we set it here @@ -421,6 +428,11 @@ macro (INSTALL_SUPPORT varname) set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}/${CPACK_PACKAGE_NAME}/${CPACK_PACKAGE_VERSION}") endif () + set (CPACK_ORIG_SOURCE_DIR ${CMAKE_SOURCE_DIR}) + if ("$ENV{BINSIGN}" STREQUAL "exists") + set (CPACK_PRE_BUILD_SCRIPTS ${CMAKE_SOURCE_DIR}/config/cmake/SignPackageFiles.cmake) + endif () + set (CPACK_GENERATOR "TGZ") if (WIN32) set (CPACK_GENERATOR "ZIP") @@ -503,13 +515,45 @@ macro (INSTALL_SUPPORT varname) set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${${PLUGIN_PACKAGE_NAME}_PACKAGE_BUGREPORT}") - -# list (APPEND CPACK_GENERATOR "RPM") - set (CPACK_RPM_PACKAGE_RELEASE "1") - set (CPACK_RPM_COMPONENT_INSTALL ON) - set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + + find_program (DPKGSHLIB_EXE dpkg-shlibdeps) + if (DPKGSHLIB_EXE) + list (APPEND CPACK_GENERATOR "DEB") + set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") + set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${H5PL_PACKAGE_BUGREPORT}") + endif () + + find_program (RPMBUILD_EXE rpmbuild) + if (RPMBUILD_EXE) + list (APPEND CPACK_GENERATOR "RPM") + set (CPACK_RPM_PACKAGE_RELEASE "1") + set (CPACK_RPM_PACKAGE_RELEASE_DIST ON) + set (CPACK_RPM_COMPONENT_INSTALL ON) + set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + set (CPACK_RPM_FILE_NAME "RPM-DEFAULT") + set (CPACK_RPM_PACKAGE_NAME "${CPACK_PACKAGE_NAME}") + set (CPACK_RPM_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}") + set (CPACK_RPM_PACKAGE_VENDOR "${CPACK_PACKAGE_VENDOR}") + set (CPACK_RPM_PACKAGE_LICENSE "BSD-style") + set (CPACK_RPM_PACKAGE_GROUP "Development/Libraries") + set (CPACK_RPM_PACKAGE_URL "${H5PL_PACKAGE_URL}") + set (CPACK_RPM_PACKAGE_SUMMARY "HDF5 Plugins are a suite of filters supporting registered compression libraries.") + set (CPACK_RPM_PACKAGE_DESCRIPTION + "The HDF5 technology suite includes: + + * A versatile data model that can represent very complex data objects and a wide variety of metadata. + + * A completely portable file format with no limit on the number or size of data objects in the collection. + + * A software library that runs on a range of computational platforms, from laptops to massively parallel systems, and implements a high-level API with C, C++, Fortran 90, and Java interfaces. + + * A rich set of integrated performance features that allow for access time and storage space optimizations. + +The HDF5 data model, file format, API, library, and tools are open and distributed without charge. +" + ) + endif () endif () - set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${${PLUGIN_PACKAGE_NAME}_BINARY_DIR};${PLUGIN_NAME};ALL;/") set (CPACK_ALL_INSTALL_TYPES Full User) set (CPACK_INSTALL_TYPE_FULL_DISPLAY_NAME "Everything") diff --git a/LZ4/config/cmake/SignPackageFiles.cmake b/LZ4/config/cmake/SignPackageFiles.cmake new file mode 100644 index 00000000..b23a0a05 --- /dev/null +++ b/LZ4/config/cmake/SignPackageFiles.cmake @@ -0,0 +1,41 @@ +# This script signs the targets for the package +message(STATUS "Signing script in ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY}") + +# RPM needs ALL_COMPONENTS_IN_ONE added to path between ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY} +if (CPACK_GENERATOR MATCHES "RPM") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_COMPONENTS_IN_ONE/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +elseif (CPACK_GENERATOR MATCHES "WIX" OR CPACK_GENERATOR MATCHES "NSIS") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/libraries") +elseif (CPACK_GENERATOR MATCHES "ZIP") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}") +else () + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +endif () +file (GLOB target_list LIST_DIRECTORIES false "${CPACK_TARGET_FILE_DIRECTORY}/lib/plugin/*.*") +foreach (targetfile IN LISTS target_list) + if (WIN32) + # Sign the targets + execute_process (COMMAND $ENV{SIGNTOOLDIR}/signtool + sign /v /debug /fd SHA256 /tr http://timestamp.acs.microsoft.com /td SHA256 + /dlib "Microsoft.Trusted.Signing.Client/bin/x64/Azure.CodeSigning.Dlib.dll" /dmdf ${CPACK_ORIG_SOURCE_DIR}/credentials.json + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + elseif (APPLE) + # Sign the targets + execute_process (COMMAND codesign + --force --timestamp --options runtime --entitlements ${CPACK_ORIG_SOURCE_DIR}/config/cmake/distribution.entitlements + --verbose=4 --strict --sign "$ENV{SIGNER}" + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + else () + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + endif () +endforeach () diff --git a/LZ4/config/cmake/binex/config/cmake/HDFMacros.cmake b/LZ4/config/cmake/binex/config/cmake/HDFMacros.cmake index ec2113ad..09db2daf 100644 --- a/LZ4/config/cmake/binex/config/cmake/HDFMacros.cmake +++ b/LZ4/config/cmake/binex/config/cmake/HDFMacros.cmake @@ -343,6 +343,8 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") endif () diff --git a/LZ4/config/cmake/binex/config/cmake/HDFPluginMacros.cmake b/LZ4/config/cmake/binex/config/cmake/HDFPluginMacros.cmake index d2fdb5dd..9dfe4cef 100644 --- a/LZ4/config/cmake/binex/config/cmake/HDFPluginMacros.cmake +++ b/LZ4/config/cmake/binex/config/cmake/HDFPluginMacros.cmake @@ -97,10 +97,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -138,10 +138,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () diff --git a/LZ4/config/cmake/distribution.entitlements b/LZ4/config/cmake/distribution.entitlements new file mode 100644 index 00000000..0e0df6c7 --- /dev/null +++ b/LZ4/config/cmake/distribution.entitlements @@ -0,0 +1,16 @@ + + + + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + com.apple.security.cs.disable-executable-page-protection + + com.apple.security.cs.disable-library-validation + + com.apple.security.cs.allow-dyld-environment-variables + + + diff --git a/LZ4/config/toolchain/aarch64.cmake b/LZ4/config/toolchain/aarch64.cmake index 69968336..d061949e 100644 --- a/LZ4/config/toolchain/aarch64.cmake +++ b/LZ4/config/toolchain/aarch64.cmake @@ -1,7 +1,7 @@ -set(TOOLCHAIN_PREFIX aarch64-linux-gnu) -set(ANDROID_NDK /opt/android-ndk-linux) -set (CMAKE_SYSTEM_NAME Android) -set (CMAKE_ANDROID_ARCH_ABI x86_64) +set (TOOLCHAIN_PREFIX aarch64-linux-gnu) +set (CMAKE_SYSTEM_NAME Linux) +set (CMAKE_SYSTEM_PROCESSOR aarch64) +#set (CMAKE_ANDROID_ARCH_ABI x86_64) #set (CMAKE_ANDROID_STANDALONE_TOOLCHAIN ${ANDROID_NDK}/build/cmake/android.toolchain.cmake) set (CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) set (CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) @@ -12,7 +12,7 @@ set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) -set (CMAKE_CROSSCOMPILING_EMULATOR qemu-aarch64) +set (CMAKE_CROSSCOMPILING_EMULATOR "qemu-aarch64-static;-L;/usr/aarch64-linux-gnu/" CACHE FILEPATH "Path to the emulator for the target system.") include_directories(/usr/${TOOLCHAIN_PREFIX}/include) diff --git a/LZF/config/CMakeLists.txt b/LZF/config/CMakeLists.txt index 7be2d295..6cd1fc78 100644 --- a/LZF/config/CMakeLists.txt +++ b/LZF/config/CMakeLists.txt @@ -100,10 +100,10 @@ endif () #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- -if (CMAKE_COMPILER_IS_GNUCC) +if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () -if (CMAKE_COMPILER_IS_GNUCXX) +if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -111,10 +111,10 @@ endif () # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- -if (CMAKE_COMPILER_IS_GNUCC) +if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () -if (CMAKE_COMPILER_IS_GNUCXX) +if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () diff --git a/LZF/config/cmake/H5LZFMacros.cmake b/LZF/config/cmake/H5LZFMacros.cmake index f8e79eac..0590bce8 100644 --- a/LZF/config/cmake/H5LZFMacros.cmake +++ b/LZF/config/cmake/H5LZFMacros.cmake @@ -17,39 +17,38 @@ macro (EXTERNAL_LZF_LIBRARY compress_type) FetchContent_Declare (LZF GIT_REPOSITORY ${LZF_URL} GIT_TAG ${LZF_BRANCH} + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + ${H5LZF_SOURCE_DIR}/config/CMakeLists.txt + /CMakeLists.txt ) elseif (${compress_type} MATCHES "TGZ") FetchContent_Declare (LZF URL ${LZF_URL} URL_HASH "" + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + ${H5LZF_SOURCE_DIR}/config/CMakeLists.txt + /CMakeLists.txt ) endif () - FetchContent_GetProperties (LZF) - if (NOT lzf_POPULATED) - FetchContent_Populate (LZF) - # Copy an additional/replacement files into the populated source - file(COPY ${H5LZF_SOURCE_DIR}/config/CMakeLists.txt DESTINATION ${lzf_SOURCE_DIR}) + set (LZF_EXTERNALLY_CONFIGURED OFF CACHE INTERNAL "No package" FORCE) + set (LZF_INSTALL_NO_DEVELOPMENT OFF CACHE INTERNAL "No package" FORCE) - set (LZF_EXTERNALLY_CONFIGURED OFF CACHE INTERNAL "No package" FORCE) - set (LZF_INSTALL_NO_DEVELOPMENT OFF CACHE INTERNAL "No package" FORCE) + # Store the old value of the 'BUILD_SHARED_LIBS' + set (BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) + # Make subproject to use 'BUILD_SHARED_LIBS=OFF' setting. + set (BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries" FORCE) + # Store the old value of the 'BUILD_TESTING' + set (BUILD_TESTING_OLD ${BUILD_TESTING}) + # Make subproject to use 'BUILD_TESTING=OFF' setting. + set (BUILD_TESTING OFF CACHE INTERNAL "Build Unit Testing" FORCE) - # Store the old value of the 'BUILD_SHARED_LIBS' - set (BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) - # Make subproject to use 'BUILD_SHARED_LIBS=OFF' setting. - set (BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries" FORCE) - # Store the old value of the 'BUILD_TESTING' - set (BUILD_TESTING_OLD ${BUILD_TESTING}) - # Make subproject to use 'BUILD_TESTING=OFF' setting. - set (BUILD_TESTING OFF CACHE INTERNAL "Build Unit Testing" FORCE) + FetchContent_MakeAvailable (LZF) - add_subdirectory (${lzf_SOURCE_DIR} ${lzf_BINARY_DIR}) - - # Restore the old value of the parameter - set (BUILD_TESTING ${BUILD_TESTING_OLD} CACHE BOOL "Build Unit Testing" FORCE) - # Restore the old value of the parameter - set (BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Type of libraries to build" FORCE) - endif () + # Restore the old value of the parameter + set (BUILD_TESTING ${BUILD_TESTING_OLD} CACHE BOOL "Build Unit Testing" FORCE) + # Restore the old value of the parameter + set (BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Type of libraries to build" FORCE) # include (${BINARY_DIR}/LZF-targets.cmake) set (LZF_LIBRARY "lzf-static") diff --git a/LZF/config/cmake/HDFMacros.cmake b/LZF/config/cmake/HDFMacros.cmake index ec2113ad..d3b65099 100644 --- a/LZF/config/cmake/HDFMacros.cmake +++ b/LZF/config/cmake/HDFMacros.cmake @@ -301,6 +301,7 @@ macro (PLUGIN_README_PROPERTIES pkg_name) if (WIN32) set (BINARY_EXAMPLE_ENDING "zip") set (BINARY_INSTALL_ENDING "msi") + set (BINARY_COMPRESS_ENDING "zip") if (CMAKE_CL_64) set (BINARY_SYSTEM_NAME "win64") else () @@ -343,8 +344,10 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () - set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ????") endif () else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ${CMAKE_C_COMPILER_VERSION}") @@ -352,12 +355,14 @@ macro (PLUGIN_README_PROPERTIES pkg_name) endif () elseif (APPLE) set (BINARY_EXAMPLE_ENDING "tar.gz") + set (BINARY_COMPRESS_ENDING "tar.gz") set (BINARY_INSTALL_ENDING "sh") # if packaging changes - use dmg set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") else () set (BINARY_EXAMPLE_ENDING "tar.gz") - set (BINARY_INSTALL_ENDING "sh") + set (BINARY_COMPRESS_ENDING "tar.gz") + set (BINARY_INSTALL_ENDING "sh/deb/rpm") set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") endif () diff --git a/LZF/config/cmake/HDFPluginMacros.cmake b/LZF/config/cmake/HDFPluginMacros.cmake index b33268e1..aba24d7f 100644 --- a/LZF/config/cmake/HDFPluginMacros.cmake +++ b/LZF/config/cmake/HDFPluginMacros.cmake @@ -150,10 +150,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -161,10 +161,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () @@ -260,6 +260,13 @@ macro (HDF5_SUPPORT link_hdf) set (H5PL_HDF5_REPACK_EXECUTABLE $) endif() endif () + # Determine if a threading package is available on this system + if (HDF5_ENABLE_THREADS) + find_package (Threads) + if (NOT Threads_FOUND) + message (FATAL_ERROR " **** thread support requires C11 threads, Win32 threads or Pthreads **** ") + endif () + endif () else () find_package (HDF5) # Legacy find #Legacy find_package does not set HDF5_TOOLS_DIR, so we set it here @@ -421,6 +428,11 @@ macro (INSTALL_SUPPORT varname) set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}/${CPACK_PACKAGE_NAME}/${CPACK_PACKAGE_VERSION}") endif () + set (CPACK_ORIG_SOURCE_DIR ${CMAKE_SOURCE_DIR}) + if ("$ENV{BINSIGN}" STREQUAL "exists") + set (CPACK_PRE_BUILD_SCRIPTS ${CMAKE_SOURCE_DIR}/config/cmake/SignPackageFiles.cmake) + endif () + set (CPACK_GENERATOR "TGZ") if (WIN32) set (CPACK_GENERATOR "ZIP") @@ -503,13 +515,45 @@ macro (INSTALL_SUPPORT varname) set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${${PLUGIN_PACKAGE_NAME}_PACKAGE_BUGREPORT}") - -# list (APPEND CPACK_GENERATOR "RPM") - set (CPACK_RPM_PACKAGE_RELEASE "1") - set (CPACK_RPM_COMPONENT_INSTALL ON) - set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + + find_program (DPKGSHLIB_EXE dpkg-shlibdeps) + if (DPKGSHLIB_EXE) + list (APPEND CPACK_GENERATOR "DEB") + set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") + set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${H5PL_PACKAGE_BUGREPORT}") + endif () + + find_program (RPMBUILD_EXE rpmbuild) + if (RPMBUILD_EXE) + list (APPEND CPACK_GENERATOR "RPM") + set (CPACK_RPM_PACKAGE_RELEASE "1") + set (CPACK_RPM_PACKAGE_RELEASE_DIST ON) + set (CPACK_RPM_COMPONENT_INSTALL ON) + set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + set (CPACK_RPM_FILE_NAME "RPM-DEFAULT") + set (CPACK_RPM_PACKAGE_NAME "${CPACK_PACKAGE_NAME}") + set (CPACK_RPM_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}") + set (CPACK_RPM_PACKAGE_VENDOR "${CPACK_PACKAGE_VENDOR}") + set (CPACK_RPM_PACKAGE_LICENSE "BSD-style") + set (CPACK_RPM_PACKAGE_GROUP "Development/Libraries") + set (CPACK_RPM_PACKAGE_URL "${H5PL_PACKAGE_URL}") + set (CPACK_RPM_PACKAGE_SUMMARY "HDF5 Plugins are a suite of filters supporting registered compression libraries.") + set (CPACK_RPM_PACKAGE_DESCRIPTION + "The HDF5 technology suite includes: + + * A versatile data model that can represent very complex data objects and a wide variety of metadata. + + * A completely portable file format with no limit on the number or size of data objects in the collection. + + * A software library that runs on a range of computational platforms, from laptops to massively parallel systems, and implements a high-level API with C, C++, Fortran 90, and Java interfaces. + + * A rich set of integrated performance features that allow for access time and storage space optimizations. + +The HDF5 data model, file format, API, library, and tools are open and distributed without charge. +" + ) + endif () endif () - set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${${PLUGIN_PACKAGE_NAME}_BINARY_DIR};${PLUGIN_NAME};ALL;/") set (CPACK_ALL_INSTALL_TYPES Full User) set (CPACK_INSTALL_TYPE_FULL_DISPLAY_NAME "Everything") diff --git a/LZF/config/cmake/SignPackageFiles.cmake b/LZF/config/cmake/SignPackageFiles.cmake new file mode 100644 index 00000000..b23a0a05 --- /dev/null +++ b/LZF/config/cmake/SignPackageFiles.cmake @@ -0,0 +1,41 @@ +# This script signs the targets for the package +message(STATUS "Signing script in ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY}") + +# RPM needs ALL_COMPONENTS_IN_ONE added to path between ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY} +if (CPACK_GENERATOR MATCHES "RPM") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_COMPONENTS_IN_ONE/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +elseif (CPACK_GENERATOR MATCHES "WIX" OR CPACK_GENERATOR MATCHES "NSIS") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/libraries") +elseif (CPACK_GENERATOR MATCHES "ZIP") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}") +else () + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +endif () +file (GLOB target_list LIST_DIRECTORIES false "${CPACK_TARGET_FILE_DIRECTORY}/lib/plugin/*.*") +foreach (targetfile IN LISTS target_list) + if (WIN32) + # Sign the targets + execute_process (COMMAND $ENV{SIGNTOOLDIR}/signtool + sign /v /debug /fd SHA256 /tr http://timestamp.acs.microsoft.com /td SHA256 + /dlib "Microsoft.Trusted.Signing.Client/bin/x64/Azure.CodeSigning.Dlib.dll" /dmdf ${CPACK_ORIG_SOURCE_DIR}/credentials.json + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + elseif (APPLE) + # Sign the targets + execute_process (COMMAND codesign + --force --timestamp --options runtime --entitlements ${CPACK_ORIG_SOURCE_DIR}/config/cmake/distribution.entitlements + --verbose=4 --strict --sign "$ENV{SIGNER}" + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + else () + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + endif () +endforeach () diff --git a/LZF/config/cmake/binex/config/cmake/HDFMacros.cmake b/LZF/config/cmake/binex/config/cmake/HDFMacros.cmake index ec2113ad..09db2daf 100644 --- a/LZF/config/cmake/binex/config/cmake/HDFMacros.cmake +++ b/LZF/config/cmake/binex/config/cmake/HDFMacros.cmake @@ -343,6 +343,8 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") endif () diff --git a/LZF/config/cmake/binex/config/cmake/HDFPluginMacros.cmake b/LZF/config/cmake/binex/config/cmake/HDFPluginMacros.cmake index d2fdb5dd..9dfe4cef 100644 --- a/LZF/config/cmake/binex/config/cmake/HDFPluginMacros.cmake +++ b/LZF/config/cmake/binex/config/cmake/HDFPluginMacros.cmake @@ -97,10 +97,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -138,10 +138,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () diff --git a/LZF/config/cmake/distribution.entitlements b/LZF/config/cmake/distribution.entitlements new file mode 100644 index 00000000..0e0df6c7 --- /dev/null +++ b/LZF/config/cmake/distribution.entitlements @@ -0,0 +1,16 @@ + + + + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + com.apple.security.cs.disable-executable-page-protection + + com.apple.security.cs.disable-library-validation + + com.apple.security.cs.allow-dyld-environment-variables + + + diff --git a/LZF/config/toolchain/aarch64.cmake b/LZF/config/toolchain/aarch64.cmake index 69968336..d061949e 100644 --- a/LZF/config/toolchain/aarch64.cmake +++ b/LZF/config/toolchain/aarch64.cmake @@ -1,7 +1,7 @@ -set(TOOLCHAIN_PREFIX aarch64-linux-gnu) -set(ANDROID_NDK /opt/android-ndk-linux) -set (CMAKE_SYSTEM_NAME Android) -set (CMAKE_ANDROID_ARCH_ABI x86_64) +set (TOOLCHAIN_PREFIX aarch64-linux-gnu) +set (CMAKE_SYSTEM_NAME Linux) +set (CMAKE_SYSTEM_PROCESSOR aarch64) +#set (CMAKE_ANDROID_ARCH_ABI x86_64) #set (CMAKE_ANDROID_STANDALONE_TOOLCHAIN ${ANDROID_NDK}/build/cmake/android.toolchain.cmake) set (CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) set (CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) @@ -12,7 +12,7 @@ set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) -set (CMAKE_CROSSCOMPILING_EMULATOR qemu-aarch64) +set (CMAKE_CROSSCOMPILING_EMULATOR "qemu-aarch64-static;-L;/usr/aarch64-linux-gnu/" CACHE FILEPATH "Path to the emulator for the target system.") include_directories(/usr/${TOOLCHAIN_PREFIX}/include) diff --git a/ZFP/config/cmake/H5ZFPMacros.cmake b/ZFP/config/cmake/H5ZFPMacros.cmake index 9ff6ef9a..c554f4e9 100644 --- a/ZFP/config/cmake/H5ZFPMacros.cmake +++ b/ZFP/config/cmake/H5ZFPMacros.cmake @@ -20,36 +20,39 @@ macro (EXTERNAL_ZFP_LIBRARY compress_type) FetchContent_Declare (ZFP GIT_REPOSITORY ${ZFP_URL} GIT_TAG ${ZFP_BRANCH} + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + ${H5ZFP_SOURCE_DIR}/config/CMakeLists.txt + /CMakeLists.txt + && ${CMAKE_COMMAND} -E copy + ${H5ZFP_SOURCE_DIR}/config/srcCMakeLists.txt + /src/CMakeLists.txt ) elseif (${compress_type} MATCHES "TGZ") FetchContent_Declare (ZFP URL ${ZFP_URL} URL_HASH "" + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + ${H5ZFP_SOURCE_DIR}/config/CMakeLists.txt + /CMakeLists.txt + && ${CMAKE_COMMAND} -E copy + ${H5ZFP_SOURCE_DIR}/config/srcCMakeLists.txt + /src/CMakeLists.txt ) endif () - FetchContent_GetProperties (ZFP) - if (NOT zfp_POPULATED) - FetchContent_Populate (ZFP) - # Copy an additional/replacement files into the populated source - file(COPY ${H5ZFP_SOURCE_DIR}/config/CMakeLists.txt DESTINATION ${zfp_SOURCE_DIR}) - file(COPY ${H5ZFP_SOURCE_DIR}/config/srcCMakeLists.txt DESTINATION ${zfp_SOURCE_DIR}/src) - file(RENAME ${zfp_SOURCE_DIR}/src/srcCMakeLists.txt ${zfp_SOURCE_DIR}/src/CMakeLists.txt) + set (ZFP_WITH_OPENMP OFF CACHE BOOL "") + set (ZFP_BIT_STREAM_WORD_SIZE 8 CACHE STRING "") + set (ZFP_LIBRARY_PREFIX ${ZFP_LIBRARY_PREFIX} CACHE STRING "") - set (ZFP_WITH_OPENMP OFF CACHE BOOL "") - set (ZFP_BIT_STREAM_WORD_SIZE 8 CACHE STRING "") - set (ZFP_LIBRARY_PREFIX ${ZFP_LIBRARY_PREFIX} CACHE STRING "") + # Store the old value of the 'BUILD_SHARED_LIBS' + set (BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) + # Make subproject to use 'BUILD_SHARED_LIBS=OFF' setting. + set (BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries" FORCE) - # Store the old value of the 'BUILD_SHARED_LIBS' - set (BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) - # Make subproject to use 'BUILD_SHARED_LIBS=OFF' setting. - set (BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries" FORCE) + FetchContent_MakeAvailable (ZFP) - add_subdirectory (${zfp_SOURCE_DIR} ${zfp_BINARY_DIR}) - - # Restore the old value of the parameter - set (BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Type of libraries to build" FORCE) - endif () + # Restore the old value of the parameter + set (BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Type of libraries to build" FORCE) # include (${BINARY_DIR}/ZFP-targets.cmake) set (ZFP_LIBRARY "zfp") diff --git a/ZFP/config/cmake/HDFMacros.cmake b/ZFP/config/cmake/HDFMacros.cmake index ec2113ad..d3b65099 100644 --- a/ZFP/config/cmake/HDFMacros.cmake +++ b/ZFP/config/cmake/HDFMacros.cmake @@ -301,6 +301,7 @@ macro (PLUGIN_README_PROPERTIES pkg_name) if (WIN32) set (BINARY_EXAMPLE_ENDING "zip") set (BINARY_INSTALL_ENDING "msi") + set (BINARY_COMPRESS_ENDING "zip") if (CMAKE_CL_64) set (BINARY_SYSTEM_NAME "win64") else () @@ -343,8 +344,10 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () - set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ????") endif () else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ${CMAKE_C_COMPILER_VERSION}") @@ -352,12 +355,14 @@ macro (PLUGIN_README_PROPERTIES pkg_name) endif () elseif (APPLE) set (BINARY_EXAMPLE_ENDING "tar.gz") + set (BINARY_COMPRESS_ENDING "tar.gz") set (BINARY_INSTALL_ENDING "sh") # if packaging changes - use dmg set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") else () set (BINARY_EXAMPLE_ENDING "tar.gz") - set (BINARY_INSTALL_ENDING "sh") + set (BINARY_COMPRESS_ENDING "tar.gz") + set (BINARY_INSTALL_ENDING "sh/deb/rpm") set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") endif () diff --git a/ZFP/config/cmake/HDFPluginMacros.cmake b/ZFP/config/cmake/HDFPluginMacros.cmake index b33268e1..aba24d7f 100644 --- a/ZFP/config/cmake/HDFPluginMacros.cmake +++ b/ZFP/config/cmake/HDFPluginMacros.cmake @@ -150,10 +150,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -161,10 +161,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () @@ -260,6 +260,13 @@ macro (HDF5_SUPPORT link_hdf) set (H5PL_HDF5_REPACK_EXECUTABLE $) endif() endif () + # Determine if a threading package is available on this system + if (HDF5_ENABLE_THREADS) + find_package (Threads) + if (NOT Threads_FOUND) + message (FATAL_ERROR " **** thread support requires C11 threads, Win32 threads or Pthreads **** ") + endif () + endif () else () find_package (HDF5) # Legacy find #Legacy find_package does not set HDF5_TOOLS_DIR, so we set it here @@ -421,6 +428,11 @@ macro (INSTALL_SUPPORT varname) set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}/${CPACK_PACKAGE_NAME}/${CPACK_PACKAGE_VERSION}") endif () + set (CPACK_ORIG_SOURCE_DIR ${CMAKE_SOURCE_DIR}) + if ("$ENV{BINSIGN}" STREQUAL "exists") + set (CPACK_PRE_BUILD_SCRIPTS ${CMAKE_SOURCE_DIR}/config/cmake/SignPackageFiles.cmake) + endif () + set (CPACK_GENERATOR "TGZ") if (WIN32) set (CPACK_GENERATOR "ZIP") @@ -503,13 +515,45 @@ macro (INSTALL_SUPPORT varname) set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${${PLUGIN_PACKAGE_NAME}_PACKAGE_BUGREPORT}") - -# list (APPEND CPACK_GENERATOR "RPM") - set (CPACK_RPM_PACKAGE_RELEASE "1") - set (CPACK_RPM_COMPONENT_INSTALL ON) - set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + + find_program (DPKGSHLIB_EXE dpkg-shlibdeps) + if (DPKGSHLIB_EXE) + list (APPEND CPACK_GENERATOR "DEB") + set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") + set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${H5PL_PACKAGE_BUGREPORT}") + endif () + + find_program (RPMBUILD_EXE rpmbuild) + if (RPMBUILD_EXE) + list (APPEND CPACK_GENERATOR "RPM") + set (CPACK_RPM_PACKAGE_RELEASE "1") + set (CPACK_RPM_PACKAGE_RELEASE_DIST ON) + set (CPACK_RPM_COMPONENT_INSTALL ON) + set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + set (CPACK_RPM_FILE_NAME "RPM-DEFAULT") + set (CPACK_RPM_PACKAGE_NAME "${CPACK_PACKAGE_NAME}") + set (CPACK_RPM_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}") + set (CPACK_RPM_PACKAGE_VENDOR "${CPACK_PACKAGE_VENDOR}") + set (CPACK_RPM_PACKAGE_LICENSE "BSD-style") + set (CPACK_RPM_PACKAGE_GROUP "Development/Libraries") + set (CPACK_RPM_PACKAGE_URL "${H5PL_PACKAGE_URL}") + set (CPACK_RPM_PACKAGE_SUMMARY "HDF5 Plugins are a suite of filters supporting registered compression libraries.") + set (CPACK_RPM_PACKAGE_DESCRIPTION + "The HDF5 technology suite includes: + + * A versatile data model that can represent very complex data objects and a wide variety of metadata. + + * A completely portable file format with no limit on the number or size of data objects in the collection. + + * A software library that runs on a range of computational platforms, from laptops to massively parallel systems, and implements a high-level API with C, C++, Fortran 90, and Java interfaces. + + * A rich set of integrated performance features that allow for access time and storage space optimizations. + +The HDF5 data model, file format, API, library, and tools are open and distributed without charge. +" + ) + endif () endif () - set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${${PLUGIN_PACKAGE_NAME}_BINARY_DIR};${PLUGIN_NAME};ALL;/") set (CPACK_ALL_INSTALL_TYPES Full User) set (CPACK_INSTALL_TYPE_FULL_DISPLAY_NAME "Everything") diff --git a/ZFP/config/cmake/SignPackageFiles.cmake b/ZFP/config/cmake/SignPackageFiles.cmake new file mode 100644 index 00000000..b23a0a05 --- /dev/null +++ b/ZFP/config/cmake/SignPackageFiles.cmake @@ -0,0 +1,41 @@ +# This script signs the targets for the package +message(STATUS "Signing script in ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY}") + +# RPM needs ALL_COMPONENTS_IN_ONE added to path between ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY} +if (CPACK_GENERATOR MATCHES "RPM") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_COMPONENTS_IN_ONE/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +elseif (CPACK_GENERATOR MATCHES "WIX" OR CPACK_GENERATOR MATCHES "NSIS") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/libraries") +elseif (CPACK_GENERATOR MATCHES "ZIP") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}") +else () + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +endif () +file (GLOB target_list LIST_DIRECTORIES false "${CPACK_TARGET_FILE_DIRECTORY}/lib/plugin/*.*") +foreach (targetfile IN LISTS target_list) + if (WIN32) + # Sign the targets + execute_process (COMMAND $ENV{SIGNTOOLDIR}/signtool + sign /v /debug /fd SHA256 /tr http://timestamp.acs.microsoft.com /td SHA256 + /dlib "Microsoft.Trusted.Signing.Client/bin/x64/Azure.CodeSigning.Dlib.dll" /dmdf ${CPACK_ORIG_SOURCE_DIR}/credentials.json + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + elseif (APPLE) + # Sign the targets + execute_process (COMMAND codesign + --force --timestamp --options runtime --entitlements ${CPACK_ORIG_SOURCE_DIR}/config/cmake/distribution.entitlements + --verbose=4 --strict --sign "$ENV{SIGNER}" + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + else () + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + endif () +endforeach () diff --git a/ZFP/config/cmake/binex/config/cmake/HDFMacros.cmake b/ZFP/config/cmake/binex/config/cmake/HDFMacros.cmake index ec2113ad..09db2daf 100644 --- a/ZFP/config/cmake/binex/config/cmake/HDFMacros.cmake +++ b/ZFP/config/cmake/binex/config/cmake/HDFMacros.cmake @@ -343,6 +343,8 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") endif () diff --git a/ZFP/config/cmake/binex/config/cmake/HDFPluginMacros.cmake b/ZFP/config/cmake/binex/config/cmake/HDFPluginMacros.cmake index d2fdb5dd..9dfe4cef 100644 --- a/ZFP/config/cmake/binex/config/cmake/HDFPluginMacros.cmake +++ b/ZFP/config/cmake/binex/config/cmake/HDFPluginMacros.cmake @@ -97,10 +97,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -138,10 +138,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () diff --git a/ZFP/config/cmake/distribution.entitlements b/ZFP/config/cmake/distribution.entitlements new file mode 100644 index 00000000..0e0df6c7 --- /dev/null +++ b/ZFP/config/cmake/distribution.entitlements @@ -0,0 +1,16 @@ + + + + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + com.apple.security.cs.disable-executable-page-protection + + com.apple.security.cs.disable-library-validation + + com.apple.security.cs.allow-dyld-environment-variables + + + diff --git a/ZFP/config/toolchain/aarch64.cmake b/ZFP/config/toolchain/aarch64.cmake index 69968336..d061949e 100644 --- a/ZFP/config/toolchain/aarch64.cmake +++ b/ZFP/config/toolchain/aarch64.cmake @@ -1,7 +1,7 @@ -set(TOOLCHAIN_PREFIX aarch64-linux-gnu) -set(ANDROID_NDK /opt/android-ndk-linux) -set (CMAKE_SYSTEM_NAME Android) -set (CMAKE_ANDROID_ARCH_ABI x86_64) +set (TOOLCHAIN_PREFIX aarch64-linux-gnu) +set (CMAKE_SYSTEM_NAME Linux) +set (CMAKE_SYSTEM_PROCESSOR aarch64) +#set (CMAKE_ANDROID_ARCH_ABI x86_64) #set (CMAKE_ANDROID_STANDALONE_TOOLCHAIN ${ANDROID_NDK}/build/cmake/android.toolchain.cmake) set (CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) set (CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) @@ -12,7 +12,7 @@ set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) -set (CMAKE_CROSSCOMPILING_EMULATOR qemu-aarch64) +set (CMAKE_CROSSCOMPILING_EMULATOR "qemu-aarch64-static;-L;/usr/aarch64-linux-gnu/" CACHE FILEPATH "Path to the emulator for the target system.") include_directories(/usr/${TOOLCHAIN_PREFIX}/include) diff --git a/ZSTD/config/cmake/H5ZSTDMacros.cmake b/ZSTD/config/cmake/H5ZSTDMacros.cmake index 0fc22073..535678e1 100644 --- a/ZSTD/config/cmake/H5ZSTDMacros.cmake +++ b/ZSTD/config/cmake/H5ZSTDMacros.cmake @@ -17,38 +17,43 @@ macro (EXTERNAL_ZSTD_LIBRARY compress_type) FetchContent_Declare (ZSTD GIT_REPOSITORY ${ZSTD_URL} GIT_TAG ${ZSTD_BRANCH} + SOURCE_SUBDIR this-directory-does-not-exist + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + ${H5ZSTD_SOURCE_DIR}/config/CMakeLists.txt + /build/cmake/CMakeLists.txt + ${H5ZSTD_SOURCE_DIR}/config/lib${CMAKE_COMMAND} -E copy + CMakeLists.txt + /build/cmake/lib/CMakeLists.txt ) elseif (${compress_type} MATCHES "TGZ") FetchContent_Declare (ZSTD URL ${ZSTD_URL} URL_HASH "" + SOURCE_SUBDIR build/cmake + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + ${H5ZSTD_SOURCE_DIR}/config/CMakeLists.txt + /build/cmake/CMakeLists.txt + && ${CMAKE_COMMAND} -E copy + ${H5ZSTD_SOURCE_DIR}/config/libCMakeLists.txt + /build/cmake/lib/CMakeLists.txt ) endif () - FetchContent_GetProperties (ZSTD) - if (NOT zstd_POPULATED) - FetchContent_Populate (ZSTD) - # Copy an additional/replacement files into the populated source - file(COPY ${H5ZSTD_SOURCE_DIR}/config/CMakeLists.txt DESTINATION ${zstd_SOURCE_DIR}/build/cmake) - file(COPY ${H5ZSTD_SOURCE_DIR}/config/libCMakeLists.txt DESTINATION ${zstd_SOURCE_DIR}/build/cmake/lib) - file(RENAME ${zstd_SOURCE_DIR}/build/cmake/lib/libCMakeLists.txt ${zstd_SOURCE_DIR}/build/cmake/lib/CMakeLists.txt) + # Store the old value of the 'BUILD_SHARED_LIBS' + set (BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) + # Make subproject to use 'BUILD_SHARED_LIBS=OFF' setting. + set (BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries" FORCE) + # Store the old value of the 'BUILD_TESTING' + set (BUILD_TESTING_OLD ${BUILD_TESTING}) + # Make subproject to use 'BUILD_TESTING=OFF' setting. + set (BUILD_TESTING OFF CACHE INTERNAL "Build Unit Testing" FORCE) - # Store the old value of the 'BUILD_SHARED_LIBS' - set (BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) - # Make subproject to use 'BUILD_SHARED_LIBS=OFF' setting. - set (BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries" FORCE) - # Store the old value of the 'BUILD_TESTING' - set (BUILD_TESTING_OLD ${BUILD_TESTING}) - # Make subproject to use 'BUILD_TESTING=OFF' setting. - set (BUILD_TESTING OFF CACHE INTERNAL "Build Unit Testing" FORCE) + FetchContent_MakeAvailable (ZSTD) - add_subdirectory (${zstd_SOURCE_DIR}/build/cmake ${zstd_BINARY_DIR}) - - # Restore the old value of the parameter - set (BUILD_TESTING ${BUILD_TESTING_OLD} CACHE BOOL "Build Unit Testing" FORCE) - # Restore the old value of the parameter - set (BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Type of libraries to build" FORCE) - endif () + # Restore the old value of the parameter + set (BUILD_TESTING ${BUILD_TESTING_OLD} CACHE BOOL "Build Unit Testing" FORCE) + # Restore the old value of the parameter + set (BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Type of libraries to build" FORCE) # include (${BINARY_DIR}/ZSTD-targets.cmake) set (ZSTD_LIBRARY "libzstd_static") diff --git a/ZSTD/config/cmake/HDFMacros.cmake b/ZSTD/config/cmake/HDFMacros.cmake index ec2113ad..d3b65099 100644 --- a/ZSTD/config/cmake/HDFMacros.cmake +++ b/ZSTD/config/cmake/HDFMacros.cmake @@ -301,6 +301,7 @@ macro (PLUGIN_README_PROPERTIES pkg_name) if (WIN32) set (BINARY_EXAMPLE_ENDING "zip") set (BINARY_INSTALL_ENDING "msi") + set (BINARY_COMPRESS_ENDING "zip") if (CMAKE_CL_64) set (BINARY_SYSTEM_NAME "win64") else () @@ -343,8 +344,10 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () - set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ????") endif () else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ${CMAKE_C_COMPILER_VERSION}") @@ -352,12 +355,14 @@ macro (PLUGIN_README_PROPERTIES pkg_name) endif () elseif (APPLE) set (BINARY_EXAMPLE_ENDING "tar.gz") + set (BINARY_COMPRESS_ENDING "tar.gz") set (BINARY_INSTALL_ENDING "sh") # if packaging changes - use dmg set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") else () set (BINARY_EXAMPLE_ENDING "tar.gz") - set (BINARY_INSTALL_ENDING "sh") + set (BINARY_COMPRESS_ENDING "tar.gz") + set (BINARY_INSTALL_ENDING "sh/deb/rpm") set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") endif () diff --git a/ZSTD/config/cmake/HDFPluginMacros.cmake b/ZSTD/config/cmake/HDFPluginMacros.cmake index 40bf5cc1..aba24d7f 100644 --- a/ZSTD/config/cmake/HDFPluginMacros.cmake +++ b/ZSTD/config/cmake/HDFPluginMacros.cmake @@ -150,10 +150,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -161,10 +161,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () @@ -260,6 +260,13 @@ macro (HDF5_SUPPORT link_hdf) set (H5PL_HDF5_REPACK_EXECUTABLE $) endif() endif () + # Determine if a threading package is available on this system + if (HDF5_ENABLE_THREADS) + find_package (Threads) + if (NOT Threads_FOUND) + message (FATAL_ERROR " **** thread support requires C11 threads, Win32 threads or Pthreads **** ") + endif () + endif () else () find_package (HDF5) # Legacy find #Legacy find_package does not set HDF5_TOOLS_DIR, so we set it here @@ -322,7 +329,7 @@ macro (INSTALL_SUPPORT varname) #----------------------------------------------------------------------------- # Configure the H5PL_Examples.cmake file and the examples #----------------------------------------------------------------------------- - if (${PLUGIN_PACKAGE_NAME}_H5PL_BUILD_TESTING) + if (${PLUGIN_PACKAGE_NAME}_BUILD_TESTING) configure_file ( ${${PLUGIN_PACKAGE_NAME}_RESOURCES_DIR}/H5PL_Examples.cmake.in ${${PLUGIN_PACKAGE_NAME}_BINARY_DIR}/H5PL_Examples.cmake @ONLY @@ -421,6 +428,11 @@ macro (INSTALL_SUPPORT varname) set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}/${CPACK_PACKAGE_NAME}/${CPACK_PACKAGE_VERSION}") endif () + set (CPACK_ORIG_SOURCE_DIR ${CMAKE_SOURCE_DIR}) + if ("$ENV{BINSIGN}" STREQUAL "exists") + set (CPACK_PRE_BUILD_SCRIPTS ${CMAKE_SOURCE_DIR}/config/cmake/SignPackageFiles.cmake) + endif () + set (CPACK_GENERATOR "TGZ") if (WIN32) set (CPACK_GENERATOR "ZIP") @@ -503,13 +515,45 @@ macro (INSTALL_SUPPORT varname) set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${${PLUGIN_PACKAGE_NAME}_PACKAGE_BUGREPORT}") - -# list (APPEND CPACK_GENERATOR "RPM") - set (CPACK_RPM_PACKAGE_RELEASE "1") - set (CPACK_RPM_COMPONENT_INSTALL ON) - set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + + find_program (DPKGSHLIB_EXE dpkg-shlibdeps) + if (DPKGSHLIB_EXE) + list (APPEND CPACK_GENERATOR "DEB") + set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") + set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${H5PL_PACKAGE_BUGREPORT}") + endif () + + find_program (RPMBUILD_EXE rpmbuild) + if (RPMBUILD_EXE) + list (APPEND CPACK_GENERATOR "RPM") + set (CPACK_RPM_PACKAGE_RELEASE "1") + set (CPACK_RPM_PACKAGE_RELEASE_DIST ON) + set (CPACK_RPM_COMPONENT_INSTALL ON) + set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + set (CPACK_RPM_FILE_NAME "RPM-DEFAULT") + set (CPACK_RPM_PACKAGE_NAME "${CPACK_PACKAGE_NAME}") + set (CPACK_RPM_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}") + set (CPACK_RPM_PACKAGE_VENDOR "${CPACK_PACKAGE_VENDOR}") + set (CPACK_RPM_PACKAGE_LICENSE "BSD-style") + set (CPACK_RPM_PACKAGE_GROUP "Development/Libraries") + set (CPACK_RPM_PACKAGE_URL "${H5PL_PACKAGE_URL}") + set (CPACK_RPM_PACKAGE_SUMMARY "HDF5 Plugins are a suite of filters supporting registered compression libraries.") + set (CPACK_RPM_PACKAGE_DESCRIPTION + "The HDF5 technology suite includes: + + * A versatile data model that can represent very complex data objects and a wide variety of metadata. + + * A completely portable file format with no limit on the number or size of data objects in the collection. + + * A software library that runs on a range of computational platforms, from laptops to massively parallel systems, and implements a high-level API with C, C++, Fortran 90, and Java interfaces. + + * A rich set of integrated performance features that allow for access time and storage space optimizations. + +The HDF5 data model, file format, API, library, and tools are open and distributed without charge. +" + ) + endif () endif () - set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${${PLUGIN_PACKAGE_NAME}_BINARY_DIR};${PLUGIN_NAME};ALL;/") set (CPACK_ALL_INSTALL_TYPES Full User) set (CPACK_INSTALL_TYPE_FULL_DISPLAY_NAME "Everything") diff --git a/ZSTD/config/cmake/SignPackageFiles.cmake b/ZSTD/config/cmake/SignPackageFiles.cmake new file mode 100644 index 00000000..b23a0a05 --- /dev/null +++ b/ZSTD/config/cmake/SignPackageFiles.cmake @@ -0,0 +1,41 @@ +# This script signs the targets for the package +message(STATUS "Signing script in ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY}") + +# RPM needs ALL_COMPONENTS_IN_ONE added to path between ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY} +if (CPACK_GENERATOR MATCHES "RPM") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_COMPONENTS_IN_ONE/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +elseif (CPACK_GENERATOR MATCHES "WIX" OR CPACK_GENERATOR MATCHES "NSIS") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/libraries") +elseif (CPACK_GENERATOR MATCHES "ZIP") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}") +else () + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +endif () +file (GLOB target_list LIST_DIRECTORIES false "${CPACK_TARGET_FILE_DIRECTORY}/lib/plugin/*.*") +foreach (targetfile IN LISTS target_list) + if (WIN32) + # Sign the targets + execute_process (COMMAND $ENV{SIGNTOOLDIR}/signtool + sign /v /debug /fd SHA256 /tr http://timestamp.acs.microsoft.com /td SHA256 + /dlib "Microsoft.Trusted.Signing.Client/bin/x64/Azure.CodeSigning.Dlib.dll" /dmdf ${CPACK_ORIG_SOURCE_DIR}/credentials.json + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + elseif (APPLE) + # Sign the targets + execute_process (COMMAND codesign + --force --timestamp --options runtime --entitlements ${CPACK_ORIG_SOURCE_DIR}/config/cmake/distribution.entitlements + --verbose=4 --strict --sign "$ENV{SIGNER}" + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + else () + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + endif () +endforeach () diff --git a/ZSTD/config/cmake/binex/config/cmake/HDFMacros.cmake b/ZSTD/config/cmake/binex/config/cmake/HDFMacros.cmake index ec2113ad..09db2daf 100644 --- a/ZSTD/config/cmake/binex/config/cmake/HDFMacros.cmake +++ b/ZSTD/config/cmake/binex/config/cmake/HDFMacros.cmake @@ -343,6 +343,8 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") endif () diff --git a/ZSTD/config/cmake/binex/config/cmake/HDFPluginMacros.cmake b/ZSTD/config/cmake/binex/config/cmake/HDFPluginMacros.cmake index d2fdb5dd..9dfe4cef 100644 --- a/ZSTD/config/cmake/binex/config/cmake/HDFPluginMacros.cmake +++ b/ZSTD/config/cmake/binex/config/cmake/HDFPluginMacros.cmake @@ -97,10 +97,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -138,10 +138,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () diff --git a/ZSTD/config/cmake/distribution.entitlements b/ZSTD/config/cmake/distribution.entitlements new file mode 100644 index 00000000..0e0df6c7 --- /dev/null +++ b/ZSTD/config/cmake/distribution.entitlements @@ -0,0 +1,16 @@ + + + + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + com.apple.security.cs.disable-executable-page-protection + + com.apple.security.cs.disable-library-validation + + com.apple.security.cs.allow-dyld-environment-variables + + + diff --git a/ZSTD/config/toolchain/aarch64.cmake b/ZSTD/config/toolchain/aarch64.cmake index 69968336..d061949e 100644 --- a/ZSTD/config/toolchain/aarch64.cmake +++ b/ZSTD/config/toolchain/aarch64.cmake @@ -1,7 +1,7 @@ -set(TOOLCHAIN_PREFIX aarch64-linux-gnu) -set(ANDROID_NDK /opt/android-ndk-linux) -set (CMAKE_SYSTEM_NAME Android) -set (CMAKE_ANDROID_ARCH_ABI x86_64) +set (TOOLCHAIN_PREFIX aarch64-linux-gnu) +set (CMAKE_SYSTEM_NAME Linux) +set (CMAKE_SYSTEM_PROCESSOR aarch64) +#set (CMAKE_ANDROID_ARCH_ABI x86_64) #set (CMAKE_ANDROID_STANDALONE_TOOLCHAIN ${ANDROID_NDK}/build/cmake/android.toolchain.cmake) set (CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) set (CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) @@ -12,7 +12,7 @@ set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) -set (CMAKE_CROSSCOMPILING_EMULATOR qemu-aarch64) +set (CMAKE_CROSSCOMPILING_EMULATOR "qemu-aarch64-static;-L;/usr/aarch64-linux-gnu/" CACHE FILEPATH "Path to the emulator for the target system.") include_directories(/usr/${TOOLCHAIN_PREFIX}/include) diff --git a/community/CMakeLists.txt b/community/CMakeLists.txt new file mode 100644 index 00000000..dab33ad4 --- /dev/null +++ b/community/CMakeLists.txt @@ -0,0 +1,48 @@ +# +# 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. +# +cmake_minimum_required(VERSION 3.12) +project (H5PL_COMM C) + +# FPZIP filter +#FILTER_OPTION (FPZIP) + +#if (WIN32 AND MSVC_VERSION GREATER 1600) +# # MAFISC filter +# FILTER_OPTION (MAFISC) +#elseif (NOT WIN32) +# FILTER_OPTION (MAFISC) +#else () +# set (ENABLE_MAFISC OFF CACHE BOOL "" FORCE) +#endif () + +# SZ filter +#if (WIN32 AND MSVC_VERSION GREATER_EQUAL 1930) + #if (NOT CMAKE_C_COMPILER_ID MATCHES "[Cc]lang" AND NOT CMAKE_C_COMPILER_ID MATCHES "Intel[Ll][Ll][Vv][Mm]") + # FILTER_OPTION (SZ) + #else () +# set (ENABLE_SZ OFF CACHE BOOL "" FORCE) + #endif () +#elseif (WIN32 AND MSVC_VERSION GREATER 1900) +# if (CMAKE_C_COMPILER_ID MATCHES "[Cc]lang" AND NOT CMAKE_C_COMPILER_ID MATCHES "Intel[Ll][Ll][Vv][Mm]") +# FILTER_OPTION (SZ) +# else () +# set (ENABLE_SZ OFF CACHE BOOL "" FORCE) +# endif () +#elseif (NOT WIN32) +# if(CMAKE_C_COMPILER_ID MATCHES "[Cc]lang" AND NOT CMAKE_C_COMPILER_ID MATCHES "Apple[Cc]lang") +# FILTER_OPTION (SZ) +# else () +# set (ENABLE_SZ OFF CACHE BOOL "" FORCE) +# endif () +#else () + set (ENABLE_SZ OFF CACHE BOOL "" FORCE) +#endif () diff --git a/MAFISC/Additional_Legal/License b/community/MAFISC/Additional_Legal/License similarity index 100% rename from MAFISC/Additional_Legal/License rename to community/MAFISC/Additional_Legal/License diff --git a/MAFISC/CMakeLists.txt b/community/MAFISC/CMakeLists.txt similarity index 100% rename from MAFISC/CMakeLists.txt rename to community/MAFISC/CMakeLists.txt diff --git a/MAFISC/CTestConfig.cmake b/community/MAFISC/CTestConfig.cmake similarity index 100% rename from MAFISC/CTestConfig.cmake rename to community/MAFISC/CTestConfig.cmake diff --git a/MAFISC/Makefile.am b/community/MAFISC/Makefile.am similarity index 100% rename from MAFISC/Makefile.am rename to community/MAFISC/Makefile.am diff --git a/MAFISC/README.txt b/community/MAFISC/README.txt similarity index 100% rename from MAFISC/README.txt rename to community/MAFISC/README.txt diff --git a/MAFISC/bin/config.guess b/community/MAFISC/bin/config.guess old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/bin/config.guess rename to community/MAFISC/bin/config.guess diff --git a/MAFISC/bin/config.sub b/community/MAFISC/bin/config.sub old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/bin/config.sub rename to community/MAFISC/bin/config.sub diff --git a/MAFISC/bin/depcomp b/community/MAFISC/bin/depcomp old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/bin/depcomp rename to community/MAFISC/bin/depcomp diff --git a/MAFISC/bin/install-sh b/community/MAFISC/bin/install-sh old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/bin/install-sh rename to community/MAFISC/bin/install-sh diff --git a/MAFISC/bin/ltmain.sh b/community/MAFISC/bin/ltmain.sh similarity index 100% rename from MAFISC/bin/ltmain.sh rename to community/MAFISC/bin/ltmain.sh diff --git a/MAFISC/bin/missing b/community/MAFISC/bin/missing old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/bin/missing rename to community/MAFISC/bin/missing diff --git a/MAFISC/bin/mkinstalldirs b/community/MAFISC/bin/mkinstalldirs old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/bin/mkinstalldirs rename to community/MAFISC/bin/mkinstalldirs diff --git a/MAFISC/bin/reconfigure b/community/MAFISC/bin/reconfigure old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/bin/reconfigure rename to community/MAFISC/bin/reconfigure diff --git a/MAFISC/config.h.in b/community/MAFISC/config.h.in similarity index 100% rename from MAFISC/config.h.in rename to community/MAFISC/config.h.in diff --git a/MAFISC/config/cmake/CTestCustom.cmake b/community/MAFISC/config/cmake/CTestCustom.cmake old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/config/cmake/CTestCustom.cmake rename to community/MAFISC/config/cmake/CTestCustom.cmake diff --git a/MAFISC/config/cmake/CTestScript.cmake b/community/MAFISC/config/cmake/CTestScript.cmake old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/config/cmake/CTestScript.cmake rename to community/MAFISC/config/cmake/CTestScript.cmake diff --git a/MAFISC/config/cmake/ConfigureChecks.cmake b/community/MAFISC/config/cmake/ConfigureChecks.cmake similarity index 100% rename from MAFISC/config/cmake/ConfigureChecks.cmake rename to community/MAFISC/config/cmake/ConfigureChecks.cmake diff --git a/MAFISC/config/cmake/H5MAFISCMacros.cmake b/community/MAFISC/config/cmake/H5MAFISCMacros.cmake similarity index 87% rename from MAFISC/config/cmake/H5MAFISCMacros.cmake rename to community/MAFISC/config/cmake/H5MAFISCMacros.cmake index 12a99b99..e34b6748 100644 --- a/MAFISC/config/cmake/H5MAFISCMacros.cmake +++ b/community/MAFISC/config/cmake/H5MAFISCMacros.cmake @@ -24,12 +24,7 @@ macro (EXTERNAL_MAFISC_LIBRARY compress_type) URL_HASH "" ) endif () - FetchContent_GetProperties (MAFISC) - if (NOT mafisc_POPULATED) - FetchContent_Populate (MAFISC) - - add_subdirectory (${mafisc_SOURCE_DIR} ${mafisc_BINARY_DIR}) - endif () + FetchContent_MakeAvailable (MAFISC) # include (${BINARY_DIR}/MAFISC-targets.cmake) set (MAFISC_LIBRARY "mafisc-static") diff --git a/MAFISC/config/cmake/H5PLTests.c b/community/MAFISC/config/cmake/H5PLTests.c similarity index 100% rename from MAFISC/config/cmake/H5PLTests.c rename to community/MAFISC/config/cmake/H5PLTests.c diff --git a/MAFISC/config/cmake/H5PL_Examples.cmake.in b/community/MAFISC/config/cmake/H5PL_Examples.cmake.in similarity index 100% rename from MAFISC/config/cmake/H5PL_Examples.cmake.in rename to community/MAFISC/config/cmake/H5PL_Examples.cmake.in diff --git a/MAFISC/config/cmake/binex/config/cmake/HDFMacros.cmake b/community/MAFISC/config/cmake/HDFMacros.cmake similarity index 98% rename from MAFISC/config/cmake/binex/config/cmake/HDFMacros.cmake rename to community/MAFISC/config/cmake/HDFMacros.cmake index ec2113ad..d3b65099 100644 --- a/MAFISC/config/cmake/binex/config/cmake/HDFMacros.cmake +++ b/community/MAFISC/config/cmake/HDFMacros.cmake @@ -301,6 +301,7 @@ macro (PLUGIN_README_PROPERTIES pkg_name) if (WIN32) set (BINARY_EXAMPLE_ENDING "zip") set (BINARY_INSTALL_ENDING "msi") + set (BINARY_COMPRESS_ENDING "zip") if (CMAKE_CL_64) set (BINARY_SYSTEM_NAME "win64") else () @@ -343,8 +344,10 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () - set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ????") endif () else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ${CMAKE_C_COMPILER_VERSION}") @@ -352,12 +355,14 @@ macro (PLUGIN_README_PROPERTIES pkg_name) endif () elseif (APPLE) set (BINARY_EXAMPLE_ENDING "tar.gz") + set (BINARY_COMPRESS_ENDING "tar.gz") set (BINARY_INSTALL_ENDING "sh") # if packaging changes - use dmg set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") else () set (BINARY_EXAMPLE_ENDING "tar.gz") - set (BINARY_INSTALL_ENDING "sh") + set (BINARY_COMPRESS_ENDING "tar.gz") + set (BINARY_INSTALL_ENDING "sh/deb/rpm") set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") endif () diff --git a/MAFISC/config/cmake/HDFPluginMacros.cmake b/community/MAFISC/config/cmake/HDFPluginMacros.cmake similarity index 90% rename from MAFISC/config/cmake/HDFPluginMacros.cmake rename to community/MAFISC/config/cmake/HDFPluginMacros.cmake index b33268e1..aba24d7f 100644 --- a/MAFISC/config/cmake/HDFPluginMacros.cmake +++ b/community/MAFISC/config/cmake/HDFPluginMacros.cmake @@ -150,10 +150,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -161,10 +161,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () @@ -260,6 +260,13 @@ macro (HDF5_SUPPORT link_hdf) set (H5PL_HDF5_REPACK_EXECUTABLE $) endif() endif () + # Determine if a threading package is available on this system + if (HDF5_ENABLE_THREADS) + find_package (Threads) + if (NOT Threads_FOUND) + message (FATAL_ERROR " **** thread support requires C11 threads, Win32 threads or Pthreads **** ") + endif () + endif () else () find_package (HDF5) # Legacy find #Legacy find_package does not set HDF5_TOOLS_DIR, so we set it here @@ -421,6 +428,11 @@ macro (INSTALL_SUPPORT varname) set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}/${CPACK_PACKAGE_NAME}/${CPACK_PACKAGE_VERSION}") endif () + set (CPACK_ORIG_SOURCE_DIR ${CMAKE_SOURCE_DIR}) + if ("$ENV{BINSIGN}" STREQUAL "exists") + set (CPACK_PRE_BUILD_SCRIPTS ${CMAKE_SOURCE_DIR}/config/cmake/SignPackageFiles.cmake) + endif () + set (CPACK_GENERATOR "TGZ") if (WIN32) set (CPACK_GENERATOR "ZIP") @@ -503,13 +515,45 @@ macro (INSTALL_SUPPORT varname) set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${${PLUGIN_PACKAGE_NAME}_PACKAGE_BUGREPORT}") - -# list (APPEND CPACK_GENERATOR "RPM") - set (CPACK_RPM_PACKAGE_RELEASE "1") - set (CPACK_RPM_COMPONENT_INSTALL ON) - set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + + find_program (DPKGSHLIB_EXE dpkg-shlibdeps) + if (DPKGSHLIB_EXE) + list (APPEND CPACK_GENERATOR "DEB") + set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") + set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${H5PL_PACKAGE_BUGREPORT}") + endif () + + find_program (RPMBUILD_EXE rpmbuild) + if (RPMBUILD_EXE) + list (APPEND CPACK_GENERATOR "RPM") + set (CPACK_RPM_PACKAGE_RELEASE "1") + set (CPACK_RPM_PACKAGE_RELEASE_DIST ON) + set (CPACK_RPM_COMPONENT_INSTALL ON) + set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + set (CPACK_RPM_FILE_NAME "RPM-DEFAULT") + set (CPACK_RPM_PACKAGE_NAME "${CPACK_PACKAGE_NAME}") + set (CPACK_RPM_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}") + set (CPACK_RPM_PACKAGE_VENDOR "${CPACK_PACKAGE_VENDOR}") + set (CPACK_RPM_PACKAGE_LICENSE "BSD-style") + set (CPACK_RPM_PACKAGE_GROUP "Development/Libraries") + set (CPACK_RPM_PACKAGE_URL "${H5PL_PACKAGE_URL}") + set (CPACK_RPM_PACKAGE_SUMMARY "HDF5 Plugins are a suite of filters supporting registered compression libraries.") + set (CPACK_RPM_PACKAGE_DESCRIPTION + "The HDF5 technology suite includes: + + * A versatile data model that can represent very complex data objects and a wide variety of metadata. + + * A completely portable file format with no limit on the number or size of data objects in the collection. + + * A software library that runs on a range of computational platforms, from laptops to massively parallel systems, and implements a high-level API with C, C++, Fortran 90, and Java interfaces. + + * A rich set of integrated performance features that allow for access time and storage space optimizations. + +The HDF5 data model, file format, API, library, and tools are open and distributed without charge. +" + ) + endif () endif () - set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${${PLUGIN_PACKAGE_NAME}_BINARY_DIR};${PLUGIN_NAME};ALL;/") set (CPACK_ALL_INSTALL_TYPES Full User) set (CPACK_INSTALL_TYPE_FULL_DISPLAY_NAME "Everything") diff --git a/MAFISC/config/cmake/HDFoptions.cmake b/community/MAFISC/config/cmake/HDFoptions.cmake old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/config/cmake/HDFoptions.cmake rename to community/MAFISC/config/cmake/HDFoptions.cmake diff --git a/MAFISC/config/cmake/NSIS.InstallOptions.ini.in b/community/MAFISC/config/cmake/NSIS.InstallOptions.ini.in similarity index 100% rename from MAFISC/config/cmake/NSIS.InstallOptions.ini.in rename to community/MAFISC/config/cmake/NSIS.InstallOptions.ini.in diff --git a/MAFISC/config/cmake/NSIS.template.in b/community/MAFISC/config/cmake/NSIS.template.in similarity index 100% rename from MAFISC/config/cmake/NSIS.template.in rename to community/MAFISC/config/cmake/NSIS.template.in diff --git a/MAFISC/config/cmake/README.txt.cmake.in b/community/MAFISC/config/cmake/README.txt.cmake.in similarity index 100% rename from MAFISC/config/cmake/README.txt.cmake.in rename to community/MAFISC/config/cmake/README.txt.cmake.in diff --git a/community/MAFISC/config/cmake/SignPackageFiles.cmake b/community/MAFISC/config/cmake/SignPackageFiles.cmake new file mode 100644 index 00000000..b23a0a05 --- /dev/null +++ b/community/MAFISC/config/cmake/SignPackageFiles.cmake @@ -0,0 +1,41 @@ +# This script signs the targets for the package +message(STATUS "Signing script in ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY}") + +# RPM needs ALL_COMPONENTS_IN_ONE added to path between ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY} +if (CPACK_GENERATOR MATCHES "RPM") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_COMPONENTS_IN_ONE/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +elseif (CPACK_GENERATOR MATCHES "WIX" OR CPACK_GENERATOR MATCHES "NSIS") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/libraries") +elseif (CPACK_GENERATOR MATCHES "ZIP") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}") +else () + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +endif () +file (GLOB target_list LIST_DIRECTORIES false "${CPACK_TARGET_FILE_DIRECTORY}/lib/plugin/*.*") +foreach (targetfile IN LISTS target_list) + if (WIN32) + # Sign the targets + execute_process (COMMAND $ENV{SIGNTOOLDIR}/signtool + sign /v /debug /fd SHA256 /tr http://timestamp.acs.microsoft.com /td SHA256 + /dlib "Microsoft.Trusted.Signing.Client/bin/x64/Azure.CodeSigning.Dlib.dll" /dmdf ${CPACK_ORIG_SOURCE_DIR}/credentials.json + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + elseif (APPLE) + # Sign the targets + execute_process (COMMAND codesign + --force --timestamp --options runtime --entitlements ${CPACK_ORIG_SOURCE_DIR}/config/cmake/distribution.entitlements + --verbose=4 --strict --sign "$ENV{SIGNER}" + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + else () + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + endif () +endforeach () diff --git a/MAFISC/config/cmake/binex/CMakeLists.txt b/community/MAFISC/config/cmake/binex/CMakeLists.txt similarity index 100% rename from MAFISC/config/cmake/binex/CMakeLists.txt rename to community/MAFISC/config/cmake/binex/CMakeLists.txt diff --git a/MAFISC/config/cmake/binex/CTestConfig.cmake b/community/MAFISC/config/cmake/binex/CTestConfig.cmake similarity index 100% rename from MAFISC/config/cmake/binex/CTestConfig.cmake rename to community/MAFISC/config/cmake/binex/CTestConfig.cmake diff --git a/MAFISC/config/cmake/binex/Using_CMake.txt b/community/MAFISC/config/cmake/binex/Using_CMake.txt similarity index 100% rename from MAFISC/config/cmake/binex/Using_CMake.txt rename to community/MAFISC/config/cmake/binex/Using_CMake.txt diff --git a/MAFISC/config/cmake/binex/config/cmake/CTestCustom.cmake b/community/MAFISC/config/cmake/binex/config/cmake/CTestCustom.cmake old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/config/cmake/binex/config/cmake/CTestCustom.cmake rename to community/MAFISC/config/cmake/binex/config/cmake/CTestCustom.cmake diff --git a/MAFISC/config/cmake/HDFMacros.cmake b/community/MAFISC/config/cmake/binex/config/cmake/HDFMacros.cmake similarity index 99% rename from MAFISC/config/cmake/HDFMacros.cmake rename to community/MAFISC/config/cmake/binex/config/cmake/HDFMacros.cmake index ec2113ad..09db2daf 100644 --- a/MAFISC/config/cmake/HDFMacros.cmake +++ b/community/MAFISC/config/cmake/binex/config/cmake/HDFMacros.cmake @@ -343,6 +343,8 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") endif () diff --git a/SZ/config/cmake/binex/config/cmake/HDFPluginMacros.cmake b/community/MAFISC/config/cmake/binex/config/cmake/HDFPluginMacros.cmake similarity index 98% rename from SZ/config/cmake/binex/config/cmake/HDFPluginMacros.cmake rename to community/MAFISC/config/cmake/binex/config/cmake/HDFPluginMacros.cmake index d2fdb5dd..9dfe4cef 100644 --- a/SZ/config/cmake/binex/config/cmake/HDFPluginMacros.cmake +++ b/community/MAFISC/config/cmake/binex/config/cmake/HDFPluginMacros.cmake @@ -97,10 +97,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -138,10 +138,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () diff --git a/MAFISC/config/cmake/binex/config/cmake/cacheinit.cmake b/community/MAFISC/config/cmake/binex/config/cmake/cacheinit.cmake old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/config/cmake/binex/config/cmake/cacheinit.cmake rename to community/MAFISC/config/cmake/binex/config/cmake/cacheinit.cmake diff --git a/MAFISC/config/cmake/binex/config/cmake/grepTest.cmake b/community/MAFISC/config/cmake/binex/config/cmake/grepTest.cmake similarity index 100% rename from MAFISC/config/cmake/binex/config/cmake/grepTest.cmake rename to community/MAFISC/config/cmake/binex/config/cmake/grepTest.cmake diff --git a/MAFISC/config/cmake/binex/config/cmake/runTest.cmake b/community/MAFISC/config/cmake/binex/config/cmake/runTest.cmake similarity index 100% rename from MAFISC/config/cmake/binex/config/cmake/runTest.cmake rename to community/MAFISC/config/cmake/binex/config/cmake/runTest.cmake diff --git a/MAFISC/config/cmake/binex/config/toolchain/aarch64.cmake b/community/MAFISC/config/cmake/binex/config/toolchain/aarch64.cmake similarity index 100% rename from MAFISC/config/cmake/binex/config/toolchain/aarch64.cmake rename to community/MAFISC/config/cmake/binex/config/toolchain/aarch64.cmake diff --git a/MAFISC/config/cmake/binex/config/toolchain/build32.cmake b/community/MAFISC/config/cmake/binex/config/toolchain/build32.cmake similarity index 100% rename from MAFISC/config/cmake/binex/config/toolchain/build32.cmake rename to community/MAFISC/config/cmake/binex/config/toolchain/build32.cmake diff --git a/MAFISC/config/cmake/binex/config/toolchain/clang.cmake b/community/MAFISC/config/cmake/binex/config/toolchain/clang.cmake similarity index 100% rename from MAFISC/config/cmake/binex/config/toolchain/clang.cmake rename to community/MAFISC/config/cmake/binex/config/toolchain/clang.cmake diff --git a/MAFISC/config/cmake/binex/config/toolchain/crayle.cmake b/community/MAFISC/config/cmake/binex/config/toolchain/crayle.cmake similarity index 100% rename from MAFISC/config/cmake/binex/config/toolchain/crayle.cmake rename to community/MAFISC/config/cmake/binex/config/toolchain/crayle.cmake diff --git a/MAFISC/config/cmake/binex/config/toolchain/gcc.cmake b/community/MAFISC/config/cmake/binex/config/toolchain/gcc.cmake similarity index 100% rename from MAFISC/config/cmake/binex/config/toolchain/gcc.cmake rename to community/MAFISC/config/cmake/binex/config/toolchain/gcc.cmake diff --git a/MAFISC/config/cmake/binex/config/toolchain/icc.cmake b/community/MAFISC/config/cmake/binex/config/toolchain/icc.cmake similarity index 100% rename from MAFISC/config/cmake/binex/config/toolchain/icc.cmake rename to community/MAFISC/config/cmake/binex/config/toolchain/icc.cmake diff --git a/MAFISC/config/cmake/binex/config/toolchain/mingw64.cmake b/community/MAFISC/config/cmake/binex/config/toolchain/mingw64.cmake similarity index 100% rename from MAFISC/config/cmake/binex/config/toolchain/mingw64.cmake rename to community/MAFISC/config/cmake/binex/config/toolchain/mingw64.cmake diff --git a/MAFISC/config/cmake/binex/config/toolchain/pgi.cmake b/community/MAFISC/config/cmake/binex/config/toolchain/pgi.cmake similarity index 100% rename from MAFISC/config/cmake/binex/config/toolchain/pgi.cmake rename to community/MAFISC/config/cmake/binex/config/toolchain/pgi.cmake diff --git a/MAFISC/config/cmake/binex/example/CMakeLists.txt b/community/MAFISC/config/cmake/binex/example/CMakeLists.txt similarity index 100% rename from MAFISC/config/cmake/binex/example/CMakeLists.txt rename to community/MAFISC/config/cmake/binex/example/CMakeLists.txt diff --git a/MAFISC/config/cmake/binex/example/h5ex_d_mafisc.c b/community/MAFISC/config/cmake/binex/example/h5ex_d_mafisc.c similarity index 100% rename from MAFISC/config/cmake/binex/example/h5ex_d_mafisc.c rename to community/MAFISC/config/cmake/binex/example/h5ex_d_mafisc.c diff --git a/MAFISC/config/cmake/binex/example/test/test.sh b/community/MAFISC/config/cmake/binex/example/test/test.sh old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/config/cmake/binex/example/test/test.sh rename to community/MAFISC/config/cmake/binex/example/test/test.sh diff --git a/MAFISC/config/cmake/binex/example/test/testCM.sh b/community/MAFISC/config/cmake/binex/example/test/testCM.sh old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/config/cmake/binex/example/test/testCM.sh rename to community/MAFISC/config/cmake/binex/example/test/testCM.sh diff --git a/MAFISC/config/cmake/binex/example/testfiles/h5ex_d_mafisc.ddl b/community/MAFISC/config/cmake/binex/example/testfiles/h5ex_d_mafisc.ddl similarity index 100% rename from MAFISC/config/cmake/binex/example/testfiles/h5ex_d_mafisc.ddl rename to community/MAFISC/config/cmake/binex/example/testfiles/h5ex_d_mafisc.ddl diff --git a/MAFISC/config/cmake/binex/example/testfiles/h5ex_d_mafisc.err b/community/MAFISC/config/cmake/binex/example/testfiles/h5ex_d_mafisc.err similarity index 100% rename from MAFISC/config/cmake/binex/example/testfiles/h5ex_d_mafisc.err rename to community/MAFISC/config/cmake/binex/example/testfiles/h5ex_d_mafisc.err diff --git a/MAFISC/config/cmake/binex/example/testfiles/h5ex_d_mafisc.h5 b/community/MAFISC/config/cmake/binex/example/testfiles/h5ex_d_mafisc.h5 similarity index 100% rename from MAFISC/config/cmake/binex/example/testfiles/h5ex_d_mafisc.h5 rename to community/MAFISC/config/cmake/binex/example/testfiles/h5ex_d_mafisc.h5 diff --git a/MAFISC/config/cmake/binex/example/testfiles/h5ex_d_mafisc.tst b/community/MAFISC/config/cmake/binex/example/testfiles/h5ex_d_mafisc.tst old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/config/cmake/binex/example/testfiles/h5ex_d_mafisc.tst rename to community/MAFISC/config/cmake/binex/example/testfiles/h5ex_d_mafisc.tst diff --git a/MAFISC/config/cmake/binex/example/testfiles/h5repack_layout.h5 b/community/MAFISC/config/cmake/binex/example/testfiles/h5repack_layout.h5 similarity index 100% rename from MAFISC/config/cmake/binex/example/testfiles/h5repack_layout.h5 rename to community/MAFISC/config/cmake/binex/example/testfiles/h5repack_layout.h5 diff --git a/MAFISC/config/cmake/binex/example/testfiles/h5repack_layout.h5-ud_convert.ddl b/community/MAFISC/config/cmake/binex/example/testfiles/h5repack_layout.h5-ud_convert.ddl similarity index 100% rename from MAFISC/config/cmake/binex/example/testfiles/h5repack_layout.h5-ud_convert.ddl rename to community/MAFISC/config/cmake/binex/example/testfiles/h5repack_layout.h5-ud_convert.ddl diff --git a/MAFISC/config/cmake/binex/example/testfiles/ud_convert.h5repack_layout.h5.tst b/community/MAFISC/config/cmake/binex/example/testfiles/ud_convert.h5repack_layout.h5.tst similarity index 100% rename from MAFISC/config/cmake/binex/example/testfiles/ud_convert.h5repack_layout.h5.tst rename to community/MAFISC/config/cmake/binex/example/testfiles/ud_convert.h5repack_layout.h5.tst diff --git a/MAFISC/config/cmake/cacheinit.cmake b/community/MAFISC/config/cmake/cacheinit.cmake similarity index 100% rename from MAFISC/config/cmake/cacheinit.cmake rename to community/MAFISC/config/cmake/cacheinit.cmake diff --git a/MAFISC/config/cmake/config.h.in b/community/MAFISC/config/cmake/config.h.in similarity index 100% rename from MAFISC/config/cmake/config.h.in rename to community/MAFISC/config/cmake/config.h.in diff --git a/community/MAFISC/config/cmake/distribution.entitlements b/community/MAFISC/config/cmake/distribution.entitlements new file mode 100644 index 00000000..0e0df6c7 --- /dev/null +++ b/community/MAFISC/config/cmake/distribution.entitlements @@ -0,0 +1,16 @@ + + + + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + com.apple.security.cs.disable-executable-page-protection + + com.apple.security.cs.disable-library-validation + + com.apple.security.cs.allow-dyld-environment-variables + + + diff --git a/MAFISC/config/cmake/grepTest.cmake b/community/MAFISC/config/cmake/grepTest.cmake old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/config/cmake/grepTest.cmake rename to community/MAFISC/config/cmake/grepTest.cmake diff --git a/MAFISC/config/cmake/h5mafisc-config-version.cmake.in b/community/MAFISC/config/cmake/h5mafisc-config-version.cmake.in similarity index 100% rename from MAFISC/config/cmake/h5mafisc-config-version.cmake.in rename to community/MAFISC/config/cmake/h5mafisc-config-version.cmake.in diff --git a/MAFISC/config/cmake/h5mafisc-config.cmake.in b/community/MAFISC/config/cmake/h5mafisc-config.cmake.in similarity index 100% rename from MAFISC/config/cmake/h5mafisc-config.cmake.in rename to community/MAFISC/config/cmake/h5mafisc-config.cmake.in diff --git a/MAFISC/config/cmake/runTest.cmake b/community/MAFISC/config/cmake/runTest.cmake old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/config/cmake/runTest.cmake rename to community/MAFISC/config/cmake/runTest.cmake diff --git a/MAFISC/config/toolchain/aarch64.cmake b/community/MAFISC/config/toolchain/aarch64.cmake similarity index 66% rename from MAFISC/config/toolchain/aarch64.cmake rename to community/MAFISC/config/toolchain/aarch64.cmake index 69968336..d061949e 100644 --- a/MAFISC/config/toolchain/aarch64.cmake +++ b/community/MAFISC/config/toolchain/aarch64.cmake @@ -1,7 +1,7 @@ -set(TOOLCHAIN_PREFIX aarch64-linux-gnu) -set(ANDROID_NDK /opt/android-ndk-linux) -set (CMAKE_SYSTEM_NAME Android) -set (CMAKE_ANDROID_ARCH_ABI x86_64) +set (TOOLCHAIN_PREFIX aarch64-linux-gnu) +set (CMAKE_SYSTEM_NAME Linux) +set (CMAKE_SYSTEM_PROCESSOR aarch64) +#set (CMAKE_ANDROID_ARCH_ABI x86_64) #set (CMAKE_ANDROID_STANDALONE_TOOLCHAIN ${ANDROID_NDK}/build/cmake/android.toolchain.cmake) set (CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) set (CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) @@ -12,7 +12,7 @@ set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) -set (CMAKE_CROSSCOMPILING_EMULATOR qemu-aarch64) +set (CMAKE_CROSSCOMPILING_EMULATOR "qemu-aarch64-static;-L;/usr/aarch64-linux-gnu/" CACHE FILEPATH "Path to the emulator for the target system.") include_directories(/usr/${TOOLCHAIN_PREFIX}/include) diff --git a/MAFISC/config/toolchain/build32.cmake b/community/MAFISC/config/toolchain/build32.cmake similarity index 100% rename from MAFISC/config/toolchain/build32.cmake rename to community/MAFISC/config/toolchain/build32.cmake diff --git a/MAFISC/config/toolchain/clang.cmake b/community/MAFISC/config/toolchain/clang.cmake similarity index 100% rename from MAFISC/config/toolchain/clang.cmake rename to community/MAFISC/config/toolchain/clang.cmake diff --git a/MAFISC/config/toolchain/crayle.cmake b/community/MAFISC/config/toolchain/crayle.cmake similarity index 100% rename from MAFISC/config/toolchain/crayle.cmake rename to community/MAFISC/config/toolchain/crayle.cmake diff --git a/MAFISC/config/toolchain/gcc.cmake b/community/MAFISC/config/toolchain/gcc.cmake similarity index 100% rename from MAFISC/config/toolchain/gcc.cmake rename to community/MAFISC/config/toolchain/gcc.cmake diff --git a/MAFISC/config/toolchain/icc.cmake b/community/MAFISC/config/toolchain/icc.cmake similarity index 100% rename from MAFISC/config/toolchain/icc.cmake rename to community/MAFISC/config/toolchain/icc.cmake diff --git a/MAFISC/config/toolchain/intel.cmake b/community/MAFISC/config/toolchain/intel.cmake similarity index 100% rename from MAFISC/config/toolchain/intel.cmake rename to community/MAFISC/config/toolchain/intel.cmake diff --git a/MAFISC/config/toolchain/mingw64.cmake b/community/MAFISC/config/toolchain/mingw64.cmake similarity index 100% rename from MAFISC/config/toolchain/mingw64.cmake rename to community/MAFISC/config/toolchain/mingw64.cmake diff --git a/MAFISC/config/toolchain/pgi.cmake b/community/MAFISC/config/toolchain/pgi.cmake similarity index 100% rename from MAFISC/config/toolchain/pgi.cmake rename to community/MAFISC/config/toolchain/pgi.cmake diff --git a/MAFISC/configure.ac b/community/MAFISC/configure.ac similarity index 100% rename from MAFISC/configure.ac rename to community/MAFISC/configure.ac diff --git a/MAFISC/example/CMakeLists.txt b/community/MAFISC/example/CMakeLists.txt old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/example/CMakeLists.txt rename to community/MAFISC/example/CMakeLists.txt diff --git a/MAFISC/example/Makefile.am b/community/MAFISC/example/Makefile.am similarity index 100% rename from MAFISC/example/Makefile.am rename to community/MAFISC/example/Makefile.am diff --git a/MAFISC/example/h5ex_d_mafisc.c b/community/MAFISC/example/h5ex_d_mafisc.c similarity index 100% rename from MAFISC/example/h5ex_d_mafisc.c rename to community/MAFISC/example/h5ex_d_mafisc.c diff --git a/MAFISC/example/test/test.sh b/community/MAFISC/example/test/test.sh old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/example/test/test.sh rename to community/MAFISC/example/test/test.sh diff --git a/MAFISC/example/test/testCM.sh b/community/MAFISC/example/test/testCM.sh old mode 100755 new mode 100644 similarity index 100% rename from MAFISC/example/test/testCM.sh rename to community/MAFISC/example/test/testCM.sh diff --git a/MAFISC/example/testfiles/h5ex_d_mafisc.ddl b/community/MAFISC/example/testfiles/h5ex_d_mafisc.ddl similarity index 100% rename from MAFISC/example/testfiles/h5ex_d_mafisc.ddl rename to community/MAFISC/example/testfiles/h5ex_d_mafisc.ddl diff --git a/MAFISC/example/testfiles/h5ex_d_mafisc.err b/community/MAFISC/example/testfiles/h5ex_d_mafisc.err similarity index 100% rename from MAFISC/example/testfiles/h5ex_d_mafisc.err rename to community/MAFISC/example/testfiles/h5ex_d_mafisc.err diff --git a/MAFISC/example/testfiles/h5ex_d_mafisc.h5 b/community/MAFISC/example/testfiles/h5ex_d_mafisc.h5 similarity index 100% rename from MAFISC/example/testfiles/h5ex_d_mafisc.h5 rename to community/MAFISC/example/testfiles/h5ex_d_mafisc.h5 diff --git a/MAFISC/example/testfiles/h5ex_d_mafisc.tst b/community/MAFISC/example/testfiles/h5ex_d_mafisc.tst similarity index 100% rename from MAFISC/example/testfiles/h5ex_d_mafisc.tst rename to community/MAFISC/example/testfiles/h5ex_d_mafisc.tst diff --git a/MAFISC/example/testfiles/h5repack_layout.h5 b/community/MAFISC/example/testfiles/h5repack_layout.h5 similarity index 100% rename from MAFISC/example/testfiles/h5repack_layout.h5 rename to community/MAFISC/example/testfiles/h5repack_layout.h5 diff --git a/MAFISC/example/testfiles/h5repack_layout.h5-ud_convert.ddl b/community/MAFISC/example/testfiles/h5repack_layout.h5-ud_convert.ddl similarity index 100% rename from MAFISC/example/testfiles/h5repack_layout.h5-ud_convert.ddl rename to community/MAFISC/example/testfiles/h5repack_layout.h5-ud_convert.ddl diff --git a/MAFISC/example/testfiles/ud_convert.h5repack_layout.h5.tst b/community/MAFISC/example/testfiles/ud_convert.h5repack_layout.h5.tst similarity index 100% rename from MAFISC/example/testfiles/ud_convert.h5repack_layout.h5.tst rename to community/MAFISC/example/testfiles/ud_convert.h5repack_layout.h5.tst diff --git a/MAFISC/src/CMakeLists.txt b/community/MAFISC/src/CMakeLists.txt similarity index 100% rename from MAFISC/src/CMakeLists.txt rename to community/MAFISC/src/CMakeLists.txt diff --git a/MAFISC/src/Makefile.am b/community/MAFISC/src/Makefile.am similarity index 100% rename from MAFISC/src/Makefile.am rename to community/MAFISC/src/Makefile.am diff --git a/MAFISC/src/adaptive-filter.c b/community/MAFISC/src/adaptive-filter.c similarity index 100% rename from MAFISC/src/adaptive-filter.c rename to community/MAFISC/src/adaptive-filter.c diff --git a/MAFISC/src/adaptive-filter.h b/community/MAFISC/src/adaptive-filter.h similarity index 100% rename from MAFISC/src/adaptive-filter.h rename to community/MAFISC/src/adaptive-filter.h diff --git a/MAFISC/src/bit-sorter-filter.c b/community/MAFISC/src/bit-sorter-filter.c similarity index 100% rename from MAFISC/src/bit-sorter-filter.c rename to community/MAFISC/src/bit-sorter-filter.c diff --git a/MAFISC/src/bit-sorter-filter.h b/community/MAFISC/src/bit-sorter-filter.h similarity index 100% rename from MAFISC/src/bit-sorter-filter.h rename to community/MAFISC/src/bit-sorter-filter.h diff --git a/MAFISC/src/combined-filter.c b/community/MAFISC/src/combined-filter.c similarity index 100% rename from MAFISC/src/combined-filter.c rename to community/MAFISC/src/combined-filter.c diff --git a/MAFISC/src/combined-filter.h b/community/MAFISC/src/combined-filter.h similarity index 100% rename from MAFISC/src/combined-filter.h rename to community/MAFISC/src/combined-filter.h diff --git a/MAFISC/src/difference-filter.c b/community/MAFISC/src/difference-filter.c similarity index 100% rename from MAFISC/src/difference-filter.c rename to community/MAFISC/src/difference-filter.c diff --git a/MAFISC/src/difference-filter.h b/community/MAFISC/src/difference-filter.h similarity index 100% rename from MAFISC/src/difference-filter.h rename to community/MAFISC/src/difference-filter.h diff --git a/MAFISC/src/filter-cascade-filter.c b/community/MAFISC/src/filter-cascade-filter.c similarity index 100% rename from MAFISC/src/filter-cascade-filter.c rename to community/MAFISC/src/filter-cascade-filter.c diff --git a/MAFISC/src/filter-cascade-filter.h b/community/MAFISC/src/filter-cascade-filter.h similarity index 100% rename from MAFISC/src/filter-cascade-filter.h rename to community/MAFISC/src/filter-cascade-filter.h diff --git a/MAFISC/src/filter-test.c b/community/MAFISC/src/filter-test.c similarity index 100% rename from MAFISC/src/filter-test.c rename to community/MAFISC/src/filter-test.c diff --git a/MAFISC/src/filter-test.h b/community/MAFISC/src/filter-test.h similarity index 100% rename from MAFISC/src/filter-test.h rename to community/MAFISC/src/filter-test.h diff --git a/MAFISC/src/liblzma/CMakeLists.txt b/community/MAFISC/src/liblzma/CMakeLists.txt similarity index 100% rename from MAFISC/src/liblzma/CMakeLists.txt rename to community/MAFISC/src/liblzma/CMakeLists.txt diff --git a/MAFISC/src/liblzma/Makefile.am b/community/MAFISC/src/liblzma/Makefile.am similarity index 100% rename from MAFISC/src/liblzma/Makefile.am rename to community/MAFISC/src/liblzma/Makefile.am diff --git a/MAFISC/src/liblzma/Makefile.in b/community/MAFISC/src/liblzma/Makefile.in similarity index 100% rename from MAFISC/src/liblzma/Makefile.in rename to community/MAFISC/src/liblzma/Makefile.in diff --git a/MAFISC/src/liblzma/api/Makefile.am b/community/MAFISC/src/liblzma/api/Makefile.am similarity index 100% rename from MAFISC/src/liblzma/api/Makefile.am rename to community/MAFISC/src/liblzma/api/Makefile.am diff --git a/MAFISC/src/liblzma/api/Makefile.in b/community/MAFISC/src/liblzma/api/Makefile.in similarity index 100% rename from MAFISC/src/liblzma/api/Makefile.in rename to community/MAFISC/src/liblzma/api/Makefile.in diff --git a/MAFISC/src/liblzma/api/common_w32res.rc b/community/MAFISC/src/liblzma/api/common_w32res.rc similarity index 100% rename from MAFISC/src/liblzma/api/common_w32res.rc rename to community/MAFISC/src/liblzma/api/common_w32res.rc diff --git a/MAFISC/src/liblzma/api/lzma.h b/community/MAFISC/src/liblzma/api/lzma.h similarity index 100% rename from MAFISC/src/liblzma/api/lzma.h rename to community/MAFISC/src/liblzma/api/lzma.h diff --git a/MAFISC/src/liblzma/api/lzma/base.h b/community/MAFISC/src/liblzma/api/lzma/base.h similarity index 100% rename from MAFISC/src/liblzma/api/lzma/base.h rename to community/MAFISC/src/liblzma/api/lzma/base.h diff --git a/MAFISC/src/liblzma/api/lzma/bcj.h b/community/MAFISC/src/liblzma/api/lzma/bcj.h similarity index 100% rename from MAFISC/src/liblzma/api/lzma/bcj.h rename to community/MAFISC/src/liblzma/api/lzma/bcj.h diff --git a/MAFISC/src/liblzma/api/lzma/block.h b/community/MAFISC/src/liblzma/api/lzma/block.h similarity index 100% rename from MAFISC/src/liblzma/api/lzma/block.h rename to community/MAFISC/src/liblzma/api/lzma/block.h diff --git a/MAFISC/src/liblzma/api/lzma/check.h b/community/MAFISC/src/liblzma/api/lzma/check.h similarity index 100% rename from MAFISC/src/liblzma/api/lzma/check.h rename to community/MAFISC/src/liblzma/api/lzma/check.h diff --git a/MAFISC/src/liblzma/api/lzma/container.h b/community/MAFISC/src/liblzma/api/lzma/container.h similarity index 100% rename from MAFISC/src/liblzma/api/lzma/container.h rename to community/MAFISC/src/liblzma/api/lzma/container.h diff --git a/MAFISC/src/liblzma/api/lzma/delta.h b/community/MAFISC/src/liblzma/api/lzma/delta.h similarity index 100% rename from MAFISC/src/liblzma/api/lzma/delta.h rename to community/MAFISC/src/liblzma/api/lzma/delta.h diff --git a/MAFISC/src/liblzma/api/lzma/filter.h b/community/MAFISC/src/liblzma/api/lzma/filter.h similarity index 100% rename from MAFISC/src/liblzma/api/lzma/filter.h rename to community/MAFISC/src/liblzma/api/lzma/filter.h diff --git a/MAFISC/src/liblzma/api/lzma/hardware.h b/community/MAFISC/src/liblzma/api/lzma/hardware.h similarity index 100% rename from MAFISC/src/liblzma/api/lzma/hardware.h rename to community/MAFISC/src/liblzma/api/lzma/hardware.h diff --git a/MAFISC/src/liblzma/api/lzma/index.h b/community/MAFISC/src/liblzma/api/lzma/index.h similarity index 100% rename from MAFISC/src/liblzma/api/lzma/index.h rename to community/MAFISC/src/liblzma/api/lzma/index.h diff --git a/MAFISC/src/liblzma/api/lzma/index_hash.h b/community/MAFISC/src/liblzma/api/lzma/index_hash.h similarity index 100% rename from MAFISC/src/liblzma/api/lzma/index_hash.h rename to community/MAFISC/src/liblzma/api/lzma/index_hash.h diff --git a/MAFISC/src/liblzma/api/lzma/lzma.h b/community/MAFISC/src/liblzma/api/lzma/lzma.h similarity index 100% rename from MAFISC/src/liblzma/api/lzma/lzma.h rename to community/MAFISC/src/liblzma/api/lzma/lzma.h diff --git a/MAFISC/src/liblzma/api/lzma/stream_flags.h b/community/MAFISC/src/liblzma/api/lzma/stream_flags.h similarity index 100% rename from MAFISC/src/liblzma/api/lzma/stream_flags.h rename to community/MAFISC/src/liblzma/api/lzma/stream_flags.h diff --git a/MAFISC/src/liblzma/api/lzma/version.h b/community/MAFISC/src/liblzma/api/lzma/version.h similarity index 100% rename from MAFISC/src/liblzma/api/lzma/version.h rename to community/MAFISC/src/liblzma/api/lzma/version.h diff --git a/MAFISC/src/liblzma/api/lzma/vli.h b/community/MAFISC/src/liblzma/api/lzma/vli.h similarity index 100% rename from MAFISC/src/liblzma/api/lzma/vli.h rename to community/MAFISC/src/liblzma/api/lzma/vli.h diff --git a/MAFISC/src/liblzma/check/Makefile.inc b/community/MAFISC/src/liblzma/check/Makefile.inc similarity index 100% rename from MAFISC/src/liblzma/check/Makefile.inc rename to community/MAFISC/src/liblzma/check/Makefile.inc diff --git a/MAFISC/src/liblzma/check/check.c b/community/MAFISC/src/liblzma/check/check.c similarity index 100% rename from MAFISC/src/liblzma/check/check.c rename to community/MAFISC/src/liblzma/check/check.c diff --git a/MAFISC/src/liblzma/check/check.h b/community/MAFISC/src/liblzma/check/check.h similarity index 100% rename from MAFISC/src/liblzma/check/check.h rename to community/MAFISC/src/liblzma/check/check.h diff --git a/MAFISC/src/liblzma/check/crc32_fast.c b/community/MAFISC/src/liblzma/check/crc32_fast.c similarity index 100% rename from MAFISC/src/liblzma/check/crc32_fast.c rename to community/MAFISC/src/liblzma/check/crc32_fast.c diff --git a/MAFISC/src/liblzma/check/crc32_small.c b/community/MAFISC/src/liblzma/check/crc32_small.c similarity index 100% rename from MAFISC/src/liblzma/check/crc32_small.c rename to community/MAFISC/src/liblzma/check/crc32_small.c diff --git a/MAFISC/src/liblzma/check/crc32_table.c b/community/MAFISC/src/liblzma/check/crc32_table.c similarity index 100% rename from MAFISC/src/liblzma/check/crc32_table.c rename to community/MAFISC/src/liblzma/check/crc32_table.c diff --git a/MAFISC/src/liblzma/check/crc32_table_be.h b/community/MAFISC/src/liblzma/check/crc32_table_be.h similarity index 100% rename from MAFISC/src/liblzma/check/crc32_table_be.h rename to community/MAFISC/src/liblzma/check/crc32_table_be.h diff --git a/MAFISC/src/liblzma/check/crc32_table_le.h b/community/MAFISC/src/liblzma/check/crc32_table_le.h similarity index 100% rename from MAFISC/src/liblzma/check/crc32_table_le.h rename to community/MAFISC/src/liblzma/check/crc32_table_le.h diff --git a/MAFISC/src/liblzma/check/crc32_tablegen.c b/community/MAFISC/src/liblzma/check/crc32_tablegen.c similarity index 100% rename from MAFISC/src/liblzma/check/crc32_tablegen.c rename to community/MAFISC/src/liblzma/check/crc32_tablegen.c diff --git a/MAFISC/src/liblzma/check/crc32_x86.S b/community/MAFISC/src/liblzma/check/crc32_x86.S similarity index 100% rename from MAFISC/src/liblzma/check/crc32_x86.S rename to community/MAFISC/src/liblzma/check/crc32_x86.S diff --git a/MAFISC/src/liblzma/check/crc64_fast.c b/community/MAFISC/src/liblzma/check/crc64_fast.c similarity index 100% rename from MAFISC/src/liblzma/check/crc64_fast.c rename to community/MAFISC/src/liblzma/check/crc64_fast.c diff --git a/MAFISC/src/liblzma/check/crc64_small.c b/community/MAFISC/src/liblzma/check/crc64_small.c similarity index 100% rename from MAFISC/src/liblzma/check/crc64_small.c rename to community/MAFISC/src/liblzma/check/crc64_small.c diff --git a/MAFISC/src/liblzma/check/crc64_table.c b/community/MAFISC/src/liblzma/check/crc64_table.c similarity index 100% rename from MAFISC/src/liblzma/check/crc64_table.c rename to community/MAFISC/src/liblzma/check/crc64_table.c diff --git a/MAFISC/src/liblzma/check/crc64_table_be.h b/community/MAFISC/src/liblzma/check/crc64_table_be.h similarity index 100% rename from MAFISC/src/liblzma/check/crc64_table_be.h rename to community/MAFISC/src/liblzma/check/crc64_table_be.h diff --git a/MAFISC/src/liblzma/check/crc64_table_le.h b/community/MAFISC/src/liblzma/check/crc64_table_le.h similarity index 100% rename from MAFISC/src/liblzma/check/crc64_table_le.h rename to community/MAFISC/src/liblzma/check/crc64_table_le.h diff --git a/MAFISC/src/liblzma/check/crc64_tablegen.c b/community/MAFISC/src/liblzma/check/crc64_tablegen.c similarity index 100% rename from MAFISC/src/liblzma/check/crc64_tablegen.c rename to community/MAFISC/src/liblzma/check/crc64_tablegen.c diff --git a/MAFISC/src/liblzma/check/crc64_x86.S b/community/MAFISC/src/liblzma/check/crc64_x86.S similarity index 100% rename from MAFISC/src/liblzma/check/crc64_x86.S rename to community/MAFISC/src/liblzma/check/crc64_x86.S diff --git a/MAFISC/src/liblzma/check/crc_macros.h b/community/MAFISC/src/liblzma/check/crc_macros.h similarity index 100% rename from MAFISC/src/liblzma/check/crc_macros.h rename to community/MAFISC/src/liblzma/check/crc_macros.h diff --git a/MAFISC/src/liblzma/check/sha256.c b/community/MAFISC/src/liblzma/check/sha256.c similarity index 100% rename from MAFISC/src/liblzma/check/sha256.c rename to community/MAFISC/src/liblzma/check/sha256.c diff --git a/MAFISC/src/liblzma/common/Makefile.inc b/community/MAFISC/src/liblzma/common/Makefile.inc similarity index 100% rename from MAFISC/src/liblzma/common/Makefile.inc rename to community/MAFISC/src/liblzma/common/Makefile.inc diff --git a/MAFISC/src/liblzma/common/alone_decoder.c b/community/MAFISC/src/liblzma/common/alone_decoder.c similarity index 100% rename from MAFISC/src/liblzma/common/alone_decoder.c rename to community/MAFISC/src/liblzma/common/alone_decoder.c diff --git a/MAFISC/src/liblzma/common/alone_decoder.h b/community/MAFISC/src/liblzma/common/alone_decoder.h similarity index 100% rename from MAFISC/src/liblzma/common/alone_decoder.h rename to community/MAFISC/src/liblzma/common/alone_decoder.h diff --git a/MAFISC/src/liblzma/common/alone_encoder.c b/community/MAFISC/src/liblzma/common/alone_encoder.c similarity index 100% rename from MAFISC/src/liblzma/common/alone_encoder.c rename to community/MAFISC/src/liblzma/common/alone_encoder.c diff --git a/MAFISC/src/liblzma/common/auto_decoder.c b/community/MAFISC/src/liblzma/common/auto_decoder.c similarity index 100% rename from MAFISC/src/liblzma/common/auto_decoder.c rename to community/MAFISC/src/liblzma/common/auto_decoder.c diff --git a/MAFISC/src/liblzma/common/block_buffer_decoder.c b/community/MAFISC/src/liblzma/common/block_buffer_decoder.c similarity index 100% rename from MAFISC/src/liblzma/common/block_buffer_decoder.c rename to community/MAFISC/src/liblzma/common/block_buffer_decoder.c diff --git a/MAFISC/src/liblzma/common/block_buffer_encoder.c b/community/MAFISC/src/liblzma/common/block_buffer_encoder.c similarity index 100% rename from MAFISC/src/liblzma/common/block_buffer_encoder.c rename to community/MAFISC/src/liblzma/common/block_buffer_encoder.c diff --git a/MAFISC/src/liblzma/common/block_decoder.c b/community/MAFISC/src/liblzma/common/block_decoder.c similarity index 100% rename from MAFISC/src/liblzma/common/block_decoder.c rename to community/MAFISC/src/liblzma/common/block_decoder.c diff --git a/MAFISC/src/liblzma/common/block_decoder.h b/community/MAFISC/src/liblzma/common/block_decoder.h similarity index 100% rename from MAFISC/src/liblzma/common/block_decoder.h rename to community/MAFISC/src/liblzma/common/block_decoder.h diff --git a/MAFISC/src/liblzma/common/block_encoder.c b/community/MAFISC/src/liblzma/common/block_encoder.c similarity index 100% rename from MAFISC/src/liblzma/common/block_encoder.c rename to community/MAFISC/src/liblzma/common/block_encoder.c diff --git a/MAFISC/src/liblzma/common/block_encoder.h b/community/MAFISC/src/liblzma/common/block_encoder.h similarity index 100% rename from MAFISC/src/liblzma/common/block_encoder.h rename to community/MAFISC/src/liblzma/common/block_encoder.h diff --git a/MAFISC/src/liblzma/common/block_header_decoder.c b/community/MAFISC/src/liblzma/common/block_header_decoder.c similarity index 100% rename from MAFISC/src/liblzma/common/block_header_decoder.c rename to community/MAFISC/src/liblzma/common/block_header_decoder.c diff --git a/MAFISC/src/liblzma/common/block_header_encoder.c b/community/MAFISC/src/liblzma/common/block_header_encoder.c similarity index 100% rename from MAFISC/src/liblzma/common/block_header_encoder.c rename to community/MAFISC/src/liblzma/common/block_header_encoder.c diff --git a/MAFISC/src/liblzma/common/block_util.c b/community/MAFISC/src/liblzma/common/block_util.c similarity index 100% rename from MAFISC/src/liblzma/common/block_util.c rename to community/MAFISC/src/liblzma/common/block_util.c diff --git a/MAFISC/src/liblzma/common/common.c b/community/MAFISC/src/liblzma/common/common.c similarity index 100% rename from MAFISC/src/liblzma/common/common.c rename to community/MAFISC/src/liblzma/common/common.c diff --git a/MAFISC/src/liblzma/common/common.h b/community/MAFISC/src/liblzma/common/common.h similarity index 100% rename from MAFISC/src/liblzma/common/common.h rename to community/MAFISC/src/liblzma/common/common.h diff --git a/MAFISC/src/liblzma/common/easy_buffer_encoder.c b/community/MAFISC/src/liblzma/common/easy_buffer_encoder.c similarity index 100% rename from MAFISC/src/liblzma/common/easy_buffer_encoder.c rename to community/MAFISC/src/liblzma/common/easy_buffer_encoder.c diff --git a/MAFISC/src/liblzma/common/easy_decoder_memusage.c b/community/MAFISC/src/liblzma/common/easy_decoder_memusage.c similarity index 100% rename from MAFISC/src/liblzma/common/easy_decoder_memusage.c rename to community/MAFISC/src/liblzma/common/easy_decoder_memusage.c diff --git a/MAFISC/src/liblzma/common/easy_encoder.c b/community/MAFISC/src/liblzma/common/easy_encoder.c similarity index 100% rename from MAFISC/src/liblzma/common/easy_encoder.c rename to community/MAFISC/src/liblzma/common/easy_encoder.c diff --git a/MAFISC/src/liblzma/common/easy_encoder_memusage.c b/community/MAFISC/src/liblzma/common/easy_encoder_memusage.c similarity index 100% rename from MAFISC/src/liblzma/common/easy_encoder_memusage.c rename to community/MAFISC/src/liblzma/common/easy_encoder_memusage.c diff --git a/MAFISC/src/liblzma/common/easy_preset.c b/community/MAFISC/src/liblzma/common/easy_preset.c similarity index 100% rename from MAFISC/src/liblzma/common/easy_preset.c rename to community/MAFISC/src/liblzma/common/easy_preset.c diff --git a/MAFISC/src/liblzma/common/easy_preset.h b/community/MAFISC/src/liblzma/common/easy_preset.h similarity index 100% rename from MAFISC/src/liblzma/common/easy_preset.h rename to community/MAFISC/src/liblzma/common/easy_preset.h diff --git a/MAFISC/src/liblzma/common/filter_buffer_decoder.c b/community/MAFISC/src/liblzma/common/filter_buffer_decoder.c similarity index 100% rename from MAFISC/src/liblzma/common/filter_buffer_decoder.c rename to community/MAFISC/src/liblzma/common/filter_buffer_decoder.c diff --git a/MAFISC/src/liblzma/common/filter_buffer_encoder.c b/community/MAFISC/src/liblzma/common/filter_buffer_encoder.c similarity index 100% rename from MAFISC/src/liblzma/common/filter_buffer_encoder.c rename to community/MAFISC/src/liblzma/common/filter_buffer_encoder.c diff --git a/MAFISC/src/liblzma/common/filter_common.c b/community/MAFISC/src/liblzma/common/filter_common.c similarity index 100% rename from MAFISC/src/liblzma/common/filter_common.c rename to community/MAFISC/src/liblzma/common/filter_common.c diff --git a/MAFISC/src/liblzma/common/filter_common.h b/community/MAFISC/src/liblzma/common/filter_common.h similarity index 100% rename from MAFISC/src/liblzma/common/filter_common.h rename to community/MAFISC/src/liblzma/common/filter_common.h diff --git a/MAFISC/src/liblzma/common/filter_decoder.c b/community/MAFISC/src/liblzma/common/filter_decoder.c similarity index 100% rename from MAFISC/src/liblzma/common/filter_decoder.c rename to community/MAFISC/src/liblzma/common/filter_decoder.c diff --git a/MAFISC/src/liblzma/common/filter_decoder.h b/community/MAFISC/src/liblzma/common/filter_decoder.h similarity index 100% rename from MAFISC/src/liblzma/common/filter_decoder.h rename to community/MAFISC/src/liblzma/common/filter_decoder.h diff --git a/MAFISC/src/liblzma/common/filter_encoder.c b/community/MAFISC/src/liblzma/common/filter_encoder.c similarity index 100% rename from MAFISC/src/liblzma/common/filter_encoder.c rename to community/MAFISC/src/liblzma/common/filter_encoder.c diff --git a/MAFISC/src/liblzma/common/filter_encoder.h b/community/MAFISC/src/liblzma/common/filter_encoder.h similarity index 100% rename from MAFISC/src/liblzma/common/filter_encoder.h rename to community/MAFISC/src/liblzma/common/filter_encoder.h diff --git a/MAFISC/src/liblzma/common/filter_flags_decoder.c b/community/MAFISC/src/liblzma/common/filter_flags_decoder.c similarity index 100% rename from MAFISC/src/liblzma/common/filter_flags_decoder.c rename to community/MAFISC/src/liblzma/common/filter_flags_decoder.c diff --git a/MAFISC/src/liblzma/common/filter_flags_encoder.c b/community/MAFISC/src/liblzma/common/filter_flags_encoder.c similarity index 100% rename from MAFISC/src/liblzma/common/filter_flags_encoder.c rename to community/MAFISC/src/liblzma/common/filter_flags_encoder.c diff --git a/MAFISC/src/liblzma/common/hardware_physmem.c b/community/MAFISC/src/liblzma/common/hardware_physmem.c similarity index 100% rename from MAFISC/src/liblzma/common/hardware_physmem.c rename to community/MAFISC/src/liblzma/common/hardware_physmem.c diff --git a/MAFISC/src/liblzma/common/index.c b/community/MAFISC/src/liblzma/common/index.c similarity index 100% rename from MAFISC/src/liblzma/common/index.c rename to community/MAFISC/src/liblzma/common/index.c diff --git a/MAFISC/src/liblzma/common/index.h b/community/MAFISC/src/liblzma/common/index.h similarity index 100% rename from MAFISC/src/liblzma/common/index.h rename to community/MAFISC/src/liblzma/common/index.h diff --git a/MAFISC/src/liblzma/common/index_decoder.c b/community/MAFISC/src/liblzma/common/index_decoder.c similarity index 100% rename from MAFISC/src/liblzma/common/index_decoder.c rename to community/MAFISC/src/liblzma/common/index_decoder.c diff --git a/MAFISC/src/liblzma/common/index_encoder.c b/community/MAFISC/src/liblzma/common/index_encoder.c similarity index 100% rename from MAFISC/src/liblzma/common/index_encoder.c rename to community/MAFISC/src/liblzma/common/index_encoder.c diff --git a/MAFISC/src/liblzma/common/index_encoder.h b/community/MAFISC/src/liblzma/common/index_encoder.h similarity index 100% rename from MAFISC/src/liblzma/common/index_encoder.h rename to community/MAFISC/src/liblzma/common/index_encoder.h diff --git a/MAFISC/src/liblzma/common/index_hash.c b/community/MAFISC/src/liblzma/common/index_hash.c similarity index 100% rename from MAFISC/src/liblzma/common/index_hash.c rename to community/MAFISC/src/liblzma/common/index_hash.c diff --git a/MAFISC/src/liblzma/common/mythread.h b/community/MAFISC/src/liblzma/common/mythread.h similarity index 100% rename from MAFISC/src/liblzma/common/mythread.h rename to community/MAFISC/src/liblzma/common/mythread.h diff --git a/MAFISC/src/liblzma/common/stream_buffer_decoder.c b/community/MAFISC/src/liblzma/common/stream_buffer_decoder.c similarity index 100% rename from MAFISC/src/liblzma/common/stream_buffer_decoder.c rename to community/MAFISC/src/liblzma/common/stream_buffer_decoder.c diff --git a/MAFISC/src/liblzma/common/stream_buffer_encoder.c b/community/MAFISC/src/liblzma/common/stream_buffer_encoder.c similarity index 100% rename from MAFISC/src/liblzma/common/stream_buffer_encoder.c rename to community/MAFISC/src/liblzma/common/stream_buffer_encoder.c diff --git a/MAFISC/src/liblzma/common/stream_decoder.c b/community/MAFISC/src/liblzma/common/stream_decoder.c similarity index 100% rename from MAFISC/src/liblzma/common/stream_decoder.c rename to community/MAFISC/src/liblzma/common/stream_decoder.c diff --git a/MAFISC/src/liblzma/common/stream_decoder.h b/community/MAFISC/src/liblzma/common/stream_decoder.h similarity index 100% rename from MAFISC/src/liblzma/common/stream_decoder.h rename to community/MAFISC/src/liblzma/common/stream_decoder.h diff --git a/MAFISC/src/liblzma/common/stream_encoder.c b/community/MAFISC/src/liblzma/common/stream_encoder.c similarity index 100% rename from MAFISC/src/liblzma/common/stream_encoder.c rename to community/MAFISC/src/liblzma/common/stream_encoder.c diff --git a/MAFISC/src/liblzma/common/stream_encoder.h b/community/MAFISC/src/liblzma/common/stream_encoder.h similarity index 100% rename from MAFISC/src/liblzma/common/stream_encoder.h rename to community/MAFISC/src/liblzma/common/stream_encoder.h diff --git a/MAFISC/src/liblzma/common/stream_flags_common.c b/community/MAFISC/src/liblzma/common/stream_flags_common.c similarity index 100% rename from MAFISC/src/liblzma/common/stream_flags_common.c rename to community/MAFISC/src/liblzma/common/stream_flags_common.c diff --git a/MAFISC/src/liblzma/common/stream_flags_common.h b/community/MAFISC/src/liblzma/common/stream_flags_common.h similarity index 100% rename from MAFISC/src/liblzma/common/stream_flags_common.h rename to community/MAFISC/src/liblzma/common/stream_flags_common.h diff --git a/MAFISC/src/liblzma/common/stream_flags_decoder.c b/community/MAFISC/src/liblzma/common/stream_flags_decoder.c similarity index 100% rename from MAFISC/src/liblzma/common/stream_flags_decoder.c rename to community/MAFISC/src/liblzma/common/stream_flags_decoder.c diff --git a/MAFISC/src/liblzma/common/stream_flags_encoder.c b/community/MAFISC/src/liblzma/common/stream_flags_encoder.c similarity index 100% rename from MAFISC/src/liblzma/common/stream_flags_encoder.c rename to community/MAFISC/src/liblzma/common/stream_flags_encoder.c diff --git a/MAFISC/src/liblzma/common/sysdefs.h b/community/MAFISC/src/liblzma/common/sysdefs.h similarity index 100% rename from MAFISC/src/liblzma/common/sysdefs.h rename to community/MAFISC/src/liblzma/common/sysdefs.h diff --git a/MAFISC/src/liblzma/common/tuklib_common.h b/community/MAFISC/src/liblzma/common/tuklib_common.h similarity index 100% rename from MAFISC/src/liblzma/common/tuklib_common.h rename to community/MAFISC/src/liblzma/common/tuklib_common.h diff --git a/MAFISC/src/liblzma/common/tuklib_config.h b/community/MAFISC/src/liblzma/common/tuklib_config.h similarity index 100% rename from MAFISC/src/liblzma/common/tuklib_config.h rename to community/MAFISC/src/liblzma/common/tuklib_config.h diff --git a/MAFISC/src/liblzma/common/tuklib_cpucores.h b/community/MAFISC/src/liblzma/common/tuklib_cpucores.h similarity index 100% rename from MAFISC/src/liblzma/common/tuklib_cpucores.h rename to community/MAFISC/src/liblzma/common/tuklib_cpucores.h diff --git a/MAFISC/src/liblzma/common/tuklib_exit.h b/community/MAFISC/src/liblzma/common/tuklib_exit.h similarity index 100% rename from MAFISC/src/liblzma/common/tuklib_exit.h rename to community/MAFISC/src/liblzma/common/tuklib_exit.h diff --git a/MAFISC/src/liblzma/common/tuklib_gettext.h b/community/MAFISC/src/liblzma/common/tuklib_gettext.h similarity index 100% rename from MAFISC/src/liblzma/common/tuklib_gettext.h rename to community/MAFISC/src/liblzma/common/tuklib_gettext.h diff --git a/MAFISC/src/liblzma/common/tuklib_integer.h b/community/MAFISC/src/liblzma/common/tuklib_integer.h similarity index 100% rename from MAFISC/src/liblzma/common/tuklib_integer.h rename to community/MAFISC/src/liblzma/common/tuklib_integer.h diff --git a/MAFISC/src/liblzma/common/tuklib_mbstr.h b/community/MAFISC/src/liblzma/common/tuklib_mbstr.h similarity index 100% rename from MAFISC/src/liblzma/common/tuklib_mbstr.h rename to community/MAFISC/src/liblzma/common/tuklib_mbstr.h diff --git a/MAFISC/src/liblzma/common/tuklib_open_stdxxx.h b/community/MAFISC/src/liblzma/common/tuklib_open_stdxxx.h similarity index 100% rename from MAFISC/src/liblzma/common/tuklib_open_stdxxx.h rename to community/MAFISC/src/liblzma/common/tuklib_open_stdxxx.h diff --git a/MAFISC/src/liblzma/common/tuklib_physmem.c b/community/MAFISC/src/liblzma/common/tuklib_physmem.c similarity index 100% rename from MAFISC/src/liblzma/common/tuklib_physmem.c rename to community/MAFISC/src/liblzma/common/tuklib_physmem.c diff --git a/MAFISC/src/liblzma/common/tuklib_physmem.h b/community/MAFISC/src/liblzma/common/tuklib_physmem.h similarity index 100% rename from MAFISC/src/liblzma/common/tuklib_physmem.h rename to community/MAFISC/src/liblzma/common/tuklib_physmem.h diff --git a/MAFISC/src/liblzma/common/tuklib_progname.h b/community/MAFISC/src/liblzma/common/tuklib_progname.h similarity index 100% rename from MAFISC/src/liblzma/common/tuklib_progname.h rename to community/MAFISC/src/liblzma/common/tuklib_progname.h diff --git a/MAFISC/src/liblzma/common/vli_decoder.c b/community/MAFISC/src/liblzma/common/vli_decoder.c similarity index 100% rename from MAFISC/src/liblzma/common/vli_decoder.c rename to community/MAFISC/src/liblzma/common/vli_decoder.c diff --git a/MAFISC/src/liblzma/common/vli_encoder.c b/community/MAFISC/src/liblzma/common/vli_encoder.c similarity index 100% rename from MAFISC/src/liblzma/common/vli_encoder.c rename to community/MAFISC/src/liblzma/common/vli_encoder.c diff --git a/MAFISC/src/liblzma/common/vli_size.c b/community/MAFISC/src/liblzma/common/vli_size.c similarity index 100% rename from MAFISC/src/liblzma/common/vli_size.c rename to community/MAFISC/src/liblzma/common/vli_size.c diff --git a/MAFISC/src/liblzma/delta/Makefile.inc b/community/MAFISC/src/liblzma/delta/Makefile.inc similarity index 100% rename from MAFISC/src/liblzma/delta/Makefile.inc rename to community/MAFISC/src/liblzma/delta/Makefile.inc diff --git a/MAFISC/src/liblzma/delta/delta_common.c b/community/MAFISC/src/liblzma/delta/delta_common.c similarity index 100% rename from MAFISC/src/liblzma/delta/delta_common.c rename to community/MAFISC/src/liblzma/delta/delta_common.c diff --git a/MAFISC/src/liblzma/delta/delta_common.h b/community/MAFISC/src/liblzma/delta/delta_common.h similarity index 100% rename from MAFISC/src/liblzma/delta/delta_common.h rename to community/MAFISC/src/liblzma/delta/delta_common.h diff --git a/MAFISC/src/liblzma/delta/delta_decoder.c b/community/MAFISC/src/liblzma/delta/delta_decoder.c similarity index 100% rename from MAFISC/src/liblzma/delta/delta_decoder.c rename to community/MAFISC/src/liblzma/delta/delta_decoder.c diff --git a/MAFISC/src/liblzma/delta/delta_decoder.h b/community/MAFISC/src/liblzma/delta/delta_decoder.h similarity index 100% rename from MAFISC/src/liblzma/delta/delta_decoder.h rename to community/MAFISC/src/liblzma/delta/delta_decoder.h diff --git a/MAFISC/src/liblzma/delta/delta_encoder.c b/community/MAFISC/src/liblzma/delta/delta_encoder.c similarity index 100% rename from MAFISC/src/liblzma/delta/delta_encoder.c rename to community/MAFISC/src/liblzma/delta/delta_encoder.c diff --git a/MAFISC/src/liblzma/delta/delta_encoder.h b/community/MAFISC/src/liblzma/delta/delta_encoder.h similarity index 100% rename from MAFISC/src/liblzma/delta/delta_encoder.h rename to community/MAFISC/src/liblzma/delta/delta_encoder.h diff --git a/MAFISC/src/liblzma/delta/delta_private.h b/community/MAFISC/src/liblzma/delta/delta_private.h similarity index 100% rename from MAFISC/src/liblzma/delta/delta_private.h rename to community/MAFISC/src/liblzma/delta/delta_private.h diff --git a/MAFISC/src/liblzma/liblzma.pc.in b/community/MAFISC/src/liblzma/liblzma.pc.in similarity index 100% rename from MAFISC/src/liblzma/liblzma.pc.in rename to community/MAFISC/src/liblzma/liblzma.pc.in diff --git a/MAFISC/src/liblzma/liblzma_w32res.rc b/community/MAFISC/src/liblzma/liblzma_w32res.rc similarity index 100% rename from MAFISC/src/liblzma/liblzma_w32res.rc rename to community/MAFISC/src/liblzma/liblzma_w32res.rc diff --git a/MAFISC/src/liblzma/lz/Makefile.inc b/community/MAFISC/src/liblzma/lz/Makefile.inc similarity index 100% rename from MAFISC/src/liblzma/lz/Makefile.inc rename to community/MAFISC/src/liblzma/lz/Makefile.inc diff --git a/MAFISC/src/liblzma/lz/lz_decoder.c b/community/MAFISC/src/liblzma/lz/lz_decoder.c similarity index 100% rename from MAFISC/src/liblzma/lz/lz_decoder.c rename to community/MAFISC/src/liblzma/lz/lz_decoder.c diff --git a/MAFISC/src/liblzma/lz/lz_decoder.h b/community/MAFISC/src/liblzma/lz/lz_decoder.h similarity index 100% rename from MAFISC/src/liblzma/lz/lz_decoder.h rename to community/MAFISC/src/liblzma/lz/lz_decoder.h diff --git a/MAFISC/src/liblzma/lz/lz_encoder.c b/community/MAFISC/src/liblzma/lz/lz_encoder.c similarity index 100% rename from MAFISC/src/liblzma/lz/lz_encoder.c rename to community/MAFISC/src/liblzma/lz/lz_encoder.c diff --git a/MAFISC/src/liblzma/lz/lz_encoder.h b/community/MAFISC/src/liblzma/lz/lz_encoder.h similarity index 100% rename from MAFISC/src/liblzma/lz/lz_encoder.h rename to community/MAFISC/src/liblzma/lz/lz_encoder.h diff --git a/MAFISC/src/liblzma/lz/lz_encoder_hash.h b/community/MAFISC/src/liblzma/lz/lz_encoder_hash.h similarity index 100% rename from MAFISC/src/liblzma/lz/lz_encoder_hash.h rename to community/MAFISC/src/liblzma/lz/lz_encoder_hash.h diff --git a/MAFISC/src/liblzma/lz/lz_encoder_hash_table.h b/community/MAFISC/src/liblzma/lz/lz_encoder_hash_table.h similarity index 100% rename from MAFISC/src/liblzma/lz/lz_encoder_hash_table.h rename to community/MAFISC/src/liblzma/lz/lz_encoder_hash_table.h diff --git a/MAFISC/src/liblzma/lz/lz_encoder_mf.c b/community/MAFISC/src/liblzma/lz/lz_encoder_mf.c similarity index 100% rename from MAFISC/src/liblzma/lz/lz_encoder_mf.c rename to community/MAFISC/src/liblzma/lz/lz_encoder_mf.c diff --git a/MAFISC/src/liblzma/lzma/Makefile.inc b/community/MAFISC/src/liblzma/lzma/Makefile.inc similarity index 100% rename from MAFISC/src/liblzma/lzma/Makefile.inc rename to community/MAFISC/src/liblzma/lzma/Makefile.inc diff --git a/MAFISC/src/liblzma/lzma/fastpos.h b/community/MAFISC/src/liblzma/lzma/fastpos.h similarity index 100% rename from MAFISC/src/liblzma/lzma/fastpos.h rename to community/MAFISC/src/liblzma/lzma/fastpos.h diff --git a/MAFISC/src/liblzma/lzma/fastpos_table.c b/community/MAFISC/src/liblzma/lzma/fastpos_table.c similarity index 100% rename from MAFISC/src/liblzma/lzma/fastpos_table.c rename to community/MAFISC/src/liblzma/lzma/fastpos_table.c diff --git a/MAFISC/src/liblzma/lzma/fastpos_tablegen.c b/community/MAFISC/src/liblzma/lzma/fastpos_tablegen.c similarity index 100% rename from MAFISC/src/liblzma/lzma/fastpos_tablegen.c rename to community/MAFISC/src/liblzma/lzma/fastpos_tablegen.c diff --git a/MAFISC/src/liblzma/lzma/lzma2_decoder.c b/community/MAFISC/src/liblzma/lzma/lzma2_decoder.c similarity index 100% rename from MAFISC/src/liblzma/lzma/lzma2_decoder.c rename to community/MAFISC/src/liblzma/lzma/lzma2_decoder.c diff --git a/MAFISC/src/liblzma/lzma/lzma2_decoder.h b/community/MAFISC/src/liblzma/lzma/lzma2_decoder.h similarity index 100% rename from MAFISC/src/liblzma/lzma/lzma2_decoder.h rename to community/MAFISC/src/liblzma/lzma/lzma2_decoder.h diff --git a/MAFISC/src/liblzma/lzma/lzma2_encoder.c b/community/MAFISC/src/liblzma/lzma/lzma2_encoder.c similarity index 100% rename from MAFISC/src/liblzma/lzma/lzma2_encoder.c rename to community/MAFISC/src/liblzma/lzma/lzma2_encoder.c diff --git a/MAFISC/src/liblzma/lzma/lzma2_encoder.h b/community/MAFISC/src/liblzma/lzma/lzma2_encoder.h similarity index 100% rename from MAFISC/src/liblzma/lzma/lzma2_encoder.h rename to community/MAFISC/src/liblzma/lzma/lzma2_encoder.h diff --git a/MAFISC/src/liblzma/lzma/lzma_common.h b/community/MAFISC/src/liblzma/lzma/lzma_common.h similarity index 100% rename from MAFISC/src/liblzma/lzma/lzma_common.h rename to community/MAFISC/src/liblzma/lzma/lzma_common.h diff --git a/MAFISC/src/liblzma/lzma/lzma_decoder.c b/community/MAFISC/src/liblzma/lzma/lzma_decoder.c similarity index 100% rename from MAFISC/src/liblzma/lzma/lzma_decoder.c rename to community/MAFISC/src/liblzma/lzma/lzma_decoder.c diff --git a/MAFISC/src/liblzma/lzma/lzma_decoder.h b/community/MAFISC/src/liblzma/lzma/lzma_decoder.h similarity index 100% rename from MAFISC/src/liblzma/lzma/lzma_decoder.h rename to community/MAFISC/src/liblzma/lzma/lzma_decoder.h diff --git a/MAFISC/src/liblzma/lzma/lzma_encoder.c b/community/MAFISC/src/liblzma/lzma/lzma_encoder.c similarity index 100% rename from MAFISC/src/liblzma/lzma/lzma_encoder.c rename to community/MAFISC/src/liblzma/lzma/lzma_encoder.c diff --git a/MAFISC/src/liblzma/lzma/lzma_encoder.h b/community/MAFISC/src/liblzma/lzma/lzma_encoder.h similarity index 100% rename from MAFISC/src/liblzma/lzma/lzma_encoder.h rename to community/MAFISC/src/liblzma/lzma/lzma_encoder.h diff --git a/MAFISC/src/liblzma/lzma/lzma_encoder_optimum_fast.c b/community/MAFISC/src/liblzma/lzma/lzma_encoder_optimum_fast.c similarity index 100% rename from MAFISC/src/liblzma/lzma/lzma_encoder_optimum_fast.c rename to community/MAFISC/src/liblzma/lzma/lzma_encoder_optimum_fast.c diff --git a/MAFISC/src/liblzma/lzma/lzma_encoder_optimum_normal.c b/community/MAFISC/src/liblzma/lzma/lzma_encoder_optimum_normal.c similarity index 100% rename from MAFISC/src/liblzma/lzma/lzma_encoder_optimum_normal.c rename to community/MAFISC/src/liblzma/lzma/lzma_encoder_optimum_normal.c diff --git a/MAFISC/src/liblzma/lzma/lzma_encoder_presets.c b/community/MAFISC/src/liblzma/lzma/lzma_encoder_presets.c similarity index 100% rename from MAFISC/src/liblzma/lzma/lzma_encoder_presets.c rename to community/MAFISC/src/liblzma/lzma/lzma_encoder_presets.c diff --git a/MAFISC/src/liblzma/lzma/lzma_encoder_private.h b/community/MAFISC/src/liblzma/lzma/lzma_encoder_private.h similarity index 100% rename from MAFISC/src/liblzma/lzma/lzma_encoder_private.h rename to community/MAFISC/src/liblzma/lzma/lzma_encoder_private.h diff --git a/MAFISC/src/liblzma/rangecoder/Makefile.inc b/community/MAFISC/src/liblzma/rangecoder/Makefile.inc similarity index 100% rename from MAFISC/src/liblzma/rangecoder/Makefile.inc rename to community/MAFISC/src/liblzma/rangecoder/Makefile.inc diff --git a/MAFISC/src/liblzma/rangecoder/price.h b/community/MAFISC/src/liblzma/rangecoder/price.h similarity index 100% rename from MAFISC/src/liblzma/rangecoder/price.h rename to community/MAFISC/src/liblzma/rangecoder/price.h diff --git a/MAFISC/src/liblzma/rangecoder/price_table.c b/community/MAFISC/src/liblzma/rangecoder/price_table.c similarity index 100% rename from MAFISC/src/liblzma/rangecoder/price_table.c rename to community/MAFISC/src/liblzma/rangecoder/price_table.c diff --git a/MAFISC/src/liblzma/rangecoder/price_tablegen.c b/community/MAFISC/src/liblzma/rangecoder/price_tablegen.c similarity index 100% rename from MAFISC/src/liblzma/rangecoder/price_tablegen.c rename to community/MAFISC/src/liblzma/rangecoder/price_tablegen.c diff --git a/MAFISC/src/liblzma/rangecoder/range_common.h b/community/MAFISC/src/liblzma/rangecoder/range_common.h similarity index 100% rename from MAFISC/src/liblzma/rangecoder/range_common.h rename to community/MAFISC/src/liblzma/rangecoder/range_common.h diff --git a/MAFISC/src/liblzma/rangecoder/range_decoder.h b/community/MAFISC/src/liblzma/rangecoder/range_decoder.h similarity index 100% rename from MAFISC/src/liblzma/rangecoder/range_decoder.h rename to community/MAFISC/src/liblzma/rangecoder/range_decoder.h diff --git a/MAFISC/src/liblzma/rangecoder/range_encoder.h b/community/MAFISC/src/liblzma/rangecoder/range_encoder.h similarity index 100% rename from MAFISC/src/liblzma/rangecoder/range_encoder.h rename to community/MAFISC/src/liblzma/rangecoder/range_encoder.h diff --git a/MAFISC/src/liblzma/simple/Makefile.inc b/community/MAFISC/src/liblzma/simple/Makefile.inc similarity index 100% rename from MAFISC/src/liblzma/simple/Makefile.inc rename to community/MAFISC/src/liblzma/simple/Makefile.inc diff --git a/MAFISC/src/liblzma/simple/arm.c b/community/MAFISC/src/liblzma/simple/arm.c similarity index 100% rename from MAFISC/src/liblzma/simple/arm.c rename to community/MAFISC/src/liblzma/simple/arm.c diff --git a/MAFISC/src/liblzma/simple/armthumb.c b/community/MAFISC/src/liblzma/simple/armthumb.c similarity index 100% rename from MAFISC/src/liblzma/simple/armthumb.c rename to community/MAFISC/src/liblzma/simple/armthumb.c diff --git a/MAFISC/src/liblzma/simple/ia64.c b/community/MAFISC/src/liblzma/simple/ia64.c similarity index 100% rename from MAFISC/src/liblzma/simple/ia64.c rename to community/MAFISC/src/liblzma/simple/ia64.c diff --git a/MAFISC/src/liblzma/simple/powerpc.c b/community/MAFISC/src/liblzma/simple/powerpc.c similarity index 100% rename from MAFISC/src/liblzma/simple/powerpc.c rename to community/MAFISC/src/liblzma/simple/powerpc.c diff --git a/MAFISC/src/liblzma/simple/simple_coder.c b/community/MAFISC/src/liblzma/simple/simple_coder.c similarity index 100% rename from MAFISC/src/liblzma/simple/simple_coder.c rename to community/MAFISC/src/liblzma/simple/simple_coder.c diff --git a/MAFISC/src/liblzma/simple/simple_coder.h b/community/MAFISC/src/liblzma/simple/simple_coder.h similarity index 100% rename from MAFISC/src/liblzma/simple/simple_coder.h rename to community/MAFISC/src/liblzma/simple/simple_coder.h diff --git a/MAFISC/src/liblzma/simple/simple_decoder.c b/community/MAFISC/src/liblzma/simple/simple_decoder.c similarity index 100% rename from MAFISC/src/liblzma/simple/simple_decoder.c rename to community/MAFISC/src/liblzma/simple/simple_decoder.c diff --git a/MAFISC/src/liblzma/simple/simple_decoder.h b/community/MAFISC/src/liblzma/simple/simple_decoder.h similarity index 100% rename from MAFISC/src/liblzma/simple/simple_decoder.h rename to community/MAFISC/src/liblzma/simple/simple_decoder.h diff --git a/MAFISC/src/liblzma/simple/simple_encoder.c b/community/MAFISC/src/liblzma/simple/simple_encoder.c similarity index 100% rename from MAFISC/src/liblzma/simple/simple_encoder.c rename to community/MAFISC/src/liblzma/simple/simple_encoder.c diff --git a/MAFISC/src/liblzma/simple/simple_encoder.h b/community/MAFISC/src/liblzma/simple/simple_encoder.h similarity index 100% rename from MAFISC/src/liblzma/simple/simple_encoder.h rename to community/MAFISC/src/liblzma/simple/simple_encoder.h diff --git a/MAFISC/src/liblzma/simple/simple_private.h b/community/MAFISC/src/liblzma/simple/simple_private.h similarity index 100% rename from MAFISC/src/liblzma/simple/simple_private.h rename to community/MAFISC/src/liblzma/simple/simple_private.h diff --git a/MAFISC/src/liblzma/simple/sparc.c b/community/MAFISC/src/liblzma/simple/sparc.c similarity index 100% rename from MAFISC/src/liblzma/simple/sparc.c rename to community/MAFISC/src/liblzma/simple/sparc.c diff --git a/MAFISC/src/liblzma/simple/x86.c b/community/MAFISC/src/liblzma/simple/x86.c similarity index 100% rename from MAFISC/src/liblzma/simple/x86.c rename to community/MAFISC/src/liblzma/simple/x86.c diff --git a/MAFISC/src/lorenzo-filter.c b/community/MAFISC/src/lorenzo-filter.c similarity index 100% rename from MAFISC/src/lorenzo-filter.c rename to community/MAFISC/src/lorenzo-filter.c diff --git a/MAFISC/src/lorenzo-filter.h b/community/MAFISC/src/lorenzo-filter.h similarity index 100% rename from MAFISC/src/lorenzo-filter.h rename to community/MAFISC/src/lorenzo-filter.h diff --git a/MAFISC/src/mafisc.c b/community/MAFISC/src/mafisc.c similarity index 100% rename from MAFISC/src/mafisc.c rename to community/MAFISC/src/mafisc.c diff --git a/MAFISC/src/mafisc.h b/community/MAFISC/src/mafisc.h similarity index 100% rename from MAFISC/src/mafisc.h rename to community/MAFISC/src/mafisc.h diff --git a/MAFISC/src/main.c b/community/MAFISC/src/main.c similarity index 100% rename from MAFISC/src/main.c rename to community/MAFISC/src/main.c diff --git a/MAFISC/src/sign-filter.c b/community/MAFISC/src/sign-filter.c similarity index 100% rename from MAFISC/src/sign-filter.c rename to community/MAFISC/src/sign-filter.c diff --git a/MAFISC/src/sign-filter.h b/community/MAFISC/src/sign-filter.h similarity index 100% rename from MAFISC/src/sign-filter.h rename to community/MAFISC/src/sign-filter.h diff --git a/MAFISC/src/simple-hash.c b/community/MAFISC/src/simple-hash.c similarity index 100% rename from MAFISC/src/simple-hash.c rename to community/MAFISC/src/simple-hash.c diff --git a/MAFISC/src/simple-hash.h b/community/MAFISC/src/simple-hash.h similarity index 100% rename from MAFISC/src/simple-hash.h rename to community/MAFISC/src/simple-hash.h diff --git a/MAFISC/src/time-filter.c b/community/MAFISC/src/time-filter.c similarity index 100% rename from MAFISC/src/time-filter.c rename to community/MAFISC/src/time-filter.c diff --git a/MAFISC/src/time-filter.h b/community/MAFISC/src/time-filter.h similarity index 100% rename from MAFISC/src/time-filter.h rename to community/MAFISC/src/time-filter.h diff --git a/MAFISC/src/variable-filter.c b/community/MAFISC/src/variable-filter.c similarity index 100% rename from MAFISC/src/variable-filter.c rename to community/MAFISC/src/variable-filter.c diff --git a/MAFISC/src/variable-filter.h b/community/MAFISC/src/variable-filter.h similarity index 100% rename from MAFISC/src/variable-filter.h rename to community/MAFISC/src/variable-filter.h diff --git a/community/README.md b/community/README.md new file mode 100644 index 00000000..98191a2a --- /dev/null +++ b/community/README.md @@ -0,0 +1,10 @@ +# HDF5 Community Filters + +These filters are NOT built and deployed with the HDF5 library. They are supported +(or not) by the community. Even when unsupported and unmaintained, we attempt to provide code +and information to help anyone who encounters files that require these filters in the wild. + +| Filter Plugin | Built and Tested? | +|---------|-------------| +|MAFISC|NO (broken)| +|SZ|NO (broken)| diff --git a/SZ/Additional_Legal/copyright-and-BSD-license.txt b/community/SZ/Additional_Legal/copyright-and-BSD-license.txt similarity index 100% rename from SZ/Additional_Legal/copyright-and-BSD-license.txt rename to community/SZ/Additional_Legal/copyright-and-BSD-license.txt diff --git a/SZ/CMakeLists.txt b/community/SZ/CMakeLists.txt similarity index 100% rename from SZ/CMakeLists.txt rename to community/SZ/CMakeLists.txt diff --git a/SZ/CTestConfig.cmake b/community/SZ/CTestConfig.cmake similarity index 100% rename from SZ/CTestConfig.cmake rename to community/SZ/CTestConfig.cmake diff --git a/SZ/Makefile.am b/community/SZ/Makefile.am similarity index 100% rename from SZ/Makefile.am rename to community/SZ/Makefile.am diff --git a/SZ/README.txt b/community/SZ/README.txt similarity index 100% rename from SZ/README.txt rename to community/SZ/README.txt diff --git a/SZ/config.h.in b/community/SZ/config.h.in similarity index 100% rename from SZ/config.h.in rename to community/SZ/config.h.in diff --git a/SZ/config/cmake/CTestCustom.cmake b/community/SZ/config/cmake/CTestCustom.cmake old mode 100755 new mode 100644 similarity index 100% rename from SZ/config/cmake/CTestCustom.cmake rename to community/SZ/config/cmake/CTestCustom.cmake diff --git a/SZ/config/cmake/CTestScript.cmake b/community/SZ/config/cmake/CTestScript.cmake old mode 100755 new mode 100644 similarity index 100% rename from SZ/config/cmake/CTestScript.cmake rename to community/SZ/config/cmake/CTestScript.cmake diff --git a/SZ/config/cmake/ConfigureChecks.cmake b/community/SZ/config/cmake/ConfigureChecks.cmake similarity index 100% rename from SZ/config/cmake/ConfigureChecks.cmake rename to community/SZ/config/cmake/ConfigureChecks.cmake diff --git a/SZ/config/cmake/H5PLTests.c b/community/SZ/config/cmake/H5PLTests.c similarity index 100% rename from SZ/config/cmake/H5PLTests.c rename to community/SZ/config/cmake/H5PLTests.c diff --git a/SZ/config/cmake/H5PL_Examples.cmake.in b/community/SZ/config/cmake/H5PL_Examples.cmake.in similarity index 100% rename from SZ/config/cmake/H5PL_Examples.cmake.in rename to community/SZ/config/cmake/H5PL_Examples.cmake.in diff --git a/SZ/config/cmake/H5SZMacros.cmake b/community/SZ/config/cmake/H5SZMacros.cmake similarity index 56% rename from SZ/config/cmake/H5SZMacros.cmake rename to community/SZ/config/cmake/H5SZMacros.cmake index 3de93818..1c4c74a7 100644 --- a/SZ/config/cmake/H5SZMacros.cmake +++ b/community/SZ/config/cmake/H5SZMacros.cmake @@ -24,26 +24,22 @@ macro (EXTERNAL_SZ_LIBRARY compress_type) URL_HASH "" ) endif () - FetchContent_GetProperties (SZF) - if (NOT szf_POPULATED) - FetchContent_Populate (SZF) - # Store the old value of the 'BUILD_SHARED_LIBS' - set (BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) - # Make subproject to use 'BUILD_SHARED_LIBS=OFF' setting. - set (BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries") - # Store the old value of the 'BUILD_TESTING' - set (BUILD_TESTING_OLD ${BUILD_TESTING}) - # Make subproject to use 'BUILD_TESTING=OFF' setting. - set (BUILD_TESTING OFF CACHE INTERNAL "Build Unit Testing") + # Store the old value of the 'BUILD_SHARED_LIBS' + set (BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS}) + # Make subproject to use 'BUILD_SHARED_LIBS=OFF' setting. + set (BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries") + # Store the old value of the 'BUILD_TESTING' + set (BUILD_TESTING_OLD ${BUILD_TESTING}) + # Make subproject to use 'BUILD_TESTING=OFF' setting. + set (BUILD_TESTING OFF CACHE INTERNAL "Build Unit Testing") - add_subdirectory (${szf_SOURCE_DIR} ${szf_BINARY_DIR}) + FetchContent_MakeAvailable (SZF) - # Restore the old value of the parameter - set (BUILD_TESTING ${BUILD_TESTING_OLD} CACHE BOOL "Build Unit Testing" FORCE) - # Restore the old value of the parameter - set (BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Type of libraries to build" FORCE) - endif () + # Restore the old value of the parameter + set (BUILD_TESTING ${BUILD_TESTING_OLD} CACHE BOOL "Build Unit Testing" FORCE) + # Restore the old value of the parameter + set (BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE BOOL "Type of libraries to build" FORCE) # include (${BINARY_DIR}/SZ-targets.cmake) set (SZ_LIBRARY "SZ;zstd;ZLIB") diff --git a/SZ/config/cmake/HDFMacros.cmake b/community/SZ/config/cmake/HDFMacros.cmake similarity index 98% rename from SZ/config/cmake/HDFMacros.cmake rename to community/SZ/config/cmake/HDFMacros.cmake index ec2113ad..d3b65099 100644 --- a/SZ/config/cmake/HDFMacros.cmake +++ b/community/SZ/config/cmake/HDFMacros.cmake @@ -301,6 +301,7 @@ macro (PLUGIN_README_PROPERTIES pkg_name) if (WIN32) set (BINARY_EXAMPLE_ENDING "zip") set (BINARY_INSTALL_ENDING "msi") + set (BINARY_COMPRESS_ENDING "zip") if (CMAKE_CL_64) set (BINARY_SYSTEM_NAME "win64") else () @@ -343,8 +344,10 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () - set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ????") endif () else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ${CMAKE_C_COMPILER_VERSION}") @@ -352,12 +355,14 @@ macro (PLUGIN_README_PROPERTIES pkg_name) endif () elseif (APPLE) set (BINARY_EXAMPLE_ENDING "tar.gz") + set (BINARY_COMPRESS_ENDING "tar.gz") set (BINARY_INSTALL_ENDING "sh") # if packaging changes - use dmg set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") else () set (BINARY_EXAMPLE_ENDING "tar.gz") - set (BINARY_INSTALL_ENDING "sh") + set (BINARY_COMPRESS_ENDING "tar.gz") + set (BINARY_INSTALL_ENDING "sh/deb/rpm") set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") endif () diff --git a/SZ/config/cmake/HDFPluginMacros.cmake b/community/SZ/config/cmake/HDFPluginMacros.cmake similarity index 90% rename from SZ/config/cmake/HDFPluginMacros.cmake rename to community/SZ/config/cmake/HDFPluginMacros.cmake index 40bf5cc1..aba24d7f 100644 --- a/SZ/config/cmake/HDFPluginMacros.cmake +++ b/community/SZ/config/cmake/HDFPluginMacros.cmake @@ -150,10 +150,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -161,10 +161,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () @@ -260,6 +260,13 @@ macro (HDF5_SUPPORT link_hdf) set (H5PL_HDF5_REPACK_EXECUTABLE $) endif() endif () + # Determine if a threading package is available on this system + if (HDF5_ENABLE_THREADS) + find_package (Threads) + if (NOT Threads_FOUND) + message (FATAL_ERROR " **** thread support requires C11 threads, Win32 threads or Pthreads **** ") + endif () + endif () else () find_package (HDF5) # Legacy find #Legacy find_package does not set HDF5_TOOLS_DIR, so we set it here @@ -322,7 +329,7 @@ macro (INSTALL_SUPPORT varname) #----------------------------------------------------------------------------- # Configure the H5PL_Examples.cmake file and the examples #----------------------------------------------------------------------------- - if (${PLUGIN_PACKAGE_NAME}_H5PL_BUILD_TESTING) + if (${PLUGIN_PACKAGE_NAME}_BUILD_TESTING) configure_file ( ${${PLUGIN_PACKAGE_NAME}_RESOURCES_DIR}/H5PL_Examples.cmake.in ${${PLUGIN_PACKAGE_NAME}_BINARY_DIR}/H5PL_Examples.cmake @ONLY @@ -421,6 +428,11 @@ macro (INSTALL_SUPPORT varname) set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}/${CPACK_PACKAGE_NAME}/${CPACK_PACKAGE_VERSION}") endif () + set (CPACK_ORIG_SOURCE_DIR ${CMAKE_SOURCE_DIR}) + if ("$ENV{BINSIGN}" STREQUAL "exists") + set (CPACK_PRE_BUILD_SCRIPTS ${CMAKE_SOURCE_DIR}/config/cmake/SignPackageFiles.cmake) + endif () + set (CPACK_GENERATOR "TGZ") if (WIN32) set (CPACK_GENERATOR "ZIP") @@ -503,13 +515,45 @@ macro (INSTALL_SUPPORT varname) set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${${PLUGIN_PACKAGE_NAME}_PACKAGE_BUGREPORT}") - -# list (APPEND CPACK_GENERATOR "RPM") - set (CPACK_RPM_PACKAGE_RELEASE "1") - set (CPACK_RPM_COMPONENT_INSTALL ON) - set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + + find_program (DPKGSHLIB_EXE dpkg-shlibdeps) + if (DPKGSHLIB_EXE) + list (APPEND CPACK_GENERATOR "DEB") + set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") + set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${H5PL_PACKAGE_BUGREPORT}") + endif () + + find_program (RPMBUILD_EXE rpmbuild) + if (RPMBUILD_EXE) + list (APPEND CPACK_GENERATOR "RPM") + set (CPACK_RPM_PACKAGE_RELEASE "1") + set (CPACK_RPM_PACKAGE_RELEASE_DIST ON) + set (CPACK_RPM_COMPONENT_INSTALL ON) + set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + set (CPACK_RPM_FILE_NAME "RPM-DEFAULT") + set (CPACK_RPM_PACKAGE_NAME "${CPACK_PACKAGE_NAME}") + set (CPACK_RPM_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}") + set (CPACK_RPM_PACKAGE_VENDOR "${CPACK_PACKAGE_VENDOR}") + set (CPACK_RPM_PACKAGE_LICENSE "BSD-style") + set (CPACK_RPM_PACKAGE_GROUP "Development/Libraries") + set (CPACK_RPM_PACKAGE_URL "${H5PL_PACKAGE_URL}") + set (CPACK_RPM_PACKAGE_SUMMARY "HDF5 Plugins are a suite of filters supporting registered compression libraries.") + set (CPACK_RPM_PACKAGE_DESCRIPTION + "The HDF5 technology suite includes: + + * A versatile data model that can represent very complex data objects and a wide variety of metadata. + + * A completely portable file format with no limit on the number or size of data objects in the collection. + + * A software library that runs on a range of computational platforms, from laptops to massively parallel systems, and implements a high-level API with C, C++, Fortran 90, and Java interfaces. + + * A rich set of integrated performance features that allow for access time and storage space optimizations. + +The HDF5 data model, file format, API, library, and tools are open and distributed without charge. +" + ) + endif () endif () - set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${${PLUGIN_PACKAGE_NAME}_BINARY_DIR};${PLUGIN_NAME};ALL;/") set (CPACK_ALL_INSTALL_TYPES Full User) set (CPACK_INSTALL_TYPE_FULL_DISPLAY_NAME "Everything") diff --git a/SZ/config/cmake/HDFoptions.cmake b/community/SZ/config/cmake/HDFoptions.cmake old mode 100755 new mode 100644 similarity index 100% rename from SZ/config/cmake/HDFoptions.cmake rename to community/SZ/config/cmake/HDFoptions.cmake diff --git a/SZ/config/cmake/NSIS.InstallOptions.ini.in b/community/SZ/config/cmake/NSIS.InstallOptions.ini.in similarity index 100% rename from SZ/config/cmake/NSIS.InstallOptions.ini.in rename to community/SZ/config/cmake/NSIS.InstallOptions.ini.in diff --git a/SZ/config/cmake/NSIS.template.in b/community/SZ/config/cmake/NSIS.template.in similarity index 100% rename from SZ/config/cmake/NSIS.template.in rename to community/SZ/config/cmake/NSIS.template.in diff --git a/SZ/config/cmake/README.txt.cmake.in b/community/SZ/config/cmake/README.txt.cmake.in similarity index 100% rename from SZ/config/cmake/README.txt.cmake.in rename to community/SZ/config/cmake/README.txt.cmake.in diff --git a/community/SZ/config/cmake/SignPackageFiles.cmake b/community/SZ/config/cmake/SignPackageFiles.cmake new file mode 100644 index 00000000..b23a0a05 --- /dev/null +++ b/community/SZ/config/cmake/SignPackageFiles.cmake @@ -0,0 +1,41 @@ +# This script signs the targets for the package +message(STATUS "Signing script in ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY}") + +# RPM needs ALL_COMPONENTS_IN_ONE added to path between ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY} +if (CPACK_GENERATOR MATCHES "RPM") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_COMPONENTS_IN_ONE/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +elseif (CPACK_GENERATOR MATCHES "WIX" OR CPACK_GENERATOR MATCHES "NSIS") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/libraries") +elseif (CPACK_GENERATOR MATCHES "ZIP") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}") +else () + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +endif () +file (GLOB target_list LIST_DIRECTORIES false "${CPACK_TARGET_FILE_DIRECTORY}/lib/plugin/*.*") +foreach (targetfile IN LISTS target_list) + if (WIN32) + # Sign the targets + execute_process (COMMAND $ENV{SIGNTOOLDIR}/signtool + sign /v /debug /fd SHA256 /tr http://timestamp.acs.microsoft.com /td SHA256 + /dlib "Microsoft.Trusted.Signing.Client/bin/x64/Azure.CodeSigning.Dlib.dll" /dmdf ${CPACK_ORIG_SOURCE_DIR}/credentials.json + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + elseif (APPLE) + # Sign the targets + execute_process (COMMAND codesign + --force --timestamp --options runtime --entitlements ${CPACK_ORIG_SOURCE_DIR}/config/cmake/distribution.entitlements + --verbose=4 --strict --sign "$ENV{SIGNER}" + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + else () + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + endif () +endforeach () diff --git a/SZ/config/cmake/binex/CMakeLists.txt b/community/SZ/config/cmake/binex/CMakeLists.txt similarity index 100% rename from SZ/config/cmake/binex/CMakeLists.txt rename to community/SZ/config/cmake/binex/CMakeLists.txt diff --git a/SZ/config/cmake/binex/CTestConfig.cmake b/community/SZ/config/cmake/binex/CTestConfig.cmake similarity index 100% rename from SZ/config/cmake/binex/CTestConfig.cmake rename to community/SZ/config/cmake/binex/CTestConfig.cmake diff --git a/SZ/config/cmake/binex/Using_CMake.txt b/community/SZ/config/cmake/binex/Using_CMake.txt similarity index 100% rename from SZ/config/cmake/binex/Using_CMake.txt rename to community/SZ/config/cmake/binex/Using_CMake.txt diff --git a/SZ/config/cmake/binex/config/cmake/CTestCustom.cmake b/community/SZ/config/cmake/binex/config/cmake/CTestCustom.cmake old mode 100755 new mode 100644 similarity index 100% rename from SZ/config/cmake/binex/config/cmake/CTestCustom.cmake rename to community/SZ/config/cmake/binex/config/cmake/CTestCustom.cmake diff --git a/SZ/config/cmake/binex/config/cmake/HDFMacros.cmake b/community/SZ/config/cmake/binex/config/cmake/HDFMacros.cmake similarity index 99% rename from SZ/config/cmake/binex/config/cmake/HDFMacros.cmake rename to community/SZ/config/cmake/binex/config/cmake/HDFMacros.cmake index ec2113ad..09db2daf 100644 --- a/SZ/config/cmake/binex/config/cmake/HDFMacros.cmake +++ b/community/SZ/config/cmake/binex/config/cmake/HDFMacros.cmake @@ -343,6 +343,8 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") endif () diff --git a/MAFISC/config/cmake/binex/config/cmake/HDFPluginMacros.cmake b/community/SZ/config/cmake/binex/config/cmake/HDFPluginMacros.cmake similarity index 98% rename from MAFISC/config/cmake/binex/config/cmake/HDFPluginMacros.cmake rename to community/SZ/config/cmake/binex/config/cmake/HDFPluginMacros.cmake index d2fdb5dd..9dfe4cef 100644 --- a/MAFISC/config/cmake/binex/config/cmake/HDFPluginMacros.cmake +++ b/community/SZ/config/cmake/binex/config/cmake/HDFPluginMacros.cmake @@ -97,10 +97,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -138,10 +138,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () diff --git a/SZ/config/cmake/binex/config/cmake/cacheinit.cmake b/community/SZ/config/cmake/binex/config/cmake/cacheinit.cmake old mode 100755 new mode 100644 similarity index 100% rename from SZ/config/cmake/binex/config/cmake/cacheinit.cmake rename to community/SZ/config/cmake/binex/config/cmake/cacheinit.cmake diff --git a/SZ/config/cmake/binex/config/cmake/grepTest.cmake b/community/SZ/config/cmake/binex/config/cmake/grepTest.cmake similarity index 100% rename from SZ/config/cmake/binex/config/cmake/grepTest.cmake rename to community/SZ/config/cmake/binex/config/cmake/grepTest.cmake diff --git a/SZ/config/cmake/binex/config/cmake/runTest.cmake b/community/SZ/config/cmake/binex/config/cmake/runTest.cmake similarity index 100% rename from SZ/config/cmake/binex/config/cmake/runTest.cmake rename to community/SZ/config/cmake/binex/config/cmake/runTest.cmake diff --git a/SZ/config/cmake/binex/config/toolchain/aarch64.cmake b/community/SZ/config/cmake/binex/config/toolchain/aarch64.cmake similarity index 100% rename from SZ/config/cmake/binex/config/toolchain/aarch64.cmake rename to community/SZ/config/cmake/binex/config/toolchain/aarch64.cmake diff --git a/SZ/config/cmake/binex/config/toolchain/build32.cmake b/community/SZ/config/cmake/binex/config/toolchain/build32.cmake similarity index 100% rename from SZ/config/cmake/binex/config/toolchain/build32.cmake rename to community/SZ/config/cmake/binex/config/toolchain/build32.cmake diff --git a/SZ/config/cmake/binex/config/toolchain/clang.cmake b/community/SZ/config/cmake/binex/config/toolchain/clang.cmake similarity index 100% rename from SZ/config/cmake/binex/config/toolchain/clang.cmake rename to community/SZ/config/cmake/binex/config/toolchain/clang.cmake diff --git a/SZ/config/cmake/binex/config/toolchain/crayle.cmake b/community/SZ/config/cmake/binex/config/toolchain/crayle.cmake similarity index 100% rename from SZ/config/cmake/binex/config/toolchain/crayle.cmake rename to community/SZ/config/cmake/binex/config/toolchain/crayle.cmake diff --git a/SZ/config/cmake/binex/config/toolchain/gcc.cmake b/community/SZ/config/cmake/binex/config/toolchain/gcc.cmake similarity index 100% rename from SZ/config/cmake/binex/config/toolchain/gcc.cmake rename to community/SZ/config/cmake/binex/config/toolchain/gcc.cmake diff --git a/SZ/config/cmake/binex/config/toolchain/icc.cmake b/community/SZ/config/cmake/binex/config/toolchain/icc.cmake similarity index 100% rename from SZ/config/cmake/binex/config/toolchain/icc.cmake rename to community/SZ/config/cmake/binex/config/toolchain/icc.cmake diff --git a/SZ/config/cmake/binex/config/toolchain/mingw64.cmake b/community/SZ/config/cmake/binex/config/toolchain/mingw64.cmake similarity index 100% rename from SZ/config/cmake/binex/config/toolchain/mingw64.cmake rename to community/SZ/config/cmake/binex/config/toolchain/mingw64.cmake diff --git a/SZ/config/cmake/binex/config/toolchain/pgi.cmake b/community/SZ/config/cmake/binex/config/toolchain/pgi.cmake similarity index 100% rename from SZ/config/cmake/binex/config/toolchain/pgi.cmake rename to community/SZ/config/cmake/binex/config/toolchain/pgi.cmake diff --git a/SZ/config/cmake/binex/example/CMakeLists.txt b/community/SZ/config/cmake/binex/example/CMakeLists.txt similarity index 100% rename from SZ/config/cmake/binex/example/CMakeLists.txt rename to community/SZ/config/cmake/binex/example/CMakeLists.txt diff --git a/SZ/config/cmake/binex/example/h5ex_d_sz.c b/community/SZ/config/cmake/binex/example/h5ex_d_sz.c similarity index 100% rename from SZ/config/cmake/binex/example/h5ex_d_sz.c rename to community/SZ/config/cmake/binex/example/h5ex_d_sz.c diff --git a/SZ/config/cmake/binex/example/test/test.sh b/community/SZ/config/cmake/binex/example/test/test.sh old mode 100755 new mode 100644 similarity index 100% rename from SZ/config/cmake/binex/example/test/test.sh rename to community/SZ/config/cmake/binex/example/test/test.sh diff --git a/SZ/config/cmake/binex/example/test/testCM.sh b/community/SZ/config/cmake/binex/example/test/testCM.sh old mode 100755 new mode 100644 similarity index 100% rename from SZ/config/cmake/binex/example/test/testCM.sh rename to community/SZ/config/cmake/binex/example/test/testCM.sh diff --git a/SZ/config/cmake/binex/example/testfiles/h5ex_d_sz.ddl b/community/SZ/config/cmake/binex/example/testfiles/h5ex_d_sz.ddl similarity index 100% rename from SZ/config/cmake/binex/example/testfiles/h5ex_d_sz.ddl rename to community/SZ/config/cmake/binex/example/testfiles/h5ex_d_sz.ddl diff --git a/SZ/config/cmake/binex/example/testfiles/h5ex_d_sz.err b/community/SZ/config/cmake/binex/example/testfiles/h5ex_d_sz.err similarity index 100% rename from SZ/config/cmake/binex/example/testfiles/h5ex_d_sz.err rename to community/SZ/config/cmake/binex/example/testfiles/h5ex_d_sz.err diff --git a/SZ/config/cmake/binex/example/testfiles/h5ex_d_sz.h5 b/community/SZ/config/cmake/binex/example/testfiles/h5ex_d_sz.h5 similarity index 100% rename from SZ/config/cmake/binex/example/testfiles/h5ex_d_sz.h5 rename to community/SZ/config/cmake/binex/example/testfiles/h5ex_d_sz.h5 diff --git a/SZ/config/cmake/binex/example/testfiles/h5ex_d_sz.tst b/community/SZ/config/cmake/binex/example/testfiles/h5ex_d_sz.tst similarity index 100% rename from SZ/config/cmake/binex/example/testfiles/h5ex_d_sz.tst rename to community/SZ/config/cmake/binex/example/testfiles/h5ex_d_sz.tst diff --git a/SZ/config/cmake/binex/example/testfiles/h5repack_layout.h5 b/community/SZ/config/cmake/binex/example/testfiles/h5repack_layout.h5 similarity index 100% rename from SZ/config/cmake/binex/example/testfiles/h5repack_layout.h5 rename to community/SZ/config/cmake/binex/example/testfiles/h5repack_layout.h5 diff --git a/SZ/config/cmake/binex/example/testfiles/h5repack_layout.h5-ud_convert.ddl b/community/SZ/config/cmake/binex/example/testfiles/h5repack_layout.h5-ud_convert.ddl similarity index 100% rename from SZ/config/cmake/binex/example/testfiles/h5repack_layout.h5-ud_convert.ddl rename to community/SZ/config/cmake/binex/example/testfiles/h5repack_layout.h5-ud_convert.ddl diff --git a/SZ/config/cmake/binex/example/testfiles/sz.config b/community/SZ/config/cmake/binex/example/testfiles/sz.config similarity index 100% rename from SZ/config/cmake/binex/example/testfiles/sz.config rename to community/SZ/config/cmake/binex/example/testfiles/sz.config diff --git a/SZ/config/cmake/binex/example/testfiles/ud_convert.h5repack_layout.h5.tst b/community/SZ/config/cmake/binex/example/testfiles/ud_convert.h5repack_layout.h5.tst similarity index 100% rename from SZ/config/cmake/binex/example/testfiles/ud_convert.h5repack_layout.h5.tst rename to community/SZ/config/cmake/binex/example/testfiles/ud_convert.h5repack_layout.h5.tst diff --git a/SZ/config/cmake/cacheinit.cmake b/community/SZ/config/cmake/cacheinit.cmake similarity index 100% rename from SZ/config/cmake/cacheinit.cmake rename to community/SZ/config/cmake/cacheinit.cmake diff --git a/SZ/config/cmake/config.h.in b/community/SZ/config/cmake/config.h.in similarity index 100% rename from SZ/config/cmake/config.h.in rename to community/SZ/config/cmake/config.h.in diff --git a/community/SZ/config/cmake/distribution.entitlements b/community/SZ/config/cmake/distribution.entitlements new file mode 100644 index 00000000..0e0df6c7 --- /dev/null +++ b/community/SZ/config/cmake/distribution.entitlements @@ -0,0 +1,16 @@ + + + + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + com.apple.security.cs.disable-executable-page-protection + + com.apple.security.cs.disable-library-validation + + com.apple.security.cs.allow-dyld-environment-variables + + + diff --git a/SZ/config/cmake/grepTest.cmake b/community/SZ/config/cmake/grepTest.cmake old mode 100755 new mode 100644 similarity index 100% rename from SZ/config/cmake/grepTest.cmake rename to community/SZ/config/cmake/grepTest.cmake diff --git a/SZ/config/cmake/h5sz-config-version.cmake.in b/community/SZ/config/cmake/h5sz-config-version.cmake.in similarity index 100% rename from SZ/config/cmake/h5sz-config-version.cmake.in rename to community/SZ/config/cmake/h5sz-config-version.cmake.in diff --git a/SZ/config/cmake/h5sz-config.cmake.in b/community/SZ/config/cmake/h5sz-config.cmake.in similarity index 100% rename from SZ/config/cmake/h5sz-config.cmake.in rename to community/SZ/config/cmake/h5sz-config.cmake.in diff --git a/SZ/config/cmake/runTest.cmake b/community/SZ/config/cmake/runTest.cmake old mode 100755 new mode 100644 similarity index 100% rename from SZ/config/cmake/runTest.cmake rename to community/SZ/config/cmake/runTest.cmake diff --git a/SZ/config/toolchain/aarch64.cmake b/community/SZ/config/toolchain/aarch64.cmake similarity index 66% rename from SZ/config/toolchain/aarch64.cmake rename to community/SZ/config/toolchain/aarch64.cmake index 69968336..d061949e 100644 --- a/SZ/config/toolchain/aarch64.cmake +++ b/community/SZ/config/toolchain/aarch64.cmake @@ -1,7 +1,7 @@ -set(TOOLCHAIN_PREFIX aarch64-linux-gnu) -set(ANDROID_NDK /opt/android-ndk-linux) -set (CMAKE_SYSTEM_NAME Android) -set (CMAKE_ANDROID_ARCH_ABI x86_64) +set (TOOLCHAIN_PREFIX aarch64-linux-gnu) +set (CMAKE_SYSTEM_NAME Linux) +set (CMAKE_SYSTEM_PROCESSOR aarch64) +#set (CMAKE_ANDROID_ARCH_ABI x86_64) #set (CMAKE_ANDROID_STANDALONE_TOOLCHAIN ${ANDROID_NDK}/build/cmake/android.toolchain.cmake) set (CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) set (CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) @@ -12,7 +12,7 @@ set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) -set (CMAKE_CROSSCOMPILING_EMULATOR qemu-aarch64) +set (CMAKE_CROSSCOMPILING_EMULATOR "qemu-aarch64-static;-L;/usr/aarch64-linux-gnu/" CACHE FILEPATH "Path to the emulator for the target system.") include_directories(/usr/${TOOLCHAIN_PREFIX}/include) diff --git a/SZ/config/toolchain/build32.cmake b/community/SZ/config/toolchain/build32.cmake similarity index 100% rename from SZ/config/toolchain/build32.cmake rename to community/SZ/config/toolchain/build32.cmake diff --git a/SZ/config/toolchain/clang.cmake b/community/SZ/config/toolchain/clang.cmake similarity index 100% rename from SZ/config/toolchain/clang.cmake rename to community/SZ/config/toolchain/clang.cmake diff --git a/SZ/config/toolchain/crayle.cmake b/community/SZ/config/toolchain/crayle.cmake similarity index 100% rename from SZ/config/toolchain/crayle.cmake rename to community/SZ/config/toolchain/crayle.cmake diff --git a/SZ/config/toolchain/gcc.cmake b/community/SZ/config/toolchain/gcc.cmake similarity index 100% rename from SZ/config/toolchain/gcc.cmake rename to community/SZ/config/toolchain/gcc.cmake diff --git a/SZ/config/toolchain/icc.cmake b/community/SZ/config/toolchain/icc.cmake similarity index 100% rename from SZ/config/toolchain/icc.cmake rename to community/SZ/config/toolchain/icc.cmake diff --git a/SZ/config/toolchain/intel.cmake b/community/SZ/config/toolchain/intel.cmake similarity index 100% rename from SZ/config/toolchain/intel.cmake rename to community/SZ/config/toolchain/intel.cmake diff --git a/SZ/config/toolchain/mingw64.cmake b/community/SZ/config/toolchain/mingw64.cmake similarity index 100% rename from SZ/config/toolchain/mingw64.cmake rename to community/SZ/config/toolchain/mingw64.cmake diff --git a/SZ/config/toolchain/pgi.cmake b/community/SZ/config/toolchain/pgi.cmake similarity index 100% rename from SZ/config/toolchain/pgi.cmake rename to community/SZ/config/toolchain/pgi.cmake diff --git a/SZ/configure.ac b/community/SZ/configure.ac similarity index 100% rename from SZ/configure.ac rename to community/SZ/configure.ac diff --git a/SZ/example/CMakeLists.txt b/community/SZ/example/CMakeLists.txt old mode 100755 new mode 100644 similarity index 100% rename from SZ/example/CMakeLists.txt rename to community/SZ/example/CMakeLists.txt diff --git a/SZ/example/Makefile.am b/community/SZ/example/Makefile.am similarity index 100% rename from SZ/example/Makefile.am rename to community/SZ/example/Makefile.am diff --git a/SZ/example/h5ex_d_sz.c b/community/SZ/example/h5ex_d_sz.c similarity index 100% rename from SZ/example/h5ex_d_sz.c rename to community/SZ/example/h5ex_d_sz.c diff --git a/SZ/example/test/test.sh b/community/SZ/example/test/test.sh old mode 100755 new mode 100644 similarity index 100% rename from SZ/example/test/test.sh rename to community/SZ/example/test/test.sh diff --git a/SZ/example/test/testCM.sh b/community/SZ/example/test/testCM.sh old mode 100755 new mode 100644 similarity index 100% rename from SZ/example/test/testCM.sh rename to community/SZ/example/test/testCM.sh diff --git a/SZ/example/testfiles/h5ex_d_sz.ddl b/community/SZ/example/testfiles/h5ex_d_sz.ddl similarity index 100% rename from SZ/example/testfiles/h5ex_d_sz.ddl rename to community/SZ/example/testfiles/h5ex_d_sz.ddl diff --git a/SZ/example/testfiles/h5ex_d_sz.err b/community/SZ/example/testfiles/h5ex_d_sz.err similarity index 100% rename from SZ/example/testfiles/h5ex_d_sz.err rename to community/SZ/example/testfiles/h5ex_d_sz.err diff --git a/SZ/example/testfiles/h5ex_d_sz.h5 b/community/SZ/example/testfiles/h5ex_d_sz.h5 similarity index 100% rename from SZ/example/testfiles/h5ex_d_sz.h5 rename to community/SZ/example/testfiles/h5ex_d_sz.h5 diff --git a/SZ/example/testfiles/h5ex_d_sz.tst b/community/SZ/example/testfiles/h5ex_d_sz.tst similarity index 100% rename from SZ/example/testfiles/h5ex_d_sz.tst rename to community/SZ/example/testfiles/h5ex_d_sz.tst diff --git a/SZ/example/testfiles/h5repack_layout.h5 b/community/SZ/example/testfiles/h5repack_layout.h5 similarity index 100% rename from SZ/example/testfiles/h5repack_layout.h5 rename to community/SZ/example/testfiles/h5repack_layout.h5 diff --git a/SZ/example/testfiles/h5repack_layout.h5-ud_convert.ddl b/community/SZ/example/testfiles/h5repack_layout.h5-ud_convert.ddl similarity index 100% rename from SZ/example/testfiles/h5repack_layout.h5-ud_convert.ddl rename to community/SZ/example/testfiles/h5repack_layout.h5-ud_convert.ddl diff --git a/SZ/example/testfiles/sz.config b/community/SZ/example/testfiles/sz.config similarity index 100% rename from SZ/example/testfiles/sz.config rename to community/SZ/example/testfiles/sz.config diff --git a/SZ/example/testfiles/ud_convert.h5repack_layout.h5.tst b/community/SZ/example/testfiles/ud_convert.h5repack_layout.h5.tst similarity index 100% rename from SZ/example/testfiles/ud_convert.h5repack_layout.h5.tst rename to community/SZ/example/testfiles/ud_convert.h5repack_layout.h5.tst diff --git a/SZ/m4/libtool.m4 b/community/SZ/m4/libtool.m4 similarity index 100% rename from SZ/m4/libtool.m4 rename to community/SZ/m4/libtool.m4 diff --git a/SZ/m4/ltoptions.m4 b/community/SZ/m4/ltoptions.m4 similarity index 100% rename from SZ/m4/ltoptions.m4 rename to community/SZ/m4/ltoptions.m4 diff --git a/SZ/m4/ltsugar.m4 b/community/SZ/m4/ltsugar.m4 similarity index 100% rename from SZ/m4/ltsugar.m4 rename to community/SZ/m4/ltsugar.m4 diff --git a/SZ/m4/ltversion.m4 b/community/SZ/m4/ltversion.m4 similarity index 100% rename from SZ/m4/ltversion.m4 rename to community/SZ/m4/ltversion.m4 diff --git a/SZ/m4/lt~obsolete.m4 b/community/SZ/m4/lt~obsolete.m4 similarity index 100% rename from SZ/m4/lt~obsolete.m4 rename to community/SZ/m4/lt~obsolete.m4 diff --git a/SZ/src/CMakeLists.txt b/community/SZ/src/CMakeLists.txt similarity index 100% rename from SZ/src/CMakeLists.txt rename to community/SZ/src/CMakeLists.txt diff --git a/SZ/src/H5Zszf.c b/community/SZ/src/H5Zszf.c similarity index 100% rename from SZ/src/H5Zszf.c rename to community/SZ/src/H5Zszf.c diff --git a/SZ/src/H5Zszf.h b/community/SZ/src/H5Zszf.h similarity index 100% rename from SZ/src/H5Zszf.h rename to community/SZ/src/H5Zszf.h diff --git a/SZ/src/Makefile.am b/community/SZ/src/Makefile.am similarity index 100% rename from SZ/src/Makefile.am rename to community/SZ/src/Makefile.am diff --git a/SZ/src/sz.config b/community/SZ/src/sz.config similarity index 100% rename from SZ/src/sz.config rename to community/SZ/src/sz.config diff --git a/config/cmake-presets/hidden-presets.json b/config/cmake-presets/hidden-presets.json index cf5cda19..2ac717b1 100644 --- a/config/cmake-presets/hidden-presets.json +++ b/config/cmake-presets/hidden-presets.json @@ -10,7 +10,7 @@ "binaryDir": "${sourceParentDir}/build/${presetName}", "installDir": "${sourceParentDir}/install/${presetName}" }, - { + { "name": "ci-x64", "architecture": { "value": "x64", @@ -21,7 +21,15 @@ { "name": "ci-x86", "architecture": { - "value": "x86", + "value": "Win32", + "strategy": "external" + }, + "hidden": true + }, + { + "name": "ci-arm64", + "architecture": { + "value": "ARM64", "strategy": "external" }, "hidden": true @@ -47,25 +55,29 @@ "CMAKE_C_COMPILER": "cl", "CMAKE_CXX_COMPILER": "cl" }, - "toolset": { - "value": "host=x64", - "strategy": "external" - }, "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Windows" } }, + { + "name": "ci-macos", + "hidden": true, + "cacheVariables": { + "CMAKE_OSX_ARCHITECTURES": "arm64;x86_64" + }, + "condition": { + "type": "equals", + "lhs": "${hostSystemName}", + "rhs": "Darwin" + } + }, { "name": "ci-Clang", "hidden": true, "cacheVariables": { "CMAKE_TOOLCHAIN_FILE": "config/toolchain/clang.cmake" - }, - "toolset": { - "value": "host=x64", - "strategy": "external" } }, { @@ -78,22 +90,11 @@ "type": "equals", "lhs": "${hostSystemName}", "rhs": "Linux" - }, - "toolset": { - "value": "host=x64", - "strategy": "external" } }, { "name": "ci-Intel", - "hidden": true, - "cacheVariables": { - "CMAKE_TOOLCHAIN_FILE": "config/toolchain/intel.cmake" - }, - "toolset": { - "value": "host=x64", - "strategy": "external" - } + "hidden": true }, { "name": "ci-CPP", @@ -167,6 +168,61 @@ "ci-Release", "ci-GNUC" ] + }, + { + "name": "ci-macos-Debug-Clang", + "description": "Clang/LLVM for x64 (Debug)", + "hidden": true, + "inherits": [ + "ci-base", + "ci-macos", + "ci-Debug", + "ci-Clang" + ] + }, + { + "name": "ci-macos-Release-Clang", + "description": "Clang/LLVM for x64 (Release)", + "hidden": true, + "inherits": [ + "ci-base", + "ci-macos", + "ci-Release", + "ci-Clang" + ] + }, + { + "name": "ci-macos-Debug-GNUC", + "description": "GNUC for x64 (Debug)", + "hidden": true, + "inherits": [ + "ci-base", + "ci-macos", + "ci-Debug", + "ci-GNUC" + ] + }, + { + "name": "ci-macos-Release-GNUC", + "description": "GNUC for x64 (Release)", + "hidden": true, + "inherits": [ + "ci-base", + "ci-macos", + "ci-Release", + "ci-GNUC" + ] + }, + { + "name": "ci-x64-Release-Intel", + "description": "Intel for x64 (Release)", + "hidden": true, + "inherits": [ + "ci-base", + "ci-x64", + "ci-Release", + "ci-Intel" + ] } ], "buildPresets": [ @@ -226,6 +282,47 @@ "inherits": [ "ci-base" ] + }, + { + "name": "ci-macos-Debug-Clang", + "configurePreset": "ci-macos-Debug-Clang", + "hidden": true, + "inherits": [ + "ci-base" + ] + }, + { + "name": "ci-macos-Release-Clang", + "configurePreset": "ci-macos-Release-Clang", + "hidden": true, + "inherits": [ + "ci-base" + ] + }, + { + "name": "ci-macos-Debug-GNUC", + "configurePreset": "ci-macos-Debug-GNUC", + "hidden": true, + "inherits": [ + "ci-base" + ] + }, + { + "name": "ci-macos-Release-GNUC", + "configurePreset": "ci-macos-Release-GNUC", + "hidden": true, + "inherits": [ + "ci-base" + ] + }, + { + "name": "ci-x64-Release-Intel", + "configurePreset": "ci-x64-Release-Intel", + "hidden": true, + "inherits": [ + "ci-base" + ], + "configuration": "RelWithDebInfo" } ], "testPresets": [ @@ -293,6 +390,46 @@ "inherits": [ "ci-base" ] + }, + { + "name": "ci-macos-Debug-Clang", + "configurePreset": "ci-macos-Debug-Clang", + "hidden": true, + "inherits": [ + "ci-base" + ] + }, + { + "name": "ci-macos-Release-Clang", + "configurePreset": "ci-macos-Release-Clang", + "hidden": true, + "inherits": [ + "ci-base" + ] + }, + { + "name": "ci-macos-Debug-GNUC", + "configurePreset": "ci-macos-Debug-GNUC", + "hidden": true, + "inherits": [ + "ci-base" + ] + }, + { + "name": "ci-macos-Release-GNUC", + "configurePreset": "ci-macos-Release-GNUC", + "hidden": true, + "inherits": [ + "ci-base" + ] + }, + { + "name": "ci-x64-Release-Intel", + "configurePreset": "ci-x64-Release-Intel", + "hidden": true, + "inherits": [ + "ci-base" + ] } ], "packagePresets": [ @@ -308,28 +445,37 @@ "configurePreset": "ci-x64-Release-MSVC", "hidden": true, "inherits": "ci-base", - "generators": [ - "ZIP" - ], "configurations": ["RelWithDebInfo"] }, { "name": "ci-x64-Release-Clang", "configurePreset": "ci-x64-Release-Clang", "hidden": true, - "inherits": "ci-base", - "generators": [ - "TGZ" - ] + "inherits": "ci-base" }, { "name": "ci-x64-Release-GNUC", "configurePreset": "ci-x64-Release-GNUC", "hidden": true, - "inherits": "ci-base", - "generators": [ - "TGZ" - ] + "inherits": "ci-base" + }, + { + "name": "ci-macos-Release-Clang", + "configurePreset": "ci-macos-Release-Clang", + "hidden": true, + "inherits": "ci-base" + }, + { + "name": "ci-macos-Release-GNUC", + "configurePreset": "ci-macos-Release-GNUC", + "hidden": true, + "inherits": "ci-base" + }, + { + "name": "ci-x64-Release-Intel", + "configurePreset": "ci-x64-Release-Intel", + "hidden": true, + "inherits": "ci-base" } ] -} \ No newline at end of file +} diff --git a/config/cmake/HDFMacros.cmake b/config/cmake/HDFMacros.cmake index ec2113ad..d3b65099 100644 --- a/config/cmake/HDFMacros.cmake +++ b/config/cmake/HDFMacros.cmake @@ -301,6 +301,7 @@ macro (PLUGIN_README_PROPERTIES pkg_name) if (WIN32) set (BINARY_EXAMPLE_ENDING "zip") set (BINARY_INSTALL_ENDING "msi") + set (BINARY_COMPRESS_ENDING "zip") if (CMAKE_CL_64) set (BINARY_SYSTEM_NAME "win64") else () @@ -343,8 +344,10 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () - set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ????") endif () else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ${CMAKE_C_COMPILER_VERSION}") @@ -352,12 +355,14 @@ macro (PLUGIN_README_PROPERTIES pkg_name) endif () elseif (APPLE) set (BINARY_EXAMPLE_ENDING "tar.gz") + set (BINARY_COMPRESS_ENDING "tar.gz") set (BINARY_INSTALL_ENDING "sh") # if packaging changes - use dmg set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") else () set (BINARY_EXAMPLE_ENDING "tar.gz") - set (BINARY_INSTALL_ENDING "sh") + set (BINARY_COMPRESS_ENDING "tar.gz") + set (BINARY_INSTALL_ENDING "sh/deb/rpm") set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") endif () diff --git a/config/cmake/HDFPluginMacros.cmake b/config/cmake/HDFPluginMacros.cmake index b33268e1..aba24d7f 100644 --- a/config/cmake/HDFPluginMacros.cmake +++ b/config/cmake/HDFPluginMacros.cmake @@ -150,10 +150,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -161,10 +161,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () @@ -260,6 +260,13 @@ macro (HDF5_SUPPORT link_hdf) set (H5PL_HDF5_REPACK_EXECUTABLE $) endif() endif () + # Determine if a threading package is available on this system + if (HDF5_ENABLE_THREADS) + find_package (Threads) + if (NOT Threads_FOUND) + message (FATAL_ERROR " **** thread support requires C11 threads, Win32 threads or Pthreads **** ") + endif () + endif () else () find_package (HDF5) # Legacy find #Legacy find_package does not set HDF5_TOOLS_DIR, so we set it here @@ -421,6 +428,11 @@ macro (INSTALL_SUPPORT varname) set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}/${CPACK_PACKAGE_NAME}/${CPACK_PACKAGE_VERSION}") endif () + set (CPACK_ORIG_SOURCE_DIR ${CMAKE_SOURCE_DIR}) + if ("$ENV{BINSIGN}" STREQUAL "exists") + set (CPACK_PRE_BUILD_SCRIPTS ${CMAKE_SOURCE_DIR}/config/cmake/SignPackageFiles.cmake) + endif () + set (CPACK_GENERATOR "TGZ") if (WIN32) set (CPACK_GENERATOR "ZIP") @@ -503,13 +515,45 @@ macro (INSTALL_SUPPORT varname) set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${${PLUGIN_PACKAGE_NAME}_PACKAGE_BUGREPORT}") - -# list (APPEND CPACK_GENERATOR "RPM") - set (CPACK_RPM_PACKAGE_RELEASE "1") - set (CPACK_RPM_COMPONENT_INSTALL ON) - set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + + find_program (DPKGSHLIB_EXE dpkg-shlibdeps) + if (DPKGSHLIB_EXE) + list (APPEND CPACK_GENERATOR "DEB") + set (CPACK_DEBIAN_PACKAGE_SECTION "Libraries") + set (CPACK_DEBIAN_PACKAGE_MAINTAINER "${H5PL_PACKAGE_BUGREPORT}") + endif () + + find_program (RPMBUILD_EXE rpmbuild) + if (RPMBUILD_EXE) + list (APPEND CPACK_GENERATOR "RPM") + set (CPACK_RPM_PACKAGE_RELEASE "1") + set (CPACK_RPM_PACKAGE_RELEASE_DIST ON) + set (CPACK_RPM_COMPONENT_INSTALL ON) + set (CPACK_RPM_PACKAGE_RELOCATABLE ON) + set (CPACK_RPM_FILE_NAME "RPM-DEFAULT") + set (CPACK_RPM_PACKAGE_NAME "${CPACK_PACKAGE_NAME}") + set (CPACK_RPM_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}") + set (CPACK_RPM_PACKAGE_VENDOR "${CPACK_PACKAGE_VENDOR}") + set (CPACK_RPM_PACKAGE_LICENSE "BSD-style") + set (CPACK_RPM_PACKAGE_GROUP "Development/Libraries") + set (CPACK_RPM_PACKAGE_URL "${H5PL_PACKAGE_URL}") + set (CPACK_RPM_PACKAGE_SUMMARY "HDF5 Plugins are a suite of filters supporting registered compression libraries.") + set (CPACK_RPM_PACKAGE_DESCRIPTION + "The HDF5 technology suite includes: + + * A versatile data model that can represent very complex data objects and a wide variety of metadata. + + * A completely portable file format with no limit on the number or size of data objects in the collection. + + * A software library that runs on a range of computational platforms, from laptops to massively parallel systems, and implements a high-level API with C, C++, Fortran 90, and Java interfaces. + + * A rich set of integrated performance features that allow for access time and storage space optimizations. + +The HDF5 data model, file format, API, library, and tools are open and distributed without charge. +" + ) + endif () endif () - set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${${PLUGIN_PACKAGE_NAME}_BINARY_DIR};${PLUGIN_NAME};ALL;/") set (CPACK_ALL_INSTALL_TYPES Full User) set (CPACK_INSTALL_TYPE_FULL_DISPLAY_NAME "Everything") diff --git a/config/cmake/SignPackageFiles.cmake b/config/cmake/SignPackageFiles.cmake new file mode 100644 index 00000000..0e18c7a2 --- /dev/null +++ b/config/cmake/SignPackageFiles.cmake @@ -0,0 +1,43 @@ +# This script signs the targets for the package +message(STATUS "Signing script in ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY}") + +# RPM needs ALL_COMPONENTS_IN_ONE added to path between ${CPACK_TEMPORARY_INSTALL_DIRECTORY} and ${CPACK_PACKAGE_INSTALL_DIRECTORY} +if (CPACK_GENERATOR MATCHES "RPM") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_COMPONENTS_IN_ONE/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +elseif (CPACK_GENERATOR MATCHES "WIX" OR CPACK_GENERATOR MATCHES "NSIS") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/libraries") +elseif (CPACK_GENERATOR MATCHES "ZIP") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}") +elseif (CPACK_GENERATOR MATCHES "DragNDrop") + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/ALL_IN_ONE/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +else () + set (CPACK_TARGET_FILE_DIRECTORY "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/${CPACK_PACKAGE_INSTALL_DIRECTORY}") +endif () +file (GLOB target_list LIST_DIRECTORIES false "${CPACK_TARGET_FILE_DIRECTORY}/lib/plugin/*.*") +foreach (targetfile IN LISTS target_list) + if (WIN32) + # Sign the targets + execute_process (COMMAND $ENV{SIGNTOOLDIR}/signtool + sign /v /debug /fd SHA256 /tr http://timestamp.acs.microsoft.com /td SHA256 + /dlib "Microsoft.Trusted.Signing.Client/bin/x64/Azure.CodeSigning.Dlib.dll" /dmdf ${CPACK_ORIG_SOURCE_DIR}/credentials.json + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + elseif (APPLE) + # Sign the targets + execute_process (COMMAND codesign + --force --timestamp --options runtime --entitlements ${CPACK_ORIG_SOURCE_DIR}/config/cmake/distribution.entitlements + --verbose=4 --strict --sign "$ENV{SIGNER}" + ${targetfile} + ) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + else () + execute_process ( + COMMAND ${CMAKE_COMMAND} -E echo "Signing the target ${targetfile}" + ) + endif () +endforeach () diff --git a/config/cmake/binex/config/cmake/HDFMacros.cmake b/config/cmake/binex/config/cmake/HDFMacros.cmake index ec2113ad..09db2daf 100644 --- a/config/cmake/binex/config/cmake/HDFMacros.cmake +++ b/config/cmake/binex/config/cmake/HDFMacros.cmake @@ -343,6 +343,8 @@ macro (PLUGIN_README_PROPERTIES pkg_name) set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2019") elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.3.*") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") + elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "^19.4.*") + set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2022") else () set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ???") endif () diff --git a/config/cmake/binex/config/cmake/HDFPluginMacros.cmake b/config/cmake/binex/config/cmake/HDFPluginMacros.cmake index d2fdb5dd..9dfe4cef 100644 --- a/config/cmake/binex/config/cmake/HDFPluginMacros.cmake +++ b/config/cmake/binex/config/cmake/HDFPluginMacros.cmake @@ -97,10 +97,10 @@ macro (BASIC_SETTINGS varname) #----------------------------------------------------------------------------- # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -fno-common") endif () @@ -138,10 +138,10 @@ macro (BASIC_SETTINGS varname) # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- - if (CMAKE_COMPILER_IS_GNUCC) + if (CMAKE_C_COMPILER_ID STREQUAL "GNU") set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0") endif () - if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_COMPILER_IS_GNUCXX) + if (CMAKE_CXX_COMPILER_LOADED AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0") endif () diff --git a/config/cmake/cacheinit.cmake b/config/cmake/cacheinit.cmake index 5e34fa20..7dfee4d4 100644 --- a/config/cmake/cacheinit.cmake +++ b/config/cmake/cacheinit.cmake @@ -78,7 +78,7 @@ set (BLOSC2_GIT_BRANCH "main" CACHE STRING "" FORCE) set (BLOSC2_TGZ_ORIGPATH "https://github.com/Blosc/c-blosc2/archive/refs/tags" CACHE STRING "Use PLUGINS from original location" FORCE) set (BLOSC2_TGZ_NAME "c-blosc2-2.14.4.tar.gz" CACHE STRING "Use BLOSC2 from compressed file" FORCE) -set (BLOSC2_PACKAGE_NAME "blosc" CACHE STRING "Name of BLOSC2 package" FORCE) +set (BLOSC2_PACKAGE_NAME "blosc2" CACHE STRING "Name of BLOSC2 package" FORCE) set (BLOSC2_ZLIB_GIT_URL "https://github.com/madler/zlib.git" CACHE STRING "Use ZLIB from GitHub repository" FORCE) set (BLOSC2_ZLIB_GIT_BRANCH "develop" CACHE STRING "" FORCE) @@ -139,24 +139,6 @@ set (LZF_TGZ_NAME "liblzf-3.6.tar.gz" CACHE STRING "Use LZF from compressed file set (LZF_PACKAGE_NAME "lzf" CACHE STRING "Name of LZF package" FORCE) -############################# mafisc ################################################ - -#set (BUILD_MAFISC_LIBRARY_SOURCE OFF CACHE BOOL "build the mafisc library within the plugin" FORCE) - -#set (MAFISC_TGZ_ORIGPATH "" CACHE STRING "Use PLUGINS from original location" FORCE) -#set (MAFISC_TGZ_NAME ".tar.gz" CACHE STRING "Use MAFISC from compressed file" FORCE) -#set (MAFISC_PACKAGE_NAME "mafisc" CACHE STRING "Name of MAFISC package" FORCE) - -############################# sz ################################################ - -set (SZ_GIT_URL "https://github.com/szcompressor/SZ.git" CACHE STRING "Use SZ filter from GitHub repository" FORCE) -set (SZ_GIT_BRANCH "master" CACHE STRING "" FORCE) - -set (SZ_TGZ_ORIGPATH "https://github.com/szcompressor/SZ/releases/download/v2.1.12.5" CACHE STRING "Use PLUGINS from original location" FORCE) -set (SZ_TGZ_NAME "SZ-2.1.12.5.tar.gz" CACHE STRING "Use SZ filter from compressed file" FORCE) - -set (SZ_PACKAGE_NAME "SZ" CACHE STRING "Name of SZ filter package" FORCE) - ############################# zfp ################################################ set (ZFP_GIT_URL "https://github.com/LLNL/zfp.git" CACHE STRING "Use ZFP from GitHub repository" FORCE) diff --git a/config/cmake/distribution.entitlements b/config/cmake/distribution.entitlements new file mode 100644 index 00000000..0e0df6c7 --- /dev/null +++ b/config/cmake/distribution.entitlements @@ -0,0 +1,16 @@ + + + + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + com.apple.security.cs.disable-executable-page-protection + + com.apple.security.cs.disable-library-validation + + com.apple.security.cs.allow-dyld-environment-variables + + + diff --git a/config/toolchain/aarch64.cmake b/config/toolchain/aarch64.cmake index 69968336..fd216a99 100644 --- a/config/toolchain/aarch64.cmake +++ b/config/toolchain/aarch64.cmake @@ -1,7 +1,7 @@ set(TOOLCHAIN_PREFIX aarch64-linux-gnu) -set(ANDROID_NDK /opt/android-ndk-linux) -set (CMAKE_SYSTEM_NAME Android) -set (CMAKE_ANDROID_ARCH_ABI x86_64) +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR aarch64) +#set (CMAKE_ANDROID_ARCH_ABI x86_64) #set (CMAKE_ANDROID_STANDALONE_TOOLCHAIN ${ANDROID_NDK}/build/cmake/android.toolchain.cmake) set (CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) set (CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) @@ -12,7 +12,7 @@ set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) -set (CMAKE_CROSSCOMPILING_EMULATOR qemu-aarch64) +set(CMAKE_CROSSCOMPILING_EMULATOR "qemu-aarch64-static;-L;/usr/aarch64-linux-gnu/" CACHE FILEPATH "Path to the emulator for the target system.") include_directories(/usr/${TOOLCHAIN_PREFIX}/include) diff --git a/docs/INSTALL_With_CMake.txt b/docs/INSTALL_With_CMake.txt index c261e59d..1d7da60d 100644 --- a/docs/INSTALL_With_CMake.txt +++ b/docs/INSTALL_With_CMake.txt @@ -439,6 +439,17 @@ These five steps are described in detail below. set (BLOSC_ZLIB_TGZ_ORIGPATH "https://github.com/madler/zlib/releases/download/v1.3" CACHE STRING "Use PLUGINS from original location" FORCE) set (BLOSC_ZLIB_TGZ_NAME "zlib-1.3.tar.gz" CACHE STRING "Use ZLib from compressed file" FORCE) set (BLOSC_ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of BLOSC_ZLIB package" FORCE) + ############################# blosc2 ################################################ + set (BLOSC2_GIT_URL "https://github.com/Blosc/c-blosc2.git" CACHE STRING "Use BLOSC2 from Github repository" FORCE) + set (BLOSC2_GIT_BRANCH "main" CACHE STRING "" FORCE) + set (BLOSC2_TGZ_ORIGPATH "https://github.com/Blosc/c-blosc2/archive/refs/tags" CACHE STRING "Use PLUGINS from original location" FORCE) + set (BLOSC2_TGZ_NAME "c-blosc2-2.14.4.tar.gz" CACHE STRING "Use BLOSC2 from compressed file" FORCE) + set (BLOSC2_PACKAGE_NAME "blosc2" CACHE STRING "Name of BLOSC2 package" FORCE) + set (BLOSC2_ZLIB_GIT_URL "https://github.com/madler/zlib.git" CACHE STRING "Use ZLIB from GitHub repository" FORCE) + set (BLOSC2_ZLIB_GIT_BRANCH "develop" CACHE STRING "" FORCE) + set (BLOSC2_ZLIB_TGZ_ORIGPATH "https://github.com/madler/zlib/releases/download/v1.3" CACHE STRING "Use PLUGINS from original location" FORCE) + set (BLOSC2_ZLIB_TGZ_NAME "zlib-1.3.tar.gz" CACHE STRING "Use ZLib from compressed file" FORCE) + set (BLOSC2_ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of BLOSC2_ZLIB package" FORCE) ############################# bzip2 ################################################ set (BZ2_GIT_URL "https://github.com/libarchive/bzip2.git" CACHE STRING "Use BZ2 from GitHub repository" FORCE) set (BZ2_GIT_BRANCH "bzip2-1.0.8" CACHE STRING "" FORCE) @@ -664,6 +675,12 @@ HDF_ENABLE_BLOSC_ZLIB_SUPPORT "Enable Zlib Filters" O BLOSC_ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 1 BLOSC_USE_EXTERNAL "Use External Library Building for BLOSC" 1 +------ BLOSC2 ------ +HDF_ENABLE_BLOSC2_SUPPORT "Enable blosc2" ON +HDF_ENABLE_BLOSC2_ZLIB_SUPPORT "Enable Zlib Filters" ON +BLOSC2_ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 1 +BLOSC2_USE_EXTERNAL "Use External Library Building for BLOSC2" 1 + ------ BSHUF ------ BUILD_BSHUF_LZ4_LIBRARY_SOURCE "build the lz4 library within the BSHUF plugin" ON BUILD_BSHUF_LIBRARY_SOURCE "build the bitshuffle library within the plugin" ON @@ -683,32 +700,6 @@ LZ4_USE_EXTERNAL "Use External Library Building for LZ4" 1 ------ LZF ------ LZF_USE_EXTERNAL "Use External Library Building for LZF" 1 ------- MAFISC ------ -COND_MAIN_ENCODER "Enable encoding" ON -COND_MAIN_DECODER "Enable decoding" ON -COND_CHECK_CRC32 "Enable check crc32" ON -COND_CHECK_CRC64 "Enable check crc64" ON -COND_CHECK_SHA256 "Enable check sha256" ON -COND_FILTER_LZ "Enable lz filter" ON -COND_ENCODER_LZ "Enable lz encoder" ON -COND_DECODER_LZ "Enable lz decoder" ON -COND_FILTER_LZMA1 "Enable lzma1 filter" ON -COND_ENCODER_LZMA1 "Enable lzma1 encoder" ON -COND_DECODER_LZMA1 "Enable lzma1 decoder" ON -COND_ENCODER_LZMA2 "Enable lzma2 encoder" ON -COND_DECODER_LZMA2 "Enable lzma2 decoder" ON -COND_FILTER_DELTA "Enable delta filter" ON -COND_ENCODER_SIMPLE "Enable delta encoder" ON -COND_DECODER_DELTA "Enable delta decoder" ON -COND_FILTER_SIMPLE "Enable simple filter" ON -COND_ENCODER_SIMPLE "Enable simple encoder" ON -COND_DECODER_SIMPLE "Enable simple decoder" ON -BUILD_MAFISC_LIBRARY_SOURCE "build the mafisc library within the plugin" ON -MAFISC_USE_EXTERNAL "Use External Library Building for MAFISC" 1 - ------- SZ ------ -SZ_USE_EXTERNAL "Use External Library Building for SZ" 1 - ------ ZFP ------ COND_MAIN_ENCODER "Enable encoding" ON COND_MAIN_DECODER "Enable decoding" ON @@ -731,6 +722,9 @@ COND_ENCODER_SIMPLE "Enable simple encoder" ON COND_DECODER_SIMPLE "Enable simple decoder" ON ZFP_USE_EXTERNAL "Use External Library Building for ZFP" 0 +------ ZSTD ------ +ZSTD_USE_EXTERNAL "Use External Library Building for ZSTD" 1 + ======================================================================== VII: Using CMakePresets.json for compiling diff --git a/docs/RegisteredFilterPlugins.md b/docs/RegisteredFilterPlugins.md index bff188fb..1255e2b5 100644 --- a/docs/RegisteredFilterPlugins.md +++ b/docs/RegisteredFilterPlugins.md @@ -49,9 +49,11 @@ List of Filters Registered with The HDF Group |32023 |Granular |BitRound (GBR) The GBG quantization algorithm is a significant improvement to the BitGroom filter| |32024 |SZ3 |A modular error-bounded lossy compression framework for scientific datasets| |32025 |Delta-Rice |Lossless compression algorithm optimized for digitized analog signals based on delta encoding and rice coding| -|32026 |BLOSC |The recent new-generation version of the Blosc compression library| +|32026 |BLOSC2 |The recent new-generation version of the Blosc compression library| |32027 |FLAC |FLAC audio compression filter in HDF5| |32028 |H5Z-SPERR |H5Z-SPERR is the HDF5 filter for SPERR| +|32029 |TERSE/PROLIX |A lossless and fast compression of the diffraction data| +|32030 |FFMPEG |A lossy compression filter based on ffmpeg video library| ##
The Filters
@@ -689,9 +691,49 @@ SPERR is a wavelet-based lossy compressor for floating-point scientific data; it #### Filter Information: -H5Z-SPERR is the HDF5 filter for SPERR. It's also available on Github: https://github.com/NCAR/H5Z-SPERR +H5Z-SPERR is the HDF5 filter for SPERR. It is also available on Github: https://github.com/NCAR/H5Z-SPERR #### Contact Information: Samuel Li Email: shaomeng at ucar dot edu +## + +

TERSE/PROLIX (or TRPX) Filter

+ +#### Filter ID: 32029 + +#### Filter Description: + +A new compression algorithm (https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10626653/), which is specifically tailored for the lossless and fast compression of the diffraction data. + +#### Filter Information: + +GitHub repo of the algorithm: https://github.com/Senikm/trpx + +#### Contact Information: +Jan Pieter Abrahams +Email: jp.abrahams at unibas dot ch + +Senik Matinyan +Email: senik.matinyan at unibas dot ch + +## + +

FFMPEG Filter

+ +#### Filter ID: 32030 + +#### Filter Description: + +A lossy compression filter based on ffmpeg video library. + +#### Filter Information: + +https://github.com/Cai-Lab-at-University-of-Michigan/ffmpeg_HDF5_filter + +License: Under MIT License + +#### Contact Information: +Cai Lab at University of Michigan: https://www.cai-lab.org +