Also a simple test project that reproduces the problem or at least the full build log.
Erm.... the build log doesn't show much (I have Compiler Logging set to 'Full Command Line') all I see is:
Running project pre-build steps
My pre-build step is:
[[ local hgfile = _T("hgversion.h"); local hgcmd = _T("cmd /c hg summary | grep parent | sed -f hgversion.sed > hgversion.h"); if ( !IO.FileExists(hgfile) ) { IO.Execute(hgcmd); } ]]
the problem is that grep and sed are in my MSYS directory, which I temporarily want to add to the PATH for this pre-build step. If I add the MSYS path to the PATH prior to starting C::B, the command works fine.