From 5c0f2a131f358ac11da52a919f637b57d34cc544 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Wed, 15 May 2013 19:17:41 +0200 Subject: Test the use of target transitive compile definitions with moc. --- Tests/QtAutomoc/CMakeLists.txt | 3 +++ Tests/QtAutomoc/defines_test/CMakeLists.txt | 6 +++++ Tests/QtAutomoc/defines_test/defines_test.cpp | 38 +++++++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 Tests/QtAutomoc/defines_test/CMakeLists.txt create mode 100644 Tests/QtAutomoc/defines_test/defines_test.cpp diff --git a/Tests/QtAutomoc/CMakeLists.txt b/Tests/QtAutomoc/CMakeLists.txt index 49d433f..a18baef 100644 --- a/Tests/QtAutomoc/CMakeLists.txt +++ b/Tests/QtAutomoc/CMakeLists.txt @@ -5,6 +5,9 @@ project(QtAutomoc) if (QT_TEST_VERSION STREQUAL 4) find_package(Qt4 REQUIRED) + # Include this directory before using the UseQt4 file. + add_subdirectory(defines_test) + include(UseQt4) set(QT_QTCORE_TARGET Qt4::QtCore) diff --git a/Tests/QtAutomoc/defines_test/CMakeLists.txt b/Tests/QtAutomoc/defines_test/CMakeLists.txt new file mode 100644 index 0000000..ad4e684 --- /dev/null +++ b/Tests/QtAutomoc/defines_test/CMakeLists.txt @@ -0,0 +1,6 @@ + +include_directories(${CMAKE_CURRENT_BINARY_DIR}) + +add_executable(defines_test defines_test.cpp) +set_target_properties(defines_test PROPERTIES AUTOMOC TRUE) +target_link_libraries(defines_test Qt4::QtGui) diff --git a/Tests/QtAutomoc/defines_test/defines_test.cpp b/Tests/QtAutomoc/defines_test/defines_test.cpp new file mode 100644 index 0000000..2836d35 --- /dev/null +++ b/Tests/QtAutomoc/defines_test/defines_test.cpp @@ -0,0 +1,38 @@ + +#include + +#ifdef QT_GUI_LIB +#include + +class SomeDocument : public QTextDocument +{ + Q_OBJECT + +Q_SIGNALS: + void someSig(); +}; +#endif + +#ifdef QT_CORE_LIB +class SomeObject : public QObject +{ + Q_OBJECT + +Q_SIGNALS: + void someSig(); +}; +#endif + +int main(int argc, char **argv) +{ +#ifdef QT_CORE_LIB + QMetaObject sosmo = SomeObject::staticMetaObject; +#endif +#ifdef QT_GUI_LIB + QMetaObject sdsmo = SomeDocument::staticMetaObject; +#endif + + return 0; +} + +#include "defines_test.moc" -- cgit v0.12