From 9da9e08153a45125e03f4acf2f00a25318392f12 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Thu, 17 Sep 2026 08:45:33 +0200 Subject: [PATCH] improve the HDF4 version handling at configuration level. --- CMakeLists.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8931daea..1e8b0689 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -387,8 +387,15 @@ if (nexus) endif() #--- try to extract the HDF4 version from H4config.h (autotools builds) -------- + # Some distributions (e.g. Debian/Ubuntu's libhdf4-dev) install it lower-cased + # as 'h4config.h' instead of the upstream 'H4config.h', so check both. if (EXISTS "${HDF4_INCLUDE_DIR}/H4config.h") - file(STRINGS "${HDF4_INCLUDE_DIR}/H4config.h" HDF4_VERSION_LINE REGEX "^#define[ \t]+H4_VERSION[ \t]+\"[^\"]*\"") + set(HDF4_CONFIG_HEADER "${HDF4_INCLUDE_DIR}/H4config.h") + elseif (EXISTS "${HDF4_INCLUDE_DIR}/h4config.h") + set(HDF4_CONFIG_HEADER "${HDF4_INCLUDE_DIR}/h4config.h") + endif () + if (HDF4_CONFIG_HEADER) + file(STRINGS "${HDF4_CONFIG_HEADER}" HDF4_VERSION_LINE REGEX "^#define[ \t]+H4_VERSION[ \t]+\"[^\"]*\"") string(REGEX REPLACE "^#define[ \t]+H4_VERSION[ \t]+\"([^\"]*)\".*" "\\1" HDF4_VERSION "${HDF4_VERSION_LINE}") endif ()