title: qMake: How exactly does qmake interpret the "CONFIG(debug, debug|release)" syntax
body: <p>I read though <a href="https://wiki.qt.io/Technical_FAQ#What_does_the_syntax_CONFIG.28debug.2Cdebug.7Crelease.29_mean_.3F_What_does_the_1st_argument_specify_and_similarly_what_is_the_2nd_.3F" rel="noreferrer">HERE</a>, yet I still don't understand the syntax of the <code>qmake CONFIG</code> variable. for example, if I have the following CONFIG settings in my <code>.pro file</code>:</p>
  
  <pre><code>CONFIG(debug, debug|release) {
      message("debug mode")
  }else {
      message("release mode")
  }
  </code></pre>
  
  <p>then, when running <code>qmake</code>, the following will be displayed in the Compile Output in Qt-Creator:</p>
  
  <pre><code>Project MESSAGE: debug mode
  Project MESSAGE: debug mode
  Project MESSAGE: release mode
  </code></pre>
  
  <p>knowing that I am building my project in a <strong>"debug mode"</strong>, then my questions are:</p>
  
  <ul>
  <li><strong>why not showing the "debug mode" message only</strong> ? and why not showing it just once ?</li>
  <li>Then, since I am building in a "debug mode", <strong>why the message "Project MESSAGE: release mode" is displayed</strong> ?</li>
  <li>Exactly, <strong>what the syntax: CONFIG(debug, debug|release) really means?</strong> does it means that build in a debug mode, then again build in a debug mode and lastly build in a release mode ? I know that these brackets "{}" means a <a href="http://asoneofus.narod.ru/qt/qmake-commandreference.html" rel="noreferrer">scope</a> (old link was died, recommend <a href="https://doc.qt.io/qt-5/qmake-language.html#scopes" rel="noreferrer">scope</a>) but how qmake interpret what is inside these brackets "()" ?</li>
  </ul>