Using cmany with Visual Studio¶
TL;DR¶
The general form for choosing the Visual Studio compiler version with cmany is:
<vs_version>[_<architecture>][_<vs_toolset>]
where:
<vs_version>
is one ofvs2019
,vs2017
,vs2015
,vs2013
,vs2012
,vs2010
,vs2008
orvs2005
<architecture>
is one of32
,64
,arm
,ia64
. Defaults to the native architecture when omitted.- as for
<vs_toolset>
: - when omitted, uses the default toolset of the chosen VS version
- when either
clang
orxp
is given, uses the default toolset of the chosen VS version for either clang or xp - otherwise, one of:
- from
vs2019
:v142
,v142_clang
,v142_clang_c2
,v142_xp
- from
vs2017
:v141
,v141_clang
,v141_clang_c2
,v141_xp
- from
vs2015
:v140
,v140_clang
,v140_clang_c2
,v140_xp
- from
vs2013
:v120
,v120_xp
- from
vs2012
:v110
,v110_xp
- from
vs2010
:v100
,v100_xp
- from
vs2008
:v90
,v90_xp
- from
vs2008
:v80
- from
- as for
- Note that not every combination is valid:
- you cannot use toolsets newer than your chosen VS version
arm
is not available in VS versions older than VS2012ia64
is not available in VS versions later than VS2012clang
is not available in versions older than VS2015.
Note
cmany defaults to using the native architecture when no target
architecture is specified. For example, the command cmany b -c
vs2015
will produce a 64 bit build when it is run in a 64 bit
system; but when it is run in a 32 bit system it will produce a 32 bit
build.
This contrasts with cmake: cmake -G "Visual Studio 15 2017"
../..
will produce a 32 bit build in any system.
VS alias examples¶
vs2015
: depending on the native architecture, same ascmake -G "Visual Studio 14 2015"
ORcmake -G "Visual Studio 14 2015 Win64"
vs2015_clang
: ditto, but use thev140_clang_c2
toolsetvs2015_arm
: same ascmake -G "Visual Studio 14 2015 ARM"
vs2015_32_clang
: same ascmake -G "Visual Studio 14 2015" -T v140_clang_c2
vs2015_64_clang
: same ascmake -G "Visual Studio 14 2015 Win64" -T v140_clang_c2
vs2017_64_v140
: same ascmake -G "Visual Studio 15 2017 Win64" -T v140
. This will generate a VS2017 solution for x86_64 which is compiled with thev140
toolset which is from VS2015.
Complete explanation¶
Visual Studio (VS) has an awkward numbering system: the year and the version
number (it also has a different version number for the cl.exe
compiler,
but fortunately we have no need to deal with that here). Sadly, and
confusingly, these have similar values, and cmake forces you to deal with
this by having to explicitly state the full Visual Studio version and year.
cmany tries to help in this situation by making it easier to specify which Visual Studio IDE version and toolset version to use via a simple naming scheme. For example, this will create two VS projects in the native architecture (eg, x86_64), but with different versions:
$ cmany b -c vs2015,vs2017,vs2019
As usual, this would be the result the command:
$ ls -1 build/*
build/windows-x86_64-vs2015-Release/
build/windows-x86_64-vs2017-Release/
build/windows-x86_64-vs2019-Release/
For comparison, to achieve this with direct use of CMake, the equivalent (bash) commands would have to be:
$ mkdir build/windows-x86_64-vs2015-Release
$ mkdir build/windows-x86_64-vs2017-Release
$ mkdir build/windows-x86_64-vs2019-Release
$ cd build/windows-x86_64-vs2015-Release
$ cmake -G "Visual Studio 14 2015 Win64" ../..
$ cd -
$ cd build/windows-x86_64-vs2017-Release
$ cmake -G "Visual Studio 15 2017 Win64" ../..
$ cd -
$ cd build/windows-x86_64-vs2019-Release
$ cmake -G "Visual Studio 15 2019 Win64" ../..
$ cd -
A further point of confusion with Visual Studio is that a given VS solution
version actually consists of two separate items: a) the compiler version (the
toolset) and b) the IDE version. When you run eg cmake -G "Visual Studio 14
2015"
you get a solution for editing your code with the 2015 IDE, and
your code will be compiled with Visual Studio 2015’s default toolset which is
v140
. But you do not have to use this toolset when using the VS 2015
IDE. For example, you can generate a 2015 solution which uses the 2013
toolset, v120
. To do that in CMake, the command would be cmake -G
"Visual Studio 14 2015" -T v120
.
The issue of the Visual Studio toolsets was made less of a corner case with the recent addition (since VS 2015) of a clang frontend, which is convenient for multi-compiler validation of a project’s code. So making it easier to specify non-standard VS toolsets was also from the outset a requirement for cmany.
Aliasing scheme¶
cmany allows you to create any valid combination of the Visual Studio project versions (from vs2017 to vs2005), target architectures (32, 64, arm, ia64) and toolsets (from v141 to v80, with clang_c2 and xp variants). The general form for the cmany VS alias is:
<vs_version>[_<vs_platform>][_<vs_toolset>]
Note that the platform or the toolset can be omitted, in which case a sensible default will be used:
- if the platform is omitted, then the current platform will be used
- if the toolset is omitted, then the toolset of the given project version will be used.
Note also that the order must be exactly as given: first the VS version, then the platform, then the toolset. For example, when the platform is omitted, then the alias should have the following form:
<vs_version>[_<vs_toolset>]
When the toolset is omitted, then the alias should have the form:
<vs_version>[_<vs_platform>]
If both the architecture and platform are omitted, then the alias becomes simply:
<vs_version>
Check the VS alias examples for seeing this scheme at work. The next subsections give a complete enumeration of the possible values for each item in the triplet.
Visual Studio versions¶
Here’s a correspondence between the basic cmany names and the cmake specification. CMake simultaneously specifies the VS version and the target architecture.
cmany | cmake | target architecture |
---|---|---|
vs2019 |
Visual Studio 16 2019 ??? |
native, ie 32 or 64 bits |
vs2019_32 |
Visual Studio 16 2019 |
x86 |
vs2019_64 |
Visual Studio 16 2019 Win64 |
x86_64 |
vs2019_arm |
Visual Studio 16 2019 ARM |
arm |
vs2017 |
Visual Studio 15 2017 ??? |
native, ie 32 or 64 bits |
vs2017_32 |
Visual Studio 15 2017 |
x86 |
vs2017_64 |
Visual Studio 15 2017 Win64 |
x86_64 |
vs2017_arm |
Visual Studio 15 2017 ARM |
arm |
vs2015 |
Visual Studio 14 2015 ??? |
native, ie 32 or 64 bits |
vs2015_32 |
Visual Studio 14 2015 |
x86 |
vs2015_64 |
Visual Studio 14 2015 Win64 |
x86_64 |
vs2015_arm |
Visual Studio 14 2015 ARM |
arm |
vs2013 |
Visual Studio 12 2013 ??? |
native, ie 32 or 64 bits |
vs2013_32 |
Visual Studio 12 2013 |
x86 |
vs2013_64 |
Visual Studio 12 2013 Win64 |
x86_64 |
vs2013_arm |
Visual Studio 12 2013 ARM |
arm |
vs2012 |
Visual Studio 11 2012 ??? |
native, ie 32 or 64 bits |
vs2012_32 |
Visual Studio 11 2012 |
x86 |
vs2012_64 |
Visual Studio 11 2012 Win64 |
x86_64 |
vs2012_arm |
Visual Studio 11 2012 ARM |
arm |
vs2010 |
Visual Studio 10 2010 ??? |
native, ie 32 or 64 bits |
vs2010_32 |
Visual Studio 10 2010 |
x86 |
vs2010_64 |
Visual Studio 10 2010 Win64 |
x86_64 |
vs2010_ia64 |
Visual Studio 10 2010 IA64 |
ia64 |
vs2008 |
Visual Studio 9 2008 ??? |
native, ie 32 or 64 bits |
vs2008_32 |
Visual Studio 9 2008 |
x86 |
vs2008_64 |
Visual Studio 9 2008 Win64 |
x86_64 |
vs2008_ia64 |
Visual Studio 9 2008 IA64 |
ia64 |
vs2005 |
Visual Studio 8 2005 ??? |
native, ie 32 or 64 bits |
vs2005_32 |
Visual Studio 8 2005 |
x86 |
vs2005_64 |
Visual Studio 8 2005 Win64 |
x86_64 |
Target architecture¶
From the list above, it is easy to gather the list of valid architecture names in cmany’s VS aliasing scheme:
32
64
arm
ia64
Visual Studio toolset¶
Here’s the list of valid Visual Studio toolsets:
vs2019
compiler toolsets:v142
,v142_clang_c2
,v142_xp
vs2017
compiler toolsets:v141
,v141_clang_c2
,v141_xp
vs2015
compiler toolsets:v140
,v140_clang_c2
,v140_xp
vs2013
compiler toolsets:v120
,v120_xp
vs2012
compiler toolsets:v110
,v110_xp
vs2010
compiler toolsets:v100
,v100_xp
vs2008
compiler toolsets:v90
,v90_xp
vs2005
compiler toolsets:v80
,
cmany allows several shorter forms for specifying some of these toolsets:
- the default toolset can be omitted. For example,
vs2017
is exactly the same asvs2017_v141
, andvs2013
is exactly the same asvs2013_v120
- the clang toolset can be shortened to
clang
instead ofclang_c2
. Also, omitting the version from a clang toolset will default to the current VS version’s toolset. So for example,vs2015_clang
orvs2015_clang_c2
are the same asvs2015_v140_clang_c2
. - the xp toolset has the same ommission behaviour as clang. For example,
vs2015_xp
is the same asvs2015_v140_xp
.
Alias list¶
It is easy to see that combining the VS solution version, target architecture and toolsets above creates hundreds of different possibilities. This section shows what each of them mean. (If you find any errors, please submit a bug or PR).
VS2019¶
cmany compiler alias | project VS version | Target arch. | VS Toolset |
---|---|---|---|
vs2019 |
16 2019 |
(native) |
v142 |
vs2019_clang |
16 2019 |
(native) |
v142_clang_c2 |
vs2019_xp |
16 2019 |
(native) |
v142_xp |
vs2019_v142 |
16 2019 |
(native) |
v142 |
vs2019_v142_xp |
16 2019 |
(native) |
v142_xp |
vs2019_v142_clang |
16 2019 |
(native) |
v142_clang_c2 |
vs2019_v141 |
16 2019 |
(native) |
v141 |
vs2019_v141_xp |
16 2019 |
(native) |
v141_xp |
vs2019_v141_clang |
16 2019 |
(native) |
v141_clang_c2 |
vs2019_v140 |
16 2019 |
(native) |
v140 |
vs2019_v140_xp |
16 2019 |
(native) |
v140_xp |
vs2019_v140_clang |
16 2019 |
(native) |
v140_clang_c2 |
vs2019_v120 |
16 2019 |
(native) |
v120 |
vs2019_v120_xp |
16 2019 |
(native) |
v120_xp |
vs2019_v110 |
16 2019 |
(native) |
v110 |
vs2019_v110_xp |
16 2019 |
(native) |
v110_xp |
vs2019_v100 |
16 2019 |
(native) |
v100 |
vs2019_v100_xp |
16 2019 |
(native) |
v100_xp |
vs2019_v90 |
16 2019 |
(native) |
v90 |
vs2019_v90_xp |
16 2019 |
(native) |
v90_xp |
vs2019_v80 |
16 2019 |
(native) |
v80 |
vs2019_32 |
16 2019 |
x86 |
v142 |
vs2019_32_clang |
16 2019 |
x86 |
v142_clang_c2 |
vs2019_32_xp |
16 2019 |
x86 |
v142_xp |
vs2019_32_v142 |
16 2019 |
x86 |
v142 |
vs2019_32_v142_xp |
16 2019 |
x86 |
v142_xp |
vs2019_32_v142_clang |
16 2019 |
x86 |
v142_clang_c2 |
vs2019_32_v141 |
16 2019 |
x86 |
v141 |
vs2019_32_v141_xp |
16 2019 |
x86 |
v141_xp |
vs2019_32_v141_clang |
16 2019 |
x86 |
v141_clang_c2 |
vs2019_32_v140 |
16 2019 |
x86 |
v140 |
vs2019_32_v140_xp |
16 2019 |
x86 |
v140_xp |
vs2019_32_v140_clang |
16 2019 |
x86 |
v140_clang_c2 |
vs2019_32_v120 |
16 2019 |
x86 |
v120 |
vs2019_32_v120_xp |
16 2019 |
x86 |
v120_xp |
vs2019_32_v110 |
16 2019 |
x86 |
v110 |
vs2019_32_v110_xp |
16 2019 |
x86 |
v110_xp |
vs2019_32_v100 |
16 2019 |
x86 |
v100 |
vs2019_32_v100_xp |
16 2019 |
x86 |
v100_xp |
vs2019_32_v90 |
16 2019 |
x86 |
v90 |
vs2019_32_v90_xp |
16 2019 |
x86 |
v90_xp |
vs2019_32_v80 |
16 2019 |
x86 |
v80 |
vs2019_64 |
16 2019 |
x86_64 |
v142 |
vs2019_64_clang |
16 2019 |
x86_64 |
v142_clang_c2 |
vs2019_64_xp |
16 2019 |
x86_64 |
v142_xp |
vs2019_64_v142 |
16 2019 |
x86_64 |
v142 |
vs2019_64_v142_xp |
16 2019 |
x86_64 |
v142_xp |
vs2019_64_v142_clang |
16 2019 |
x86_64 |
v142_clang_c2 |
vs2019_64_v141 |
16 2019 |
x86_64 |
v141 |
vs2019_64_v141_xp |
16 2019 |
x86_64 |
v141_xp |
vs2019_64_v141_clang |
16 2019 |
x86_64 |
v141_clang_c2 |
vs2019_64_v140 |
16 2019 |
x86_64 |
v140 |
vs2019_64_v140_xp |
16 2019 |
x86_64 |
v140_xp |
vs2019_64_v140_clang |
16 2019 |
x86_64 |
v140_clang_c2 |
vs2019_64_v120 |
16 2019 |
x86_64 |
v120 |
vs2019_64_v120_xp |
16 2019 |
x86_64 |
v120_xp |
vs2019_64_v110 |
16 2019 |
x86_64 |
v110 |
vs2019_64_v110_xp |
16 2019 |
x86_64 |
v110_xp |
vs2019_64_v100 |
16 2019 |
x86_64 |
v100 |
vs2019_64_v100_xp |
16 2019 |
x86_64 |
v100_xp |
vs2019_64_v90 |
16 2019 |
x86_64 |
v90 |
vs2019_64_v90_xp |
16 2019 |
x86_64 |
v90_xp |
vs2019_64_v80 |
16 2019 |
x86_64 |
v80 |
vs2019_arm |
16 2019 |
arm |
v142 |
vs2019_arm_clang |
16 2019 |
arm |
v142_clang_c2 |
vs2019_arm_v142 |
16 2019 |
arm |
v142 |
vs2019_arm_v142_clang |
16 2019 |
arm |
v142_clang_c2 |
vs2019_arm_v141 |
16 2019 |
arm |
v141 |
vs2019_arm_v141_clang |
16 2019 |
arm |
v141_clang_c2 |
vs2019_arm_v140 |
16 2019 |
arm |
v140 |
vs2019_arm_v140_clang |
16 2019 |
arm |
v140_clang_c2 |
vs2019_arm_v120 |
16 2019 |
arm |
v120 |
vs2019_arm_v110 |
16 2019 |
arm |
v110 |
vs2019_arm_v100 |
16 2019 |
arm |
v100 |
VS2017¶
cmany compiler alias | project VS version | Target arch. | VS Toolset |
---|---|---|---|
vs2017 |
15 2017 |
(native) |
v141 |
vs2017_clang |
15 2017 |
(native) |
v141_clang_c2 |
vs2017_xp |
15 2017 |
(native) |
v141_xp |
vs2017_v141 |
15 2017 |
(native) |
v141 |
vs2017_v141_xp |
15 2017 |
(native) |
v141_xp |
vs2017_v141_clang |
15 2017 |
(native) |
v141_clang_c2 |
vs2017_v140 |
15 2017 |
(native) |
v140 |
vs2017_v140_xp |
15 2017 |
(native) |
v140_xp |
vs2017_v140_clang |
15 2017 |
(native) |
v140_clang_c2 |
vs2017_v120 |
15 2017 |
(native) |
v120 |
vs2017_v120_xp |
15 2017 |
(native) |
v120_xp |
vs2017_v110 |
15 2017 |
(native) |
v110 |
vs2017_v110_xp |
15 2017 |
(native) |
v110_xp |
vs2017_v100 |
15 2017 |
(native) |
v100 |
vs2017_v100_xp |
15 2017 |
(native) |
v100_xp |
vs2017_v90 |
15 2017 |
(native) |
v90 |
vs2017_v90_xp |
15 2017 |
(native) |
v90_xp |
vs2017_v80 |
15 2017 |
(native) |
v80 |
vs2017_32 |
15 2017 |
x86 |
v141 |
vs2017_32_clang |
15 2017 |
x86 |
v141_clang_c2 |
vs2017_32_xp |
15 2017 |
x86 |
v141_xp |
vs2017_32_v141 |
15 2017 |
x86 |
v141 |
vs2017_32_v141_xp |
15 2017 |
x86 |
v141_xp |
vs2017_32_v141_clang |
15 2017 |
x86 |
v141_clang_c2 |
vs2017_32_v140 |
15 2017 |
x86 |
v140 |
vs2017_32_v140_xp |
15 2017 |
x86 |
v140_xp |
vs2017_32_v140_clang |
15 2017 |
x86 |
v140_clang_c2 |
vs2017_32_v120 |
15 2017 |
x86 |
v120 |
vs2017_32_v120_xp |
15 2017 |
x86 |
v120_xp |
vs2017_32_v110 |
15 2017 |
x86 |
v110 |
vs2017_32_v110_xp |
15 2017 |
x86 |
v110_xp |
vs2017_32_v100 |
15 2017 |
x86 |
v100 |
vs2017_32_v100_xp |
15 2017 |
x86 |
v100_xp |
vs2017_32_v90 |
15 2017 |
x86 |
v90 |
vs2017_32_v90_xp |
15 2017 |
x86 |
v90_xp |
vs2017_32_v80 |
15 2017 |
x86 |
v80 |
vs2017_64 |
15 2017 |
x86_64 |
v141 |
vs2017_64_clang |
15 2017 |
x86_64 |
v141_clang_c2 |
vs2017_64_xp |
15 2017 |
x86_64 |
v141_xp |
vs2017_64_v141 |
15 2017 |
x86_64 |
v141 |
vs2017_64_v141_xp |
15 2017 |
x86_64 |
v141_xp |
vs2017_64_v141_clang |
15 2017 |
x86_64 |
v141_clang_c2 |
vs2017_64_v140 |
15 2017 |
x86_64 |
v140 |
vs2017_64_v140_xp |
15 2017 |
x86_64 |
v140_xp |
vs2017_64_v140_clang |
15 2017 |
x86_64 |
v140_clang_c2 |
vs2017_64_v120 |
15 2017 |
x86_64 |
v120 |
vs2017_64_v120_xp |
15 2017 |
x86_64 |
v120_xp |
vs2017_64_v110 |
15 2017 |
x86_64 |
v110 |
vs2017_64_v110_xp |
15 2017 |
x86_64 |
v110_xp |
vs2017_64_v100 |
15 2017 |
x86_64 |
v100 |
vs2017_64_v100_xp |
15 2017 |
x86_64 |
v100_xp |
vs2017_64_v90 |
15 2017 |
x86_64 |
v90 |
vs2017_64_v90_xp |
15 2017 |
x86_64 |
v90_xp |
vs2017_64_v80 |
15 2017 |
x86_64 |
v80 |
vs2017_arm |
15 2017 |
arm |
v141 |
vs2017_arm_clang |
15 2017 |
arm |
v141_clang_c2 |
vs2017_arm_v141 |
15 2017 |
arm |
v141 |
vs2017_arm_v141_clang |
15 2017 |
arm |
v141_clang_c2 |
vs2017_arm_v140 |
15 2017 |
arm |
v140 |
vs2017_arm_v140_clang |
15 2017 |
arm |
v140_clang_c2 |
vs2017_arm_v120 |
15 2017 |
arm |
v120 |
vs2017_arm_v110 |
15 2017 |
arm |
v110 |
vs2017_arm_v100 |
15 2017 |
arm |
v100 |
VS2015¶
cmany compiler alias | project VS version | Target arch. | VS Toolset |
---|---|---|---|
vs2015 |
14 2015 |
(native) |
v140 |
vs2015_clang |
14 2015 |
(native) |
v140_clang_c2 |
vs2015_xp |
14 2015 |
(native) |
v140_xp |
vs2015_v140 |
14 2015 |
(native) |
v140 |
vs2015_v140_xp |
14 2015 |
(native) |
v140_xp |
vs2015_v140_clang |
14 2015 |
(native) |
v120 |
vs2015_v120 |
14 2015 |
(native) |
v120_clang_c2 |
vs2015_v120_xp |
14 2015 |
(native) |
v120_xp |
vs2015_v110 |
14 2015 |
(native) |
v110 |
vs2015_v110_xp |
14 2015 |
(native) |
v110_xp |
vs2015_v100 |
14 2015 |
(native) |
v100 |
vs2015_v100_xp |
14 2015 |
(native) |
v100_xp |
vs2015_v90 |
14 2015 |
(native) |
v90 |
vs2015_v90_xp |
14 2015 |
(native) |
v90_xp |
vs2015_v80 |
14 2015 |
(native) |
v80 |
vs2015_32 |
14 2015 |
x86 |
v140 |
vs2015_32_clang |
14 2015 |
x86 |
v140_clang_c2 |
vs2015_32_xp |
14 2015 |
x86 |
v140_xp |
vs2015_32_v140 |
14 2015 |
x86 |
v140 |
vs2015_32_v140_xp |
14 2015 |
x86 |
v140_xp |
vs2015_32_v140_clang |
14 2015 |
x86 |
v140_clang_c2 |
vs2015_32_v120 |
14 2015 |
x86 |
v120 |
vs2015_32_v120_xp |
14 2015 |
x86 |
v120_xp |
vs2015_32_v110 |
14 2015 |
x86 |
v110 |
vs2015_32_v110_xp |
14 2015 |
x86 |
v110_xp |
vs2015_32_v100 |
14 2015 |
x86 |
v100 |
vs2015_32_v100_xp |
14 2015 |
x86 |
v100_xp |
vs2017_32_v90 |
14 2015 |
x86 |
v90 |
vs2017_32_v90_xp |
14 2015 |
x86 |
v90_xp |
vs2017_32_v80 |
14 2015 |
x86 |
v80 |
vs2015_64 |
14 2015 |
x86_64 |
v140 |
vs2015_64_clang |
14 2015 |
x86_64 |
v140_clang_c2 |
vs2015_64_xp |
14 2015 |
x86_64 |
v140_xp |
vs2015_64_v140 |
14 2015 |
x86_64 |
v140 |
vs2015_64_v140_xp |
14 2015 |
x86_64 |
v140_xp |
vs2015_64_v140_clang |
14 2015 |
x86_64 |
v140_clang_c2 |
vs2015_64_v120 |
14 2015 |
x86_64 |
v120 |
vs2015_64_v120_xp |
14 2015 |
x86_64 |
v120_xp |
vs2015_64_v110 |
14 2015 |
x86_64 |
v110 |
vs2015_64_v110_xp |
14 2015 |
x86_64 |
v110_xp |
vs2015_64_v100 |
14 2015 |
x86_64 |
v100 |
vs2015_64_v100_xp |
14 2015 |
x86_64 |
v100_xp |
vs2015_64_v90 |
14 2015 |
x86_64 |
v90 |
vs2015_64_v90_xp |
14 2015 |
x86_64 |
v90_xp |
vs2015_64_v80 |
14 2015 |
x86_64 |
v80 |
vs2015_arm |
14 2015 |
arm |
v140 |
vs2015_arm_clang |
14 2015 |
arm |
v140_clang_c2 |
VS2013¶
cmany compiler alias | project VS version | Target arch. | VS Toolset |
---|---|---|---|
vs2013 |
12 2013 |
(native) |
v120 |
vs2013_xp |
12 2013 |
(native) |
v120_xp |
vs2013_32 |
12 2013 |
x86 |
v120 |
vs2013_32_xp |
12 2013 |
x86 |
v120_xp |
vs2013_64 |
12 2013 |
x86_64 |
v120 |
vs2013_64_xp |
12 2013 |
x86_64 |
v120_xp |
vs2013_v110 |
12 2013 |
(native) |
v110 |
vs2013_v110_xp |
12 2013 |
(native) |
v110_xp |
vs2013_32_v110 |
12 2013 |
x86 |
v110 |
vs2013_32_v110_xp |
12 2013 |
x86 |
v110_xp |
vs2013_64_v110 |
12 2013 |
x86_64 |
v110 |
vs2013_64_v110_xp |
12 2013 |
x86_64 |
v110_xp |
vs2013_v100 |
12 2013 |
(native) |
v100 |
vs2013_v100_xp |
12 2013 |
(native) |
v100_xp |
vs2013_32_v100 |
12 2013 |
x86 |
v100 |
vs2013_32_v100_xp |
12 2013 |
x86 |
v100_xp |
vs2013_64_v100 |
12 2013 |
x86_64 |
v100 |
vs2013_64_v100_xp |
12 2013 |
x86_64 |
v100_xp |
vs2013_v90 |
12 2013 |
(native) |
v90 |
vs2013_v90_xp |
12 2013 |
(native) |
v90_xp |
vs2013_32_v90 |
12 2013 |
x86 |
v90 |
vs2013_32_v90_xp |
12 2013 |
x86 |
v90_xp |
vs2013_64_v90 |
12 2013 |
x86_64 |
v90 |
vs2013_64_v90_xp |
12 2013 |
x86_64 |
v90_xp |
vs2013_v80 |
12 2013 |
(native) |
v80 |
vs2013_32_v80 |
12 2013 |
x86 |
v80 |
vs2013_64_v80 |
12 2013 |
x86_64 |
v80 |
VS2012¶
cmany compiler alias | project VS version | Target arch. | VS Toolset |
---|---|---|---|
vs2012 |
11 2012 |
(native) |
v110 |
vs2012_xp |
11 2012 |
(native) |
v110_xp |
vs2012_32 |
11 2012 |
x86 |
v110 |
vs2012_32_xp |
11 2012 |
x86 |
v110_xp |
vs2012_64 |
11 2012 |
x86_64 |
v110 |
vs2012_64_xp |
11 2012 |
x86_64 |
v110_xp |
vs2012_arm |
11 2012 |
arm |
v110 |
vs2012_arm_xp |
11 2012 |
arm |
v110_xp |
vs2012_v110 |
11 2012 |
(native) |
v110 |
vs2012_v110_xp |
11 2012 |
(native) |
v110_xp |
vs2012_32_v110 |
11 2012 |
x86 |
v110 |
vs2012_32_v110_xp |
11 2012 |
x86 |
v110_xp |
vs2012_64_v110 |
11 2012 |
x86_64 |
v110 |
vs2012_64_v110_xp |
11 2012 |
x86_64 |
v110_xp |
vs2012_arm_v110 |
11 2012 |
arm |
v110 |
vs2012_arm_v110_xp |
11 2012 |
arm |
v110_xp |
vs2012_v100 |
11 2012 |
(native) |
v100 |
vs2012_v100_xp |
11 2012 |
(native) |
v100_xp |
vs2012_32_v100 |
11 2012 |
x86 |
v100 |
vs2012_32_v100_xp |
11 2012 |
x86 |
v100_xp |
vs2012_64_v100 |
11 2012 |
x86_64 |
v100 |
vs2012_64_v100_xp |
11 2012 |
x86_64 |
v100_xp |
vs2012_arm_v100 |
11 2012 |
arm |
v100 |
vs2012_arm_v100_xp |
11 2012 |
arm |
v100_xp |
vs2012_v90 |
11 2012 |
(native) |
v90 |
vs2012_v90_xp |
11 2012 |
(native) |
v90_xp |
vs2012_32_v90 |
11 2012 |
x86 |
v90 |
vs2012_32_v90_xp |
11 2012 |
x86 |
v90_xp |
vs2012_64_v90 |
11 2012 |
x86_64 |
v90 |
vs2012_64_v90_xp |
11 2012 |
x86_64 |
v90_xp |
vs2012_arm_v90 |
11 2012 |
arm |
v90 |
vs2012_arm_v90_xp |
11 2012 |
arm |
v90_xp |
vs2012_v80 |
11 2012 |
(native) |
v80 |
vs2012_32_v80 |
11 2012 |
x86 |
v80 |
vs2012_64_v80 |
11 2012 |
x86_64 |
v80 |
vs2012_arm_v80 |
11 2012 |
arm |
v80 |
VS2010¶
cmany compiler alias | project VS version | Target arch. | VS Toolset |
---|---|---|---|
vs2010 |
10 2010 |
(native) |
v100 |
vs2010_xp |
10 2010 |
(native) |
v100_xp |
vs2010_32 |
10 2010 |
x86 |
v100 |
vs2010_32_xp |
10 2010 |
x86 |
v100_xp |
vs2010_64 |
10 2010 |
x86_64 |
v100 |
vs2010_64_xp |
10 2010 |
x86_64 |
v100_xp |
vs2010_ia64 |
10 2010 |
ia64 |
v100 |
vs2010_ia64_xp |
10 2010 |
ia64 |
v100_xp |
vs2010_v100 |
10 2010 |
(native) |
v100 |
vs2010_v100_xp |
10 2010 |
(native) |
v100_xp |
vs2010_32_v100 |
10 2010 |
x86 |
v100 |
vs2010_32_v100_xp |
10 2010 |
x86 |
v100_xp |
vs2010_64_v100 |
10 2010 |
x86_64 |
v100 |
vs2010_64_v100_xp |
10 2010 |
x86_64 |
v100_xp |
vs2010_ia64_v100 |
10 2010 |
ia64 |
v100 |
vs2010_ia64_v100_xp |
10 2010 |
ia64 |
v100_xp |
vs2010_v90 |
10 2010 |
(native) |
v90 |
vs2010_v90_xp |
10 2010 |
(native) |
v90_xp |
vs2010_32_v90 |
10 2010 |
x86 |
v90 |
vs2010_32_v90_xp |
10 2010 |
x86 |
v90_xp |
vs2010_64_v90 |
10 2010 |
x86_64 |
v90 |
vs2010_64_v90_xp |
10 2010 |
x86_64 |
v90_xp |
vs2010_ia64_v90 |
10 2010 |
ia64 |
v90 |
vs2010_ia64_v90_xp |
10 2010 |
ia64 |
v90_xp |
vs2010_v80 |
10 2010 |
(native) |
v80 |
vs2010_32_v80 |
10 2010 |
x86 |
v80 |
vs2010_64_v80 |
10 2010 |
x86_64 |
v80 |
VS2008¶
cmany compiler alias | project VS version | Target arch. | VS Toolset |
---|---|---|---|
vs2008 |
9 2008 |
(native) |
v90 |
vs2008_xp |
9 2008 |
(native) |
v90_xp |
vs2008_32 |
9 2008 |
x86 |
v90 |
vs2008_32_xp |
9 2008 |
x86 |
v90_xp |
vs2008_64 |
9 2008 |
x86_64 |
v90 |
vs2008_64_xp |
9 2008 |
x86_64 |
v90_xp |
vs2008_ia64 |
9 2008 |
ia64 |
v90 |
vs2008_ia64_xp |
9 2008 |
ia64 |
v90_xp |
vs2008_v90 |
9 2008 |
(native) |
v90 |
vs2008_v90_xp |
9 2008 |
(native) |
v90_xp |
vs2008_32_v90 |
9 2008 |
x86 |
v90 |
vs2008_32_v90_xp |
9 2008 |
x86 |
v90_xp |
vs2008_64_v90 |
9 2008 |
x86_64 |
v90 |
vs2008_64_v90_xp |
9 2008 |
x86_64 |
v90_xp |
vs2008_ia64_v90 |
9 2008 |
ia64 |
v90 |
vs2008_ia64_v90_xp |
9 2008 |
ia64 |
v90_xp |
vs2008_v80 |
9 2008 |
(native) |
v80 |
vs2008_32_v80 |
9 2008 |
x86 |
v80 |
vs2008_64_v80 |
9 2008 |
x86_64 |
v80 |
vs2008_ia64_v80 |
9 2008 |
ia64 |
v80 |
VS2005¶
cmany compiler alias | project VS version | Target arch. | VS Toolset |
---|---|---|---|
vs2005 |
8 2005 |
(native) |
v80 |
vs2005_32 |
8 2005 |
x86 |
v80 |
vs2005_64 |
8 2005 |
x86_64 |
v80 |
vs2005_v80 |
8 2005 |
(native) |
v80 |
vs2005_32_v80 |
8 2005 |
x86 |
v80 |
vs2005_64_v80 |
8 2005 |
x86_64 |
v80 |