summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Stürmer <michael.stuermer@schaeffler.com>2016-12-01 11:52:57 (GMT)
committerMichael Stürmer <michael.stuermer@schaeffler.com>2016-12-01 15:45:34 (GMT)
commit9b06c22648e992dc135b648ab4039b1b24861be9 (patch)
treeecb8b7dc5de70a97c1cdddfac8bb1c3f32c69dbf
parent7b6f6d9e67431cdcdd9a8f1de92c66651768814c (diff)
downloadCMake-9b06c22648e992dc135b648ab4039b1b24861be9.zip
CMake-9b06c22648e992dc135b648ab4039b1b24861be9.tar.gz
CMake-9b06c22648e992dc135b648ab4039b1b24861be9.tar.bz2
VS: Add flag tables for C#
Add these (currently unused) tables in preparation for `.csproj` generation support. Populate the tables for every version with a set of initial values that work well for me with VS 12 and VS 14. Later we may need to generate them more thoroughly from MSBuild `.xml` files.
-rw-r--r--Source/cmGlobalVisualStudio10Generator.cxx11
-rw-r--r--Source/cmGlobalVisualStudio10Generator.h2
-rw-r--r--Source/cmGlobalVisualStudio11Generator.cxx2
-rw-r--r--Source/cmGlobalVisualStudio12Generator.cxx2
-rw-r--r--Source/cmGlobalVisualStudio14Generator.cxx2
-rw-r--r--Source/cmGlobalVisualStudio15Generator.cxx2
-rw-r--r--Source/cmVS10CSharpFlagTable.h120
-rw-r--r--Source/cmVS11CSharpFlagTable.h120
-rw-r--r--Source/cmVS12CSharpFlagTable.h120
-rw-r--r--Source/cmVS140CSharpFlagTable.h120
-rw-r--r--Source/cmVS141CSharpFlagTable.h120
-rw-r--r--Source/cmVisualStudio10ToolsetOptions.cxx25
-rw-r--r--Source/cmVisualStudio10ToolsetOptions.h2
13 files changed, 648 insertions, 0 deletions
diff --git a/Source/cmGlobalVisualStudio10Generator.cxx b/Source/cmGlobalVisualStudio10Generator.cxx
index a1af6ff..d992aef 100644
--- a/Source/cmGlobalVisualStudio10Generator.cxx
+++ b/Source/cmGlobalVisualStudio10Generator.cxx
@@ -9,6 +9,7 @@
#include "cmMakefile.h"
#include "cmSourceFile.h"
#include "cmVS10CLFlagTable.h"
+#include "cmVS10CSharpFlagTable.h"
#include "cmVS10LibFlagTable.h"
#include "cmVS10LinkFlagTable.h"
#include "cmVS10MASMFlagTable.h"
@@ -99,6 +100,7 @@ cmGlobalVisualStudio10Generator::cmGlobalVisualStudio10Generator(
this->MSBuildCommandInitialized = false;
this->DefaultPlatformToolset = "v100";
this->DefaultClFlagTable = cmVS10CLFlagTable;
+ this->DefaultCSharpFlagTable = cmVS10CSharpFlagTable;
this->DefaultLibFlagTable = cmVS10LibFlagTable;
this->DefaultLinkFlagTable = cmVS10LinkFlagTable;
this->DefaultMasmFlagTable = cmVS10MASMFlagTable;
@@ -626,6 +628,15 @@ cmIDEFlagTable const* cmGlobalVisualStudio10Generator::GetClFlagTable() const
return (table != CM_NULLPTR) ? table : this->DefaultClFlagTable;
}
+cmIDEFlagTable const* cmGlobalVisualStudio10Generator::GetCSharpFlagTable()
+ const
+{
+ cmIDEFlagTable const* table = this->ToolsetOptions.GetCSharpFlagTable(
+ this->GetPlatformName(), this->GetPlatformToolsetString());
+
+ return (table != CM_NULLPTR) ? table : this->DefaultCSharpFlagTable;
+}
+
cmIDEFlagTable const* cmGlobalVisualStudio10Generator::GetRcFlagTable() const
{
cmIDEFlagTable const* table = this->ToolsetOptions.GetRcFlagTable(
diff --git a/Source/cmGlobalVisualStudio10Generator.h b/Source/cmGlobalVisualStudio10Generator.h
index 4175104..5bfaf38 100644
--- a/Source/cmGlobalVisualStudio10Generator.h
+++ b/Source/cmGlobalVisualStudio10Generator.h
@@ -91,6 +91,7 @@ public:
static std::string GetInstalledNsightTegraVersion();
cmIDEFlagTable const* GetClFlagTable() const;
+ cmIDEFlagTable const* GetCSharpFlagTable() const;
cmIDEFlagTable const* GetRcFlagTable() const;
cmIDEFlagTable const* GetLibFlagTable() const;
cmIDEFlagTable const* GetLinkFlagTable() const;
@@ -120,6 +121,7 @@ protected:
std::string SystemVersion;
std::string NsightTegraVersion;
cmIDEFlagTable const* DefaultClFlagTable;
+ cmIDEFlagTable const* DefaultCSharpFlagTable;
cmIDEFlagTable const* DefaultLibFlagTable;
cmIDEFlagTable const* DefaultLinkFlagTable;
cmIDEFlagTable const* DefaultMasmFlagTable;
diff --git a/Source/cmGlobalVisualStudio11Generator.cxx b/Source/cmGlobalVisualStudio11Generator.cxx
index 049e86e..d37d4b0 100644
--- a/Source/cmGlobalVisualStudio11Generator.cxx
+++ b/Source/cmGlobalVisualStudio11Generator.cxx
@@ -7,6 +7,7 @@
#include "cmLocalVisualStudio10Generator.h"
#include "cmMakefile.h"
#include "cmVS11CLFlagTable.h"
+#include "cmVS11CSharpFlagTable.h"
#include "cmVS11LibFlagTable.h"
#include "cmVS11LinkFlagTable.h"
#include "cmVS11MASMFlagTable.h"
@@ -108,6 +109,7 @@ cmGlobalVisualStudio11Generator::cmGlobalVisualStudio11Generator(
vc11Express, cmSystemTools::KeyWOW64_32);
this->DefaultPlatformToolset = "v110";
this->DefaultClFlagTable = cmVS11CLFlagTable;
+ this->DefaultCSharpFlagTable = cmVS11CSharpFlagTable;
this->DefaultLibFlagTable = cmVS11LibFlagTable;
this->DefaultLinkFlagTable = cmVS11LinkFlagTable;
this->DefaultMasmFlagTable = cmVS11MASMFlagTable;
diff --git a/Source/cmGlobalVisualStudio12Generator.cxx b/Source/cmGlobalVisualStudio12Generator.cxx
index 0a48ba6..2656dcc 100644
--- a/Source/cmGlobalVisualStudio12Generator.cxx
+++ b/Source/cmGlobalVisualStudio12Generator.cxx
@@ -7,6 +7,7 @@
#include "cmLocalVisualStudio10Generator.h"
#include "cmMakefile.h"
#include "cmVS12CLFlagTable.h"
+#include "cmVS12CSharpFlagTable.h"
#include "cmVS12LibFlagTable.h"
#include "cmVS12LinkFlagTable.h"
#include "cmVS12MASMFlagTable.h"
@@ -90,6 +91,7 @@ cmGlobalVisualStudio12Generator::cmGlobalVisualStudio12Generator(
vc12Express, cmSystemTools::KeyWOW64_32);
this->DefaultPlatformToolset = "v120";
this->DefaultClFlagTable = cmVS12CLFlagTable;
+ this->DefaultCSharpFlagTable = cmVS12CSharpFlagTable;
this->DefaultLibFlagTable = cmVS12LibFlagTable;
this->DefaultLinkFlagTable = cmVS12LinkFlagTable;
this->DefaultMasmFlagTable = cmVS12MASMFlagTable;
diff --git a/Source/cmGlobalVisualStudio14Generator.cxx b/Source/cmGlobalVisualStudio14Generator.cxx
index b4cb823..81c305c 100644
--- a/Source/cmGlobalVisualStudio14Generator.cxx
+++ b/Source/cmGlobalVisualStudio14Generator.cxx
@@ -7,6 +7,7 @@
#include "cmLocalVisualStudio10Generator.h"
#include "cmMakefile.h"
#include "cmVS140CLFlagTable.h"
+#include "cmVS140CSharpFlagTable.h"
#include "cmVS14LibFlagTable.h"
#include "cmVS14LinkFlagTable.h"
#include "cmVS14MASMFlagTable.h"
@@ -90,6 +91,7 @@ cmGlobalVisualStudio14Generator::cmGlobalVisualStudio14Generator(
vc14Express, cmSystemTools::KeyWOW64_32);
this->DefaultPlatformToolset = "v140";
this->DefaultClFlagTable = cmVS140CLFlagTable;
+ this->DefaultCSharpFlagTable = cmVS140CSharpFlagTable;
this->DefaultLibFlagTable = cmVS14LibFlagTable;
this->DefaultLinkFlagTable = cmVS14LinkFlagTable;
this->DefaultMasmFlagTable = cmVS14MASMFlagTable;
diff --git a/Source/cmGlobalVisualStudio15Generator.cxx b/Source/cmGlobalVisualStudio15Generator.cxx
index 091a03e..20d30bc 100644
--- a/Source/cmGlobalVisualStudio15Generator.cxx
+++ b/Source/cmGlobalVisualStudio15Generator.cxx
@@ -7,6 +7,7 @@
#include "cmLocalVisualStudio10Generator.h"
#include "cmMakefile.h"
#include "cmVS141CLFlagTable.h"
+#include "cmVS141CSharpFlagTable.h"
static const char vs15generatorName[] = "Visual Studio 15 2017";
@@ -86,6 +87,7 @@ cmGlobalVisualStudio15Generator::cmGlobalVisualStudio15Generator(
vc15Express, cmSystemTools::KeyWOW64_32);
this->DefaultPlatformToolset = "v141";
this->DefaultClFlagTable = cmVS141CLFlagTable;
+ this->DefaultCSharpFlagTable = cmVS141CSharpFlagTable;
this->Version = VS15;
}
diff --git a/Source/cmVS10CSharpFlagTable.h b/Source/cmVS10CSharpFlagTable.h
new file mode 100644
index 0000000..493ec2b
--- /dev/null
+++ b/Source/cmVS10CSharpFlagTable.h
@@ -0,0 +1,120 @@
+static cmVS7FlagTable cmVS10CSharpFlagTable[] = {
+ { "ProjectName", "out:", "", "", cmIDEFlagTable::UserValueRequired },
+
+ { "OutputType", "target:exe", "", "Exe", 0 },
+ { "OutputType", "target:winexe", "", "Winexe", 0 },
+ { "OutputType", "target:library", "", "Library", 0 },
+ { "OutputType", "target:module", "", "Module", 0 },
+
+ { "DocumentationFile", "doc", "", "", cmIDEFlagTable::UserValueRequired },
+
+ { "Platform", "platform:x86", "", "x86", 0 },
+ { "Platform", "platform:Itanium", "", "Itanium", 0 },
+ { "Platform", "platform:x64", "", "x64", 0 },
+ { "Platform", "platform:arm", "", "arm", 0 },
+ { "Platform", "platform:anycpu32bitpreferred", "", "anycpu32bitpreferred",
+ 0 },
+ { "Platform", "platform:anycpu", "", "anycpu", 0 },
+
+ { "References", "reference:", "mit alias", "", 0 },
+ { "References", "reference:", "dateiliste", "", 0 },
+ { "AddModules", "addmodule:", "", "", cmIDEFlagTable::SemicolonAppendable },
+ { "", "link", "", "", 0 },
+
+ { "Win32Resource", "win32res", "", "", cmIDEFlagTable::UserValueRequired },
+ { "ApplicationIcon", "win32icon", "", "",
+ cmIDEFlagTable::UserValueRequired },
+
+ { "Win32Manifest", "win32manifest:", "", "true", 0 },
+
+ { "NoWin32Manifest", "nowin32manifest", "", "true", 0 },
+
+ { "DefineDebug", "debug", "", "true", cmIDEFlagTable::Continue },
+
+ { "DebugSymbols", "debug", "", "true", 0 },
+ { "DebugSymbols", "debug-", "", "false", 0 },
+ { "DebugSymbols", "debug+", "", "true", 0 },
+
+ { "DebugType", "debug:none", "", "none", 0 },
+ { "DebugType", "debug:full", "", "full", 0 },
+ { "DebugType", "debug:pdbonly", "", "pdbonly", 0 },
+
+ { "Optimize", "optimize", "", "true", 0 },
+ { "Optimize", "optimize-", "", "false", 0 },
+ { "Optimize", "optimize+", "", "true", 0 },
+
+ { "TreatWarningsAsErrors", "warnaserror", "", "true", 0 },
+ { "TreatWarningsAsErrors", "warnaserror-", "", "false", 0 },
+ { "TreatWarningsAsErrors", "warnaserror+", "", "true", 0 },
+
+ { "WarningsAsErrors", "warnaserror", "", "", 0 },
+ { "WarningsAsErrors", "warnaserror-", "", "", 0 },
+ { "WarningsAsErrors", "warnaserror+", "", "", 0 },
+
+ { "WarningLevel", "warn:0", "", "0", 0 },
+ { "WarningLevel", "warn:1", "", "1", 0 },
+ { "WarningLevel", "warn:2", "", "2", 0 },
+ { "WarningLevel", "warn:3", "", "3", 0 },
+ { "WarningLevel", "warn:4", "", "4", 0 },
+ { "DisabledWarnings", "nowarn", "", "", 0 },
+
+ { "CheckForOverflowUnderflow", "checked", "", "true", 0 },
+ { "CheckForOverflowUnderflow", "checked-", "", "false", 0 },
+ { "CheckForOverflowUnderflow", "checked+", "", "true", 0 },
+
+ { "AllowUnsafeBlocks", "unsafe", "", "true", 0 },
+ { "AllowUnsafeBlocks", "unsafe-", "", "false", 0 },
+ { "AllowUnsafeBlocks", "unsafe+", "", "true", 0 },
+
+ { "DefineConstants", "define:", "", "",
+ cmIDEFlagTable::SemicolonAppendable | cmIDEFlagTable::UserValue },
+
+ { "LangVersion", "langversion:ISO-1", "", "ISO-1", 0 },
+ { "LangVersion", "langversion:ISO-2", "", "ISO-2", 0 },
+ { "LangVersion", "langversion:3", "", "3", 0 },
+ { "LangVersion", "langversion:4", "", "4", 0 },
+ { "LangVersion", "langversion:5", "", "5", 0 },
+ { "LangVersion", "langversion:6", "", "6", 0 },
+ { "LangVersion", "langversion:default", "", "default", 0 },
+
+ { "DelaySign", "delaysign", "", "true", 0 },
+ { "DelaySign", "delaysign-", "", "false", 0 },
+ { "DelaySign", "delaysign+", "", "true", 0 },
+
+ { "AssemblyOriginatorKeyFile", "keyfile", "", "", 0 },
+
+ { "KeyContainerName", "keycontainer", "", "", 0 },
+
+ { "NoLogo", "nologo", "", "", 0 },
+
+ { "NoConfig", "noconfig", "", "true", 0 },
+
+ { "BaseAddress", "baseaddress:", "", "", 0 },
+
+ { "CodePage", "codepage", "", "", 0 },
+
+ { "Utf8Output", "utf8output", "", "", 0 },
+
+ { "MainEntryPoint", "main:", "", "", 0 },
+
+ { "GenerateFullPaths", "fullpaths", "", "true", 0 },
+
+ { "FileAlignment", "filealign", "", "", 0 },
+
+ { "PdbFile", "pdb:", "", "", 0 },
+
+ { "NoStandardLib", "nostdlib", "", "true", 0 },
+ { "NoStandardLib", "nostdlib-", "", "false", 0 },
+ { "NoStandardLib", "nostdlib+", "", "true", 0 },
+
+ { "SubsystemVersion", "subsystemversion", "", "", 0 },
+
+ { "AdditionalLibPaths", "lib:", "", "", 0 },
+
+ { "ErrorReport", "errorreport:none", "Do Not Send Report", "none", 0 },
+ { "ErrorReport", "errorreport:prompt", "Prompt Immediately", "prompt", 0 },
+ { "ErrorReport", "errorreport:queue", "Queue For Next Login", "queue", 0 },
+ { "ErrorReport", "errorreport:send", "Send Automatically", "send", 0 },
+
+ { 0, 0, 0, 0, 0 },
+};
diff --git a/Source/cmVS11CSharpFlagTable.h b/Source/cmVS11CSharpFlagTable.h
new file mode 100644
index 0000000..71870b6
--- /dev/null
+++ b/Source/cmVS11CSharpFlagTable.h
@@ -0,0 +1,120 @@
+static cmVS7FlagTable cmVS11CSharpFlagTable[] = {
+ { "ProjectName", "out:", "", "", cmIDEFlagTable::UserValueRequired },
+
+ { "OutputType", "target:exe", "", "Exe", 0 },
+ { "OutputType", "target:winexe", "", "Winexe", 0 },
+ { "OutputType", "target:library", "", "Library", 0 },
+ { "OutputType", "target:module", "", "Module", 0 },
+
+ { "DocumentationFile", "doc", "", "", cmIDEFlagTable::UserValueRequired },
+
+ { "Platform", "platform:x86", "", "x86", 0 },
+ { "Platform", "platform:Itanium", "", "Itanium", 0 },
+ { "Platform", "platform:x64", "", "x64", 0 },
+ { "Platform", "platform:arm", "", "arm", 0 },
+ { "Platform", "platform:anycpu32bitpreferred", "", "anycpu32bitpreferred",
+ 0 },
+ { "Platform", "platform:anycpu", "", "anycpu", 0 },
+
+ { "References", "reference:", "mit alias", "", 0 },
+ { "References", "reference:", "dateiliste", "", 0 },
+ { "AddModules", "addmodule:", "", "", cmIDEFlagTable::SemicolonAppendable },
+ { "", "link", "", "", 0 },
+
+ { "Win32Resource", "win32res", "", "", cmIDEFlagTable::UserValueRequired },
+ { "ApplicationIcon", "win32icon", "", "",
+ cmIDEFlagTable::UserValueRequired },
+
+ { "Win32Manifest", "win32manifest:", "", "true", 0 },
+
+ { "NoWin32Manifest", "nowin32manifest", "", "true", 0 },
+
+ { "DefineDebug", "debug", "", "true", cmIDEFlagTable::Continue },
+
+ { "DebugSymbols", "debug", "", "true", 0 },
+ { "DebugSymbols", "debug-", "", "false", 0 },
+ { "DebugSymbols", "debug+", "", "true", 0 },
+
+ { "DebugType", "debug:none", "", "none", 0 },
+ { "DebugType", "debug:full", "", "full", 0 },
+ { "DebugType", "debug:pdbonly", "", "pdbonly", 0 },
+
+ { "Optimize", "optimize", "", "true", 0 },
+ { "Optimize", "optimize-", "", "false", 0 },
+ { "Optimize", "optimize+", "", "true", 0 },
+
+ { "TreatWarningsAsErrors", "warnaserror", "", "true", 0 },
+ { "TreatWarningsAsErrors", "warnaserror-", "", "false", 0 },
+ { "TreatWarningsAsErrors", "warnaserror+", "", "true", 0 },
+
+ { "WarningsAsErrors", "warnaserror", "", "", 0 },
+ { "WarningsAsErrors", "warnaserror-", "", "", 0 },
+ { "WarningsAsErrors", "warnaserror+", "", "", 0 },
+
+ { "WarningLevel", "warn:0", "", "0", 0 },
+ { "WarningLevel", "warn:1", "", "1", 0 },
+ { "WarningLevel", "warn:2", "", "2", 0 },
+ { "WarningLevel", "warn:3", "", "3", 0 },
+ { "WarningLevel", "warn:4", "", "4", 0 },
+ { "DisabledWarnings", "nowarn", "", "", 0 },
+
+ { "CheckForOverflowUnderflow", "checked", "", "true", 0 },
+ { "CheckForOverflowUnderflow", "checked-", "", "false", 0 },
+ { "CheckForOverflowUnderflow", "checked+", "", "true", 0 },
+
+ { "AllowUnsafeBlocks", "unsafe", "", "true", 0 },
+ { "AllowUnsafeBlocks", "unsafe-", "", "false", 0 },
+ { "AllowUnsafeBlocks", "unsafe+", "", "true", 0 },
+
+ { "DefineConstants", "define:", "", "",
+ cmIDEFlagTable::SemicolonAppendable | cmIDEFlagTable::UserValue },
+
+ { "LangVersion", "langversion:ISO-1", "", "ISO-1", 0 },
+ { "LangVersion", "langversion:ISO-2", "", "ISO-2", 0 },
+ { "LangVersion", "langversion:3", "", "3", 0 },
+ { "LangVersion", "langversion:4", "", "4", 0 },
+ { "LangVersion", "langversion:5", "", "5", 0 },
+ { "LangVersion", "langversion:6", "", "6", 0 },
+ { "LangVersion", "langversion:default", "", "default", 0 },
+
+ { "DelaySign", "delaysign", "", "true", 0 },
+ { "DelaySign", "delaysign-", "", "false", 0 },
+ { "DelaySign", "delaysign+", "", "true", 0 },
+
+ { "AssemblyOriginatorKeyFile", "keyfile", "", "", 0 },
+
+ { "KeyContainerName", "keycontainer", "", "", 0 },
+
+ { "NoLogo", "nologo", "", "", 0 },
+
+ { "NoConfig", "noconfig", "", "true", 0 },
+
+ { "BaseAddress", "baseaddress:", "", "", 0 },
+
+ { "CodePage", "codepage", "", "", 0 },
+
+ { "Utf8Output", "utf8output", "", "", 0 },
+
+ { "MainEntryPoint", "main:", "", "", 0 },
+
+ { "GenerateFullPaths", "fullpaths", "", "true", 0 },
+
+ { "FileAlignment", "filealign", "", "", 0 },
+
+ { "PdbFile", "pdb:", "", "", 0 },
+
+ { "NoStandardLib", "nostdlib", "", "true", 0 },
+ { "NoStandardLib", "nostdlib-", "", "false", 0 },
+ { "NoStandardLib", "nostdlib+", "", "true", 0 },
+
+ { "SubsystemVersion", "subsystemversion", "", "", 0 },
+
+ { "AdditionalLibPaths", "lib:", "", "", 0 },
+
+ { "ErrorReport", "errorreport:none", "Do Not Send Report", "none", 0 },
+ { "ErrorReport", "errorreport:prompt", "Prompt Immediately", "prompt", 0 },
+ { "ErrorReport", "errorreport:queue", "Queue For Next Login", "queue", 0 },
+ { "ErrorReport", "errorreport:send", "Send Automatically", "send", 0 },
+
+ { 0, 0, 0, 0, 0 },
+};
diff --git a/Source/cmVS12CSharpFlagTable.h b/Source/cmVS12CSharpFlagTable.h
new file mode 100644
index 0000000..f98b184
--- /dev/null
+++ b/Source/cmVS12CSharpFlagTable.h
@@ -0,0 +1,120 @@
+static cmVS7FlagTable cmVS12CSharpFlagTable[] = {
+ { "ProjectName", "out:", "", "", cmIDEFlagTable::UserValueRequired },
+
+ { "OutputType", "target:exe", "", "Exe", 0 },
+ { "OutputType", "target:winexe", "", "Winexe", 0 },
+ { "OutputType", "target:library", "", "Library", 0 },
+ { "OutputType", "target:module", "", "Module", 0 },
+
+ { "DocumentationFile", "doc", "", "", cmIDEFlagTable::UserValueRequired },
+
+ { "Platform", "platform:x86", "", "x86", 0 },
+ { "Platform", "platform:Itanium", "", "Itanium", 0 },
+ { "Platform", "platform:x64", "", "x64", 0 },
+ { "Platform", "platform:arm", "", "arm", 0 },
+ { "Platform", "platform:anycpu32bitpreferred", "", "anycpu32bitpreferred",
+ 0 },
+ { "Platform", "platform:anycpu", "", "anycpu", 0 },
+
+ { "References", "reference:", "mit alias", "", 0 },
+ { "References", "reference:", "dateiliste", "", 0 },
+ { "AddModules", "addmodule:", "", "", cmIDEFlagTable::SemicolonAppendable },
+ { "", "link", "", "", 0 },
+
+ { "Win32Resource", "win32res", "", "", cmIDEFlagTable::UserValueRequired },
+ { "ApplicationIcon", "win32icon", "", "",
+ cmIDEFlagTable::UserValueRequired },
+
+ { "Win32Manifest", "win32manifest:", "", "true", 0 },
+
+ { "NoWin32Manifest", "nowin32manifest", "", "true", 0 },
+
+ { "DefineDebug", "debug", "", "true", cmIDEFlagTable::Continue },
+
+ { "DebugSymbols", "debug", "", "true", 0 },
+ { "DebugSymbols", "debug-", "", "false", 0 },
+ { "DebugSymbols", "debug+", "", "true", 0 },
+
+ { "DebugType", "debug:none", "", "none", 0 },
+ { "DebugType", "debug:full", "", "full", 0 },
+ { "DebugType", "debug:pdbonly", "", "pdbonly", 0 },
+
+ { "Optimize", "optimize", "", "true", 0 },
+ { "Optimize", "optimize-", "", "false", 0 },
+ { "Optimize", "optimize+", "", "true", 0 },
+
+ { "TreatWarningsAsErrors", "warnaserror", "", "true", 0 },
+ { "TreatWarningsAsErrors", "warnaserror-", "", "false", 0 },
+ { "TreatWarningsAsErrors", "warnaserror+", "", "true", 0 },
+
+ { "WarningsAsErrors", "warnaserror", "", "", 0 },
+ { "WarningsAsErrors", "warnaserror-", "", "", 0 },
+ { "WarningsAsErrors", "warnaserror+", "", "", 0 },
+
+ { "WarningLevel", "warn:0", "", "0", 0 },
+ { "WarningLevel", "warn:1", "", "1", 0 },
+ { "WarningLevel", "warn:2", "", "2", 0 },
+ { "WarningLevel", "warn:3", "", "3", 0 },
+ { "WarningLevel", "warn:4", "", "4", 0 },
+ { "DisabledWarnings", "nowarn", "", "", 0 },
+
+ { "CheckForOverflowUnderflow", "checked", "", "true", 0 },
+ { "CheckForOverflowUnderflow", "checked-", "", "false", 0 },
+ { "CheckForOverflowUnderflow", "checked+", "", "true", 0 },
+
+ { "AllowUnsafeBlocks", "unsafe", "", "true", 0 },
+ { "AllowUnsafeBlocks", "unsafe-", "", "false", 0 },
+ { "AllowUnsafeBlocks", "unsafe+", "", "true", 0 },
+
+ { "DefineConstants", "define:", "", "",
+ cmIDEFlagTable::SemicolonAppendable | cmIDEFlagTable::UserValue },
+
+ { "LangVersion", "langversion:ISO-1", "", "ISO-1", 0 },
+ { "LangVersion", "langversion:ISO-2", "", "ISO-2", 0 },
+ { "LangVersion", "langversion:3", "", "3", 0 },
+ { "LangVersion", "langversion:4", "", "4", 0 },
+ { "LangVersion", "langversion:5", "", "5", 0 },
+ { "LangVersion", "langversion:6", "", "6", 0 },
+ { "LangVersion", "langversion:default", "", "default", 0 },
+
+ { "DelaySign", "delaysign", "", "true", 0 },
+ { "DelaySign", "delaysign-", "", "false", 0 },
+ { "DelaySign", "delaysign+", "", "true", 0 },
+
+ { "AssemblyOriginatorKeyFile", "keyfile", "", "", 0 },
+
+ { "KeyContainerName", "keycontainer", "", "", 0 },
+
+ { "NoLogo", "nologo", "", "", 0 },
+
+ { "NoConfig", "noconfig", "", "true", 0 },
+
+ { "BaseAddress", "baseaddress:", "", "", 0 },
+
+ { "CodePage", "codepage", "", "", 0 },
+
+ { "Utf8Output", "utf8output", "", "", 0 },
+
+ { "MainEntryPoint", "main:", "", "", 0 },
+
+ { "GenerateFullPaths", "fullpaths", "", "true", 0 },
+
+ { "FileAlignment", "filealign", "", "", 0 },
+
+ { "PdbFile", "pdb:", "", "", 0 },
+
+ { "NoStandardLib", "nostdlib", "", "true", 0 },
+ { "NoStandardLib", "nostdlib-", "", "false", 0 },
+ { "NoStandardLib", "nostdlib+", "", "true", 0 },
+
+ { "SubsystemVersion", "subsystemversion", "", "", 0 },
+
+ { "AdditionalLibPaths", "lib:", "", "", 0 },
+
+ { "ErrorReport", "errorreport:none", "Do Not Send Report", "none", 0 },
+ { "ErrorReport", "errorreport:prompt", "Prompt Immediately", "prompt", 0 },
+ { "ErrorReport", "errorreport:queue", "Queue For Next Login", "queue", 0 },
+ { "ErrorReport", "errorreport:send", "Send Automatically", "send", 0 },
+
+ { 0, 0, 0, 0, 0 },
+};
diff --git a/Source/cmVS140CSharpFlagTable.h b/Source/cmVS140CSharpFlagTable.h
new file mode 100644
index 0000000..256c35f
--- /dev/null
+++ b/Source/cmVS140CSharpFlagTable.h
@@ -0,0 +1,120 @@
+static cmVS7FlagTable cmVS140CSharpFlagTable[] = {
+ { "ProjectName", "out:", "", "", cmIDEFlagTable::UserValueRequired },
+
+ { "OutputType", "target:exe", "", "Exe", 0 },
+ { "OutputType", "target:winexe", "", "Winexe", 0 },
+ { "OutputType", "target:library", "", "Library", 0 },
+ { "OutputType", "target:module", "", "Module", 0 },
+
+ { "DocumentationFile", "doc", "", "", cmIDEFlagTable::UserValueRequired },
+
+ { "Platform", "platform:x86", "", "x86", 0 },
+ { "Platform", "platform:Itanium", "", "Itanium", 0 },
+ { "Platform", "platform:x64", "", "x64", 0 },
+ { "Platform", "platform:arm", "", "arm", 0 },
+ { "Platform", "platform:anycpu32bitpreferred", "", "anycpu32bitpreferred",
+ 0 },
+ { "Platform", "platform:anycpu", "", "anycpu", 0 },
+
+ { "References", "reference:", "mit alias", "", 0 },
+ { "References", "reference:", "dateiliste", "", 0 },
+ { "AddModules", "addmodule:", "", "", cmIDEFlagTable::SemicolonAppendable },
+ { "", "link", "", "", 0 },
+
+ { "Win32Resource", "win32res", "", "", cmIDEFlagTable::UserValueRequired },
+ { "ApplicationIcon", "win32icon", "", "",
+ cmIDEFlagTable::UserValueRequired },
+
+ { "Win32Manifest", "win32manifest:", "", "true", 0 },
+
+ { "NoWin32Manifest", "nowin32manifest", "", "true", 0 },
+
+ { "DefineDebug", "debug", "", "true", cmIDEFlagTable::Continue },
+
+ { "DebugSymbols", "debug", "", "true", 0 },
+ { "DebugSymbols", "debug-", "", "false", 0 },
+ { "DebugSymbols", "debug+", "", "true", 0 },
+
+ { "DebugType", "debug:none", "", "none", 0 },
+ { "DebugType", "debug:full", "", "full", 0 },
+ { "DebugType", "debug:pdbonly", "", "pdbonly", 0 },
+
+ { "Optimize", "optimize", "", "true", 0 },
+ { "Optimize", "optimize-", "", "false", 0 },
+ { "Optimize", "optimize+", "", "true", 0 },
+
+ { "TreatWarningsAsErrors", "warnaserror", "", "true", 0 },
+ { "TreatWarningsAsErrors", "warnaserror-", "", "false", 0 },
+ { "TreatWarningsAsErrors", "warnaserror+", "", "true", 0 },
+
+ { "WarningsAsErrors", "warnaserror", "", "", 0 },
+ { "WarningsAsErrors", "warnaserror-", "", "", 0 },
+ { "WarningsAsErrors", "warnaserror+", "", "", 0 },
+
+ { "WarningLevel", "warn:0", "", "0", 0 },
+ { "WarningLevel", "warn:1", "", "1", 0 },
+ { "WarningLevel", "warn:2", "", "2", 0 },
+ { "WarningLevel", "warn:3", "", "3", 0 },
+ { "WarningLevel", "warn:4", "", "4", 0 },
+ { "DisabledWarnings", "nowarn", "", "", 0 },
+
+ { "CheckForOverflowUnderflow", "checked", "", "true", 0 },
+ { "CheckForOverflowUnderflow", "checked-", "", "false", 0 },
+ { "CheckForOverflowUnderflow", "checked+", "", "true", 0 },
+
+ { "AllowUnsafeBlocks", "unsafe", "", "true", 0 },
+ { "AllowUnsafeBlocks", "unsafe-", "", "false", 0 },
+ { "AllowUnsafeBlocks", "unsafe+", "", "true", 0 },
+
+ { "DefineConstants", "define:", "", "",
+ cmIDEFlagTable::SemicolonAppendable | cmIDEFlagTable::UserValue },
+
+ { "LangVersion", "langversion:ISO-1", "", "ISO-1", 0 },
+ { "LangVersion", "langversion:ISO-2", "", "ISO-2", 0 },
+ { "LangVersion", "langversion:3", "", "3", 0 },
+ { "LangVersion", "langversion:4", "", "4", 0 },
+ { "LangVersion", "langversion:5", "", "5", 0 },
+ { "LangVersion", "langversion:6", "", "6", 0 },
+ { "LangVersion", "langversion:default", "", "default", 0 },
+
+ { "DelaySign", "delaysign", "", "true", 0 },
+ { "DelaySign", "delaysign-", "", "false", 0 },
+ { "DelaySign", "delaysign+", "", "true", 0 },
+
+ { "AssemblyOriginatorKeyFile", "keyfile", "", "", 0 },
+
+ { "KeyContainerName", "keycontainer", "", "", 0 },
+
+ { "NoLogo", "nologo", "", "", 0 },
+
+ { "NoConfig", "noconfig", "", "true", 0 },
+
+ { "BaseAddress", "baseaddress:", "", "", 0 },
+
+ { "CodePage", "codepage", "", "", 0 },
+
+ { "Utf8Output", "utf8output", "", "", 0 },
+
+ { "MainEntryPoint", "main:", "", "", 0 },
+
+ { "GenerateFullPaths", "fullpaths", "", "true", 0 },
+
+ { "FileAlignment", "filealign", "", "", 0 },
+
+ { "PdbFile", "pdb:", "", "", 0 },
+
+ { "NoStandardLib", "nostdlib", "", "true", 0 },
+ { "NoStandardLib", "nostdlib-", "", "false", 0 },
+ { "NoStandardLib", "nostdlib+", "", "true", 0 },
+
+ { "SubsystemVersion", "subsystemversion", "", "", 0 },
+
+ { "AdditionalLibPaths", "lib:", "", "", 0 },
+
+ { "ErrorReport", "errorreport:none", "Do Not Send Report", "none", 0 },
+ { "ErrorReport", "errorreport:prompt", "Prompt Immediately", "prompt", 0 },
+ { "ErrorReport", "errorreport:queue", "Queue For Next Login", "queue", 0 },
+ { "ErrorReport", "errorreport:send", "Send Automatically", "send", 0 },
+
+ { 0, 0, 0, 0, 0 },
+};
diff --git a/Source/cmVS141CSharpFlagTable.h b/Source/cmVS141CSharpFlagTable.h
new file mode 100644
index 0000000..8508581
--- /dev/null
+++ b/Source/cmVS141CSharpFlagTable.h
@@ -0,0 +1,120 @@
+static cmVS7FlagTable cmVS141CSharpFlagTable[] = {
+ { "ProjectName", "out:", "", "", cmIDEFlagTable::UserValueRequired },
+
+ { "OutputType", "target:exe", "", "Exe", 0 },
+ { "OutputType", "target:winexe", "", "Winexe", 0 },
+ { "OutputType", "target:library", "", "Library", 0 },
+ { "OutputType", "target:module", "", "Module", 0 },
+
+ { "DocumentationFile", "doc", "", "", cmIDEFlagTable::UserValueRequired },
+
+ { "Platform", "platform:x86", "", "x86", 0 },
+ { "Platform", "platform:Itanium", "", "Itanium", 0 },
+ { "Platform", "platform:x64", "", "x64", 0 },
+ { "Platform", "platform:arm", "", "arm", 0 },
+ { "Platform", "platform:anycpu32bitpreferred", "", "anycpu32bitpreferred",
+ 0 },
+ { "Platform", "platform:anycpu", "", "anycpu", 0 },
+
+ { "References", "reference:", "mit alias", "", 0 },
+ { "References", "reference:", "dateiliste", "", 0 },
+ { "AddModules", "addmodule:", "", "", cmIDEFlagTable::SemicolonAppendable },
+ { "", "link", "", "", 0 },
+
+ { "Win32Resource", "win32res", "", "", cmIDEFlagTable::UserValueRequired },
+ { "ApplicationIcon", "win32icon", "", "",
+ cmIDEFlagTable::UserValueRequired },
+
+ { "Win32Manifest", "win32manifest:", "", "true", 0 },
+
+ { "NoWin32Manifest", "nowin32manifest", "", "true", 0 },
+
+ { "DefineDebug", "debug", "", "true", cmIDEFlagTable::Continue },
+
+ { "DebugSymbols", "debug", "", "true", 0 },
+ { "DebugSymbols", "debug-", "", "false", 0 },
+ { "DebugSymbols", "debug+", "", "true", 0 },
+
+ { "DebugType", "debug:none", "", "none", 0 },
+ { "DebugType", "debug:full", "", "full", 0 },
+ { "DebugType", "debug:pdbonly", "", "pdbonly", 0 },
+
+ { "Optimize", "optimize", "", "true", 0 },
+ { "Optimize", "optimize-", "", "false", 0 },
+ { "Optimize", "optimize+", "", "true", 0 },
+
+ { "TreatWarningsAsErrors", "warnaserror", "", "true", 0 },
+ { "TreatWarningsAsErrors", "warnaserror-", "", "false", 0 },
+ { "TreatWarningsAsErrors", "warnaserror+", "", "true", 0 },
+
+ { "WarningsAsErrors", "warnaserror", "", "", 0 },
+ { "WarningsAsErrors", "warnaserror-", "", "", 0 },
+ { "WarningsAsErrors", "warnaserror+", "", "", 0 },
+
+ { "WarningLevel", "warn:0", "", "0", 0 },
+ { "WarningLevel", "warn:1", "", "1", 0 },
+ { "WarningLevel", "warn:2", "", "2", 0 },
+ { "WarningLevel", "warn:3", "", "3", 0 },
+ { "WarningLevel", "warn:4", "", "4", 0 },
+ { "DisabledWarnings", "nowarn", "", "", 0 },
+
+ { "CheckForOverflowUnderflow", "checked", "", "true", 0 },
+ { "CheckForOverflowUnderflow", "checked-", "", "false", 0 },
+ { "CheckForOverflowUnderflow", "checked+", "", "true", 0 },
+
+ { "AllowUnsafeBlocks", "unsafe", "", "true", 0 },
+ { "AllowUnsafeBlocks", "unsafe-", "", "false", 0 },
+ { "AllowUnsafeBlocks", "unsafe+", "", "true", 0 },
+
+ { "DefineConstants", "define:", "", "",
+ cmIDEFlagTable::SemicolonAppendable | cmIDEFlagTable::UserValue },
+
+ { "LangVersion", "langversion:ISO-1", "", "ISO-1", 0 },
+ { "LangVersion", "langversion:ISO-2", "", "ISO-2", 0 },
+ { "LangVersion", "langversion:3", "", "3", 0 },
+ { "LangVersion", "langversion:4", "", "4", 0 },
+ { "LangVersion", "langversion:5", "", "5", 0 },
+ { "LangVersion", "langversion:6", "", "6", 0 },
+ { "LangVersion", "langversion:default", "", "default", 0 },
+
+ { "DelaySign", "delaysign", "", "true", 0 },
+ { "DelaySign", "delaysign-", "", "false", 0 },
+ { "DelaySign", "delaysign+", "", "true", 0 },
+
+ { "AssemblyOriginatorKeyFile", "keyfile", "", "", 0 },
+
+ { "KeyContainerName", "keycontainer", "", "", 0 },
+
+ { "NoLogo", "nologo", "", "", 0 },
+
+ { "NoConfig", "noconfig", "", "true", 0 },
+
+ { "BaseAddress", "baseaddress:", "", "", 0 },
+
+ { "CodePage", "codepage", "", "", 0 },
+
+ { "Utf8Output", "utf8output", "", "", 0 },
+
+ { "MainEntryPoint", "main:", "", "", 0 },
+
+ { "GenerateFullPaths", "fullpaths", "", "true", 0 },
+
+ { "FileAlignment", "filealign", "", "", 0 },
+
+ { "PdbFile", "pdb:", "", "", 0 },
+
+ { "NoStandardLib", "nostdlib", "", "true", 0 },
+ { "NoStandardLib", "nostdlib-", "", "false", 0 },
+ { "NoStandardLib", "nostdlib+", "", "true", 0 },
+
+ { "SubsystemVersion", "subsystemversion", "", "", 0 },
+
+ { "AdditionalLibPaths", "lib:", "", "", 0 },
+
+ { "ErrorReport", "errorreport:none", "Do Not Send Report", "none", 0 },
+ { "ErrorReport", "errorreport:prompt", "Prompt Immediately", "prompt", 0 },
+ { "ErrorReport", "errorreport:queue", "Queue For Next Login", "queue", 0 },
+ { "ErrorReport", "errorreport:send", "Send Automatically", "send", 0 },
+
+ { 0, 0, 0, 0, 0 },
+};
diff --git a/Source/cmVisualStudio10ToolsetOptions.cxx b/Source/cmVisualStudio10ToolsetOptions.cxx
index b928f43..afca216 100644
--- a/Source/cmVisualStudio10ToolsetOptions.cxx
+++ b/Source/cmVisualStudio10ToolsetOptions.cxx
@@ -7,22 +7,27 @@
#include "cmVisualStudioGeneratorOptions.h"
#include "cmVS10CLFlagTable.h"
+#include "cmVS10CSharpFlagTable.h"
#include "cmVS10LibFlagTable.h"
#include "cmVS10LinkFlagTable.h"
#include "cmVS10MASMFlagTable.h"
#include "cmVS10RCFlagTable.h"
#include "cmVS11CLFlagTable.h"
+#include "cmVS11CSharpFlagTable.h"
#include "cmVS11LibFlagTable.h"
#include "cmVS11LinkFlagTable.h"
#include "cmVS11MASMFlagTable.h"
#include "cmVS11RCFlagTable.h"
#include "cmVS12CLFlagTable.h"
+#include "cmVS12CSharpFlagTable.h"
#include "cmVS12LibFlagTable.h"
#include "cmVS12LinkFlagTable.h"
#include "cmVS12MASMFlagTable.h"
#include "cmVS12RCFlagTable.h"
#include "cmVS140CLFlagTable.h"
+#include "cmVS140CSharpFlagTable.h"
#include "cmVS141CLFlagTable.h"
+#include "cmVS141CSharpFlagTable.h"
#include "cmVS14LibFlagTable.h"
#include "cmVS14LinkFlagTable.h"
#include "cmVS14MASMFlagTable.h"
@@ -48,6 +53,26 @@ cmIDEFlagTable const* cmVisualStudio10ToolsetOptions::GetClFlagTable(
}
}
+cmIDEFlagTable const* cmVisualStudio10ToolsetOptions::GetCSharpFlagTable(
+ std::string const& name, std::string const& toolset) const
+{
+ std::string const useToolset = this->GetToolsetName(name, toolset);
+
+ if ((useToolset == "v141")) {
+ return cmVS141CSharpFlagTable;
+ } else if (useToolset == "v140") {
+ return cmVS140CSharpFlagTable;
+ } else if (useToolset == "v120") {
+ return cmVS12CSharpFlagTable;
+ } else if (useToolset == "v110") {
+ return cmVS11CSharpFlagTable;
+ } else if (useToolset == "v100") {
+ return cmVS10CSharpFlagTable;
+ } else {
+ return 0;
+ }
+}
+
cmIDEFlagTable const* cmVisualStudio10ToolsetOptions::GetRcFlagTable(
std::string const& name, std::string const& toolset) const
{
diff --git a/Source/cmVisualStudio10ToolsetOptions.h b/Source/cmVisualStudio10ToolsetOptions.h
index bb0be15..2459f5e 100644
--- a/Source/cmVisualStudio10ToolsetOptions.h
+++ b/Source/cmVisualStudio10ToolsetOptions.h
@@ -19,6 +19,8 @@ class cmVisualStudio10ToolsetOptions
public:
cmIDEFlagTable const* GetClFlagTable(std::string const& name,
std::string const& toolset) const;
+ cmIDEFlagTable const* GetCSharpFlagTable(std::string const& name,
+ std::string const& toolset) const;
cmIDEFlagTable const* GetRcFlagTable(std::string const& name,
std::string const& toolset) const;
cmIDEFlagTable const* GetLibFlagTable(std::string const& name,