Explorar el Código

Merge topic 'autogen_uic_empty_fix'

5f0f84c7e0 Autogen: Don't add a WIN32 moc definition if we have a moc_predefs.h file
0814d74548 Autogen: Add QtAutogen.UicNoGui test
2ef640819f Autogen: Tests: Differentiate between Qt core and Qt gui tests

Acked-by: Kitware Robot <[email protected]>
Merge-request: !2668
Brad King hace 6 años
padre
commit
a722316bcb
Se han modificado 52 ficheros con 159 adiciones y 56 borrados
  1. 6 0
      Source/cmQtAutoGenInitializer.cxx
  2. 0 10
      Source/cmQtAutoGeneratorMocUic.cxx
  3. 55 0
      Tests/QtAutogen/AutogenCoreTest.cmake
  4. 5 3
      Tests/QtAutogen/AutogenGuiTest.cmake
  5. 1 1
      Tests/QtAutogen/AutogenOriginDependsOff/CMakeLists.txt
  6. 1 1
      Tests/QtAutogen/AutogenOriginDependsOn/CMakeLists.txt
  7. 1 1
      Tests/QtAutogen/AutogenTargetDepends/CMakeLists.txt
  8. 1 1
      Tests/QtAutogen/Complex/CMakeLists.txt
  9. 1 1
      Tests/QtAutogen/GlobalAutogenTarget/CMakeLists.txt
  10. 1 1
      Tests/QtAutogen/GlobalAutogenTarget/GAT/CMakeLists.txt
  11. 1 1
      Tests/QtAutogen/LowMinimumVersion/CMakeLists.txt
  12. 1 1
      Tests/QtAutogen/MacOsFW/CMakeLists.txt
  13. 1 1
      Tests/QtAutogen/MocCMP0071/CMakeLists.txt
  14. 1 1
      Tests/QtAutogen/MocIncludeRelaxed/CMakeLists.txt
  15. 1 1
      Tests/QtAutogen/MocIncludeStrict/CMakeLists.txt
  16. 1 1
      Tests/QtAutogen/MocMacroName/CMakeLists.txt
  17. 1 1
      Tests/QtAutogen/MocOnly/CMakeLists.txt
  18. 1 1
      Tests/QtAutogen/MocOptions/CMakeLists.txt
  19. 1 1
      Tests/QtAutogen/MocOsMacros/CMakeLists.txt
  20. 1 1
      Tests/QtAutogen/MocSkipSource/CMakeLists.txt
  21. 1 1
      Tests/QtAutogen/ObjectLibrary/CMakeLists.txt
  22. 1 1
      Tests/QtAutogen/Parallel/CMakeLists.txt
  23. 1 1
      Tests/QtAutogen/Parallel1/CMakeLists.txt
  24. 1 1
      Tests/QtAutogen/Parallel2/CMakeLists.txt
  25. 1 1
      Tests/QtAutogen/Parallel3/CMakeLists.txt
  26. 1 1
      Tests/QtAutogen/Parallel4/CMakeLists.txt
  27. 1 1
      Tests/QtAutogen/ParallelAUTO/CMakeLists.txt
  28. 1 1
      Tests/QtAutogen/RccEmpty/CMakeLists.txt
  29. 1 1
      Tests/QtAutogen/RccOffMocLibrary/CMakeLists.txt
  30. 1 1
      Tests/QtAutogen/RccOnly/CMakeLists.txt
  31. 1 1
      Tests/QtAutogen/RccSkipSource/CMakeLists.txt
  32. 1 1
      Tests/QtAutogen/RerunMocBasic/CMakeLists.txt
  33. 1 1
      Tests/QtAutogen/RerunMocBasic/MocBasic/CMakeLists.txt
  34. 1 1
      Tests/QtAutogen/RerunMocPlugin/CMakeLists.txt
  35. 1 1
      Tests/QtAutogen/RerunMocPlugin/MocPlugin/CMakeLists.txt
  36. 1 1
      Tests/QtAutogen/RerunRccConfigChange/CMakeLists.txt
  37. 1 1
      Tests/QtAutogen/RerunRccConfigChange/RccConfigChange/CMakeLists.txt
  38. 1 1
      Tests/QtAutogen/RerunRccDepends/CMakeLists.txt
  39. 1 1
      Tests/QtAutogen/RerunRccDepends/RccDepends/CMakeLists.txt
  40. 1 1
      Tests/QtAutogen/SameName/CMakeLists.txt
  41. 1 1
      Tests/QtAutogen/StaticLibraryCycle/CMakeLists.txt
  42. 1 0
      Tests/QtAutogen/Tests.cmake
  43. 1 1
      Tests/QtAutogen/UicInclude/CMakeLists.txt
  44. 3 3
      Tests/QtAutogen/UicInterface/CMakeLists.txt
  45. 16 0
      Tests/QtAutogen/UicNoGui/CMakeLists.txt
  46. 3 0
      Tests/QtAutogen/UicNoGui/MocOnly/CMakeLists.txt
  47. 15 0
      Tests/QtAutogen/UicNoGui/MocOnly/main.cpp
  48. 2 0
      Tests/QtAutogen/UicNoGui/NoQt/CMakeLists.txt
  49. 4 0
      Tests/QtAutogen/UicNoGui/NoQt/main.cpp
  50. 9 0
      Tests/QtAutogen/UicNoGui/main.cpp
  51. 1 1
      Tests/QtAutogen/UicOnly/CMakeLists.txt
  52. 1 1
      Tests/QtAutogen/UicSkipSource/CMakeLists.txt

+ 6 - 0
Source/cmQtAutoGenInitializer.cxx

@@ -521,6 +521,12 @@ bool cmQtAutoGenInitializer::InitMoc()
       [this, localGen](std::string const& cfg) -> std::set<std::string> {
       std::set<std::string> defines;
       localGen->GetTargetDefines(this->Target, cfg, "CXX", defines);
+#ifdef _WIN32
+      if (this->Moc.PredefsCmd.empty()) {
+        // Add WIN32 definition if we don't have a moc_predefs.h
+        defines.insert("WIN32");
+      }
+#endif
       return defines;
     };
 

+ 0 - 10
Source/cmQtAutoGeneratorMocUic.cxx

@@ -1279,16 +1279,6 @@ bool cmQtAutoGeneratorMocUic::Init(cmMakefile* makefile)
       Moc_.SkipList.insert(lst.begin(), lst.end());
     }
     Moc_.Definitions = InfoGetConfigList("AM_MOC_DEFINITIONS");
-#ifdef _WIN32
-    {
-      std::string win32("WIN32");
-      auto itB = Moc().Definitions.cbegin();
-      auto itE = Moc().Definitions.cend();
-      if (std::find(itB, itE, win32) == itE) {
-        Moc_.Definitions.emplace_back(std::move(win32));
-      }
-    }
-#endif
     Moc_.IncludePaths = InfoGetConfigList("AM_MOC_INCLUDES");
     Moc_.Options = InfoGetList("AM_MOC_OPTIONS");
     Moc_.RelaxedMode = InfoGetBool("AM_MOC_RELAXED_MODE");

+ 55 - 0
Tests/QtAutogen/AutogenCoreTest.cmake

@@ -0,0 +1,55 @@
+
+# Tell find_package(Qt5) where to find Qt.
+if(QT_QMAKE_EXECUTABLE)
+  get_filename_component(Qt_BIN_DIR "${QT_QMAKE_EXECUTABLE}" PATH)
+  get_filename_component(Qt_PREFIX_DIR "${Qt_BIN_DIR}" PATH)
+  list(APPEND CMAKE_PREFIX_PATH ${Qt_PREFIX_DIR})
+endif()
+
+if (QT_TEST_VERSION EQUAL 4)
+
+  find_package(Qt4 REQUIRED QtCore)
+  include(UseQt4)
+
+  set(QT_QTCORE_TARGET Qt4::QtCore)
+
+  # Qt macros
+  macro(qtx_wrap_cpp)
+    qt4_wrap_cpp(${ARGN})
+  endmacro()
+  macro(qtx_generate_moc)
+    qt4_generate_moc(${ARGN})
+  endmacro()
+
+elseif(QT_TEST_VERSION EQUAL 5)
+
+  find_package(Qt5Core REQUIRED)
+
+  set(QT_QTCORE_TARGET Qt5::Core)
+  set(QT_LIBRARIES Qt5::Core)
+
+  # Include directories
+  include_directories(${Qt5Core_INCLUDE_DIRS})
+
+  # Definitions
+  if(Qt5_POSITION_INDEPENDENT_CODE AND CMAKE_CXX_COMPILE_OPTIONS_PIC)
+    add_definitions(${CMAKE_CXX_COMPILE_OPTIONS_PIC})
+  endif()
+
+  # Qt macros
+  macro(qtx_wrap_cpp)
+    qt5_wrap_cpp(${ARGN})
+  endmacro()
+  macro(qtx_generate_moc)
+    qt5_generate_moc(${ARGN})
+  endmacro()
+
+else()
+  message(SEND_ERROR "Invalid Qt version specified: ${QT_TEST_VERSION}")
+endif()
+
+# Get Qt compile features
+get_property(QT_COMPILE_FEATURES
+  TARGET ${QT_QTCORE_TARGET}
+  PROPERTY INTERFACE_COMPILE_FEATURES
+)

+ 5 - 3
Tests/QtAutogen/AutogenTest.cmake → Tests/QtAutogen/AutogenGuiTest.cmake

@@ -7,11 +7,11 @@ if(QT_QMAKE_EXECUTABLE)
 endif()
 
 if (QT_TEST_VERSION EQUAL 4)
+
   find_package(Qt4 REQUIRED)
   include(UseQt4)
 
   set(QT_QTCORE_TARGET Qt4::QtCore)
-  set(QT_QTGUI_TARGET Qt4::QtGui)
 
   # Qt macros
   macro(qtx_wrap_cpp)
@@ -22,14 +22,16 @@ if (QT_TEST_VERSION EQUAL 4)
   endmacro()
 
 elseif(QT_TEST_VERSION EQUAL 5)
+
   find_package(Qt5Widgets REQUIRED)
 
   set(QT_QTCORE_TARGET Qt5::Core)
-  set(QT_QTGUI_TARGET Qt5::Widgets)
+  set(QT_LIBRARIES Qt5::Widgets)
 
+  # Include directories
   include_directories(${Qt5Widgets_INCLUDE_DIRS})
-  set(QT_LIBRARIES Qt5::Widgets)
 
+  # Definitions
   if(Qt5_POSITION_INDEPENDENT_CODE AND CMAKE_CXX_COMPILE_OPTIONS_PIC)
     add_definitions(${CMAKE_CXX_COMPILE_OPTIONS_PIC})
   endif()

+ 1 - 1
Tests/QtAutogen/AutogenOriginDependsOff/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.11)
 project(AutogenOriginDependsOff)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 set(CSD ${CMAKE_CURRENT_SOURCE_DIR})
 set(CBD ${CMAKE_CURRENT_BINARY_DIR})

+ 1 - 1
Tests/QtAutogen/AutogenOriginDependsOn/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(AutogenOriginDependsOn)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 include_directories(${CMAKE_CURRENT_BINARY_DIR})
 set(CSD ${CMAKE_CURRENT_SOURCE_DIR})

+ 1 - 1
Tests/QtAutogen/AutogenTargetDepends/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(AutogenTargetDepends)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 include_directories(${CMAKE_CURRENT_BINARY_DIR})
 set(CSD ${CMAKE_CURRENT_SOURCE_DIR})

+ 1 - 1
Tests/QtAutogen/Complex/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(Complex)
-include("../AutogenTest.cmake")
+include("../AutogenGuiTest.cmake")
 
 # -- Test: AUTOMOC AUTORCC AUTOUIC
 add_definitions(-DFOO -DSomeDefine="Barx")

+ 1 - 1
Tests/QtAutogen/GlobalAutogenTarget/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.12)
 project(GlobalAutogenTarget)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 # This tests
 # CMAKE_GLOBAL_AUTOGEN_TARGET,

+ 1 - 1
Tests/QtAutogen/GlobalAutogenTarget/GAT/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.12)
 project(GAT)
-include("../../AutogenTest.cmake")
+include("../../AutogenCoreTest.cmake")
 
 # Include directories
 include_directories(${CMAKE_CURRENT_SOURCE_DIR})

+ 1 - 1
Tests/QtAutogen/LowMinimumVersion/CMakeLists.txt

@@ -1,7 +1,7 @@
 # Use a low minimum version
 cmake_minimum_required(VERSION 3.0)
 project(LowMinimumVersion)
-include("../AutogenTest.cmake")
+include("../AutogenGuiTest.cmake")
 
 set(CMAKE_AUTOMOC ON)
 set(CMAKE_AUTOUIC ON)

+ 1 - 1
Tests/QtAutogen/MacOsFW/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(MacOsFW)
-include("../AutogenTest.cmake")
+include("../AutogenGuiTest.cmake")
 
 find_package(Qt5Test REQUIRED)
 

+ 1 - 1
Tests/QtAutogen/MocCMP0071/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(MocCMP0071)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 add_subdirectory(OLD)
 add_subdirectory(NEW)

+ 1 - 1
Tests/QtAutogen/MocIncludeRelaxed/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(MocIncludeRelaxed)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 # Test moc include patterns
 set(CMAKE_AUTOMOC_RELAXED_MODE TRUE)

+ 1 - 1
Tests/QtAutogen/MocIncludeStrict/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(MocIncludeStrict)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 # Test moc include patterns
 set(CMAKE_AUTOMOC_RELAXED_MODE FALSE)

+ 1 - 1
Tests/QtAutogen/MocMacroName/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(MocMacroName)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 # Test CMAKE_AUTOMOC_MACRO_NAMES and AUTOMOC_MACRO_NAMES
 list(APPEND CMAKE_AUTOMOC_MACRO_NAMES "QO1_ALIAS")

+ 1 - 1
Tests/QtAutogen/MocOnly/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(MocOnly)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 add_executable(mocOnly
   main.cpp

+ 1 - 1
Tests/QtAutogen/MocOptions/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(MocOptions)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 # Test extra options passed to moc via AUTOMOC_MOC_OPTIONS
 add_executable(mocOptions Object.cpp main.cpp)

+ 1 - 1
Tests/QtAutogen/MocOsMacros/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.11)
 project(MocOsMacros)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 # Tests if moc processes Q_OS_XXX macros
 

+ 1 - 1
Tests/QtAutogen/MocSkipSource/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(MocSkipSource)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 # Test for SKIP_AUTOMOC and SKIP_AUTOGEN on an AUTOMOC enabled target
 

+ 1 - 1
Tests/QtAutogen/ObjectLibrary/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(ObjectLibrary)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 set(CMAKE_INCLUDE_CURRENT_DIR ON)
 set(CMAKE_AUTOMOC ON)

+ 1 - 1
Tests/QtAutogen/Parallel/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(Parallel)
-include("../AutogenTest.cmake")
+include("../AutogenGuiTest.cmake")
 
 # Test different values for AUTOGEN_PARALLEL
 include("../Parallel/parallel.cmake")

+ 1 - 1
Tests/QtAutogen/Parallel1/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(Parallel1)
-include("../AutogenTest.cmake")
+include("../AutogenGuiTest.cmake")
 
 # Test different values for AUTOGEN_PARALLEL
 include("../Parallel/parallel.cmake")

+ 1 - 1
Tests/QtAutogen/Parallel2/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(Parallel2)
-include("../AutogenTest.cmake")
+include("../AutogenGuiTest.cmake")
 
 # Test different values for AUTOGEN_PARALLEL
 include("../Parallel/parallel.cmake")

+ 1 - 1
Tests/QtAutogen/Parallel3/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(Parallel3)
-include("../AutogenTest.cmake")
+include("../AutogenGuiTest.cmake")
 
 # Test different values for AUTOGEN_PARALLEL
 include("../Parallel/parallel.cmake")

+ 1 - 1
Tests/QtAutogen/Parallel4/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(Parallel4)
-include("../AutogenTest.cmake")
+include("../AutogenGuiTest.cmake")
 
 # Test different values for AUTOGEN_PARALLEL
 include("../Parallel/parallel.cmake")

+ 1 - 1
Tests/QtAutogen/ParallelAUTO/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(ParallelAUTO)
-include("../AutogenTest.cmake")
+include("../AutogenGuiTest.cmake")
 
 # Test different values for AUTOGEN_PARALLEL
 include("../Parallel/parallel.cmake")

+ 1 - 1
Tests/QtAutogen/RccEmpty/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(RccEmpty)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 # Test AUTORCC on a .qrc file with no resource files
 add_executable(rccEmpty rccEmpty.cpp rccEmptyRes.qrc)

+ 1 - 1
Tests/QtAutogen/RccOffMocLibrary/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(RccOffMocLibrary)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 # 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

+ 1 - 1
Tests/QtAutogen/RccOnly/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(RccOnly)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 # Test AUTORCC being enabled only
 add_executable(rccOnly rccOnly.cpp rccOnlyRes.qrc)

+ 1 - 1
Tests/QtAutogen/RccSkipSource/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(RccSkipSource)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 # Test for SKIP_AUTORCC and SKIP_AUTOGEN on an AUTORCC enabled target
 set(skipRccSources

+ 1 - 1
Tests/QtAutogen/RerunMocBasic/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(RerunMocBasic)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 # Dummy executable to generate a clean target
 add_executable(dummy dummy.cpp)

+ 1 - 1
Tests/QtAutogen/RerunMocBasic/MocBasic/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(MocBasic)
-include("../../AutogenTest.cmake")
+include("../../AutogenCoreTest.cmake")
 
 set(CMAKE_AUTOMOC ON)
 set(CMAKE_AUTORCC ON)

+ 1 - 1
Tests/QtAutogen/RerunMocPlugin/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(RerunMocPlugin)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 # Tests Q_PLUGIN_METADATA and CMAKE_AUTOMOC_DEPEND_FILTERS
 # json file change detection

+ 1 - 1
Tests/QtAutogen/RerunMocPlugin/MocPlugin/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(MocPlugin)
-include("../../AutogenTest.cmake")
+include("../../AutogenGuiTest.cmake")
 
 if (QT_TEST_VERSION LESS 5)
   message(SEND_ERROR "Qt 5 or higher required.")

+ 1 - 1
Tests/QtAutogen/RerunRccConfigChange/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.11.2)
 project(RerunRccConfigChange)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 # Tests rcc rebuilding after a configuration change
 

+ 1 - 1
Tests/QtAutogen/RerunRccConfigChange/RccConfigChange/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.11.2)
 project(RccConfigChange)
-include("../../AutogenTest.cmake")
+include("../../AutogenCoreTest.cmake")
 
 # Enable AUTORCC for all targets
 set(CMAKE_AUTORCC ON)

+ 1 - 1
Tests/QtAutogen/RerunRccDepends/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(RerunRccDepends)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 # Tests rcc rebuilding when a resource file changes
 

+ 1 - 1
Tests/QtAutogen/RerunRccDepends/RccDepends/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(RccDepends)
-include("../../AutogenTest.cmake")
+include("../../AutogenCoreTest.cmake")
 
 # Enable AUTORCC for all targets
 set(CMAKE_AUTORCC ON)

+ 1 - 1
Tests/QtAutogen/SameName/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(SameName)
-include("../AutogenTest.cmake")
+include("../AutogenGuiTest.cmake")
 
 # Test AUTOMOC and AUTORCC on source files with the same name
 # but in different subdirectories

+ 1 - 1
Tests/QtAutogen/StaticLibraryCycle/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(StaticLibraryCycle)
-include("../AutogenTest.cmake")
+include("../AutogenCoreTest.cmake")
 
 # Test AUTOMOC on cyclic static libraries
 

+ 1 - 0
Tests/QtAutogen/Tests.cmake

@@ -25,6 +25,7 @@ ADD_AUTOGEN_TEST(SameName sameName)
 ADD_AUTOGEN_TEST(StaticLibraryCycle slc)
 ADD_AUTOGEN_TEST(UicInclude uicInclude)
 ADD_AUTOGEN_TEST(UicInterface QtAutoUicInterface)
+ADD_AUTOGEN_TEST(UicNoGui uicNoGui)
 ADD_AUTOGEN_TEST(UicOnly uicOnly)
 ADD_AUTOGEN_TEST(UicSkipSource)
 

+ 1 - 1
Tests/QtAutogen/UicInclude/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(UicInclude)
-include("../AutogenTest.cmake")
+include("../AutogenGuiTest.cmake")
 
 # Test uic include patterns
 set(CMAKE_AUTOUIC_SEARCH_PATHS "dirA")

+ 3 - 3
Tests/QtAutogen/UicInterface/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(UicInterface)
-include("../AutogenTest.cmake")
+include("../AutogenGuiTest.cmake")
 
 set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
 set(CMAKE_AUTOMOC ON)
@@ -43,12 +43,12 @@ set(INC_DIR "include" )
 endif()
 
 add_library(LibWidget libwidget.cpp)
-target_link_libraries(LibWidget KI18n ${QT_QTGUI_TARGET})
+target_link_libraries(LibWidget KI18n ${QT_LIBRARIES})
 set_property(TARGET LibWidget PROPERTY NO_KUIT_SEMANTIC ON)
 set_property(TARGET LibWidget PROPERTY TRANSLATION_DOMAIN customdomain)
 
 add_library(MyWidget mywidget.cpp)
-target_link_libraries(MyWidget KI18n ${QT_QTGUI_TARGET})
+target_link_libraries(MyWidget KI18n ${QT_LIBRARIES})
 
 add_executable(QtAutoUicInterface main.cpp)
 target_compile_definitions(QtAutoUicInterface

+ 16 - 0
Tests/QtAutogen/UicNoGui/CMakeLists.txt

@@ -0,0 +1,16 @@
+cmake_minimum_required(VERSION 3.13)
+project(UicNoGui)
+include("../AutogenCoreTest.cmake")
+
+# This tests creates a target that has AUTOUIC enabled but does not
+# link against QtXWidgets.
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTOUIC ON)
+set(CMAKE_AUTORCC ON)
+
+add_subdirectory(MocOnly)
+add_subdirectory(NoQt)
+
+add_executable(uicNoGui main.cpp)
+target_link_libraries(uicNoGui mocOnly noQt)

+ 3 - 0
Tests/QtAutogen/UicNoGui/MocOnly/CMakeLists.txt

@@ -0,0 +1,3 @@
+# Library uses QtCore only (no Widgets)
+add_library(mocOnly main.cpp)
+target_link_libraries(mocOnly ${QT_QTCORE_TARGET})

+ 15 - 0
Tests/QtAutogen/UicNoGui/MocOnly/main.cpp

@@ -0,0 +1,15 @@
+#include <QObject>
+
+class LocalObject : public QObject
+{
+  Q_OBJECT
+public:
+  LocalObject(){};
+};
+
+void mocOnly()
+{
+  LocalObject obj;
+}
+
+#include "main.moc"

+ 2 - 0
Tests/QtAutogen/UicNoGui/NoQt/CMakeLists.txt

@@ -0,0 +1,2 @@
+# Library doesn't use or link against Qt at all
+add_library(noQt main.cpp)

+ 4 - 0
Tests/QtAutogen/UicNoGui/NoQt/main.cpp

@@ -0,0 +1,4 @@
+
+void noQt()
+{
+}

+ 9 - 0
Tests/QtAutogen/UicNoGui/main.cpp

@@ -0,0 +1,9 @@
+extern void mocOnly();
+extern void noQt();
+
+int main(int argc, char* argv[])
+{
+  mocOnly();
+  noQt();
+  return 0;
+}

+ 1 - 1
Tests/QtAutogen/UicOnly/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(UicOnly)
-include("../AutogenTest.cmake")
+include("../AutogenGuiTest.cmake")
 
 # Test AUTOUIC being enabled only
 add_executable(uicOnly main.cpp UicOnly.cpp)

+ 1 - 1
Tests/QtAutogen/UicSkipSource/CMakeLists.txt

@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.10)
 project(UicSkipSource)
-include("../AutogenTest.cmake")
+include("../AutogenGuiTest.cmake")
 
 # Test for SKIP_AUTOUIC and SKIP_AUTOGEN on an AUTOUIC enabled target
 set(skipUicSources