diff options
-rw-r--r-- | ninjabackend.py | 11 | ||||
-rw-r--r-- | test cases/frameworks/4 qt5/manualinclude.cpp | 9 | ||||
-rw-r--r-- | test cases/frameworks/4 qt5/manualinclude.h | 11 | ||||
-rw-r--r-- | test cases/frameworks/4 qt5/meson.build | 7 |
4 files changed, 37 insertions, 1 deletions
diff --git a/ninjabackend.py b/ninjabackend.py index d29ddb4..eb4c579 100644 --- a/ninjabackend.py +++ b/ninjabackend.py @@ -811,7 +811,16 @@ class NinjaBackend(backends.Backend): elem = NinjaBuildElement(outfilename, rule.name, infilename) elem.write(outfile) if self.is_compilable_file(outfilename): - src_deps.append(outfilename) + if rule.name == 'moc_hdr_compile': + include_mocs = target.get_original_kwargs().get('include_moc_files', True) + if not isinstance(include_mocs, bool): + raise InvalidArguments('Include_moc_files kwarg must be boolean.') + if include_mocs: + src_deps.append(outfilename) + else: + other_deps.append(outfilename) + else: + src_deps.append(outfilename) else: other_deps.append(outfilename) if rule.name == 'moc_src_compile': #HACK diff --git a/test cases/frameworks/4 qt5/manualinclude.cpp b/test cases/frameworks/4 qt5/manualinclude.cpp new file mode 100644 index 0000000..b5f5674 --- /dev/null +++ b/test cases/frameworks/4 qt5/manualinclude.cpp @@ -0,0 +1,9 @@ +#include<QCoreApplication> +#include"manualinclude.h" + +#include"moc_manualinclude.cpp" + +int main(int argc, char **argv) { + ManualInclude mi; + return 0; +} diff --git a/test cases/frameworks/4 qt5/manualinclude.h b/test cases/frameworks/4 qt5/manualinclude.h new file mode 100644 index 0000000..c81c20e --- /dev/null +++ b/test cases/frameworks/4 qt5/manualinclude.h @@ -0,0 +1,11 @@ +#ifndef MANUALINCLUDE_H_ +#define MANUALINCLUDE_H_ + + +#include<QObject> + +class ManualInclude : public QObject { + Q_OBJECT +}; + +#endif diff --git a/test cases/frameworks/4 qt5/meson.build b/test cases/frameworks/4 qt5/meson.build index dc0a2d3..237db33 100644 --- a/test cases/frameworks/4 qt5/meson.build +++ b/test cases/frameworks/4 qt5/meson.build @@ -28,3 +28,10 @@ deps : qt5core) test('q5moc', q5moc) +q5maninclude = executable('q5maninclude', +sources : 'manualinclude.cpp', +moc_headers : 'manualinclude.h', +include_moc_files : false, +deps : qt5core) + +test('q5maninclude', q5maninclude) |