xmake.lua 1.1 KB

1234567891011121314151617181920212223242526
  1. package("stringbuilder")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://github.com/Isameru/stringbuilder")
  4. set_description("Fast, efficient and convenient alternative to std::stringstream and std::string concatenation.")
  5. set_license("MIT")
  6. add_urls("https://github.com/Isameru/stringbuilder.git")
  7. add_versions("2023.7.10", "ab772a6f0db237155d17a68c8f72b48383137872")
  8. on_install("!windows", function (package)
  9. io.replace("include/stringbuilder.h", [[#include <assert.h>]], [[#include <assert.h>
  10. #include <cstdint>]], {plain = true})
  11. io.replace("include/stringbuilder.h", "#pragma once", "#pragma once\n#include <ios>\n#include <stdexcept>", {plain = true})
  12. io.replace("include/stringbuilder.h", "#include <intrin.h>", "", {plain = true})
  13. os.cp("include", package:installdir())
  14. end)
  15. on_test(function (package)
  16. assert(package:check_cxxsnippets({test = [[
  17. #include <stringbuilder.h>
  18. void test() {
  19. auto sb = sbldr::stringbuilder<5>{};
  20. sb << "123";
  21. }
  22. ]]}, {configs = {languages = "c++17"}}))
  23. end)