xmake.lua 1.3 KB

12345678910111213141516171819202122232425262728293031
  1. package("standardlib")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://github.com/gregoryc/standardlib")
  4. set_description("A complete standardlib for c for once")
  5. set_license("Public Domain")
  6. add_urls("https://github.com/gregoryc/standardlib.git")
  7. add_versions("2024.03.25", "d27a1293ccfe7ef04a961806754c5d1272614b72")
  8. on_load(function (package)
  9. if not package:has_cincludes("threads.h", {configs = {languages = "c11"}}) then
  10. package:add("defines", "FOUNDATIONAL_LIB_THREAD_FUNCTIONS_ENABLED=0")
  11. end
  12. package:add("defines", "_DEFAULT_SOURCE", "_POSIX_C_SOURCE=200809L")
  13. end)
  14. on_install("linux", "cross", "mingw", function (package)
  15. os.cp("foundationallib.h", package:installdir("include"))
  16. end)
  17. on_test(function (package)
  18. assert(package:check_csnippets({test = [[
  19. #include <foundationallib.h>
  20. #include <stdio.h>
  21. void test() {
  22. const char *text = "This is a sample text";
  23. const char *suffix = "text";
  24. printf("Does the string end with \"%s\"? %s\n", suffix, ends_with(text, suffix) ? "Yes" : "No");
  25. }
  26. ]]}, {configs = {languages = "c11"}}))
  27. end)