Pārlūkot izejas kodu

cmVisualStudioGeneratorOptions: Add PrependInerhitedString method

Brad King 8 gadi atpakaļ
vecāks
revīzija
bd5ea6993c

+ 11 - 0
Source/cmVisualStudioGeneratorOptions.cxx

@@ -211,6 +211,17 @@ void cmVisualStudioGeneratorOptions::ParseFinish()
   }
 }
 
+void cmVisualStudioGeneratorOptions::PrependInheritedString(
+  std::string const& key)
+{
+  std::map<std::string, FlagValue>::iterator i = this->FlagMap.find(key);
+  if (i == this->FlagMap.end() || i->second.size() != 1) {
+    return;
+  }
+  std::string& value = i->second[0];
+  value = "%(" + key + ") " + value;
+}
+
 void cmVisualStudioGeneratorOptions::StoreUnknownFlag(const char* flag)
 {
   // Look for Intel Fortran flags that do not map well in the flag table.

+ 2 - 0
Source/cmVisualStudioGeneratorOptions.h

@@ -47,6 +47,8 @@ public:
   void Parse(const char* flags);
   void ParseFinish();
 
+  void PrependInheritedString(std::string const& key);
+
   // Fix the ExceptionHandling option to default to off.
   void FixExceptionHandlingDefault();