diff options
Diffstat (limited to 'vcpkg/ports/ismrmrd')
| -rw-r--r-- | vcpkg/ports/ismrmrd/fix-depends-hdf5.patch | 17 | ||||
| -rw-r--r-- | vcpkg/ports/ismrmrd/fix-nodiscard-warning.patch | 13 | ||||
| -rw-r--r-- | vcpkg/ports/ismrmrd/portfile.cmake | 51 | ||||
| -rw-r--r-- | vcpkg/ports/ismrmrd/vcpkg.json | 21 |
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 + } + ] +} |