Skip to main content


Registers a new command-line option. For more information, see Command Line Arguments.

newoption { description }


description is a table describing the new option. It may contain the following fields:

triggerWhat the user would type on the command line to select the option, e.g. --name.
descriptionA short description of the option, to be displayed in the help text.
valueOptional. If the option needs a value, provides a hint to the user what type of data is expected.
allowedOptional. A list of key-value pairs listing the allowed values for the option.
defaultOptional. Sets the default for this option if not specified on the commandline.
categoryOptional. Places the option under a separate header when the user passes --help


Premake 4.0 and later.


Register a new option to select a rendering API for a 3D application.

newoption {
trigger = "gfxapi",
value = "API",
description = "Choose a particular 3D API for rendering",
default = "opengl",
category = "Build Options",
allowed = {
{ "opengl", "OpenGL" },
{ "direct3d", "Direct3D (Windows only)" },
{ "software", "Software Renderer" }

See Also