xmake.lua 1.0 KB

123456789101112131415161718192021222324252627282930
  1. add_rules("mode.release")
  2. target("genie")
  3. set_kind("binary")
  4. on_load(function (target)
  5. local lua_ver
  6. for _, dir in ipairs(os.dirs("src/host/*")) do
  7. if dir:find("lua-", 1, true) then
  8. lua_ver = dir:match("lua%-(%d+%.%d+%.%d+)")
  9. break
  10. end
  11. end
  12. assert(lua_ver, "lua directory not found!")
  13. local lua_src = "src/host/lua-" .. lua_ver .. "/src"
  14. target:add("includedirs", lua_src)
  15. target:add("files", lua_src .. "/*.c|lua.c|luac.c")
  16. end)
  17. add_files("src/host/*.c")
  18. add_defines("LUA_COMPAT_MODULE")
  19. if is_plat("windows", "mingw", "msys") then
  20. add_syslinks("ole32")
  21. elseif is_plat("macosx") then
  22. add_defines("LUA_USE_MACOSX")
  23. add_frameworks("CoreServices")
  24. elseif is_plat("linux") then
  25. add_defines("LUA_USE_POSIX", "LUA_USE_DLOPEN", "_FILE_OFFSET_BITS=64")
  26. add_syslinks("dl", "m")
  27. elseif is_plat("bsd") then
  28. add_defines("LUA_USE_POSIX", "LUA_USE_DLOPEN")
  29. add_syslinks("m")
  30. end