aboutsummaryrefslogtreecommitdiff
path: root/ports/nifticlib
diff options
context:
space:
mode:
Diffstat (limited to 'ports/nifticlib')
-rw-r--r--ports/nifticlib/CONTROL25
-rw-r--r--ports/nifticlib/portfile.cmake48
-rw-r--r--ports/nifticlib/zlib_include.patch12
3 files changed, 85 insertions, 0 deletions
diff --git a/ports/nifticlib/CONTROL b/ports/nifticlib/CONTROL
new file mode 100644
index 000000000..acd8aedaa
--- /dev/null
+++ b/ports/nifticlib/CONTROL
@@ -0,0 +1,25 @@
+Source: nifticlib
+Version: 2020-04-30
+Description: Nifticlib is a C I/O library for reading and writing files in the nifti-1 data format.
+Homepage: NIFTI-Imaging/nifti_clib
+Build-Depends: zlib
+Default-Features: nifti2, nifticdf
+Supports: !uwp
+
+Feature: cifti
+Description: Build cifti libraries and tools
+
+Feature: fsl
+Description: Build fsl libraries and tools
+
+Feature: nifti2
+Description: Build nifti2 libraries and tools
+
+Feature: nifticdf
+Description: Build nifticdf libraries and tools
+
+Feature: tools
+Description: Build tools
+
+Feature: tests
+Description: Build tests
diff --git a/ports/nifticlib/portfile.cmake b/ports/nifticlib/portfile.cmake
new file mode 100644
index 000000000..c9d74a49e
--- /dev/null
+++ b/ports/nifticlib/portfile.cmake
@@ -0,0 +1,48 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO NIFTI-Imaging/nifti_clib
+ REF 65f801b9c2f1f15f4de4a19d45e6595c25765632
+ SHA512 be03cdc6cf17fd9ff74c5ecc1f6b2132121bb4b7973a731da334af2a8428d1f0dbbf7b94b2511d1ff7e515b8cc4cf3316d62b189566fb6ffc88c6146eebd48ff
+ HEAD_REF master
+ PATCHES zlib_include.patch
+)
+
+if(VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+endif()
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ "cifti" USE_CIFTI_CODE
+ "fsl" USE_FSL_CODE
+ "nifti2" USE_NIFTI2_CODE
+ "nifticdf" USE_NIFTICDF_CODE
+ "tools" NIFTI_BUILD_APPLICATIONS
+ "tests" BUILD_TESTING
+)
+set(TOOL_NAMES)
+if("tools" IN_LIST FEATURES)
+ list(APPEND TOOL_NAMES nifti_stats nifti_tool nifti1_tool)
+endif()
+if("tests" IN_LIST FEATURES)
+ list(APPEND TOOL_NAMES nifit_test)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ ${FEATURE_OPTIONS}
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake TARGET_PATH share)
+
+if(TOOL_NAMES)
+ vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN)
+endif()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/nifticlib/zlib_include.patch b/ports/nifticlib/zlib_include.patch
new file mode 100644
index 000000000..1ef462b7f
--- /dev/null
+++ b/ports/nifticlib/zlib_include.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 54150d739..c3ca8fe50 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -77,6 +77,7 @@ set_if_not_defined(ZNZ_COMPILE_DEF "")
+ if(NOT NIFTI_ZLIB_LIBRARIES) # If using a custom zlib library, skip the find package
+ ### USE AS STAND ALONE PACKAGE
+ find_package(ZLIB REQUIRED)
++ include_directories(${ZLIB_INCLUDE_DIRS})
+ set(NIFTI_ZLIB_LIBRARIES ${ZLIB_LIBRARIES})
+ endif()
+ #message(STATUS "---------------------ZLIB -${NIFTI_ZLIB_LIBRARIES}--")