From 5eee54e3ee179c6055b24635111aaf37108df6c5 Mon Sep 17 00:00:00 2001 From: Bradley Lowekamp Date: Fri, 6 Mar 2026 16:35:42 +0000 Subject: [PATCH 1/2] ENH: Update MINC to fdf1845 --- Modules/ThirdParty/MINC/UpdateFromUpstream.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/ThirdParty/MINC/UpdateFromUpstream.sh b/Modules/ThirdParty/MINC/UpdateFromUpstream.sh index 2507e3054df..27e5e6872ee 100755 --- a/Modules/ThirdParty/MINC/UpdateFromUpstream.sh +++ b/Modules/ThirdParty/MINC/UpdateFromUpstream.sh @@ -8,7 +8,7 @@ readonly name="MINC" readonly ownership="Vladimir S. FONOV " readonly subtree="Modules/ThirdParty/MINC/src/libminc" readonly repo="https://github.com/BIC-MNI/libminc.git" -readonly tag="master" +readonly tag="fdf1845" readonly exact_tree_match=false readonly paths=" ./ChangeLog From 5a30d857135991e88ae3cfdf93172f1eeb462012 Mon Sep 17 00:00:00 2001 From: "Vladimir S. FONOV" Date: Sat, 21 Feb 2026 14:05:05 +0100 Subject: [PATCH 2/2] MINC 2026-02-21 (fdf18452) Code extracted from: https://github.com/BIC-MNI/libminc.git at commit fdf184521d94a067d20c48ea3ffafccee99c4a8d (fdf1845). --- CMakeLists.txt | 84 ++++++++++++++++++++++++++------------------------ config.h.cmake | 80 +++++++++++++++++++++++------------------------ 2 files changed, 83 insertions(+), 81 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a1627e83bfc..7186bbb3c27 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ # Andrew Janke - a.janke@gmail.com # Vladimir S. FONOV - vladimir.fonov@gmail.com -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.10...4.2) project(LIBMINC) @@ -24,9 +24,7 @@ include(CTest) enable_testing() -if( POLICY CMP0063 ) - cmake_policy(SET CMP0063 NEW) -endif() +include(GNUInstallDirs) if(MINC_TOOLKIT_BUILD) set(LIBMINC_EXTERNALLY_CONFIGURED ON) @@ -56,11 +54,15 @@ if(NOT LIBMINC_EXTERNALLY_CONFIGURED) option(LIBMINC_USE_ASAN "Build with Address Sanitizer" OFF) + if(DEFINED LIB_SUFFIX) + message(WARNING "LIB_SUFFIX is deprecated, use the standard CMAKE_INSTALL_LIBDIR instead") + endif() + set (LIBMINC_EXPORTED_TARGETS "LIBMINC-targets") - set (LIBMINC_INSTALL_BIN_DIR bin) - set (LIBMINC_INSTALL_LIB_DIR lib${LIB_SUFFIX}) - set (LIBMINC_INSTALL_INCLUDE_DIR include) - set (LIBMINC_INSTALL_DATA_DIR share) + set (LIBMINC_INSTALL_BIN_DIR ${CMAKE_INSTALL_BINDIR}) + set (LIBMINC_INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR}) + set (LIBMINC_INSTALL_INCLUDE_DIR ${CMAKE_INSTALL_INCLUDEDIR}) + set (LIBMINC_INSTALL_DATA_DIR ${CMAKE_INSTALL_DATADIR}) if(LIBMINC_MINC1_SUPPORT) find_package(NETCDF REQUIRED) @@ -70,7 +72,7 @@ if(NOT LIBMINC_EXTERNALLY_CONFIGURED) find_package(ZLIB REQUIRED) set(HDF5_NO_FIND_PACKAGE_CONFIG_FILE ON) find_package(HDF5 REQUIRED COMPONENTS C ) - + if(LIBMINC_USE_NIFTI) if (LIBMINC_USE_SYSTEM_NIFTI) find_package(NIFTI) @@ -82,7 +84,7 @@ if(NOT LIBMINC_EXTERNALLY_CONFIGURED) else() set(NIFTI_FOUND OFF) endif() - + set(HAVE_ZLIB ON) else() #TODO: set paths for HDF5 etc @@ -132,9 +134,9 @@ CHECK_FUNCTION_EXISTS(fork HAVE_WORKING_FORK) CHECK_FUNCTION_EXISTS(vfork HAVE_WORKING_VFORK) CHECK_FUNCTION_EXISTS(fdopen HAVE_FDOPEN) CHECK_FUNCTION_EXISTS(strdup HAVE_STRDUP) -CHECK_FUNCTION_EXISTS(getpwnam HAVE_GETPWNAM) +CHECK_FUNCTION_EXISTS(getpwnam HAVE_GETPWNAM) CHECK_FUNCTION_EXISTS(select HAVE_SELECT) -CHECK_FUNCTION_EXISTS(strerror HAVE_STRERROR) +CHECK_FUNCTION_EXISTS(strerror HAVE_STRERROR) CHECK_FUNCTION_EXISTS(sysconf HAVE_SYSCONF) CHECK_FUNCTION_EXISTS(system HAVE_SYSTEM) @@ -216,7 +218,7 @@ if(LIBMINC_MINC1_SUPPORT) endif() if(LIBMINC_BUILD_EZMINC) - set(LIBMINC_INCLUDE_DIRS_CONFIG + set(LIBMINC_INCLUDE_DIRS_CONFIG ${CMAKE_CURRENT_SOURCE_DIR}/ezminc ) include_directories( @@ -297,8 +299,8 @@ set(minc1_LIB_SRCS ) set(minc1_HEADERS - libsrc/minc.h - libsrc/voxel_loop.h + libsrc/minc.h + libsrc/voxel_loop.h libsrc/nd_loop.h libsrc/minc_compat.h libsrc/minc_simple.h @@ -323,9 +325,9 @@ set(minc2_LIB_SRCS set(minc2_HEADERS libsrc2/minc2.h - libsrc2/minc2_defs.h - libsrc2/minc2_structs.h - libsrc2/minc2_api.h + libsrc2/minc2_defs.h + libsrc2/minc2_structs.h + libsrc2/minc2_api.h ) # volume_io2 @@ -369,7 +371,7 @@ set(volume_io_LIB_SRCS ) if(LIBMINC_NIFTI_SUPPORT) - set(volume_io_LIB_SRCS + set(volume_io_LIB_SRCS ${volume_io_LIB_SRCS} ${LIBMINC_NIFTI_SOURCES} ) @@ -378,19 +380,19 @@ endif() set(volume_io_HEADERS volume_io/Include/volume_io/alloc.h - volume_io/Include/volume_io/arrays.h - volume_io/Include/volume_io/basic.h - volume_io/Include/volume_io/def_math.h - volume_io/Include/volume_io/files.h - volume_io/Include/volume_io/geom_structs.h - volume_io/Include/volume_io/geometry.h - volume_io/Include/volume_io/multidim.h - volume_io/Include/volume_io/progress.h - volume_io/Include/volume_io/string_funcs.h - volume_io/Include/volume_io/system_dependent.h - volume_io/Include/volume_io/transforms.h - volume_io/Include/volume_io/vol_io_prototypes.h - volume_io/Include/volume_io/volume.h + volume_io/Include/volume_io/arrays.h + volume_io/Include/volume_io/basic.h + volume_io/Include/volume_io/def_math.h + volume_io/Include/volume_io/files.h + volume_io/Include/volume_io/geom_structs.h + volume_io/Include/volume_io/geometry.h + volume_io/Include/volume_io/multidim.h + volume_io/Include/volume_io/progress.h + volume_io/Include/volume_io/string_funcs.h + volume_io/Include/volume_io/system_dependent.h + volume_io/Include/volume_io/transforms.h + volume_io/Include/volume_io/vol_io_prototypes.h + volume_io/Include/volume_io/volume.h volume_io/Include/volume_io/volume_cache.h ) @@ -404,7 +406,7 @@ else() endif() if(LIBMINC_NIFTI_SUPPORT) - set(NIFTI_LIBRARIES + set(NIFTI_LIBRARIES ${NIFTI_LIBRARY} ${ZNZ_LIBRARY} ) get_filename_component(NIFTI_LIBRARY_NAME "${NIFTI_LIBRARY}" NAME) @@ -450,7 +452,7 @@ endif() # Keep this variable for compatibility set(VOLUME_IO_LIBRARY minc2) -set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}) +set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) add_library(${LIBMINC_LIBRARY} ${LIBRARY_TYPE} ${minc_LIB_SRCS} ${minc_HEADERS} ${volume_io_LIB_SRCS} ${volume_io_HEADERS} ) @@ -487,8 +489,8 @@ if(UNIX) endif() endif() -set_target_properties(${LIBMINC_LIBRARY} - PROPERTIES +set_target_properties(${LIBMINC_LIBRARY} + PROPERTIES SOVERSION ${LIBMINC_SOVERSION}) if(LIBMINC_MINC1_SUPPORT) @@ -501,10 +503,10 @@ endif() if( LIBMINC_INSTALL_LIB_DIR ) install( - TARGETS - ${LIBMINC_LIBRARY} + TARGETS + ${LIBMINC_LIBRARY} EXPORT - ${LIBMINC_EXPORTED_TARGETS} + ${LIBMINC_EXPORTED_TARGETS} LIBRARY DESTINATION ${LIBMINC_INSTALL_LIB_DIR} COMPONENT libraries ARCHIVE DESTINATION ${LIBMINC_INSTALL_LIB_DIR} COMPONENT libraries RUNTIME DESTINATION ${LIBMINC_INSTALL_LIB_DIR} COMPONENT libraries @@ -579,9 +581,9 @@ configure_file(UseLIBMINC.cmake.in if(LIBMINC_INSTALL_LIB_DIR AND NOT LIBMINC_INSTALL_NO_DEVELOPMENT) install( FILES - ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Use${LIBMINC_EXTERNAL_LIB_PREFIX}LIBMINC.cmake + ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Use${LIBMINC_EXTERNAL_LIB_PREFIX}LIBMINC.cmake ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${LIBMINC_EXTERNAL_LIB_PREFIX}LIBMINCConfig.cmake - DESTINATION + DESTINATION ${LIBMINC_INSTALL_LIB_DIR}/cmake COMPONENT Development) endif() diff --git a/config.h.cmake b/config.h.cmake index 73fe738f4c4..ca1d27e9ad2 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -12,7 +12,7 @@ #define MINC_VERSION "@LIBMINC_PACKAGE_VERSION@" #define MINC_PACKAGE_STRING "@LIBMINC_PACKAGE_STRING@" -#cmakedefine HAVE_MINC1 1 +#cmakedefine HAVE_MINC1 1 #cmakedefine HAVE_MINC2 1 #cmakedefine LIBMINC_NIFTI_SUPPORT 1 @@ -20,48 +20,48 @@ #define H5Acreate_vers 2 #endif //H5Acreate_vers -#cmakedefine HAVE_MKSTEMP 1 -#cmakedefine HAVE_STRERROR 1 +#cmakedefine HAVE_MKSTEMP 1 +#cmakedefine HAVE_STRERROR 1 -#cmakedefine HAVE_COPYSIGN 1 -#cmakedefine HAVE_ROUND 1 +#cmakedefine HAVE_COPYSIGN 1 +#cmakedefine HAVE_ROUND 1 -#cmakedefine HAVE_DIRENT_H 1 -#cmakedefine HAVE_DLFCN_H 1 -#cmakedefine HAVE_FCNTL_H 1 -#cmakedefine HAVE_FORK 1 -#cmakedefine HAVE_GETPWNAM 1 -#cmakedefine HAVE_INT16_T 1 -#cmakedefine HAVE_INT32_T 1 -#cmakedefine HAVE_INTTYPES_H 1 -#cmakedefine HAVE_MKSTEMP 1 -#cmakedefine HAVE_NDIR_H 1 -#cmakedefine HAVE_POPEN 1 -#cmakedefine HAVE_PWD_H 1 -#cmakedefine HAVE_SELECT 1 -#cmakedefine HAVE_STDINT_H 1 -#cmakedefine HAVE_STRDUP 1 -#cmakedefine HAVE_SYSCONF 1 -#cmakedefine HAVE_SYSTEM 1 -#cmakedefine HAVE_SYS_DIR_H 1 -#cmakedefine HAVE_SYS_NDIR_H 1 -#cmakedefine HAVE_SYS_STAT_H 1 -#cmakedefine HAVE_SYS_TIME_H 1 -#cmakedefine HAVE_SYS_TYPES_H 1 -#cmakedefine HAVE_SYS_WAIT_H 1 +#cmakedefine HAVE_DIRENT_H 1 +#cmakedefine HAVE_DLFCN_H 1 +#cmakedefine HAVE_FCNTL_H 1 +#cmakedefine HAVE_FORK 1 +#cmakedefine HAVE_GETPWNAM 1 +#cmakedefine HAVE_INT16_T 1 +#cmakedefine HAVE_INT32_T 1 +#cmakedefine HAVE_INTTYPES_H 1 +#cmakedefine HAVE_MKSTEMP 1 +#cmakedefine HAVE_NDIR_H 1 +#cmakedefine HAVE_POPEN 1 +#cmakedefine HAVE_PWD_H 1 +#cmakedefine HAVE_SELECT 1 +#cmakedefine HAVE_STDINT_H 1 +#cmakedefine HAVE_STRDUP 1 +#cmakedefine HAVE_SYSCONF 1 +#cmakedefine HAVE_SYSTEM 1 +#cmakedefine HAVE_SYS_DIR_H 1 +#cmakedefine HAVE_SYS_NDIR_H 1 +#cmakedefine HAVE_SYS_STAT_H 1 +#cmakedefine HAVE_SYS_TIME_H 1 +#cmakedefine HAVE_SYS_TYPES_H 1 +#cmakedefine HAVE_SYS_WAIT_H 1 #cmakedefine HAVE_SYS_SELECT_H 1 -#cmakedefine HAVE_TEMPNAM 1 -#cmakedefine HAVE_TMPNAM 1 -#cmakedefine HAVE_UNISTD_H 1 -#cmakedefine HAVE_VFORK 1 -#cmakedefine HAVE_VFORK_H 1 -#cmakedefine HAVE_WORKING_FORK 1 -#cmakedefine HAVE_WORKING_VFORK 1 -#cmakedefine HAVE_ZLIB 1 -#cmakedefine HAVE_STRINGS_H 1 -#cmakedefine HAVE_SRAND48 1 -#cmakedefine HAVE_DRAND48 1 -#cmakedefine HAVE_SLEEP 1 +#cmakedefine HAVE_TEMPNAM 1 +#cmakedefine HAVE_TMPNAM 1 +#cmakedefine HAVE_UNISTD_H 1 +#cmakedefine HAVE_VFORK 1 +#cmakedefine HAVE_VFORK_H 1 +#cmakedefine HAVE_WORKING_FORK 1 +#cmakedefine HAVE_WORKING_VFORK 1 +#cmakedefine HAVE_ZLIB 1 +#cmakedefine HAVE_STRINGS_H 1 +#cmakedefine HAVE_SRAND48 1 +#cmakedefine HAVE_DRAND48 1 +#cmakedefine HAVE_SLEEP 1 #cmakedefine HAVE_CLOCK_GETTIME 1 #cmakedefine HAVE_GETTIMEOFDAY 1 #cmakedefine HAVE_RINT 1