Add extra checks for the AUTOMOC target property.

In an upcoming commit, this class will be used even if it is not set.
This commit is contained in:
Stephen Kelly 2013-10-11 13:30:54 +02:00
parent 32771fc7ca
commit 7ce65c3c97
1 changed files with 20 additions and 13 deletions

View File

@ -149,18 +149,22 @@ bool cmQtAutoGenerators::InitializeMocSourceFile(cmTarget* target)
return false;
}
std::string automocTargetName = target->GetName();
automocTargetName += "_automoc";
std::string mocCppFile = makefile->GetCurrentOutputDirectory();
mocCppFile += "/";
mocCppFile += automocTargetName;
mocCppFile += ".cpp";
cmSourceFile* mocCppSource = makefile->GetOrCreateSource(mocCppFile.c_str(),
true);
makefile->AppendProperty("ADDITIONAL_MAKE_CLEAN_FILES",
mocCppFile.c_str(), false);
if (target->GetPropertyAsBool("AUTOMOC"))
{
std::string automocTargetName = target->GetName();
automocTargetName += "_automoc";
std::string mocCppFile = makefile->GetCurrentOutputDirectory();
mocCppFile += "/";
mocCppFile += automocTargetName;
mocCppFile += ".cpp";
cmSourceFile* mocCppSource = makefile->GetOrCreateSource(
mocCppFile.c_str(),
true);
makefile->AppendProperty("ADDITIONAL_MAKE_CLEAN_FILES",
mocCppFile.c_str(), false);
target->AddSourceFile(mocCppSource);
target->AddSourceFile(mocCppSource);
}
return true;
}
@ -313,8 +317,11 @@ void cmQtAutoGenerators::SetupAutoGenerateTarget(cmTarget* target)
std::map<std::string, std::string> configIncludes;
std::map<std::string, std::string> configDefines;
this->SetupAutoMocTarget(target, autogenTargetName,
configIncludes, configDefines);
if (target->GetPropertyAsBool("AUTOMOC"))
{
this->SetupAutoMocTarget(target, autogenTargetName,
configIncludes, configDefines);
}
const char* cmakeRoot = makefile->GetSafeDefinition("CMAKE_ROOT");
std::string inputFile = cmakeRoot;