Browse Source

Autogen: Test: Add generated file to moc rerun test

Sebastian Holtermann 8 years ago
parent
commit
81656b9210

+ 12 - 6
Tests/QtAutogen/mocRerun/CMakeLists.txt

@@ -17,13 +17,19 @@ set(CMAKE_AUTOMOC ON)
 set(CMAKE_AUTORCC ON)
 
 configure_file(test1a.h.in test1.h COPYONLY)
+# Generated source file
+add_custom_command(OUTPUT main.cpp
+                   COMMAND ${CMAKE_COMMAND} -E sleep 3
+                   COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/main.cpp
+                   )
 
-add_executable(test1
+add_executable(mocRerun
   ${CMAKE_CURRENT_BINARY_DIR}/test1.h
-  test1.cpp
+  ${CMAKE_CURRENT_BINARY_DIR}/main.cpp
   res1.qrc
   )
-target_include_directories(test1 PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
-target_link_libraries(test1 ${QT_CORE_TARGET})
-add_custom_command(TARGET test1 POST_BUILD COMMAND
-  ${CMAKE_COMMAND} -E echo "$<TARGET_FILE:test1>" > target1.txt)
+target_include_directories(mocRerun PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
+target_link_libraries(mocRerun ${QT_CORE_TARGET})
+# Write target name to text file
+add_custom_command(TARGET mocRerun POST_BUILD COMMAND
+  ${CMAKE_COMMAND} -E echo "$<TARGET_FILE:mocRerun>" > target1.txt)

+ 18 - 0
Tests/QtAutogen/mocRerun/main.cpp.in

@@ -0,0 +1,18 @@
+#include "test1.h"
+
+class Test2 : public QObject
+{
+  Q_OBJECT
+public slots:
+  void onTst1() {}
+};
+
+int main()
+{
+  Test1 test1;
+  Test2 test2;
+
+  return 0;
+}
+
+#include "main.moc"

+ 0 - 5
Tests/QtAutogen/mocRerun/test1.cpp

@@ -1,5 +0,0 @@
-#include "test1.h"
-int main()
-{
-  return 0;
-}

+ 4 - 4
Tests/QtAutogen/mocRerun/test1a.h.in

@@ -1,8 +1,8 @@
 #include <QObject>
-class test1 : public QObject
+class Test1 : public QObject
 {
   Q_OBJECT
- public slots:
-   void onTst1() {}
-   void onTst2() {}
+public slots:
+  void onTst1() {}
+  void onTst2() {}
 };

+ 3 - 3
Tests/QtAutogen/mocRerun/test1b.h.in

@@ -1,7 +1,7 @@
 #include <QObject>
-class test1 : public QObject
+class Test1 : public QObject
 {
   Q_OBJECT
- public slots:
-   void onTst1() {}
+public slots:
+  void onTst1() {}
 };