xmake.lua 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. package("dylib")
  2. set_kind("library", {headeronly = true})
  3. set_homepage("https://conan.io/center/recipes/dylib")
  4. set_description("C++ cross-platform wrapper around dynamic loading of shared libraries (dll, so, dylib)")
  5. set_license("MIT")
  6. add_urls("https://github.com/martin-olivier/dylib/archive/refs/tags/$(version).tar.gz",
  7. "https://github.com/martin-olivier/dylib.git")
  8. add_versions("v3.0.1", "dfef3f0aeccf4ad847a5cd02f0b0bff086b4fac6e764e33abd82d3c85cfb578c")
  9. add_versions("v2.2.1", "6af0d2a91860743dc9f564ba0ab7f036a9b37c904395610288791571d4dbea5b")
  10. add_deps("cmake")
  11. on_install("!android and !bsd", function (package)
  12. import("package.tools.cmake").install(package)
  13. end)
  14. on_test(function (package)
  15. if package:version() and package:version():ge("3.0.0") then
  16. assert(package:check_cxxsnippets({test = [[
  17. void test() {
  18. dylib::library lib("./plugins/foo", dylib::decorations::os_default());
  19. }
  20. ]]}, {configs = {languages = "c++11"}, includes = "dylib.hpp"}))
  21. else
  22. assert(package:check_cxxsnippets({test = [[
  23. void test() {
  24. dylib lib("foo");
  25. }
  26. ]]}, {configs = {languages = "c++11"}, includes = "dylib.hpp"}))
  27. end
  28. end)