xmake.lua 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package("aseprite-tga")
  2. set_homepage("https://github.com/aseprite/tga")
  3. set_description("C++ library to read/write Truevision TGA/TARGA files")
  4. set_license("MIT")
  5. set_urls("https://github.com/aseprite/tga.git")
  6. add_versions("2023.6.2", "d537510d98bc9706675746d132fa460639254a78")
  7. on_install(function (package)
  8. io.writefile("xmake.lua", [[
  9. add_rules("mode.debug", "mode.release")
  10. target("aseprite-tga")
  11. set_kind("$(kind)")
  12. add_files("*.cpp")
  13. add_headerfiles("tga.h")
  14. set_languages("c++11")
  15. if is_plat("windows") and is_kind("shared") then
  16. add_rules("utils.symbols.export_all", {export_classes = true})
  17. end
  18. ]])
  19. local configs = {}
  20. if package:config("shared") then
  21. configs.kind = "shared"
  22. end
  23. import("package.tools.xmake").install(package, configs)
  24. end)
  25. on_test(function (package)
  26. assert(package:check_cxxsnippets({test = [[
  27. #include <cstdio>
  28. void test() {
  29. FILE* f = std::fopen("img.tga", "rb");
  30. tga::StdioFileInterface file(f);
  31. tga::Decoder decoder(&file);
  32. }
  33. ]]}, {configs = {languages = "c++11"}, includes = "tga.h"}))
  34. end)