From c3c20d3ce3acbf6afd6a54dd846fd78b82623312 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Sun, 20 Sep 2015 17:00:58 +0200 Subject: QtAutogen: Add _automoc.cpp sources before initializing. --- Source/cmGlobalGenerator.cxx | 1 + Source/cmQtAutoGenerators.cxx | 17 +++++++++++++++-- Source/cmQtAutoGenerators.h | 1 + 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index 435b769..6627bcc 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -1456,6 +1456,7 @@ void cmGlobalGenerator::CreateQtAutoGeneratorsTargets(AutogensType &autogens) cmTarget& target = *this->LocalGenerators[i] ->GetMakefile()->FindTarget(*ti, true); + cmQtAutoGenerators::InitializeAutogenSources(&target); cmQtAutoGenerators::InitializeAutogenTarget( this->LocalGenerators[i], &target); cmQtAutoGenerators autogen; diff --git a/Source/cmQtAutoGenerators.cxx b/Source/cmQtAutoGenerators.cxx index 04d7bbc..9bec68a 100644 --- a/Source/cmQtAutoGenerators.cxx +++ b/Source/cmQtAutoGenerators.cxx @@ -286,8 +286,8 @@ std::string cmQtAutoGenerators::ListQt4RccInputs(cmSourceFile* sf, return entriesList; } -void cmQtAutoGenerators::InitializeAutogenTarget(cmLocalGenerator* lg, - cmTarget* target) + +void cmQtAutoGenerators::InitializeAutogenSources(cmTarget* target) { cmMakefile* makefile = target->GetMakefile(); @@ -304,6 +304,19 @@ void cmQtAutoGenerators::InitializeAutogenTarget(cmLocalGenerator* lg, target->AddSource(mocCppFile); } +} + +void cmQtAutoGenerators::InitializeAutogenTarget(cmLocalGenerator* lg, + cmTarget* target) +{ + cmMakefile* makefile = target->GetMakefile(); + + std::string qtMajorVersion = makefile->GetSafeDefinition("QT_VERSION_MAJOR"); + if (qtMajorVersion == "") + { + qtMajorVersion = makefile->GetSafeDefinition("Qt5Core_VERSION_MAJOR"); + } + // create a custom target for running generators at buildtime: std::string autogenTargetName = getAutogenTargetName(target); diff --git a/Source/cmQtAutoGenerators.h b/Source/cmQtAutoGenerators.h index ff048c8..5f8ee62 100644 --- a/Source/cmQtAutoGenerators.h +++ b/Source/cmQtAutoGenerators.h @@ -31,6 +31,7 @@ public: cmQtAutoGenerators(); bool Run(const std::string& targetDirectory, const std::string& config); + static void InitializeAutogenSources(cmTarget* target); static void InitializeAutogenTarget(cmLocalGenerator* lg, cmTarget* target); static void SetupAutoGenerateTarget(cmTarget const* target); -- cgit v0.12