62 lines
4.1 KiB
Markdown
62 lines
4.1 KiB
Markdown
|
Specifies build flags to modify the compiling or linking process.
|
||
|
|
||
|
```lua
|
||
|
flags { "flag_list" }
|
||
|
```
|
||
|
|
||
|
### 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 | Notes |
|
||
|
|-----------------------|---------------------------------------------------------------------|----------------|
|
||
|
| 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#) |
|
||
|
| 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][1].| Visual Studio has deprecated this feature as of vs2015.|
|
||
|
| NoPCH | Disable precompiled header support. If not specified, the toolset default behavior will be used. |
|
||
|
| NoRuntimeChecks | Disable Visual Studio's [default stack frame and uninitialized variable checks][2] on debug builds. |
|
||
|
| OmitDefaultLibrary | Omit the specification of a runtime library in object files. |
|
||
|
| RelativeLinks | Forces the linker to use relative paths to libraries instead of absolute paths. |
|
||
|
| ShadowedVariables | Warn when a variable, type declaration, or function is shadowed. |
|
||
|
| StaticRuntime | Perform a static link against the standard runtime libraries. | Deprecated - use staticruntime "On" instead. |
|
||
|
| UndefinedIdentifiers | Warn if an undefined identifier is evaluated in an #if directive. |
|
||
|
| 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. |
|
||
|
| C++11 | Pass the c++11 flag to the gcc/clang compilers (msvc ignores this currently) |
|
||
|
| C++14 | Pass the c++14 flag to the gcc/clang compilers (msvc ignores this currently) |
|
||
|
| C90 | Pass the c90 flag to the gcc/clang compilers (msvc ignores this currently) |
|
||
|
| C99 | Pass the c99 flag to the gcc/clang compilers (msvc ignores this currently) |
|
||
|
|
||
|
### Applies To ###
|
||
|
|
||
|
Project and file configurations, though not all flags are yet supported for files across all exporters.
|
||
|
|
||
|
### Availability ###
|
||
|
|
||
|
Unless otherwise noted, Premake 5.0 or later.
|
||
|
|
||
|
### Examples ###
|
||
|
|
||
|
```lua
|
||
|
-- Enable link-time (i.e. whole program) optimizations.
|
||
|
flags { "LinkTimeOptimization" }
|
||
|
|
||
|
```
|
||
|
|
||
|
[1]: https://docs.microsoft.com/en-us/cpp/build/reference/gm-enable-minimal-rebuild?view=vs-2017
|
||
|
[2]: http://msdn.microsoft.com/en-us/library/8wtf2dfz.aspx
|