コード例 #1
0
ファイル: vs201x.py プロジェクト: Fooway/bakefile
    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)
コード例 #2
0
    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)
コード例 #3
0
ファイル: vs200x.py プロジェクト: jiapei100/bakefile
    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)