I've lost count of the number of times I've done this. It drives me mad.
The way msbuild works with C++ projects makes it impossible to pass in
defines from command line scripts. We would have to go down the path of
creating custom builds a-la posix, which I am not keen to do.

I have a couple of ideas, and I'll have a play with them. In the mean time
I'll fix this up. Thanks for catching it.