Skip to content
Jason Perkins edited this page May 8, 2015 · 37 revisions

The flags function specifies build flags to modify the compiling or linking process.

flags { "flag_list" }

If a project includes multiple calls to flags the lists are concatenated, in the order in which they appear in the script.

Parameters

flag_list is a list of string flag names; see below for a list of valid flags. The flag values are not case-sensitive. Flags that are not supported by a particular platform or toolset are ignored.

Flag Description
ExcludeFromBuild Exclude a source code file from the build, for the current configuration.
FatalCompileWarnings Treat compiler warnings as errors.
FatalLinkWarnings Treat linker warnings as errors.
FatalWarnings Treat all warnings as errors; equivalent to FatalCompileWarnings, FatalLinkWarnings
LinkTimeOptimization Enable link-time (i.e. whole program) optimizations.
Maps Enable Generate Map File for Visual Studio
MFC Enable support for Microsoft Foundation Classes.
MultiProcessorCompile Enable Visual Studio to use multiple compiler processes when building.
No64BitChecks Disable 64-bit portability warnings.
NoBufferSecurityCheck Turn off stack protection checks.
NoCopyLocal Prevent referenced assemblies from being copied to the target directory (C#)
NoExceptions Disable C++ exception support.
NoFramePointer Disable the generation of stack frame pointers.
NoImplicitLink Disable Visual Studio's default behavior of automatically linking dependent projects.
NoImportLib Prevent the generation of an import library for a Windows DLL.
NoIncrementalLink Disable support for Visual Studio's incremental linking feature.
NoManifest Prevent the generation of a manifest for Windows executables and shared libraries.
NoMinimalRebuild Disable Visual Studio's minimal rebuild feature.
NoPCH Disable precompiled header support. If not specified, the toolset default behavior will be used.
NoRTTI Disable C++ runtime type information.
NoRuntimeChecks Disable Visual Studio's default stack frame and uninitialized variable checks on debug builds.
OmitDefaultLibrary Omit the specification of a runtime library in object files.
SEH Enable structured exception handling.
ShadowedVariables Warn when a variable, type declaration, or function is shadowed.
StaticRuntime Perform a static link against the standard runtime libraries.
Symbols Generate debugging information.
UndefinedIndentifiers Warn if an undefined identifier is evaluated in an #if directive.
Unicode Enable Unicode strings. If not specified, the default toolset behavior is used.
WinMain Use WinMain() as entry point for Windows applications, rather than the default main().
WPF Mark the project as using Windows Presentation Framework, rather than WinForms.

Applies To

Configurations, both for projects and individual files, though not all flags are yet supported for files.

Availability

Unless otherwise noted, Premake 4.0 or later.

Examples

A common configuration: enable debugging symbols in the Debug configuration, and optimize the Release configuration.

-- Turn off C++ features
flags { "NoExceptions", "NoRTTI" }
Clone this wiki locally