xmake.lua 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. set_project("BNM")
  2. set_languages("c++20")
  3. add_rules("mode.debug", "mode.release")
  4. if is_config("hook_lib", "dobby") then
  5. add_requires("dobby")
  6. elseif is_config("hook_lib", "shadowhook") then
  7. add_requires("shadowhook")
  8. end
  9. option("link_log", {
  10. description = "Link against liblog.so",
  11. default = false,
  12. type = "boolean"
  13. })
  14. option("hook_lib", {
  15. description = "Choose the hooking library used (dobby or shadowhook).",
  16. default = "shadowhook",
  17. type = "string",
  18. values = {"shadowhook", "dobby"}
  19. })
  20. option("unity_version", {
  21. description = "Unity version (e.g., 5.6.4, 2017.1.0, 2022.2.1)",
  22. default = "2022.2.0",
  23. type = "string"
  24. })
  25. option("version", {
  26. description = "Set the version",
  27. type = "string"
  28. })
  29. set_version(get_config("version"))
  30. target("BNM")
  31. set_kind("static")
  32. if is_config("hook_lib", "dobby") then
  33. add_packages("dobby", {public = true})
  34. elseif is_config("hook_lib", "shadowhook") then
  35. add_packages("shadowhook", {public = true})
  36. end
  37. add_files("src/*.cpp")
  38. add_headerfiles("include/(**.h)", "include/(**.hpp)")
  39. add_headerfiles("external/include/(**.h)", "external/include/(**.hpp)")
  40. add_includedirs("include", "external/include", "external", "external/utf8", "src/private")
  41. if has_config("link_log") then
  42. add_syslinks("log")
  43. end
  44. set_configvar("BNM_INCLUDE_DIRECTORIES", "include;external/include")