summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2023-11-29 18:54:22 (GMT)
committerGitHub <noreply@github.com>2023-11-29 18:54:22 (GMT)
commitac650fa9d1e587ca8cf1154eebbb900f484840b0 (patch)
tree077021666c172185acf1712ff5a76dbf181116f3
parent0fa3029c885cdcb5f25ad606e88cf09482d28226 (diff)
downloadhdf5-ac650fa9d1e587ca8cf1154eebbb900f484840b0.zip
hdf5-ac650fa9d1e587ca8cf1154eebbb900f484840b0.tar.gz
hdf5-ac650fa9d1e587ca8cf1154eebbb900f484840b0.tar.bz2
Update examples with 1.6 api and static libs (#3874)
* Update examples with 1.6 api and static libs * Only check for STATIC only builds * Do not calculate version as library has already.
-rw-r--r--HDF5Examples/C/H5D/C_sourcefiles.cmake17
-rw-r--r--HDF5Examples/C/H5G/CMakeLists.txt2
-rw-r--r--HDF5Examples/C/H5G/C_sourcefiles.cmake18
-rw-r--r--HDF5Examples/C/H5T/16/h5ex_t_objrefatt.c1
-rw-r--r--HDF5Examples/C/H5T/CMakeLists.txt43
-rw-r--r--HDF5Examples/C/H5T/tfiles/16/114/h5ex_t_vlenatt.ddl18
-rw-r--r--HDF5Examples/CMakeLists.txt24
-rw-r--r--config/cmake/HDF5ExampleCache.cmake13
8 files changed, 98 insertions, 38 deletions
diff --git a/HDF5Examples/C/H5D/C_sourcefiles.cmake b/HDF5Examples/C/H5D/C_sourcefiles.cmake
index 65c19a0..87e0d6f 100644
--- a/HDF5Examples/C/H5D/C_sourcefiles.cmake
+++ b/HDF5Examples/C/H5D/C_sourcefiles.cmake
@@ -30,9 +30,14 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
)
endif ()
-set (1_8_examples
- h5ex_d_nbit
- h5ex_d_sofloat
- h5ex_d_soint
- h5ex_d_transform
-)
+if (HDF5_VERSION_MAJOR VERSION_GREATER_EQUAL "1.8" AND NOT ${${EXAMPLE_VARNAME}_USE_16_API})
+ set (1_8_examples
+ h5ex_d_nbit
+ h5ex_d_sofloat
+ h5ex_d_soint
+ h5ex_d_transform
+ )
+else ()
+ set (1_8_examples)
+endif ()
+
diff --git a/HDF5Examples/C/H5G/CMakeLists.txt b/HDF5Examples/C/H5G/CMakeLists.txt
index 9aca9e7..afef556 100644
--- a/HDF5Examples/C/H5G/CMakeLists.txt
+++ b/HDF5Examples/C/H5G/CMakeLists.txt
@@ -139,7 +139,7 @@ if (HDF5_BUILD_TOOLS)
endif ()
endforeach ()
- if (HDF5_VERSION_MAJOR VERSION_GREATER_EQUAL "1.8")
+ if (HDF5_VERSION_MAJOR VERSION_GREATER_EQUAL "1.8" AND NOT ${${EXAMPLE_VARNAME}_USE_16_API})
add_custom_command (
TARGET ${EXAMPLE_VARNAME}_h5ex_g_compact
POST_BUILD
diff --git a/HDF5Examples/C/H5G/C_sourcefiles.cmake b/HDF5Examples/C/H5G/C_sourcefiles.cmake
index 155453c..133fb43 100644
--- a/HDF5Examples/C/H5G/C_sourcefiles.cmake
+++ b/HDF5Examples/C/H5G/C_sourcefiles.cmake
@@ -9,10 +9,14 @@ set (common_examples
h5ex_g_traverse
)
-set (1_8_examples
- h5ex_g_compact
- h5ex_g_corder
- h5ex_g_phase
- h5ex_g_intermediate
- h5ex_g_visit
-)
+if (HDF5_VERSION_MAJOR VERSION_GREATER_EQUAL "1.8" AND NOT ${${EXAMPLE_VARNAME}_USE_16_API})
+ set (1_8_examples
+ h5ex_g_compact
+ h5ex_g_corder
+ h5ex_g_phase
+ h5ex_g_intermediate
+ h5ex_g_visit
+ )
+else ()
+ set (1_8_examples)
+endif ()
diff --git a/HDF5Examples/C/H5T/16/h5ex_t_objrefatt.c b/HDF5Examples/C/H5T/16/h5ex_t_objrefatt.c
index 95d86dc..85c0448 100644
--- a/HDF5Examples/C/H5T/16/h5ex_t_objrefatt.c
+++ b/HDF5Examples/C/H5T/16/h5ex_t_objrefatt.c
@@ -27,6 +27,7 @@ main(void)
hid_t space; /* Dataspace Handle */
hid_t dset; /* Dataset Handle */
hid_t obj; /* Object Handle */
+ hid_t attr; /* Attribute Handle */
herr_t status;
hsize_t dims[1] = {DIM0};
hobj_ref_t wdata[DIM0]; /* Write buffer */
diff --git a/HDF5Examples/C/H5T/CMakeLists.txt b/HDF5Examples/C/H5T/CMakeLists.txt
index 4673562..4dcf6cb 100644
--- a/HDF5Examples/C/H5T/CMakeLists.txt
+++ b/HDF5Examples/C/H5T/CMakeLists.txt
@@ -113,21 +113,29 @@ endforeach ()
if (HDF5_BUILD_TOOLS)
foreach (example_name ${common_examples})
if (NOT ${example_name} STREQUAL "h5ex_t_convert")
- if (HDF5_VERSION_MAJOR VERSION_EQUAL "1.6")
- add_custom_command (
- TARGET ${EXAMPLE_VARNAME}_${example_name}
- POST_BUILD
- COMMAND ${CMAKE_COMMAND}
- ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/16/${example_name}.ddl ${PROJECT_BINARY_DIR}/${example_name}.ddl
- )
- else ()
if (${example_name} STREQUAL "h5ex_t_vlen" OR ${example_name} STREQUAL "h5ex_t_vlenatt")
if (HDF5_VERSION_STRING VERSION_GREATER_EQUAL "1.14.3")
+ if (${H5_LIBVER_DIR} EQUAL 16 AND ${example_name} STREQUAL "h5ex_t_vlenatt")
+ add_custom_command (
+ TARGET ${EXAMPLE_VARNAME}_${example_name}
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/16/114/${example_name}.ddl ${PROJECT_BINARY_DIR}/${example_name}.ddl
+ )
+ else ()
+ add_custom_command (
+ TARGET ${EXAMPLE_VARNAME}_${example_name}
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/114/${example_name}.ddl ${example_name}.ddl
+ )
+ endif ()
+ elseif (${H5_LIBVER_DIR} EQUAL 16)
add_custom_command (
TARGET ${EXAMPLE_VARNAME}_${example_name}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
- ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/114/${example_name}.ddl ${example_name}.ddl
+ ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/16/${example_name}.ddl ${PROJECT_BINARY_DIR}/${example_name}.ddl
)
else ()
add_custom_command (
@@ -172,12 +180,21 @@ if (HDF5_BUILD_TOOLS)
)
endif ()
elseif (HDF5_VERSION_MAJOR VERSION_GREATER_EQUAL "1.12")
+ if (${H5_LIBVER_DIR} EQUAL 16)
+ add_custom_command (
+ TARGET ${EXAMPLE_VARNAME}_${example_name}
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/16/112/${example_name}.ddl ${PROJECT_BINARY_DIR}/${example_name}.ddl
+ )
+ else ()
add_custom_command (
TARGET ${EXAMPLE_VARNAME}_${example_name}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/18/112/${example_name}.ddl ${example_name}.ddl
)
+ endif ()
else ()
add_custom_command (
TARGET ${EXAMPLE_VARNAME}_${example_name}
@@ -235,6 +252,13 @@ if (HDF5_BUILD_TOOLS)
)
endif ()
endif ()
+ elseif (${H5_LIBVER_DIR} EQUAL 16)
+ add_custom_command (
+ TARGET ${EXAMPLE_VARNAME}_${example_name}
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/tfiles/16/${example_name}.ddl ${PROJECT_BINARY_DIR}/${example_name}.ddl
+ )
else ()
add_custom_command (
TARGET ${EXAMPLE_VARNAME}_${example_name}
@@ -244,7 +268,6 @@ if (HDF5_BUILD_TOOLS)
)
endif ()
endif ()
- endif ()
endforeach ()
# foreach (example_name ${1_8_examples})
diff --git a/HDF5Examples/C/H5T/tfiles/16/114/h5ex_t_vlenatt.ddl b/HDF5Examples/C/H5T/tfiles/16/114/h5ex_t_vlenatt.ddl
new file mode 100644
index 0000000..7bd321b
--- /dev/null
+++ b/HDF5Examples/C/H5T/tfiles/16/114/h5ex_t_vlenatt.ddl
@@ -0,0 +1,18 @@
+HDF5 "h5ex_t_vlenatt.h5" {
+GROUP "/" {
+ DATASET "DS1" {
+ DATATYPE H5T_STD_I32LE
+ DATASPACE SCALAR
+ DATA {
+ (0): 0
+ }
+ ATTRIBUTE "A1" {
+ DATATYPE H5T_VLEN { H5T_STD_I32LE }
+ DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
+ DATA {
+ (0): (3, 2, 1), (1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144)
+ }
+ }
+ }
+}
+}
diff --git a/HDF5Examples/CMakeLists.txt b/HDF5Examples/CMakeLists.txt
index 8f6acae..b5fb3e2 100644
--- a/HDF5Examples/CMakeLists.txt
+++ b/HDF5Examples/CMakeLists.txt
@@ -30,17 +30,19 @@ message (STATUS "HDF5 H5_LIBVER_DIR: ${H5_LIBVER_DIR}")
#-----------------------------------------------------------------------------
# parse the full version number from H5public.h and include in H5_VERS_INFO
#-----------------------------------------------------------------------------
-find_file (_h5public_h H5public.h ${H5EX_HDF5_INCLUDE_DIRS})
-file (READ ${_h5public_h} _h5public_h_contents)
-
-string (REGEX REPLACE ".*#define[ \t]+H5_VERS_MAJOR[ \t]+([0-9]*).*$"
- "\\1" H5_VERS_MAJOR ${_h5public_h_contents})
-string (REGEX REPLACE ".*#define[ \t]+H5_VERS_MINOR[ \t]+([0-9]*).*$"
- "\\1" H5_VERS_MINOR ${_h5public_h_contents})
-string (REGEX REPLACE ".*#define[ \t]+H5_VERS_RELEASE[ \t]+([0-9]*).*$"
- "\\1" H5_VERS_RELEASE ${_h5public_h_contents})
-string (REGEX REPLACE ".*#define[ \t]+H5_VERS_SUBRELEASE[ \t]+\"([0-9A-Za-z._-]*)\".*$"
- "\\1" H5_VERS_SUBRELEASE ${_h5public_h_contents})
+if(NOT DEFINED _h5public_h_contents)
+ find_file (_h5public_h H5public.h ${H5EX_HDF5_INCLUDE_DIRS})
+ file (READ ${_h5public_h} _h5public_h_contents)
+
+ string (REGEX REPLACE ".*#define[ \t]+H5_VERS_MAJOR[ \t]+([0-9]*).*$"
+ "\\1" H5_VERS_MAJOR ${_h5public_h_contents})
+ string (REGEX REPLACE ".*#define[ \t]+H5_VERS_MINOR[ \t]+([0-9]*).*$"
+ "\\1" H5_VERS_MINOR ${_h5public_h_contents})
+ string (REGEX REPLACE ".*#define[ \t]+H5_VERS_RELEASE[ \t]+([0-9]*).*$"
+ "\\1" H5_VERS_RELEASE ${_h5public_h_contents})
+ string (REGEX REPLACE ".*#define[ \t]+H5_VERS_SUBRELEASE[ \t]+\"([0-9A-Za-z._-]*)\".*$"
+ "\\1" H5_VERS_SUBRELEASE ${_h5public_h_contents})
+endif ()
if (WIN32)
set(CMAKE_TEST_LIB_DIRECTORY "${HDF5_TOOLS_DIR}")
diff --git a/config/cmake/HDF5ExampleCache.cmake b/config/cmake/HDF5ExampleCache.cmake
index 269cfe2..6882d25 100644
--- a/config/cmake/HDF5ExampleCache.cmake
+++ b/config/cmake/HDF5ExampleCache.cmake
@@ -10,10 +10,17 @@ set (H5EX_BUILD_EXAMPLES ${HDF5_BUILD_EXAMPLES} CACHE BOOL "Build H5PL Examples"
#preset HDF5 cache vars to this projects libraries instead of searching
set (H5EX_HDF5_HEADER "H5pubconf.h" CACHE STRING "Name of HDF5 header" FORCE)
-set (H5EX_HDF5_LINK_LIBS ${HDF5_LIBSH_TARGET} CACHE STRING "HDF5 target" FORCE)
#set (H5EX_HDF5_INCLUDE_DIRS $<TARGET_PROPERTY:${HDF5_LIBSH_TARGET},INCLUDE_DIRECTORIES> CACHE PATH "HDF5 include dirs" FORCE)
set (H5EX_HDF5_INCLUDE_DIRS "${HDF5_SRC_INCLUDE_DIRS};${HDF5_SRC_BINARY_DIR}" CACHE PATH "HDF5 include dirs" FORCE)
set (H5EX_HDF5_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE STRING "HDF5 build folder" FORCE)
-set (H5EX_HDF5_DUMP_EXECUTABLE $<TARGET_FILE:h5dump-shared> CACHE STRING "HDF5 h5dump target" FORCE)
-set (H5EX_HDF5_REPACK_EXECUTABLE $<TARGET_FILE:h5repack-shared> CACHE STRING "HDF5 h5repack target" FORCE)
+if (NOT BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS)
+ set (USE_SHARED_LIBS OFF CACHE BOOL "Use Shared Libraries for Examples" FORCE)
+ set (H5EX_HDF5_LINK_LIBS ${HDF5_LIB_TARGET} CACHE STRING "HDF5 target" FORCE)
+else ()
+ set (USE_SHARED_LIBS ON CACHE BOOL "Use Shared Libraries for Examples" FORCE)
+ set (H5EX_HDF5_LINK_LIBS ${HDF5_LIBSH_TARGET} CACHE STRING "HDF5 target" FORCE)
+endif ()
+
+set (H5EX_HDF5_DUMP_EXECUTABLE $<TARGET_FILE:h5dump${tgt_file_ext}> CACHE STRING "HDF5 h5dump target" FORCE)
+set (H5EX_HDF5_REPACK_EXECUTABLE $<TARGET_FILE:h5repack${tgt_file_ext}> CACHE STRING "HDF5 h5repack target" FORCE)