aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2014-04-11 23:23:05 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2014-04-11 23:23:05 +0300
commit55dba78889a7a09fdc5d6a2b0b2033861513824d (patch)
tree3a760806653546f16f57967cb1257cb2a4ea767d
parent44361baff18d3b33a0b0299a5c6f847938521e21 (diff)
downloadmeson-55dba78889a7a09fdc5d6a2b0b2033861513824d.zip
meson-55dba78889a7a09fdc5d6a2b0b2033861513824d.tar.gz
meson-55dba78889a7a09fdc5d6a2b0b2033861513824d.tar.bz2
Follow Qt standards w.r.t. moc file including.
-rw-r--r--ninjabackend.py11
-rw-r--r--test cases/frameworks/4 qt5/manualinclude.cpp3
-rw-r--r--test cases/frameworks/4 qt5/manualinclude.h7
-rw-r--r--test cases/frameworks/4 qt5/meson.build14
-rw-r--r--test cases/frameworks/4 qt5/moctest.cpp9
5 files changed, 13 insertions, 31 deletions
diff --git a/ninjabackend.py b/ninjabackend.py
index 7d7d91b..8215959 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 b5f5674..3a96adf 100644
--- a/test cases/frameworks/4 qt5/manualinclude.cpp
+++ b/test cases/frameworks/4 qt5/manualinclude.cpp
@@ -1,7 +1,8 @@
#include<QCoreApplication>
#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 c81c20e..4a00b6c 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<QObject>
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 53bf1a8..3f0770e 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 e0748f0..0000000
--- a/test cases/frameworks/4 qt5/moctest.cpp
+++ /dev/null
@@ -1,9 +0,0 @@
-#include<QCoreApplication>
-
-int mocfunc();
-
-int main(int argc, char **argv) {
- QCoreApplication app(argc, argv);
-
- return mocfunc();
-}