| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
54a70b3988 Refactor: Move version compare op table out of the function
f37d6a3170 Refactor: Remove redundant checks for `0` and `1` literals
00961a4782 Refactor: Copy exactly required count of args and avoid `pop_back()`
2a72cad9be Style: Better names of local vars for `IN_LIST` handler
0dd7795706 Refactor: Extract the logic of testing for special variable to func
866b0595f6 Refactor: Introduce `cmArgumentList` container class
51d9194a96 Refactor: Reduce one more condition checking on handling math compare
46810235e3 Refactor: Avoid `if` → `else if` → … for compare operators
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6392
|
| |
| |
| |
| | |
It's static data and never changed.
|
| |
| |
| |
| | |
They are gonna be checked by `cmIsOn()` anyway.
|
| | |
|
| | |
|
| |
| |
| |
| | |
Introduce `looksLikeSpecialVariable`. It makes `if()` blocks readable.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The `cmArgumentList` has been turned into a class (forward declared in
the header). It inherits from the `std::list` (yeah, but we don't intend
to store polymorphic classes in it). In addition to the standard methods,
now it's possible to move `HandlePredicate` (renamed to `ReduceOneArg`)
and `HandleBinaryOp` (renamed to `ReduceTwoArgs`) as its members.
Additionally, iterators managements (`IncrementArguments`) have been
refactored into two separate classes mimicking iterators. This also
allows having a uniform `for` loop and concentrates the logic of
iterators advancing in it instead of the loop's body. The arguments
processing algorithms operate with "windows" over a collection of
arguments. Hence there are two kinds of "iteration windows" -- allowing
to observe 2 or 3 elements per loop iteration. These iteration "windows"
also passed to reducers.
|
| | |
|
| |
| |
| |
| |
| |
| | |
When trying to match one of compare operator key inside `if()` condition,
remember the index of matched operator. Later this index used to
select the operation to perform instead of strings compare again.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A handler's loop of all levels gonna restart after calls to
`HandlePredcate` or `HandleBinaryOp`... And the first action in the
loop is to setup iterators. So, no need to move 'em inside the
functions. Also, no need to pass iterators by reference.
Also, reorder parameters of both functions so iterators
followed after a reference to the newArgs container.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
|
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| | |
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
|
| |
| |
| |
| | |
Also, move OLD policy checking out of the loop to evaluate it once.
|
| |
| |
| |
| |
| | |
Introduce an overload for `IncrementArguments()` w/ one iterator
and use it in the handler level 1.
|
| |
| |
| |
| | |
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
|
| | |
|
| |
| |
| |
| | |
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
|
| |
| |
| |
| |
| |
| | |
... for some calls to `cmExpandedCommandArgument`.
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
|
|\ \ |
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
93eb4a7bd1 Ninja: Revert accidental LINK_WHAT_YOU_USE impl for static libraries
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6418
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
87589fd96a Merge branch 'backport-ninja-lwyu-ar' into ninja-lwyu-ar
93eb4a7bd1 Ninja: Revert accidental LINK_WHAT_YOU_USE impl for static libraries
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6418
|
| |\ \ \ \
| | | |/ /
| | |/| | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In commit d7159f9591, (Ninja: Fix LINK_WHAT_YOU_USE link flag placement,
2021-06-24), we fixed usage of -Wl,--no-as-needed to override
-Wl,--as-needed from LDFLAGS. However, that change also passes
-Wl,--no-as-needed to `ar`, which is incorrect flag for `ar`.
Let's check the target type before passing down the flags.
Fixes: #22487
|
|\ \ \ \ \
| | |_|/ /
| |/| | | |
|
| |\ \ \ \ |
|
|\ \ \ \ \ \
| | |/ / / /
| |/| | | | |
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
Merge-request: !6426
|
|\ \ \ \ \ \ \
| | |_|/ / / /
| |/| | | | | |
|
| |\ \ \ \ \ \
| | | |/ / / /
| | |/| | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
1af23c4de2 macOS: Restore support for Mac OS X 10.4 (Tiger)
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6426
|
|\ \ \ \ \ \ \
| | |/ / / / /
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
1af23c4de2 macOS: Restore support for Mac OS X 10.4 (Tiger)
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6426
|
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Since commit 4aed96e230 (Apple: Set CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG
on non-macOS too, 2021-04-06, v3.20.1~5^2) we always enable support for
linking with `-rpath`. The intention of the change was to enable using
the flag on iOS, tvOS and watchOS by avoiding a Darwin-specific version
check. However, removing the check broke support for OS X 10.4 because
the flag is not supported on that version.
Restore a form of the check that disables the flag on OS X < 10.5 while
still allowing it for the other Apple platforms. Since no one is doing
iOS/tvOS/etc development on 10.4, this change should have no unintended
side effects.
Fixes: #22490
|
| | | | | | |
|