From da5aca29ff8e8e858eda0c030bf48cf64ac95519 Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Thu, 25 Mar 2021 18:11:32 -0500 Subject: Hdf5 merge pr7 (#516) * Modify temporary rpath for testing in java example scripts. * Update URL in source file Copyright headers for web copy of COPYING (license) file. * Add release_docs/code-conventions.md file. * Add script to test h5py. * Fix script error. * Add file h5pytest.yml. * Test declaration of counter variables in for loops. * Committing clang-format changes * Committing clang-format changes * Added [] to line 126 of H5LTanalyze.l. Ran bin/genparser with flex v2.6.4 and Bison v3.0.4 on jelly. * Revert "Added [] to line 126 of H5LTanalyze.l." This reverts commit e4a9cee441efa75b16a8ee030c86189e186dd266. * Revert extra commits to match canonical develop. * Add cmake variable HDF5_LIB_INFIX (#7) * Add cmake variable HDF5_LIB_INFIX This infix is added to all library names after 'hdf5'. e.g. the infix '_openmpi' results in the library name 'libhdf5_openmpi.so' This name is used in packages on debian based systems. (see https://packages.debian.org/jessie/amd64/libhdf5-openmpi-8/filelist) This option is useful when testing projects on debian based systems with custom builds of hdf5 while trying to minimize differences between the custom setup and the environment created by installing system packages. * Added RELEASE.txt entry for HDF5_LIB_INFIX. Co-authored-by: Larry Knox Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Raphael Grimm --- CMakeLists.txt | 35 +++++++++++++++++++++-------------- release_docs/RELEASE.txt | 9 +++++++++ 2 files changed, 30 insertions(+), 14 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9809339..99dc035 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,6 +71,13 @@ mark_as_advanced (HDF5_EXTERNAL_LIB_PREFIX) # If the parent project needs to install hdf libraries, but avoid # name conflicts with system versions, then a prefix may be added # to ensure that the correct versions configured are used. +set (HDF5_LIB_INFIX "" CACHE STRING "Use infix for custom library naming.") +mark_as_advanced (HDF5_LIB_INFIX) +# HDF5_LIB_INFIX : +# This infix is added to all library names after 'hdf5'. +# e.g. the infix '_openmpi' results in the library name 'libhdf5_openmpi.so' +# This name is used in packages on debian based systems. +# (see https://packages.debian.org/jessie/amd64/libhdf5-openmpi-8/filelist) # # HDF5_INSTALL_BIN_DIR, HDF5_INSTALL_LIB_DIR, HDF5_INSTALL_INCLUDE_DIR, HDF5_INSTALL_DATA_DIR : # Customize the 'bin', 'lib', 'include', and 'share' installation directories. @@ -130,20 +137,20 @@ mark_as_advanced (ALLOW_UNSUPPORTED) #----------------------------------------------------------------------------- # Set the core names of all the libraries #----------------------------------------------------------------------------- -set (HDF5_LIB_CORENAME "hdf5") -set (HDF5_TEST_LIB_CORENAME "hdf5_test") -set (HDF5_CPP_LIB_CORENAME "hdf5_cpp") -set (HDF5_HL_LIB_CORENAME "hdf5_hl") -set (HDF5_HL_CPP_LIB_CORENAME "hdf5_hl_cpp") -set (HDF5_TOOLS_LIB_CORENAME "hdf5_tools") -set (HDF5_UTILS_LIB_CORENAME "hdf5_utils") -set (HDF5_F90_LIB_CORENAME "hdf5_fortran") -set (HDF5_F90_C_LIB_CORENAME "hdf5_f90cstub") -set (HDF5_F90_TEST_LIB_CORENAME "hdf5_test_fortran") -set (HDF5_F90_C_TEST_LIB_CORENAME "hdf5_test_f90cstub") -set (HDF5_HL_F90_LIB_CORENAME "hdf5_hl_fortran") -set (HDF5_HL_F90_C_LIB_CORENAME "hdf5_hl_f90cstub") -set (HDF5_JAVA_JNI_LIB_CORENAME "hdf5_java") +set (HDF5_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}") +set (HDF5_TEST_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_test") +set (HDF5_CPP_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_cpp") +set (HDF5_HL_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_hl") +set (HDF5_HL_CPP_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_hl_cpp") +set (HDF5_TOOLS_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_tools") +set (HDF5_UTILS_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_utils") +set (HDF5_F90_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_fortran") +set (HDF5_F90_C_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_f90cstub") +set (HDF5_F90_TEST_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_test_fortran") +set (HDF5_F90_C_TEST_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_test_f90cstub") +set (HDF5_HL_F90_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_hl_fortran") +set (HDF5_HL_F90_C_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_hl_f90cstub") +set (HDF5_JAVA_JNI_LIB_CORENAME "hdf5${HDF5_LIB_INFIX}_java") set (HDF5_JAVA_HDF5_LIB_CORENAME "jarhdf5") set (HDF5_JAVA_TEST_LIB_CORENAME "jartest5") diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 8b6f488..39260c0 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -63,6 +63,15 @@ New Features (DER - 2021/03/22) + - Add CMake variable HDF5_LIB_INFIX + + This infix is added to all library names after 'hdf5'. + e.g. the infix '_openmpi' results in the library name 'libhdf5_openmpi.so' + This name is used in packages on debian based systems. + (see https://packages.debian.org/jessie/amd64/libhdf5-openmpi-8/filelist) + + (barcode - 2021/03/22) + - On macOS, Universal Binaries can now be built, allowing native execution on both Intel and Apple Silicon (ARM) based Macs. -- cgit v0.12