63 lines
2.2 KiB
Markdown
63 lines
2.2 KiB
Markdown
Sets the kind of binary object being created by the project or configuration, such as a console or windowed application, or a shared or static library.
|
|
|
|
```lua
|
|
kind ("kind")
|
|
```
|
|
|
|
### Parameters ###
|
|
|
|
`kind` is one of the following string identifiers:
|
|
|
|
| Value | Description |
|
|
|-------------|---------------------------------------------------------|
|
|
| ConsoleApp | A console or command-line application. |
|
|
| WindowedApp | An application which runs in a desktop window. This distinction does not apply on Linux, but is important on Windows and Mac OS X. |
|
|
| SharedLib | A shared library or DLL. |
|
|
| StaticLib | A static library. |
|
|
| Makefile | A special configuration type which calls out to one or more external commands. The actual type of binary created is unspecified. See [Makefile Projects](Makefile-Projects.md) for more information. |
|
|
| Utility | A configuration which contains only custom build rules. |
|
|
| None | A configuration which is not included in the build. Useful for projects containing only web pages, header files, or support documentation. |
|
|
| Packaging | A configuration type to create .androidproj files, which build the apk in an Android application under Visual Studio. _Note, this was previously `AndroidProj`._ |
|
|
|
|
|
|
### Applies To ###
|
|
|
|
Project configurations.
|
|
|
|
### Availability ###
|
|
|
|
The **Makefile**, and **None** kinds are only available in Premake 5.0 and later, and are currently only supported for Visual Studio.
|
|
The **Utility** kind is only available for Visual Studio and gmake2, as well as very limited support in gmake.
|
|
|
|
### Examples ###
|
|
|
|
Set the project to build a command-line executable.
|
|
|
|
```lua
|
|
kind "ConsoleApp"
|
|
```
|
|
|
|
Set the project to build a shared library (DLL).
|
|
|
|
```lua
|
|
kind "SharedLib"
|
|
```
|
|
|
|
Build either a static or a shared library, depending on the selected build configuration.
|
|
|
|
```lua
|
|
workspace "MyWorkspace"
|
|
configurations { "DebugLib", "DebugDLL", "ReleaseLib", "ReleaseDLL" }
|
|
|
|
project "MyProject"
|
|
|
|
filter "*Lib"
|
|
kind "StaticLib"
|
|
|
|
filter "*DLL"
|
|
kind "SharedLib"
|
|
```
|
|
|
|
### See Also ###
|
|
|
|
* [Makefile Projects](Makefile-Projects.md) |