summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalNinjaGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Single location for cmProp typedefVitaly Stakhovsky2020-06-011-0/+1
|
* Merge topic 'ninja-multi-install'Brad King2020-05-251-0/+37
|\ | | | | | | | | | | | | dddb4f02f7 Ninja Multi-Config: Make "install" targets depend on default configs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4778
| * Ninja Multi-Config: Make "install" targets depend on default configsKyle Edwards2020-05-221-0/+37
| | | | | | | | | | | | And add an "install:all" target. Fixes: #20713
* | cmMakefile::GetProperty: return cmPropVitaly Stakhovsky2020-04-011-6/+5
| |
* | Merge topic 'cleanup-endls-1'Brad King2020-03-271-16/+11
|\ \ | | | | | | | | | | | | | | | | | | 3fdd8db3aa Refactor: Avoid `std::endl` where it's not necessary (part 1) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4513
| * | Refactor: Avoid `std::endl` where it's not necessary (part 1)Alex Turbov2020-03-261-16/+11
| |/ | | | | | | | | | | | | The `std::endl` manupulator, except inserting `\n` character, also performs `os.flush()`, which may leads to undesired effects (like disk I/O in the middle of forming data strings). For the `std::stringstream` it also has no meaning.
* | Merge topic 'cmprop-getglobalprop'Brad King2020-03-271-3/+3
|\ \ | | | | | | | | | | | | | | | | | | c84cf42897 cmState::GetGlobalProperty: return cmProp Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4521
| * | cmState::GetGlobalProperty: return cmPropVitaly Stakhovsky2020-03-251-3/+3
| |/
* | Simplify absolute path conversions using CollapseFullPath full signatureBrad King2020-03-241-2/+3
|/
* Refactor: Split Ninja files into impl-<Config>.ninja and build-<Config>.ninjaKyle Edwards2020-01-221-5/+5
|
* Ninja: Add multi-config variantKyle Edwards2019-12-131-18/+73
| | | | Co-Authored-by: vector-of-bool <vectorofbool@gmail.com>
* Refactor: Prepare Ninja generator for multi-configKyle Edwards2019-12-131-21/+31
|
* cmLocalGenerator: modernize memory managementMarc Chevrier2019-11-111-2/+2
|
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-1/+2
| | | | | Run the `clang-format.bash` script to update our C and C++ code to a new include order `.clang-format`. Use `clang-format` version 6.0.
* Ninja: Simplify top-level "all" target generationBrad King2019-09-301-6/+0
| | | | | Remove its dedicated implementation and update the per-directory "all" target generation to work for the top-level directory too.
* Merge branch 'backport-3.15-fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-301-1/+3
|\ | | | | | | | | | | | | | | Resolve conflicts with changes since the 3.15 series: * Convert `cmSystemTools::IsOn` => `cmIsOn`. * Move one "EXCLUDE_FROM_ALL" target property logic fix to its new location in `cmMakefile::AddNewUtilityTarget`.
| * Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-301-1/+3
| |\
| | * Restore "all" target in subdirectories marked EXCLUDE_FROM_ALLBrad King2019-09-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "all" target in each directory is supposed to have targets from that directory even if the directory itself is marked `EXCLUDE_FROM_ALL` in its parent. This was broken by commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) which made the participation of a target in "all" independent of context. Revert much of the logic change from that commit to restore the old behavior. Then re-implement the behavior intended by the commit to keep its test working. Extend the test to cover the old behavior too. Fixes: #19753
* | | cmGeneratorExpression: Add cmGeneratorExpression::Evaluate utilityDaniel Eiband2019-09-231-6/+4
| | | | | | | | | | | | | | | | | | | | | cmGeneratorExpression::Evaluate is a shortcut when only the evaluated string is needed or an instance of cmCompiledGeneratorExpression cannot be cached. Fixes: #19686
* | | clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-2/+2
| | |
* | | clang-tidy: modernize-use-autoRegina Pfeifer2019-09-101-5/+3
| | | | | | | | | | | | | | | | | | Set the MinTypeNameLength option to an impossibly high value in order to limit the diagnostics to iterators. Leave new expressions and cast expressions for later.
* | | Source sweep: Replace cmExpandList with the shorter cmExpandedListSebastian Holtermann2019-08-231-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This replaces the code pattern ``` std::vector<std::string> args; cmExpandList(valueStr, args, ...) ``` with ``` std::vector<std::string> args = cmExpandedList(valueStr, ...) ```
* | | Source sweep: Use cmStrCat for string concatenationSebastian Holtermann2019-08-221-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is generated by a python script that uses regular expressions to search for string concatenation patterns of the kind ``` std::string str = <ARG0>; str += <ARG1>; str += <ARG2>; ... ``` and replaces them with a single `cmStrCat` call ``` std::string str = cmStrCat(<ARG0>, <ARG1>, <ARG2>, ...); ``` If any `<ARGX>` is itself a concatenated string of the kind ``` a + b + c + ...; ``` then `<ARGX>` is split into multiple arguments for the `cmStrCat` call. If there's a sequence of literals in the `<ARGX>`, then all literals in the sequence are concatenated and merged into a single literal argument for the `cmStrCat` call. Single character strings are converted to single char arguments for the `cmStrCat` call. `std::to_string(...)` wrappings are removed from `cmStrCat` arguments, because it supports numeric types as well as string types. `arg.substr(x)` arguments to `cmStrCat` are replaced with `cm::string_view(arg).substr(x)`
* | | clang-tidy: isolate declarations for readabilityRegina Pfeifer2019-08-201-1/+2
| | |
* | | Source code: Use cmExpandList instead of cmSystemTools::ExpandListArgumentSebastian Holtermann2019-08-141-2/+3
| | |
* | | IWYU: Fix handling of <memory> standard headerBrad King2019-07-101-1/+1
|/ / | | | | | | | | | | | | | | An old workaround for `std::allocator_traits<>::value_type` lints from IWYU on `std::vector<>` usage breaks IWYU's handling of `<memory>`. Convert the workaround to use the same approach we already use for a workaround of `std::__decay_and_strip<>::::__type` lints. Then update the `<memory>` inclusions to follow the now-correct IWYU lints.
* | Ninja: Use cmNinjaBuild instead of WritePhonyBuildSebastian Holtermann2019-05-301-14/+18
| |
* | Merge topic 'string-cleanup'Brad King2019-05-171-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 23e8364aed Source: std::string related cleanup Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Sebastian Holtermann <sebholt@web.de> Merge-request: !3324
| * | Source: std::string related cleanupVitaly Stakhovsky2019-05-151-1/+1
| | |
* | | Merge topic 'additional_clean_files'Brad King2019-05-151-0/+25
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b5bf369ec6 Release notes: Add release notes for ADDITIONAL_CLEAN_FILES properties 4e2ce0a67a Doc: Update and deprecate ADDITIONAL_MAKE_CLEAN_FILES directory property 338994d65d Doc: Add documentation for ADDITIONAL_CLEAN_FILES properties c11f089d73 Tests: Extend MakeClean test to cover ADDITIONAL_CLEAN_FILES 012d599e26 Ninja: Add support for ADDITIONAL_CLEAN_FILES target property 890a1b9dc3 Ninja: Add support for ADDITIONAL_CLEAN_FILES directory property 7b23001f20 Ninja: Add support for additional clean files d745df4b01 Makefiles: Add support for ADDITIONAL_CLEAN_FILES target property ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3318
| * | | Ninja: Add support for ADDITIONAL_CLEAN_FILES directory propertySebastian Holtermann2019-05-141-0/+25
| |/ /
* | | Merge topic 'ninja-pool-custom-command'Brad King2019-05-151-1/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 9f76961de8 Support job pools in custom commands and targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3308
| * | Support job pools in custom commands and targetsRosen Matev2019-05-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide a way for custom commands and targets to set the pool variable of the ninja build statement. Setting `JOB_POOL` is not compatible with `USES_TERMINAL`, which implies the `console` pool. The option is silently ignored with other generators. Closes: #18483
* | | Ninja: In cmNinjaTargetGenerator use std::unique_ptr to manage new instancesSebastian Holtermann2019-05-131-2/+1
| | |
* | | Ninja: Inline range loop range argumentsSebastian Holtermann2019-05-121-4/+2
|/ /
* | cmSystemTools::Error: consolidate parameters into single std::stringVitaly Stakhovsky2019-02-201-2/+2
| |
* | Modernize: Use ranged for-loops when possibleArtur Ryt2019-02-071-3/+5
|/ | | | | | | Replaced most manual `const_iterator`-based loops and some reverse-iterator loops with range loops. Fixes: #18858
* Merge topic 'tidy-use-equals-default'Brad King2019-01-291-3/+1
|\ | | | | | | | | | | | | | | | | 094f01d0f0 cleanup: Prefer compiler provided special member functions 55671b41d2 clang-tidy: Use `= default` Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Brad King <brad.king@kitware.com> Merge-request: !2841
| * clang-tidy: Use `= default`Regina Pfeifer2019-01-251-3/+1
| | | | | | | | | | | | Suppress some cases in `Source/cmGeneratorExpressionNode.cxx` and `Source/cmUVHandlePtr.h` where a few older compilers require a user-defined default constructor (with `{}`).
* | Merge topic 'cmoutputconverter-simplify'Brad King2019-01-291-4/+5
|\ \ | | | | | | | | | | | | | | | | | | b6a957c969 cmOutputConverter: move ConvertToRelativePath to cmStateDirectory. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2831
| * | cmOutputConverter: move ConvertToRelativePath to cmStateDirectory.Bruno Manganelli2019-01-271-4/+5
| |/
* | Merge topic 'exclude_from_all'Brad King2019-01-251-3/+1
|\ \ | | | | | | | | | | | | | | | | | | dc6888573d Pass EXCLUDE_FROM_ALL from directory to targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2816
| * | Pass EXCLUDE_FROM_ALL from directory to targetsZack Galbreath2019-01-211-3/+1
| |/ | | | | | | | | | | When a target is created it now inherits the EXCLUDE_FROM_ALL property from its directory. This change makes it possible to include a target in "all", even if its directory has been marked as EXCLUDE_FROM_ALL.
* | cmake: inlined files dir constant and removed it from cmake.hBruno Manganelli2019-01-211-2/+2
|/
* cmLocalNinjaGenerator: Prevent echoing of lines in ninja generated batch filesMark O'Neill2018-12-061-0/+1
|
* cmLocalNinjaGenerator: Report line of failure in ninja generated batch fileMark O'Neill2018-12-061-2/+14
| | | | Fixes: 18676
* cmLocalNinjaGenerator: Propagate failures from batch file back to ninjaMark O'Neill2018-12-061-1/+1
| | | | Fixes: #18676
* clang-tidy: Fix readability-static-accessed-through-instanceRegina Pfeifer2018-11-211-4/+3
| | | | Enable the check in .clang-tidy and fix all warnings.
* cmLocalNinjaGenerator: Simplify CreateRulePlaceholderExpanderMateusz Zych2018-10-261-2/+2
| | | | Re-use the derived class implementation instead of duplicating it.
* Ninja,Makefile: Drop extra space after RULE_LAUNCH_CUSTOM valueBrad King2018-09-111-5/+2
| | | | | | | | | | | The Ninja and Makefile generators were adding a space to the value both before and after expanding rule variables. Only the latter is needed. While at it, revise some outdated comments since the rule variable expansion is no longer responsible for inserting the launcher. Suggested-by: Mate Pek <mate.pek@gmail.com> Fixes: #18340