diff options
author | Michael Stürmer <michael.stuermer@schaeffler.com> | 2016-12-12 13:52:29 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-12-15 14:16:30 (GMT) |
commit | 5c6c0344d32f9282059d46b6fe6f9925ac1f1202 (patch) | |
tree | fc9ce79ea985322807b73cbcd30bcc5cff5ce24d /Modules/CMakeCSharpCompilerId.cs.in | |
parent | 3874843f0f5be9d53001517b3697e0d092f0e845 (diff) | |
download | CMake-5c6c0344d32f9282059d46b6fe6f9925ac1f1202.zip CMake-5c6c0344d32f9282059d46b6fe6f9925ac1f1202.tar.gz CMake-5c6c0344d32f9282059d46b6fe6f9925ac1f1202.tar.bz2 |
C# support: add compiler detection for MSVC
Diffstat (limited to 'Modules/CMakeCSharpCompilerId.cs.in')
-rw-r--r-- | Modules/CMakeCSharpCompilerId.cs.in | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/Modules/CMakeCSharpCompilerId.cs.in b/Modules/CMakeCSharpCompilerId.cs.in new file mode 100644 index 0000000..987f63a --- /dev/null +++ b/Modules/CMakeCSharpCompilerId.cs.in @@ -0,0 +1,63 @@ +using System; + +namespace CSharp +{ + public class CSharpApp + { + const string InfoCompiler = "INFO:compiler[Microsoft " +#if PlatformToolsetv100 + + "Visual Studio" +#elif PlatformToolsetv110 + + "Visual Studio" +#elif PlatformToolsetv120 + + "Visual Studio" +#elif PlatformToolsetv140 + + "Visual Studio" +#elif PlatformToolsetv141 + + "Visual Studio" +#else + + "unknown" +#endif + + "]"; + + const string InfoPlatform = "INFO:platform[Windows]"; + + const string InfoArchitecture = "INFO:arch[" +#if Platformx64 + + "x64" +#elif Platformx86 + + "x86" +#elif PlatformxWin32 + + "Win32]" +#else + + "unknown" +#endif + + "]"; + + const string InfoCompilerVersion = "INFO:compiler_version[" +#if PlatformToolsetv100 + + "2010" +#elif PlatformToolsetv110 + + "2012" +#elif PlatformToolsetv120 + + "2013" +#elif PlatformToolsetv140 + + "2015" +#elif PlatformToolsetv141 + + "2017" +#else + + "9999" +#endif + + "]"; + + static void Main(string[] args) + { + // we have to print the lines to make sure + // the compiler does not optimize them away ... + System.Console.WriteLine(InfoCompiler); + System.Console.WriteLine(InfoPlatform); + System.Console.WriteLine(InfoArchitecture); + System.Console.WriteLine(InfoCompilerVersion); + } + } +} |