diff options
author | Alex Neundorf <neundorf@kde.org> | 2011-10-22 17:38:39 (GMT) |
---|---|---|
committer | Alex Neundorf <neundorf@kde.org> | 2011-10-22 17:38:39 (GMT) |
commit | 56aa6ffae75dd2567d2041147774bb1a9a3a1bdf (patch) | |
tree | 378c183d5b02a87b81b667d6f6498b45e2921bb8 /Tests | |
parent | af772893b856b50697f18c9bb7b1a0fb326cf715 (diff) | |
download | CMake-56aa6ffae75dd2567d2041147774bb1a9a3a1bdf.zip CMake-56aa6ffae75dd2567d2041147774bb1a9a3a1bdf.tar.gz CMake-56aa6ffae75dd2567d2041147774bb1a9a3a1bdf.tar.bz2 |
automoc:run moc on the header if the source file contains include "foo.moc"
This fixes #12533.
Before automoc did not check the header if the source file contained a
statement, now it does.
Additionally, moc is now only run on explicitely listed headers which
contain a Q_OBJECT macro.
Alex
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/QtAutomoc/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Tests/QtAutomoc/foo.cpp | 26 | ||||
-rw-r--r-- | Tests/QtAutomoc/foo.h | 15 | ||||
-rw-r--r-- | Tests/QtAutomoc/main.cpp | 4 |
4 files changed, 46 insertions, 1 deletions
diff --git a/Tests/QtAutomoc/CMakeLists.txt b/Tests/QtAutomoc/CMakeLists.txt index 4a5ff10..01f6bea 100644 --- a/Tests/QtAutomoc/CMakeLists.txt +++ b/Tests/QtAutomoc/CMakeLists.txt @@ -13,7 +13,7 @@ add_definitions(-DFOO) # create an executable and a library target, both requiring automoc: add_library(codeeditorLib STATIC codeeditor.cpp) -add_executable(foo main.cpp calwidget.cpp ) +add_executable(foo main.cpp calwidget.cpp foo.cpp) set_target_properties(foo codeeditorLib PROPERTIES AUTOMOC TRUE) diff --git a/Tests/QtAutomoc/foo.cpp b/Tests/QtAutomoc/foo.cpp new file mode 100644 index 0000000..a7a4783 --- /dev/null +++ b/Tests/QtAutomoc/foo.cpp @@ -0,0 +1,26 @@ +#include "foo.h" + +#include <stdio.h> + +class FooFoo : public QObject +{ + Q_OBJECT + public: + FooFoo():QObject() {} + public slots: + int getValue() const { return 12; } +}; + +Foo::Foo() +:QObject() +{ +} + + +void Foo::doFoo() +{ + FooFoo ff; + printf("Hello automoc: %d\n", ff.getValue()); +} + +#include "foo.moc" diff --git a/Tests/QtAutomoc/foo.h b/Tests/QtAutomoc/foo.h new file mode 100644 index 0000000..7323ff3 --- /dev/null +++ b/Tests/QtAutomoc/foo.h @@ -0,0 +1,15 @@ +#ifndef FOO_H +#define FOO_H + +#include <QObject> + +class Foo : public QObject +{ + Q_OBJECT + public: + Foo(); + public slots: + void doFoo(); +}; + +#endif diff --git a/Tests/QtAutomoc/main.cpp b/Tests/QtAutomoc/main.cpp index 7bf4a5d..b7cfb41 100644 --- a/Tests/QtAutomoc/main.cpp +++ b/Tests/QtAutomoc/main.cpp @@ -42,6 +42,7 @@ #include "codeeditor.h" #include "calwidget.h" +#include "foo.h" int main(int argv, char **args) { @@ -54,5 +55,8 @@ int main(int argv, char **args) Window w; w.show(); + Foo foo; + foo.doFoo(); + return app.exec(); } |