mirror of
				https://github.com/labwc/labwc.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	meson: use proper dependency fallback for wlroots
Make the subproject wrap file declare the dependencies it provides.
Remove the manual subproject invocation and allow Meson to select
whichever wlroots it finds which satisfies the version requirement --
either a system one via pkg-config, or the subproject fallback.
Use a dependency-generic method of acquiring wlroots configuration info
-- enabled features are present in the pkg-config file and additionally
exported as declare_dependency() variables, so there is no need to do C
preprocessor checks for it.
This ensures that Meson best practices are followed, and also...
Fixes #318
Backport of 2656cf525f to v0.5
			
			
This commit is contained in:
		
							parent
							
								
									fe237ea480
								
							
						
					
					
						commit
						33326fc086
					
				
					 2 changed files with 7 additions and 12 deletions
				
			
		
							
								
								
									
										16
									
								
								meson.build
									
										
									
									
									
								
							
							
						
						
									
										16
									
								
								meson.build
									
										
									
									
									
								
							| 
						 | 
					@ -37,22 +37,14 @@ if git.found()
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
add_project_arguments('-DLABWC_VERSION=@0@'.format(version), language: 'c')
 | 
					add_project_arguments('-DLABWC_VERSION=@0@'.format(version), language: 'c')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
wlroots_version = ['>=0.15.0', '<0.16.0']
 | 
					wlroots = dependency(
 | 
				
			||||||
wlroots_proj = subproject(
 | 
					 | 
				
			||||||
  'wlroots',
 | 
					  'wlroots',
 | 
				
			||||||
  default_options: ['default_library=static', 'examples=false'],
 | 
					  default_options: ['default_library=static', 'examples=false'],
 | 
				
			||||||
  required: false,
 | 
					  version: ['>=0.15.0', '<0.16.0'],
 | 
				
			||||||
  version: wlroots_version,
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if wlroots_proj.found()
 | 
					wlroots_has_xwayland = wlroots.get_variable('have_xwayland') == 'true'
 | 
				
			||||||
  wlroots = wlroots_proj.get_variable('wlroots')
 | 
					
 | 
				
			||||||
  wlroots_conf = wlroots_proj.get_variable('conf_data')
 | 
					 | 
				
			||||||
  wlroots_has_xwayland = wlroots_conf.get('WLR_HAS_XWAYLAND') == 1
 | 
					 | 
				
			||||||
else
 | 
					 | 
				
			||||||
  wlroots = dependency('wlroots', version: wlroots_version)
 | 
					 | 
				
			||||||
  wlroots_has_xwayland = cc.get_define('WLR_HAS_XWAYLAND', prefix: '#include <wlr/config.h>', dependencies: wlroots) == '1'
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
wayland_server = dependency('wayland-server', version: '>=1.19.0')
 | 
					wayland_server = dependency('wayland-server', version: '>=1.19.0')
 | 
				
			||||||
wayland_protos = dependency('wayland-protocols')
 | 
					wayland_protos = dependency('wayland-protocols')
 | 
				
			||||||
xkbcommon = dependency('xkbcommon')
 | 
					xkbcommon = dependency('xkbcommon')
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,6 @@
 | 
				
			||||||
[wrap-git]
 | 
					[wrap-git]
 | 
				
			||||||
url = https://gitlab.freedesktop.org/wlroots/wlroots.git
 | 
					url = https://gitlab.freedesktop.org/wlroots/wlroots.git
 | 
				
			||||||
revision = 0.15.1
 | 
					revision = 0.15.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[provide]
 | 
				
			||||||
 | 
					dependency_names = wlroots
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue