libminc.patch 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. diff --git a/CMakeLists.txt b/CMakeLists.txt
  2. index caf681a8..5a340152 100644
  3. --- a/CMakeLists.txt
  4. +++ b/CMakeLists.txt
  5. @@ -69,7 +69,13 @@ IF(NOT LIBMINC_EXTERNALLY_CONFIGURED)
  6. # external packages
  7. FIND_PACKAGE(ZLIB REQUIRED)
  8. SET(HDF5_NO_FIND_PACKAGE_CONFIG_FILE ON)
  9. - FIND_PACKAGE(HDF5 REQUIRED COMPONENTS C )
  10. + FIND_PACKAGE(HDF5 REQUIRED NO_MODULE COMPONENTS C )
  11. + set(HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIR})
  12. + if(TARGET hdf5::hdf5-static)
  13. + set(HDF5_LIBRARIES hdf5::hdf5-static)
  14. + elseif(TARGET hdf5::hdf5-shared)
  15. + set(HDF5_LIBRARIES hdf5::hdf5-shared)
  16. + endif()
  17. IF(LIBMINC_USE_NIFTI)
  18. IF (LIBMINC_USE_SYSTEM_NIFTI)
  19. @@ -539,6 +545,9 @@ SET(LIBMINC_LIBRARY_DIRS_CONFIG "\${LIBMINC_INSTALL_PREFIX}/lib" )
  20. SET(LIBMINC_STATIC_LIBRARIES_CONFIG "" )
  21. SET(VOLUME_IO_LIBRARY_STATIC "")
  22. +get_filename_component(ZLIB_LIBRARY_DIR "${ZLIB_LIBRARY}" DIRECTORY)
  23. +SET(LIBMINC_LIBRARY_DIRS_CONFIG ${LIBMINC_LIBRARY_DIRS_CONFIG} ${ZLIB_LIBRARY_DIR})
  24. +
  25. configure_file(LIBMINCConfig.cmake.in
  26. ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${LIBMINC_EXTERNAL_LIB_PREFIX}LIBMINCConfig.cmake @ONLY )
  27. @@ -588,7 +597,7 @@ IF(LIBMINC_INSTALL_LIB_DIR AND NOT LIBMINC_INSTALL_NO_DEVELOPMENT)
  28. ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Use${LIBMINC_EXTERNAL_LIB_PREFIX}LIBMINC.cmake
  29. ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${LIBMINC_EXTERNAL_LIB_PREFIX}LIBMINCConfig.cmake
  30. DESTINATION
  31. - ${LIBMINC_INSTALL_LIB_DIR}/cmake
  32. + ${LIBMINC_INSTALL_LIB_DIR}/cmake/LIBMINC
  33. COMPONENT Development)
  34. ENDIF(LIBMINC_INSTALL_LIB_DIR AND NOT LIBMINC_INSTALL_NO_DEVELOPMENT)
  35. diff --git a/LIBMINCConfig.cmake.in b/LIBMINCConfig.cmake.in
  36. index f8f7eb6d..daaa06c5 100644
  37. --- a/LIBMINCConfig.cmake.in
  38. +++ b/LIBMINCConfig.cmake.in
  39. @@ -1,7 +1,10 @@
  40. # LIBMINC CMake configuration file
  41. +include(CMakeFindDependencyMacro)
  42. +find_dependency(ZLIB)
  43. +find_dependency(hdf5 CONFIG)
  44. -get_filename_component(LIBMINC_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE)
  45. +get_filename_component(LIBMINC_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
  46. get_filename_component(LIBMINC_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH )
  47. set(HAVE_MINC2 1)
  48. diff --git a/libcommon/ParseArgv.c b/libcommon/ParseArgv.c
  49. index 260f5745..e2f6f4a6 100644
  50. --- a/libcommon/ParseArgv.c
  51. +++ b/libcommon/ParseArgv.c
  52. @@ -315,7 +315,7 @@ ParseArgv(argcPtr, argv, argTable, flags)
  53. }
  54. break;
  55. case ARGV_FUNC: {
  56. - int (*handlerProc)() = (int (*)())(uintptr_t)infoPtr->src;
  57. + int (*handlerProc)(void *, const char *, char *) = (int (*)(void *, const char *, char *))(uintptr_t)infoPtr->src;
  58. if ((*handlerProc)(infoPtr->dst, infoPtr->key,
  59. argv[srcIndex])) {
  60. @@ -325,7 +325,7 @@ ParseArgv(argcPtr, argv, argTable, flags)
  61. break;
  62. }
  63. case ARGV_GENFUNC: {
  64. - int (*handlerProc)() = (int (*)())(uintptr_t)infoPtr->src;
  65. + int (*handlerProc)(void *, const char *, int, char **) = (int (*)(void *, const char *, int, char **))(uintptr_t)infoPtr->src;
  66. argc = (*handlerProc)(infoPtr->dst, infoPtr->key,
  67. argc, argv+srcIndex);