From 4202ae830c9aaae19668061658b06eb146717004 Mon Sep 17 00:00:00 2001 From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Date: Thu, 23 Oct 2025 10:40:32 -0500 Subject: [PATCH] Adjust HDF5Examples HDF5 version var to correct version check issue for 2.0 (#5926) Adjusts H5_LIBVER_DIR in CMakeLists.txt to include release version for major versions above 1, fixing #5925. --- CMakeLists.txt | 11 ++++-- .../config/cmake/HDFExampleMacros.cmake | 34 ++++++++++++++----- 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 793a7aa7263..16bbc9ac7ad 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -512,8 +512,15 @@ set (HDF5_PACKAGE_BUGREPORT "help@hdfgroup.org") set (HDF5_VERSION_STRING ${HDF5_PACKAGE_VERSION}) set (HDF5_VERSION_MAJOR ${HDF5_PACKAGE_VERSION_MAJOR}) set (HDF5_VERSION_MINOR ${HDF5_PACKAGE_VERSION_MINOR}) -set (H5_LIBVER_DIR ${H5_VERS_MAJOR}${H5_VERS_MINOR}) - +if (H5_VERS_MAJOR GREATER 1) + if (H5_VERS_MINOR GREATER 9) + set (H5_LIBVER_DIR ${H5_VERS_MAJOR}${H5_VERS_MINOR}) + else () + set (H5_LIBVER_DIR ${H5_VERS_MAJOR}0${H5_VERS_MINOR}) + endif() +else () + set (H5_LIBVER_DIR ${H5_VERS_MAJOR}${H5_VERS_MINOR}) +endif() #----------------------------------------------------------------------------- # Include some macros for reusable code #----------------------------------------------------------------------------- diff --git a/HDF5Examples/config/cmake/HDFExampleMacros.cmake b/HDF5Examples/config/cmake/HDFExampleMacros.cmake index 6db35468936..635dcfe4165 100644 --- a/HDF5Examples/config/cmake/HDFExampleMacros.cmake +++ b/HDF5Examples/config/cmake/HDFExampleMacros.cmake @@ -304,13 +304,22 @@ macro (HDF5_SUPPORT) if (H5EXAMPLE_BUILD_JAVA AND HDF5_Java_FOUND) if (${HDF5_PROVIDES_JAVA}) set (CMAKE_JAVA_INCLUDE_PATH "${CMAKE_JAVA_INCLUDE_PATH};${HDF5_JAVA_INCLUDE_DIRS}") - get_target_property (libsoname ${HDF5_JAVA_LIBRARY} IMPORTED_SONAME${UPPER_BUILD_TYPE}) - get_filename_component (libname ${libsoname} NAME_WE) - string (REGEX REPLACE "^lib" "" libname ${libname}) - message (STATUS "HDF5 lib:${HDF5_JAVA_LIBRARY} OR ${libsoname} OR ${libname}") - set (H5EXAMPLE_JAVA_LIBRARY ${libname}) - set (H5EXAMPLE_JAVA_LIBRARIES ${HDF5_JAVA_LIBRARY}) - message (STATUS "HDF5 lib:${H5EXAMPLE_JAVA_LIBRARY} jars:${HDF5_JAVA_INCLUDE_DIRS}}") + if (HDF5_PROVIDES_JNI AND HDF5_Java_FOUND) + get_target_property (libsoname ${HDF5_JAVA_LIBRARY} IMPORTED_SONAME${UPPER_BUILD_TYPE}) + get_filename_component (libname ${libsoname} NAME_WE) + string (REGEX REPLACE "^lib" "" libname ${libname}) + message (STATUS "HDF5 java lib:${HDF5_JAVA_LIBRARY} OR ${libsoname} OR ${libname}") + set (H5EXAMPLE_JAVA_LIBRARY ${libname}) + set (H5EXAMPLE_JAVA_LIBRARIES ${HDF5_JAVA_LIBRARY}) + else () + get_target_property (libsoname ${HDF5_C_SHARED_LIBRARY} IMPORTED_SONAME${UPPER_BUILD_TYPE}) + get_filename_component (libname ${libsoname} NAME_WE) + string (REGEX REPLACE "^lib" "" libname ${libname}) + message (STATUS "HDF5 java lib:${HDF5_C_SHARED_LIBRARY} OR ${libsoname} OR ${libname}") + set (H5EXAMPLE_JAVA_LIBRARY ${HDF5_C_SHARED_LIBRARY}) + set (H5EXAMPLE_JAVA_LIBRARIES ${HDF5_JAVA_LIBRARY}) + endif () + message (STATUS "HDF5 java lib:${H5EXAMPLE_JAVA_LIBRARY} jars:${HDF5_JAVA_INCLUDE_DIRS}}") else () set (H5EXAMPLE_BUILD_JAVA OFF CACHE BOOL "Build Java support" FORCE) message (STATUS "HDF5 Java libs not found - disable build of Java examples") @@ -384,8 +393,15 @@ macro (APIVersion version xyapi) if (NOT ${rem} STREQUAL "0") math (EXPR minor "${minor} + 1") endif () - - set (${xyapi} "${major}${minor}") + if (major GREATER 1) + if (minor GREATER 9) + set (${xyapi} ${major}${minor}) + else () + set (${xyapi} ${major}0${minor}) + endif() + else () + set (${xyapi} ${major}${minor}) + endif() #----------------------------------------------------------------------------- # Option to use 1.6.x API