Selaa lähdekoodia

libminc: fix cmake (#8022)

choyy 3 kuukautta sitten
vanhempi
sitoutus
963c04bece
2 muutettua tiedostoa jossa 22 lisäystä ja 16 poistoa
  1. 21 14
      packages/l/libminc/patches/2.4.06/libminc.patch
  2. 1 2
      packages/l/libminc/xmake.lua

+ 21 - 14
packages/l/libminc/patches/2.4.06/libminc.patch

@@ -1,18 +1,33 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index caf681a8..2670ac8d 100644
+index caf681a8..5a340152 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -69,7 +69,8 @@ IF(NOT LIBMINC_EXTERNALLY_CONFIGURED)
+@@ -69,7 +69,13 @@ 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(TARGET hdf5::hdf5-static)
++    set(HDF5_LIBRARIES hdf5::hdf5-static)
++  elseif(TARGET hdf5::hdf5-shared)
++    set(HDF5_LIBRARIES hdf5::hdf5-shared)
++  endif()
    
    IF(LIBMINC_USE_NIFTI)
    IF (LIBMINC_USE_SYSTEM_NIFTI)
-@@ -588,7 +589,7 @@ IF(LIBMINC_INSTALL_LIB_DIR AND NOT LIBMINC_INSTALL_NO_DEVELOPMENT)
+@@ -539,6 +545,9 @@ SET(LIBMINC_LIBRARY_DIRS_CONFIG "\${LIBMINC_INSTALL_PREFIX}/lib" )
+ SET(LIBMINC_STATIC_LIBRARIES_CONFIG   "" )
+ SET(VOLUME_IO_LIBRARY_STATIC "")
+ 
++get_filename_component(ZLIB_LIBRARY_DIR "${ZLIB_LIBRARY}" DIRECTORY)
++SET(LIBMINC_LIBRARY_DIRS_CONFIG  ${LIBMINC_LIBRARY_DIRS_CONFIG} ${ZLIB_LIBRARY_DIR})
++
+ configure_file(LIBMINCConfig.cmake.in
+   ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${LIBMINC_EXTERNAL_LIB_PREFIX}LIBMINCConfig.cmake @ONLY )
+ 
+@@ -588,7 +597,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 
@@ -22,13 +37,14 @@ index caf681a8..2670ac8d 100644
  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
+index f8f7eb6d..daaa06c5 100644
 --- a/LIBMINCConfig.cmake.in
 +++ b/LIBMINCConfig.cmake.in
-@@ -1,7 +1,9 @@
+@@ -1,7 +1,10 @@
  # LIBMINC CMake configuration file
  
 +include(CMakeFindDependencyMacro)
++find_dependency(ZLIB)
 +find_dependency(hdf5 CONFIG)
  
 -get_filename_component(LIBMINC_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE)
@@ -36,15 +52,6 @@ index f8f7eb6d..7f02bced 100644
  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

+ 1 - 2
packages/l/libminc/xmake.lua

@@ -6,7 +6,7 @@ package("libminc")
              "https://github.com/BIC-MNI/libminc.git")
     add_versions("2.4.06", "2d8b01e67322507000dbfa3e46fa38e12d5c72eb535b169a33a6c5c53202cf90")
 
-    add_patches("2.4.06", "patches/2.4.06/libminc.patch", "56205cec43d1e7d10664ff45df2fcdd50102f97b8c6ad60ca0d541957a05626f")
+    add_patches("2.4.06", "patches/2.4.06/libminc.patch", "80f00f422f9a59cd6627879c1c51d62a6b1bd379049fe3d86a2663bf7c60b0fb")
 
     if is_plat("windows") then
         add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true})
@@ -18,7 +18,6 @@ package("libminc")
     end
 
     on_install("windows", "linux", "macosx", "bsd", function (package)
-        io.replace("CMakeLists.txt", "${HDF5_LIBRARY}", "hdf5::hdf5-" .. (package:dep("hdf5"):config("shared") and "shared" or "static"), {plain = true})
         local configs = {
             "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"),
             "-DLIBMINC_BUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"),