summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalUnixMakefileGenerator3.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmLocalUnixMakefileGenerator3.cxx')
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.cxx24
1 files changed, 24 insertions, 0 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 482854d..f446bc7 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -445,6 +445,9 @@ cmLocalUnixMakefileGenerator3
// Add include directory flags.
this->AppendFlags(flags, this->GetIncludeFlags(lang));
+ // Add include directory flags.
+ this->AppendFlags(flags, this->GetFrameworkFlags(target).c_str());
+
flagFileStream << lang << "_FLAGS = " << flags
<< "\n"
<< "\n";
@@ -499,6 +502,27 @@ cmLocalUnixMakefileGenerator3
}
//----------------------------------------------------------------------------
+std::string
+cmLocalUnixMakefileGenerator3
+::GetFrameworkFlags(cmTarget& target)
+{
+#ifndef __APPLE__
+ return std::string();
+#else
+ std::string flags;
+ std::vector<std::string>& frameworks = target.GetFrameworks();
+ for(std::vector<std::string>::iterator i = frameworks.begin();
+ i != frameworks.end(); ++i)
+ {
+ flags += "-F";
+ flags += this->ConvertToOutputForExisting(i->c_str());
+ flags += " ";
+ }
+ return flags;
+#endif
+}
+
+//----------------------------------------------------------------------------
void
cmLocalUnixMakefileGenerator3
::WriteObjectDependRules(cmSourceFile& source,