diff options
Diffstat (limited to 'Source/cmLocalGenerator.cxx')
-rw-r--r-- | Source/cmLocalGenerator.cxx | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index b0066b0..214ab6b 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -1055,8 +1055,22 @@ const char* cmLocalGenerator::GetIncludeFlags(const char* lang) repeatFlag = false; } bool flagUsed = false; + std::set<cmStdString> emitted; for(i = includes.begin(); i != includes.end(); ++i) { +#ifdef __APPLE__ + if(cmSystemTools::IsPathToFramework(i->c_str())) + { + std::string frameworkDir = *i; + frameworkDir += "/../"; + frameworkDir = cmSystemTools::CollapseFullPath(frameworkDir.c_str()); + if(emitted.insert(frameworkDir).second) + { + includeFlags << "-F" << this->ConvertToOutputForExisting(frameworkDir.c_str()) << " "; + } + continue; + } +#endif std::string include = *i; if(!flagUsed || repeatFlag) { |