private function buildFileListFromConfiguration(ArrayObject $result, Configuration $configuration) { $this->buildDepth++; foreach ($configuration->getDependencies() as $dependency) { $config = $this->loader->getConfig($dependency->getName()); $oldWorkingDirectory = getcwd(); $newWorkingDirectory = $this->loader->getWorkingDirectory($dependency->getName()); chdir($newWorkingDirectory); $this->buildFileListForConfig($result, $config); chdir($oldWorkingDirectory); } $this->buildDepth--; }
private function findPrecompiledHeader(Project $project, Configuration $configuration) { $pch = $configuration->getPrecompiledHeader(); if (!$pch) { $pch = $project->getPrecompiledHeader(); } return $pch; }
protected function buildCondition(Configuration $configuration) { $result = '\'$(Configuration)|$(Platform)\'==\''; $result .= $configuration->getName(); $result .= '|'; $result .= $this->convertPlatform($configuration->getPlatform()); $result .= '\''; return $result; }
protected function writeProjectConfigurationPlatform(Configuration $configuration) { foreach ($this->getConfig()->getProjects() as $project) { $typeStr = sprintf('%s|%s', $configuration->getName(), $this->convertPlatform($configuration->getPlatform())); $projStr = sprintf('{%s}.%s', $project->getUuid(), $typeStr); $this->write(sprintf('%s.ActiveCfg = %s', $projStr, $typeStr), 2); $this->write(sprintf('%s.Build.0 = %s', $projStr, $typeStr), 2); } }
protected function parseProjectConfigurations(Project $project, $configs) { $configList = []; foreach ($configs as $data) { $config = new Configuration($project); if (array_key_exists('debug', $data)) { $config->setDebug($data['debug']); } if (array_key_exists('definitions', $data)) { $config->setDefinitions($data['definitions']); } if (array_key_exists('dependencies', $data)) { $dependencies = $this->parseConfigurationDependencies($data['dependencies']); $config->setDependencies($dependencies); } if (array_key_exists('intermediate-dir', $data)) { $config->setIntermediateDirectory($data['intermediate-dir']); } if (array_key_exists('name', $data)) { $config->setName($data['name']); } if (array_key_exists('output', $data)) { $config->setOutputPath($data['output']); } if (array_key_exists('paths', $data)) { $paths = $this->parsePaths($data['paths']); $config->setPaths($paths); } if (array_key_exists('pch', $data)) { $pch = $this->parsePrecompiledHeader($data['pch']); $config->setPrecompiledHeader($pch); } if (array_key_exists('platform', $data)) { $config->setPlatform($data['platform']); } if (array_key_exists('warning-level', $data)) { $config->setWarningLevel($data['warning-level']); } $configList[] = $config; } return $configList; }