Jelajahi Sumber

Merge topic 'vs_csharp_fix_win32manifest_param'

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

Acked-by: Kitware Robot <[email protected]>
Merge-request: !969
Brad King 8 tahun lalu
induk
melakukan
622b4dd785

+ 1 - 1
Modules/CMakeCSharpInformation.cmake

@@ -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-")

+ 2 - 1
Source/cmVS10CSharpFlagTable.h

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

+ 2 - 1
Source/cmVS11CSharpFlagTable.h

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

+ 2 - 1
Source/cmVS12CSharpFlagTable.h

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

+ 2 - 1
Source/cmVS140CSharpFlagTable.h

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

+ 2 - 1
Source/cmVS141CSharpFlagTable.h

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

+ 6 - 0
Source/cmVisualStudio10TargetGenerator.cxx

@@ -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;