51 lines
1.6 KiB
Markdown
51 lines
1.6 KiB
Markdown
|
Selects the compiler, linker, etc. which are used to build a project or configuration.
|
||
|
|
||
|
```lua
|
||
|
toolset ("identifier")
|
||
|
```
|
||
|
|
||
|
If no toolset is specified for a configuration, the system or IDE default will be used.
|
||
|
|
||
|
### Parameters ###
|
||
|
|
||
|
`identifier` is a string identifier for the toolset. Premake includes the following toolsets by default.
|
||
|
|
||
|
| **Toolset identifier** | **Description** |
|
||
|
|------------|---------------------------------------------------------------|
|
||
|
| `clang` | [Clang](http://clang.llvm.org) |
|
||
|
| `dmd` | [Reference D Compiler](https://dlang.org/dmd-windows.html) |
|
||
|
| `dotnet` | The system's default C# compiler |
|
||
|
| `gcc` | [GNU Compiler Collection](https://gcc.gnu.org) |
|
||
|
| `gdc` | [GNU Compiler Collection D Compiler](https://gdcproject.org/) |
|
||
|
| `ldc` | [LLVM D Compiler](https://wiki.dlang.org/LDC) |
|
||
|
| `msc` | Microsoft C/C++ compiler |
|
||
|
|
||
|
If a specific toolset version is desired, it may be specified as part of the identifer, separated by a dash. See the examples below.
|
||
|
|
||
|
### Applies To ###
|
||
|
|
||
|
Project configurations.
|
||
|
|
||
|
### Availability ###
|
||
|
|
||
|
Premake 5.0 and later. Versions are currently only implemented for Visual Studio 2010+.
|
||
|
|
||
|
### Examples ###
|
||
|
|
||
|
Specify version 110 of the Windows platform toolset.
|
||
|
|
||
|
```lua
|
||
|
toolset "msc-v110" -- or...
|
||
|
toolset "v100" -- for those more familiar with Visual Studio's way
|
||
|
```
|
||
|
|
||
|
Use [Clang/C2](http://llvm.org/builds/) with Visual Studio
|
||
|
```lua
|
||
|
toolset "msc-llvm-vs2014"
|
||
|
```
|
||
|
|
||
|
Use the toolset for Windows XP
|
||
|
```lua
|
||
|
toolset "v140_xp"
|
||
|
```
|