xmake.lua 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package("simplewindow")
  2. set_homepage("https://mzying2001.github.io/sw/")
  3. set_description("SimpleWindow GUI Framework")
  4. set_license("MIT")
  5. add_urls("https://github.com/Mzying2001/sw/archive/refs/tags/$(version).tar.gz",
  6. "https://github.com/Mzying2001/sw.git")
  7. add_versions("0.0.7", "b06d6d7840b40bac1c7c7c145d95c723a155581951b2ac3a6679b81b11a17adf")
  8. add_patches("0.0.7", path.join(os.scriptdir(), "patches", "0.0.7", "mingw.patch"), "b4c63bf701fdb05ec9220102feaec4b5bd5c676ccd54e0a9e2bce46c4039ac56")
  9. if is_plat("windows", "mingw") then
  10. add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true})
  11. end
  12. add_syslinks("gdi32", "user32", "shell32")
  13. add_includedirs("include", "include/sw")
  14. on_install("windows", "mingw@windows,msys", function (package)
  15. if package:has_tool("cxx", "cl") then
  16. package:add("cxxflags", "/source-charset:utf-8")
  17. end
  18. os.cd("sw")
  19. os.cp(path.join(package:scriptdir(), "port", "xmake.lua"), "xmake.lua")
  20. import("package.tools.xmake").install(package)
  21. end)
  22. on_test(function (package)
  23. assert(package:check_cxxsnippets({test = [[
  24. void test() {
  25. sw::Window mainWindow;
  26. auto msg = sw::App::MsgLoop();
  27. }
  28. ]]}, {includes = "SimpleWindow.h", configs = {languages = "c++14"}}))
  29. end)