vkd3d-proton/meson.build

84 lines
2.6 KiB
Meson
Raw Normal View History

project('vkd3d', ['c'], version : '1.1', meson_version : '>= 0.51', default_options : [
'warning_level=2',
])
cpu_family = target_machine.cpu_family()
vkd3d_compiler = meson.get_compiler('c')
vkd3d_c_std = 'c99'
vkd3d_platform = target_machine.system()
enable_tests = get_option('enable_tests')
enable_extras = get_option('enable_extras')
add_project_arguments('-DHAVE_DXIL_SPV', language : 'c')
add_project_arguments('-D_GNU_SOURCE', language : 'c')
add_project_arguments('-DPACKAGE_VERSION="' + meson.project_version() + '"', language : 'c')
vkd3d_external_includes = [ './subprojects/Vulkan-Headers/include', './subprojects/SPIRV-Headers/include' ]
vkd3d_public_includes = [ './include' ] + vkd3d_external_includes
vkd3d_private_includes = [ './include/private' ] + vkd3d_public_includes
vkd3d_external_includes = include_directories(vkd3d_external_includes)
vkd3d_public_includes = include_directories(vkd3d_public_includes)
vkd3d_private_includes = include_directories(vkd3d_private_includes)
idl_compiler = find_program('widl')
idl_generator = generator(idl_compiler,
output : [ '@BASENAME@.h' ],
arguments : [ '-h', '-o', '@OUTPUT@', '@INPUT@' ])
glsl_compiler = find_program('glslangValidator')
glsl_generator = generator(glsl_compiler,
output : [ '@BASENAME@.h' ],
arguments : [ '-V', '--vn', '@BASENAME@', '@INPUT@', '-o', '@OUTPUT@' ])
threads_dep = dependency('threads')
lib_d3d12 = vkd3d_compiler.find_library('d3d12', required : false)
if vkd3d_platform == 'linux'
lib_dl = vkd3d_compiler.find_library('dl')
vkd3d_extra_libs = [ lib_dl, threads_dep ]
elif vkd3d_platform == 'windows'
lib_dxgi = vkd3d_compiler.find_library('dxgi')
vkd3d_extra_libs = [ threads_dep ]
else
error('Unknown platform')
endif
add_project_arguments(vkd3d_compiler.get_supported_arguments([
'-Wno-format',
'-Wno-missing-field-initializers',
'-Wno-unused-parameter']),
language : 'c')
vkd3d_version = vcs_tag(
command : ['git', 'describe', '--dirty=+'],
input : 'vkd3d_version.c.in',
output : 'vkd3d_version.c')
dxil_spirv = subproject('dxil-spirv')
dxil_spirv_dep = dxil_spirv.get_variable('dxil_spirv_dep')
subdir('include')
subdir('libs')
if enable_tests
subdir('tests')
endif
if enable_extras
if vkd3d_platform == 'linux'
lib_m = vkd3d_compiler.find_library('m')
lib_xcb = vkd3d_compiler.find_library('xcb')
lib_xcbkeysyms = vkd3d_compiler.find_library('xcb-keysyms')
endif
if not lib_d3d12.found()
lib_d3d12 = vkd3d_utils_dep
warning('No d3d12 lib, falling back to vkd3d_utils for extras...')
endif
subdir('demos')
subdir('programs')
endif