premake4.lua 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. --
  2. -- Copyright 2010-2012 Branimir Karadzic. All rights reserved.
  3. -- License: http://www.opensource.org/licenses/BSD-2-Clause
  4. --
  5. solution "bgfx"
  6. configurations {
  7. "Debug",
  8. "Release",
  9. }
  10. platforms {
  11. "x32",
  12. "x64",
  13. "Xbox360",
  14. }
  15. language "C++"
  16. BGFX_DIR = (path.getabsolute("..") .. "/")
  17. local BGFX_BUILD_DIR = (BGFX_DIR .. ".build/")
  18. local BGFX_THIRD_PARTY_DIR = (BGFX_DIR .. "3rdparty/")
  19. BX_DIR = (BGFX_DIR .. "../bx/")
  20. dofile (BX_DIR .. "premake/toolchain.lua")
  21. toolchain(BGFX_BUILD_DIR, BGFX_THIRD_PARTY_DIR)
  22. function copyLib()
  23. end
  24. function exampleProject(_name, _uuid)
  25. project ("example-" .. _name)
  26. uuid (_uuid)
  27. kind "WindowedApp"
  28. configuration {}
  29. debugdir (BGFX_DIR .. "examples/runtime/")
  30. includedirs {
  31. BX_DIR .. "include",
  32. BGFX_DIR .. "include",
  33. }
  34. files {
  35. BGFX_DIR .. "examples/common/**.cpp",
  36. BGFX_DIR .. "examples/common/**.h",
  37. BGFX_DIR .. "examples/" .. _name .. "/**.cpp",
  38. BGFX_DIR .. "examples/" .. _name .. "/**.h",
  39. }
  40. links {
  41. "bgfx",
  42. }
  43. configuration { "emscripten" }
  44. targetextension ".bc"
  45. configuration { "nacl or nacl-arm or pnacl" }
  46. targetextension ".nexe"
  47. links {
  48. "ppapi",
  49. "ppapi_gles2",
  50. "pthread",
  51. }
  52. configuration { "nacl", "Release" }
  53. postbuildcommands {
  54. "@echo Stripping symbols.",
  55. "@$(NACL)/bin/x86_64-nacl-strip -s \"$(TARGET)\""
  56. }
  57. configuration { "linux" }
  58. links {
  59. "GL",
  60. "pthread",
  61. }
  62. configuration { "macosx" }
  63. files {
  64. BGFX_DIR .. "examples/common/**.mm",
  65. }
  66. links {
  67. "Cocoa.framework",
  68. "OpenGL.framework",
  69. }
  70. end
  71. dofile "bgfx.lua"
  72. exampleProject("00-helloworld", "ff2c8450-ebf4-11e0-9572-0800200c9a66")
  73. exampleProject("01-cubes", "fec3bc94-e1e5-11e1-9c59-c7eeec2c1c51")
  74. exampleProject("02-metaballs", "413b2cb4-f7db-11e1-bf5f-a716de6a022f")
  75. exampleProject("03-raymarch", "1cede802-0220-11e2-91ba-e108de6a022f")
  76. exampleProject("04-mesh", "546bbc76-0c4a-11e2-ab09-debcdd6a022f")
  77. exampleProject("05-instancing", "5d3da660-1105-11e2-aece-71e4dd6a022f")
  78. exampleProject("06-bump", "ffb23e6c-167b-11e2-81df-94c4dd6a022f")
  79. exampleProject("07-callback", "acc53bbc-52f0-11e2-9781-ad8edd4b7d02")
  80. exampleProject("08-update", "e011e246-5862-11e2-b202-b7cb257a7926")
  81. dofile "makedisttex.lua"
  82. dofile "shaderc.lua"
  83. dofile "texturec.lua"
  84. dofile "geometryc.lua"