Example #1
0
 private function buildWarningsArguments(Configuration $configuration)
 {
     $result = [];
     if ($configuration->getWarningsAsErrors()) {
         $result[] = '/WX-';
     }
     $configuration->setWarningLevel($configuration->getWarningLevel() || 'level3');
     switch ($configuration->getWarningLevel()) {
         case 'all':
             $result[] = '/Wall';
             break;
         case 'none':
             $result[] = '/W0';
             break;
         case 'level1':
             $result[] = '/W1';
             break;
         case 'level2':
             $result[] = '/W2';
             break;
         case 'level3':
             $result[] = '/W3';
             break;
         case 'level4':
             $result[] = '/W4';
             break;
     }
     return implode(' ', $result);
 }
 protected function writeCompileGroup(DOMElement $parent, Configuration $configuration)
 {
     $compileElement = XmlDom::createElement($parent, 'ClCompile');
     XmlDom::createElement($compileElement, 'WarningLevel', $this->convertWarningLevel($configuration->getWarningLevel()));
     XmlDom::createElement($compileElement, 'Optimization', $configuration->getDebug() ? 'Disabled' : 'MaxSpeed');
     if (!$configuration->getDebug()) {
         XmlDom::createElement($compileElement, 'FunctionLevelLinking', 'true');
         XmlDom::createElement($compileElement, 'IntrinsicFunctions', 'true');
     }
     $this->writePreprocessorDefinitions($compileElement, $configuration);
     if ($configuration->getPrecompiledHeader()) {
         $pch = $configuration->getPrecompiledHeader();
     } elseif ($this->project->getPrecompiledHeader()) {
         $pch = $this->project->getPrecompiledHeader();
     } else {
         $pch = null;
     }
     if ($pch) {
         XmlDom::createElement($compileElement, 'PrecompiledHeader', 'Use');
         XmlDom::createElement($compileElement, 'PrecompiledHeaderFile', $pch->getHeader());
     } else {
         XmlDom::createElement($compileElement, 'PrecompiledHeader', 'NotUsing');
     }
 }