title: -D option is expanded incorrectly from g++ command line
body: <p>In C++ CodeBlocks project I added the following definitions to the project settings, compiler settings, #define:</p>
  
  <pre>
  _DEBUG
  DATA_DIR=\"/media/Shared/SiX/Data\"
  </pre>
  
  <p>This produces the following g++ command line:</p>
  
  <pre>
  g++ -Wall  -g -fPIC -save-temps -D_DEBUG -DDATA_DIR=\"/media/Shared/SiX/Data\"    -I../Includes  -c /media/Shared/SiX/SiXConfiguration/PathManager.cpp -o obj/Debug/PathManager.o
  </pre>
  
  <p>This code does not compile:</p>
  
  <pre>
  char* commonDataDir;
  #ifdef DATA_DIR
  commonDataDir = DATA_DIR;
  #endif
  </pre>
  
  <p>Looking at preprocessor output file, I see that source code line is expanded in this way:</p>
  
  <pre>
  commonDataDir = /media/Shared/SiX/Data;
  </pre>
  
  <p>I expect:</p>
  
  <pre>
  commonDataDir = "/media/Shared/SiX/Data";
  </pre>
  
  <p>The same code is compiled correctly from Eclipse CDT:</p>
  
  <pre>
  g++ -D_DEBUG -DDATA_DIR=\"/media/Shared/SiX/Data\" -I"/media/Shared/SiX (copy)/Includes" -O3 -Wall -c -fmessage-length=0 -fPIC -ggdb -MMD -MP -MF"PathManager.d" -MT"PathManager.d" -o"PathManager.o" "../PathManager.cpp"
  </pre>
  
  <p>So, the same command line parameter is handled differently by g++ proprocessor. How can I fix this?</p>