Bläddra i källkod

Merge topic 'automoc-object'

0e35cac Automoc: add OBJECT library to QtAutomoc test
cf3faac Automoc: Fix automoc for OBJECT libraries.
Brad King 12 år sedan
förälder
incheckning
c4c52b3273
2 ändrade filer med 8 tillägg och 4 borttagningar
  1. 2 1
      Source/cmGlobalGenerator.cxx
  2. 6 3
      Tests/QtAutomoc/CMakeLists.txt

+ 2 - 1
Source/cmGlobalGenerator.cxx

@@ -1063,7 +1063,8 @@ void cmGlobalGenerator::CreateAutomocTargets()
       if(target.GetType() == cmTarget::EXECUTABLE ||
          target.GetType() == cmTarget::STATIC_LIBRARY ||
          target.GetType() == cmTarget::SHARED_LIBRARY ||
-         target.GetType() == cmTarget::MODULE_LIBRARY)
+         target.GetType() == cmTarget::MODULE_LIBRARY ||
+         target.GetType() == cmTarget::OBJECT_LIBRARY)
         {
         if(target.GetPropertyAsBool("AUTOMOC") && !target.IsImported())
           {

+ 6 - 3
Tests/QtAutomoc/CMakeLists.txt

@@ -13,11 +13,14 @@ add_definitions(-DFOO -DSomeDefine="Barx")
 # enable relaxed mode so automoc can handle all the special cases:
 set(CMAKE_AUTOMOC_RELAXED_MODE TRUE)
 
-# create an executable and a library target, both requiring automoc:
+# create an executable and two library targets, each requiring automoc:
 add_library(codeeditorLib STATIC codeeditor.cpp)
 
-add_executable(foo main.cpp calwidget.cpp foo.cpp blub.cpp bar.cpp abc.cpp xyz.cpp yaf.cpp private_slot.cpp)
+add_library(privateSlot OBJECT private_slot.cpp)
 
-set_target_properties(foo codeeditorLib PROPERTIES AUTOMOC TRUE)
+add_executable(foo main.cpp calwidget.cpp foo.cpp blub.cpp bar.cpp abc.cpp
+               xyz.cpp yaf.cpp $<TARGET_OBJECTS:privateSlot>)
+
+set_target_properties(foo codeeditorLib privateSlot PROPERTIES AUTOMOC TRUE)
 
 target_link_libraries(foo codeeditorLib ${QT_LIBRARIES} )