Browse Source

QtAutogen tests: Move the complex test case to a subdirectory

Sebastian Holtermann 9 years ago
parent
commit
c4d4becf8b
57 changed files with 89 additions and 84 deletions
  1. 1 1
      Tests/CMakeLists.txt
  2. 10 83
      Tests/QtAutogen/CMakeLists.txt
  3. 0 0
      Tests/QtAutogen/complex/Adir/CMakeLists.txt
  4. 0 0
      Tests/QtAutogen/complex/Adir/libA.cpp
  5. 0 0
      Tests/QtAutogen/complex/Adir/libA.h
  6. 0 0
      Tests/QtAutogen/complex/Bdir/CMakeLists.txt
  7. 0 0
      Tests/QtAutogen/complex/Bdir/libB.cpp
  8. 0 0
      Tests/QtAutogen/complex/Bdir/libB.h
  9. 78 0
      Tests/QtAutogen/complex/CMakeLists.txt
  10. 0 0
      Tests/QtAutogen/complex/abc.cpp
  11. 0 0
      Tests/QtAutogen/complex/abc.h
  12. 0 0
      Tests/QtAutogen/complex/abc_p.h
  13. 0 0
      Tests/QtAutogen/complex/bar.cpp
  14. 0 0
      Tests/QtAutogen/complex/blub.cpp
  15. 0 0
      Tests/QtAutogen/complex/blub.h
  16. 0 0
      Tests/QtAutogen/complex/calwidget.cpp
  17. 0 0
      Tests/QtAutogen/complex/calwidget.h
  18. 0 0
      Tests/QtAutogen/complex/calwidget.ui
  19. 0 0
      Tests/QtAutogen/complex/codeeditor.cpp
  20. 0 0
      Tests/QtAutogen/complex/codeeditor.h
  21. 0 0
      Tests/QtAutogen/complex/debug_class.cpp
  22. 0 0
      Tests/QtAutogen/complex/debug_class.h
  23. 0 0
      Tests/QtAutogen/complex/debug_class.ui
  24. 0 0
      Tests/QtAutogen/complex/debug_resource.qrc
  25. 0 0
      Tests/QtAutogen/complex/foo.cpp
  26. 0 0
      Tests/QtAutogen/complex/foo.h
  27. 0 0
      Tests/QtAutogen/complex/gadget.cpp
  28. 0 0
      Tests/QtAutogen/complex/gadget.h
  29. 0 0
      Tests/QtAutogen/complex/generated.cpp
  30. 0 0
      Tests/QtAutogen/complex/generated.h
  31. 0 0
      Tests/QtAutogen/complex/generated.txt.in
  32. 0 0
      Tests/QtAutogen/complex/generated_resource.qrc.in
  33. 0 0
      Tests/QtAutogen/complex/libC.cpp
  34. 0 0
      Tests/QtAutogen/complex/libC.h
  35. 0 0
      Tests/QtAutogen/complex/main.cpp
  36. 0 0
      Tests/QtAutogen/complex/multiplewidgets.cpp
  37. 0 0
      Tests/QtAutogen/complex/multiplewidgets.h
  38. 0 0
      Tests/QtAutogen/complex/myinterface.h.in
  39. 0 0
      Tests/QtAutogen/complex/myotherinterface.h.in
  40. 0 0
      Tests/QtAutogen/complex/private_slot.cpp
  41. 0 0
      Tests/QtAutogen/complex/private_slot.h
  42. 0 0
      Tests/QtAutogen/complex/resourcetester.cpp
  43. 0 0
      Tests/QtAutogen/complex/resourcetester.h
  44. 0 0
      Tests/QtAutogen/complex/second_resource.qrc
  45. 0 0
      Tests/QtAutogen/complex/second_widget.cpp
  46. 0 0
      Tests/QtAutogen/complex/second_widget.h
  47. 0 0
      Tests/QtAutogen/complex/second_widget.ui
  48. 0 0
      Tests/QtAutogen/complex/sub/bar.h
  49. 0 0
      Tests/QtAutogen/complex/targetObjectsTest.cpp
  50. 0 0
      Tests/QtAutogen/complex/test.qrc
  51. 0 0
      Tests/QtAutogen/complex/widget1.ui
  52. 0 0
      Tests/QtAutogen/complex/widget2.ui
  53. 0 0
      Tests/QtAutogen/complex/xyz.cpp
  54. 0 0
      Tests/QtAutogen/complex/xyz.h
  55. 0 0
      Tests/QtAutogen/complex/yaf.cpp
  56. 0 0
      Tests/QtAutogen/complex/yaf.h
  57. 0 0
      Tests/QtAutogen/complex/yaf_p.h

+ 1 - 1
Tests/CMakeLists.txt

@@ -1243,7 +1243,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
     set(run_autogen_test ${CMAKE_CTEST_COMMAND} -V)
     set(run_autouic_test ${CMAKE_CTEST_COMMAND} -V)
   else()
-    set(run_autogen_test QtAutogen)
+    set(run_autogen_test complex/QtAutogen)
     set(run_autouic_test QtAutoUicInterface)
   endif()
   if(NOT CMAKE_CONFIGURATION_TYPES)

+ 10 - 83
Tests/QtAutogen/CMakeLists.txt

@@ -44,6 +44,8 @@ else()
 
 endif()
 
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
 # -- Test: AUTORCC
 # RCC only
 add_executable(rccOnly rccOnly.cpp rccOnlyRes.qrc)
@@ -63,89 +65,6 @@ add_executable(uicOnly uicOnlySource/uiconly.cpp ${uicOnlyMoc})
 set_property(TARGET uicOnly PROPERTY AUTOUIC ON)
 target_link_libraries(uicOnly ${QT_LIBRARIES})
 
-# -- Test: AUTOMOC AUTORCC
-# Source files with the same basename in different subdirectories
-add_subdirectory(sameName)
-
-# -- Test: AUTOMOC AUTORCC AUTOUIC
-include_directories(${CMAKE_CURRENT_BINARY_DIR})
-add_definitions(-DFOO -DSomeDefine="Barx")
-
-# enable relaxed mode so automoc can handle all the special cases:
-set(CMAKE_AUTOMOC_RELAXED_MODE TRUE)
-
-set(CMAKE_AUTOUIC ON)
-set(CMAKE_AUTORCC ON)
-
-# create an executable and two library targets, each requiring automoc:
-add_library(codeeditorLib STATIC codeeditor.cpp)
-
-add_library(privateSlot OBJECT private_slot.cpp)
-
-configure_file(generated_resource.qrc.in generated_resource.qrc @ONLY)
-add_custom_command(
-  OUTPUT generated.txt
-  COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/generated.txt.in" "${CMAKE_CURRENT_BINARY_DIR}/generated.txt"
-  DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/generated.txt.in"
-  )
-
-add_custom_target(generate_moc_input
-  DEPENDS generated.txt
-  COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/myinterface.h.in" "${CMAKE_CURRENT_BINARY_DIR}"
-  COMMAND ${CMAKE_COMMAND} -E rename "${CMAKE_CURRENT_BINARY_DIR}/myinterface.h.in" "${CMAKE_CURRENT_BINARY_DIR}/myinterface.h"
-)
-
-add_custom_command(
-  OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/myotherinterface.h"
-  COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/myotherinterface.h.in" "${CMAKE_CURRENT_BINARY_DIR}/myotherinterface.h"
-  DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/myotherinterface.h.in"
-)
-
-if (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_GENERATOR STREQUAL Ninja)
-  set(debug_srcs "$<$<CONFIG:Debug>:debug_class.cpp>" $<$<CONFIG:Debug>:debug_resource.qrc>)
-  set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:TEST_DEBUG_CLASS>)
-endif()
-
-# The -no-protection option disables the generation of include guards.  Verify
-# that setting the source file property has an effect by using this and
-# issue an error in the preprocessor in calwidget.cpp if the include guard
-# is defined.
-set_source_files_properties(calwidget.ui PROPERTIES AUTOUIC_OPTIONS "-no-protection")
-
-add_executable(QtAutogen main.cpp calwidget.cpp second_widget.cpp foo.cpp blub.cpp bar.cpp abc.cpp
-               multiplewidgets.cpp
-               xyz.cpp yaf.cpp gadget.cpp $<TARGET_OBJECTS:privateSlot>
-               test.qrc second_resource.qrc resourcetester.cpp generated.cpp ${debug_srcs}
-               ${CMAKE_CURRENT_BINARY_DIR}/generated_resource.qrc
-)
-set_property(TARGET QtAutogen APPEND PROPERTY AUTOGEN_TARGET_DEPENDS generate_moc_input "${CMAKE_CURRENT_BINARY_DIR}/myotherinterface.h")
-
-add_executable(targetObjectsTest targetObjectsTest.cpp $<TARGET_OBJECTS:privateSlot>)
-target_link_libraries(targetObjectsTest ${QT_LIBRARIES})
-
-set_target_properties(
-  QtAutogen codeeditorLib privateSlot targetObjectsTest
-  PROPERTIES
-  AUTOMOC TRUE
-)
-
-
-include(GenerateExportHeader)
-# The order is relevant here. B depends on A, and B headers depend on A
-# headers both subdirectories use CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE and we
-# test that CMAKE_AUTOMOC successfully reads the include directories
-# for the build interface from those targets. There has previously been
-# a bug where caching of the include directories happened before
-# extracting the includes to pass to moc.
-add_subdirectory(Bdir)
-add_subdirectory(Adir)
-add_library(libC SHARED libC.cpp)
-set_target_properties(libC PROPERTIES AUTOMOC TRUE)
-generate_export_header(libC)
-target_link_libraries(libC LINK_PUBLIC libB)
-
-target_link_libraries(QtAutogen codeeditorLib ${QT_LIBRARIES} libC)
-
 # -- Test: AUTOMOC, AUTORCC
 # Add not_generated_file.qrc to the source list to get the file-level
 # dependency, but don't generate a c++ file from it.  Disable the AUTORCC
@@ -217,3 +136,11 @@ execute_process(COMMAND "${CMAKE_COMMAND}" --build .
 if (automoc_rerun_result)
   message(SEND_ERROR "Second build of automoc_rerun failed.")
 endif()
+
+# -- Test: AUTOMOC AUTORCC
+# Source files with the same basename in different subdirectories
+add_subdirectory(sameName)
+
+# -- Test: AUTOMOC AUTORCC AUTOUIC
+# Complex test case
+add_subdirectory(complex)

+ 0 - 0
Tests/QtAutogen/Adir/CMakeLists.txt → Tests/QtAutogen/complex/Adir/CMakeLists.txt


+ 0 - 0
Tests/QtAutogen/Adir/libA.cpp → Tests/QtAutogen/complex/Adir/libA.cpp


+ 0 - 0
Tests/QtAutogen/Adir/libA.h → Tests/QtAutogen/complex/Adir/libA.h


+ 0 - 0
Tests/QtAutogen/Bdir/CMakeLists.txt → Tests/QtAutogen/complex/Bdir/CMakeLists.txt


+ 0 - 0
Tests/QtAutogen/Bdir/libB.cpp → Tests/QtAutogen/complex/Bdir/libB.cpp


+ 0 - 0
Tests/QtAutogen/Bdir/libB.h → Tests/QtAutogen/complex/Bdir/libB.h


+ 78 - 0
Tests/QtAutogen/complex/CMakeLists.txt

@@ -0,0 +1,78 @@
+cmake_minimum_required(VERSION 3.1)
+
+# -- Test: AUTOMOC AUTORCC AUTOUIC
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+add_definitions(-DFOO -DSomeDefine="Barx")
+
+# enable relaxed mode so automoc can handle all the special cases:
+set(CMAKE_AUTOMOC_RELAXED_MODE TRUE)
+set(CMAKE_AUTOUIC ON)
+set(CMAKE_AUTORCC ON)
+
+# create an executable and two library targets, each requiring automoc:
+add_library(codeeditorLib STATIC codeeditor.cpp)
+add_library(privateSlot OBJECT private_slot.cpp)
+
+configure_file(generated_resource.qrc.in generated_resource.qrc @ONLY)
+add_custom_command(
+  OUTPUT generated.txt
+  COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/generated.txt.in" "${CMAKE_CURRENT_BINARY_DIR}/generated.txt"
+  DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/generated.txt.in"
+  )
+
+add_custom_target(generate_moc_input
+  DEPENDS generated.txt
+  COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/myinterface.h.in" "${CMAKE_CURRENT_BINARY_DIR}"
+  COMMAND ${CMAKE_COMMAND} -E rename "${CMAKE_CURRENT_BINARY_DIR}/myinterface.h.in" "${CMAKE_CURRENT_BINARY_DIR}/myinterface.h"
+)
+
+add_custom_command(
+  OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/myotherinterface.h"
+  COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/myotherinterface.h.in" "${CMAKE_CURRENT_BINARY_DIR}/myotherinterface.h"
+  DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/myotherinterface.h.in"
+)
+
+if (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_GENERATOR STREQUAL Ninja)
+  set(debug_srcs "$<$<CONFIG:Debug>:debug_class.cpp>" $<$<CONFIG:Debug>:debug_resource.qrc>)
+  set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:TEST_DEBUG_CLASS>)
+endif()
+
+# The -no-protection option disables the generation of include guards.  Verify
+# that setting the source file property has an effect by using this and
+# issue an error in the preprocessor in calwidget.cpp if the include guard
+# is defined.
+set_source_files_properties(calwidget.ui PROPERTIES AUTOUIC_OPTIONS "-no-protection")
+
+add_executable(QtAutogen main.cpp calwidget.cpp second_widget.cpp foo.cpp blub.cpp bar.cpp abc.cpp
+               multiplewidgets.cpp
+               xyz.cpp yaf.cpp gadget.cpp $<TARGET_OBJECTS:privateSlot>
+               test.qrc second_resource.qrc resourcetester.cpp generated.cpp ${debug_srcs}
+               ${CMAKE_CURRENT_BINARY_DIR}/generated_resource.qrc
+)
+set_property(TARGET QtAutogen APPEND PROPERTY AUTOGEN_TARGET_DEPENDS generate_moc_input "${CMAKE_CURRENT_BINARY_DIR}/myotherinterface.h")
+
+add_executable(targetObjectsTest targetObjectsTest.cpp $<TARGET_OBJECTS:privateSlot>)
+target_link_libraries(targetObjectsTest ${QT_LIBRARIES})
+
+set_target_properties(
+  QtAutogen codeeditorLib privateSlot targetObjectsTest
+  PROPERTIES
+  AUTOMOC TRUE
+)
+
+
+include(GenerateExportHeader)
+# The order is relevant here. B depends on A, and B headers depend on A
+# headers both subdirectories use CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE and we
+# test that CMAKE_AUTOMOC successfully reads the include directories
+# for the build interface from those targets. There has previously been
+# a bug where caching of the include directories happened before
+# extracting the includes to pass to moc.
+add_subdirectory(Bdir)
+add_subdirectory(Adir)
+add_library(libC SHARED libC.cpp)
+set_target_properties(libC PROPERTIES AUTOMOC TRUE)
+generate_export_header(libC)
+target_link_libraries(libC LINK_PUBLIC libB)
+
+target_link_libraries(QtAutogen codeeditorLib ${QT_LIBRARIES} libC)

+ 0 - 0
Tests/QtAutogen/abc.cpp → Tests/QtAutogen/complex/abc.cpp


+ 0 - 0
Tests/QtAutogen/abc.h → Tests/QtAutogen/complex/abc.h


+ 0 - 0
Tests/QtAutogen/abc_p.h → Tests/QtAutogen/complex/abc_p.h


+ 0 - 0
Tests/QtAutogen/bar.cpp → Tests/QtAutogen/complex/bar.cpp


+ 0 - 0
Tests/QtAutogen/blub.cpp → Tests/QtAutogen/complex/blub.cpp


+ 0 - 0
Tests/QtAutogen/blub.h → Tests/QtAutogen/complex/blub.h


+ 0 - 0
Tests/QtAutogen/calwidget.cpp → Tests/QtAutogen/complex/calwidget.cpp


+ 0 - 0
Tests/QtAutogen/calwidget.h → Tests/QtAutogen/complex/calwidget.h


+ 0 - 0
Tests/QtAutogen/calwidget.ui → Tests/QtAutogen/complex/calwidget.ui


+ 0 - 0
Tests/QtAutogen/codeeditor.cpp → Tests/QtAutogen/complex/codeeditor.cpp


+ 0 - 0
Tests/QtAutogen/codeeditor.h → Tests/QtAutogen/complex/codeeditor.h


+ 0 - 0
Tests/QtAutogen/debug_class.cpp → Tests/QtAutogen/complex/debug_class.cpp


+ 0 - 0
Tests/QtAutogen/debug_class.h → Tests/QtAutogen/complex/debug_class.h


+ 0 - 0
Tests/QtAutogen/debug_class.ui → Tests/QtAutogen/complex/debug_class.ui


+ 0 - 0
Tests/QtAutogen/debug_resource.qrc → Tests/QtAutogen/complex/debug_resource.qrc


+ 0 - 0
Tests/QtAutogen/foo.cpp → Tests/QtAutogen/complex/foo.cpp


+ 0 - 0
Tests/QtAutogen/foo.h → Tests/QtAutogen/complex/foo.h


+ 0 - 0
Tests/QtAutogen/gadget.cpp → Tests/QtAutogen/complex/gadget.cpp


+ 0 - 0
Tests/QtAutogen/gadget.h → Tests/QtAutogen/complex/gadget.h


+ 0 - 0
Tests/QtAutogen/generated.cpp → Tests/QtAutogen/complex/generated.cpp


+ 0 - 0
Tests/QtAutogen/generated.h → Tests/QtAutogen/complex/generated.h


+ 0 - 0
Tests/QtAutogen/generated.txt.in → Tests/QtAutogen/complex/generated.txt.in


+ 0 - 0
Tests/QtAutogen/generated_resource.qrc.in → Tests/QtAutogen/complex/generated_resource.qrc.in


+ 0 - 0
Tests/QtAutogen/libC.cpp → Tests/QtAutogen/complex/libC.cpp


+ 0 - 0
Tests/QtAutogen/libC.h → Tests/QtAutogen/complex/libC.h


+ 0 - 0
Tests/QtAutogen/main.cpp → Tests/QtAutogen/complex/main.cpp


+ 0 - 0
Tests/QtAutogen/multiplewidgets.cpp → Tests/QtAutogen/complex/multiplewidgets.cpp


+ 0 - 0
Tests/QtAutogen/multiplewidgets.h → Tests/QtAutogen/complex/multiplewidgets.h


+ 0 - 0
Tests/QtAutogen/myinterface.h.in → Tests/QtAutogen/complex/myinterface.h.in


+ 0 - 0
Tests/QtAutogen/myotherinterface.h.in → Tests/QtAutogen/complex/myotherinterface.h.in


+ 0 - 0
Tests/QtAutogen/private_slot.cpp → Tests/QtAutogen/complex/private_slot.cpp


+ 0 - 0
Tests/QtAutogen/private_slot.h → Tests/QtAutogen/complex/private_slot.h


+ 0 - 0
Tests/QtAutogen/resourcetester.cpp → Tests/QtAutogen/complex/resourcetester.cpp


+ 0 - 0
Tests/QtAutogen/resourcetester.h → Tests/QtAutogen/complex/resourcetester.h


+ 0 - 0
Tests/QtAutogen/second_resource.qrc → Tests/QtAutogen/complex/second_resource.qrc


+ 0 - 0
Tests/QtAutogen/second_widget.cpp → Tests/QtAutogen/complex/second_widget.cpp


+ 0 - 0
Tests/QtAutogen/second_widget.h → Tests/QtAutogen/complex/second_widget.h


+ 0 - 0
Tests/QtAutogen/second_widget.ui → Tests/QtAutogen/complex/second_widget.ui


+ 0 - 0
Tests/QtAutogen/sub/bar.h → Tests/QtAutogen/complex/sub/bar.h


+ 0 - 0
Tests/QtAutogen/targetObjectsTest.cpp → Tests/QtAutogen/complex/targetObjectsTest.cpp


+ 0 - 0
Tests/QtAutogen/test.qrc → Tests/QtAutogen/complex/test.qrc


+ 0 - 0
Tests/QtAutogen/widget1.ui → Tests/QtAutogen/complex/widget1.ui


+ 0 - 0
Tests/QtAutogen/widget2.ui → Tests/QtAutogen/complex/widget2.ui


+ 0 - 0
Tests/QtAutogen/xyz.cpp → Tests/QtAutogen/complex/xyz.cpp


+ 0 - 0
Tests/QtAutogen/xyz.h → Tests/QtAutogen/complex/xyz.h


+ 0 - 0
Tests/QtAutogen/yaf.cpp → Tests/QtAutogen/complex/yaf.cpp


+ 0 - 0
Tests/QtAutogen/yaf.h → Tests/QtAutogen/complex/yaf.h


+ 0 - 0
Tests/QtAutogen/yaf_p.h → Tests/QtAutogen/complex/yaf_p.h