Merge topic 'fix-automoc-compile-definitions'
a1b9465
Automoc: Add directory-level COMPILE_DEFINITIONS to command line (#14535)
This commit is contained in:
commit
e313d397cd
|
@ -1103,6 +1103,8 @@ void cmGlobalGenerator::Generate()
|
|||
return;
|
||||
}
|
||||
|
||||
this->FinalizeTargetCompileDefinitions();
|
||||
|
||||
// Iterate through all targets and set up automoc for those which have
|
||||
// the AUTOMOC, AUTOUIC or AUTORCC property set
|
||||
this->CreateQtAutoGeneratorsTargets();
|
||||
|
@ -1306,13 +1308,11 @@ void cmGlobalGenerator::CreateQtAutoGeneratorsTargets()
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmGlobalGenerator::CreateGeneratorTargets()
|
||||
void cmGlobalGenerator::FinalizeTargetCompileDefinitions()
|
||||
{
|
||||
// Construct per-target generator information.
|
||||
for(unsigned int i=0; i < this->LocalGenerators.size(); ++i)
|
||||
{
|
||||
cmGeneratorTargetsType generatorTargets;
|
||||
|
||||
cmMakefile *mf = this->LocalGenerators[i]->GetMakefile();
|
||||
|
||||
const std::vector<cmValueWithOrigin> noconfig_compile_definitions =
|
||||
|
@ -1327,7 +1327,6 @@ void cmGlobalGenerator::CreateGeneratorTargets()
|
|||
{
|
||||
cmTarget* t = &ti->second;
|
||||
|
||||
{
|
||||
for (std::vector<cmValueWithOrigin>::const_iterator it
|
||||
= noconfig_compile_definitions.begin();
|
||||
it != noconfig_compile_definitions.end(); ++it)
|
||||
|
@ -1344,7 +1343,24 @@ void cmGlobalGenerator::CreateGeneratorTargets()
|
|||
mf->GetProperty(defPropName.c_str()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmGlobalGenerator::CreateGeneratorTargets()
|
||||
{
|
||||
// Construct per-target generator information.
|
||||
for(unsigned int i=0; i < this->LocalGenerators.size(); ++i)
|
||||
{
|
||||
cmGeneratorTargetsType generatorTargets;
|
||||
|
||||
cmMakefile *mf = this->LocalGenerators[i]->GetMakefile();
|
||||
|
||||
cmTargets& targets = mf->GetTargets();
|
||||
for(cmTargets::iterator ti = targets.begin();
|
||||
ti != targets.end(); ++ti)
|
||||
{
|
||||
cmTarget* t = &ti->second;
|
||||
cmGeneratorTarget* gt = new cmGeneratorTarget(t);
|
||||
this->GeneratorTargets[t] = gt;
|
||||
generatorTargets[t] = gt;
|
||||
|
|
|
@ -395,6 +395,7 @@ private:
|
|||
|
||||
void WriteSummary();
|
||||
void WriteSummary(cmTarget* target);
|
||||
void FinalizeTargetCompileDefinitions();
|
||||
|
||||
virtual void PrintCompilerAdvice(std::ostream& os, std::string lang,
|
||||
const char* envVar);
|
||||
|
|
|
@ -16,7 +16,10 @@
|
|||
|
||||
#include <QObject>
|
||||
|
||||
class Foo : public QObject
|
||||
class Foo
|
||||
#ifdef FOO
|
||||
: public QObject
|
||||
#endif
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
|
Loading…
Reference in New Issue