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