Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 48 additions & 43 deletions Modules/ThirdParty/MINC/src/libminc/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
# CMakeFiles.txt for the libminc library
#
# Andrew Janke - a.janke@gmail.com
# Vladimir S. FONOV - vladimir.fonov@gmail.com

PROJECT(LIBMINC)

SET(LIBMINC_PACKAGE_VERSION_MAJOR 2)
SET(LIBMINC_PACKAGE_VERSION_MINOR 4)
SET(LIBMINC_PACKAGE_VERSION_PATCH 03)
SET(LIBMINC_PACKAGE_VERSION_PATCH 04)

SET(LIBMINC_SOVERSION "5.2.0")

Expand Down Expand Up @@ -378,17 +376,36 @@ IF(LIBMINC_NIFTI_SUPPORT)
SET(NIFTI_LIBRARIES
${NIFTI_LIBRARY} ${ZNZ_LIBRARY}
)
get_filename_component(NIFTI_LIBRARY_NAME "${NIFTI_LIBRARY}" NAME)
get_filename_component(ZNZ_LIBRARY_NAME "${ZNZ_LIBRARY}" NAME)
ELSE(LIBMINC_NIFTI_SUPPORT)
SET(NIFTI_LIBRARIES )
SET(NIFTI_LIBRARY )
SET(ZNZ_LIBRARY )
SET(NIFTI_LIBRARY_NAME )
SET(ZNZ_LIBRARY_NAME )
ENDIF(LIBMINC_NIFTI_SUPPORT)

IF(NOT HDF5_LIBRARY AND HDF5_LIBRARIES)
SET(HDF5_LIBRARY ${HDF5_LIBRARIES})
ENDIF()

get_filename_component(HDF5_LIBRARY_NAME "${HDF5_LIBRARY}" NAME)
get_filename_component(ZLIB_LIBRARY_NAME "${ZLIB_LIBRARY}" NAME)

SET(LIBMINC_LIBRARIES ${LIBMINC_LIBRARY} ${HDF5_LIBRARIES} ${NIFTI_LIBRARIES} ${ZLIB_LIBRARY})
SET(LIBMINC_STATIC_LIBRARIES ${LIBMINC_LIBRARY_STATIC} ${HDF5_LIBRARIES} ${NIFTI_LIBRARIES} ${ZLIB_LIBRARY})
SET(LIBMINC_LIBRARIES ${LIBMINC_LIBRARY} ${HDF5_LIBRARY} ${NIFTI_LIBRARIES} ${ZLIB_LIBRARY})
SET(LIBMINC_LIBRARIES_CONFIG ${LIBMINC_LIBRARY} ${HDF5_LIBRARY_NAME} ${NIFTI_LIBRARY_NAME} ${ZNZ_LIBRARY_NAME} ${ZLIB_LIBRARY_NAME})
#message("LIBMINC_LIBRARIES_CONFIG=${LIBMINC_LIBRARIES_CONFIG}")

SET(LIBMINC_STATIC_LIBRARIES ${LIBMINC_LIBRARY_STATIC} ${HDF5_LIBRARY} ${NIFTI_LIBRARIES} ${ZLIB_LIBRARY})
SET(LIBMINC_STATIC_LIBRARIES_CONFIG ${LIBMINC_LIBRARY_STATIC} ${HDF5_LIBRARY_NAME} ${NIFTI_LIBRARIES} ${ZLIB_LIBRARY_NAME})

IF(UNIX)
SET(LIBMINC_LIBRARIES ${LIBMINC_LIBRARIES} m dl ${RT_LIBRARY})
SET(LIBMINC_STATIC_LIBRARIES ${LIBMINC_STATIC_LIBRARIES} m dl ${RT_LIBRARY})

SET(LIBMINC_LIBRARIES_CONFIG ${LIBMINC_LIBRARIES_CONFIG} m dl ${RT_LIBRARY_NAME})
SET(LIBMINC_STATIC_LIBRARIES_CONFIG ${LIBMINC_STATIC_LIBRARIES_CONFIG} m dl ${RT_LIBRARY_NAME})
ENDIF(UNIX)

SET(minc_LIB_SRCS ${minc2_LIB_SRCS} ${minc_common_SRCS})
Expand All @@ -411,11 +428,14 @@ IF(NIFTI_FOUND AND NOT LIBMINC_USE_SYSTEM_NIFTI)
ENDIF()


TARGET_LINK_LIBRARIES(${LIBMINC_LIBRARY} ${HDF5_LIBRARIES} ${NIFTI_LIBRARIES} ${ZLIB_LIBRARY} ${RT_LIBRARY}) #
TARGET_LINK_LIBRARIES(${LIBMINC_LIBRARY} ${HDF5_LIBRARY} ${NIFTI_LIBRARIES} ${ZLIB_LIBRARY} ${RT_LIBRARY}) #

IF(LIBMINC_MINC1_SUPPORT)
INCLUDE_DIRECTORIES(${NETCDF_INCLUDE_DIR})
TARGET_LINK_LIBRARIES(${LIBMINC_LIBRARY} ${NETCDF_LIBRARY})
get_filename_component(NETCDF_LIBRARY_NAME "${NETCDF_LIBRARY}" NAME)
ELSE(LIBMINC_MINC1_SUPPORT)
SET(NETCDF_LIBRARY_NAME )
ENDIF(LIBMINC_MINC1_SUPPORT)

IF(NOT LIBMINC_USE_SYSTEM_NIFTI AND NOT LIBMINC_EXTERNALLY_CONFIGURED)
Expand All @@ -425,7 +445,7 @@ ENDIF(NOT LIBMINC_USE_SYSTEM_NIFTI AND NOT LIBMINC_EXTERNALLY_CONFIGURED)
#EXPORT(TARGETS ${LIBMINC_LIBRARY} FILE "${LIBMINC_EXPORTED_TARGETS}.cmake")

IF(UNIX)
TARGET_LINK_LIBRARIES(${LIBMINC_LIBRARY} m dl )
TARGET_LINK_LIBRARIES(${LIBMINC_LIBRARY} m dl )

#ITK: Skip static library build
IF(0)
Expand All @@ -447,6 +467,9 @@ SET_TARGET_PROPERTIES(${LIBMINC_LIBRARY}
IF(LIBMINC_MINC1_SUPPORT)
SET(LIBMINC_LIBRARIES ${LIBMINC_LIBRARIES} ${NETCDF_LIBRARY} )
SET(LIBMINC_STATIC_LIBRARIES ${LIBMINC_STATIC_LIBRARIES} ${NETCDF_LIBRARY} )

SET(LIBMINC_LIBRARIES_CONFIG ${LIBMINC_LIBRARIES_CONFIG} ${NETCDF_LIBRARY_NAME} )
SET(LIBMINC_STATIC_LIBRARIES_CONFIG ${LIBMINC_STATIC_LIBRARIES_CONFIG} ${NETCDF_LIBRARY_NAME} )
ENDIF(LIBMINC_MINC1_SUPPORT)

IF( LIBMINC_INSTALL_LIB_DIR )
Expand All @@ -470,7 +493,23 @@ IF(LIBMINC_MINC1_SUPPORT)
ADD_SUBDIRECTORY( ezminc )
ENDIF(LIBMINC_MINC1_SUPPORT)

# config for the build directory
SET(EZMINC_LIBRARIES minc_io ${LIBMINC_LIBRARIES})
SET(EZMINC_LIBRARIES_CONFIG minc_io ${LIBMINC_LIBRARIES_CONFIG})

# config for install dir
SET(LIBMINC_USE_FILE_CONFIG "\${LIBMINC_INSTALL_PREFIX}/lib/UseLIBMINC.cmake" )
SET(LIBMINC_INCLUDE_DIRS_CONFIG "\${LIBMINC_INSTALL_PREFIX}/include" )
SET(LIBMINC_LIBRARY_DIRS_CONFIG "\${LIBMINC_INSTALL_PREFIX}/lib" )
SET(LIBMINC_STATIC_LIBRARIES_CONFIG "" )
SET(VOLUME_IO_LIBRARY_STATIC "")

configure_file(LIBMINCConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${LIBMINC_EXTERNAL_LIB_PREFIX}LIBMINCConfig.cmake @ONLY )

configure_file(UseLIBMINC.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Use${LIBMINC_EXTERNAL_LIB_PREFIX}LIBMINC.cmake @ONLY)

# configure for build dir
SET(LIBMINC_USE_FILE_CONFIG ${CMAKE_CURRENT_BINARY_DIR}/UseLIBMINC.cmake)

SET(LIBMINC_INCLUDE_DIRS_CONFIG
Expand All @@ -479,7 +518,6 @@ SET(LIBMINC_INCLUDE_DIRS_CONFIG
${CMAKE_CURRENT_SOURCE_DIR}/libsrc2
${CMAKE_CURRENT_SOURCE_DIR}/volume_io/Include
)

IF(LIBMINC_MINC1_SUPPORT)
SET(LIBMINC_INCLUDE_DIRS_CONFIG
${LIBMINC_INCLUDE_DIRS_CONFIG}
Expand All @@ -488,10 +526,10 @@ IF(LIBMINC_MINC1_SUPPORT)
)
ENDIF(LIBMINC_MINC1_SUPPORT)

SET(EZMINC_LIBRARIES minc_io ${LIBMINC_LIBRARIES})
SET(LIBMINC_LIBRARY_DIRS_CONFIG ${CMAKE_CURRENT_BINARY_DIR})
SET(LIBMINC_LIBRARIES_CONFIG ${LIBMINC_LIBRARIES})
SET(LIBMINC_STATIC_LIBRARIES_CONFIG ${LIBMINC_STATIC_LIBRARIES})
SET(EZMINC_LIBRARIES_CONFIG ${EZMINC_LIBRARIES})

IF(LIBMINC_MINC1_SUPPORT)
SET(LIBMINC_LIBRARY_DIRS_CONFIG ${LIBMINC_LIBRARY_DIRS_CONFIG} ${CMAKE_CURRENT_BINARY_DIR}/ezminc)
Expand All @@ -503,48 +541,15 @@ configure_file(LIBMINCConfig.cmake.in
configure_file(UseLIBMINC.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/UseLIBMINC.cmake @ONLY)

# config for install dir
SET(LIBMINC_USE_FILE_CONFIG "${CMAKE_INSTALL_PREFIX}/${LIBMINC_INSTALL_LIB_DIR}/Use${LIBMINC_EXTERNAL_LIB_PREFIX}LIBMINC.cmake")
SET(LIBMINC_INCLUDE_DIRS_CONFIG ${CMAKE_INSTALL_PREFIX}/${LIBMINC_INSTALL_INCLUDE_DIR} )
SET(LIBMINC_LIBRARY_DIRS_CONFIG ${CMAKE_INSTALL_PREFIX}/${LIBMINC_INSTALL_LIB_DIR})
SET(LIBMINC_STATIC_LIBRARIES_CONFIG "")
SET(VOLUME_IO_LIBRARY_STATIC "")

#fix for superbuild install
IF(SUPERBUILD_STAGING_PREFIX)
STRING(REPLACE "${SUPERBUILD_STAGING_PREFIX}/" "" LIBMINC_INCLUDE_DIRS_CONFIG "${LIBMINC_INCLUDE_DIRS_CONFIG}")
STRING(REPLACE "${SUPERBUILD_STAGING_PREFIX}/" "" LIBMINC_LIBRARY_DIRS_CONFIG "${LIBMINC_LIBRARY_DIRS_CONFIG}")
STRING(REPLACE "${SUPERBUILD_STAGING_PREFIX}/" "" LIBMINC_LIBRARIES_CONFIG "${LIBMINC_LIBRARIES_CONFIG}")
STRING(REPLACE "${SUPERBUILD_STAGING_PREFIX}/" "" EZMINC_LIBRARIES "${EZMINC_LIBRARIES}")
STRING(REPLACE "${SUPERBUILD_STAGING_PREFIX}/" "" NETCDF_INCLUDE_DIR "${NETCDF_INCLUDE_DIR}")
STRING(REPLACE "${SUPERBUILD_STAGING_PREFIX}/" "" HDF5_INCLUDE_DIR "${HDF5_INCLUDE_DIR}")
STRING(REPLACE "${SUPERBUILD_STAGING_PREFIX}/" "" HDF5_INCLUDE_DIRS "${HDF5_INCLUDE_DIRS}")
STRING(REPLACE "${SUPERBUILD_STAGING_PREFIX}/" "" NIFTI_INCLUDE_DIR "${NIFTI_INCLUDE_DIR}")
STRING(REPLACE "${SUPERBUILD_STAGING_PREFIX}/" "" NETCDF_LIBRARY "${NETCDF_LIBRARY}")
STRING(REPLACE "${SUPERBUILD_STAGING_PREFIX}/" "" HDF5_LIBRARY "${HDF5_LIBRARY}")
STRING(REPLACE "${SUPERBUILD_STAGING_PREFIX}/" "" HDF5_LIBRARIES "${HDF5_LIBRARIES}")
STRING(REPLACE "${SUPERBUILD_STAGING_PREFIX}/" "" NIFTI_LIBRARY "${NIFTI_LIBRARY}")
STRING(REPLACE "${SUPERBUILD_STAGING_PREFIX}/" "" ZNZ_LIBRARY "${ZNZ_LIBRARY}")
STRING(REPLACE "${SUPERBUILD_STAGING_PREFIX}/" "" ZLIB_LIBRARY "${ZLIB_LIBRARY}")
STRING(REPLACE "${SUPERBUILD_STAGING_PREFIX}/" "" ZLIB_LIBRARIES "${ZLIB_LIBRARIES}")
ENDIF(SUPERBUILD_STAGING_PREFIX)

configure_file(LIBMINCConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${LIBMINC_EXTERNAL_LIB_PREFIX}LIBMINCConfig.cmake @ONLY )

configure_file(UseLIBMINC.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Use${LIBMINC_EXTERNAL_LIB_PREFIX}LIBMINC.cmake @ONLY)

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/${LIBMINC_EXTERNAL_LIB_PREFIX}LIBMINCConfig.cmake
DESTINATION
${LIBMINC_INSTALL_LIB_DIR}
COMPONENT Development)

ENDIF(LIBMINC_INSTALL_LIB_DIR AND NOT LIBMINC_INSTALL_NO_DEVELOPMENT)

# testing
Expand Down
33 changes: 17 additions & 16 deletions Modules/ThirdParty/MINC/src/libminc/LIBMINCConfig.cmake.in
Original file line number Diff line number Diff line change
@@ -1,34 +1,35 @@
# LIBMINC CMake configuration file


get_filename_component(LIBMINC_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}/../" ABSOLUTE)
get_filename_component(LIBMINC_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH )
get_filename_component(LIBMINC_INSTALL_PREFIX "${LIBMINC_CMAKE_DIR}" PATH)

set(HAVE_MINC2 1)
set(HAVE_EZMINC @LIBMINC_MINC1_SUPPORT@)
set(HAVE_MINC1 @LIBMINC_MINC1_SUPPORT@)

set(LIBMINC_NIFTI_SUPPORT @LIBMINC_NIFTI_SUPPORT@)

set(NETCDF_INCLUDE_DIR "@NETCDF_INCLUDE_DIR@")
set(HDF5_INCLUDE_DIR "@HDF5_INCLUDE_DIR@")
set(NIFTI_INCLUDE_DIR "@NIFTI_INCLUDE_DIR@")
#set(NETCDF_INCLUDE_DIR "@NETCDF_INCLUDE_DIR@")
#set(HDF5_INCLUDE_DIR "@HDF5_INCLUDE_DIR@")
#set(NIFTI_INCLUDE_DIR "@NIFTI_INCLUDE_DIR@")

set(NETCDF_LIBRARY "@NETCDF_LIBRARY@")
set(HDF5_LIBRARY "@HDF5_LIBRARY@")
set(ZLIB_LIBRARY "@ZLIB_LIBRARY@")
set(ZLIB_LIBRARIES "@ZLIB_LIBRARY@")
set(NIFTI_LIBRARIES "@NIFTI_LIBRARIES@")
#set(NETCDF_LIBRARY "@NETCDF_LIBRARY@")
#set(HDF5_LIBRARY "@HDF5_LIBRARY@")
#set(ZLIB_LIBRARY "@ZLIB_LIBRARY@")
#set(ZLIB_LIBRARIES "@ZLIB_LIBRARY@")
#set(NIFTI_LIBRARIES "@NIFTI_LIBRARIES@")

set(LIBMINC_INCLUDE_DIRS "@LIBMINC_INCLUDE_DIRS_CONFIG@")
set(LIBMINC_LIBRARY_DIRS "@LIBMINC_LIBRARY_DIRS_CONFIG@")
set(LIBMINC_USE_FILE "@LIBMINC_USE_FILE_CONFIG@")
set(LIBMINC_LIBRARIES "@LIBMINC_LIBRARIES_CONFIG@")
set(LIBMINC_INCLUDE_DIRS "@LIBMINC_INCLUDE_DIRS_CONFIG@") # ${LIBMINC_INSTALL_PREFIX}/include
set(LIBMINC_LIBRARY_DIRS "@LIBMINC_LIBRARY_DIRS_CONFIG@") # ${LIBMINC_INSTALL_PREFIX}/lib
set(LIBMINC_USE_FILE "@LIBMINC_USE_FILE_CONFIG@") # ${LIBMINC_INSTALL_PREFIX}/lib/UseLIBMINC.cmake

set(EZMINC_LIBRARIES "@EZMINC_LIBRARIES@")
set(VOLUME_IO_LIBRARIES "@VOLUME_IO_LIBRARY@")
set(LIBMINC_LIBRARIES "@LIBMINC_LIBRARIES_CONFIG@")
set(VOLUME_IO_LIBRARIES "@LIBMINC_LIBRARIES_CONFIG@")
set(EZMINC_LIBRARIES "@EZMINC_LIBRARIES_CONFIG@")

set(LIBMINC_STATIC_LIBRARIES "@LIBMINC_STATIC_LIBRARIES_CONFIG@")
set(VOLUME_IO_STATIC_LIBRARIES "@VOLUME_IO_LIBRARY_STATIC@")
set(VOLUME_IO_STATIC_LIBRARIES "@LIBMINC_STATIC_LIBRARIES_CONFIG@")

set( LIBMINC_FOUND 1 )

Expand Down
3 changes: 3 additions & 0 deletions Modules/ThirdParty/MINC/src/libminc/libsrc/hdf_convenience.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@
/* Make 1.8.x compatible files if building with 1.10.x */
#if (H5_VERS_MAJOR==1)&&(H5_VERS_MINOR<10)
#define H5F_LIBVER_V18 H5F_LIBVER_LATEST
#elif (H5_VERS_MAJOR==1)&&(H5_VERS_MINOR==10)&&(H5_VERS_RELEASE<2)
#error The selected version of HDF5 library does not support setting backwards compatibility at run-time.\
Please use a different version of HDF5
#endif

/************************************************************************
Expand Down
3 changes: 3 additions & 0 deletions Modules/ThirdParty/MINC/src/libminc/libsrc2/volume.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@
/* Build with 1.8.x support if using 1.10.x */
#if (H5_VERS_MAJOR==1)&&(H5_VERS_MINOR<10)
#define H5F_LIBVER_V18 H5F_LIBVER_LATEST
#elif (H5_VERS_MAJOR==1)&&(H5_VERS_MINOR==10)&&(H5_VERS_RELEASE<2)
#error The selected version of HDF5 library does not support setting backwards compatibility at run-time.\
Please use a different version of HDF5
#endif

/*Used to optimize chunking size for faster MINC1 API access*/
Expand Down