Example #1
0
 private function buildDefineList(Configuration $configuration)
 {
     $configType = $configuration->getProject()->getType();
     $definitions = $configuration->getDefinitions();
     // TODO: This is a quick implementation for the proof of concept. We should properly implement this.
     $this->registerDef($definitions, 'WIN32');
     if ($configType === 'application' || $configType === 'dynamic-library') {
         $this->registerDef($definitions, '_WINDOWS');
     }
     if ($configType === 'application') {
         $this->registerDef($definitions, '_MBCS');
     }
     if ($configuration->getDebug()) {
         $this->registerDef($definitions, '_DEBUG');
     } else {
         $this->registerDef($definitions, 'NDEBUG');
     }
     if ($configuration->getProject()->getType() === 'static-library') {
         $this->registerDef($definitions, '_LIB');
     }
     if ($configuration->getProject()->getType() === 'dynamic-library') {
         $this->registerDef($definitions, '_USRDLL');
         $this->registerDef($definitions, 'DLLTEST_EXPORTS');
         $this->registerDef($definitions, '_WINDLL');
     }
     $this->registerDef($definitions, 'UNICODE');
     $this->registerDef($definitions, '_UNICODE');
     $result = [];
     foreach ($definitions as $definition) {
         $result[] = '/D "' . $definition . '"';
     }
     return $result;
 }
 protected function writePreprocessorDefinitions(DOMElement $parent, Configuration $configuration)
 {
     $definitions = array_merge($this->project->getDefinitions(), $configuration->getDefinitions());
     if ($configuration->getDebug()) {
         $definitions[] = '_DEBUG';
     } else {
         $definitions[] = 'NDEBUG';
     }
     $definitions[] = '%(PreprocessorDefinitions)';
     $uniqueDefinitions = array_unique($definitions);
     XmlDom::createElement($parent, 'PreprocessorDefinitions', implode(';', $uniqueDefinitions));
 }