MCPcopy Create free account
hub / github.com/WinMerge/winmerge / GetCompilerVersion

Function GetCompilerVersion

Src/ConfigLog.cpp:42–73  ·  view source on GitHub ↗

* @brief Get details of the Compiler Version from _MSC_VER, etc. * Infer the Visual Studio version */

Source from the content-addressed store, hash-verified

40 * Infer the Visual Studio version
41 */
42static String GetCompilerVersion()
43{
44 String sVisualStudio = _T("");
45#ifdef _MSC_VER
46#if _MSC_VER < 1800
47 # error "** Unknown OLD Version of Visual Studio **"
48#elif _MSC_VER == 1800
49 sVisualStudio = _T("VS.2013 (12.0) - ");
50#elif _MSC_VER == 1900
51 sVisualStudio = _T("VS.2015 (14.0) - ");
52#elif _MSC_VER == 1910
53 sVisualStudio = _T("VS.2017 (15.0) - ");
54#elif _MSC_VER == 1911
55 sVisualStudio = _T("VS.2017 (15.3) - ");
56#elif _MSC_VER >= 1912 && _MSC_VER < 1920
57 sVisualStudio = strutils::format(_T("VS.2017 (15.%d) - "), 5 + (_MSC_VER - 1912));
58#elif _MSC_VER >= 1920 && _MSC_VER < 1930
59 sVisualStudio = strutils::format(_T("VS.2019 (16.%d) - "), (_MSC_VER - 1920));
60#elif _MSC_VER >= 1930 && _MSC_VER < 1950
61 sVisualStudio = strutils::format(_T("VS.2022 (17.%d) - "), (_MSC_VER - 1930));
62#elif _MSC_VER >= 1950 && _MSC_VER < 2000
63 sVisualStudio = strutils::format(_T("VS.2026 (18.%d) - "), (_MSC_VER - 1950 + 1));
64#elif _MSC_VER >= 2000
65 # error "** Unknown NEW Version of Visual Studio **"
66#endif
67#endif
68
69 return strutils::format(_T("%sC/C++ Compiler %02i.%02i.%05i.%i"),
70 sVisualStudio,
71 (int)(_MSC_VER / 100), (int)(_MSC_VER % 100), (int)(_MSC_FULL_VER % 100000), _MSC_BUILD
72 );
73}
74
75static String maskUserNameInPath(const String& filePath)
76{

Callers 1

DoFileMethod · 0.85

Calls 1

formatFunction · 0.50

Tested by

no test coverage detected