diff --git a/examples/example_glfw_wgpu/CMakeLists.txt b/examples/example_glfw_wgpu/CMakeLists.txt index 53bcda339..95d9fe38a 100644 --- a/examples/example_glfw_wgpu/CMakeLists.txt +++ b/examples/example_glfw_wgpu/CMakeLists.txt @@ -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) diff --git a/examples/example_sdl2_wgpu/CMakeLists.txt b/examples/example_sdl2_wgpu/CMakeLists.txt index 3bed79fd4..aa8a1e575 100644 --- a/examples/example_sdl2_wgpu/CMakeLists.txt +++ b/examples/example_sdl2_wgpu/CMakeLists.txt @@ -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) diff --git a/examples/example_sdl3_wgpu/CMakeLists.txt b/examples/example_sdl3_wgpu/CMakeLists.txt index 85de861e3..7ecf0266d 100644 --- a/examples/example_sdl3_wgpu/CMakeLists.txt +++ b/examples/example_sdl3_wgpu/CMakeLists.txt @@ -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)