mirror of
https://github.com/hyprwm/Hyprland.git
synced 2024-10-29 21:41:37 +00:00
Build with hyprland-session.service (#8251)
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
This commit is contained in:
parent
c356e42500
commit
f3f7d3629a
@ -15,7 +15,9 @@ include(GNUInstallDirs)
|
|||||||
set(HYPRLAND_VERSION ${VER})
|
set(HYPRLAND_VERSION ${VER})
|
||||||
set(PREFIX ${CMAKE_INSTALL_PREFIX})
|
set(PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||||
set(INCLUDEDIR ${CMAKE_INSTALL_INCLUDEDIR})
|
set(INCLUDEDIR ${CMAKE_INSTALL_INCLUDEDIR})
|
||||||
|
set(BINDIR ${CMAKE_INSTALL_BINDIR})
|
||||||
configure_file(hyprland.pc.in hyprland.pc @ONLY)
|
configure_file(hyprland.pc.in hyprland.pc @ONLY)
|
||||||
|
configure_file(systemd/hyprland-session.service.in systemd/hyprland-session.service @ONLY)
|
||||||
|
|
||||||
set(CMAKE_MESSAGE_LOG_LEVEL "STATUS")
|
set(CMAKE_MESSAGE_LOG_LEVEL "STATUS")
|
||||||
|
|
||||||
@ -357,6 +359,11 @@ install(
|
|||||||
install(FILES ${CMAKE_SOURCE_DIR}/example/hyprland.desktop
|
install(FILES ${CMAKE_SOURCE_DIR}/example/hyprland.desktop
|
||||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/wayland-sessions)
|
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/wayland-sessions)
|
||||||
|
|
||||||
|
|
||||||
|
# session file -systemd
|
||||||
|
install(FILES ${CMAKE_SOURCE_DIR}/systemd/hyprland-systemd.desktop
|
||||||
|
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/wayland-sessions)
|
||||||
|
|
||||||
# allow Hyprland to find assets
|
# allow Hyprland to find assets
|
||||||
add_compile_definitions(DATAROOTDIR="${CMAKE_INSTALL_FULL_DATAROOTDIR}")
|
add_compile_definitions(DATAROOTDIR="${CMAKE_INSTALL_FULL_DATAROOTDIR}")
|
||||||
|
|
||||||
@ -397,3 +404,6 @@ install(
|
|||||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hyprland
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hyprland
|
||||||
FILES_MATCHING
|
FILES_MATCHING
|
||||||
PATTERN "*.h*")
|
PATTERN "*.h*")
|
||||||
|
|
||||||
|
#install systemd service
|
||||||
|
install(FILES ${CMAKE_BINARY_DIR}/systemd/hyprland-session.service DESTINATION ${CMAKE_INSTALL_LIBDIR}/systemd/user)
|
||||||
|
@ -80,6 +80,8 @@ if get_option('tracy_enable') and get_option('buildtype') != 'debugoptimized'
|
|||||||
warning('Profiling builds should set -- buildtype = debugoptimized')
|
warning('Profiling builds should set -- buildtype = debugoptimized')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
subdir('protocols')
|
subdir('protocols')
|
||||||
subdir('src')
|
subdir('src')
|
||||||
subdir('hyprctl')
|
subdir('hyprctl')
|
||||||
@ -87,6 +89,7 @@ subdir('hyprpm/src')
|
|||||||
subdir('assets')
|
subdir('assets')
|
||||||
subdir('example')
|
subdir('example')
|
||||||
subdir('docs')
|
subdir('docs')
|
||||||
|
subdir('systemd')
|
||||||
|
|
||||||
# Generate hyprland.pc
|
# Generate hyprland.pc
|
||||||
pkg_install_dir = join_paths(get_option('datadir'), 'pkgconfig')
|
pkg_install_dir = join_paths(get_option('datadir'), 'pkgconfig')
|
||||||
|
@ -9,8 +9,8 @@ After=graphical-session-pre.target
|
|||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=notify
|
Type=notify
|
||||||
ExecStart=/usr/bin/Hyprland
|
ExecStart=@PREFIX@/@BINDIR@/Hyprland
|
||||||
ExecStop=/usr/bin/hyprctl dispatch exit
|
ExecStop=@PREFIX@/@BINDIR@/hyprctl dispatch exit
|
||||||
ExecStopPost=/usr/bin/systemctl --user unset-environment DISPLAY WAYLAND_DISPLAY HYPRLAND_INSTANCE_SIGNATURE XDG_CURRENT_DESKTOP
|
ExecStopPost=systemctl --user unset-environment DISPLAY WAYLAND_DISPLAY HYPRLAND_INSTANCE_SIGNATURE XDG_CURRENT_DESKTOP
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
Slice=session.slice
|
Slice=session.slice
|
15
systemd/meson.build
Normal file
15
systemd/meson.build
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
install_data(
|
||||||
|
'hyprland-systemd.desktop',
|
||||||
|
install_dir: join_paths(get_option('datadir'), 'wayland-sessions'),
|
||||||
|
install_tag: 'runtime',
|
||||||
|
)
|
||||||
|
|
||||||
|
conf_data = configuration_data()
|
||||||
|
conf_data.set('PREFIX', get_option('prefix'))
|
||||||
|
conf_data.set('BINDIR', get_option('bindir'))
|
||||||
|
|
||||||
|
configure_file(
|
||||||
|
configuration: conf_data,
|
||||||
|
input: 'hyprland-session.service.in',
|
||||||
|
output: '@BASENAME@',
|
||||||
|
install_dir: join_paths(get_option('libdir'), 'systemd/user') )
|
Loading…
Reference in New Issue
Block a user