Merge lp:~alan-griffiths/mir/optional-mir-egl-examples into lp:mir
- optional-mir-egl-examples
- Merge into development-branch
Status: | Merged |
---|---|
Approved by: | Alan Griffiths |
Approved revision: | no longer in the source branch. |
Merged at revision: | 4295 |
Proposed branch: | lp:~alan-griffiths/mir/optional-mir-egl-examples |
Merge into: | lp:mir |
Diff against target: |
347 lines (+105/-180) 3 files modified
CMakeLists.txt (+10/-0) examples/CMakeLists.txt (+93/-180) src/utils/CMakeLists.txt (+2/-0) |
To merge this branch: | bzr merge lp:~alan-griffiths/mir/optional-mir-egl-examples |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Mir CI Bot | continuous-integration | Approve | |
Chris Halse Rogers | Approve | ||
Review via email: mp+332346@code.launchpad.net |
Commit message
Make the building of egl demos optional, and default to off when mesa hasn't been patched
Description of the change
Mir CI Bot (mir-ci-bot) wrote : | # |
Mir CI Bot (mir-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:4295
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
Brandon Schaefer (brandontschaefer) wrote : | # |
Hmm seems to be complaining that theres no mirvanity to install from the debian/
Alan Griffiths (alan-griffiths) wrote : | # |
On Tuesday, 17 October 2017 22:02:52 BST, Brandon Schaefer
<email address hidden> wrote:
> Hmm seems to be complaining that theres no mirvanity to install
> from the debian/
> how to disable those from being installed if its not supported.
The problem is that it should be created, not that it shouldn't be
installed. I'll fix in the morning.
--
Alan Griffiths. +44 (0)798 9938 758
Octopull Limited. http://
Mir CI Bot (mir-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:4297
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Mir CI Bot (mir-ci-bot) wrote : | # |
FAILED: Autolanding.
More details in the following jenkins job:
https:/
Executed test runs:
FAILURE: https:/
None: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
FAILURE: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Mir CI Bot (mir-ci-bot) : | # |
Preview Diff
1 | === modified file 'CMakeLists.txt' |
2 | --- CMakeLists.txt 2017-10-16 12:11:24 +0000 |
3 | +++ CMakeLists.txt 2017-10-18 08:24:42 +0000 |
4 | @@ -275,6 +275,16 @@ |
5 | pkg_check_modules(DRM REQUIRED libdrm) |
6 | endif() |
7 | |
8 | +# This incantation gets the MIR_EGL_SUPPORTED default right for Mesa |
9 | +execute_process(COMMAND grep mir_toolkit /usr/include/EGL/eglplatform.h |
10 | + OUTPUT_VARIABLE MIR_EGL_SUPPORTED_OUT) |
11 | + |
12 | +if (MIR_EGL_SUPPORTED_OUT STREQUAL "") |
13 | + option(MIR_EGL_SUPPORTED "Build examples that depend on Mir EGL." OFF) |
14 | +else() |
15 | + option(MIR_EGL_SUPPORTED "Build examples that depend on Mir EGL." ON) |
16 | +endif() |
17 | + |
18 | set(MIR_TRACEPOINT_LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/mir/tools) |
19 | |
20 | set(MIR_GENERATED_INCLUDE_DIRECTORIES) |
21 | |
22 | === modified file 'examples/CMakeLists.txt' |
23 | --- examples/CMakeLists.txt 2017-10-16 14:56:31 +0000 |
24 | +++ examples/CMakeLists.txt 2017-10-18 08:24:42 +0000 |
25 | @@ -3,10 +3,7 @@ |
26 | |
27 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -Wall -fno-strict-aliasing -Wextra") |
28 | |
29 | -add_library(eglapp STATIC |
30 | - eglapp.c |
31 | - client_helpers.cpp |
32 | -) |
33 | +add_library(mirdraw STATIC graphics_utils.cpp) |
34 | |
35 | add_library(exampleserverconfig STATIC |
36 | server_example_input_device_config.cpp |
37 | @@ -20,150 +17,26 @@ |
38 | |
39 | target_link_libraries(exampleserverconfig mirserver) |
40 | |
41 | -target_link_libraries(eglapp |
42 | - mirclient |
43 | - ${EGL_LIBRARIES} |
44 | - ${GLESv2_LIBRARIES} |
45 | - ) |
46 | - |
47 | -mir_add_wrapped_executable(mir_demo_client_animated_cursor |
48 | - animated_cursor_demo_client.c |
49 | -) |
50 | -target_link_libraries(mir_demo_client_animated_cursor |
51 | - eglapp |
52 | -) |
53 | -mir_add_wrapped_executable(mir_demo_client_eglflash |
54 | - eglflash.c |
55 | -) |
56 | -target_link_libraries(mir_demo_client_eglflash |
57 | - eglapp |
58 | -) |
59 | -mir_add_wrapped_executable(mir_demo_client_egltriangle |
60 | - egltriangle.c |
61 | -) |
62 | -target_link_libraries(mir_demo_client_egltriangle |
63 | - eglapp |
64 | -) |
65 | -mir_add_wrapped_executable(mir_demo_client_target |
66 | - target.c |
67 | -) |
68 | -target_link_libraries(mir_demo_client_target |
69 | - eglapp |
70 | -) |
71 | -mir_add_wrapped_executable(mir_demo_client_pointer_confinement |
72 | - pointer_confinement.c |
73 | -) |
74 | -target_link_libraries(mir_demo_client_pointer_confinement |
75 | - eglapp |
76 | -) |
77 | -mir_add_wrapped_executable(mir_demo_client_camera |
78 | - camera.c |
79 | -) |
80 | -target_link_libraries(mir_demo_client_camera |
81 | - eglapp |
82 | -) |
83 | -mir_add_wrapped_executable(mir_demo_client_eglcounter |
84 | - eglcounter.cpp |
85 | -) |
86 | -target_link_libraries(mir_demo_client_eglcounter |
87 | - eglapp |
88 | -) |
89 | -mir_add_wrapped_executable(mir_demo_client_eglplasma |
90 | - eglplasma.c |
91 | -) |
92 | -target_link_libraries(mir_demo_client_eglplasma |
93 | - eglapp |
94 | -) |
95 | -mir_add_wrapped_executable(mir_demo_client_cursors |
96 | - cursors_demo_client.c |
97 | -) |
98 | -target_link_libraries(mir_demo_client_cursors |
99 | - eglapp |
100 | -) |
101 | -mir_add_wrapped_executable(mir_demo_client_eglstateswitcher |
102 | - eglstateswitcher.c |
103 | -) |
104 | -target_link_libraries(mir_demo_client_eglstateswitcher |
105 | - eglapp |
106 | -) |
107 | - |
108 | -mir_add_wrapped_executable(mir_demo_client_tooltip |
109 | - tooltip.c |
110 | -) |
111 | -target_link_libraries(mir_demo_client_tooltip |
112 | - eglapp |
113 | - ) |
114 | - |
115 | -mir_add_wrapped_executable(mir_demo_client_touch_validator |
116 | - client_touch_validator.cpp |
117 | -) |
118 | -target_link_libraries(mir_demo_client_touch_validator |
119 | - eglapp |
120 | -) |
121 | - |
122 | -mir_add_wrapped_executable(mir_demo_client_basic |
123 | - basic.c |
124 | - ) |
125 | - |
126 | -mir_add_wrapped_executable(mir_demo_client_input_shapes |
127 | - input_shapes.cpp |
128 | - ) |
129 | -target_link_libraries(mir_demo_client_input_shapes eglapp) |
130 | - |
131 | -target_link_libraries(mir_demo_client_basic |
132 | - mirclient |
133 | - |
134 | - ${Boost_LIBRARIES} |
135 | - ${CMAKE_THREAD_LIBS_INIT} |
136 | -) |
137 | +mir_add_wrapped_executable(mir_demo_client_basic basic.c) |
138 | +target_link_libraries (mir_demo_client_basic mirclient ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) |
139 | |
140 | mir_add_wrapped_executable(mir_demo_client_release_at_exit release_at_exit.c) |
141 | -target_link_libraries(mir_demo_client_release_at_exit mirclient) |
142 | +target_link_libraries (mir_demo_client_release_at_exit mirclient) |
143 | |
144 | mir_add_wrapped_executable(mir_demo_client_multiwin multiwin.c) |
145 | -target_link_libraries(mir_demo_client_multiwin mirclient) |
146 | +target_link_libraries (mir_demo_client_multiwin mirclient) |
147 | |
148 | mir_add_wrapped_executable(mir_demo_client_fingerpaint fingerpaint.c) |
149 | -target_link_libraries(mir_demo_client_fingerpaint mirclient) |
150 | +target_link_libraries (mir_demo_client_fingerpaint mirclient) |
151 | |
152 | mir_add_wrapped_executable(mir_demo_client_progressbar progressbar.c) |
153 | -target_link_libraries(mir_demo_client_progressbar mirclient) |
154 | - |
155 | -mir_add_wrapped_executable(mir_demo_client_display_config demo_client_display_config.c) |
156 | -target_link_libraries(mir_demo_client_display_config eglapp) |
157 | - |
158 | -mir_add_wrapped_executable(mir_demo_client_eglsquare eglsquare.cpp) |
159 | -target_link_libraries(mir_demo_client_eglsquare eglapp) |
160 | - |
161 | -if ("${CMAKE_CXX_COMPILER}" MATCHES "clang") |
162 | - target_link_libraries(mir_demo_client_eglsquare atomic) |
163 | -endif() |
164 | - |
165 | -mir_add_wrapped_executable(mir_demo_client_flicker |
166 | - flicker.c |
167 | -) |
168 | - |
169 | -target_link_libraries(mir_demo_client_flicker |
170 | - mirclient |
171 | - |
172 | - ${Boost_LIBRARIES} |
173 | - ${CMAKE_THREAD_LIBS_INIT} |
174 | -) |
175 | - |
176 | -mir_add_wrapped_executable(mir_demo_client_scroll |
177 | - scroll.cpp |
178 | -) |
179 | - |
180 | -target_link_libraries(mir_demo_client_scroll |
181 | - eglapp |
182 | - mirdraw |
183 | - ${GLESv2_LIBRARIES} |
184 | -) |
185 | +target_link_libraries (mir_demo_client_progressbar mirclient) |
186 | + |
187 | +mir_add_wrapped_executable(mir_demo_client_flicker flicker.c) |
188 | +target_link_libraries (mir_demo_client_flicker mirclient ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) |
189 | |
190 | mir_add_wrapped_executable(mir_demo_client_prompt_session prompt_session.c) |
191 | -target_link_libraries(mir_demo_client_prompt_session mirclient) |
192 | - |
193 | -add_library(mirdraw STATIC graphics_utils.cpp) |
194 | +target_link_libraries (mir_demo_client_prompt_session mirclient) |
195 | |
196 | include_directories( |
197 | ${PROJECT_SOURCE_DIR}/include/miral |
198 | @@ -238,51 +111,91 @@ |
199 | endif () |
200 | endif () |
201 | |
202 | -mir_add_wrapped_executable(mir_demo_client_multistream |
203 | - multi_stream.cpp |
204 | -) |
205 | - |
206 | -target_link_libraries(mir_demo_client_multistream |
207 | - mirclient |
208 | - eglapp |
209 | - ${Boost_LIBRARIES} |
210 | -) |
211 | - |
212 | -mir_add_wrapped_executable(mir_demo_client_render_surface |
213 | - render_surface.cpp |
214 | -) |
215 | - |
216 | -target_link_libraries(mir_demo_client_render_surface |
217 | - mirclient |
218 | - eglapp |
219 | -) |
220 | - |
221 | -mir_add_wrapped_executable(mir_demo_client_prerendered_frames |
222 | - prerendered_frames.c |
223 | -) |
224 | - |
225 | -target_link_libraries(mir_demo_client_prerendered_frames |
226 | - mirclient |
227 | - m |
228 | -) |
229 | - |
230 | -mir_add_wrapped_executable(mir_demo_client_chain_jumping_buffers |
231 | - chain_jumping_buffers.c |
232 | -) |
233 | - |
234 | -target_link_libraries(mir_demo_client_chain_jumping_buffers |
235 | - mirclient |
236 | -) |
237 | +mir_add_wrapped_executable(mir_demo_client_prerendered_frames prerendered_frames.c) |
238 | +target_link_libraries (mir_demo_client_prerendered_frames mirclient m) |
239 | + |
240 | +mir_add_wrapped_executable(mir_demo_client_chain_jumping_buffers chain_jumping_buffers.c) |
241 | +target_link_libraries (mir_demo_client_chain_jumping_buffers mirclient) |
242 | |
243 | include_directories(${MIR_GENERATED_INCLUDE_DIRECTORIES}) |
244 | |
245 | mir_add_wrapped_executable(mir_demo_client_wayland wayland_client.c) |
246 | -target_link_libraries(mir_demo_client_wayland |
247 | - |
248 | - ${WAYLAND_CLIENT_LDFLAGS} ${WAYLAND_CLIENT_LIBRARIES} |
249 | -) |
250 | +target_link_libraries (mir_demo_client_wayland ${WAYLAND_CLIENT_LDFLAGS} ${WAYLAND_CLIENT_LIBRARIES}) |
251 | |
252 | mir_add_wrapped_executable(mir_demo_client_screencast screencast.cpp) |
253 | - |
254 | -target_link_libraries(mir_demo_client_screencast mirclient) |
255 | - |
256 | +target_link_libraries (mir_demo_client_screencast mirclient) |
257 | + |
258 | + |
259 | +# The remaining examples are dependent on Mir EGL being supported. |
260 | +if (MIR_EGL_SUPPORTED) |
261 | + |
262 | + add_library(eglapp STATIC |
263 | + eglapp.c |
264 | + client_helpers.cpp |
265 | + ) |
266 | + |
267 | + target_link_libraries(eglapp |
268 | + mirclient |
269 | + ${EGL_LIBRARIES} |
270 | + ${GLESv2_LIBRARIES} |
271 | + ) |
272 | + |
273 | + mir_add_wrapped_executable(mir_demo_client_animated_cursor animated_cursor_demo_client.c) |
274 | + target_link_libraries (mir_demo_client_animated_cursor eglapp) |
275 | + |
276 | + mir_add_wrapped_executable(mir_demo_client_eglflash eglflash.c) |
277 | + target_link_libraries (mir_demo_client_eglflash eglapp) |
278 | + |
279 | + mir_add_wrapped_executable(mir_demo_client_egltriangle egltriangle.c) |
280 | + target_link_libraries (mir_demo_client_egltriangle eglapp) |
281 | + |
282 | + mir_add_wrapped_executable(mir_demo_client_target target.c) |
283 | + target_link_libraries (mir_demo_client_target eglapp) |
284 | + |
285 | + mir_add_wrapped_executable(mir_demo_client_pointer_confinement pointer_confinement.c) |
286 | + target_link_libraries (mir_demo_client_pointer_confinement eglapp) |
287 | + |
288 | + mir_add_wrapped_executable(mir_demo_client_camera camera.c) |
289 | + target_link_libraries (mir_demo_client_camera eglapp) |
290 | + |
291 | + mir_add_wrapped_executable(mir_demo_client_eglcounter eglcounter.cpp) |
292 | + target_link_libraries (mir_demo_client_eglcounter eglapp) |
293 | + |
294 | + mir_add_wrapped_executable(mir_demo_client_eglplasma eglplasma.c) |
295 | + target_link_libraries (mir_demo_client_eglplasma eglapp) |
296 | + |
297 | + mir_add_wrapped_executable(mir_demo_client_cursors cursors_demo_client.c) |
298 | + target_link_libraries (mir_demo_client_cursors eglapp) |
299 | + |
300 | + mir_add_wrapped_executable(mir_demo_client_eglstateswitcher eglstateswitcher.c) |
301 | + target_link_libraries (mir_demo_client_eglstateswitcher eglapp) |
302 | + |
303 | + mir_add_wrapped_executable(mir_demo_client_tooltip tooltip.c) |
304 | + target_link_libraries (mir_demo_client_tooltip eglapp) |
305 | + |
306 | + mir_add_wrapped_executable(mir_demo_client_touch_validator client_touch_validator.cpp) |
307 | + target_link_libraries (mir_demo_client_touch_validator eglapp) |
308 | + |
309 | + mir_add_wrapped_executable(mir_demo_client_display_config demo_client_display_config.c) |
310 | + target_link_libraries (mir_demo_client_display_config eglapp) |
311 | + |
312 | + mir_add_wrapped_executable(mir_demo_client_eglsquare eglsquare.cpp) |
313 | + target_link_libraries (mir_demo_client_eglsquare eglapp) |
314 | + |
315 | + if ("${CMAKE_CXX_COMPILER}" MATCHES "clang") |
316 | + target_link_libraries (mir_demo_client_eglsquare atomic) |
317 | + endif() |
318 | + |
319 | + mir_add_wrapped_executable(mir_demo_client_input_shapes input_shapes.cpp) |
320 | + target_link_libraries (mir_demo_client_input_shapes eglapp) |
321 | + |
322 | + mir_add_wrapped_executable(mir_demo_client_scroll scroll.cpp) |
323 | + target_link_libraries (mir_demo_client_scroll eglapp mirdraw ${GLESv2_LIBRARIES}) |
324 | + |
325 | + mir_add_wrapped_executable(mir_demo_client_multistream multi_stream.cpp) |
326 | + target_link_libraries (mir_demo_client_multistream mirclient eglapp ${Boost_LIBRARIES}) |
327 | + |
328 | + mir_add_wrapped_executable(mir_demo_client_render_surface render_surface.cpp) |
329 | + target_link_libraries (mir_demo_client_render_surface mirclient eglapp) |
330 | + |
331 | +endif() # MIR_EGL_SUPPORTED |
332 | |
333 | === modified file 'src/utils/CMakeLists.txt' |
334 | --- src/utils/CMakeLists.txt 2017-05-08 03:04:26 +0000 |
335 | +++ src/utils/CMakeLists.txt 2017-10-18 08:24:42 +0000 |
336 | @@ -10,9 +10,11 @@ |
337 | mir_add_wrapped_executable(mirout out.c) |
338 | target_link_libraries(mirout mirclient m) |
339 | |
340 | +if (MIR_EGL_SUPPORTED) |
341 | mir_add_wrapped_executable(mirvanity vanity.c) |
342 | target_include_directories(mirvanity PRIVATE ${PROJECT_SOURCE_DIR}/examples) |
343 | target_link_libraries(mirvanity eglapp) |
344 | +endif() |
345 | |
346 | mir_add_wrapped_executable(mirin in.cpp) |
347 | target_link_libraries(mirin mirclient) |
FAILED: Continuous integration, rev:4293 /mir-jenkins. ubuntu. com/job/ mir-ci/ 3738/ /mir-jenkins. ubuntu. com/job/ build-mir/ 5136/console /mir-jenkins. ubuntu. com/job/ build-0- fetch/5374 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= artful/ 5361 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= xenial/ 5361 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= zesty/5361 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= artful/ 5180/console /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= zesty/5180/ console /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= artful/ 5180/console /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= xenial/ 5180/console /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= zesty/5180/ console /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= mesa,release= artful/ 5180/console /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= mesa,release= zesty/5180/ console /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= mesa,release= xenial/ 5180/console
https:/
Executed test runs:
FAILURE: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Click here to trigger a rebuild: /mir-jenkins. ubuntu. com/job/ mir-ci/ 3738/rebuild
https:/