def __parse_phony(self, target_name, it): common_parameters = CommonTargetParameters( os.path.dirname(self.filename), self.name, target_name) cxx_parameters = CxxParameters() while True: token = it.next() if token == lexer.Token.LITERAL: if self.__try_parse_target_common_parameters( common_parameters, token, it): pass elif token.content == "artefacts": common_parameters.artefacts = self.__parse_list(it) elif token.content == "prerequisites": common_parameters.prerequisites = self.__parse_list(it) else: ui.parse_error(token) elif token == lexer.Token.NEWLINE: break else: ui.parse_error(token) target = targets.Phony(common_parameters) targets.add_target(target)
def __parse_application_target(self, target_name, it): link_with = variables.Variable() library_dirs = variables.Variable() common_parameters = CommonTargetParameters( os.path.dirname(self.filename), self.name, target_name) cxx_parameters = CxxParameters() while True: token = it.next() if token == lexer.Token.LITERAL: if self.__try_parse_target_common_parameters( common_parameters, token, it): pass elif self.__try_parse_cxx_parameters(cxx_parameters, token, it): pass elif token.content == "link_with": link_with = self.__parse_list(it) elif token.content == "library_dirs": library_dirs = self.__parse_list(it) else: ui.parse_error(token) elif token == lexer.Token.NEWLINE: break else: ui.parse_error(token) target = targets.Application(common_parameters, cxx_parameters, link_with, library_dirs) targets.add_target(target)
def __parse_application_target(self, target_name, it): link_with = variables.Variable() library_dirs = variables.Variable() common_parameters = CommonTargetParameters( os.path.dirname(self.filename), self.name, target_name) cxx_parameters = CxxParameters() while True: token = it.next() if token == lexer.Token.LITERAL: if self.__try_parse_target_common_parameters(common_parameters, token, it): pass elif self.__try_parse_cxx_parameters(cxx_parameters, token, it): pass elif token.content == "link_with": link_with = self.__parse_list(it) elif token.content == "library_dirs": library_dirs = self.__parse_list(it) else: ui.parse_error(token) elif token == lexer.Token.NEWLINE: break else: ui.parse_error(token) target = targets.Application(common_parameters, cxx_parameters, link_with, library_dirs) targets.add_target(target)
def __parse_static_library(self, target_name, it): common_parameters = CommonTargetParameters( os.path.dirname(self.filename), self.name, target_name) cxx_parameters = CxxParameters() while True: token = it.next() if token == lexer.Token.LITERAL: if self.__try_parse_target_common_parameters(common_parameters, token, it): pass elif self.__try_parse_cxx_parameters(cxx_parameters, token, it): pass else: ui.parse_error(token) elif token == lexer.Token.NEWLINE: break else: ui.parse_error(token) target = targets.StaticLibrary(common_parameters, cxx_parameters) targets.add_target(target)
def __parse_phony(self, target_name, it): common_parameters = CommonTargetParameters( os.path.dirname(self.filename), self.name, target_name) cxx_parameters = CxxParameters() while True: token = it.next() if token == lexer.Token.LITERAL: if self.__try_parse_target_common_parameters(common_parameters, token, it): pass elif token.content == "artefacts": common_parameters.artefacts = self.__parse_list(it) elif token.content == "prerequisites": common_parameters.prerequisites = self.__parse_list(it) else: ui.parse_error(token) elif token == lexer.Token.NEWLINE: break else: ui.parse_error(token) target = targets.Phony(common_parameters) targets.add_target(target)
def __parse_static_library(self, target_name, it): common_parameters = CommonTargetParameters( os.path.dirname(self.filename), self.name, target_name) cxx_parameters = CxxParameters() while True: token = it.next() if token == lexer.Token.LITERAL: if self.__try_parse_target_common_parameters( common_parameters, token, it): pass elif self.__try_parse_cxx_parameters(cxx_parameters, token, it): pass else: ui.parse_error(token) elif token == lexer.Token.NEWLINE: break else: ui.parse_error(token) target = targets.StaticLibrary(common_parameters, cxx_parameters) targets.add_target(target)