Переглянути джерело

imgui: add defines for wgpu backend (#7712)

* Add defines depending on platform

* Update xmake.lua

* wgpu: add defines for backend

* wgpu: Use defines only if wgpu is defined

* wgpu: fix unwanted equal sign

* imgui: make wgpu_backend options lowercase

* remove unused `local user_config`

---------

Co-authored-by: Saikari <[email protected]>
Miouzora 2 тижнів тому
батько
коміт
432b928fe6
2 змінених файлів з 9 додано та 0 видалено
  1. 5 0
      packages/i/imgui/port/xmake.lua
  2. 4 0
      packages/i/imgui/xmake.lua

+ 5 - 0
packages/i/imgui/port/xmake.lua

@@ -19,6 +19,7 @@ option("vulkan",           {showmenu = true,  default = false})
 option("win32",            {showmenu = true,  default = false})
 option("osx",              {showmenu = true,  default = false})
 option("wgpu",             {showmenu = true,  default = false})
+option("wgpu_backend",     {showmenu = true,  default = "wgpu", type = "string", values = {"wgpu", "dawn"}})
 option("freetype",         {showmenu = true,  default = false})
 option("user_config",      {showmenu = true,  default = nil, type = "string"})
 option("wchar32",          {showmenu = true,  default = false})
@@ -165,6 +166,10 @@ target("imgui")
         add_files("backends/imgui_impl_wgpu.cpp")
         add_headerfiles("(backends/imgui_impl_wgpu.h)")
         add_packages("wgpu-native")
+
+        if has_config("wgpu_backend") then
+            add_defines("IMGUI_IMPL_WEBGPU_BACKEND_" .. string.upper(get_config("wgpu_backend")))
+        end
     end
 
     if has_config("freetype") then

+ 4 - 0
packages/i/imgui/xmake.lua

@@ -107,6 +107,7 @@ package("imgui")
     add_configs("win32",            {description = "Enable the win32 backend", default = false, type = "boolean"})
     add_configs("osx",              {description = "Enable the OS X backend", default = false, type = "boolean"})
     add_configs("wgpu",             {description = "Enable the wgpu backend", default = false, type = "boolean"})
+    add_configs("wgpu_backend",     {description = "Use specific wgpu backend", default = "wgpu", type = "string", values = {"wgpu", "dawn"}})
     add_configs("freetype",         {description = "Use FreeType to build and rasterize the font atlas", default = false, type = "boolean"})
     add_configs("user_config",      {description = "Use user config (disables test!)", default = nil, type = "string"})
     add_configs("wchar32",          {description = "Use 32-bit for ImWchar (default is 16-bit)", default = false, type = "boolean"})
@@ -167,6 +168,9 @@ package("imgui")
         end
         if package:config("wgpu") then
             package:add("deps", "wgpu-native")
+            if package:config("wgpu_backend") then
+                package:add("defines", "IMGUI_IMPL_WEBGPU_BACKEND_" .. string.upper(package:config("wgpu_backend")))
+            end
         end
         if package:config("freetype") then
             package:add("deps", "freetype")