equal
deleted
inserted
replaced
|
1 # Arg1: List of conditions to generate block for |
|
2 # Arg2: List of variables containing rules to add |
|
3 defineTest(addMMPRules) { |
|
4 unset(myConditions) |
|
5 unset(myVariables) |
|
6 unset(myIfDef) |
|
7 |
|
8 myConditions = $$eval($$1) default |
|
9 myVariables = $$eval($$2) |
|
10 myIfDef = if |
|
11 |
|
12 for(condition, $$list($$myConditions)) { |
|
13 contains(condition, default) { |
|
14 libBlock = "$${LITERAL_HASH}else" |
|
15 } else { |
|
16 libBlock = "$${LITERAL_HASH}$${myIfDef} defined($${condition})" |
|
17 myIfDef = elif |
|
18 } |
|
19 |
|
20 for(var, $$list($$myVariables)) { |
|
21 varVal = $$eval($${var}.$${condition}) |
|
22 isEmpty(varVal) { |
|
23 # No value defined for current condition, so use default |
|
24 varVal = $$eval($${var}.default) |
|
25 } |
|
26 !isEmpty(varVal): libBlock += "$$join(varVal,$$escape_expand(\n))" |
|
27 } |
|
28 |
|
29 MMP_RULES += $$libBlock |
|
30 } |
|
31 MMP_RULES += "$${LITERAL_HASH}endif" |
|
32 export(MMP_RULES) |
|
33 } |