diff options
Diffstat (limited to 'src/render')
| -rw-r--r-- | src/render/meson.build | 60 |
1 files changed, 42 insertions, 18 deletions
diff --git a/src/render/meson.build b/src/render/meson.build index e9c093a..2d9c02f 100644 --- a/src/render/meson.build +++ b/src/render/meson.build @@ -9,24 +9,48 @@ render_deps = [common_deps] #render_src += ['renderer_tiger.c', 'queue_tiger.c'] #render_deps += [linmath] -libplacebo = dependency('libplacebo', - default_options: [ - 'warning_level=2', - 'demos=false', - 'tests=false', - 'bench=false', - 'fuzz=false', - 'shaderc=enabled', - 'glslang=disabled', - 'opengl=enabled', - 'vulkan=disabled', - 'd3d11=disabled', - 'gl-proc-addr=disabled', - 'vk-proc-addr=disabled', - 'lcms=enabled', - 'dovi=disabled', - 'libdovi=disabled' - ], required: false, allow_fallback: true) +libplacebo_opts = [ + 'warning_level=2', + 'demos=false', + 'tests=false', + 'bench=false', + 'fuzz=false', + 'glslang=disabled', + 'd3d11=disabled', + 'gl-proc-addr=disabled', + 'vk-proc-addr=disabled', + 'lcms=disabled', + 'dovi=disabled', + 'libdovi=disabled' +] + +use_vulkan = false +if use_vulkan + shaderc_opts = cmake.subproject_options() + shaderc_opts.add_cmake_defines({ 'CMAKE_BUILD_TYPE': is_debug ? 'Debug' : 'Release' }) + shaderc_opts.add_cmake_defines({ 'SHADERC_SKIP_INSTALL': false }) + shaderc_opts.add_cmake_defines({ 'SHADERC_SKIP_TESTS': true }) + shaderc_opts.add_cmake_defines({ 'SHADERC_SKIP_EXAMPLES': true }) + shaderc_opts.add_cmake_defines({ 'SHADERC_SKIP_COPYRIGHT_CHECK': true }) + shaderc_proj = cmake.subproject('shaderc', options: shaderc_opts) + shaderc = shaderc_proj.dependency('shaderc') + meson.override_dependency('shaderc', shaderc) + render_deps += [ + shaderc_proj.dependency('shaderc_util'), + shaderc_proj.dependency('glslang'), + shaderc_proj.dependency('MachineIndependent'), + shaderc_proj.dependency('OSDependent'), + shaderc_proj.dependency('GenericCodeGen'), + shaderc_proj.dependency('SPIRV'), + shaderc_proj.dependency('SPIRV-Tools-opt'), + shaderc_proj.dependency('SPIRV-Tools-static') + ] + libplacebo_opts += ['shaderc=enabled', 'vulkan=enabled', 'opengl=disabled'] +else + libplacebo_opts += ['shaderc=disabled', 'opengl=enabled', 'vulkan=disabled'] +endif + +libplacebo = dependency('libplacebo', default_options: libplacebo_opts) if libplacebo.found() render_src += ['renderer_libplacebo.c', 'queue_libplacebo.c'] render_deps += [libplacebo] |