xmake.lua 1.1 KB

1234567891011121314151617181920212223242526272829
  1. package("libdicom")
  2. set_homepage("https://libdicom.readthedocs.io")
  3. set_description("C library for reading DICOM files")
  4. set_license("MIT")
  5. add_urls("https://github.com/ImagingDataCommons/libdicom/archive/refs/tags/$(version).tar.gz",
  6. "https://github.com/ImagingDataCommons/libdicom.git")
  7. add_versions("v1.1.0", "a0ab640e050f373bc5a3e1ec99bee7d5b488652340855223a73002181b094ae8")
  8. add_deps("meson", "ninja")
  9. if is_plat("windows") then
  10. add_deps("pkgconf")
  11. end
  12. add_deps("uthash")
  13. if is_plat("linux", "wasm") then
  14. add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true})
  15. end
  16. on_install("!android and (windows|!arm64 or !windows)", function (package)
  17. local configs = {"-Dtests=false"}
  18. table.insert(configs, "-Ddefault_library=" .. (package:config("shared") and "shared" or "static"))
  19. import("package.tools.meson").install(package, configs)
  20. end)
  21. on_test(function (package)
  22. assert(package:has_cfuncs("dcm_filehandle_create_from_file", {includes = "dicom/dicom.h"}))
  23. end)