5 set (ZERO_VAR_AND_INDENTED 0)
9 add_definitions(-DSHOULD_NOT_BE_DEFINED)
11 add_definitions(-DSHOULD_BE_DEFINED)
15 set(ONE_VAR_AND_INDENTED 1)
17 set(STRING_VAR "CMake is great" CACHE STRING "test a cache variable")
20 # Test VARIABLE_REQUIRES
22 variable_requires(ONE_VAR
23 ONE_VAR_IS_DEFINED ONE_VAR)
26 # Test various IF/ELSE combinations
29 add_definitions(-DSHOULD_BE_DEFINED_NOT)
31 add_definitions(-DSHOULD_NOT_BE_DEFINED_NOT)
35 add_definitions(-DSHOULD_NOT_BE_DEFINED_NOT2)
37 add_definitions(-DSHOULD_BE_DEFINED_NOT2)
40 if(ONE_VAR AND ONE_VAR2)
41 add_definitions(-DSHOULD_BE_DEFINED_AND)
43 add_definitions(-DSHOULD_NOT_BE_DEFINED_AND)
46 if(ONE_VAR AND ZERO_VAR)
47 add_definitions(-DSHOULD_NOT_BE_DEFINED_AND2)
49 add_definitions(-DSHOULD_BE_DEFINED_AND2)
52 if(ZERO_VAR OR ONE_VAR2)
53 add_definitions(-DSHOULD_BE_DEFINED_OR)
55 add_definitions(-DSHOULD_NOT_BE_DEFINED_OR)
58 if(ZERO_VAR OR ZERO_VAR2)
59 add_definitions(-DSHOULD_NOT_BE_DEFINED_OR2)
61 add_definitions(-DSHOULD_BE_DEFINED_OR2)
64 if(STRING_VAR MATCHES "^CMake")
65 add_definitions(-DSHOULD_BE_DEFINED_MATCHES)
67 add_definitions(-DSHOULD_NOT_BE_DEFINED_MATCHES)
70 if(STRING_VAR MATCHES "^foo")
71 add_definitions(-DSHOULD_NOT_BE_DEFINED_MATCHES2)
73 add_definitions(-DSHOULD_BE_DEFINED_MATCHES2)
77 add_definitions(-DSHOULD_BE_DEFINED_COMMAND)
79 add_definitions(-DSHOULD_NOT_BE_DEFINED_COMMAND)
82 if(COMMAND "ROQUEFORT")
83 add_definitions(-DSHOULD_NOT_BE_DEFINED_COMMAND2)
85 add_definitions(-DSHOULD_BE_DEFINED_COMMAND2)
88 if (EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake)
89 add_definitions(-DSHOULD_BE_DEFINED_EXISTS)
91 add_definitions(-DSHOULD_NOT_BE_DEFINED_EXISTS)
94 if (EXISTS ${Complex_SOURCE_DIR}/roquefort.txt)
95 add_definitions(-DSHOULD_NOT_BE_DEFINED_EXISTS2)
97 add_definitions(-DSHOULD_BE_DEFINED_EXISTS2)
100 if (IS_DIRECTORY ${Complex_SOURCE_DIR})
101 add_definitions(-DSHOULD_BE_DEFINED_IS_DIRECTORY)
104 if (NOT IS_DIRECTORY ${Complex_SOURCE_DIR}/VarTests.cmake)
105 add_definitions(-DSHOULD_BE_DEFINED_IS_DIRECTORY2)
113 if (SNUM1_VAR LESS SNUM2_VAR)
114 add_definitions(-DSHOULD_BE_DEFINED_LESS)
116 add_definitions(-DSHOULD_NOT_BE_DEFINED_LESS)
119 if (SNUM2_VAR LESS SNUM1_VAR)
120 add_definitions(-DSHOULD_NOT_BE_DEFINED_LESS2)
122 add_definitions(-DSHOULD_BE_DEFINED_LESS2)
125 if (SNUM2_VAR GREATER SNUM1_VAR)
126 add_definitions(-DSHOULD_BE_DEFINED_GREATER)
128 add_definitions(-DSHOULD_NOT_BE_DEFINED_GREATER)
131 if (SNUM1_VAR GREATER SNUM2_VAR)
132 add_definitions(-DSHOULD_NOT_BE_DEFINED_GREATER2)
134 add_definitions(-DSHOULD_BE_DEFINED_GREATER2)
137 if (SNUM2_VAR EQUAL SNUM1_VAR)
138 add_definitions(-DSHOULD_NOT_BE_DEFINED_EQUAL)
140 add_definitions(-DSHOULD_BE_DEFINED_EQUAL)
143 if (SNUM3_VAR EQUAL SNUM1_VAR)
144 add_definitions(-DSHOULD_BE_DEFINED_EQUAL)
146 add_definitions(-DSHOULD_NOT_BE_DEFINED_EQUAL)
149 if (SNUM1_VAR LESS_EQUAL SNUM2_VAR)
150 add_definitions(-DSHOULD_BE_DEFINED_LESS_EQUAL)
152 add_definitions(-DSHOULD_NOT_BE_DEFINED_LESS_EQUAL)
155 if (SNUM2_VAR LESS_EQUAL SNUM1_VAR)
156 add_definitions(-DSHOULD_NOT_BE_DEFINED_LESS_EQUAL2)
158 add_definitions(-DSHOULD_BE_DEFINED_LESS_EQUAL2)
161 if (SNUM1_VAR LESS_EQUAL SNUM3_VAR)
162 add_definitions(-DSHOULD_BE_DEFINED_LESS_EQUAL3)
164 add_definitions(-DSHOULD_NOT_BE_DEFINED_LESS_EQUAL3)
167 if (SNUM2_VAR GREATER_EQUAL SNUM1_VAR)
168 add_definitions(-DSHOULD_BE_DEFINED_GREATER_EQUAL)
170 add_definitions(-DSHOULD_NOT_BE_DEFINED_GREATER_EQUAL)
173 if (SNUM1_VAR GREATER_EQUAL SNUM2_VAR)
174 add_definitions(-DSHOULD_NOT_BE_DEFINED_GREATER_EQUAL2)
176 add_definitions(-DSHOULD_BE_DEFINED_GREATER_EQUAL2)
179 if (SNUM1_VAR GREATER_EQUAL SNUM3_VAR)
180 add_definitions(-DSHOULD_BE_DEFINED_GREATER_EQUAL3)
182 add_definitions(-DSHOULD_NOT_BE_DEFINED_GREATER_EQUAL3)
185 set (SSTR1_VAR "abc")
186 set (SSTR2_VAR "bcd")
188 if (SSTR1_VAR STRLESS SSTR2_VAR)
189 add_definitions(-DSHOULD_BE_DEFINED_STRLESS)
191 add_definitions(-DSHOULD_NOT_BE_DEFINED_STRLESS)
194 if (SSTR2_VAR STRLESS SSTR1_VAR)
195 add_definitions(-DSHOULD_NOT_BE_DEFINED_STRLESS2)
197 add_definitions(-DSHOULD_BE_DEFINED_STRLESS2)
200 if (SSTR2_VAR STRGREATER SSTR1_VAR)
201 add_definitions(-DSHOULD_BE_DEFINED_STRGREATER)
203 add_definitions(-DSHOULD_NOT_BE_DEFINED_STRGREATER)
206 if (SSTR1_VAR STRGREATER SSTR2_VAR)
207 add_definitions(-DSHOULD_NOT_BE_DEFINED_STRGREATER2)
209 add_definitions(-DSHOULD_BE_DEFINED_STRGREATER2)
212 if (SSTR1_VAR STRLESS_EQUAL SSTR2_VAR)
213 add_definitions(-DSHOULD_BE_DEFINED_STRLESS_EQUAL)
215 add_definitions(-DSHOULD_NOT_BE_DEFINED_STRLESS_EQUAL)
218 if (SSTR2_VAR STRLESS_EQUAL SSTR1_VAR)
219 add_definitions(-DSHOULD_NOT_BE_DEFINED_STRLESS_EQUAL2)
221 add_definitions(-DSHOULD_BE_DEFINED_STRLESS_EQUAL2)
224 if (SSTR1_VAR STRLESS_EQUAL SSTR1_VAR)
225 add_definitions(-DSHOULD_BE_DEFINED_STRLESS_EQUAL3)
227 add_definitions(-DSHOULD_NOT_BE_DEFINED_STRLESS_EQUAL3)
230 if (SSTR2_VAR STRGREATER_EQUAL SSTR1_VAR)
231 add_definitions(-DSHOULD_BE_DEFINED_STRGREATER_EQUAL)
233 add_definitions(-DSHOULD_NOT_BE_DEFINED_STRGREATER_EQUAL)
236 if (SSTR1_VAR STRGREATER_EQUAL SSTR2_VAR)
237 add_definitions(-DSHOULD_NOT_BE_DEFINED_STRGREATER_EQUAL2)
239 add_definitions(-DSHOULD_BE_DEFINED_STRGREATER_EQUAL2)
242 if (SSTR1_VAR STRGREATER_EQUAL SSTR1_VAR)
243 add_definitions(-DSHOULD_BE_DEFINED_STRGREATER_EQUAL3)
245 add_definitions(-DSHOULD_NOT_BE_DEFINED_STRGREATER_EQUAL3)
252 set(FOREACH_VAR${INDEX} "VALUE${INDEX}")
255 set(FOREACH_CONCAT "")
256 foreach (INDEX a;b;c;d;e;f;g)
257 string(APPEND FOREACH_CONCAT "${INDEX}")