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));
 }
 protected function writePropertyGroupGlobalsElements(DOMElement $parent)
 {
     XmlDom::createElement($parent, 'ProjectGuid', '{' . $this->getProject()->getUuid() . '}');
     XmlDom::createElement($parent, 'Keyword', 'Win32Proj');
     XmlDom::createElement($parent, 'RootNamespace', $this->getProject()->getName());
 }
 protected function writeItemGroupContent(DOMElement $parent, Filter $filter, $elementName, $key)
 {
     foreach ($filter->getFiles($key) as $item) {
         $element = XmlDom::createElement($parent, $elementName);
         $element->setAttribute('Include', $item);
         if ($filter->getName()) {
             XmlDom::createElement($element, 'Filter', $this->writeFilterName($filter));
         }
     }
     foreach ($filter->getFilters() as $subFilter) {
         $this->writeItemGroupContent($parent, $subFilter, $elementName, $key);
     }
 }