aboutsummaryrefslogtreecommitdiff
path: root/ports/minc
diff options
context:
space:
mode:
authorAlexander Neumann <30894796+Neumann-A@users.noreply.github.com>2020-08-03 00:49:20 +0200
committerGitHub <noreply@github.com>2020-08-02 15:49:20 -0700
commit8e76503a769e153dad8f4e7b2c95a152bb35edaa (patch)
tree977e80e16b3ae4ef1d34824d505a5db8b877e904 /ports/minc
parent1c2af994151fb3e177df54f89223b056ecddbcec (diff)
downloadvcpkg-8e76503a769e153dad8f4e7b2c95a152bb35edaa.tar.gz
vcpkg-8e76503a769e153dad8f4e7b2c95a152bb35edaa.zip
[ITK] Update to 5.1 (#11208)
* [vtk-m] new port vtk-m * [VTK] Update to 9.0 * include local buildtree changes * [pcl] disable VTK due to API changes in VTK 9.0 * [vtk-m] add supports field to be only x64 * [vtk-dicom] add python executable. * fix vtkm dependency * [vtk-dicom] fix missing std:: namespace * [vtk-m] add uwp to unsupported triplets * [vtk] add pegtl include patch, reenable IOMotionFX * remove hdf5 changes for testing * use different pgetl patch which redirects to the installed config of pegtl * [pegtl-2] version file needs renaming too * [vtk] change dependency to pgetl-2 and fix the patch * [vtk] put in hdf5 fix again and correct manually installed include files * remove deprecated function to retrigger CI * [lz4] correctly lowercase the lz4 config * [vtk] remove unnecessary code * [pegtl-2] add homepage * [pegtl] modernize portfiles * [vtk-dicom] add homepage * [vtk-dicom] modernize portfile * [vtk-m] remove empty build depends * [vtk] try fixing the permission issue * [vtk] minimal dependency correction * [itk] update * fix portfile errors * WIP commit * should make ITK green in VCPKG CI but there a still issues with features * more dependencies and features.... * remove itk from baseline failure so the check can get green * more dependency updating. * minor build fixes * [openjpeg] Fix dll location * fix other issues * add rtkcuda * [openjpeg] remove default features to make arm and uwp platforms happy * [itk] more dependency fixes * [openjpeg] fix no tools case * [itk] fix wip patch * [itk] split up patches & cleanup & and move rtk tools if build * [itk] fix patch and remove old and wip patch * [nifticlib] Add new port required by minc * [nifticlib] change repo and add features * [nifticilib] add zlib dependency & cleanup * [minc] add new port * [vcpkg/scripts] add swig to find acquire programm * [itk/minc] update for external minc * add supports field for nifticlib * [itk] make python a default feature for testing * [itk] cleanup python vars a bit [vcpkg/scripts] correct swig hash * [vcpkg/scripts] fix swig * [itk] fix python include path on unix system * [itk] remove python as a default. A bit of feature cleanup * [itk] update remote RTK * [itk|rtk] remove RTK module before configure to allow patching * [opencl] update opencl wrapper * [itk] fix opencl static linkage * [itk] add cufftw fix * update baseline * [itk] fix itk[tbb] * [itk] update python paths to 3.8 * [itk] add failure messages for unsupported architectures for some features * [vcpkg_find_acquire_program] update swig to 4.0.2 * Update portfile.cmake * [itk] move the module removal out of the if for people reusing the old source tree * [itk] add missing auto_clean to vcpkg_copy_tools * Update ports/nifticlib/CONTROL Co-authored-by: Robert Schumacher <roschuma@microsoft.com> * Update ports/openjpeg/portfile.cmake Co-authored-by: Robert Schumacher <roschuma@microsoft.com> * Update scripts/cmake/vcpkg_find_acquire_program.cmake Co-authored-by: Robert Schumacher <roschuma@microsoft.com> * [openjpeg] pass OPTIONS to vcpkg_configure_cmake * [itk] fix typo and leave a todo. * use sourceforge args for swig * Update ports/openjpeg/CONTROL Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> * Update ports/opencl/CONTROL Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> * [itk] remove debug msgs from patch * pre-install yasm on OSX Co-authored-by: Lily <47812810+LilyWangL@users.noreply.github.com> Co-authored-by: Robert Schumacher <roschuma@microsoft.com> Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Diffstat (limited to 'ports/minc')
-rw-r--r--ports/minc/CONTROL9
-rw-r--r--ports/minc/build.patch67
-rw-r--r--ports/minc/config.patch15
-rw-r--r--ports/minc/portfile.cmake47
4 files changed, 138 insertions, 0 deletions
diff --git a/ports/minc/CONTROL b/ports/minc/CONTROL
new file mode 100644
index 000000000..6cd1d5499
--- /dev/null
+++ b/ports/minc/CONTROL
@@ -0,0 +1,9 @@
+Source: minc
+Version: 2.4.03
+Description: MINC - Medical Image NetCDF or MINC isn't netCDF
+Homepage: https://github.com/BIC-MNI/libminc
+Build-Depends: nifticlib, hdf5[core], zlib
+
+Feature: minc1
+Description: Support minc1 file format, requires NETCDF
+Build-Depends: netcdf[core] \ No newline at end of file
diff --git a/ports/minc/build.patch b/ports/minc/build.patch
new file mode 100644
index 000000000..d0275c20d
--- /dev/null
+++ b/ports/minc/build.patch
@@ -0,0 +1,67 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 52cc81ace..d7a1f63f8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -403,9 +404,11 @@ ENDIF(LIBMINC_MINC1_SUPPORT)
+ # Keep this variable for compatibility
+ SET(VOLUME_IO_LIBRARY ${LIBMINC_EXTERNAL_LIB_PREFIX}minc2)
+ SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
+
+ ADD_LIBRARY(${LIBMINC_LIBRARY} ${LIBRARY_TYPE} ${minc_LIB_SRCS} ${minc_HEADERS} ${volume_io_LIB_SRCS} ${volume_io_HEADERS} )
+-
++if(WIN32)
++ target_link_libraries(${LIBMINC_LIBRARY} ws2_32)
++endif()
+ IF(NIFTI_FOUND AND NOT LIBMINC_USE_SYSTEM_NIFTI)
+ ADD_DEPENDENCIES(${LIBMINC_LIBRARY} NIFTI)
+ ENDIF()
+@@ -453,7 +456,7 @@ IF( LIBMINC_INSTALL_LIB_DIR )
+ ${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
++ RUNTIME DESTINATION ${LIBMINC_INSTALL_BIN_DIR} COMPONENT libraries
+ )
+ ENDIF( LIBMINC_INSTALL_LIB_DIR )
+
+@@ -538,7 +541,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}
++ ${LIBMINC_INSTALL_LIB_DIR}/cmake
+ COMPONENT Development)
+
+ ENDIF(LIBMINC_INSTALL_LIB_DIR AND NOT LIBMINC_INSTALL_NO_DEVELOPMENT)
+diff --git a/config.h.cmake b/config.h.cmake
+index 9ceffa8fc..21c2f3baf 100644
+--- a/config.h.cmake
++++ b/config.h.cmake
+@@ -1,4 +1,8 @@
+ /* various defines */
++#ifdef _MSC_VER
++#define strcasecmp _stricmp
++#define strncasecmp _strnicmp
++#endif
+
+ #ifndef MINC2
+ #define MINC2 @MINC2@
+diff --git a/libcommon/minc_config.c b/libcommon/minc_config.c
+index 531ef108e..5472d9274 100644
+--- a/libcommon/minc_config.c
++++ b/libcommon/minc_config.c
+@@ -20,14 +20,6 @@
+
+ #include "minc_config.h"
+
+-#ifdef _MSC_VER
+-#define snprintf _snprintf
+-#define vsnprintf _vsnprintf
+-#define strcasecmp _stricmp
+-#define strncasecmp _strnicmp
+-#endif
+-
+-
+ static const char *_CONFIG_VAR[]=
+ {
+ "MINC_FORCE_V2",
diff --git a/ports/minc/config.patch b/ports/minc/config.patch
new file mode 100644
index 000000000..a726b9a57
--- /dev/null
+++ b/ports/minc/config.patch
@@ -0,0 +1,15 @@
+diff --git a/LIBMINCConfig.cmake.in b/LIBMINCConfig.cmake.in
+index 7790597b2..c041b685a 100644
+--- a/LIBMINCConfig.cmake.in
++++ b/LIBMINCConfig.cmake.in
+@@ -1,3 +1,4 @@
++set(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_DIR}/../../")
+ # LIBMINC CMake configuration file
+
+ get_filename_component(LIBMINC_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH )
+@@ -37,3 +38,4 @@ set( LIBMINC_FOUND 1 )
+ # set( LIBMINC_TARGETS_IMPORTED 1 )
+ # include( "${LIBMINC_CMAKE_DIR}/@LIBMINC_EXPORTED_TARGETS@.cmake" )
+ #endif()
++unset(_IMPORT_PREFIX)
+\ No newline at end of file
diff --git a/ports/minc/portfile.cmake b/ports/minc/portfile.cmake
new file mode 100644
index 000000000..4b9ff63b1
--- /dev/null
+++ b/ports/minc/portfile.cmake
@@ -0,0 +1,47 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO BIC-MNI/libminc
+ REF e75a936c12a305b596d743c26a5437196ebce2a4
+ SHA512 744f879ac8f0594c310d1c1b7fe67543c5feeb3e5a0979035918dbb2bf1d0973fbd389e5357a75631e618cc614b648c21179f7467576bd68e3522e63f21451b0
+ HEAD_REF master
+ PATCHES build.patch
+ config.patch
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ "minc1" LIBMINC_MINC1_SUPPORT
+)
+
+if(VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) # Symbols are not properly exported
+endif()
+
+set(OPTIONS)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ list(APPEND OPTIONS "-DLIBMINC_BUILD_SHARED_LIBS=ON")
+else()
+ list(APPEND OPTIONS "-DLIBMINC_BUILD_SHARED_LIBS=OFF")
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ DISABLE_PARALLEL_CONFIGURE
+ OPTIONS
+ "-DBUILD_TESTING=OFF"
+ "-DLIBMINC_USE_SYSTEM_NIFTI=ON"
+ ${OPTIONS}
+ ${FEATURE_OPTIONS}
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share/libminc)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
+endif()
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)