More detailed errors when failing to write temp files
Linker failure message is imrproved (specifies Dll or Exe, rather than just "Linker")
Add wesbite and copyright info to "-version" output
Show total time taken by node type in -summary output
Various -summary formatting enhancements
Small performance improvement for processing very large objects
Fixes
DLL Fixes
DLLs comiled with MSVC correctly link export symbols
When linking a DLL, "DLL:" is shown in output instead of "Exe:"
Linking a DLL with another DLL deduces the import library automatically
Ensure DLLs are not rebuilt unnecessarily
GCC/SNC/PS3 Fixes
Fix broken PS3/SNC compilation (was reading stderr instead of stdout)
Standardize GCC and MSVC compiler detection (allow with and without .exe extension)
Fix detection of GCC compiler in PS3 SDK
Fix detection of C vs C++ for GCC/SNC when using the cache
Correct errors not being double-clickable in VisualStudio in some situations due to thread numbering
Ensure active job count doesn't underflow when performing local jobs
Correct formatting of cache path to stdout in -verbose mode
Correct error message when attempting to append String to incompatible type
Don't spin @ 0% when failing the build
Save completion of items which are succesful even after the build as a whole has failed
-summary formatting is no longer reliant on tab width
v0.54 (3-Jun-2013)
Note
DB version has been increased; clean build will result after upgrading
Improvements
Allow {} to be used alone to create a local scope (like a function)
Config files (bff) can now include other config files, e.g. #include "file.bff"
Direct variable assignment/concatenation now supported for variables (.X = .Y)
Fixes
Unity generation parameter UnityInputExcludedFiles is no longer sensitive to slash type used
Stop tasks sometimes being started after build is aborted with Ctrl+C
Fix typographical error in command line usage output
Fix hang at startup if database file (.fdb) has been corrupted
Fix corrupt "Unknown argument" error message when passed bad cmd line arguments
v0.53 (24-Feb-2013)
Note
The cache is invalidated due to path/version changes (no old entries will be used)
Improvements
Cache performance and space usage improvements
Cache directory hierarchy is simplified to reduce IO
Cache contents are compressed, saving ~50% of disk space
Compression yields speedups on IO bound (local or network) builds
Handle transient file opening failures due to other applications opening our files (Antivirus etc)
Add "Copy" function which can copy a file during the build
Library and CSAssembly 'CompilerInputPath' can now accept a list of paths (or a single path as before)
Optimize node lookups to reduce CPU usage
Hide distributed task counts on progress bar when not in distributed mode
Fixes
Correct misleading error when unexpected character follows a variable operator (was displaying #1016, now displays new #1017)
Correctly handle comments in the middle of variable assignments (e.g. ".Var // comment" or ".Var = // comment")
Comments are correctly parsed inside {} scopes when starting at column 0
Add missing type safety checks on various CSAssembly and Library properties
Unity files are forced to be regenerated when "-clean" option is used
Build no longer gets stuck upon cache hit when running with "-j0"
Temp directory now correctly initialized when running with "-j0"
v0.52 (18-Feb-2013)
Note
The build database (fdb) version has changed, a clean build will forced on first use of this version
Improvements
Unity 'UnityInputPath' can now accept a list of paths (or a single path as before)
Fixes
Fix crash emitting a large errors to the TTY (>64KB)
Detect non-unique Unity, Executable and DLL nodes (emit Error #1100)
Handle Unity output paths that are not \ terminated
v0.51 (17-Feb-2013)
New
Config file now supports // style line comments as well as ; style
Add checks and errors (#1302, #1303) for bad precompiled header setup for cl.exe
Config markup helpers for VisualStudio and NotePad++
Improvements
Improve precision of timer used to track task durations
Fixes
All object and pch files are deleted before compilation to ensure rebuild/no old files left behind
Fix bad string output in "Unknown build target" message in x64
Compiler executable (MSVC & GCC) detection is no longer case sensitive
Removed detection of lower-case /z7 is as using Z7 debug format for cl.exe. (Z7 debug format arg is uppercase, and cl.exe compiler options are case sensitive)
v0.50 (12-Feb-2013)
The first public release of FASTBuild, with stable support for: