example-common.lua 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. --
  2. -- Copyright 2010-2019 Branimir Karadzic. All rights reserved.
  3. -- License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
  4. --
  5. project ("example-glue")
  6. kind "StaticLib"
  7. includedirs {
  8. path.join(BX_DIR, "include"),
  9. path.join(BIMG_DIR, "include"),
  10. path.join(BGFX_DIR, "include"),
  11. path.join(BGFX_DIR, "3rdparty"),
  12. }
  13. files {
  14. path.join(BGFX_DIR, "examples/common/example-glue.cpp"),
  15. }
  16. project ("example-common")
  17. kind "StaticLib"
  18. includedirs {
  19. path.join(BX_DIR, "include"),
  20. path.join(BIMG_DIR, "include"),
  21. path.join(BGFX_DIR, "include"),
  22. path.join(BGFX_DIR, "3rdparty"),
  23. }
  24. files {
  25. path.join(BGFX_DIR, "3rdparty/meshoptimizer/src/**.cpp"),
  26. path.join(BGFX_DIR, "3rdparty/meshoptimizer/src/**.h"),
  27. path.join(BGFX_DIR, "3rdparty/dear-imgui/**.cpp"),
  28. path.join(BGFX_DIR, "3rdparty/dear-imgui/**.h"),
  29. path.join(BGFX_DIR, "examples/common/**.cpp"),
  30. path.join(BGFX_DIR, "examples/common/**.cpp"),
  31. path.join(BGFX_DIR, "examples/common/**.h"),
  32. }
  33. if filesexist(BGFX_DIR, path.join(BGFX_DIR, "../bgfx-gnm"),
  34. { path.join(BGFX_DIR, "../bgfx-gnm/examples/common/entry/entry_orbis.cpp") }) then
  35. files {
  36. path.join(BGFX_DIR, "../bgfx-gnm/examples/common/entry/entry_orbis.cpp"),
  37. }
  38. end
  39. if filesexist(BGFX_DIR, path.join(BGFX_DIR, "../bgfx-nvn"),
  40. { path.join(BGFX_DIR, "../bgfx-gnm/examples/common/entry/entry_nx.cpp") }) then
  41. files {
  42. path.join(BGFX_DIR, "../bgfx-gnm/examples/common/entry/entry_nx.cpp"),
  43. }
  44. end
  45. removefiles {
  46. path.join(BGFX_DIR, "examples/common/example-glue.cpp"),
  47. }
  48. if _OPTIONS["with-scintilla"] then
  49. defines {
  50. "SCI_NAMESPACE",
  51. "SCI_LEXER",
  52. }
  53. buildoptions {
  54. -- "-Wno-missing-field-initializers",
  55. }
  56. includedirs {
  57. path.join(BGFX_DIR, "3rdparty/scintilla/include"),
  58. path.join(BGFX_DIR, "3rdparty/scintilla/lexlib"),
  59. }
  60. files {
  61. path.join(BGFX_DIR, "3rdparty/scintilla/src/**.cxx"),
  62. path.join(BGFX_DIR, "3rdparty/scintilla/src/**.h"),
  63. path.join(BGFX_DIR, "3rdparty/scintilla/lexlib/**.cxx"),
  64. path.join(BGFX_DIR, "3rdparty/scintilla/lexlib/**.h"),
  65. path.join(BGFX_DIR, "3rdparty/scintilla/lexers/**.cxx"),
  66. }
  67. end
  68. if _OPTIONS["with-sdl"] then
  69. defines {
  70. "ENTRY_CONFIG_USE_SDL=1",
  71. }
  72. includedirs {
  73. "$(SDL2_DIR)/include",
  74. }
  75. end
  76. if _OPTIONS["with-glfw"] then
  77. defines {
  78. "ENTRY_CONFIG_USE_GLFW=1",
  79. }
  80. end
  81. if _OPTIONS["with-wayland"] then
  82. defines {
  83. "ENTRY_CONFIG_USE_WAYLAND=1",
  84. }
  85. end
  86. configuration { "linux-steamlink" }
  87. defines {
  88. "EGL_API_FB",
  89. }
  90. configuration { "osx or ios* or tvos*" }
  91. files {
  92. path.join(BGFX_DIR, "examples/common/**.mm"),
  93. }
  94. configuration { "winstore* or durango"}
  95. files {
  96. path.join(BGFX_DIR, "examples/common/**.cx"),
  97. }
  98. linkoptions {
  99. "/ignore:4264" -- LNK4264: archiving object file compiled with /ZW into a static library; note that when authoring Windows Runtime types it is not recommended to link with a static library that contains Windows Runtime metadata
  100. }
  101. premake.vstudio.splashpath = "../../../examples/runtime/images/SplashScreen.png"