aboutsummaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
blob: a28147d8ba4d3f151b71306e2fd4e9e25ca5fb21 (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

###########################
# Vala Generation
###########################

set(HEADER_PATH "${CMAKE_CURRENT_BINARY_DIR}/indicator-sound-service.h")
set(SYMBOLS_PATH "${CMAKE_CURRENT_BINARY_DIR}/indicator-sound-service.def")

vala_init(indicator-sound-service
  PACKAGES
    config
    gio-2.0
    gio-unix-2.0
    libxml-2.0
    libpulse
    libpulse-mainloop-glib
  OPTIONS
    --ccode
    --thread
    --vapidir=${CMAKE_SOURCE_DIR}/vapi/
    --vapidir=.
    --target-glib=2.36
    --pkg=bus-watcher
)

vala_add(indicator-sound-service
  service.vala
  DEPENDS
    sound-menu
    volume-control
    media-player
    media-player-list
)
vala_add(indicator-sound-service
  main.vala
  DEPENDS
    service
)
vala_add(indicator-sound-service
  volume-control.vala
)
vala_add(indicator-sound-service
  media-player.vala
  DEPENDS
    mpris2-interfaces
)
vala_add(indicator-sound-service
  media-player-list.vala
  DEPENDS
    media-player
    mpris2-interfaces
)
vala_add(indicator-sound-service
  mpris2-interfaces.vala
)
vala_add(indicator-sound-service
  freedesktop-interfaces.vala
)
vala_add(indicator-sound-service
  sound-menu.vala
  DEPENDS
    media-player
)

vala_finish(indicator-sound-service
  SOURCES
    project_VALA_SOURCES
  OUTPUTS
    project_VALA_C
  GENERATE_HEADER
    ${HEADER_PATH}
  GENERATE_SYMBOLS
    ${SYMBOLS_PATH}
)

set_source_files_properties(
  ${project_VALA_SOURCES}
  PROPERTIES
  HEADER_FILE_ONLY TRUE
)

set(
  INDICATOR_SOUND_SOURCES
  ${project_VALA_SOURCES}
  ${project_VALA_C}
  bus-watch-namespace.c
  ${SYMBOLS_PATH}
)

###########################
# Executable
###########################

add_definitions(
  -w
)

add_executable(
  indicator-sound-service-bin
  ${INDICATOR_SOUND_SOURCES}
)

set_target_properties(
  indicator-sound-service-bin
  PROPERTIES
  OUTPUT_NAME "indicator-sound-service"
)

target_link_libraries(
  indicator-sound-service-bin
  ${PULSEAUDIO_LIBRARIES}
  ${SOUNDSERVICE_LIBRARIES}
)

###########################
# Installation
###########################

install(
  TARGETS indicator-sound-service-bin
  RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/indicator-sound/
)