aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libdicom
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/libdicom')
-rw-r--r--vcpkg/ports/libdicom/cross-build.diff22
-rw-r--r--vcpkg/ports/libdicom/portfile.cmake39
-rw-r--r--vcpkg/ports/libdicom/vcpkg.json20
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
+ }
+ ]
+}