mirror of
https://github.com/wolfpld/tracy
synced 2025-04-30 04:43:53 +00:00
Add Wayland build option
This commit is contained in:
parent
a9a09ab094
commit
a4f83c55a6
@ -3,6 +3,15 @@ CXXFLAGS := $(CFLAGS) -std=c++17
|
|||||||
DEFINES += -DIMGUI_IMPL_OPENGL_LOADER_GL3W
|
DEFINES += -DIMGUI_IMPL_OPENGL_LOADER_GL3W
|
||||||
INCLUDES := $(shell pkg-config --cflags glfw3 freetype2 capstone) -I../../../imgui -I../../libs/gl3w
|
INCLUDES := $(shell pkg-config --cflags glfw3 freetype2 capstone) -I../../../imgui -I../../libs/gl3w
|
||||||
LIBS := $(shell pkg-config --libs glfw3 freetype2 capstone) -lpthread -ldl
|
LIBS := $(shell pkg-config --libs glfw3 freetype2 capstone) -lpthread -ldl
|
||||||
|
|
||||||
|
DISPLAY_SERVER := X11
|
||||||
|
libwayland_client := $(shell pkg-config --libs --silence-errors wayland-client)
|
||||||
|
ifeq ($(.SHELLSTATUS),0)
|
||||||
|
DISPLAY_SERVER := WAYLAND
|
||||||
|
LIBS += $(libwayland_client)
|
||||||
|
endif
|
||||||
|
CXXFLAGS += -D"DISPLAY_SERVER_$(DISPLAY_SERVER)"
|
||||||
|
|
||||||
PROJECT := Tracy
|
PROJECT := Tracy
|
||||||
IMAGE := $(PROJECT)-$(BUILD)
|
IMAGE := $(PROJECT)-$(BUILD)
|
||||||
|
|
||||||
|
@ -6,7 +6,13 @@
|
|||||||
# define GLFW_EXPOSE_NATIVE_WIN32
|
# define GLFW_EXPOSE_NATIVE_WIN32
|
||||||
# include <GLFW/glfw3native.h>
|
# include <GLFW/glfw3native.h>
|
||||||
#elif defined __linux__
|
#elif defined __linux__
|
||||||
# define GLFW_EXPOSE_NATIVE_X11
|
# ifdef DISPLAY_SERVER_X11
|
||||||
|
# define GLFW_EXPOSE_NATIVE_X11
|
||||||
|
# elif defined DISPLAY_SERVER_WAYLAND
|
||||||
|
# define GLFW_EXPOSE_NATIVE_WAYLAND
|
||||||
|
# else
|
||||||
|
# error "unsupported linux display server"
|
||||||
|
# endif
|
||||||
# include <GLFW/glfw3native.h>
|
# include <GLFW/glfw3native.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -17,7 +23,11 @@ void* GetMainWindowNative()
|
|||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
return (void*)glfwGetWin32Window( s_glfwWindow );
|
return (void*)glfwGetWin32Window( s_glfwWindow );
|
||||||
#elif defined __linux__
|
#elif defined __linux__
|
||||||
|
# ifdef DISPLAY_SERVER_X11
|
||||||
return (void*)glfwGetX11Window( s_glfwWindow );
|
return (void*)glfwGetX11Window( s_glfwWindow );
|
||||||
|
# elif defined DISPLAY_SERVER_WAYLAND
|
||||||
|
return (void*)glfwGetWaylandWindow( s_glfwWindow );
|
||||||
|
# endif
|
||||||
#else
|
#else
|
||||||
return nullptr;
|
return nullptr;
|
||||||
#endif
|
#endif
|
||||||
|
@ -244,7 +244,9 @@ int main( int argc, char** argv )
|
|||||||
// Setup window
|
// Setup window
|
||||||
glfwSetErrorCallback(glfw_error_callback);
|
glfwSetErrorCallback(glfw_error_callback);
|
||||||
if( !glfwInit() ) return 1;
|
if( !glfwInit() ) return 1;
|
||||||
|
#ifndef DISPLAY_SERVER_WAYLAND
|
||||||
glfwWindowHint(GLFW_VISIBLE, 0);
|
glfwWindowHint(GLFW_VISIBLE, 0);
|
||||||
|
#endif
|
||||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
|
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
|
||||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
|
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
|
||||||
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
|
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user