summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-02-13 20:15:34 (GMT)
committerBrad King <brad.king@kitware.com>2024-02-20 15:48:31 (GMT)
commit82a174182aa276658911fe2b12613b1e8c6663a9 (patch)
treebdc0cce819f34b0ef39fe3e0f653b3e7758a2d7c
parentf4980321417989341461250ac2fd51592b0f613c (diff)
downloadCMake-82a174182aa276658911fe2b12613b1e8c6663a9.zip
CMake-82a174182aa276658911fe2b12613b1e8c6663a9.tar.gz
CMake-82a174182aa276658911fe2b12613b1e8c6663a9.tar.bz2
cmVisualStudioGeneratorOptions: Add UsingDebugRuntime method
-rw-r--r--Source/cmVisualStudioGeneratorOptions.cxx9
-rw-r--r--Source/cmVisualStudioGeneratorOptions.h3
2 files changed, 12 insertions, 0 deletions
diff --git a/Source/cmVisualStudioGeneratorOptions.cxx b/Source/cmVisualStudioGeneratorOptions.cxx
index 8b803a9..659510c 100644
--- a/Source/cmVisualStudioGeneratorOptions.cxx
+++ b/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();
diff --git a/Source/cmVisualStudioGeneratorOptions.h b/Source/cmVisualStudioGeneratorOptions.h
index d045929..1ca569d 100644
--- a/Source/cmVisualStudioGeneratorOptions.h
+++ b/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.