-
-
Notifications
You must be signed in to change notification settings - Fork 617
flags
Jason Perkins edited this page Apr 25, 2014
·
37 revisions
The flags function specifies build flags to modify the compiling or linking process.
#!lua
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.
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. |
Managed | Enable Managed C++ (.NET) features. |
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#) |
NoEditAndContinue | Disable support for Visual Studio's Edit-and-Continue feature. |
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. |
NoIncrementalLink | Disable support for Visual Studio's incremental linking feature. |
NoImportLib | Prevent the generation of an import library for a Windows DLL. |
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. |
StaticRuntime | Perform a static link against the standard runtime libraries. |
Symbols | Generate debugging information. |
Unicode | Enable Unicode strings. If not specified, the default toolset behavior is used. |
Unsafe | Enable the use of unsafe code in .NET applications. |
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. |
Configurations, both for projects and individual files, though not all flags are yet supported for files.
Unless otherwise noted, Premake 4.0 or later.
A common configuration: enable debugging symbols in the Debug configuration, and optimize the Release configuration.
#!lua
filter "Debug"
flags { "Symbols" }
filter "Release"
flags { "Optimize" }
Enable the maximum warning level, and treat warnings as errors.
#!lua
flags { "ExtraWarnings", "FatalWarnings" }