-
-
Notifications
You must be signed in to change notification settings - Fork 640
flags
starkos edited this page Nov 16, 2013
·
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. |
| FatalWarnings | Treat warnings as errors. |
| 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
configuration "Debug"
flags { "Symbols" }
configuration "Release"
flags { "Optimize" }
Enable the maximum warning level, and treat warnings as errors.
#!lua
flags { "ExtraWarnings", "FatalWarnings" }