xmake.lua 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. set_project("irrlicht")
  2. option("tools", {default = false, showmenu = true})
  3. add_rules("mode.debug", "mode.release")
  4. add_requires("bzip2", "libjpeg-turbo", "libpng", "zlib")
  5. if is_plat("linux") then
  6. add_requires("libx11", "libxxf86vm", "libxcursor", "libxext")
  7. end
  8. if has_config("tools") and is_plat("macosx", "linux") then
  9. add_requires("libxft")
  10. end
  11. target("Irrlicht")
  12. set_kind("$(kind)")
  13. add_files("source/Irrlicht/*.cpp")
  14. add_files("source/Irrlicht/lzma/*.c")
  15. add_files("source/Irrlicht/aesGladman/*.cpp")
  16. add_includedirs("source/Irrlicht")
  17. add_includedirs("include", {public = true})
  18. add_headerfiles("include/(**.h)")
  19. add_packages("bzip2", "libjpeg-turbo", "libpng", "zlib")
  20. add_defines(is_kind("shared") and "IRRLICHT_EXPORTS" or "_IRR_STATIC_LIB_", {public = is_kind("static")})
  21. add_defines("NO_IRR_USE_NON_SYSTEM_ZLIB_",
  22. "NO_IRR_USE_NON_SYSTEM_BZLIB_",
  23. "NO_IRR_USE_NON_SYSTEM_JPEG_LIB_",
  24. "NO_IRR_USE_NON_SYSTEM_LIB_PNG_")
  25. add_defines("NO_IRR_COMPILE_WITH_DIRECT3D_9_",
  26. "NO_IRR_COMPILE_WITH_BURNINGSVIDEO_")
  27. if is_plat("windows") then
  28. add_syslinks("user32", "gdi32", "advapi32")
  29. elseif is_plat("macosx") then
  30. add_frameworks("Cocoa", "OpenGL", "IOKit")
  31. add_files("source/Irrlicht/MacOSX/*.mm")
  32. add_cxxflags("-ObjC++")
  33. set_values("objc++.build.arc", false)
  34. elseif is_plat("linux") then
  35. add_syslinks("GL")
  36. add_packages("libx11", "libxxf86vm", "libxcursor", "libxext")
  37. end
  38. target_end()
  39. if has_config("tools") then
  40. target("MeshConverter")
  41. set_kind("binary")
  42. add_deps("Irrlicht")
  43. add_files("tools/MeshConverter/*.cpp")
  44. target_end()
  45. target("IrrFontTool")
  46. set_kind("binary")
  47. add_deps("Irrlicht")
  48. add_files("tools/IrrFontTool/newFontTool/*.cpp")
  49. if is_plat("windows") then
  50. add_syslinks("gdi32")
  51. elseif is_plat("macosx", "linux") then
  52. add_packages("libxft")
  53. end
  54. target_end()
  55. target("GUIEditor")
  56. set_kind("binary")
  57. add_deps("Irrlicht")
  58. add_files("tools/GUIEditor/*.cpp")
  59. target_end()
  60. target("FileToHeader")
  61. set_kind("binary")
  62. add_deps("Irrlicht")
  63. add_files("tools/FileToHeader/*.cpp")
  64. target_end()
  65. end