From 55dba78889a7a09fdc5d6a2b0b2033861513824d Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Fri, 11 Apr 2014 23:23:05 +0300 Subject: [PATCH] Follow Qt standards w.r.t. moc file including. --- ninjabackend.py | 11 +---------- test cases/frameworks/4 qt5/manualinclude.cpp | 3 ++- test cases/frameworks/4 qt5/manualinclude.h | 7 ++++++- test cases/frameworks/4 qt5/meson.build | 14 ++++---------- test cases/frameworks/4 qt5/moctest.cpp | 9 --------- 5 files changed, 13 insertions(+), 31 deletions(-) delete mode 100644 test cases/frameworks/4 qt5/moctest.cpp diff --git a/ninjabackend.py b/ninjabackend.py index 7d7d91be9..8215959be 100644 --- a/ninjabackend.py +++ b/ninjabackend.py @@ -817,16 +817,7 @@ class NinjaBackend(backends.Backend): elem.add_item('rcc_flags', ['--name', basename]) elem.write(outfile) if self.is_compilable_file(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) + 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 index b5f56747d..3a96adf5b 100644 --- a/test cases/frameworks/4 qt5/manualinclude.cpp +++ b/test cases/frameworks/4 qt5/manualinclude.cpp @@ -1,7 +1,8 @@ #include #include"manualinclude.h" -#include"moc_manualinclude.cpp" +ManualInclude::ManualInclude() { +} int main(int argc, char **argv) { ManualInclude mi; diff --git a/test cases/frameworks/4 qt5/manualinclude.h b/test cases/frameworks/4 qt5/manualinclude.h index c81c20e39..4a00b6c28 100644 --- a/test cases/frameworks/4 qt5/manualinclude.h +++ b/test cases/frameworks/4 qt5/manualinclude.h @@ -1,11 +1,16 @@ #ifndef MANUALINCLUDE_H_ #define MANUALINCLUDE_H_ - #include class ManualInclude : public QObject { Q_OBJECT + +public: + ManualInclude(); + +signals: + int mysignal(); }; #endif diff --git a/test cases/frameworks/4 qt5/meson.build b/test cases/frameworks/4 qt5/meson.build index 53bf1a82f..3f0770ec7 100644 --- a/test cases/frameworks/4 qt5/meson.build +++ b/test cases/frameworks/4 qt5/meson.build @@ -19,19 +19,13 @@ deps : qt5core) test('qt5test', qt5coreapp) -# Tests for source file compilation with moc. - -q5moc = executable('q5moc', -sources : 'moctest.cpp', -moc_sources : 'mocinclude.cpp', -deps : qt5core) - -test('q5moc', q5moc) - +# The build system needs to include the cpp files from +# headers but the user must manually include moc +# files from sources. q5maninclude = executable('q5maninclude', sources : 'manualinclude.cpp', +moc_sources : 'mocinclude.cpp', moc_headers : 'manualinclude.h', -include_moc_files : false, deps : qt5core) test('q5maninclude', q5maninclude) diff --git a/test cases/frameworks/4 qt5/moctest.cpp b/test cases/frameworks/4 qt5/moctest.cpp deleted file mode 100644 index e0748f0f2..000000000 --- a/test cases/frameworks/4 qt5/moctest.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include - -int mocfunc(); - -int main(int argc, char **argv) { - QCoreApplication app(argc, argv); - - return mocfunc(); -}