| 
									
										
										
										
											2017-08-30 14:30:47 -04:00
										 |  |  | project(
 | 
					
						
							|  |  |  | 	'wlroots',
 | 
					
						
							|  |  |  | 	'c',
 | 
					
						
							|  |  |  | 	license: 'MIT',
 | 
					
						
							|  |  |  | 	default_options: [
 | 
					
						
							|  |  |  | 		'c_std=c11',
 | 
					
						
							|  |  |  | 		'warning_level=2',
 | 
					
						
							|  |  |  | 		'werror=true',
 | 
					
						
							|  |  |  | 	],
 | 
					
						
							|  |  |  | )
 | 
					
						
							| 
									
										
										
										
											2017-07-17 20:38:28 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-20 22:19:47 +12:00
										 |  |  | add_project_arguments('-Wno-unused-parameter', language: 'c')
 | 
					
						
							| 
									
										
										
										
											2017-08-30 14:30:47 -04:00
										 |  |  | add_project_arguments(
 | 
					
						
							|  |  |  | 	'-DWLR_SRC_DIR="@0@"'.format(meson.source_root()),
 | 
					
						
							|  |  |  | 	language: 'c',
 | 
					
						
							|  |  |  | )
 | 
					
						
							|  |  |  | add_project_link_arguments(
 | 
					
						
							|  |  |  | 	'-Wl,-rpath,@0@'.format(meson.build_root()),
 | 
					
						
							|  |  |  | 	language: 'c',
 | 
					
						
							|  |  |  | )
 | 
					
						
							| 
									
										
										
										
											2017-07-17 20:38:28 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | wlr_inc = include_directories('include')
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | cc = meson.get_compiler('c')
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-30 14:30:47 -04:00
										 |  |  | # Clang complains about some zeroed initialiser lists (= {0}), even though they
 | 
					
						
							|  |  |  | # are valid
 | 
					
						
							| 
									
										
										
										
											2017-07-17 20:38:28 +02:00
										 |  |  | if cc.get_id() == 'clang'
 | 
					
						
							| 
									
										
										
										
											2017-08-30 14:30:47 -04:00
										 |  |  | 	add_project_arguments('-Wno-missing-field-initializers', language: 'c')
 | 
					
						
							|  |  |  | 	add_project_arguments('-Wno-missing-braces', language: 'c')
 | 
					
						
							| 
									
										
										
										
											2017-07-17 20:38:28 +02:00
										 |  |  | endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-11 09:37:09 -04:00
										 |  |  | wayland_server = dependency('wayland-server')
 | 
					
						
							|  |  |  | wayland_client = dependency('wayland-client')
 | 
					
						
							| 
									
										
										
										
											2017-08-20 22:19:47 +12:00
										 |  |  | wayland_egl    = dependency('wayland-egl')
 | 
					
						
							| 
									
										
										
										
											2017-08-11 09:37:09 -04:00
										 |  |  | wayland_protos = dependency('wayland-protocols')
 | 
					
						
							| 
									
										
										
										
											2017-08-20 22:19:47 +12:00
										 |  |  | egl            = dependency('egl')
 | 
					
						
							|  |  |  | glesv2         = dependency('glesv2')
 | 
					
						
							|  |  |  | drm            = dependency('libdrm')
 | 
					
						
							|  |  |  | gbm            = dependency('gbm')
 | 
					
						
							|  |  |  | libinput       = dependency('libinput')
 | 
					
						
							|  |  |  | xkbcommon      = dependency('xkbcommon')
 | 
					
						
							|  |  |  | udev           = dependency('libudev')
 | 
					
						
							|  |  |  | pixman         = dependency('pixman-1')
 | 
					
						
							| 
									
										
										
										
											2017-08-19 21:25:26 +02:00
										 |  |  | xcb            = dependency('xcb')
 | 
					
						
							| 
									
										
										
										
											2017-08-20 07:47:38 +02:00
										 |  |  | xcb_composite  = dependency('xcb-composite')
 | 
					
						
							| 
									
										
										
										
											2017-08-20 22:19:47 +12:00
										 |  |  | libcap         = dependency('libcap', required: false)
 | 
					
						
							|  |  |  | systemd        = dependency('libsystemd', required: false)
 | 
					
						
							|  |  |  | math           = cc.find_library('m', required: false)
 | 
					
						
							| 
									
										
										
										
											2017-07-17 20:38:28 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-20 22:19:47 +12:00
										 |  |  | if libcap.found() and get_option('enable_libcap')
 | 
					
						
							| 
									
										
										
										
											2017-08-30 14:30:47 -04:00
										 |  |  | 	add_project_arguments('-DHAS_LIBCAP', language: 'c')
 | 
					
						
							| 
									
										
										
										
											2017-07-17 20:38:28 +02:00
										 |  |  | endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-20 22:19:47 +12:00
										 |  |  | if systemd.found() and get_option('enable_systemd')
 | 
					
						
							| 
									
										
										
										
											2017-08-30 14:30:47 -04:00
										 |  |  | 	add_project_arguments('-DHAS_SYSTEMD', language: 'c')
 | 
					
						
							| 
									
										
										
										
											2017-07-17 20:38:28 +02:00
										 |  |  | endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-11 09:37:09 -04:00
										 |  |  | subdir('protocol')
 | 
					
						
							| 
									
										
										
										
											2017-07-17 20:38:28 +02:00
										 |  |  | subdir('backend')
 | 
					
						
							|  |  |  | subdir('render')
 | 
					
						
							|  |  |  | subdir('types')
 | 
					
						
							|  |  |  | subdir('util')
 | 
					
						
							| 
									
										
										
										
											2017-08-07 21:13:04 -04:00
										 |  |  | subdir('xcursor')
 | 
					
						
							| 
									
										
										
										
											2017-08-19 17:59:31 +02:00
										 |  |  | subdir('xwayland')
 | 
					
						
							| 
									
										
										
										
											2017-07-17 20:38:28 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-20 22:19:47 +12:00
										 |  |  | wlr_deps = [
 | 
					
						
							| 
									
										
										
										
											2017-08-30 14:30:47 -04:00
										 |  |  | 	wayland_server,
 | 
					
						
							|  |  |  | 	wayland_client,
 | 
					
						
							|  |  |  | 	wayland_egl,
 | 
					
						
							|  |  |  | 	wayland_protos,
 | 
					
						
							|  |  |  | 	egl,
 | 
					
						
							|  |  |  | 	glesv2,
 | 
					
						
							|  |  |  | 	drm,
 | 
					
						
							|  |  |  | 	gbm,
 | 
					
						
							|  |  |  | 	libinput,
 | 
					
						
							|  |  |  | 	xkbcommon,
 | 
					
						
							|  |  |  | 	udev,
 | 
					
						
							|  |  |  | 	pixman,
 | 
					
						
							|  |  |  | 	xcb,
 | 
					
						
							|  |  |  | 	xcb_composite,
 | 
					
						
							|  |  |  | 	libcap,
 | 
					
						
							|  |  |  | 	systemd,
 | 
					
						
							|  |  |  | 	math,
 | 
					
						
							| 
									
										
										
										
											2017-08-11 09:37:09 -04:00
										 |  |  | ]
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-30 14:30:47 -04:00
										 |  |  | lib_wlr = library(
 | 
					
						
							|  |  |  | 	'wlroots',
 | 
					
						
							|  |  |  | 	files('dummy.c'),
 | 
					
						
							|  |  |  | 	link_whole: [
 | 
					
						
							|  |  |  | 		lib_wl_protos,
 | 
					
						
							|  |  |  | 		lib_wlr_backend,
 | 
					
						
							|  |  |  | 		lib_wlr_render,
 | 
					
						
							|  |  |  | 		lib_wlr_types,
 | 
					
						
							|  |  |  | 		lib_wlr_util,
 | 
					
						
							|  |  |  | 		lib_wlr_xcursor,
 | 
					
						
							|  |  |  | 		lib_wlr_xwayland,
 | 
					
						
							|  |  |  | 	],
 | 
					
						
							|  |  |  | 	dependencies: wlr_deps,
 | 
					
						
							|  |  |  | 	include_directories: wlr_inc,
 | 
					
						
							|  |  |  | )
 | 
					
						
							| 
									
										
										
										
											2017-08-11 09:37:09 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-30 14:30:47 -04:00
										 |  |  | wlroots = declare_dependency(
 | 
					
						
							|  |  |  | 	link_with: lib_wlr,
 | 
					
						
							|  |  |  | 	dependencies: wlr_deps,
 | 
					
						
							|  |  |  | 	include_directories: wlr_inc,
 | 
					
						
							|  |  |  | )
 | 
					
						
							| 
									
										
										
										
											2017-07-17 20:38:28 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | subdir('examples')
 |