Version:

Waf Module Files wscript

Waf Module Files (wscript)

Wscript files are Python source files that have a fixed name and defined rules for the project folder. Waf picks up and processes the wscript file in each folder. Files can recurse into one or more subdirectories, define the build script for one or more modules, or both.

Wscript files are the main project script files for projects and can include the following:

  • Specialized behavior for various Waf commands
  • Different module types and entries
  • Build rules for the folder
  • Project- or target platform-specific definitions for compile, link, or other settings

Lumberyard includes a wscript file at the root folder that is used for the following:

  • Loading all supported modules and tools relevant to a platform
  • Importing all scripts necessary for configuring and building the engine
  • Setting the available options that can be passed through the command line or in the default user options file located at _WAF_/user_settings.options
  • Recursing into the Code and Engine folders at the root level

At the root is a compiled python script called lmbr_waf.bat that executes the Waf commands through the root wscript file.

Lumberyard Engine Build Modules

The Lumberyard Waf system includes the following predefined build modules that can help define the build rules for system modules:


Build ModuleDescriptionConsumersProject Type
CryConsoleApplicationBuild module for generic console applicationsShaderCacheGenExecutable
CryDedicatedServerBuild module for dedicated (server) game project launchersFeaturesTestsDedicatedLauncherExecutable
CryEditorBuild module for Lumberyard Editor projectEditorExecutable
CryEngineModuleBuild definition for CryEngine modules. Standard CryEngine modules autogenerate an RC file, if applicable.Cry3DEngine, CryAction, CryAISystem, CryAnimation, CryEntitySystem, CryFont, CryInput, CryLiveCreate, CryMovie, CryNetwork, CryLobby, CryPhysics, CryScriptSystem, CrySoundSystem, CryAudioImplMiles, CryAudioImplNoSound, CryAudioImplSDLMixer, CryAudioImplWwise, CrySystem, CryRenderD3D11, CryRenderOpenGL, CryRenderNULL, CryD3DCompilerStubShared Library (non-release), Static Library (performance, release)
CryEngineNonRCModuleVersion of the CryEngineModule that does not attempt to create an RC fileCrySoundUnitTests, LyShine, AssetTaggingToolsShared Library
CryEngineStaticModuleBuild module to create static librarieslua, md5, LZSS, Lzma, expat, DBAPI, zlib, lz4, PRTStatic Library
CryFileContainerBuild module that acts as a placeholder for source filesCryCommon, CryAudioCommon, EditorAudioControlsBrowserNon
CryLauncherBuild module for game project launchersFeaturesTestsLauncherExecutable
CryPipelineModuleBuild module for pipeline componentsCryExport2014, CryExport2015, CryExport2016, MayaCryExport22014, MayaCryExport22015, MayaCryExport22016Custom
CryPluginBuild module for Lumberyard Editor pluginsAssetTagging, CryDesigner, EditorDesc, EditorAnimation, EditorFbxImport, EditorGameDatabase, SchematycPluginShared Library
CryPluginModuleBuild module for Lumberyard Editor plugin modulesEditorCommon, PerforcePluginShared Library
CryResourceCompilerBuild module for the resource compiler applicationResourceCompilerExecutable
CryResourceCompilerModuleBuild module for resource compiler modulesCryPhysicsRC, CryXML, CryPerforce, ResourceCompilerABC, ResourceCompilerFBX, ResourceCompilerImage, ResourceCompilerPC, ResourceCompilerXMLShared Library
CryStandAlonePluginBuild module for Lumberyard Editor standalone plugins (does not link to any engine shared libraries)EditorAudioControlsBrowser,EditorMiles, EditorNoSound,EditorWwise, FBXPlugin, FFMPEGPlugin, MetricsPlugin, PrototypeEditorPlugin, StateMachineEditorPlugin, UiEditorShared Library
CryUnitTestLauncherBuild module for unit test launchersUnitTestLauncherExecutable