genie.lua 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. --
  2. -- Copyright (c) 2012-2024 Daniele Bartolini et al.
  3. -- SPDX-License-Identifier: MIT
  4. --
  5. CROWN_DIR = (path.getabsolute("..") .. "/")
  6. local CROWN_THIRD_DIR = (CROWN_DIR .. "3rdparty/")
  7. local CROWN_BUILD_DIR = (CROWN_DIR .. "build/")
  8. BGFX_DIR = (CROWN_DIR .. "3rdparty/bgfx/")
  9. BIMG_DIR = (CROWN_DIR .. "3rdparty/bimg/")
  10. BX_DIR = (CROWN_DIR .. "3rdparty/bx/")
  11. function copyLib()
  12. end
  13. newoption {
  14. trigger = "no-lua",
  15. description = "Build without Lua scripting."
  16. }
  17. newoption {
  18. trigger = "no-luajit",
  19. description = "Build with regular Lua."
  20. }
  21. newoption {
  22. trigger = "with-tools",
  23. description = "Build with tools."
  24. }
  25. newoption {
  26. trigger = "no-level-editor",
  27. description = "Do not build Level Editor."
  28. }
  29. newoption {
  30. trigger = "gfxapi",
  31. description = "BGFX renderer (gl32, gles3, d3d11)."
  32. }
  33. newaction {
  34. trigger = "create-meson-build",
  35. description = "Create meson.build.",
  36. execute = function() dofile("scripts/create-meson-build.lua") end
  37. }
  38. solution "crown"
  39. configurations {
  40. "debug",
  41. "development",
  42. "release",
  43. }
  44. platforms {
  45. "x32",
  46. "x64",
  47. "native"
  48. }
  49. language "C++"
  50. configuration {}
  51. dofile ("toolchain.lua")
  52. toolchain(CROWN_BUILD_DIR, CROWN_THIRD_DIR)
  53. dofile ("crown.lua")
  54. group "engine"
  55. crown_project("", "WindowedApp", {})
  56. group "libs"
  57. dofile (BX_DIR .. "scripts/bx.lua")
  58. dofile (BIMG_DIR .. "scripts/bimg.lua")
  59. dofile (BIMG_DIR .. "scripts/bimg_encode.lua")
  60. dofile (BIMG_DIR .. "scripts/bimg_decode.lua")
  61. dofile (BGFX_DIR .. "scripts/bgfx.lua")
  62. if _OPTIONS["gfxapi"] == "gl32" then
  63. bgfxProject("", "StaticLib", "BGFX_CONFIG_RENDERER_OPENGL=32")
  64. elseif _OPTIONS["gfxapi"] == "gles3" then
  65. bgfxProject("", "StaticLib", "BGFX_CONFIG_RENDERER_OPENGLES=30")
  66. elseif _OPTIONS["gfxapi"] == "d3d11" then
  67. bgfxProject("", "StaticLib", "BGFX_CONFIG_RENDERER_DIRECT3D11=1")
  68. else
  69. bgfxProject("", "StaticLib")
  70. end
  71. dofile ("openal.lua")
  72. openal_project(os.is("windows") and "SharedLib" or "StaticLib")
  73. dofile ("bullet.lua")
  74. dofile ("lua.lua")
  75. dofile ("luac.lua")
  76. if _OPTIONS["with-tools"] then
  77. group "tools"
  78. if not _OPTIONS["no-level-editor"] then
  79. dofile ("level-editor.lua")
  80. end
  81. end