Browse Source

cmCommonTargetGenerator: Adopt AppendOSXVerFlag method

Move this method from cmMakefileLibraryTargetGenerator so it can be
re-used for the Ninja generator too.

Signed-off-by: Bruce Stephens <[email protected]>
Bruce Stephens 10 years ago
parent
commit
1f2b39c6ce

+ 32 - 0
Source/cmCommonTargetGenerator.cxx

@@ -426,3 +426,35 @@ std::string cmCommonTargetGenerator::GetManifests()
 
   return cmJoin(manifests, " ");
 }
+
+void cmCommonTargetGenerator
+::AppendOSXVerFlag(std::string& flags, const std::string& lang,
+                   const char* name, bool so)
+{
+  // Lookup the flag to specify the version.
+  std::string fvar = "CMAKE_";
+  fvar += lang;
+  fvar += "_OSX_";
+  fvar += name;
+  fvar += "_VERSION_FLAG";
+  const char* flag = this->Makefile->GetDefinition(fvar);
+
+  // Skip if no such flag.
+  if(!flag)
+    {
+    return;
+    }
+
+  // Lookup the target version information.
+  int major;
+  int minor;
+  int patch;
+  this->GeneratorTarget->GetTargetVersion(so, major, minor, patch);
+  if(major > 0 || minor > 0 || patch > 0)
+    {
+    // Append the flag since a non-zero version is specified.
+    std::ostringstream vflag;
+    vflag << flag << major << "." << minor << "." << patch;
+    this->LocalGenerator->AppendFlags(flags, vflag.str());
+    }
+}

+ 3 - 0
Source/cmCommonTargetGenerator.h

@@ -79,6 +79,9 @@ protected:
   virtual void AddIncludeFlags(std::string& flags,
                                std::string const& lang) = 0;
 
+  void AppendOSXVerFlag(std::string& flags, const std::string& lang,
+                        const char* name, bool so);
+
   typedef std::map<std::string, std::string> ByLanguageMap;
   std::string GetFlags(const std::string &l);
   ByLanguageMap FlagsByLanguage;

+ 0 - 34
Source/cmMakefileLibraryTargetGenerator.cxx

@@ -841,37 +841,3 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules
   this->CleanFiles.insert(this->CleanFiles.end(),
                           libCleanFiles.begin(),libCleanFiles.end());
 }
-
-//----------------------------------------------------------------------------
-void
-cmMakefileLibraryTargetGenerator
-::AppendOSXVerFlag(std::string& flags, const std::string& lang,
-                   const char* name, bool so)
-{
-  // Lookup the flag to specify the version.
-  std::string fvar = "CMAKE_";
-  fvar += lang;
-  fvar += "_OSX_";
-  fvar += name;
-  fvar += "_VERSION_FLAG";
-  const char* flag = this->Makefile->GetDefinition(fvar);
-
-  // Skip if no such flag.
-  if(!flag)
-    {
-    return;
-    }
-
-  // Lookup the target version information.
-  int major;
-  int minor;
-  int patch;
-  this->GeneratorTarget->GetTargetVersion(so, major, minor, patch);
-  if(major > 0 || minor > 0 || patch > 0)
-    {
-    // Append the flag since a non-zero version is specified.
-    std::ostringstream vflag;
-    vflag << flag << major << "." << minor << "." << patch;
-    this->LocalGenerator->AppendFlags(flags, vflag.str());
-    }
-}

+ 0 - 3
Source/cmMakefileLibraryTargetGenerator.h

@@ -38,9 +38,6 @@ protected:
 
   // Store the computd framework version for OS X Frameworks.
   std::string FrameworkVersion;
-
-  void AppendOSXVerFlag(std::string& flags, const std::string& lang,
-                        const char* name, bool so);
 };
 
 #endif