# Copyright 2016 Google Inc. # # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # Builds shaderc for the Vulkan backend { 'variables': { 'variables': { # This is the dreaded nested variables dict so that we can # have dependent variables 'conditions': [ [ 'CONFIGURATION_NAME == "Release_Developer"', { 'shaderc_build_configuration' : 'Release', }, { 'shaderc_build_configuration' : '<(CONFIGURATION_NAME)', }], [ 'skia_os == "win"', { 'shaderc_lib_name' : 'shaderc_combined.lib', }, { 'shaderc_lib_name' : 'libshaderc_combined.a', }], [ 'skia_os == "win"', { 'conditions': [ [ 'MSVS_VERSION == "2013"', { 'shaderc_project_type' : 'MSVS2013', }], [ 'MSVS_VERSION == "2015"', { 'shaderc_project_type' : 'MSVS2015', }], ], }, { 'shaderc_project_type' : 'ninja', }], ], 'shaderc_out_path': '../out/<(CONFIGURATION_NAME)/shaderc_out_<(skia_arch_type)', }, # Export out of nested variables. 'shaderc_build_configuration': '<(shaderc_build_configuration)', 'shaderc_project_type': '<(shaderc_project_type)', 'shaderc_out_path': '<(shaderc_out_path)', 'shaderc_lib_name': '<(shaderc_lib_name)', # On Windows the library winds up inside a 'Debug' or 'Release' dir, not so # with ninja project build. 'conditions': [ [ 'skia_os == "win"', { 'shaderc_lib_full_path': '<(shaderc_out_path)/libshaderc/<(shaderc_build_configuration)/<(shaderc_lib_name)', }, { 'shaderc_lib_full_path': '<(shaderc_out_path)/libshaderc/<(shaderc_lib_name)', }], ] }, 'targets': [ { # Call out to a python script to build shaderc_combined and then copy it # to out/ 'target_name': 'shaderc_combined', 'type': 'none', 'actions': [ { 'action_name': 'compile_shaderc', 'inputs': [ '