diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-04-01 18:18:57 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-04-01 18:18:57 +0300 |
commit | 8f63a4ff811c0d2e3e7901e6c62454431ec2fcc1 (patch) | |
tree | 283fc910dca687641162ec75d6e2e23922e9e561 | |
parent | a869da185f076a81b65ebd55f074a26c6e6b8466 (diff) | |
download | meson-8f63a4ff811c0d2e3e7901e6c62454431ec2fcc1.zip meson-8f63a4ff811c0d2e3e7901e6c62454431ec2fcc1.tar.gz meson-8f63a4ff811c0d2e3e7901e6c62454431ec2fcc1.tar.bz2 |
Ui rule too, and store rules in the backend object.
-rwxr-xr-x | backends.py | 5 | ||||
-rw-r--r-- | dependencies.py | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/backends.py b/backends.py index b2f8ba5..31899b4 100755 --- a/backends.py +++ b/backends.py @@ -18,6 +18,7 @@ import os, sys, re, pickle import interpreter, nodes import environment from meson_install import InstallData +from interpreter import InvalidArguments if environment.is_windows(): quote_char = '"' @@ -96,6 +97,7 @@ class Backend(): self.environment = build.environment self.interpreter = interp self.processed_targets = {} + self.dep_rules = {} self.build_to_src = os.path.relpath(self.environment.get_source_dir(), self.environment.get_build_dir()) @@ -433,6 +435,9 @@ class NinjaBackend(Backend): outfile.write(' command = %s\n' % command) desc = rule.description.replace('@INFILE@', '$in') outfile.write(' description = %s\n' % desc) + if rule.src_keyword in self.dep_rules: + raise InvalidArguments('Multiple rules for keyword %s.' % rule.src_keyword) + self.dep_rules[rule.src_keyword] = rule outfile.write('\n') def generate_rules(self, outfile): diff --git a/dependencies.py b/dependencies.py index d14f68c..88051db 100644 --- a/dependencies.py +++ b/dependencies.py @@ -331,9 +331,12 @@ class Qt5Dependency(Dependency): def get_generate_rules(self): moc_rule = CustomRule([self.moc.get_command(), '@INFILE@', '-o', '@OUTFILE@'], - 'moc_%BASENAME%.cpp','moc_headers', 'moc_compile', + 'moc_%BASENAME%.cpp', 'moc_headers', 'moc_compile', 'Compiling @INFILE@ with the moc preprocessor') - return [moc_rule] + ui_rule = CustomRule([self.uic.get_command(), '@INFILE@', '-o', '@OUTFILE@'], + 'ui_%BASENAME%.h', 'ui_files', 'ui_compile', + 'Compiling @INFILE@ with the ui compiler') + return [moc_rule, ui_rule] def get_dep_identifier(name, kwargs): |