Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Master only fc #83

Merged
merged 7 commits into from
Oct 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/release-files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -137,11 +137,11 @@ jobs:
prerelease: false
#body_path: ${{ github.workspace }}-CHANGELOG.txt
files: |
${{ inputs.use_tag }}.tar.gz
${{ inputs.use_tag }}.zip
${{ inputs.use_tag }}-osx12.tar.gz
${{ inputs.use_tag }}-ubuntu-2204.tar.gz
${{ inputs.use_tag }}-win_vs2022.zip
${{ inputs.file_branch }}.tar.gz
${{ inputs.file_branch }}.zip
${{ inputs.file_branch }}-osx12.tar.gz
${{ inputs.file_branch }}-ubuntu-2204.tar.gz
${{ inputs.file_branch }}-win_vs2022.zip
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`

- name: List files for the space (Linux)
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:
description: 'Plugin Release Name'
type: string
required: false
default: hdf5_plugin-snapshot
default: hdf5_plugins-snapshot

permissions:
contents: read
Expand Down Expand Up @@ -95,8 +95,8 @@ jobs:
uses: ./.github/workflows/release-files.yml
with:
file_base: ${{ needs.create-files-ctest.outputs.file_base }}
file_branch: ${{ needs.log-the-inputs.outputs.rel_tag }}
file_branch: ${{ needs.log-the-inputs.outputs.rel_name }}
file_sha: ${{ needs.log-the-inputs.outputs.rel_tag }}
use_tag: ${{ needs.log-the-inputs.outputs.rel_name }}
use_tag: ${{ needs.log-the-inputs.outputs.rel_tag }}
use_environ: release

24 changes: 3 additions & 21 deletions BLOSC/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ set (H5BLOSC_PACKAGE_URL "http://www.hdfgroup.org")
set (H5BLOSC_PACKAGE_BUGREPORT "help@hdfgroup.org")
set (H5BLOSC_PACKAGE_SOVERSION "${H5BLOSC_SOVERS_MAJOR}.${H5BLOSC_SOVERS_RELEASE}.${H5BLOSC_SOVERS_MINOR}")
set (H5BLOSC_PACKAGE_SOVERSION_MAJOR "${H5BLOSC_SOVERS_MAJOR}")
message("Configuring for blosc HDF5 Plugin version: " ${H5BLOSC_PACKAGE_STRING})
message (STATUS "Configuring for blosc HDF5 Plugin version: " ${H5BLOSC_PACKAGE_STRING})

#-----------------------------------------------------------------------------
# Include some macros for reusable code
Expand Down Expand Up @@ -193,7 +193,7 @@ if (HDF_ENABLE_BLOSC_SUPPORT)
set (BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${BLOSC_INCLUDE_DIR})
else ()
if (H5PL_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR H5PL_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
EXTERNAL_BLOSC_LIBRARY (${H5PL_ALLOW_EXTERNAL_SUPPORT} STATIC)
EXTERNAL_BLOSC_LIBRARY (${H5PL_ALLOW_EXTERNAL_SUPPORT})
set (H5_HAVE_BLOSC_H 1)
set (H5_HAVE_BLOSC 1)
set (H5_BLOSC_HEADER "blosc.h")
Expand All @@ -206,7 +206,7 @@ if (HDF_ENABLE_BLOSC_SUPPORT)
# This project is being called from within another and BLOSC is already configured
set (H5_HAVE_BLOSC_H 1)
endif ()
set (LINK_LIBS ${LINK_LIBS} ${BLOSC_LIBRARY})
set (LINK_LIBS ${LINK_LIBS} ${BLOSC_LIBRARIES})
set (H5BLOSC_INCLUDE_DIRS ${H5BLOSC_INCLUDE_DIRS} ${BLOSC_INCLUDE_DIRS})
message (STATUS "BLOSC is ON")
endif ()
Expand All @@ -223,13 +223,6 @@ option (HDF_PACKAGE_EXTLIBS "CPACK - include external libraries" OFF)
if (NOT HDF_EXTERNALLY_CONFIGURED)
if (HDF_PACKAGE_EXTLIBS)
set (HDF_NO_PACKAGES OFF CACHE BOOL "CPACK - Disable packaging" FORCE)
if (HDF_ENABLE_BLOSC_ZLIB_SUPPORT AND ZLIB_FOUND)
PACKAGE_BLOSC_ZLIB_LIBRARY (${H5PL_ALLOW_EXTERNAL_SUPPORT})
endif ()

if (HDF_ENABLE_BLOSC_SUPPORT AND BLOSC_FOUND)
PACKAGE_BLOSC_LIBRARY (${H5PL_ALLOW_EXTERNAL_SUPPORT})
endif ()
endif ()
endif ()

Expand All @@ -248,17 +241,6 @@ endif ()

add_subdirectory (src)

if (H5PL_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR H5PL_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
if (HDF_ENABLE_BLOSC_ZLIB_SUPPORT)
if (ZLIB_FOUND AND BLOSC_ZLIB_USE_EXTERNAL)
add_dependencies (${H5BLOSC_LIB_TARGET} BLOSC_ZLIB)
endif ()
endif ()
if (BLOSC_FOUND AND BLOSC_USE_EXTERNAL)
add_dependencies (${H5BLOSC_LIB_TARGET} BLOSC)
endif ()
endif ()

option (BUILD_EXAMPLES "Build h5blosc Examples" OFF)
if (BUILD_EXAMPLES)
add_subdirectory (example)
Expand Down
8 changes: 6 additions & 2 deletions BLOSC/config/cmake/ConfigureChecks.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -180,9 +180,13 @@ macro (HDF_FUNCTION_TEST OTHER_TEST)
)
if (${OTHER_TEST})
set (${OTHER_TEST} 1 CACHE INTERNAL "Other test ${FUNCTION}")
message (VERBOSE "Performing Other Test ${OTHER_TEST} - Success")
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
message (VERBOSE "Performing Other Test ${OTHER_TEST} - Success")
endif ()
else ()
message (VERBOSE "Performing Other Test ${OTHER_TEST} - Failed")
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15.0")
message (VERBOSE "Performing Other Test ${OTHER_TEST} - Failed")
endif ()
set (${OTHER_TEST} "" CACHE INTERNAL "Other test ${FUNCTION}")
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Performing Other Test ${OTHER_TEST} failed with the following output:\n"
Expand Down
151 changes: 40 additions & 111 deletions BLOSC/config/cmake/H5BLOSCMacros.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,71 +9,45 @@
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#

include (FetchContent)
#-------------------------------------------------------------------------------
macro (EXTERNAL_BLOSC_LIBRARY compress_type libtype)
if (${libtype} MATCHES "SHARED")
set (BUILD_EXT_SHARED_LIBS "ON")
else ()
set (BUILD_EXT_SHARED_LIBS "OFF")
endif ()
macro (EXTERNAL_BLOSC_LIBRARY compress_type)
if (${compress_type} MATCHES "GIT")
EXTERNALPROJECT_ADD (BLOSC
FetchContent_Declare (BLOSC
GIT_REPOSITORY ${BLOSC_URL}
GIT_TAG ${BLOSC_BRANCH}
INSTALL_COMMAND ""
CMAKE_ARGS
-DBUILD_TESTS:BOOL=OFF
-DBUILD_BENCHMARKS:BOOL=OFF
-DPREFER_EXTERNAL_SNAPPY:BOOL=OFF
-DPREFER_EXTERNAL_ZLIB:BOOL=OFF
-DPREFER_EXTERNAL_ZSTD:BOOL=OFF
-DDEACTIVATE_SNAPPY:BOOL=ON
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
-DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
)
elseif (${compress_type} MATCHES "TGZ")
EXTERNALPROJECT_ADD (BLOSC
FetchContent_Declare (BLOSC
URL ${BLOSC_URL}
URL_MD5 ""
INSTALL_COMMAND ""
CMAKE_ARGS
-DBUILD_TESTS:BOOL=OFF
-DBUILD_BENCHMARKS:BOOL=OFF
-DPREFER_EXTERNAL_SNAPPY:BOOL=OFF
-DPREFER_EXTERNAL_ZLIB:BOOL=OFF
-DPREFER_EXTERNAL_ZSTD:BOOL=OFF
-DDEACTIVATE_SNAPPY:BOOL=ON
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
-DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
URL_HASH ""
)
endif ()
externalproject_get_property (BLOSC BINARY_DIR SOURCE_DIR)
FetchContent_GetProperties(BLOSC)
if(NOT blosc_POPULATED)
FetchContent_Populate(BLOSC)
set (BUILD_SHARED OFF CACHE BOOL "")
set (BUILD_TESTS OFF CACHE BOOL "")
set (BUILD_FUZZERS OFF CACHE BOOL "")
set (BUILD_BENCHMARKS OFF CACHE BOOL "")
set (PREFER_EXTERNAL_SNAPPY OFF CACHE BOOL "")
set (PREFER_EXTERNAL_ZLIB OFF CACHE BOOL "")
set (PREFER_EXTERNAL_ZSTD OFF CACHE BOOL "")
set (DEACTIVATE_SNAPPY ON CACHE BOOL "")
set (BLOSC_IS_SUBPROJECT OFF CACHE BOOL "")
set (BLOSC_INSTALL OFF CACHE BOOL "")

add_subdirectory(${blosc_SOURCE_DIR} ${blosc_BINARY_DIR})
endif()

##include (${BINARY_DIR}/${BLOSC_PACKAGE_NAME}${H5BLOSC_PACKAGE_EXT}-targets.cmake)
# Create imported target blosc_static
add_library(blosc ${libtype} IMPORTED)
HDF_IMPORT_SET_LIB_OPTIONS (blosc "blosc" ${libtype} "")
add_dependencies (blosc BLOSC)
set (BLOSC_LIBRARY "blosc")
set (BLOSC_STATIC_LIBRARY "blosc_static")
set (BLOSC_LIBRARIES ${BLOSC_STATIC_LIBRARY})

set (BLOSC_INCLUDE_DIR_GEN "${BINARY_DIR}")
set (BLOSC_INCLUDE_DIR "${SOURCE_DIR}/blosc")
set (BLOSC_INCLUDE_DIR_GEN "${blosc_BINARY_DIR}")
set (BLOSC_INCLUDE_DIR "${blosc_SOURCE_DIR}/blosc")
set (BLOSC_FOUND 1)
set (BLOSC_LIBRARIES ${BLOSC_LIBRARY})
set (BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIR_GEN} ${BLOSC_INCLUDE_DIR})
endmacro ()

Expand All @@ -90,82 +64,37 @@ macro (PACKAGE_BLOSC_LIBRARY compress_type)
endmacro ()

#-------------------------------------------------------------------------------
macro (EXTERNAL_BLOSC_ZLIB_LIBRARY compress_type libtype)
if (${libtype} MATCHES "SHARED")
set (BUILD_EXT_SHARED_LIBS "ON")
else ()
set (BUILD_EXT_SHARED_LIBS "OFF")
endif ()
macro (EXTERNAL_BLOSC_ZLIB_LIBRARY compress_type)
if (${compress_type} MATCHES "GIT")
EXTERNALPROJECT_ADD (BLOSC_ZLIB
FetchContent_Declare (BLOSC_ZLIB
GIT_REPOSITORY ${BLOSC_ZLIB_URL}
GIT_TAG ${BLOSC_ZLIB_BRANCH}
INSTALL_COMMAND ""
CMAKE_ARGS
-DBUILD_SHARED_LIBS:BOOL=${BUILD_EXT_SHARED_LIBS}
-DZLIB_PACKAGE_EXT:STRING=${H5BLOSC_PACKAGE_EXT}
-DZLIB_EXTERNALLY_CONFIGURED:BOOL=OFF
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
-DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
)
elseif (${compress_type} MATCHES "TGZ")
EXTERNALPROJECT_ADD (BLOSC_ZLIB
FetchContent_Declare (BLOSC_ZLIB
URL ${BLOSC_ZLIB_URL}
URL_MD5 ""
INSTALL_COMMAND ""
CMAKE_ARGS
-DBUILD_SHARED_LIBS:BOOL=${BUILD_EXT_SHARED_LIBS}
-DZLIB_PACKAGE_EXT:STRING=${H5BLOSC_PACKAGE_EXT}
-DZLIB_EXTERNALLY_CONFIGURED:BOOL=OFF
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
-DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
URL_HASH ""
)
endif ()
externalproject_get_property (BLOSC_ZLIB BINARY_DIR SOURCE_DIR)
FetchContent_GetProperties(BLOSC_ZLIB)
if(NOT blosc_zlib_POPULATED)
FetchContent_Populate(BLOSC_ZLIB)

add_subdirectory(${blosc_zlib_SOURCE_DIR} ${blosc_zlib_BINARY_DIR})
endif()

if (WIN32)
set (BLOSC_ZLIB_LIB_NAME "zlib")
else ()
set (BLOSC_ZLIB_LIB_NAME "z")
endif ()

# Create imported target zlib-static
add_library(zlib ${libtype} IMPORTED)
HDF_IMPORT_SET_LIB_OPTIONS (zlib ${BLOSC_ZLIB_LIB_NAME} ${libtype} "")
add_dependencies (zlib BLOSC_ZLIB)
set (BLOSC_ZLIB_LIBRARY "zlib")
set ({BLOSC_ZLIB_STATIC_LIBRARY "blosc_zlib-static")
set ({BLOSC_ZLIB_LIBRARIES ${{BLOSC_ZLIB_STATIC_LIBRARY})

set (BLOSC_ZLIB_INCLUDE_DIR_GEN "${BINARY_DIR}")
set (BLOSC_ZLIB_INCLUDE_DIR "${SOURCE_DIR}")
set (BLOSC_ZLIB_INCLUDE_DIR_GEN "${blosc_zlib_BINARY_DIR}")
set (BLOSC_ZLIB_INCLUDE_DIR "${blosc_zlib_SOURCE_DIR}")
set (BLOSC_ZLIB_FOUND 1)
set (BLOSC_ZLIB_LIBRARIES ${BLOSC_ZLIB_LIBRARY})
set (BLOSC_ZLIB_INCLUDE_DIRS ${BLOSC_ZLIB_INCLUDE_DIR_GEN} ${BLOSC_ZLIB_INCLUDE_DIR})
endmacro ()

#-------------------------------------------------------------------------------
macro (PACKAGE_BLOSC_ZLIB_LIBRARY compress_type)
add_custom_target (BLOSC_ZLIB-GenHeader-Copy ALL
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${BLOSC_ZLIB_INCLUDE_DIR_GEN}/zconf.h ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/
COMMENT "Copying ${BLOSC_ZLIB_INCLUDE_DIR_GEN}/zconf.h to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/"
)
set (EXTERNAL_HEADER_LIST ${EXTERNAL_HEADER_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/zconf.h)
if (${compress_type} MATCHES "GIT" OR ${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ")
add_dependencies (BLOSC_ZLIB-GenHeader-Copy BLOSC_ZLIB)
endif ()
endmacro ()
2 changes: 2 additions & 0 deletions BLOSC/config/cmake/HDFMacros.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -490,6 +490,8 @@ macro (HDF_DIR_PATHS package_prefix)
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
endif ()
endif ()

include (FetchContent)
endmacro ()

macro (ADD_H5_FLAGS h5_flag_var infile)
Expand Down
Loading