xmake.lua 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package("yy-thunks")
  2. set_homepage("https://github.com/Chuyu-Team/YY-Thunks")
  3. set_description("Fix DecodePointer, EncodePointer,RegDeleteKeyEx etc. APIs not found in Windows XP RTM.")
  4. set_license("MIT")
  5. add_urls("https://github.com/Chuyu-Team/YY-Thunks/releases/download/v$(version)-Objs.zip", {
  6. version = function (version)
  7. if version:ge("1.1.6") then
  8. return format("%s/YY-Thunks", version)
  9. else
  10. return format("%s/YY-Thunks-%s", version, version)
  11. end
  12. end
  13. })
  14. add_urls("https://github.com/Chuyu-Team/YY-Thunks/releases/download/v$(version)/YY-Thunks-$(version)-Binary.zip")
  15. add_versions("1.1.7", "c3066f3f074ebc2a89b2def5f427bdea238dee17349d2bab579af519781691ab")
  16. add_versions("1.1.6", "fa4de6bda69f476907f780f63f3dda792537a2e3236cd23043a490c6b91cb0b5")
  17. add_versions("1.1.5", "e6e2bb6e6b46f8b2b4af4cff2b2b754b123837a3c72f1cd5d7a5bfdf3c0df82a")
  18. add_versions("1.1.4", "f9850a35d1f2b0cae15e64da516de0ec5e798c060b320e91788aa33b853e85ba")
  19. add_versions("1.1.1", "fe79e309aa42a58794609e06382632a0b768a1193a6bb5aad0bddd4264712aba")
  20. add_versions("1.0.9", "216b88757f28075d3d8c0363139e870d49ba84458fc10a0f094f264ebf0a302c")
  21. add_versions("1.0.7", "3607a79ac37f141cbcbf00aaea8d82a4c2628d81d8dad9e2a4dce4c8c17a025b")
  22. add_configs("debug", {description = "Enable debug symbols.", default = false, readonly = true})
  23. add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true})
  24. set_policy("package.precompiled", false)
  25. on_install("windows|x64", "windows|x86", function (package)
  26. -- check vs version
  27. local vs = package:toolchain("msvc"):config("vs")
  28. if vs and tonumber(vs) < 2005 then
  29. raise("YY-Thunks only supports VS2008 or later versions")
  30. end
  31. if package:is_arch("x64") then
  32. os.mv("objs/x64/*.obj", package:installdir("lib"))
  33. elseif package:is_arch("x86") then
  34. os.mv("objs/x86/*.obj", package:installdir("lib"))
  35. else
  36. raise("Unsupported architecture!")
  37. end
  38. os.trymv("YY.Depends.Analyzer.exe", package:installdir("bin"))
  39. end)
  40. on_test(function (package)
  41. local obj = path.join(package:installdir("lib"), "YY_Thunks_for_WinXP.obj")
  42. assert(os.isfile(obj))
  43. end)