فهرست منبع

Add the AUTOGEN_TARGETS_FOLDER and obsolete AUTOMOC_TARGETS_FOLDER.

Stephen Kelly 12 سال پیش
والد
کامیت
98632effeb

+ 1 - 0
Help/manual/cmake-properties.7.rst

@@ -10,6 +10,7 @@ Properties of Global Scope
 
 .. toctree::
    /prop_gbl/ALLOW_DUPLICATE_CUSTOM_TARGETS
+   /prop_gbl/AUTOGEN_TARGETS_FOLDER
    /prop_gbl/AUTOMOC_TARGETS_FOLDER
    /prop_gbl/DEBUG_CONFIGURATIONS
    /prop_gbl/DISABLED_FEATURES

+ 8 - 0
Help/prop_gbl/AUTOGEN_TARGETS_FOLDER.rst

@@ -0,0 +1,8 @@
+AUTOGEN_TARGETS_FOLDER
+----------------------
+
+Name of FOLDER for ``*_automoc`` targets that are added automatically by CMake for targets for which AUTOMOC is enabled.
+
+If not set, CMake uses the FOLDER property of the parent target as a
+default value for this property.  See also the documentation for the
+FOLDER target property and the AUTOMOC target property.

+ 2 - 0
Help/prop_gbl/AUTOMOC_TARGETS_FOLDER.rst

@@ -3,6 +3,8 @@ AUTOMOC_TARGETS_FOLDER
 
 Name of FOLDER for ``*_automoc`` targets that are added automatically by CMake for targets for which AUTOMOC is enabled.
 
+This property is obsolete.  Use AUTOGEN_TARGETS_FOLDER instead.
+
 If not set, CMake uses the FOLDER property of the parent target as a
 default value for this property.  See also the documentation for the
 FOLDER target property and the AUTOMOC target property.

+ 8 - 3
Source/cmQtAutoGenerators.cxx

@@ -269,11 +269,16 @@ void cmQtAutoGenerators::SetupAutoGenerateTarget(cmTarget* target)
                                 workingDirectory.c_str(), depends,
                                 commandLines, false, autogenComment.c_str());
     // Set target folder
-    const char* automocFolder = makefile->GetCMakeInstance()->GetProperty(
+    const char* autogenFolder = makefile->GetCMakeInstance()->GetProperty(
                                                      "AUTOMOC_TARGETS_FOLDER");
-    if (automocFolder && *automocFolder)
+    if (!autogenFolder)
       {
-      autogenTarget->SetProperty("FOLDER", automocFolder);
+      autogenFolder = makefile->GetCMakeInstance()->GetProperty(
+                                                     "AUTOGEN_TARGETS_FOLDER");
+      }
+    if (autogenFolder && *autogenFolder)
+      {
+      autogenTarget->SetProperty("FOLDER", autogenFolder);
       }
     else
       {