Added meson buildfiles
this makes for a far better experience in combination with wlroots,
since that whole makefile mess is not required.
Additionaly, handling of wayland protocol sources is also slightly
better, but could be improved with mesons inbuilt wayland module.
To build Hyprland using meson:
meson _build -Ddefault_library=static
ninja -C _build
ninja -C _build install
This commit is contained in:
parent
354e265128
commit
fd0112425f
13 changed files with 205 additions and 63 deletions
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
#include "../events/Events.hpp"
|
||||
#include "../defines.hpp"
|
||||
#include "../../wlr-layer-shell-unstable-v1-protocol.h"
|
||||
#include "wlr-layer-shell-unstable-v1-protocol.h"
|
||||
#include "../Window.hpp"
|
||||
#include "SubsurfaceTree.hpp"
|
||||
#include "AnimatedVariable.hpp"
|
||||
|
|
@ -205,4 +205,4 @@ struct STabletPad {
|
|||
bool operator==(const STabletPad& b) {
|
||||
return wlrTabletPadV2 == b.wlrTabletPadV2;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
|
|
|||
106
src/includes.hpp
106
src/includes.hpp
|
|
@ -34,60 +34,60 @@
|
|||
#define static
|
||||
|
||||
extern "C" {
|
||||
#include "../wlroots/include/wlr/backend.h"
|
||||
#include "../wlroots/include/wlr/backend/libinput.h"
|
||||
#include "../wlroots/include/wlr/render/allocator.h"
|
||||
#include "../wlroots/include/wlr/render/wlr_renderer.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_compositor.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_cursor.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_data_control_v1.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_data_device.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_export_dmabuf_v1.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_linux_dmabuf_v1.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_gamma_control_v1.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_idle.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_input_device.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_keyboard.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_layer_shell_v1.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_matrix.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_output.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_output_layout.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_output_management_v1.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_pointer.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_presentation_time.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_primary_selection.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_primary_selection_v1.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_screencopy_v1.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_seat.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_server_decoration.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_viewporter.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_virtual_keyboard_v1.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_xcursor_manager.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_xdg_activation_v1.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_xdg_decoration_v1.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_xdg_output_v1.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_xdg_shell.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_subcompositor.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_scene.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_output_damage.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_input_inhibitor.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_keyboard_shortcuts_inhibit_v1.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_virtual_pointer_v1.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_foreign_toplevel_management_v1.h"
|
||||
#include "../wlroots/include/wlr/util/log.h"
|
||||
#include "../wlroots/include/wlr/xwayland.h"
|
||||
#include "../wlroots/include/wlr/util/region.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_tablet_pad.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_tablet_tool.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_tablet_v2.h"
|
||||
#include <wlr/backend.h>
|
||||
#include <wlr/backend/libinput.h>
|
||||
#include <wlr/render/allocator.h>
|
||||
#include <wlr/render/wlr_renderer.h>
|
||||
#include <wlr/types/wlr_compositor.h>
|
||||
#include <wlr/types/wlr_cursor.h>
|
||||
#include <wlr/types/wlr_data_control_v1.h>
|
||||
#include <wlr/types/wlr_data_device.h>
|
||||
#include <wlr/types/wlr_export_dmabuf_v1.h>
|
||||
#include <wlr/types/wlr_linux_dmabuf_v1.h>
|
||||
#include <wlr/types/wlr_gamma_control_v1.h>
|
||||
#include <wlr/types/wlr_idle.h>
|
||||
#include <wlr/types/wlr_input_device.h>
|
||||
#include <wlr/types/wlr_keyboard.h>
|
||||
#include <wlr/types/wlr_layer_shell_v1.h>
|
||||
#include <wlr/types/wlr_matrix.h>
|
||||
#include <wlr/types/wlr_output.h>
|
||||
#include <wlr/types/wlr_output_layout.h>
|
||||
#include <wlr/types/wlr_output_management_v1.h>
|
||||
#include <wlr/types/wlr_pointer.h>
|
||||
#include <wlr/types/wlr_presentation_time.h>
|
||||
#include <wlr/types/wlr_primary_selection.h>
|
||||
#include <wlr/types/wlr_primary_selection_v1.h>
|
||||
#include <wlr/types/wlr_screencopy_v1.h>
|
||||
#include <wlr/types/wlr_seat.h>
|
||||
#include <wlr/types/wlr_server_decoration.h>
|
||||
#include <wlr/types/wlr_viewporter.h>
|
||||
#include <wlr/types/wlr_virtual_keyboard_v1.h>
|
||||
#include <wlr/types/wlr_xcursor_manager.h>
|
||||
#include <wlr/types/wlr_xdg_activation_v1.h>
|
||||
#include <wlr/types/wlr_xdg_decoration_v1.h>
|
||||
#include <wlr/types/wlr_xdg_output_v1.h>
|
||||
#include <wlr/types/wlr_xdg_shell.h>
|
||||
#include <wlr/types/wlr_subcompositor.h>
|
||||
#include <wlr/types/wlr_scene.h>
|
||||
#include <wlr/types/wlr_output_damage.h>
|
||||
#include <wlr/types/wlr_input_inhibitor.h>
|
||||
#include <wlr/types/wlr_keyboard_shortcuts_inhibit_v1.h>
|
||||
#include <wlr/types/wlr_virtual_pointer_v1.h>
|
||||
#include <wlr/types/wlr_foreign_toplevel_management_v1.h>
|
||||
#include <wlr/util/log.h>
|
||||
#include <wlr/xwayland.h>
|
||||
#include <wlr/util/region.h>
|
||||
#include <wlr/types/wlr_tablet_pad.h>
|
||||
#include <wlr/types/wlr_tablet_tool.h>
|
||||
#include <wlr/types/wlr_tablet_v2.h>
|
||||
#include <xkbcommon/xkbcommon.h>
|
||||
#include <X11/Xproto.h>
|
||||
#include "../wlroots/include/wlr/render/egl.h"
|
||||
#include "../wlroots/include/wlr/render/gles2.h"
|
||||
#include "../wlroots/include/wlr/render/wlr_texture.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_pointer_constraints_v1.h"
|
||||
#include "../wlroots/include/wlr/types/wlr_relative_pointer_v1.h"
|
||||
#include "../wlroots/include/wlr/interfaces/wlr_keyboard.h"
|
||||
#include <wlr/render/egl.h>
|
||||
#include <wlr/render/gles2.h>
|
||||
#include <wlr/render/wlr_texture.h>
|
||||
#include <wlr/types/wlr_pointer_constraints_v1.h>
|
||||
#include <wlr/types/wlr_relative_pointer_v1.h>
|
||||
#include <wlr/interfaces/wlr_keyboard.h>
|
||||
}
|
||||
|
||||
#undef class
|
||||
|
|
@ -113,4 +113,4 @@ extern "C" {
|
|||
|
||||
#include "helpers/Vector2D.hpp"
|
||||
|
||||
#include "../ext-workspace-unstable-v1-protocol.h"
|
||||
#include "ext-workspace-unstable-v1-protocol.h"
|
||||
|
|
|
|||
77
src/meson.build
Normal file
77
src/meson.build
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
src = [
|
||||
'config/ConfigManager.cpp',
|
||||
'debug/HyprCtl.cpp',
|
||||
'debug/HyprDebugOverlay.cpp',
|
||||
'debug/Log.cpp',
|
||||
'events/Devices.cpp',
|
||||
'events/Layers.cpp',
|
||||
'events/Misc.cpp',
|
||||
'events/Monitors.cpp',
|
||||
'events/Popups.cpp',
|
||||
'events/Windows.cpp',
|
||||
'helpers/Color.cpp',
|
||||
'helpers/Vector2D.cpp',
|
||||
'helpers/WLListener.cpp',
|
||||
'helpers/AnimatedVariable.cpp',
|
||||
'helpers/BezierCurve.cpp',
|
||||
'helpers/MiscFunctions.cpp',
|
||||
'helpers/SubsurfaceTree.cpp',
|
||||
'helpers/WLClasses.cpp',
|
||||
'helpers/Workspace.cpp',
|
||||
'hyprerror/HyprError.cpp',
|
||||
'layout/DwindleLayout.cpp',
|
||||
'managers/LayoutManager.cpp',
|
||||
'managers/ThreadManager.cpp',
|
||||
'managers/AnimationManager.cpp',
|
||||
'managers/EventManager.cpp',
|
||||
'managers/KeybindManager.cpp',
|
||||
'managers/XWaylandManager.cpp',
|
||||
'managers/input/InputManager.cpp',
|
||||
'managers/input/Tablets.cpp',
|
||||
'render/Shader.cpp',
|
||||
'render/Texture.cpp',
|
||||
'render/Framebuffer.cpp',
|
||||
'render/OpenGL.cpp',
|
||||
'render/Renderer.cpp',
|
||||
'render/decorations/CHyprGroupBarDecoration.cpp',
|
||||
'render/decorations/IHyprWindowDecoration.cpp',
|
||||
'wlrunstable/wlr_ext_workspace_v1.cpp',
|
||||
'Compositor.cpp',
|
||||
'Window.cpp',
|
||||
'init/initHelpers.cpp',
|
||||
'main.cpp'
|
||||
]
|
||||
|
||||
wlroots = subproject('wlroots', default_options: ['examples=false'])
|
||||
have_xwlr = wlroots.get_variable('features').get('xwayland')
|
||||
xcb_dep = dependency('xcb', required: get_option('xwayland'))
|
||||
|
||||
if get_option('xwayland').enabled() and not have_xwlr
|
||||
error('Cannot enable Xwayland in Hyperland: wlroots has been built without Xwayland support')
|
||||
endif
|
||||
have_xwayland = xcb_dep.found() and have_xwlr
|
||||
|
||||
if not have_xwayland
|
||||
add_project_arguments('-DNO_XWAYLAND', language: 'cpp')
|
||||
endif
|
||||
|
||||
executable('Hyprland', src,
|
||||
cpp_args: ['-DWLR_USE_UNSTABLE'],
|
||||
dependencies: [
|
||||
server_protos,
|
||||
wlroots.get_variable('wlroots'),
|
||||
dependency('cairo'),
|
||||
dependency('pango'),
|
||||
dependency('pangocairo'),
|
||||
dependency('libdrm'),
|
||||
dependency('egl'),
|
||||
dependency('xkbcommon'),
|
||||
dependency('libinput'),
|
||||
xcb_dep,
|
||||
|
||||
dependency('pixman-1'),
|
||||
dependency('GL'),
|
||||
dependency('threads')
|
||||
],
|
||||
install : true
|
||||
)
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
#include "../includes.hpp"
|
||||
#include "../helpers/MiscFunctions.hpp"
|
||||
#include "../../ext-workspace-unstable-v1-protocol.h"
|
||||
#include "ext-workspace-unstable-v1-protocol.h"
|
||||
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue