summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalNinjaGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into ninja-order-only-fixKyle Edwards2020-04-231-79/+78
|\
| * Merge topic 'ninja-fortran-doc'Brad King2020-04-201-8/+1
| |\ | | | | | | | | | | | | | | | | | | | | | f2fa7d20b2 Merge branch 'backport-3.17-ninja-fortran-doc' into ninja-fortran-doc fa31c195b8 Ninja: Document that Fortran support is available with Ninja 1.10+ Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4626
| | * Merge branch 'backport-3.17-ninja-fortran-doc' into ninja-fortran-docBrad King2020-04-171-8/+1
| | |\
| * | | Refactoring: add cm::contains to <cmext/algorithm>Marc Chevrier2020-04-171-3/+2
| |/ /
| * | cmGlobalNinjaGenerator: Remove outdated commentBrad King2020-04-131-2/+0
| | |
| * | Merge branch 'master' into ninja-order-dependsKyle Edwards2020-04-071-76/+78
| |\ \
| | * \ Merge topic 'cleanup-endls-1'Brad King2020-03-271-1/+1
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | Ninja: Remove unnecessary newlines in compile commandsDaan De Meyer2020-03-231-2/+2
| | |/ /
| | * | Merge topic 'ninja-multi-custom-command-deps'Brad King2020-03-051-1/+2
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 081c4679f7 Ninja Multi-Config: Don't build target dependencies for custom commands Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4423
| | * \ \ Merge topic 'ninja-multi-spurious-unused-variables'Brad King2020-03-041-0/+3
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8b799f80e3 Ninja Multi-Config: Fix spurious unused variable warning Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4421
| | * \ \ \ Merge topic 'ninja-multi-variable-shuffle-again'Brad King2020-02-281-17/+13
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c794b70f19 Ninja Multi-Config: Always generate build.ninja 9590c3a400 Generator: Don't allow Ninja Multi-Config variables on other generators 7a63dafafb Ninja Multi-Config: Remove "NMC" from variable names Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4403
| | * \ \ \ \ Merge branch 'backport-ninja-multi-framework-dependency-autogen-fix' into ↵Kyle Edwards2020-02-171-6/+4
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | ninja-multi-framework-dependency-autogen-fix
| | * \ \ \ \ \ Merge topic 'ninja-strcat-usage'Kyle Edwards2020-02-121-72/+73
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6e65b869c3 cmNinjaTargetGenerator: cmStrCat usage 9f6544048f cmGlobalNinjaGenerator: cmStrCat usage 04ac0ea501 cmGlobalNinjaGenerator: factor out /all target name computation a85bea173a cmGlobalNinjaGenerator: avoid unnecessary string addition Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4347
| | | * | | | | | cmGlobalNinjaGenerator: cmStrCat usageBen Boeckel2020-02-111-57/+61
| | | | | | | | |
| | | * | | | | | cmGlobalNinjaGenerator: factor out /all target name computationBen Boeckel2020-02-111-14/+11
| | | | | | | | |
| | | * | | | | | cmGlobalNinjaGenerator: avoid unnecessary string additionBen Boeckel2020-02-111-1/+1
| | | | | | | | |
| | * | | | | | | Merge topic 'ninja-multi-default-configs-fix'Brad King2020-02-121-5/+7
| | |\ \ \ \ \ \ \ | | | |/ / / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 46c836644d Ninja Multi-Config: Fix issue with "all" in CMAKE_NMC_DEFAULT_CONFIGS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4349
| | * | | | | | | Merge topic 'ninja-multi-default-config-fix'Brad King2020-02-071-0/+1
| | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1844be451e Ninja Multi-Config: Fix issue with CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4331
| | * \ \ \ \ \ \ \ Merge topic 'ninja-multi-no-minsizerel'Brad King2020-02-071-1/+1
| | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9e219de4fb Ninja Multi-Config: Don't include MinSizeRel by default Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !4326
| | * | | | | | | | | Ninja: Move rules.ninja into CMakeFilesKyle Edwards2020-02-051-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since this is an implementation detail, it should not be user- visible. Move it into the implementation directory.
* | | | | | | | | | | Ninja: Remove config suffix from order-only targetKyle Edwards2020-04-231-3/+9
| |_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #20621
* | | | | | | | | | Ninja: Document that Fortran support is available with Ninja 1.10+Brad King2020-04-171-8/+1
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ninja 1.10 was released in Jan 2020 and has the features we need to support Fortran. Replace documentation that mentions Kitware's branch with mention of Ninja 1.10+ instead.
* | | | | | | | | Ninja: Make config uppercase in object order targetKyle Edwards2020-04-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #20539
* | | | | | | | | Merge topic 'ninja-multi-custom-command-deps' into release-3.17Brad King2020-03-051-1/+2
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ / |/| | | | | | | / | | |_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | 081c4679f7 Ninja Multi-Config: Don't build target dependencies for custom commands Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4423
| * | | | | | | Ninja Multi-Config: Don't build target dependencies for custom commandsKyle Edwards2020-03-031-1/+2
| | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If cross-config mode is used, and a target depends on another target as well as a custom command, we don't want the custom command to also depend on the depended target, as that would build targets unnecessarily. Fix this behavior.
* | | | | | | Ninja Multi-Config: Fix spurious unused variable warningKyle Edwards2020-03-031-0/+3
|/ / / / / / | | | | | | | | | | | | | | | | | | Fixes: #20381
* | | | | | Ninja Multi-Config: Always generate build.ninjaKyle Edwards2020-02-271-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If CMAKE_DEFAULT_BUILD_TYPE is not specified, use the first item from CMAKE_CONFIGURATION_TYPES instead.
* | | | | | Ninja Multi-Config: Remove "NMC" from variable namesKyle Edwards2020-02-271-11/+9
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | Also rename `..._DEFAULT_BUILD_FILE_CONFIG` to `..._DEFAULT_BUILD_TYPE`. These name changes make the variables meaningful for future use by other generators.
* | | | | Ninja Multi-Config: Fix issue with framework dependencies and AutogenKyle Edwards2020-02-171-6/+4
| |_|_|/ |/| | | | | | | | | | | Fixes: #20345
* | | | Ninja Multi-Config: Fix issue with "all" in CMAKE_NMC_DEFAULT_CONFIGSKyle Edwards2020-02-111-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to this fix, CMAKE_NMC_DEFAULT_CONFIGS would inherit "all" from the union of CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG and CMAKE_NMC_CROSS_CONFIGS. This is inconsistent with the behavior of the "all" target signifying CMAKE_NMC_CROSS_CONFIGS. Update "all" in CMAKE_NMC_DEFAULT_CONFIGS to inherit only from CMAKE_NMC_CROSS_CONFIGS.
* | | | Merge topic 'ninja-multi-default-config-fix' into release-3.17Brad King2020-02-071-0/+1
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/| | | | | | | 1844be451e Ninja Multi-Config: Fix issue with CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4331
| * | Ninja Multi-Config: Fix issue with CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIGKyle Edwards2020-02-061-0/+1
| |/ | | | | | | | | | | Fix an issue where CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG is specified and CMAKE_NMC_CROSS_CONFIGS is not, which results in a false error with CMAKE_NMC_DEFAULT_CONFIGS.
* | Ninja Multi-Config: Don't include MinSizeRel by defaultKyle Edwards2020-02-061-1/+1
|/
* Ninja Multi-Config: Use build.ninja if cmake --build has no --configKyle Edwards2020-02-041-11/+30
| | | | | | If cmake --build is called with no --config argument, and a build.ninja file is available, use that instead of defaulting to the Debug config.
* cmGlobalNinjaGenerator: run ninja tools in the build directoryBen Boeckel2020-02-031-0/+2
| | | | Fixes: #20303
* Ninja Multi-Config: Shuffle variables aroundKyle Edwards2020-02-031-72/+125
| | | | | | Remove redundant variable CMAKE_NINJA_MULTI_CROSS_CONFIG_ENABLE. Rename other variables. Document and improve handling of error conditions.
* Merge topic 'mixed-mode-multi-arch'Brad King2020-01-291-0/+11
|\ | | | | | | | | | | | | 15f6606abd Swift: disallow multiple `CMAKE_OSX_ARCHITECTURES` with Swift Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4283
| * Swift: disallow multiple `CMAKE_OSX_ARCHITECTURES` with SwiftSaleem Abdulrasool2020-01-281-0/+11
| | | | | | | | | | This disallows the use of multiple values in `CMAKE_OSX_ARCHITECTURES` with Swift which does not support FAT compilation.
* | Ninja: Do not clean metadata when re-generating inside a running buildBrad King2020-01-271-1/+9
| | | | | | | | | | | | | | | | When `ninja` re-runs CMake to re-generate the build system, do not try to use the ninja tools to update metadata on Windows. The outer ninja process is already holding the files open. Issue: #20274
* | Ninja: Track when running to re-generate during a buildBrad King2020-01-271-1/+1
| | | | | | | | | | Tell CMake explicitly when it is re-running inside a `ninja` invocation to re-generate the build system.
* | Ninja: Factor metadata cleanup into dedicated methodBrad King2020-01-271-0/+5
| |
* | Ninja: Skip cleandead and recompact if build.ninja is missingBrad King2020-01-271-2/+10
| | | | | | | | | | In error cases the `build.ninja` file may not exist. Skip running ninja tools that require it so that we do not generate additional errors.
* | Ninja: Fix CMAKE_NINJA_OUTPUT_PATH_PREFIX with Ninja 1.10Brad King2020-01-271-4/+7
|/ | | | | | | | | | | The ninja 1.10 tools we use since commit fb18215904 (Ninja: clean ninja metadata once generated, 2019-05-13) expect `build.ninja` to be available and loadable. In commit 6cc74b6140 (cmGlobalNinjaGenerator: avoid cleandead and recompact in Ninja-Multi, 2020-01-22) we added a condition to exclude the tools in a case where `build.ninja` is not available. Generalize that condition using a local variable and extend it for the case that `build.ninja` is not loadable in the current directory because it is meant to be a sub-ninja for a higher directory.
* Merge topic 'ninja-multi-cross-configs'Brad King2020-01-241-10/+52
|\ | | | | | | | | | | | | b7a2baf38c Ninja Multi-Config: Add variable to control configs used in cross-config build Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4269
| * Ninja Multi-Config: Add variable to control configs used in cross-config buildKyle Edwards2020-01-231-10/+52
| |
* | Merge topic 'multi-ninja-no-cleandead'Brad King2020-01-241-2/+11
|\ \ | |/ |/| | | | | | | | | 6cc74b6140 cmGlobalNinjaGenerator: avoid cleandead and recompact in Ninja-Multi Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4261
| * cmGlobalNinjaGenerator: avoid cleandead and recompact in Ninja-MultiBen Boeckel2020-01-231-2/+11
| | | | | | | | Fixes: #20247
* | Ninja Multi-Config: Add variable to control aliases in build.ninjaKyle Edwards2020-01-221-13/+31
| |
* | Refactor: Split Ninja files into impl-<Config>.ninja and build-<Config>.ninjaKyle Edwards2020-01-221-35/+108
| |