xmake.lua 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package("discord")
  2. set_homepage("https://discord.com/developers/docs/game-sdk/")
  3. set_description("Whether you’re part of a school club, gaming group, worldwide art community, or just a handful of friends that want to spend time together, Discord makes it easy to talk every day and hang out more often.")
  4. add_versions("2.5.6", "426eb5fa70647d884f461c63825b63668349efb4bc68a16e70bc4a24e119b92e")
  5. set_urls("https://dl-game-sdk.discordapp.net/$(version)/discord_game_sdk.zip")
  6. on_install("windows", function (package)
  7. os.cp("cpp/*.h", package:installdir("include"))
  8. os.cp("c/*.h", package:installdir("include"))
  9. os.cp("Release/*.lib", package:installdir("lib"))
  10. if package:is_arch("x64") then
  11. os.cp("lib/x86_64/discord_game_sdk.dll", package:installdir("bin"))
  12. os.cp("lib/x86_64/discord_game_sdk.dll.lib", package:installdir("lib"))
  13. else
  14. os.cp("lib/x86/discord_game_sdk.dll", package:installdir("bin"))
  15. os.cp("lib/x86/discord_game_sdk.dll.lib", package:installdir("lib"))
  16. end
  17. local configs = {}
  18. if package:config("shared") then
  19. configs.kind = "shared"
  20. end
  21. os.cp(path.join(package:scriptdir(), "port", "xmake.lua"), "xmake.lua")
  22. import("package.tools.xmake").install(package, configs)
  23. end)
  24. on_test(function (package)
  25. assert(package:check_cxxsnippets({test = [[
  26. void test() {
  27. discord::Core* core{};
  28. auto result = discord::Core::Create(310270644849737729, DiscordCreateFlags_Default, &core);
  29. }
  30. ]]}, {configs = {languages = "c++14"}, includes = "discord.h"}))
  31. end)