summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Refactor: Reduce variables scope in `HandleLevel2`Alex Turbov2021-08-031-14/+12
|
* Refactor: Simplify boolean to string result assignmentsAlex Turbov2021-08-031-5/+4
|
* Refactor: Replace `if` block w/ boolean expressionAlex Turbov2021-08-031-6/+2
| | | | Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Refactor: Avoid redundant `operator<<` on printing messagesAlex Turbov2021-08-031-9/+15
| | | | Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Refactor: Opt-out do+while loops and reduce nesting level in handlersAlex Turbov2021-08-031-309/+287
| | | | Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Refactor: Remove `reducible` flag from `handleLevelN()` functionsAlex Turbov2021-08-031-45/+45
| | | | | | | The indicator that smth has been done is the `newArgs` size get differ after an iteration. Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Refactor: Make `cmConditionEvaluator::IsTrue` a bit more compactAlex Turbov2021-08-031-19/+13
| | | | Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Refactor: Generalize policy checking in `HandleLevel1`Alex Turbov2021-07-261-18/+25
| | | | Also, move OLD policy checking out of the loop to evaluate it once.
* Refactor: When handle predicates, there is no need to check 2nd argAlex Turbov2021-07-261-30/+34
| | | | | Introduce an overload for `IncrementArguments()` w/ one iterator and use it in the handler level 1.
* Refactor: Initialize args vector from iterators instead of copyAlex Turbov2021-07-261-4/+2
| | | | Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Refactor: Speedup predicates and binary operationAlex Turbov2021-07-262-50/+61
| | | | | | | | | | Before predicates and binary ops reducers use series of `if ()` blocks to match the keywords. However, if matched the currect `arg` get replaced with evaluation result, so further `if (<match-another-keyword>)` is just wasting time/resources. This patch introduce a chain of `if` → `else if` → ..., so after first match the loop restarts w/ the next argument.
* Style: Add empty lines to increase readabilityAlex Turbov2021-07-261-0/+20
| | | | Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Refactor: Deduplicate code for `AND` and `OR` handling in `if()` commandAlex Turbov2021-07-261-16/+9
| | | | Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Refactor: Rewrite parenthesis scanner to avoid `if`sAlex Turbov2021-07-261-12/+5
| | | | Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Refactor: Make `HandleBinaryOp` and `HandlePredicate` free functionsAlex Turbov2021-07-262-70/+52
|
* Refactor: More `auto` and constnessAlex Turbov2021-07-261-33/+27
| | | | Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Refactor: Make `IncrementArguments()` the free functionAlex Turbov2021-07-262-25/+22
| | | | Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Refactor: Turn the innter `while` loop in `HandleLevelN()` into `for`Alex Turbov2021-07-261-30/+10
| | | | Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Refactor: Turn `reducible` flag into booleanAlex Turbov2021-07-262-18/+18
| | | | Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Refactor: Use `cm::string_view` for static const literalsAlex Turbov2021-07-262-47/+50
| | | | Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Refactor: Opt-out `if` stataments to select 1st paramAlex Turbov2021-07-261-18/+10
| | | | | | ... for some calls to `cmExpandedCommandArgument`. Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Refactor: Add constnessAlex Turbov2021-07-261-10/+10
| | | | Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Refactor: Use anonymous namespace instead of `static` keyword for constsAlex Turbov2021-07-261-32/+34
| | | | Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
* Merge topic 'refactor-target-export'Brad King2021-07-2612-66/+81
|\ | | | | | | | | | | | | | | e8e19ed8f2 Refactor export file generator inteface 55e4753bbb Refactor cmTargetExport removing InterfaceIncludeDirecories Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6370
| * Refactor export file generator intefaceEugene Shalygin2021-07-228-62/+61
| | | | | | | | | | Replace cmTargetExport with const cmGeneratorTarget to allow recursive processing of exported targets and their link dependencies.
| * Refactor cmTargetExport removing InterfaceIncludeDirecoriesEugene Shalygin2021-07-225-4/+20
| | | | | | | | | | | | | | | | Because of this property in the cmTargetExport struct, exporting targets is not uniform: top-level ones have to be dealt with via the cmTargetExport objects, while all linked ones are cmGeneratorTarget objects. Let's pass this additional includedirectories via a special target property making handling exported targets uniform.
* | Merge topic 'support_other_cuda_libdevice_locations'Brad King2021-07-261-2/+17
|\ \ | | | | | | | | | | | | | | | | | | | | | 125bbf07b1 CUDA: Extract nvvm libdevice location from compiler verbose output Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !6365
| * | CUDA: Extract nvvm libdevice location from compiler verbose outputRobert Maynard2021-07-221-2/+17
| | | | | | | | | | | | | | | Depending on the CUDA installation the nvvm/libdevice folder can be in different locations. Since `nvcc` outputs the expected location use that when possible.
* | | Merge branch 'release-3.21'Brad King2021-07-260-0/+0
|\ \ \
| * \ \ Merge topic 'doc-custom-command-depfiles' into release-3.21Brad King2021-07-261-18/+23
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f6e5743d0e Help: Clarify and correct wording around DEPFILE option Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6387
* | \ \ \ Merge topic 'doc-custom-command-depfiles'Brad King2021-07-261-18/+23
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | f6e5743d0e Help: Clarify and correct wording around DEPFILE option Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6387
| * | | | Help: Clarify and correct wording around DEPFILE optionCraig Scott2021-07-241-18/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous wording contradicted itself regarding whether Visual Studio generators were supported, and about when generator expressions could be used. Restructure the paragraphs and max it clearer what support was added in which CMake versions.
* | | | | Merge branch 'release-3.21'Brad King2021-07-260-0/+0
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | Merge topic 'ninja-multi-test-fix' into release-3.21Brad King2021-07-2618-6/+127
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 08131e83bc Tests: Clean up Ninja Multi-Config test from cb777dd Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6383
* | \ \ \ \ Merge topic 'ninja-multi-test-fix'Brad King2021-07-2618-6/+127
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 08131e83bc Tests: Clean up Ninja Multi-Config test from cb777dd Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6383
| * | | | | Tests: Clean up Ninja Multi-Config test from cb777ddKyle Edwards2021-07-2318-6/+127
| | | | | |
* | | | | | Merge branch 'release-3.21'Brad King2021-07-260-0/+0
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Merge topic 'autouic-header-depends' into release-3.21Brad King2021-07-2615-83/+144
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e5ec0e52f4 AUTOUIC: Fix generating of dependency rules for UI header files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6380
* | \ \ \ \ \ Merge topic 'autouic-header-depends'Brad King2021-07-2615-83/+144
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e5ec0e52f4 AUTOUIC: Fix generating of dependency rules for UI header files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6380
| * | | | | | AUTOUIC: Fix generating of dependency rules for UI header filesAlexey Edelev2021-07-2315-83/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We could not rely on .ui files when generating the ninja rules for the generated UI header files. .ui files might be added to the target sources but never processed by AUTOUIC afterward, since UI header files are never included in a source code. Instead of adding dependency rules based on the .ui files, this approach scans non-generated source files for includes of the UI header files, as AUTOUIC does. This gives the consistent set of UI header files at configure time, that could be used to generate byproducts rules for the AUTOUIC. Also, the path to the generated UI header file depends not on the .ui file location but on the include line is used in source files. Fixes: #16776
* | | | | | | Merge branch 'release-3.21'Brad King2021-07-260-0/+0
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | Merge topic 'autogen-deps' into release-3.21Brad King2021-07-261-5/+23
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4bda03370d AutoGen: Fix needless compilation of mocs_compilation.cpp Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6381
* | \ \ \ \ \ \ Merge topic 'autogen-deps'Brad King2021-07-260-0/+0
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4bda03370d AutoGen: Fix needless compilation of mocs_compilation.cpp Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6381
| * | | | | | | AutoGen: Fix needless compilation of mocs_compilation.cppJoerg Bornemann2021-07-231-5/+23
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For an AUTOMOC'ed target foo, when depfiles are used, there are the following dependencies: foo_autogen -> foo_autogen/timestamp foo_autogen/mocs_compilation.cpp -> foo_autogen/timestamp The first is used to trigger AUTOGEN. The second erroneously triggers a recompilation of mocs_compilation.cpp when any source file of target foo is touched. Remove the latter dependency and replace it with an order-only dependency from foo_autogen/mocs_compilation.cpp to foo_autogen_timestamp_deps. That is achieved by making mocs_compilation.cpp or its per-configuration variants byproduct(s) of the timestamp file. Fixes: #22338
* | | | | | | Merge branch 'release-3.21'Craig Scott2021-07-260-0/+0
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | Merge topic 'doc-ctest-output' into release-3.21Craig Scott2021-07-264-5/+13
| |\ \ \ \ \ \ | | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ba6d1947b6 Help: Add cross-references between test output size ctest variables cdde9e5a10 Help: Improve wording and cross-referencing for ctest JUnit output Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6389
* | | | | | | Merge topic 'doc-ctest-output'Craig Scott2021-07-264-5/+13
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ba6d1947b6 Help: Add cross-references between test output size ctest variables cdde9e5a10 Help: Improve wording and cross-referencing for ctest JUnit output Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6389
| * | | | | | Help: Add cross-references between test output size ctest variablesCraig Scott2021-07-262-0/+6
| | | | | | |
| * | | | | | Help: Improve wording and cross-referencing for ctest JUnit outputCraig Scott2021-07-252-5/+7
| | |_|/ / / | |/| | | |
* | | | | | CMake Nightly Date StampKitware Robot2021-07-261-1/+1
| | | | | |