kind.md 2.2 KB

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.

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 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.

kind "ConsoleApp"

Set the project to build a shared library (DLL).

kind "SharedLib"

Build either a static or a shared library, depending on the selected build configuration.

workspace "MyWorkspace"
   configurations { "DebugLib", "DebugDLL", "ReleaseLib", "ReleaseDLL" }

project "MyProject"

   filter "*Lib"
      kind "StaticLib"

   filter "*DLL"
      kind "SharedLib"

See Also