Nothing against the patch in general.
But one question/objection: why do you call 
FixPathSeperator here ?
Think of this case:
The compiler used has 
forceFwdSlashes set to 
true, and the user wants to define a string at the commandline like:
in build options we have to write 
 in defines tab.
The string will be "fixed" to 
-DTEST="//"The String//""
what leads to an error at compile-time: 
g++: String//: No such file or directory