xmake.lua 1.5 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package("qr-code-generator-c")
  2. set_homepage("https://www.nayuki.io/page/qr-code-generator-library")
  3. set_description("High-quality QR Code generator library in Java, TypeScript/JavaScript, Python, Rust, C++, C.")
  4. add_urls("https://github.com/nayuki/QR-Code-generator/archive/refs/tags/$(version).tar.gz",
  5. "https://github.com/nayuki/QR-Code-generator.git")
  6. add_versions("v1.8.0", "2ec0a4d33d6f521c942eeaf473d42d5fe139abcfa57d2beffe10c5cf7d34ae60")
  7. on_install(function (package)
  8. io.writefile("xmake.lua", [[
  9. add_rules("mode.debug", "mode.release")
  10. target("qr-code-generator-c")
  11. set_kind("$(kind)")
  12. set_languages("c99")
  13. add_files("c/qrcodegen.c")
  14. add_headerfiles("c/qrcodegen.h")
  15. ]])
  16. import("package.tools.xmake").install(package)
  17. end)
  18. on_test(function (package)
  19. assert(package:check_cxxsnippets({test = [[
  20. #include "qrcodegen.h"
  21. void test() {
  22. const char *text = "Hello, world!";
  23. enum qrcodegen_Ecc errCorLvl = qrcodegen_Ecc_LOW;
  24. uint8_t qrcode[qrcodegen_BUFFER_LEN_MAX];
  25. uint8_t tempBuffer[qrcodegen_BUFFER_LEN_MAX];
  26. qrcodegen_encodeText(text, tempBuffer, qrcode, errCorLvl,
  27. qrcodegen_VERSION_MIN, qrcodegen_VERSION_MAX, qrcodegen_Mask_AUTO, true);
  28. }
  29. ]]}, {configs = {languages = "c99"}}))
  30. end)