Automoc: "inherit" FOLDER target property from target (#13688)

This patch sets the FOLDER target property for the automoc target
to the same value as of the actual target. This organizes the targets
in IDEs with folders better.

Inspired-by: Mike Gelfand

Alex
This commit is contained in:
Alex Neundorf 2012-11-17 18:32:54 +01:00
parent 3359d95c00
commit 3efe1d35f4
1 changed files with 17 additions and 1 deletions

View File

@ -85,6 +85,18 @@ static std::string extractSubDir(const std::string& absPath,
} }
static void copyTargetProperty(cmTarget* destinationTarget,
cmTarget* sourceTarget,
const char* propertyName)
{
const char* propertyValue = sourceTarget->GetProperty(propertyName);
if (propertyValue)
{
destinationTarget->SetProperty(propertyName, propertyValue);
}
}
cmQtAutomoc::cmQtAutomoc() cmQtAutomoc::cmQtAutomoc()
:Verbose(cmsys::SystemTools::GetEnv("VERBOSE") != 0) :Verbose(cmsys::SystemTools::GetEnv("VERBOSE") != 0)
,ColorOutput(true) ,ColorOutput(true)
@ -152,9 +164,13 @@ void cmQtAutomoc::SetupAutomocTarget(cmTarget* target)
std::string automocComment = "Automoc for target "; std::string automocComment = "Automoc for target ";
automocComment += targetName; automocComment += targetName;
makefile->AddUtilityCommand(automocTargetName.c_str(), true, cmTarget* automocTarget = makefile->AddUtilityCommand(
automocTargetName.c_str(), true,
workingDirectory.c_str(), depends, workingDirectory.c_str(), depends,
commandLines, false, automocComment.c_str()); commandLines, false, automocComment.c_str());
// inherit FOLDER property from target (#13688)
copyTargetProperty(automocTarget, target, "FOLDER");
target->AddUtility(automocTargetName.c_str()); target->AddUtility(automocTargetName.c_str());
// configure a file to get all information to automoc at buildtime: // configure a file to get all information to automoc at buildtime: