aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/ismrmrd
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/ismrmrd
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/ismrmrd')
-rw-r--r--vcpkg/ports/ismrmrd/fix-depends-hdf5.patch17
-rw-r--r--vcpkg/ports/ismrmrd/fix-nodiscard-warning.patch13
-rw-r--r--vcpkg/ports/ismrmrd/portfile.cmake51
-rw-r--r--vcpkg/ports/ismrmrd/vcpkg.json21
4 files changed, 102 insertions, 0 deletions
diff --git a/vcpkg/ports/ismrmrd/fix-depends-hdf5.patch b/vcpkg/ports/ismrmrd/fix-depends-hdf5.patch
new file mode 100644
index 0000000..26b01de
--- /dev/null
+++ b/vcpkg/ports/ismrmrd/fix-depends-hdf5.patch
@@ -0,0 +1,17 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2144fd3..68f9ca9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -108,7 +108,11 @@ endif()
+ if (USE_HDF5_DATASET_SUPPORT)
+ if (VCPKG_TARGET_TRIPLET) #VCPKG HDF5 is packaged differently.
+ find_package(HDF5 CONFIG COMPONENTS C shared REQUIRED)
+- set(HDF5_C_LIBRARIES hdf5::hdf5-shared)
++ if (BUILD_SHARED_LIBS)
++ set(HDF5_C_LIBRARIES hdf5::hdf5-shared)
++ else()
++ set(HDF5_C_LIBRARIES hdf5::hdf5-static)
++ endif()
+ else ()
+ find_package(HDF5 COMPONENTS C REQUIRED)
+ endif ()
diff --git a/vcpkg/ports/ismrmrd/fix-nodiscard-warning.patch b/vcpkg/ports/ismrmrd/fix-nodiscard-warning.patch
new file mode 100644
index 0000000..a5b8f54
--- /dev/null
+++ b/vcpkg/ports/ismrmrd/fix-nodiscard-warning.patch
@@ -0,0 +1,13 @@
+diff --git a/libsrc/meta.cpp b/libsrc/meta.cpp
+index 9cc8cc9..69fce79 100644
+--- a/libsrc/meta.cpp
++++ b/libsrc/meta.cpp
+@@ -23,7 +23,7 @@ namespace ISMRMRD {
+ pugi::xml_node value = meta.child("value");
+
+ if (!name || !value) {
+- std::runtime_error("Malformed metadata value");
++ throw std::runtime_error("Malformed metadata value");
+ }
+
+ while (value) {
diff --git a/vcpkg/ports/ismrmrd/portfile.cmake b/vcpkg/ports/ismrmrd/portfile.cmake
new file mode 100644
index 0000000..155f72a
--- /dev/null
+++ b/vcpkg/ports/ismrmrd/portfile.cmake
@@ -0,0 +1,51 @@
+if (VCPKG_TARGET_ARCHITECTURE MATCHES "x86")
+ set(WIN32_INCLUDE_STDDEF_PATCH "x86-windows-include-stddef.patch")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ismrmrd/ismrmrd
+ REF "v${VERSION}"
+ SHA512 4bf3fbab89436636c64e4917d09117134f4d1c6446bae7ef570e0af5850998f066d881f45c414f40e1d1be942f34fda6836a1b3e4cb5ec904f9ecf2a432964c1
+ HEAD_REF master
+ PATCHES
+ ${WIN32_INCLUDE_STDDEF_PATCH}
+ fix-depends-hdf5.patch
+ fix-nodiscard-warning.patch
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DUSE_HDF5_DATASET_SUPPORT=ON
+ -DVCPKG_TARGET_TRIPLET=ON
+ -DBUILD_TESTS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_UTILITIES=OFF
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/ISMRMRD/)
+
+if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/ismrmrd.dll")
+ file(COPY "${CURRENT_PACKAGES_DIR}/lib/ismrmrd.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/ismrmrd.dll")
+endif()
+
+if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/ismrmrd.dll")
+ file(COPY "${CURRENT_PACKAGES_DIR}/debug/lib/ismrmrd.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/ismrmrd.dll")
+endif()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/ismrmrd/cmake")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin/")
+endif()
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/vcpkg/ports/ismrmrd/vcpkg.json b/vcpkg/ports/ismrmrd/vcpkg.json
new file mode 100644
index 0000000..f9214cb
--- /dev/null
+++ b/vcpkg/ports/ismrmrd/vcpkg.json
@@ -0,0 +1,21 @@
+{
+ "name": "ismrmrd",
+ "version": "1.14.1",
+ "port-version": 1,
+ "description": "ISMRM Raw Data Format",
+ "homepage": "https://github.com/ismrmrd/ismrmrd",
+ "license": "BSD-3-Clause",
+ "supports": "!(x86 | arm | wasm32)",
+ "dependencies": [
+ "hdf5",
+ "pugixml",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}