Skip to content
starkos edited this page Sep 25, 2013 · 15 revisions

The kind function 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:

  • 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.
  • None: A configuration which is not included in the build. Useful for projects containing only web pages, header files, or support documentation.

Applies To

Solutions, projects, and 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.

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
solution "MySolution"
   configurations { "DebugLib", "DebugDLL", "ReleaseLib", "ReleaseDLL" }

project "MyProject"

   configuration "*Lib"
      kind "StaticLib"

   configuration "*DLL"
      kind "SharedLib"

See Also

Clone this wiki locally