xmake.lua 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package("ninja")
  2. set_kind("binary")
  3. set_homepage("https://ninja-build.org/")
  4. set_description("Small build system for use with gyp or CMake.")
  5. set_license("Apache-2.0")
  6. if is_host("windows") then
  7. if os.arch() == "arm64" then
  8. set_urls("https://github.com/ninja-build/ninja/releases/download/$(version)/ninja-winarm64.zip")
  9. add_versions("v1.12.1", "79c96a50e0deafec212cfa85aa57c6b74003f52d9d1673ddcd1eab1c958c5900")
  10. add_versions("v1.13.1", "fb959b674970e36a7c9a23191524b80fb5298fc71fc98bfa42456bcc0a8dfb2f")
  11. else
  12. set_urls("https://github.com/ninja-build/ninja/releases/download/$(version)/ninja-win.zip")
  13. add_versions("v1.9.0", "2d70010633ddaacc3af4ffbd21e22fae90d158674a09e132e06424ba3ab036e9")
  14. add_versions("v1.10.1", "5d1211ea003ec9760ad7f5d313ebf0b659d4ffafa221187d2b4444bc03714a33")
  15. add_versions("v1.10.2", "bbde850d247d2737c5764c927d1071cbb1f1957dcabda4a130fa8547c12c695f")
  16. add_versions("v1.11.0", "d0ee3da143211aa447e750085876c9b9d7bcdd637ab5b2c5b41349c617f22f3b")
  17. add_versions("v1.11.1", "524b344a1a9a55005eaf868d991e090ab8ce07fa109f1820d40e74642e289abc")
  18. add_versions("v1.12.1", "f550fec705b6d6ff58f2db3c374c2277a37691678d6aba463adcbb129108467a")
  19. add_versions("v1.13.1", "26a40fa8595694dec2fad4911e62d29e10525d2133c9a4230b66397774ae25bf")
  20. end
  21. elseif is_host("macosx") then
  22. set_urls("https://github.com/ninja-build/ninja/releases/download/$(version)/ninja-mac.zip")
  23. add_versions("v1.9.0", "26d32a79f786cca1004750f59e545199bf110e21e300d3c2424c1fddd78f28ab")
  24. add_versions("v1.10.1", "0bd650190d4405c15894055e349d9b59d5690b0389551d757c5ed2d3841972d1")
  25. add_versions("v1.10.2", "6fa359f491fac7e5185273c6421a000eea6a2f0febf0ac03ac900bd4d80ed2a5")
  26. add_versions("v1.11.0", "21915277db59756bfc61f6f281c1f5e3897760b63776fd3d360f77dd7364137f")
  27. add_versions("v1.11.1", "482ecb23c59ae3d4f158029112de172dd96bb0e97549c4b1ca32d8fad11f873e")
  28. add_versions("v1.12.1", "89a287444b5b3e98f88a945afa50ce937b8ffd1dcc59c555ad9b1baf855298c9")
  29. add_versions("v1.13.1", "da7797794153629aca5570ef7c813342d0be214ba84632af886856e8f0063dd9")
  30. elseif is_host("linux", "bsd") then
  31. add_urls("https://github.com/ninja-build/ninja/archive/refs/tags/$(version).tar.gz",
  32. "https://github.com/ninja-build/ninja.git")
  33. add_versions("v1.9.0", "5d7ec75828f8d3fd1a0c2f31b5b0cea780cdfe1031359228c428c1a48bfcd5b9")
  34. add_versions("v1.10.1", "a6b6f7ac360d4aabd54e299cc1d8fa7b234cd81b9401693da21221c62569a23e")
  35. add_versions("v1.10.2", "ce35865411f0490368a8fc383f29071de6690cbadc27704734978221f25e2bed")
  36. add_versions("v1.11.0", "3c6ba2e66400fe3f1ae83deb4b235faf3137ec20bd5b08c29bfc368db143e4c6")
  37. add_versions("v1.11.1", "31747ae633213f1eda3842686f83c2aa1412e0f5691d1c14dbbcc67fe7400cea")
  38. add_versions("v1.12.1", "821bdff48a3f683bc4bb3b6f0b5fe7b2d647cf65d52aeb63328c91a6c6df285a")
  39. add_versions("v1.13.1", "f0055ad0369bf2e372955ba55128d000cfcc21777057806015b45e4accbebf23")
  40. end
  41. on_install("@windows", "@msys", "@cygwin", function (package)
  42. os.cp("./ninja.exe", package:installdir("bin"))
  43. end)
  44. on_install("@macosx", function (package)
  45. os.cp("./ninja", package:installdir("bin"))
  46. end)
  47. on_install("@linux", "@bsd", function (package)
  48. local configs = {}
  49. configs.version = package:version_str()
  50. os.cp(path.join(package:scriptdir(), "port", "xmake.lua"), "xmake.lua")
  51. import("package.tools.xmake").install(package, configs)
  52. end)
  53. on_test(function (package)
  54. os.vrun("ninja --version")
  55. end)