summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Test: Improve WarnUnusedCliUnused to run on all generatorsSebastian Holtermann2019-05-152-22/+15
| | | | | | | | | | In the WarnUnusedCliUnused test, the whole CMakeCache.txt was removed in the clean stage to trigger the same CMake warning in re-builds. This technique worked only in the Makefile generators and the test was limited to these. Now only the variable of interest is removed from the cache by using a `unset(UNUSED_CLI_VARIABLE CACHE)` statement in the CMakeLists.txt file. This makes the WarnUnusedCliUnused test run on all generators
* Merge topic 'additional_clean_files'Brad King2019-05-1521-77/+370
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Release notes: Add release notes for ADDITIONAL_CLEAN_FILES propertiesSebastian Holtermann2019-05-141-0/+10
| | | | | | | | | | | | This adds release notes for the `ADDITIONAL_CLEAN_FILES` target and directory properties. It also adds a deprecation release note for the `ADDITIONAL_MAKE_CLEAN_FILES` directory property.
| * Doc: Update and deprecate ADDITIONAL_MAKE_CLEAN_FILES directory propertySebastian Holtermann2019-05-141-3/+13
| | | | | | | | | | | | This extends the :prop_dir:`ADDITIONAL_MAKE_CLEAN_FILES` directory property documentation and marks it as deprecated. The new directory property :prop_dir:`ADDITIONAL_CLEAN_FILES` should be used instead.
| * Doc: Add documentation for ADDITIONAL_CLEAN_FILES propertiesSebastian Holtermann2019-05-143-0/+34
| |
| * Tests: Extend MakeClean test to cover ADDITIONAL_CLEAN_FILESSebastian Holtermann2019-05-143-30/+87
| | | | | | | | | | | | | | | | This extends the MakeClean test to cover the - ADDITIONAL_CLEAN_FILES directory property and the - ADDITIONAL_CLEAN_FILES target property as well.
| * Ninja: Add support for ADDITIONAL_CLEAN_FILES target propertySebastian Holtermann2019-05-143-0/+29
| |
| * Ninja: Add support for ADDITIONAL_CLEAN_FILES directory propertySebastian Holtermann2019-05-142-0/+27
| |
| * Ninja: Add support for additional clean filesSebastian Holtermann2019-05-142-7/+104
| | | | | | | | | | | | | | | | | | 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.
| * Makefiles: Add support for ADDITIONAL_CLEAN_FILES target propertySebastian Holtermann2019-05-141-0/+12
| |
| * Makefiles: Add support for ADDITIONAL_CLEAN_FILES directory propertySebastian Holtermann2019-05-141-0/+12
| |
| * Makefiles: Move ADDITIONAL_MAKE_CLEAN_FILES evaluation to lambdaSebastian Holtermann2019-05-141-10/+16
| |
| * Makefiles: Sort clean files by using a std::set<std::string> containerSebastian Holtermann2019-05-146-30/+29
| | | | | | | | | | | | | | By using a `std::set<std::string>` container instead of a `std::vector<std::string>` container, the clean files list becomes sorted and unique. The clean target in Makefiles beomes nicer and better readable this way. Also double clean entries won't appear anymore.
* | Merge topic 'ninja-pool-custom-command'Brad King2019-05-1521-28/+144
|\ \ | | | | | | | | | | | | | | | | | | 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-1421-28/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge topic 'cmuvprocesschain-iterator-fix'Brad King2019-05-151-1/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | dfa24355ea cmUVProcessChain: Add assert() for static analysis tools Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3322
| * | | cmUVProcessChain: Add assert() for static analysis toolsKyle Edwards2019-05-141-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some static analysis tools throw a false positive for an out-of-bounds item that is being dereferenced. This out-of-bounds error will never actually happen because of how cmUVProcessChain::InternalData::AddCommand() is being called. Nevertheless, this change adds an assert() to help static analysis tools be absolutely certain that the referenced item is within the vector's bounds. This change also changes the item access to use an index rather than an iterator.
* | | | Merge topic 'refactor_docs_use_java'Craig Scott2019-05-151-294/+229
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 359e2d401d UseJava: Refactor documentation for better formatting Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3303
| * | | | UseJava: Refactor documentation for better formattingRobert Maynard2019-05-151-294/+229
| | | | | | | | | | | | | | | Co-Authored-By: Craig Scott <craig.scott@crascit.com>
* | | | | Merge topic 'modules-indent-2-spaces'Craig Scott2019-05-1548-1627/+1624
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 932dcce1e6 Modules: Consistently use 2 space indentation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3306
| * | | | | Modules: Consistently use 2 space indentationKitware Robot2019-05-1448-1627/+1624
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2019-05-151-1/+1
|/ / / / /
* | | | | Merge branch 'release-3.14'Brad King2019-05-140-0/+0
|\ \ \ \ \
| * | | | | CMake 3.14.4v3.14.4Brad King2019-05-141-1/+1
| | | | | |
* | | | | | Merge branch 'release-3.13'Brad King2019-05-140-0/+0
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | |
| * | | | | CMake 3.13.5v3.13.5Brad King2019-05-141-1/+1
| | | | | |
* | | | | | Merge branch 'release-3.14'Brad King2019-05-140-0/+0
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Merge branch 'doc-relnotes-3.14' into release-3.14Brad King2019-05-142-0/+19
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3319
* | \ \ \ \ \ Merge branch 'release-3.13'Brad King2019-05-140-0/+0
|\ \ \ \ \ \ \ | | |_|/ / / / | |/| | | | |
| * | | | | | Merge branch 'doc-relnotes-3.13' into release-3.13Brad King2019-05-141-0/+9
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !3319
* | \ \ \ \ \ \ Merge topic 'doc-relnotes-3.14'Brad King2019-05-142-0/+19
|\ \ \ \ \ \ \ \ | | |_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f2aeba927c Help: Add 3.14.4 release notes 1d645e9891 Merge branch 'doc-relnotes-3.13' into doc-relnotes-3.14 d6b8822919 Help: Add 3.13.5 release notes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3319
| * | | | | | | Help: Add 3.14.4 release notesBrad King2019-05-141-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a note about the fix in commit 3d3713121b (target_link_libraries: Fix static library private deps in other dirs, 2019-04-30). Also reference the equivalent note already added to the 3.13.5 notes.
| * | | | | | | Merge branch 'doc-relnotes-3.13' into doc-relnotes-3.14Brad King2019-05-141-0/+9
| |\ \ \ \ \ \ \ | | | |/ / / / / | | |/| / / / / | | |_|/ / / / | |/| | | | |
| | * | | | | Help: Add 3.13.5 release notesBrad King2019-05-141-0/+9
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | Add a note about the fix in commit 3d3713121b (target_link_libraries: Fix static library private deps in other dirs, 2019-04-30).
* | | | | | Merge topic 'find-boost-cmp0093'Brad King2019-05-1412-4/+55
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5108759ed2 FindBoost: Introduce CMP0093 to report Boost_VERSION in x.y.z format Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3317
| * | | | | FindBoost: Introduce CMP0093 to report Boost_VERSION in x.y.z formatDennis Klein2019-05-1312-4/+55
| | | | | | | | | | | | | | | | | | | | | | | | This aligns module mode behaviour with config mode.
* | | | | | Merge topic 'cmSytemTools_ExpandedList'Brad King2019-05-144-29/+58
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cdff7f4e2a cmSystemTools: Add ExpandedListArgument and ExpandedLists methods Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !3313
| * | | | | | cmSystemTools: Add ExpandedListArgument and ExpandedLists methodsSebastian Holtermann2019-05-134-29/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes ------- In `cmSystemTools` this - renames the method `ExpandList` to `ExpandLists` and makes it iterator based and adds the methods - `std::vector<std::string> ExpandedLists(InputIt first, InputIt last)` - `std::vector<std::string> ExpandedListArgument(const std::string& arg, bool emptyArgs)` Both return the `std::vector<std::string>` instead of taking a return vector reference like `cmSystemTools::ExpandLists` and `cmSystemTools::ExpandListArgument`. Motivation ---------- Since C++17 return value optimization is mandatory, so returning a `std:vector<std::string>` from a function should be (at least) as fast as passing a return vector reference to the function. The new methods can replace `cmSystemTools::ExpandLists` and `cmSystemTools::ExpandListArgument` in many cases, which leads to shorter and simpler syntax. E.g. the commonly used pattern ``` if (const char* value = X->GetProperty("A_KEY_STRING")) { std::vector<std::string> valuesList; cmSystemTools::ExpandListArgument(value, valuesList); for (std::string const& i : valuesList) { doSomething(i); } } ``` becomes ``` if (const char* value = X->GetProperty("A_KEY_STRING")) { for (std::string const& i : cmSystemTools::ExpandedListArgument(value)) { doSomething(i); } } ```
* | | | | | | Merge topic 'error-generate-step'Brad King2019-05-1429-28/+89
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8cc04b1918 cmake: Display error if generate step fails Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !3304
| * | | | | | | cmake: Display error if generate step failsKyle Edwards2019-05-1329-28/+89
| |/ / / / / /
* | | | | | | Merge topic 'ninja_cleanups'Brad King2019-05-145-241/+223
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 054954d855 Ninja: Use clean target instead of clean tool in `cmake --target clean` calls 30a550d6ad Ninja: In cmNinjaTargetGenerator use std::unique_ptr to manage new instances 0024356f8e Ninja: In cmNinjaTargetGenerator optimize string composition 8691b3cf91 Ninja: Inline range loop range arguments 47da9859e8 Ninja: In cmGlobalNinjaGenerator use std::unique_ptr to manage output streams 9902702134 Ninja: Add and use cmGlobalNinjaGenerator::CMakeCmd method 12aa6fe07b Ninja: Fix message in cmGlobalNinjaGenerator::WriteBuild method 02293841e7 Ninja: Simplify cmGlobalNinjaGenerator::AddRule and HasRule methods ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3312
| * | | | | | | Ninja: Use clean target instead of clean tool in `cmake --target clean` callsSebastian Holtermann2019-05-132-7/+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: In cmNinjaTargetGenerator use std::unique_ptr to manage new instancesSebastian Holtermann2019-05-133-7/+9
| | | | | | | |
| * | | | | | | Ninja: In cmNinjaTargetGenerator optimize string compositionSebastian Holtermann2019-05-131-62/+78
| | | | | | | |
| * | | | | | | Ninja: Inline range loop range argumentsSebastian Holtermann2019-05-123-28/+14
| | | | | | | |
| * | | | | | | Ninja: In cmGlobalNinjaGenerator use std::unique_ptr to manage output streamsSebastian Holtermann2019-05-112-28/+31
| | | | | | | |
| * | | | | | | Ninja: Add and use cmGlobalNinjaGenerator::CMakeCmd methodSebastian Holtermann2019-05-102-46/+48
| | | | | | | |
| * | | | | | | Ninja: Fix message in cmGlobalNinjaGenerator::WriteBuild methodSebastian Holtermann2019-05-101-5/+3
| | | | | | | |
| * | | | | | | Ninja: Simplify cmGlobalNinjaGenerator::AddRule and HasRule methodsSebastian Holtermann2019-05-102-13/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
| |/ / / / / /