From f4bcee42f69159c43c6f3c6dfe7d8e9dabd99344 Mon Sep 17 00:00:00 2001 From: Bradley Lowekamp Date: Tue, 24 Mar 2026 15:31:38 +0000 Subject: [PATCH] COMP: Replace hdf5.h includes with itk_hdf5.h in MINC library Fixes -Wshadow-header warnings about multiple candidates for header 'hdf5.h': Modules/ThirdParty/MINC/src/libminc/libsrc2/minc2.h:8:10: warning: multiple candidates for header 'hdf5.h' found; directory '.../HDF5/src/itkhdf5' chosen, ignoring others including '.../HDF5/src/itkhdf5/src' [-Wshadow-header] The MINC library src/CMakeLists.txt manually added both itkhdf5/ and itkhdf5/src/ to the include path, causing two hdf5.h candidates. Replace this with the proper ITK::ITKHDF5Module target, which carries the correct include directories via imported target properties. Update all MINC source files to use the ITK wrapper instead of directly. --- Modules/ThirdParty/MINC/src/CMakeLists.txt | 10 +--------- .../ThirdParty/MINC/src/libminc/libcommon/ParseArgv.c | 2 +- Modules/ThirdParty/MINC/src/libminc/libsrc/minc.h | 2 +- Modules/ThirdParty/MINC/src/libminc/libsrc2/convert.c | 2 +- Modules/ThirdParty/MINC/src/libminc/libsrc2/datatype.c | 2 +- Modules/ThirdParty/MINC/src/libminc/libsrc2/grpattr.c | 2 +- Modules/ThirdParty/MINC/src/libminc/libsrc2/label.c | 2 +- Modules/ThirdParty/MINC/src/libminc/libsrc2/m2util.c | 2 +- Modules/ThirdParty/MINC/src/libminc/libsrc2/minc2.h | 2 +- Modules/ThirdParty/MINC/src/libminc/libsrc2/record.c | 2 +- Modules/ThirdParty/MINC/src/libminc/libsrc2/slice.c | 2 +- Modules/ThirdParty/MINC/src/libminc/libsrc2/valid.c | 2 +- Modules/ThirdParty/MINC/src/libminc/libsrc2/volprops.c | 2 +- Modules/ThirdParty/MINC/src/libminc/libsrc2/volume.c | 2 +- 14 files changed, 14 insertions(+), 22 deletions(-) diff --git a/Modules/ThirdParty/MINC/src/CMakeLists.txt b/Modules/ThirdParty/MINC/src/CMakeLists.txt index 0646036a656..3ba583dc03f 100644 --- a/Modules/ThirdParty/MINC/src/CMakeLists.txt +++ b/Modules/ThirdParty/MINC/src/CMakeLists.txt @@ -35,15 +35,7 @@ set(LIBRARY_OUTPUT_PATH ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) set(ZLIB_FOUND ON) set(HDF5_FOUND ON) -if(NOT ITK_USE_SYSTEM_HDF5) - set(HDF5_INCLUDE_DIRS ${ITKHDF5_SOURCE_DIR}/src/itkhdf5) - include_directories( - "${ITKHDF5_SOURCE_DIR}/src/itkhdf5" - "${ITKHDF5_SOURCE_DIR}/src/itkhdf5/src" - "${ITKHDF5_BINARY_DIR}/src/itkhdf5" - ) -endif() -set(HDF5_LIBRARIES ${ITKHDF5_LIBRARIES}) +set(HDF5_LIBRARIES ITK::ITKHDF5Module) set(BUILD_TESTING OFF) add_subdirectory(libminc) diff --git a/Modules/ThirdParty/MINC/src/libminc/libcommon/ParseArgv.c b/Modules/ThirdParty/MINC/src/libminc/libcommon/ParseArgv.c index 6589c5498ff..12d50c2b85f 100644 --- a/Modules/ThirdParty/MINC/src/libminc/libcommon/ParseArgv.c +++ b/Modules/ThirdParty/MINC/src/libminc/libcommon/ParseArgv.c @@ -38,7 +38,7 @@ #endif #ifdef HAVE_MINC2 -#include +#include #endif #include diff --git a/Modules/ThirdParty/MINC/src/libminc/libsrc/minc.h b/Modules/ThirdParty/MINC/src/libminc/libsrc/minc.h index 7eec6448d02..6b6d84e0bb6 100644 --- a/Modules/ThirdParty/MINC/src/libminc/libsrc/minc.h +++ b/Modules/ThirdParty/MINC/src/libminc/libsrc/minc.h @@ -167,7 +167,7 @@ #endif /* MNCAPI not defined */ #if MINC2 -#include +#include #include #include "minc_compat.h" #else diff --git a/Modules/ThirdParty/MINC/src/libminc/libsrc2/convert.c b/Modules/ThirdParty/MINC/src/libminc/libsrc2/convert.c index 6812aced8d3..1f2c4bde6fe 100644 --- a/Modules/ThirdParty/MINC/src/libminc/libsrc2/convert.c +++ b/Modules/ThirdParty/MINC/src/libminc/libsrc2/convert.c @@ -10,7 +10,7 @@ * \defgroup mi2Cvt MINC 2.0 Coordinate and Voxel Conversion Functions */ #include -#include +#include #include #include #include "minc2.h" diff --git a/Modules/ThirdParty/MINC/src/libminc/libsrc2/datatype.c b/Modules/ThirdParty/MINC/src/libminc/libsrc2/datatype.c index d6bf234d2b0..dd3be51b142 100644 --- a/Modules/ThirdParty/MINC/src/libminc/libsrc2/datatype.c +++ b/Modules/ThirdParty/MINC/src/libminc/libsrc2/datatype.c @@ -3,7 +3,7 @@ ************************************************************************/ #include -#include +#include #include "minc2.h" #include "minc2_private.h" diff --git a/Modules/ThirdParty/MINC/src/libminc/libsrc2/grpattr.c b/Modules/ThirdParty/MINC/src/libminc/libsrc2/grpattr.c index 732e5cadc2f..68e736d009f 100644 --- a/Modules/ThirdParty/MINC/src/libminc/libsrc2/grpattr.c +++ b/Modules/ThirdParty/MINC/src/libminc/libsrc2/grpattr.c @@ -6,7 +6,7 @@ * Functions to manipulate attributes and groups. ************************************************************************/ #include -#include +#include #ifdef HAVE_CONFIG_H #include "config.h" diff --git a/Modules/ThirdParty/MINC/src/libminc/libsrc2/label.c b/Modules/ThirdParty/MINC/src/libminc/libsrc2/label.c index 54da6d1fea7..0eb56afab24 100644 --- a/Modules/ThirdParty/MINC/src/libminc/libsrc2/label.c +++ b/Modules/ThirdParty/MINC/src/libminc/libsrc2/label.c @@ -13,7 +13,7 @@ ************************************************************************/ #include -#include +#include #include "minc2.h" #include "minc2_private.h" diff --git a/Modules/ThirdParty/MINC/src/libminc/libsrc2/m2util.c b/Modules/ThirdParty/MINC/src/libminc/libsrc2/m2util.c index 356224bff3b..93300fa844b 100644 --- a/Modules/ThirdParty/MINC/src/libminc/libsrc2/m2util.c +++ b/Modules/ThirdParty/MINC/src/libminc/libsrc2/m2util.c @@ -3,7 +3,7 @@ * \author Leila Baghdadi, Bert Vincent * ************************************************************************/ -#include +#include #include #include diff --git a/Modules/ThirdParty/MINC/src/libminc/libsrc2/minc2.h b/Modules/ThirdParty/MINC/src/libminc/libsrc2/minc2.h index d73deb56f87..423d336de97 100644 --- a/Modules/ThirdParty/MINC/src/libminc/libsrc2/minc2.h +++ b/Modules/ThirdParty/MINC/src/libminc/libsrc2/minc2.h @@ -5,7 +5,7 @@ #ifndef MINC2_H #define MINC2_H -#include +#include #include "minc2_defs.h" #include "minc2_structs.h" #include "minc2_error.h" diff --git a/Modules/ThirdParty/MINC/src/libminc/libsrc2/record.c b/Modules/ThirdParty/MINC/src/libminc/libsrc2/record.c index 40581cf993a..1cf71cb5bb5 100644 --- a/Modules/ThirdParty/MINC/src/libminc/libsrc2/record.c +++ b/Modules/ThirdParty/MINC/src/libminc/libsrc2/record.c @@ -6,7 +6,7 @@ #include "config.h" #endif /*HAVE_CONFIG_H*/ -#include +#include #include "minc2.h" #include "minc2_private.h" diff --git a/Modules/ThirdParty/MINC/src/libminc/libsrc2/slice.c b/Modules/ThirdParty/MINC/src/libminc/libsrc2/slice.c index ec6e4fcd29a..2758b04dbca 100644 --- a/Modules/ThirdParty/MINC/src/libminc/libsrc2/slice.c +++ b/Modules/ThirdParty/MINC/src/libminc/libsrc2/slice.c @@ -19,7 +19,7 @@ #endif /*HAVE_CONFIG_H*/ #include -#include +#include #include "minc2.h" #include "minc2_private.h" diff --git a/Modules/ThirdParty/MINC/src/libminc/libsrc2/valid.c b/Modules/ThirdParty/MINC/src/libminc/libsrc2/valid.c index 2d99a1df8fa..99329ede576 100644 --- a/Modules/ThirdParty/MINC/src/libminc/libsrc2/valid.c +++ b/Modules/ThirdParty/MINC/src/libminc/libsrc2/valid.c @@ -14,7 +14,7 @@ #endif /*HAVE_CONFIG_H*/ #include -#include +#include #include "minc2.h" #include "minc2_private.h" diff --git a/Modules/ThirdParty/MINC/src/libminc/libsrc2/volprops.c b/Modules/ThirdParty/MINC/src/libminc/libsrc2/volprops.c index c7dc90a7254..e88e9cde210 100644 --- a/Modules/ThirdParty/MINC/src/libminc/libsrc2/volprops.c +++ b/Modules/ThirdParty/MINC/src/libminc/libsrc2/volprops.c @@ -19,7 +19,7 @@ #define _GNU_SOURCE 1 #include -#include +#include #include "minc2.h" #include "minc2_private.h" #include "minc_config.h" diff --git a/Modules/ThirdParty/MINC/src/libminc/libsrc2/volume.c b/Modules/ThirdParty/MINC/src/libminc/libsrc2/volume.c index ecb8cb564d5..dd5751ff433 100644 --- a/Modules/ThirdParty/MINC/src/libminc/libsrc2/volume.c +++ b/Modules/ThirdParty/MINC/src/libminc/libsrc2/volume.c @@ -5,7 +5,7 @@ * Functions to create, open, and close MINC volume objects. ************************************************************************/ #include -#include +#include #ifdef HAVE_CONFIG_H #include "config.h"