diff options
Diffstat (limited to 'vcpkg/ports/libdicom')
| -rw-r--r-- | vcpkg/ports/libdicom/cross-build.diff | 22 | ||||
| -rw-r--r-- | vcpkg/ports/libdicom/portfile.cmake | 39 | ||||
| -rw-r--r-- | vcpkg/ports/libdicom/vcpkg.json | 20 |
3 files changed, 81 insertions, 0 deletions
diff --git a/vcpkg/ports/libdicom/cross-build.diff b/vcpkg/ports/libdicom/cross-build.diff new file mode 100644 index 0000000..1a2c8aa --- /dev/null +++ b/vcpkg/ports/libdicom/cross-build.diff @@ -0,0 +1,22 @@ +diff --git a/meson.build b/meson.build +index 07fd96f..6cfb436 100644 +--- a/meson.build ++++ b/meson.build +@@ -148,6 +148,9 @@ install_headers( + # src + library_includes = include_directories('include') + library_options = ['-DBUILDING_LIBDICOM'] ++if meson.is_cross_build() ++ dict_lookup = [ 'dicom-dict-lookup.c', 'dicom-dict-lookup.h' ] ++else + dict_build = executable( + 'dicom-dict-build', + ['src/dicom-dict-build.c', 'src/dicom-dict-tables.c'], +@@ -160,6 +163,7 @@ dict_lookup = custom_target( + command : [dict_build, '@OUTPUT@'], + output : ['dicom-dict-lookup.c', 'dicom-dict-lookup.h'], + ) ++endif + library_sources = [ + dict_lookup, + 'src/getopt.c', diff --git a/vcpkg/ports/libdicom/portfile.cmake b/vcpkg/ports/libdicom/portfile.cmake new file mode 100644 index 0000000..165e48c --- /dev/null +++ b/vcpkg/ports/libdicom/portfile.cmake @@ -0,0 +1,39 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ImagingDataCommons/libdicom + REF "v${VERSION}" + SHA512 dd3145721436eaab80e14750210c1b7528a0d23b77aa2e94acfd1bb24d22e3e3a616133f48244aa1927bf835a5d541c3ca3136518b740cd58114cd753f662917 + HEAD_REF main + PATCHES + cross-build.diff +) +if(VCPKG_CROSSCOMPILING) + file(COPY + "${CURRENT_HOST_INSTALLED_DIR}/share/${PORT}/${VERSION}/dicom-dict-lookup.c" + "${CURRENT_HOST_INSTALLED_DIR}/share/${PORT}/${VERSION}/dicom-dict-lookup.h" + DESTINATION "${SOURCE_PATH}" + ) +endif() + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Dtests=false +) +vcpkg_install_meson() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +vcpkg_copy_tools(TOOL_NAMES dcm-dump dcm-getframe AUTO_CLEAN) + +if(NOT VCPKG_CROSSCOMPILING) + file(COPY + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/dicom-dict-lookup.c" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/dicom-dict-lookup.h" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/${VERSION}" + ) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/vcpkg/ports/libdicom/vcpkg.json b/vcpkg/ports/libdicom/vcpkg.json new file mode 100644 index 0000000..e169bb6 --- /dev/null +++ b/vcpkg/ports/libdicom/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "libdicom", + "version": "1.2.0", + "port-version": 1, + "description": "libdicom is a C library and a set of command-line tools for reading DICOM WSI files", + "homepage": "https://github.com/ImagingDataCommons/libdicom", + "documentation": "https://libdicom.readthedocs.io/en/latest/", + "license": "MIT", + "dependencies": [ + { + "name": "libdicom", + "host": true + }, + "uthash", + { + "name": "vcpkg-tool-meson", + "host": true + } + ] +} |