Merge topic 'fix-find-package-mode'
a7f393dc cmake: Future-proof --find-package mode.
This commit is contained in:
commit
b003f56f85
@ -1374,36 +1374,38 @@ void cmGlobalGenerator::FinalizeTargetCompileInfo()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
void cmGlobalGenerator::CreateGeneratorTargets(cmMakefile *mf)
|
||||||
|
{
|
||||||
|
cmGeneratorTargetsType generatorTargets;
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(std::vector<cmTarget*>::const_iterator
|
||||||
|
j = mf->GetOwnedImportedTargets().begin();
|
||||||
|
j != mf->GetOwnedImportedTargets().end(); ++j)
|
||||||
|
{
|
||||||
|
cmGeneratorTarget* gt = new cmGeneratorTarget(*j);
|
||||||
|
this->GeneratorTargets[*j] = gt;
|
||||||
|
generatorTargets[*j] = gt;
|
||||||
|
}
|
||||||
|
mf->SetGeneratorTargets(generatorTargets);
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
void cmGlobalGenerator::CreateGeneratorTargets()
|
void cmGlobalGenerator::CreateGeneratorTargets()
|
||||||
{
|
{
|
||||||
// Construct per-target generator information.
|
// Construct per-target generator information.
|
||||||
for(unsigned int i=0; i < this->LocalGenerators.size(); ++i)
|
for(unsigned int i=0; i < this->LocalGenerators.size(); ++i)
|
||||||
{
|
{
|
||||||
cmGeneratorTargetsType generatorTargets;
|
this->CreateGeneratorTargets(this->LocalGenerators[i]->GetMakefile());
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
for(std::vector<cmTarget*>::const_iterator
|
|
||||||
j = mf->GetOwnedImportedTargets().begin();
|
|
||||||
j != mf->GetOwnedImportedTargets().end(); ++j)
|
|
||||||
{
|
|
||||||
cmGeneratorTarget* gt = new cmGeneratorTarget(*j);
|
|
||||||
this->GeneratorTargets[*j] = gt;
|
|
||||||
generatorTargets[*j] = gt;
|
|
||||||
}
|
|
||||||
|
|
||||||
mf->SetGeneratorTargets(generatorTargets);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -432,6 +432,8 @@ private:
|
|||||||
|
|
||||||
// Per-target generator information.
|
// Per-target generator information.
|
||||||
cmGeneratorTargetsType GeneratorTargets;
|
cmGeneratorTargetsType GeneratorTargets;
|
||||||
|
friend class cmake;
|
||||||
|
void CreateGeneratorTargets(cmMakefile* mf);
|
||||||
void CreateGeneratorTargets();
|
void CreateGeneratorTargets();
|
||||||
void ComputeGeneratorTargetObjects();
|
void ComputeGeneratorTargetObjects();
|
||||||
virtual void ComputeTargetObjects(cmGeneratorTarget* gt) const;
|
virtual void ComputeTargetObjects(cmGeneratorTarget* gt) const;
|
||||||
|
@ -593,9 +593,10 @@ bool cmake::FindPackage(const std::vector<std::string>& args)
|
|||||||
std::string linkPath;
|
std::string linkPath;
|
||||||
std::string flags;
|
std::string flags;
|
||||||
std::string linkFlags;
|
std::string linkFlags;
|
||||||
cmGeneratorTarget gtgt(tgt);
|
gg->CreateGeneratorTargets(mf);
|
||||||
|
cmGeneratorTarget *gtgt = gg->GetGeneratorTarget(tgt);
|
||||||
lg->GetTargetFlags(linkLibs, frameworkPath, linkPath, flags, linkFlags,
|
lg->GetTargetFlags(linkLibs, frameworkPath, linkPath, flags, linkFlags,
|
||||||
>gt);
|
gtgt);
|
||||||
linkLibs = frameworkPath + linkPath + linkLibs;
|
linkLibs = frameworkPath + linkPath + linkLibs;
|
||||||
|
|
||||||
printf("%s\n", linkLibs.c_str() );
|
printf("%s\n", linkLibs.c_str() );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user