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