Hi Lumberyard devs!
I want to take your attention on one very importat thing for me on the - compiling time
.
I made little test for you, so you can see the difference on compiling same project with using difference versions of engine.
First test: Lumberyard 1.20 + my GameProject + VS2017Community 15.9.19
1>------ Build started: Project: _WAF_, Configuration: [Game and Engine] profile x64 ------
1>[WAF] Engine Root: c:\Lumberyard\dev\
1>[WAF] Executing 'build_win_x64_vs2017_profile' in 'c:\Lumberyard\dev\BinTemp\win_x64_vs2017_profile'
1>[INFO] Regenerating 3rd Party settings file...
1>[WARN] Missing JDK path from Setup Assistant detected. Target platforms that require java will be disabled. Please re-run Setup Assistant with "Compile For Android" enabled and run the configure command again.
1>[SETTINGS] msvs_version = 15 (default 14)
1>[SETTINGS] Target Output folder (win_x64_vs2017/profile): Bin64vc141
1>[WARNING] Incredibuild disabled by build option
1>[WARN] Invalid module 'LyIdentity_shared' in spec 'game_and_engine'
1>[WARN] Invalid module 'LyIdentity_static' in spec 'game_and_engine'
1>[WARN] Module use dependency 'CrashHandler' for target 'CrySystem' refers to an invalid module
1>[WARN] Module use dependency 'ToolsCrashHandler' for target 'EditorLib' refers to an invalid module
1>Cannot copy source 'C:\Lumberyard\3rdParty\PVRTexTool\2016_r1.1\PVRTexLib_License.txt' File not found. Skipping.
1>[3836/5992] cxx (win_x64_vs2017|profile): GameProject\Gem\Code\Source\Components\RTSCameraComponent.cpp -> BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\Source\Components\RTSCameraComponent.cpp.1363050.obj
1>[5903/5992] cxxshlib (win_x64_vs2017|profile): BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\GameProject_rc\GameProject.auto_gen.1363050.res BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\Source\Components\GameCursorComponent.cpp.1363050.obj BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\Source\Components\RTSCameraComponent.cpp.1363050.obj BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\Source\Components\SimpleFPSController.cpp.1363050.obj BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\Source\Components\VisibleTagComponent.cpp.1363050.obj BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\Source\GameProjectModule.cpp.1363050.obj BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\Source\GameProjectSystemComponent.cpp.1363050.obj BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\Source\GameProject_precompiled.1363050.obj -> Bin64vc141\Gem.GameProject.ee43c3a070a94d369c664215508971cf.v0.1.0.dll Bin64vc141\Gem.GameProject.ee43c3a070a94d369c664215508971cf.v0.1.0.pdb Bin64vc141\Gem.GameProject.ee43c3a070a94d369c664215508971cf.v0.1.0.dll.manifest
1> Creating library c:\Lumberyard\dev\Bin64vc141\Gem.GameProject.ee43c3a070a94d369c664215508971cf.v0.1.0.lib and object c:\Lumberyard\dev\Bin64vc141\Gem.GameProject.ee43c3a070a94d369c664215508971cf.v0.1.0.exp
1>[WAF] 'build_win_x64_vs2017_profile' finished successfully (18.676s)
1>[WAF] Executing 'package_win_x64_vs2017_profile'
1>[WAF] 'package_win_x64_vs2017_profile' finished successfully (1.613s)
1>[WAF] Executing 'deploy_win_x64_vs2017_profile'
1>[INFO] Regenerating 3rd Party settings file...
1>[WAF] 'deploy_win_x64_vs2017_profile' finished successfully (1.658s)
2>------ Build started: Project: GameProject (GameProject\GameProject), Configuration: [Game and Engine] profile x64 ------
2>[WAF] Engine Root: c:\Lumberyard\dev\
2>[WAF] Executing 'build_win_x64_vs2017_profile' in 'c:\Lumberyard\dev\BinTemp\win_x64_vs2017_profile'
2>[INFO] Regenerating 3rd Party settings file...
2>[WARN] Missing JDK path from Setup Assistant detected. Target platforms that require java will be disabled. Please re-run Setup Assistant with "Compile For Android" enabled and run the configure command again.
2>[SETTINGS] msvs_version = 15 (default 14)
2>[SETTINGS] Target Output folder (win_x64_vs2017/profile): Bin64vc141
2>[WARNING] Incredibuild disabled by build option
2>[WARN] Invalid module 'LyIdentity_shared' in spec 'game_and_engine'
2>[WARN] Invalid module 'LyIdentity_static' in spec 'game_and_engine'
2>[WARN] Module use dependency 'CrashHandler' for target 'CrySystem' refers to an invalid module
2>[WARN] Module use dependency 'ToolsCrashHandler' for target 'EditorLib' refers to an invalid module
2>[WAF] 'build_win_x64_vs2017_profile' finished successfully (2.958s)
2>[WAF] Executing 'package_win_x64_vs2017_profile'
2>[WAF] 'package_win_x64_vs2017_profile' finished successfully (1.603s)
2>[WAF] Executing 'deploy_win_x64_vs2017_profile'
2>[INFO] Regenerating 3rd Party settings file...
2>[WAF] 'deploy_win_x64_vs2017_profile' finished successfully (1.651s)
========== Build: 2 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
TOTAL COMPILE TIME = 18.6+3 ~ 20..25sec
Second test: Lumberyard 1.22 + my GameProject + VS2017Community 15.9.19
1>------ Build started: Project: _WAF_, Configuration: [Game and Engine] profile x64 ------
1>[WAF] Engine Root: c:\Lumberyard\dev\
1>[WAF] Executing 'build_win_x64_vs2017_profile' in 'c:\Lumberyard\dev\BinTemp\win_x64_vs2017_profile'
1>[WARN] Missing JDK path from Setup Assistant detected. Target platforms that require java will be disabled. Please re-run Setup Assistant with "Compile For Android" enabled and run the configure command again.
1>[SETTINGS] Target Output folder (win_x64_vs2017/profile): Bin64vc141
1>[WARNING] Incredibuild disabled by build option
1>[WARN] Invalid module 'LyIdentity_shared' in spec 'game_and_engine'
1>[WARN] Invalid module 'LyIdentity_static' in spec 'game_and_engine'
1>[WARN] Module use dependency 'CrashHandler' for target 'CrySystem' refers to an invalid module
1>[WARN] Module use dependency 'ToolsCrashHandler' for target 'EditorLib' refers to an invalid module
1>Cannot copy source 'C:\Lumberyard\3rdParty\PVRTexTool\2016_r1.1\PVRTexLib_License.txt' File not found. Skipping.
1>[4135/6379] cxx (win_x64_vs2017|profile): GameProject\Gem\Code\Source\Components\RTSCameraComponent.cpp -> BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\Source\Components\RTSCameraComponent.cpp.1363050.obj
1>[4138/6379] cxx (win_x64_vs2017|profile): GameProject\Gem\Code\Source\GameProjectModule.cpp -> BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\Source\GameProjectModule.cpp.1363050.obj
1>[6284/6379] cxxshlib (win_x64_vs2017|profile): BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\GameProject_rc\GameProject.auto_gen.1363050.res BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\Source\Components\GameCursorComponent.cpp.1363050.obj BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\Source\Components\RTSCameraComponent.cpp.1363050.obj BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\Source\Components\SimpleFPSController.cpp.1363050.obj BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\Source\Components\VisibleTagComponent.cpp.1363050.obj BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\Source\GameProjectModule.cpp.1363050.obj BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\Source\GameProjectSystemComponent.cpp.1363050.obj BinTemp\win_x64_vs2017_profile\GameProject\Gem\Code\Source\GameProject_precompiled.1363050.obj -> Bin64vc141\Gem.GameProject.ee43c3a070a94d369c664215508971cf.v0.1.0.dll Bin64vc141\Gem.GameProject.ee43c3a070a94d369c664215508971cf.v0.1.0.pdb Bin64vc141\Gem.GameProject.ee43c3a070a94d369c664215508971cf.v0.1.0.dll.manifest
1> Creating library c:\Lumberyard\dev\Bin64vc141\Gem.GameProject.ee43c3a070a94d369c664215508971cf.v0.1.0.lib and object c:\Lumberyard\dev\Bin64vc141\Gem.GameProject.ee43c3a070a94d369c664215508971cf.v0.1.0.exp
1>[WAF] 'build_win_x64_vs2017_profile' finished successfully (2m18.624s)
1>[WAF] Executing 'package_win_x64_vs2017_profile'
1>[WAF] 'package_win_x64_vs2017_profile' finished successfully (2.909s)
1>[WAF] Executing 'deploy_win_x64_vs2017_profile'
1>[WAF] 'deploy_win_x64_vs2017_profile' finished successfully (1.957s)
2>------ Build started: Project: GameProject (GameProject\GameProject), Configuration: [Game and Engine] profile x64 ------
2>[WAF] Engine Root: c:\Lumberyard\dev\
2>[WAF] Executing 'build_win_x64_vs2017_profile' in 'c:\Lumberyard\dev\BinTemp\win_x64_vs2017_profile'
2>[WARN] Missing JDK path from Setup Assistant detected. Target platforms that require java will be disabled. Please re-run Setup Assistant with "Compile For Android" enabled and run the configure command again.
2>[SETTINGS] Target Output folder (win_x64_vs2017/profile): Bin64vc141
2>[WARNING] Incredibuild disabled by build option
2>[WARN] Invalid module 'LyIdentity_shared' in spec 'game_and_engine'
2>[WARN] Invalid module 'LyIdentity_static' in spec 'game_and_engine'
2>[WARN] Module use dependency 'CrashHandler' for target 'CrySystem' refers to an invalid module
2>[WARN] Module use dependency 'ToolsCrashHandler' for target 'EditorLib' refers to an invalid module
2>[WAF] 'build_win_x64_vs2017_profile' finished successfully (48.837s)
2>[WAF] Executing 'package_win_x64_vs2017_profile'
2>[WAF] 'package_win_x64_vs2017_profile' finished successfully (2.616s)
2>[WAF] Executing 'deploy_win_x64_vs2017_profile'
2>[WAF] 'deploy_win_x64_vs2017_profile' finished successfully (1.867s)
========== Build: 2 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
TOTAL COMPILE TIME 2.18+48.8 ~~ 3min
As you can see the difference of compiling time is very huge:
25sec Vs 3min! (1.20 vs 1.22) (VS2017 used ver 15.9.19)
Please fix this new WAF changes, it’s very annouing to wait too much to test code changes.