summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalNinjaGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Ninja: Record dyndep support by Ninja 1.10Brad King2019-07-301-4/+9
| | | | | Upstream Ninja 1.10 and above support the `dyndep` feature we need for Fortran.
* Ninja: Drop unused dyndep version checkBrad King2019-07-301-28/+19
| | | | | | Our dyndep support version 1 has been merged to upstream Ninja. We never developed a second dyndep version, so simply drop our checks for different versions.
* Ninja: Use in-class initialization of global generator membersBrad King2019-07-301-8/+0
|
* cmStringAlgorithms: Move string functions to the new cmStringAlgorithms.hSebastian Holtermann2019-07-291-0/+1
| | | | | This adds the `cmStringAlgorithms.h` header and moves all string functions from `cmAlgorithms.h` to `cmStringAlgorithms.h`.
* cmGlobalNinjaGenerator: Use gnu compatible paths with QCCSamuel Ostlund2019-07-161-1/+3
|
* Introduce memory management helper: cm_memory.hxxMarc Chevrier2019-07-141-1/+2
|
* 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: Remove non cmNinjaBuild based WriteBuild methodSebastian Holtermann2019-05-301-81/+75
|
* Ninja: Use cmNinjaBuild class for WriteBuildSebastian Holtermann2019-05-301-24/+21
|
* Ninja: Use cmNinjaBuild class for WriteBuildSebastian Holtermann2019-05-301-7/+6
|
* Ninja: Use cmNinjaBuild class for WriteBuildSebastian Holtermann2019-05-301-11/+5
|
* Ninja: Use cmNinjaBuild class for WriteBuildSebastian Holtermann2019-05-301-9/+4
|
* Ninja: Use cmNinjaBuild class for WriteBuildSebastian Holtermann2019-05-301-30/+27
|
* Ninja: Remove WritePhonyBuild methodSebastian Holtermann2019-05-301-10/+0
|
* Ninja: Use cmNinjaBuild instead of WritePhonyBuildSebastian Holtermann2019-05-301-8/+10
|
* Ninja: Use cmNinjaBuild instead of WritePhonyBuildSebastian Holtermann2019-05-301-6/+5
|
* Ninja: Use cmNinjaBuild instead of WritePhonyBuildSebastian Holtermann2019-05-301-6/+6
|
* Ninja: Use cmNinjaBuild instead of WritePhonyBuildSebastian Holtermann2019-05-301-16/+19
|
* Ninja: Use cmNinjaBuild instead of WritePhonyBuildSebastian Holtermann2019-05-301-20/+26
|
* Ninja: Use cmNinjaBuild instead of WritePhonyBuildSebastian Holtermann2019-05-301-4/+9
|
* Ninja: Make WriteCustomCommandBuild method use cmNinjaBuild internallySebastian Holtermann2019-05-301-26/+33
|
* Ninja: Make WriteMacOSXContentBuild use cmNinjaBuild internallySebastian Holtermann2019-05-301-12/+8
|
* Ninja: Add cmNinjaBuild based WriteBuild (wrapper) methodSebastian Holtermann2019-05-301-0/+10
|
* Merge topic 'ninja_rule_class'Brad King2019-05-301-111/+76
|\ | | | | | | | | | | | | | | 6136ab5e17 Ninja: Use cmNinjaRule as sole parameter in the WriteRule and AddRule methods 6a23fbce47 Ninja: Add cmNinjaRule class Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3393
| * Ninja: Use cmNinjaRule as sole parameter in the WriteRule and AddRule methodsSebastian Holtermann2019-05-291-111/+76
| | | | | | | | | | | | | | | | Instead of passing multiple strings to the `WriteRule` and `AddRule` methods of `cmGlobalNinjaGenerator`, pass only a `cmNinjaRule` instance reference, that is set up beforehand. Adapt calls to `WriteRule` and `AddRule` in multiple places.
* | Merge topic 'clang-gnulike-support'Brad King2019-05-291-7/+14
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 74829f01b1 Help: Add notes for topic 'clang-gnulike-support' 19669abe1d Tests: handle string escaping differences with NMake+clang a2a90f41e3 Tests: require C++14 for the Tutorial 4819ff9647 Tests: fix failures with gnu mode clang on windows 26af0b25e7 cmake: use correct stack size with gnu mode clang on windows d44c0db0b2 clang: setup correct configuration in gnu mode b7d5ef23e9 cmGlobalNinjaGenerator: use gnu compatible paths with clang in gnu mode 3d0210d8dc binutils: add the llvm-* variants to the tool lists. ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Francesco Bertolaccini <francesco@bertolaccini.dev> Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com> Acked-by: Saleem Abdulrasool <compnerd@compnerd.org> Merge-request: !2992
| * cmGlobalNinjaGenerator: use gnu compatible paths with clang in gnu modeZsolt Parragi2019-05-171-7/+14
| |
* | Use cmAppend to append ranges to std::vector instancesSebastian Holtermann2019-05-231-3/+2
| |
* | Merge topic 'string-cleanup'Brad King2019-05-171-2/+2
|\ \ | |/ |/| | | | | | | | | | | 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-2/+2
| |
* | Merge topic 'additional_clean_files'Brad King2019-05-151-7/+95
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 filesSebastian Holtermann2019-05-141-7/+95
| |/ | | | | | | | | | | | | | | | | Additional clean files for the Ninja generator can be registered via the new method `cmGlobalNinjaGenerator::AddAdditionalCleanFile`. If there are additional clean files, a new rule `CLEAN_ADDITIONAL` and a new build target `CMakeFiles/clean.additional` get generated. The `clean` target will depend on `CMakeFiles/clean.additional`, if the target exists.
* | Merge topic 'ninja-pool-custom-command'Brad King2019-05-151-3/+7
|\ \ | |/ |/| | | | | | | | | 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-3/+7
| | | | | | | | | | | | | | | | | | | | 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: Use clean target instead of clean tool in `cmake --target clean` callsSebastian Holtermann2019-05-131-5/+1
| | | | | | | | | | | | | | A convenience `clean` target for the Ninja generator exists since commit 3bd41f2eb5. It's safe to call `ninja clean` instead of `ninja -t clean`. This removes the exception mapping of the `clean` target in `cmake --build ... --target clean` calls to the Ninja `-t clean` tool.
* | Ninja: Inline range loop range argumentsSebastian Holtermann2019-05-121-22/+11
| |
* | Ninja: In cmGlobalNinjaGenerator use std::unique_ptr to manage output streamsSebastian Holtermann2019-05-111-20/+22
| |
* | Ninja: Add and use cmGlobalNinjaGenerator::CMakeCmd methodSebastian Holtermann2019-05-101-45/+46
| |
* | Ninja: Fix message in cmGlobalNinjaGenerator::WriteBuild methodSebastian Holtermann2019-05-101-5/+3
| |
* | Ninja: Simplify cmGlobalNinjaGenerator::AddRule and HasRule methodsSebastian Holtermann2019-05-101-7/+5
| | | | | | | | | | - Use `std::unordered_set` for the emitted rule register - Use `std::unordered_map` for command length register
* | Ninja: Simplify cmGlobalNinjaGenerator::WriteRule methodSebastian Holtermann2019-05-101-45/+31
|/
* Modernize: Enable modernize-raw-string-literal in clang-tidyArtur Ryt2019-04-021-3/+3
|
* cmake_ninja_dyndep: don't duplicate slashesBen Boeckel2019-03-121-1/+1
|
* cmake: Teach --build mode to support multiple targetsBartosz Kosiorek2019-03-051-11/+17
| | | | Fixes: #16136
* cmGlobalGenerator: Change case of methods from GeneratedMakeCommand structBartosz Kosiorek2019-03-041-6/+6
|
* ninja: name dyndep internal files using the object fileBen Boeckel2019-02-251-4/+4
| | | | | Now that preprocessing outputs are not necessarily used all the way through, the output name is a better base name to use for these files.
* ninja: pass language to cmake_ninja_dependsBen Boeckel2019-02-251-37/+82
|
* ninja: make dyndep generation language awareBen Boeckel2019-02-251-11/+20
| | | | | A target may have multiple languages with dyndep rules, separate `.dd` files should be generated.
* Merge topic 'cmrange-improvements'Brad King2019-02-251-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | b8031308f3 cmRange: Add unit tests a8d51ef8b7 cmRange: Add functions filter and transform da4773e8b8 cmRange: Add functions all_of, any_of, none_of 17a367e77f cmRange: Stylistic cleanup 9eb0e73f46 cmRange: Move to dedicated header file Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Artur Ryt <artur.ryt@gmail.com> Merge-request: !2972
| * cmRange: Move to dedicated header fileRegina Pfeifer2019-02-211-0/+1
| |