QtAutogen: Move initialization condition to caller.

This commit is contained in:
Stephen Kelly 2015-09-20 16:55:47 +02:00
parent 9470b056fc
commit 8b6ec29d40
3 changed files with 18 additions and 20 deletions

View File

@ -1436,6 +1436,18 @@ void cmGlobalGenerator::CreateQtAutoGeneratorsTargets(AutogensType &autogens)
{
continue;
}
// don't do anything if there is no Qt4 or Qt5Core (which contains moc):
cmMakefile* mf = ti->second.GetMakefile();
std::string qtMajorVersion = mf->GetSafeDefinition("QT_VERSION_MAJOR");
if (qtMajorVersion == "")
{
qtMajorVersion = mf->GetSafeDefinition("Qt5Core_VERSION_MAJOR");
}
if (qtMajorVersion != "4" && qtMajorVersion != "5")
{
continue;
}
targetNames.push_back(ti->second.GetName());
}
for(std::vector<std::string>::iterator ti = targetNames.begin();
@ -1444,12 +1456,10 @@ void cmGlobalGenerator::CreateQtAutoGeneratorsTargets(AutogensType &autogens)
cmTarget& target = *this->LocalGenerators[i]
->GetMakefile()->FindTarget(*ti, true);
if(cmQtAutoGenerators::InitializeAutogenTarget(
this->LocalGenerators[i], &target))
{
cmQtAutoGenerators autogen;
autogens.push_back(std::make_pair(autogen, &target));
}
cmQtAutoGenerators::InitializeAutogenTarget(
this->LocalGenerators[i], &target);
cmQtAutoGenerators autogen;
autogens.push_back(std::make_pair(autogen, &target));
}
}
#else

View File

@ -286,20 +286,10 @@ std::string cmQtAutoGenerators::ListQt4RccInputs(cmSourceFile* sf,
return entriesList;
}
bool cmQtAutoGenerators::InitializeAutogenTarget(cmLocalGenerator* lg,
void cmQtAutoGenerators::InitializeAutogenTarget(cmLocalGenerator* lg,
cmTarget* target)
{
cmMakefile* makefile = target->GetMakefile();
// don't do anything if there is no Qt4 or Qt5Core (which contains moc):
std::string qtMajorVersion = makefile->GetSafeDefinition("QT_VERSION_MAJOR");
if (qtMajorVersion == "")
{
qtMajorVersion = makefile->GetSafeDefinition("Qt5Core_VERSION_MAJOR");
}
if (qtMajorVersion != "4" && qtMajorVersion != "5")
{
return false;
}
if (target->GetPropertyAsBool("AUTOMOC"))
{
@ -499,8 +489,6 @@ bool cmQtAutoGenerators::InitializeAutogenTarget(cmLocalGenerator* lg,
target->AddUtility(autogenTargetName);
}
return true;
}
static void GetCompileDefinitionsAndDirectories(cmTarget const* target,

View File

@ -31,7 +31,7 @@ public:
cmQtAutoGenerators();
bool Run(const std::string& targetDirectory, const std::string& config);
static bool InitializeAutogenTarget(cmLocalGenerator* lg, cmTarget* target);
static void InitializeAutogenTarget(cmLocalGenerator* lg, cmTarget* target);
static void SetupAutoGenerateTarget(cmTarget const* target);
private: