summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalNinjaGenerator.h
Commit message (Collapse)AuthorAgeFilesLines
* Use enums defined in cmOutputConverter using their fully qualified name.Daniel Pfeifer2016-05-251-5/+7
| | | | | | | | | Mostly automated: values=("RelativeRoot" "NONE" "FULL" "HOME" "START" "HOME_OUTPUT" "START_OUTPUT" "OutputFormat" "UNCHANGED" "MAKERULE" "SHELL" "WATCOMQUOTE" "RESPONSE" "FortranFormat" "FortranFormatNone" "FortranFormatFixed" "FortranFormatFree") for i in "${values[@]}"; do git grep -l cmLocalGenerator::$i | xargs sed -i "s|cmLocalGenerator::$i|cmOutputConverter::$i|g"; done
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-12/+13
| | | | | | | | | | | | | Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* Source: Stabilize include orderBrad King2016-04-291-3/+4
| | | | | Each source file has a logical first include file. Include it in an isolated block so that tools that sort includes do not move them.
* Ninja: Fix non-determinism in generated build statement order (#15968)Brad King2016-02-111-0/+1
| | | | | | Generate custom command build statements in the order we encounter source files specifying them. Do not depend on pointer values of internally allocated structures for ordering.
* Ninja: Port to cmGeneratorTarget.Stephen Kelly2015-10-241-4/+5
|
* cmLocalGenerator: Port GetTargetDirectory to cmGeneratorTarget.Stephen Kelly2015-10-141-1/+2
|
* Ninja: Centralize path conversion in global generator (#15757)Brad King2015-09-251-15/+0
| | | | | | | | | | | | | | | | | In the Ninja generator we run all build rules from the top of the build tree rather than changing into each subdirectory. Therefore we convert all paths relative to the HOME_OUTPUT directory. However, the Convert method on cmLocalGenerator restricts relative path conversions to avoid leaving the build tree with a "../" sequence. Therefore conversions performed for "subdirectories" that are outside the top of the build tree always use full paths while conversions performed for subdirectories that are inside the top of the build tree may use relative paths to refer to the same files. Since Ninja always runs rules from the top of the build tree we should convert them using only the top-level cmLocalGenerator in order to remain consistent. Also extend the test suite with a case that fails without this fix.
* cmLocalGenerator: Create from already-constructed cmMakefile.Stephen Kelly2015-08-281-2/+1
| | | | Don't manage the lifetime of the cmMakefile with cmLocalGenerator.
* cmLocalGenerator: Remove Parent pointer.Stephen Kelly2015-08-281-1/+1
|
* cmLocalCommonGenerator: Adopt ConfigName memberBrad King2015-07-091-6/+0
| | | | De-duplicate the member from the local Makefile and Ninja generators.
* Add common base classes to Makefile and Ninja generatorsBrad King2015-07-091-2/+2
| | | | Provide a place to move functionality common to both.
* cmLocalGenerator: De-virtualize Configure().Stephen Kelly2015-06-041-2/+0
| | | | | The generators that override it do so in order to populate data members which can instead be populated in Generate().
* cmLocalGenerator: Require a valid cmState::Snapshot in the ctor.Stephen Kelly2015-05-271-1/+2
| | | | | | | | | | | Refactor the local generator creation API to accept a cmState::Snapshot. Adjust MakeLocalGenerator to use the 'current' snapshot in cases where there is no parent. Create the snapshot for subdirectories in cmMakefile::AddSubdirectory. This means that snapshots are now created at the point of extending the tree, as appropriate, and independently of the cmLocalGenerator and cmMakefile they represent the state for.
* Ninja: Remove some bogus comments.Stephen Kelly2015-05-231-9/+0
| | | | | | The virtual methods are overrides not overloads, the constructor is no longer a default variant, the destructor and GetCMakeInstance comments add no value, only a typo.
* cmLocalGenerator: Add abstraction to check if top-level.Stephen Kelly2015-05-141-3/+0
| | | | Move from the cmLocalNinjaGenerator. Fix the case of the name.
* cmLocalGenerator: Require a global generator in the constructor.Stephen Kelly2015-05-141-1/+1
| | | | Port generator factory methods to pass it.
* cmLocalGenerator: Require a parent in the constructor.Stephen Kelly2015-04-281-1/+1
| | | | | | | Pass the parent though cmGlobalGenerator::CreateLocalGenerator. This will make it easy to initialize state scopes independent of cmMakefile.
* strings: Remove redundant calls to std::string::c_str()Nils Gladitz2014-10-151-1/+1
| | | | | Replacements were detected and performed by the clang tool remove-cstr-calls on a linux build.
* Ninja: Fix RC include directories regressionBrad King2014-10-131-1/+2
| | | | | | | | | | | | | | | | | Changes in commit b9aa5041 (cmLocalGenerator: Simplify GetIncludeFlags output formatting, 2014-03-04) caused Windows Resource Compiler include directories to be computed as relative paths in the Ninja generator. This breaks the cmcldeps handling of include paths. The reason for the regression is that several cmLocalGenerator::GetIncludeFlags callers treated the fourth "bool forResponseFile" argument as if it controlled whether include directories were a full path. It actually did control that by accident until the above commit. Add an explicit "bool forceFullPaths" argument to GetIncludeFlags and thread the value through ConvertToIncludeReference as needed. Update GetIncludeFlags call sites that really wanted to control the forResponseFile setting to be aware of the new argument. Extend the VSResource test to cover this case.
* Ninja: Use 'console' pool for CMake re-run if possible (#14915)Sylvain Joubert2014-10-031-0/+1
| | | | | | | | | The pre-defined 'console' pool is a non-buffered pool that runs with a depth of 1. CMake re-run cannot be run concurrently and it will eventually output something. A non-buffered pool allows to get it as soon as possible Also, generate the minimal required version of Ninja in the build file.
* ninja: Use string parametersBen Boeckel2014-05-021-1/+1
|
* cmLocalGenerator: Add ComputeObjectFilenames interface.Stephen Kelly2014-03-131-0/+4
| | | | | Implement it in the local generators and use it in the global generators.
* Generalize cmCustomCommandGenerator to more fieldsBrad King2014-03-121-3/+4
| | | | | | | Until now the cmCustomCommandGenerator was used only to compute the command lines of a custom command. Generalize it to get the comment, working directory, dependencies, and outputs of custom commands. Update use in all generators to support this.
* stringapi: Return a string reference for the configurationBen Boeckel2014-03-081-2/+2
|
* cmLocalGenerator: Add format option to ConvertToLinkReferenceBrad King2014-03-041-1/+2
| | | | Replace the hard-coded SHELL output format with an optional argument.
* cmLocalGenerator: Add format option to ConvertToIncludeReferenceBrad King2014-03-041-1/+2
| | | | Replace the hard-coded SHELL output format with an optional argument.
* Ninja: job pool support for compiling and linkingPeter Kümmel2013-11-251-0/+1
| | | | | Could be tested by setting the environment variable NINJA_STATUS=[%r]
* Ninja: run custom commands through launcher if availableNils Gladitz2013-10-311-0/+1
|
* Ninja: void function can't return a valuePeter Kümmel2012-07-191-2/+2
|
* Ninja: remove 'friend' in ninja codePeter Kümmel2012-07-181-31/+31
|
* Pre-compute object file names before Ninja generationBrad King2012-03-161-3/+0
| | | | | | Implement cmGlobalGenerator::ComputeTargetObjects in the Ninja generator to pre-compute all the object file names. Use the results during generation instead of re-computing it later.
* Ninja: Constify use of cmCustomCommandBrad King2012-03-131-3/+3
| | | | The generator never needs to modify custom command instances.
* Ninja: Add friend struct so it can access the private ConvertToNinjaPath.David Cole2012-03-071-0/+2
| | | | | The HP aCC compiler is apparently more strict than all our other dashboard compilers with respect to complaining about this.
* Ninja: Appease various compilersPeter Collingbourne2012-02-051-2/+2
|
* Ninja: Add the Ninja generatorPeter Collingbourne2012-02-021-0/+134