texturev.lua 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. --
  2. -- Copyright 2010-2025 Branimir Karadzic. All rights reserved.
  3. -- License: https://github.com/bkaradzic/bgfx/blob/master/LICENSE
  4. --
  5. project "texturev"
  6. uuid (os.uuid("texturev") )
  7. kind "ConsoleApp"
  8. configuration {}
  9. includedirs {
  10. path.join(BIMG_DIR, "include"),
  11. path.join(BGFX_DIR, "include"),
  12. path.join(BGFX_DIR, "3rdparty"),
  13. path.join(BGFX_DIR, "examples/common"),
  14. path.join(MODULE_DIR, "include"),
  15. path.join(MODULE_DIR, "3rdparty"),
  16. }
  17. files {
  18. path.join(MODULE_DIR, "tools/texturev/**"),
  19. }
  20. links {
  21. "example-common",
  22. "bimg_decode",
  23. "bimg",
  24. "bgfx",
  25. }
  26. using_bx()
  27. if _OPTIONS["with-sdl"] then
  28. defines { "ENTRY_CONFIG_USE_SDL=1" }
  29. links { "SDL2" }
  30. configuration { "x32", "windows" }
  31. libdirs { "$(SDL2_DIR)/lib/x86" }
  32. configuration { "x64", "windows" }
  33. libdirs { "$(SDL2_DIR)/lib/x64" }
  34. configuration {}
  35. end
  36. if _OPTIONS["with-glfw"] then
  37. defines { "ENTRY_CONFIG_USE_GLFW=1" }
  38. links { "glfw3" }
  39. configuration { "osx*" }
  40. linkoptions {
  41. "-framework CoreVideo",
  42. }
  43. configuration {}
  44. end
  45. if _OPTIONS["with-libheif"] then
  46. links {
  47. "heif",
  48. }
  49. configuration {}
  50. end
  51. configuration { "vs*" }
  52. linkoptions {
  53. "/ignore:4199", -- LNK4199: /DELAYLOAD:*.dll ignored; no imports found from *.dll
  54. }
  55. links { -- this is needed only for testing with GLES2/3 on Windows with VS2008
  56. "DelayImp",
  57. }
  58. configuration { "vs201*" }
  59. linkoptions { -- this is needed only for testing with GLES2/3 on Windows with VS201x
  60. "/DELAYLOAD:\"libEGL.dll\"",
  61. "/DELAYLOAD:\"libGLESv2.dll\"",
  62. }
  63. configuration { "mingw-*" }
  64. targetextension ".exe"
  65. configuration { "vs20* or mingw*" }
  66. links {
  67. "comdlg32",
  68. "gdi32",
  69. "psapi",
  70. }
  71. configuration { "winstore*" }
  72. removelinks {
  73. "DelayImp",
  74. "gdi32",
  75. "psapi"
  76. }
  77. links {
  78. "d3d11",
  79. "d3d12",
  80. "dxgi"
  81. }
  82. linkoptions {
  83. "/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
  84. }
  85. -- WinRT targets need their own output directories are build files stomp over each other
  86. targetdir (path.join(BGFX_BUILD_DIR, "arm_" .. _ACTION, "bin", _name))
  87. objdir (path.join(BGFX_BUILD_DIR, "arm_" .. _ACTION, "obj", _name))
  88. configuration { "mingw-clang" }
  89. kind "ConsoleApp"
  90. configuration { "android*" }
  91. kind "ConsoleApp"
  92. targetextension ".so"
  93. linkoptions {
  94. "-shared",
  95. }
  96. links {
  97. "EGL",
  98. "GLESv2",
  99. }
  100. configuration { "wasm*" }
  101. kind "ConsoleApp"
  102. configuration { "linux-* or freebsd" }
  103. links {
  104. "X11",
  105. "GL",
  106. "pthread",
  107. }
  108. configuration { "rpi" }
  109. links {
  110. "X11",
  111. "GLESv2",
  112. "EGL",
  113. "bcm_host",
  114. "vcos",
  115. "vchiq_arm",
  116. "pthread",
  117. }
  118. configuration { "osx*" }
  119. linkoptions {
  120. "-framework Cocoa",
  121. "-framework IOKit",
  122. "-framework Metal",
  123. "-framework OpenGL",
  124. "-framework QuartzCore",
  125. }
  126. configuration { "ios*" }
  127. kind "ConsoleApp"
  128. linkoptions {
  129. "-framework CoreFoundation",
  130. "-framework Foundation",
  131. "-framework IOKit",
  132. "-framework OpenGLES",
  133. "-framework QuartzCore",
  134. "-framework UIKit",
  135. }
  136. configuration { "xcode*", "ios" }
  137. kind "WindowedApp"
  138. configuration { "qnx*" }
  139. targetextension ""
  140. links {
  141. "EGL",
  142. "GLESv2",
  143. }
  144. configuration {}
  145. strip()