blob: e9ed905c4e9aa936b5ce887639574c6e955fd51f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
find_package(GSettings)
###########################
# Indicator service
###########################
set(
INDICATOR_DIR
"${CMAKE_INSTALL_FULL_DATADIR}/ayatana/indicators"
CACHE FILEPATH "Ayatana Indicators Directory"
)
install(
FILES "org.ayatana.indicator.sound"
DESTINATION "${INDICATOR_DIR}"
)
###########################
# Systemd Job
###########################
pkg_check_modules(SYSTEMD systemd)
if (${SYSTEMD_FOUND})
# where to install
pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)
message (STATUS "${SYSTEMD_USER_DIR} is the systemd user unit file install dir")
set (SYSTEMD_USER_NAME "${CMAKE_PROJECT_NAME}.service")
set (SYSTEMD_USER_FILE "${CMAKE_CURRENT_BINARY_DIR}/${SYSTEMD_USER_NAME}")
set (SYSTEMD_USER_FILE_IN "${CMAKE_CURRENT_SOURCE_DIR}/${SYSTEMD_USER_NAME}.in")
# build it
set (pkglibexecdir "${CMAKE_INSTALL_FULL_PKGLIBEXECDIR}")
configure_file ("${SYSTEMD_USER_FILE_IN}" "${SYSTEMD_USER_FILE}")
# install it
install (FILES "${SYSTEMD_USER_FILE}"
DESTINATION "${SYSTEMD_USER_DIR}")
endif()
###########################
# XDG Autostart
###########################
set(
INDICATOR_SOUND_XDG_AUTOSTART
"${CMAKE_CURRENT_BINARY_DIR}/ayatana-indicator-sound.desktop"
)
configure_file(
"ayatana-indicator-sound.desktop.in"
${INDICATOR_SOUND_XDG_AUTOSTART}
@ONLY
)
install(
FILES "${INDICATOR_SOUND_XDG_AUTOSTART}"
DESTINATION "/etc/xdg/autostart"
)
###########################
# GSettings
###########################
add_schema ("org.ayatana.indicator.sound.gschema.xml")
if(NOT EXISTS /usr/share/glib-2.0/schemas/com.ubuntu.sound.gschema.xml)
add_schema ("org.ayatana.sound.gschema.xml")
endif()
#########################################
# Accounts Service Iface: Sound Indicator
#########################################
set(POLKIT_LIB_DIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/lib/polkit-1")
set(POLKIT_DATA_DIR "${CMAKE_INSTALL_FULL_DATADIR}/polkit-1")
set(DBUS_IFACE_DIR "${CMAKE_INSTALL_FULL_DATADIR}/dbus-1/interfaces")
set(ACCOUNTS_IFACE_DIR "${CMAKE_INSTALL_FULL_DATADIR}/accountsservice/interfaces")
install(FILES org.ayatana.indicator.sound.AccountsService.xml
DESTINATION "${DBUS_IFACE_DIR}"
)
# Create accountsservice symlink for above dbus interface
install(CODE "
execute_process(COMMAND mkdir -p \"\$ENV{DESTDIR}${ACCOUNTS_IFACE_DIR}\")
execute_process(COMMAND ln -sf ../../dbus-1/interfaces/org.ayatana.indicator.sound.AccountsService.xml \"\$ENV{DESTDIR}${ACCOUNTS_IFACE_DIR}\")
")
install(FILES org.ayatana.indicator.sound.AccountsService.policy
DESTINATION "${POLKIT_DATA_DIR}/actions"
)
install(FILES 50-org.ayatana.indicator.sound.AccountsService.pkla
DESTINATION "${POLKIT_LIB_DIR}/localauthority/10-vendor.d"
)
#######################################
# Accounts Service Iface: Greeter Sound
#######################################
if(EXISTS "/usr/share/accountsservice/interfaces/com.ubuntu.AccountsService.Sound.xml")
# Nothing to do here...
# Using files from Ubuntu specific package 'accountsservice-ubuntu-schemas'.
else()
install(FILES org.ayatana.AccountsService.Sound.xml
DESTINATION "${DBUS_IFACE_DIR}"
)
# Create accountsservice symlink for above dbus interface
install(CODE "
execute_process(COMMAND mkdir -p \"\$ENV{DESTDIR}${ACCOUNTS_IFACE_DIR}\")
execute_process(COMMAND ln -sf ../../dbus-1/interfaces/org.ayatana.AccountsService.Sound.xml \"\$ENV{DESTDIR}${ACCOUNTS_IFACE_DIR}\")
")
install(FILES org.ayatana.AccountsService.Sound.policy
DESTINATION "${POLKIT_DATA_DIR}/actions"
)
install(FILES 50-org.ayatana.AccountsService.Sound.pkla
DESTINATION "${POLKIT_LIB_DIR}/localauthority/10-vendor.d"
)
endif()
|