gamescope/meson.build
Joshua Ashton dc6d755ada drm: Use 'contains' on map to simplify property code
May as well use C++20 for everything now we need it for the
layer.
2023-01-06 15:25:04 +00:00

58 lines
1.4 KiB
Meson

project(
'gamescope',
'c',
'cpp',
meson_version: '>=0.58.0',
default_options: [
'cpp_std=c++20',
'warning_level=2',
'force_fallback_for=wlroots,libliftoff',
],
)
add_project_arguments([
'-DWLR_USE_UNSTABLE',
], language: 'cpp')
cppc = meson.get_compiler('cpp')
data_dir = get_option('datadir')
prefix = get_option('prefix')
lib_dir = get_option('libdir')
add_project_arguments(cppc.get_supported_arguments([
'-Wno-unused-parameter',
'-Wno-missing-field-initializers',
'-Wno-c99-designator',
'-Wno-invalid-offsetof',
'-Wno-unused-const-variable',
]), language: 'cpp')
pipewire_dep = dependency('libpipewire-0.3', required: get_option('pipewire'))
librt_dep = cppc.find_library('rt', required : get_option('pipewire'))
hwdata_dep = dependency('hwdata')
dep_x11 = dependency('x11')
vulkan_dep = dependency('vulkan')
add_project_arguments(
'-DHAVE_PIPEWIRE=@0@'.format(pipewire_dep.found().to_int()),
'-DHWDATA_PNP_IDS="@0@"'.format(hwdata_dep.get_variable('pkgdatadir') / 'pnp.ids'),
language: 'cpp',
)
# Vulkan headers are installed separately from the loader (which ships the
# pkg-config file)
if not cppc.check_header('vulkan/vulkan.h', dependencies: vulkan_dep)
error('Missing vulkan-headers')
endif
subdir('protocol')
if get_option('enable_gamescope_wsi_layer')
subdir('layer')
endif
if get_option('enable_gamescope')
subdir('src')
endif