title: qmake eval function "always true" for string literals
body: <p>For our build machines, I want to have conditional pre-processor defines in my project based on environment variables at the time of compilation. the environment string is "MY_CUSTOM_BUILD", and based on its value, I'd like to add defines.</p>
  
  <p>My project file has something like:</p>
  
  <pre><code>_MY_CUSTOM_BUILD = $$(MY_CUSTOM_BUILD)
  
  eval(_MY_CUSTOM_BUILD = $$"AAA") {
      DEFINES+= MY_CUSTOM_BUILD_AAA
  }
  
  eval(_MY_CUSTOM_BUILD = $$"BBB") {
      DEFINES+= MY_CUSTOM_BUILD_BBB
  }
  </code></pre>
  
  <p>However, in the code, it seems that "MY_CUSTOM_BUILD_AAA" and "MY_CUSTOM_BUILD_BBB" are ALWAYS defined regardless of whether the environment string exists, or its value.</p>
  
  <pre><code>#ifdef MY_CUSTOM_BUILD_AAA
   Blah();    &lt;--- this code always compiles regardless.
  #endif
  
  #ifdef MY_CUSTOM_BUILD_BBB
   Blah2();    &lt;--- this code always compiles regardless.
  #endif
  </code></pre>
  
  <p>Am I doing something wrong with the syntax?</p>