xmake.lua 920 B

12345678910111213141516171819202122
  1. package("rust")
  2. set_kind("toolchain")
  3. set_homepage("https://rust-lang.org")
  4. set_description("Rust is a general-purpose programming language emphasizing performance, type safety, and concurrency.")
  5. add_versions("1.86.0", "")
  6. add_deps("rustup", {private = true})
  7. on_install("@windows|x86", "@windows|x64", "@windows|arm64", "@msys", "@cygwin", "@bsd", "@linux", "@macosx", function (package)
  8. local rustup = package:dep("rustup"):installdir()
  9. local version = package:version():shortstr()
  10. os.vrunv("rustup", {"install", version})
  11. os.mv(path.join(rustup, ".rustup", "toolchains", version .. "-*", "*"), package:installdir())
  12. package:addenv("RC", "bin/rustc" .. (is_host("windows") and ".exe" or ""))
  13. package:mark_as_pathenv("RC")
  14. end)
  15. on_test(function (package)
  16. os.vrun("cargo --version")
  17. os.vrun("rustc --version")
  18. end)