xmake.lua 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package("sse2neon")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://github.com/DLTcollab/sse2neon")
  4. set_description("A translator from Intel SSE intrinsics to Arm/Aarch64 NEON implementation")
  5. set_license("MIT")
  6. add_urls("https://github.com/DLTcollab/sse2neon/archive/refs/tags/$(version).tar.gz",
  7. "https://github.com/DLTcollab/sse2neon.git")
  8. add_versions("v1.7.0", "cee6d54922dbc9d4fa57749e3e4b46161b7f435a22e592db9da008051806812a")
  9. if is_plat("windows") then
  10. add_cxxflags("/Zc:preprocessor")
  11. end
  12. on_check(function (package)
  13. assert(package:is_arch("arm.*"), "package(sse2neon): only support arm")
  14. if package:is_plat("windows") then
  15. import("core.tool.toolchain")
  16. local msvc = toolchain.load("msvc", {plat = package:plat(), arch = package:arch()})
  17. if msvc then
  18. local vs = msvc:config("vs")
  19. assert(vs and tonumber(vs) >= 2022, "package(sse2neon): need vs >= 2022")
  20. end
  21. end
  22. end)
  23. on_install("!cross", function (package)
  24. assert(package:is_arch("arm.*"), "package(sse2neon): only support arm")
  25. os.vcp("sse2neon.h", package:installdir("include"))
  26. end)
  27. on_test(function (package)
  28. assert(package:has_cxxincludes("sse2neon.h"))
  29. end)