WAF Build Options

Build Options:

This section focuses on all options that WAF accepts as parameters for the build command.

Most options can also be changed in the configuration files BinTemp/cry_waf.options.

Project Options:

--project-spec=<string>

Project Spec to use during compilation. This is a mandatory option. Please see WAF Spec Files for more info.

No Default Value.

--targets <string>,<string>

The targets option can be used to only compile a single project instead of the full engine. When providing a target option only the specified projects are compiled and all of theirs required dependencies.

E.g. "cry_waf.exe build_win32_profile --target Cry3DEngine" can be used to only compile the Cry3DEngine for win32 in profile configuration.

Incredibuild Options:

--use-incredibuild=<True/False>

This option specifies of Incredibuild Should be used for compilation.

The default value depends on the assigned Incredibuild licenses.

--use-incredibuild_win=<True/False>

This option specifies of Incredibuild Should be used for compilation of windows platforms.

The default value depends on the assigned Incredibuild licenses.

--use-incredibuild_orbis=<True/False>

This option specifies of Incredibuild Should be used for compilation of Orbis platforms.

The default value depends on the assigned Incredibuild licenses.

--use-incredibuild_durango=<True/False>

This option specifies of Incredibuild Should be used for compilation of Durango platforms.

The default value depends on the assigned Incredibuild licenses.

--incredibuild-max-cores=<N>

Number of parallel threads to create when compiling with incredibuild. Should be larger than the number of processors (64 in case of Incredibuild), but not too large.

The default currently is 128 threads. Don't increase it too much, since python doesn't handle such large thread numbers well.

Misc Options:

--support-recode=<True/False>

Should WAF check if recode is enabled, and potentially adjust the compile command according to Recode requirements.

The default is True.

--console-mode=<True/False>

Do not show GUI. Only show command-line interface. Useful for build slaves or SSH connections.

The default is False.

Build Options:

--generate-debug-info=<True/False>

During compilation, should the compiler be instructed to generate debug information?

The default is True.

--use-precompiled-header=<True/False>

Should, if those are provided, precompiled header be used during compilation?

*Note* Currently precompiled headers are automatically disabled for projects using uber files since they don't bring any performance benefit in this case.

The default is True.

--use-uber-files=<True/False>

During compilation, should uber files be used if they are provided?

The default is True.

--output-folder-win32=<string>

Path into which all final build results (executables, dlls etc) from a win32 build are copied

The default is Bin32

--output-folder-win64=<string>

Path into which all final build results (executables, dlls etc) from a win64 build are copied

The default is Bin64

--output-folder-linux32=<string>

Path into which all final build results (executables, dlls etc) from a linux32 build are copied

The default is BinLinux32

--output-folder-linux64=<string>

Path into which all final build results (executables, dlls etc) from a linux64 build are copied

The default is BinLinux64

--output-folder-darwin32=<string>

Path into which all final build results (executables, dlls etc) from a darwin32 build are copied

The default is BinDarwin32

--output-folder-darwin=<string>

Path into which all final build results (executables, dlls etc) from a darwin64 build are copied

The default is BinDarwin64

--output-folder-orbis=<string>

Path into which all final build results (executables, dlls etc) from a Orbis build are copied

The default is BinOrbis

--output-folder-durango=<string>

Path into which all final build results (executables, dlls etc) from a Durango build are copied

The default is BinDurango

--ask-for-user-input=<True/False>

Inform WAF to not ask about for user input. This flag is needed some the Visual Studio Output Tab doesn't accept inputs.

The default is True

--file-filter=<string>

During compilation, only actually compile files which match this file filter.

The default is ""

--show-includes=<True/False>

Instead of compiling a file, output all files included by the compiled file.

The default is False

--show-preprocessed=<True/False>

Instead of compiling a file, show the preprocessed file.

The default is False

--show-disassembly=<True/False>

Instead of compiling a file, show the disassembly output.

The default is False

--output-file=<string>

Specifiy a single file to write the output to. Used for --show-preprocessed and --show-disassembly

The default is ""

--use-overwrite-file=<True/False>

Try to load the overwrite file (BinTemp/cry_waf.configuration_overwrites) to change project configurations. (This file is generated by the Visual Studio Addin)

The default is "False"