qt5base-lts/util/cmake/tests/data/condition_operator_precedence.pro
Alexandru Croitor 2389aaf8c7 pro2cmake: Handle qmake condition operator precedence
Unfortunately qmake does not have operator precedence in conditions,
and each sub-expression is simply evaluated left to right.

So c1|c2:c3 is evaluated as (c1|c2):c3 and not c1|(c2:c3). To handle
that in pro2cmake, wrap each condition sub-expression in parentheses.

It's ugly, but there doesn't seem to be another way of handling it,
because SymPy uses Python operator precedence for condition operators,
and it's not possible to change the precendece.

Fixes: QTBUG-78929
Change-Id: I6ab767c4243e3f2d0fea1c36cd004409faba3a53
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-02-28 15:41:11 +01:00

12 lines
83 B
Prolog

a1|a2 {
DEFINES += d
}
b1|b2:b3 {
DEFINES += d
}
c1|c2:c3|c4 {
DEFINES += d
}