def _add_custom_build_file(self, node, srcfile): n = Node("CustomBuild", Include=srcfile.filename) for cfg in self.configs_and_platforms(srcfile): outputs = cfg["outputs"] fmt_dict = {"in": srcfile.filename, "out": outputs} idx = 0 for outN in outputs: fmt_dict["out%d" % idx] = outN idx += 1 commands = format_string(cfg["compile-commands"], fmt_dict) message = format_string(cfg["compile-message"], fmt_dict) cond = "'$(Configuration)|$(Platform)'=='%s'" % cfg.vs_name n.add(Node("Command", VSList("\n", commands), Condition=cond)) n.add(Node("Outputs", outputs, Condition=cond)) dependencies = cfg["dependencies"] if dependencies: n.add(Node("AdditionalInputs", dependencies, Condition=cond)) n.add(Node("Message", message if message else commands, Condition=cond)) node.add(n)
def _add_custom_build_file(self, node, srcfile): n_file = Node("File", RelativePath=srcfile.filename) for cfg in self.configs_and_platforms(srcfile): outputs = cfg["outputs"] fmt_dict = {"in": srcfile.filename, "out": outputs} idx = 0 for outN in outputs: fmt_dict["out%d" % idx] = outN idx += 1 commands = VSList("\r\n", format_string(cfg["compile-commands"], fmt_dict)) message = format_string(cfg["compile-message"], fmt_dict) n_cfg = Node("FileConfiguration", Name="%s" % cfg.vs_name) n_tool = Node("Tool", Name="VCCustomBuildTool") n_tool["Description"] = message if message else commands n_tool["CommandLine"] = commands n_tool["Outputs"] = outputs n_tool["AdditionalDependencies"] = cfg["dependencies"] n_cfg.add(n_tool) n_file.add(n_cfg) node.add(n_file)