mirror of
https://github.com/ocornut/imgui.git
synced 2026-05-15 17:54:54 +00:00
Examples: WebGPU+GLFW/SDL2/SDL3: wire up the IMGUI_WGVK_DIR path. (#9387)
The block was a stub - find Vulkan, detect Wayland/X11, set the SUPPORT_*_SURFACE defines that wgvk.c needs.
This commit is contained in:
@@ -146,6 +146,28 @@ else() # Native/Desktop build
|
||||
endif()
|
||||
|
||||
if(IMGUI_WGVK_DIR)
|
||||
find_package(Vulkan REQUIRED)
|
||||
set(WGVK_PLATFORM_LIBS)
|
||||
set(WGVK_PLATFORM_DEFS)
|
||||
if(WIN32)
|
||||
list(APPEND WGVK_PLATFORM_DEFS SUPPORT_WIN32_SURFACE=1)
|
||||
elseif(APPLE)
|
||||
list(APPEND WGVK_PLATFORM_DEFS SUPPORT_METAL_SURFACE=1)
|
||||
elseif(UNIX)
|
||||
find_package(PkgConfig QUIET)
|
||||
pkg_check_modules(WAYLAND_CLIENT QUIET wayland-client)
|
||||
if(WAYLAND_CLIENT_FOUND)
|
||||
list(APPEND WGVK_PLATFORM_DEFS SUPPORT_WAYLAND_SURFACE=1)
|
||||
list(APPEND WGVK_PLATFORM_LIBS ${WAYLAND_CLIENT_LIBRARIES})
|
||||
endif()
|
||||
find_package(X11 QUIET)
|
||||
if(X11_FOUND)
|
||||
list(APPEND WGVK_PLATFORM_DEFS SUPPORT_XLIB_SURFACE=1)
|
||||
list(APPEND WGVK_PLATFORM_LIBS X11::X11)
|
||||
endif()
|
||||
list(APPEND WGVK_PLATFORM_LIBS m dl pthread)
|
||||
endif()
|
||||
set(LIBRARIES glfw Vulkan::Vulkan ${WGVK_PLATFORM_LIBS})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -187,6 +209,7 @@ if(NOT EMSCRIPTEN) # WegGPU-Native settings
|
||||
if(IMGUI_WGVK_DIR)
|
||||
target_sources(${IMGUI_EXECUTABLE} PRIVATE ${IMGUI_WGVK_DIR}/src/wgvk.c)
|
||||
target_compile_definitions(${IMGUI_EXECUTABLE} PUBLIC "IMGUI_IMPL_WEBGPU_BACKEND_WGVK")
|
||||
target_compile_definitions(${IMGUI_EXECUTABLE} PRIVATE ${WGVK_PLATFORM_DEFS})
|
||||
target_include_directories(${IMGUI_EXECUTABLE} PUBLIC ${IMGUI_WGVK_DIR}/include)
|
||||
if (MSVC)
|
||||
target_compile_options(${IMGUI_EXECUTABLE} PUBLIC /std:clatest /experimental:c11atomics)
|
||||
|
||||
@@ -141,6 +141,28 @@ else() # Native/Desktop build
|
||||
endif()
|
||||
|
||||
if(IMGUI_WGVK_DIR)
|
||||
find_package(Vulkan REQUIRED)
|
||||
set(WGVK_PLATFORM_LIBS)
|
||||
set(WGVK_PLATFORM_DEFS)
|
||||
if(WIN32)
|
||||
list(APPEND WGVK_PLATFORM_DEFS SUPPORT_WIN32_SURFACE=1)
|
||||
elseif(APPLE)
|
||||
list(APPEND WGVK_PLATFORM_DEFS SUPPORT_METAL_SURFACE=1)
|
||||
elseif(UNIX)
|
||||
find_package(PkgConfig QUIET)
|
||||
pkg_check_modules(WAYLAND_CLIENT QUIET wayland-client)
|
||||
if(WAYLAND_CLIENT_FOUND)
|
||||
list(APPEND WGVK_PLATFORM_DEFS SUPPORT_WAYLAND_SURFACE=1)
|
||||
list(APPEND WGVK_PLATFORM_LIBS ${WAYLAND_CLIENT_LIBRARIES})
|
||||
endif()
|
||||
find_package(X11 QUIET)
|
||||
if(X11_FOUND)
|
||||
list(APPEND WGVK_PLATFORM_DEFS SUPPORT_XLIB_SURFACE=1)
|
||||
list(APPEND WGVK_PLATFORM_LIBS X11::X11)
|
||||
endif()
|
||||
list(APPEND WGVK_PLATFORM_LIBS m dl pthread)
|
||||
endif()
|
||||
set(LIBRARIES glfw Vulkan::Vulkan ${WGVK_PLATFORM_LIBS})
|
||||
endif()
|
||||
|
||||
endif()
|
||||
@@ -183,6 +205,7 @@ if(NOT EMSCRIPTEN) # WegGPU-Native settings
|
||||
if(IMGUI_WGVK_DIR)
|
||||
target_sources(${IMGUI_EXECUTABLE} PRIVATE ${IMGUI_WGVK_DIR}/src/wgvk.c)
|
||||
target_compile_definitions(${IMGUI_EXECUTABLE} PUBLIC "IMGUI_IMPL_WEBGPU_BACKEND_WGVK")
|
||||
target_compile_definitions(${IMGUI_EXECUTABLE} PRIVATE ${WGVK_PLATFORM_DEFS})
|
||||
target_include_directories(${IMGUI_EXECUTABLE} PUBLIC ${IMGUI_WGVK_DIR}/include)
|
||||
if (MSVC)
|
||||
target_compile_options(${IMGUI_EXECUTABLE} PUBLIC /std:clatest /experimental:c11atomics)
|
||||
|
||||
@@ -141,6 +141,28 @@ else() # Native/Desktop build
|
||||
endif()
|
||||
|
||||
if(IMGUI_WGVK_DIR)
|
||||
find_package(Vulkan REQUIRED)
|
||||
set(WGVK_PLATFORM_LIBS)
|
||||
set(WGVK_PLATFORM_DEFS)
|
||||
if(WIN32)
|
||||
list(APPEND WGVK_PLATFORM_DEFS SUPPORT_WIN32_SURFACE=1)
|
||||
elseif(APPLE)
|
||||
list(APPEND WGVK_PLATFORM_DEFS SUPPORT_METAL_SURFACE=1)
|
||||
elseif(UNIX)
|
||||
find_package(PkgConfig QUIET)
|
||||
pkg_check_modules(WAYLAND_CLIENT QUIET wayland-client)
|
||||
if(WAYLAND_CLIENT_FOUND)
|
||||
list(APPEND WGVK_PLATFORM_DEFS SUPPORT_WAYLAND_SURFACE=1)
|
||||
list(APPEND WGVK_PLATFORM_LIBS ${WAYLAND_CLIENT_LIBRARIES})
|
||||
endif()
|
||||
find_package(X11 QUIET)
|
||||
if(X11_FOUND)
|
||||
list(APPEND WGVK_PLATFORM_DEFS SUPPORT_XLIB_SURFACE=1)
|
||||
list(APPEND WGVK_PLATFORM_LIBS X11::X11)
|
||||
endif()
|
||||
list(APPEND WGVK_PLATFORM_LIBS m dl pthread)
|
||||
endif()
|
||||
set(LIBRARIES glfw Vulkan::Vulkan ${WGVK_PLATFORM_LIBS})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -182,6 +204,7 @@ if(NOT EMSCRIPTEN) # WegGPU-Native settings
|
||||
if(IMGUI_WGVK_DIR)
|
||||
target_sources(${IMGUI_EXECUTABLE} PRIVATE ${IMGUI_WGVK_DIR}/src/wgvk.c)
|
||||
target_compile_definitions(${IMGUI_EXECUTABLE} PUBLIC "IMGUI_IMPL_WEBGPU_BACKEND_WGVK")
|
||||
target_compile_definitions(${IMGUI_EXECUTABLE} PRIVATE ${WGVK_PLATFORM_DEFS})
|
||||
target_include_directories(${IMGUI_EXECUTABLE} PUBLIC ${IMGUI_WGVK_DIR}/include)
|
||||
if (MSVC)
|
||||
target_compile_options(${IMGUI_EXECUTABLE} PUBLIC /std:clatest /experimental:c11atomics)
|
||||
|
||||
Reference in New Issue
Block a user