diff --git a/CMakeLists.txt b/CMakeLists.txt index caf681a8..2670ac8d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -69,7 +69,8 @@ IF(NOT LIBMINC_EXTERNALLY_CONFIGURED) # external packages FIND_PACKAGE(ZLIB REQUIRED) SET(HDF5_NO_FIND_PACKAGE_CONFIG_FILE ON) - FIND_PACKAGE(HDF5 REQUIRED COMPONENTS C ) + FIND_PACKAGE(HDF5 REQUIRED NO_MODULE COMPONENTS C ) + set(HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIR}) IF(LIBMINC_USE_NIFTI) IF (LIBMINC_USE_SYSTEM_NIFTI) @@ -588,7 +589,7 @@ IF(LIBMINC_INSTALL_LIB_DIR AND NOT LIBMINC_INSTALL_NO_DEVELOPMENT) ${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}/cmake + ${LIBMINC_INSTALL_LIB_DIR}/cmake/LIBMINC COMPONENT Development) ENDIF(LIBMINC_INSTALL_LIB_DIR AND NOT LIBMINC_INSTALL_NO_DEVELOPMENT) diff --git a/LIBMINCConfig.cmake.in b/LIBMINCConfig.cmake.in index f8f7eb6d..7f02bced 100644 --- a/LIBMINCConfig.cmake.in +++ b/LIBMINCConfig.cmake.in @@ -1,7 +1,9 @@ # LIBMINC CMake configuration file +include(CMakeFindDependencyMacro) +find_dependency(hdf5 CONFIG) -get_filename_component(LIBMINC_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE) +get_filename_component(LIBMINC_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE) get_filename_component(LIBMINC_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH ) set(HAVE_MINC2 1) @@ -20,7 +22,7 @@ set(LIBMINC_NIFTI_SUPPORT @LIBMINC_NIFTI_SUPPORT@) #set(ZLIB_LIBRARIES "@ZLIB_LIBRARY@") #set(NIFTI_LIBRARIES "@NIFTI_LIBRARIES@") -set(LIBMINC_INCLUDE_DIRS "@LIBMINC_INCLUDE_DIRS_CONFIG@") # ${LIBMINC_INSTALL_PREFIX}/include +set(LIBMINC_INCLUDE_DIRS "@LIBMINC_INCLUDE_DIRS_CONFIG@" ${HDF5_INCLUDE_DIR}) # ${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 diff --git a/libcommon/ParseArgv.c b/libcommon/ParseArgv.c index 260f5745..e2f6f4a6 100644 --- a/libcommon/ParseArgv.c +++ b/libcommon/ParseArgv.c @@ -315,7 +315,7 @@ ParseArgv(argcPtr, argv, argTable, flags) } break; case ARGV_FUNC: { - int (*handlerProc)() = (int (*)())(uintptr_t)infoPtr->src; + int (*handlerProc)(void *, const char *, char *) = (int (*)(void *, const char *, char *))(uintptr_t)infoPtr->src; if ((*handlerProc)(infoPtr->dst, infoPtr->key, argv[srcIndex])) { @@ -325,7 +325,7 @@ ParseArgv(argcPtr, argv, argTable, flags) break; } case ARGV_GENFUNC: { - int (*handlerProc)() = (int (*)())(uintptr_t)infoPtr->src; + int (*handlerProc)(void *, const char *, int, char **) = (int (*)(void *, const char *, int, char **))(uintptr_t)infoPtr->src; argc = (*handlerProc)(infoPtr->dst, infoPtr->key, argc, argv+srcIndex);