xmake.lua 1.2 KB

123456789101112131415161718192021222324252627
  1. package("atomic_queue")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://github.com/max0x7ba/atomic_queue")
  4. set_description("C++ lockless queue.")
  5. set_license("MIT")
  6. add_urls("https://github.com/max0x7ba/atomic_queue/archive/refs/tags/$(version).tar.gz",
  7. "https://github.com/max0x7ba/atomic_queue.git")
  8. add_versions("v1.6.4", "e9c3ae4b850dc6503ee484748701f06f3737ad177c5cb31030f74e3fef40e282")
  9. add_versions("v1.5", "599b76a0222e7b54118d6f0fb686845c9d323107f2de76b3f68292b057e5a99f")
  10. add_versions("v1.6.3", "0ad6e0203d90367f6a4e496449dfd9ad65b80168fadafef4eac08820c6bda79c")
  11. on_install(function (package)
  12. os.cp("include/atomic_queue/", package:installdir("include"))
  13. end)
  14. on_test(function (package)
  15. assert(package:check_cxxsnippets({test = [[
  16. #include <iostream>
  17. int test(int argc, char* argv[]) {
  18. using Queue = atomic_queue::AtomicQueue<uint32_t, 1024>;
  19. Queue q{};
  20. q.try_push(10);
  21. return 0;
  22. }
  23. ]]}, {configs = {languages = "cxx14"}, includes = "atomic_queue/atomic_queue.h"}))
  24. end)