VS: Restore header files marked as OS X Framework content (#13196)
Header files listed in a target's PUBLIC_HEADER or similar properties are marked as OS X Framework content. Refactoring performed by commit11d9b211
(Add cmGeneratorTarget to represent a target during generation, 2012-03-07) commit45c2f932
(Simplify cmMakefileTargetGenerator using cmGeneratorTarget, 2012-03-07) commit328c0f65
(Simplify cmVisualStudio10TargetGenerator source classification, 2012-03-19) and related commits accidentally removed such files from treatment as normal header files by the VS generator (generators other than Makefiles and Xcode). Move handling of such files out of cmGeneratorTarget and back to cmMakefileTargetGenerator. The central cmGeneratorTarget classification will always treat them as header or extra sources.
This commit is contained in:
parent
c5a67a7fec
commit
470f39cf4e
|
@ -39,17 +39,10 @@ void cmGeneratorTarget::ClassifySources()
|
|||
{
|
||||
cmSourceFile* sf = *si;
|
||||
std::string ext = cmSystemTools::LowerCase(sf->GetExtension());
|
||||
cmTarget::SourceFileFlags tsFlags =
|
||||
this->Target->GetTargetSourceFileFlags(sf);
|
||||
if(sf->GetCustomCommand())
|
||||
{
|
||||
this->CustomCommands.push_back(sf);
|
||||
}
|
||||
else if(tsFlags.Type != cmTarget::SourceFileTypeNormal)
|
||||
{
|
||||
this->OSXContent.push_back(sf);
|
||||
if(isObjLib) { badObjLib.push_back(sf); }
|
||||
}
|
||||
else if(sf->GetPropertyAsBool("HEADER_FILE_ONLY"))
|
||||
{
|
||||
this->HeaderSources.push_back(sf);
|
||||
|
|
|
@ -37,7 +37,6 @@ public:
|
|||
std::vector<cmSourceFile*> HeaderSources;
|
||||
std::vector<cmSourceFile*> ObjectSources;
|
||||
std::vector<cmSourceFile*> ExternalObjects;
|
||||
std::vector<cmSourceFile*> OSXContent;
|
||||
std::vector<cmSourceFile*> IDLSources;
|
||||
std::string ModuleDefinitionFile;
|
||||
|
||||
|
|
|
@ -153,14 +153,8 @@ void cmMakefileTargetGenerator::WriteTargetBuildRules()
|
|||
}
|
||||
}
|
||||
}
|
||||
for(std::vector<cmSourceFile*>::const_iterator
|
||||
si = this->GeneratorTarget->OSXContent.begin();
|
||||
si != this->GeneratorTarget->OSXContent.end(); ++si)
|
||||
{
|
||||
cmTarget::SourceFileFlags tsFlags =
|
||||
this->Target->GetTargetSourceFileFlags(*si);
|
||||
this->WriteMacOSXContentRules(**si, tsFlags.MacFolder);
|
||||
}
|
||||
this->WriteMacOSXContentRules(this->GeneratorTarget->HeaderSources);
|
||||
this->WriteMacOSXContentRules(this->GeneratorTarget->ExtraSources);
|
||||
for(std::vector<cmSourceFile*>::const_iterator
|
||||
si = this->GeneratorTarget->ExternalObjects.begin();
|
||||
si != this->GeneratorTarget->ExternalObjects.end(); ++si)
|
||||
|
@ -353,6 +347,22 @@ void cmMakefileTargetGenerator::WriteTargetLanguageFlags()
|
|||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmMakefileTargetGenerator::WriteMacOSXContentRules(
|
||||
std::vector<cmSourceFile*> const& sources)
|
||||
{
|
||||
for(std::vector<cmSourceFile*>::const_iterator
|
||||
si = sources.begin(); si != sources.end(); ++si)
|
||||
{
|
||||
cmTarget::SourceFileFlags tsFlags =
|
||||
this->Target->GetTargetSourceFileFlags(*si);
|
||||
if(tsFlags.Type != cmTarget::SourceFileTypeNormal)
|
||||
{
|
||||
this->WriteMacOSXContentRules(**si, tsFlags.MacFolder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmMakefileTargetGenerator::WriteMacOSXContentRules(cmSourceFile& source,
|
||||
const char* pkgloc)
|
||||
|
|
|
@ -73,6 +73,7 @@ protected:
|
|||
void WriteTargetDependRules();
|
||||
|
||||
// write rules for Mac OS X Application Bundle content.
|
||||
void WriteMacOSXContentRules(std::vector<cmSourceFile*> const& sources);
|
||||
void WriteMacOSXContentRules(cmSourceFile& source, const char* pkgloc);
|
||||
|
||||
// write the rules for an object
|
||||
|
|
|
@ -396,7 +396,6 @@ cmNinjaTargetGenerator
|
|||
cmCustomCommand const* cc = (*si)->GetCustomCommand();
|
||||
this->GetLocalGenerator()->AddCustomCommandTarget(cc, this->GetTarget());
|
||||
}
|
||||
// TODO: this->GeneratorTarget->OSXContent
|
||||
for(std::vector<cmSourceFile*>::const_iterator
|
||||
si = this->GeneratorTarget->ExternalObjects.begin();
|
||||
si != this->GeneratorTarget->ExternalObjects.end(); ++si)
|
||||
|
|
Loading…
Reference in New Issue