Bläddra i källkod

cmVisualStudioGeneratorOptions: Add UsingDebugRuntime method

Brad King 1 år sedan
förälder
incheckning
82a174182a
2 ändrade filer med 12 tillägg och 0 borttagningar
  1. 9 0
      Source/cmVisualStudioGeneratorOptions.cxx
  2. 3 0
      Source/cmVisualStudioGeneratorOptions.h

+ 9 - 0
Source/cmVisualStudioGeneratorOptions.cxx

@@ -124,6 +124,15 @@ bool cmVisualStudioGeneratorOptions::UsingDebugInfo() const
   return false;
 }
 
+cm::optional<bool> cmVisualStudioGeneratorOptions::UsingDebugRuntime() const
+{
+  cm::optional<bool> result;
+  if (const char* rtl = this->GetFlag("RuntimeLibrary")) {
+    result = strstr(rtl, "Debug") != nullptr;
+  }
+  return result;
+}
+
 bool cmVisualStudioGeneratorOptions::IsWinRt() const
 {
   return this->FlagMap.find("CompileAsWinRT") != this->FlagMap.end();

+ 3 - 0
Source/cmVisualStudioGeneratorOptions.h

@@ -7,6 +7,8 @@
 #include <iosfwd>
 #include <string>
 
+#include <cm/optional>
+
 #include "cmGlobalVisualStudioGenerator.h"
 #include "cmIDEFlagTable.h"
 #include "cmIDEOptions.h"
@@ -66,6 +68,7 @@ public:
   void FixManifestUACFlags();
 
   bool UsingDebugInfo() const;
+  cm::optional<bool> UsingDebugRuntime() const;
   bool IsWinRt() const;
   bool IsManaged() const;
   // Write options to output.