crown.lua 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. --
  2. -- Copyright (c) 2012-2014 Daniele Bartolini and individual contributors.
  3. -- License: https://github.com/taylor001/crown/blob/master/LICENSE
  4. --
  5. function crown_project(_name, _kind, _defines)
  6. project ("crown" .. _name)
  7. kind (_kind)
  8. includedirs {
  9. CROWN_DIR .. "engine",
  10. CROWN_DIR .. "engine/core",
  11. CROWN_DIR .. "engine/core/containers",
  12. CROWN_DIR .. "engine/core/filesystem",
  13. CROWN_DIR .. "engine/core/json",
  14. CROWN_DIR .. "engine/core/math",
  15. CROWN_DIR .. "engine/core/memory",
  16. CROWN_DIR .. "engine/core/network",
  17. CROWN_DIR .. "engine/core/settings",
  18. CROWN_DIR .. "engine/core/strings",
  19. CROWN_DIR .. "engine/core/thread",
  20. CROWN_DIR .. "engine/main",
  21. CROWN_DIR .. "engine/input",
  22. CROWN_DIR .. "engine/renderers",
  23. CROWN_DIR .. "engine/resource",
  24. CROWN_DIR .. "engine/lua",
  25. CROWN_DIR .. "engine/audio",
  26. CROWN_DIR .. "engine/compilers",
  27. CROWN_DIR .. "engine/physics",
  28. CROWN_DIR .. "engine/world",
  29. CROWN_DIR .. "third/luajit/src",
  30. CROWN_DIR .. "third/openal/include",
  31. CROWN_DIR .. "third/freetype",
  32. CROWN_DIR .. "third/stb_image",
  33. CROWN_DIR .. "third/stb_vorbis",
  34. CROWN_DIR .. "third/bgfx/src",
  35. CROWN_DIR .. "third/bgfx/include",
  36. CROWN_DIR .. "third/bx/include",
  37. }
  38. defines {
  39. _defines,
  40. }
  41. configuration { "debug" }
  42. flags {
  43. "Symbols"
  44. }
  45. defines {
  46. "_DEBUG",
  47. "CROWN_DEBUG"
  48. }
  49. configuration { "development" }
  50. flags {
  51. "Symbols"
  52. }
  53. defines {
  54. "_DEBUG",
  55. "CROWN_DEBUG"
  56. }
  57. configuration { "release" }
  58. defines {
  59. "NDEBUG"
  60. }
  61. configuration { "linux*" }
  62. includedirs {
  63. "$(PHYSX_SDK_LINUX)/Include",
  64. "$(PHYSX_SDK_LINUX)/Include/common",
  65. "$(PHYSX_SDK_LINUX)/Include/characterkinematic",
  66. "$(PHYSX_SDK_LINUX)/Include/cloth",
  67. "$(PHYSX_SDK_LINUX)/Include/common",
  68. "$(PHYSX_SDK_LINUX)/Include/cooking",
  69. "$(PHYSX_SDK_LINUX)/Include/extensions",
  70. "$(PHYSX_SDK_LINUX)/Include/foundation",
  71. "$(PHYSX_SDK_LINUX)/Include/geometry",
  72. "$(PHYSX_SDK_LINUX)/Include/particles",
  73. "$(PHYSX_SDK_LINUX)/Include/physxprofilesdk",
  74. "$(PHYSX_SDK_LINUX)/Include/physxvisualdebuggersdk",
  75. "$(PHYSX_SDK_LINUX)/Include/pvd",
  76. "$(PHYSX_SDK_LINUX)/Include/pxtask",
  77. "$(PHYSX_SDK_LINUX)/Include/RepX",
  78. "$(PHYSX_SDK_LINUX)/Include/RepXUpgrader",
  79. "$(PHYSX_SDK_LINUX)/Include/vehicle",
  80. }
  81. configuration { "android*" }
  82. includedirs {
  83. "$(PHYSX_SDK_ANDROID)/Include",
  84. "$(PHYSX_SDK_ANDROID)/Include/common",
  85. "$(PHYSX_SDK_ANDROID)/Include/characterkinematic",
  86. "$(PHYSX_SDK_ANDROID)/Include/cloth",
  87. "$(PHYSX_SDK_ANDROID)/Include/common",
  88. "$(PHYSX_SDK_ANDROID)/Include/cooking",
  89. "$(PHYSX_SDK_ANDROID)/Include/extensions",
  90. "$(PHYSX_SDK_ANDROID)/Include/foundation",
  91. "$(PHYSX_SDK_ANDROID)/Include/geometry",
  92. "$(PHYSX_SDK_ANDROID)/Include/particles",
  93. "$(PHYSX_SDK_ANDROID)/Include/physxprofilesdk",
  94. "$(PHYSX_SDK_ANDROID)/Include/physxvisualdebuggersdk",
  95. "$(PHYSX_SDK_ANDROID)/Include/pvd",
  96. "$(PHYSX_SDK_ANDROID)/Include/pxtask",
  97. "$(PHYSX_SDK_ANDROID)/Include/RepX",
  98. "$(PHYSX_SDK_ANDROID)/Include/RepXUpgrader",
  99. "$(PHYSX_SDK_ANDROID)/Include/vehicle",
  100. }
  101. configuration { "vs2012" }
  102. includedirs {
  103. "$(PHYSX_SDK_WINDOWS)/Include",
  104. "$(PHYSX_SDK_WINDOWS)/Include/common",
  105. "$(PHYSX_SDK_WINDOWS)/Include/characterkinematic",
  106. "$(PHYSX_SDK_WINDOWS)/Include/cloth",
  107. "$(PHYSX_SDK_WINDOWS)/Include/common",
  108. "$(PHYSX_SDK_WINDOWS)/Include/cooking",
  109. "$(PHYSX_SDK_WINDOWS)/Include/extensions",
  110. "$(PHYSX_SDK_WINDOWS)/Include/foundation",
  111. "$(PHYSX_SDK_WINDOWS)/Include/geometry",
  112. "$(PHYSX_SDK_WINDOWS)/Include/particles",
  113. "$(PHYSX_SDK_WINDOWS)/Include/physxprofilesdk",
  114. "$(PHYSX_SDK_WINDOWS)/Include/physxvisualdebuggersdk",
  115. "$(PHYSX_SDK_WINDOWS)/Include/pvd",
  116. "$(PHYSX_SDK_WINDOWS)/Include/pxtask",
  117. "$(PHYSX_SDK_WINDOWS)/Include/RepX",
  118. "$(PHYSX_SDK_WINDOWS)/Include/RepXUpgrader",
  119. "$(PHYSX_SDK_WINDOWS)/Include/vehicle",
  120. "$(DXSDK_DIR)/Include",
  121. }
  122. configuration {}
  123. files {
  124. CROWN_DIR .. "engine/**.h",
  125. CROWN_DIR .. "engine/**.cpp"
  126. }
  127. strip()
  128. configuration {} -- reset configuration
  129. end