mirror of
https://github.com/wolfpld/tracy.git
synced 2026-06-08 00:23:47 +00:00
Wayland woes...
This commit is contained in:
@@ -57,6 +57,8 @@ endif()
|
||||
# ---------------------------------------------------------------------------
|
||||
# Platform-specific source and link settings
|
||||
# ---------------------------------------------------------------------------
|
||||
set(PLATFORM_GENERATED_INCLUDES "")
|
||||
|
||||
if(APPLE)
|
||||
set(PLATFORM_SOURCES platform/platform_macos.mm)
|
||||
set(PLATFORM_LIBS
|
||||
@@ -74,12 +76,38 @@ elseif(WIN32)
|
||||
set(PLATFORM_SOURCES platform/platform_windows.cpp)
|
||||
set(PLATFORM_LIBS user32 gdi32)
|
||||
else()
|
||||
# Linux / Wayland — also needs the generated xdg-shell protocol glue.
|
||||
# Linux / Wayland — generate xdg-shell protocol glue via wayland-scanner.
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(WAYLAND_PROTOCOLS REQUIRED wayland-protocols)
|
||||
pkg_get_variable(WAYLAND_PROTOCOLS_DIR wayland-protocols pkgdatadir)
|
||||
find_program(WAYLAND_SCANNER wayland-scanner REQUIRED)
|
||||
|
||||
set(XDG_SHELL_XML "${WAYLAND_PROTOCOLS_DIR}/stable/xdg-shell/xdg-shell.xml")
|
||||
set(XDG_SHELL_H "${CMAKE_CURRENT_BINARY_DIR}/xdg-shell-client-protocol.h")
|
||||
set(XDG_SHELL_C "${CMAKE_CURRENT_BINARY_DIR}/xdg-shell-protocol.c")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT "${XDG_SHELL_H}"
|
||||
COMMAND "${WAYLAND_SCANNER}" client-header "${XDG_SHELL_XML}" "${XDG_SHELL_H}"
|
||||
DEPENDS "${XDG_SHELL_XML}"
|
||||
COMMENT "Generating xdg-shell-client-protocol.h"
|
||||
VERBATIM
|
||||
)
|
||||
add_custom_command(
|
||||
OUTPUT "${XDG_SHELL_C}"
|
||||
COMMAND "${WAYLAND_SCANNER}" private-code "${XDG_SHELL_XML}" "${XDG_SHELL_C}"
|
||||
DEPENDS "${XDG_SHELL_XML}"
|
||||
COMMENT "Generating xdg-shell-protocol.c"
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
set(PLATFORM_SOURCES
|
||||
platform/platform_wayland.cpp
|
||||
platform/xdg-shell-protocol.c
|
||||
"${XDG_SHELL_C}"
|
||||
"${XDG_SHELL_H}"
|
||||
)
|
||||
set(PLATFORM_LIBS wayland-client)
|
||||
set(PLATFORM_GENERATED_INCLUDES "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
endif()
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -112,6 +140,7 @@ endif()
|
||||
target_include_directories(spinning_triangle PRIVATE
|
||||
"${WGPU_PATH}/include"
|
||||
"${TRACY_DIR}/public"
|
||||
${PLATFORM_GENERATED_INCLUDES}
|
||||
)
|
||||
|
||||
target_link_directories(spinning_triangle PRIVATE "${WGPU_PATH}/lib")
|
||||
|
||||
Reference in New Issue
Block a user