blob: 18b6f8675adf95c9eed480a6a92e8b0956cbc136 [file]
gpu_demo_sources = files(
'demo-atlas.h',
'demo-atlas.cc',
'demo-buffer.h',
'demo-buffer.cc',
'demo-common.h',
'demo-font.h',
'demo-font.cc',
'demo-glstate.h',
'demo-glstate.cc',
'demo-renderer.h',
'demo-renderer-gl.cc',
'demo-shader.h',
'demo-shader.cc',
'demo-view.h',
'demo-view.cc',
'default-text-en.hh',
'default-text-fa.hh',
'default-font.hh',
'matrix4x4.hh',
'trackball.hh',
)
demo_shader_sources = [
[ 'demo-vertex.glsl', 'demo-vertex-glsl.hh' ],
[ 'demo-fragment.glsl', 'demo-fragment-glsl.hh' ],
[ 'demo-shader.msl', 'demo-shader-msl.hh' ],
[ 'demo-shader.hlsl', 'demo-shader-hlsl.hh' ],
[ 'demo-shader.wgsl', 'demo-shader-wgsl.hh' ],
]
demo_shader_helper = find_program('../../src/gen-gpu-shader-artifacts.py')
foreach p: demo_shader_sources
gpu_demo_sources += custom_target('@0@'.format(p.get(1)),
build_by_default: true,
input: p.get(0),
output: p.get(1),
command: [ demo_shader_helper, '@OUTPUT@',
meson.current_source_dir(), '@INPUT@' ])
endforeach
if host_machine.system() == 'darwin'
gpu_demo_sources += files(
'demo-metal.mm',
)
endif
if host_machine.system() == 'windows'
gpu_demo_sources += files(
'demo-renderer-d3d11.cc',
)
endif
gpu_demo_opt = get_option('gpu_demo')
have_gpu_demo_deps = false
if not gpu_demo_opt.disabled()
glew_dep = dependency('glew', required: gpu_demo_opt)
glfw_dep = dependency('glfw3', required: gpu_demo_opt)
if host_machine.system() == 'darwin'
gl_dep = dependency('appleframeworks', modules: ['OpenGL'], required: gpu_demo_opt)
metal_dep = dependency('appleframeworks', modules: ['Metal', 'QuartzCore', 'Foundation', 'AppKit'], required: gpu_demo_opt)
else
gl_dep = dependency('gl', required: gpu_demo_opt)
metal_dep = disabler()
endif
d3d11_dep = meson.get_compiler('cpp').find_library('d3d11', required: false)
d3dcompiler_dep = meson.get_compiler('cpp').find_library('d3dcompiler_47', required: false)
have_gpu_demo_deps = glew_dep.found() and glfw_dep.found() and gl_dep.found()
endif