Vs: remove /nowin32manifest from C# flags to enable default VS behavior

if /nowin32manifest is specified, it will be preferred over any occurring
/win32manifest:<file> parameter

Fixes: #16969, #16970
This commit is contained in:
Michael Stürmer 2017-06-14 11:30:43 +02:00
parent 22894747b4
commit ec7b3af7e7
7 changed files with 17 additions and 6 deletions

View File

@ -10,7 +10,7 @@ get_filename_component(CMAKE_BASE_NAME "${CMAKE_CSharp_COMPILER}" NAME_WE)
set(CMAKE_BUILD_TYPE_INIT Debug)
set(CMAKE_CSharp_FLAGS_INIT "/define:TRACE /langversion:3 /nowin32manifest")
set(CMAKE_CSharp_FLAGS_INIT "/define:TRACE /langversion:3")
set(CMAKE_CSharp_FLAGS_DEBUG_INIT "/debug:full /optimize- /warn:3 /errorreport:prompt /define:DEBUG")
set(CMAKE_CSharp_FLAGS_RELEASE_INIT "/debug:none /optimize /warn:1 /errorreport:queue")
set(CMAKE_CSharp_FLAGS_RELWITHDEBINFO_INIT "/debug:full /optimize-")

View File

@ -25,7 +25,8 @@ static cmVS7FlagTable cmVS10CSharpFlagTable[] = {
{ "ApplicationIcon", "win32icon", "", "",
cmIDEFlagTable::UserValueRequired },
{ "Win32Manifest", "win32manifest:", "", "true", 0 },
{ "ApplicationManifest", "win32manifest:", "", "",
cmIDEFlagTable::UserValueRequired },
{ "NoWin32Manifest", "nowin32manifest", "", "true", 0 },

View File

@ -25,7 +25,8 @@ static cmVS7FlagTable cmVS11CSharpFlagTable[] = {
{ "ApplicationIcon", "win32icon", "", "",
cmIDEFlagTable::UserValueRequired },
{ "Win32Manifest", "win32manifest:", "", "true", 0 },
{ "ApplicationManifest", "win32manifest:", "", "",
cmIDEFlagTable::UserValueRequired },
{ "NoWin32Manifest", "nowin32manifest", "", "true", 0 },

View File

@ -25,7 +25,8 @@ static cmVS7FlagTable cmVS12CSharpFlagTable[] = {
{ "ApplicationIcon", "win32icon", "", "",
cmIDEFlagTable::UserValueRequired },
{ "Win32Manifest", "win32manifest:", "", "true", 0 },
{ "ApplicationManifest", "win32manifest:", "", "",
cmIDEFlagTable::UserValueRequired },
{ "NoWin32Manifest", "nowin32manifest", "", "true", 0 },

View File

@ -25,7 +25,8 @@ static cmVS7FlagTable cmVS140CSharpFlagTable[] = {
{ "ApplicationIcon", "win32icon", "", "",
cmIDEFlagTable::UserValueRequired },
{ "Win32Manifest", "win32manifest:", "", "true", 0 },
{ "ApplicationManifest", "win32manifest:", "", "",
cmIDEFlagTable::UserValueRequired },
{ "NoWin32Manifest", "nowin32manifest", "", "true", 0 },

View File

@ -25,7 +25,8 @@ static cmVS7FlagTable cmVS141CSharpFlagTable[] = {
{ "ApplicationIcon", "win32icon", "", "",
cmIDEFlagTable::UserValueRequired },
{ "Win32Manifest", "win32manifest:", "", "true", 0 },
{ "ApplicationManifest", "win32manifest:", "", "",
cmIDEFlagTable::UserValueRequired },
{ "NoWin32Manifest", "nowin32manifest", "", "true", 0 },

View File

@ -2340,6 +2340,12 @@ bool cmVisualStudio10TargetGenerator::ComputeClOptions(
clOptions.AddFlag("CallingConvention", "");
}
}
if (csproj == this->ProjectType) {
// /nowin32manifest overrides /win32manifest: parameter
if (clOptions.HasFlag("NoWin32Manifest")) {
clOptions.RemoveFlag("ApplicationManifest");
}
}
this->ClOptions[configName] = pOptions.release();
return true;