Warning, /frameworks/extra-cmake-modules/tests/ECMGenerateHeadersTest/run_test.cmake.config is written in an unsupported language. File is not indexed.
0001 set(CMAKE_MODULE_PATH "@MODULES_DIR@") 0002 set(CMAKE_CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@") 0003 set(CMAKE_CURRENT_BINARY_DIR "@CMAKE_CURRENT_BINARY_DIR@") 0004 0005 include(ECMGenerateHeaders) 0006 0007 function (check_files) 0008 set(options) 0009 set(oneValueArgs GENERATED ORIGINALS) 0010 set(multiValueArgs) 0011 cmake_parse_arguments(CF "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) 0012 list(LENGTH CF_GENERATED count) 0013 math(EXPR last "${count}-1") 0014 foreach(i RANGE ${last}) 0015 list(GET CF_GENERATED ${i} generated_file) 0016 list(GET CF_ORIGINALS ${i} original_file) 0017 if (NOT EXISTS "${generated_file}") 0018 message(FATAL_ERROR "${generated_file} was not generated") 0019 endif() 0020 file(READ "${generated_file}" file_contents) 0021 string(STRIP "${file_contents}" file_contents) 0022 set (exp_contents "#include \"${original_file}\"") 0023 if (NOT "${file_contents}" STREQUAL "${exp_contents}") 0024 message(FATAL_ERROR "${generated_file} contains '${file_contents}' instead of '${exp_contents}'") 0025 endif() 0026 endforeach() 0027 endfunction() 0028 0029 ########################################################### 0030 0031 message(STATUS "Test 1: no optional arguments") 0032 set(camelcase_headers) 0033 set(expfiles "${CMAKE_CURRENT_BINARY_DIR}/HeadTest1" 0034 "${CMAKE_CURRENT_BINARY_DIR}/HeadTest2") 0035 set(origfiles headtest1.h headtest2.h) 0036 file(REMOVE ${expfiles}) 0037 ecm_generate_headers( 0038 camelcase_headers 0039 HEADER_NAMES HeadTest1 HeadTest2 0040 ) 0041 if (NOT "${expfiles}" STREQUAL "${camelcase_headers}") 0042 message(FATAL_ERROR "camelcase_headers was set to \"${camelcase_headers}\" instead of \"${expfiles}\"") 0043 endif() 0044 check_files(GENERATED ${expfiles} 0045 ORIGINALS ${origfiles}) 0046 0047 0048 ########################################################### 0049 0050 message(STATUS "Test 2: RELATIVE") 0051 set(camelcase_headers) 0052 set(expfiles "${CMAKE_CURRENT_BINARY_DIR}/HeadTest2" 0053 "${CMAKE_CURRENT_BINARY_DIR}/HeadTest3") 0054 set(origfiles headtest2.h headtest3.h) 0055 file(REMOVE ${expfiles}) 0056 ecm_generate_headers( 0057 camelcase_headers 0058 HEADER_NAMES HeadTest2 HeadTest3 0059 RELATIVE headsubdir 0060 ) 0061 if (NOT "${expfiles}" STREQUAL "${camelcase_headers}") 0062 message(FATAL_ERROR "camelcase_headers was set to \"${camelcase_headers}\" instead of \"${expfiles}\"") 0063 endif() 0064 check_files(GENERATED ${expfiles} 0065 ORIGINALS ${origfiles}) 0066 0067 0068 ########################################################### 0069 0070 message(STATUS "Test 3: OUTPUT_DIR") 0071 set(camelcase_headers) 0072 set(expfiles "${CMAKE_CURRENT_BINARY_DIR}/testdir/HeadTest1" 0073 "${CMAKE_CURRENT_BINARY_DIR}/testdir/HeadTest2") 0074 set(origfiles headtest1.h headtest2.h) 0075 file(REMOVE ${expfiles}) 0076 ecm_generate_headers( 0077 camelcase_headers 0078 HEADER_NAMES HeadTest1 HeadTest2 0079 OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/testdir" 0080 ) 0081 if (NOT "${expfiles}" STREQUAL "${camelcase_headers}") 0082 message(FATAL_ERROR "camelcase_headers was set to \"${camelcase_headers}\" instead of \"${expfiles}\"") 0083 endif() 0084 check_files(GENERATED ${expfiles} 0085 ORIGINALS ${origfiles}) 0086 0087 0088 ########################################################### 0089 0090 message(STATUS "Test 4: PREFIX") 0091 set(camelcase_headers) 0092 set(expfiles "${CMAKE_CURRENT_BINARY_DIR}/Module/HeadTest1" 0093 "${CMAKE_CURRENT_BINARY_DIR}/Module/HeadTest2") 0094 set(intermediatefiles module/headtest1.h module/headtest2.h) 0095 set(origfiles "${CMAKE_CURRENT_SOURCE_DIR}/headtest1.h" 0096 "${CMAKE_CURRENT_SOURCE_DIR}/headtest2.h") 0097 file(REMOVE ${expfiles} ${intermediatefiles}) 0098 ecm_generate_headers( 0099 camelcase_headers 0100 HEADER_NAMES HeadTest1 HeadTest2 0101 PREFIX Module 0102 ) 0103 if (NOT "${expfiles}" STREQUAL "${camelcase_headers}") 0104 message(FATAL_ERROR "camelcase_headers was set to \"${camelcase_headers}\" instead of \"${expfiles}\"") 0105 endif() 0106 check_files(GENERATED ${expfiles} 0107 ORIGINALS ${intermediatefiles}) 0108 check_files(GENERATED ${expfiles} 0109 ORIGINALS ${intermediatefiles}) 0110 0111 0112 ########################################################### 0113 0114 message(STATUS "Test 5: REQUIRED_HEADERS") 0115 set(camelcase_headers) 0116 set(req_headers) 0117 set(expfiles "${CMAKE_CURRENT_BINARY_DIR}/HeadTest1" 0118 "${CMAKE_CURRENT_BINARY_DIR}/HeadTest2") 0119 set(origfiles headtest1.h headtest2.h) 0120 set(origpaths "${CMAKE_CURRENT_SOURCE_DIR}/headtest1.h" 0121 "${CMAKE_CURRENT_SOURCE_DIR}/headtest2.h") 0122 file(REMOVE ${expfiles}) 0123 ecm_generate_headers( 0124 camelcase_headers 0125 HEADER_NAMES HeadTest1 HeadTest2 0126 REQUIRED_HEADERS req_headers 0127 ) 0128 if (NOT "${origpaths}" STREQUAL "${req_headers}") 0129 message(FATAL_ERROR "REQUIRED_HEADERS var was set to \"${req_headers}\" instead of \"${origpaths}\"") 0130 endif() 0131 if (NOT "${expfiles}" STREQUAL "${camelcase_headers}") 0132 message(FATAL_ERROR "camelcase_headers was set to \"${camelcase_headers}\" instead of \"${expfiles}\"") 0133 endif() 0134 check_files(GENERATED ${expfiles} 0135 ORIGINALS ${origfiles}) 0136 0137 0138 ########################################################### 0139 0140 message(STATUS "Test 6: RELATIVE and REQUIRED_HEADERS") 0141 set(camelcase_headers) 0142 set(req_headers) 0143 set(expfiles "${CMAKE_CURRENT_BINARY_DIR}/HeadTest2" 0144 "${CMAKE_CURRENT_BINARY_DIR}/HeadTest3") 0145 set(origfiles headtest2.h headtest3.h) 0146 set(origpaths "${CMAKE_CURRENT_SOURCE_DIR}/headsubdir/headtest2.h" 0147 "${CMAKE_CURRENT_SOURCE_DIR}/headsubdir/headtest3.h") 0148 file(REMOVE ${expfiles}) 0149 ecm_generate_headers( 0150 camelcase_headers 0151 HEADER_NAMES HeadTest2 HeadTest3 0152 RELATIVE headsubdir 0153 REQUIRED_HEADERS req_headers 0154 ) 0155 if (NOT "${origpaths}" STREQUAL "${req_headers}") 0156 message(FATAL_ERROR "REQUIRED_HEADERS var was set to \"${req_headers}\" instead of \"${origpaths}\"") 0157 endif() 0158 if (NOT "${expfiles}" STREQUAL "${camelcase_headers}") 0159 message(FATAL_ERROR "camelcase_headers was set to \"${camelcase_headers}\" instead of \"${expfiles}\"") 0160 endif() 0161 check_files(GENERATED ${expfiles} 0162 ORIGINALS ${origfiles}) 0163 0164 0165 ########################################################### 0166 0167 message(STATUS "Test 7: OUTPUT_DIR and REQUIRED_HEADERS") 0168 set(camelcase_headers) 0169 set(req_headers) 0170 set(expfiles "${CMAKE_CURRENT_BINARY_DIR}/testdir/HeadTest1" 0171 "${CMAKE_CURRENT_BINARY_DIR}/testdir/HeadTest2") 0172 set(origfiles headtest1.h headtest2.h) 0173 set(origpaths "${CMAKE_CURRENT_SOURCE_DIR}/headtest1.h" 0174 "${CMAKE_CURRENT_SOURCE_DIR}/headtest2.h") 0175 file(REMOVE ${expfiles}) 0176 ecm_generate_headers( 0177 camelcase_headers 0178 HEADER_NAMES HeadTest1 HeadTest2 0179 OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/testdir" 0180 REQUIRED_HEADERS req_headers 0181 ) 0182 if (NOT "${origpaths}" STREQUAL "${req_headers}") 0183 message(FATAL_ERROR "REQUIRED_HEADERS var was set to \"${req_headers}\" instead of \"${origpaths}\"") 0184 endif() 0185 if (NOT "${expfiles}" STREQUAL "${camelcase_headers}") 0186 message(FATAL_ERROR "camelcase_headers was set to \"${camelcase_headers}\" instead of \"${expfiles}\"") 0187 endif() 0188 check_files(GENERATED ${expfiles} 0189 ORIGINALS ${origfiles}) 0190 0191 0192 ########################################################### 0193 0194 message(STATUS "Test 8: PREFIX and REQUIRED_HEADERS") 0195 set(camelcase_headers) 0196 set(req_headers) 0197 set(expfiles "${CMAKE_CURRENT_BINARY_DIR}/Module/HeadTest1" 0198 "${CMAKE_CURRENT_BINARY_DIR}/Module/HeadTest2") 0199 set(intermediatefiles module/headtest1.h module/headtest2.h) 0200 set(origfiles "${CMAKE_CURRENT_SOURCE_DIR}/headtest1.h" 0201 "${CMAKE_CURRENT_SOURCE_DIR}/headtest2.h") 0202 set(origpaths ${origfiles}) 0203 file(REMOVE ${expfiles} ${intermediatefiles}) 0204 ecm_generate_headers( 0205 camelcase_headers 0206 HEADER_NAMES HeadTest1 HeadTest2 0207 PREFIX Module 0208 REQUIRED_HEADERS req_headers 0209 ) 0210 if (NOT "${origpaths}" STREQUAL "${req_headers}") 0211 message(FATAL_ERROR "REQUIRED_HEADERS var was set to \"${req_headers}\" instead of \"${origpaths}\"") 0212 endif() 0213 if (NOT "${expfiles}" STREQUAL "${camelcase_headers}") 0214 message(FATAL_ERROR "camelcase_headers was set to \"${camelcase_headers}\" instead of \"${expfiles}\"") 0215 endif() 0216 check_files(GENERATED ${expfiles} 0217 ORIGINALS ${intermediatefiles}) 0218 check_files(GENERATED ${expfiles} 0219 ORIGINALS ${intermediatefiles}) 0220 0221 0222 ########################################################### 0223 0224 message(STATUS "Test 9: REQUIRED_HEADERS (duplicate var)") 0225 set(all_headers) 0226 set(expfiles "${CMAKE_CURRENT_BINARY_DIR}/HeadTest1" 0227 "${CMAKE_CURRENT_BINARY_DIR}/HeadTest2") 0228 set(origfiles headtest1.h headtest2.h) 0229 set(origpaths "${CMAKE_CURRENT_SOURCE_DIR}/headtest1.h" 0230 "${CMAKE_CURRENT_SOURCE_DIR}/headtest2.h") 0231 file(REMOVE ${expfiles}) 0232 ecm_generate_headers( 0233 all_headers 0234 HEADER_NAMES HeadTest1 HeadTest2 0235 REQUIRED_HEADERS all_headers 0236 ) 0237 list(SORT all_headers) 0238 set(exp_headers ${expfiles} ${origpaths}) 0239 list(SORT exp_headers) 0240 if (NOT "${exp_headers}" STREQUAL "${all_headers}") 0241 message(FATAL_ERROR "combined headers var was set to \"${all_headers}\" instead of \"${exp_headers}\"") 0242 endif() 0243 check_files(GENERATED ${expfiles} 0244 ORIGINALS ${origfiles}) 0245 0246 0247 ########################################################### 0248 0249 message(STATUS "Test 10: ORIGINAL CAMELCASE") 0250 set(forward_headers) 0251 set(expfiles "${CMAKE_CURRENT_BINARY_DIR}/CamelCaseHeadTest1" 0252 "${CMAKE_CURRENT_BINARY_DIR}/CamelCaseHeadTest2") 0253 set(origfiles CamelCaseHeadTest1.h CamelCaseHeadTest2.h) 0254 file(REMOVE ${expfiles}) 0255 ecm_generate_headers( 0256 forward_headers 0257 ORIGINAL CAMELCASE 0258 HEADER_NAMES CamelCaseHeadTest1 CamelCaseHeadTest2 0259 ) 0260 if (NOT "${expfiles}" STREQUAL "${forward_headers}") 0261 message(FATAL_ERROR "forward_headers was set to \"${forward_headers}\" instead of \"${expfiles}\"") 0262 endif() 0263 check_files(GENERATED ${expfiles} 0264 ORIGINALS ${origfiles}) 0265 0266 0267 ########################################################### 0268 0269 message(STATUS "Test 11: PREFIX and ORIGINAL CAMELCASE") 0270 set(forward_headers) 0271 set(expfiles "${CMAKE_CURRENT_BINARY_DIR}/Module/CamelCaseHeadTest1" 0272 "${CMAKE_CURRENT_BINARY_DIR}/Module/CamelCaseHeadTest2") 0273 set(intermediatefiles Module/CamelCaseHeadTest1.h Module/CamelCaseHeadTest2.h) 0274 set(origfiles "${CMAKE_CURRENT_SOURCE_DIR}/headtest1.h" 0275 "${CMAKE_CURRENT_SOURCE_DIR}/headtest2.h") 0276 file(REMOVE ${expfiles} ${intermediatefiles}) 0277 ecm_generate_headers( 0278 forward_headers 0279 ORIGINAL CAMELCASE 0280 HEADER_NAMES CamelCaseHeadTest1 CamelCaseHeadTest2 0281 PREFIX Module 0282 ) 0283 if (NOT "${expfiles}" STREQUAL "${forward_headers}") 0284 message(FATAL_ERROR "forward_headers was set to \"${forward_headers}\" instead of \"${expfiles}\"") 0285 endif() 0286 check_files(GENERATED ${expfiles} 0287 ORIGINALS ${intermediatefiles}) 0288 check_files(GENERATED ${expfiles} 0289 ORIGINALS ${intermediatefiles}) 0290 0291 ########################################################### 0292 0293 message(STATUS "Test 12: COMMON_HEADER") 0294 0295 set(camelcase_headers) 0296 set(expfiles "${CMAKE_CURRENT_BINARY_DIR}/HeadTest1" 0297 "${CMAKE_CURRENT_BINARY_DIR}/HeadTest2" 0298 "${CMAKE_CURRENT_BINARY_DIR}/HeadTest4" 0299 "${CMAKE_CURRENT_BINARY_DIR}/CommonHeader") 0300 set(origfiles headtest1.h headtest2.h) 0301 file(REMOVE ${expfiles}) 0302 ecm_generate_headers( 0303 camelcase_headers 0304 ORIGINAL LOWERCASE 0305 HEADER_NAMES HeadTest1 HeadTest2 HeadTest4 0306 COMMON_HEADER CommonHeader 0307 ) 0308 if (NOT "${expfiles}" STREQUAL "${camelcase_headers}") 0309 message(FATAL_ERROR "camelcase_headers was set to \"${camelcase_headers}\" instead of \"${expfiles}\"") 0310 endif() 0311 check_files(GENERATED ${expfiles} 0312 ORIGINALS ${origfiles}) 0313 0314 file(READ CommonHeader file_contents) 0315 string(STRIP "${file_contents}" file_contents) 0316 file(READ "${CMAKE_CURRENT_BINARY_DIR}/CommonHeader" exp_contents) 0317 string(STRIP "${exp_contents}" exp_contents) 0318 if (NOT "${file_contents}" STREQUAL "${exp_contents}") 0319 message(FATAL_ERROR "${generated_file} contains '${file_contents}' instead of '${exp_contents}'") 0320 endif() 0321 0322 0323 ########################################################### 0324 0325 message(STATUS "Test 13: multiple classes and COMMON_HEADER") 0326 0327 set(camelcase_headers) 0328 set(expfiles "${CMAKE_CURRENT_BINARY_DIR}/HeadTest1" 0329 "${CMAKE_CURRENT_BINARY_DIR}/HeadTest2" 0330 "${CMAKE_CURRENT_BINARY_DIR}/HeadTest2Add1" 0331 "${CMAKE_CURRENT_BINARY_DIR}/HeadTest2Add2" 0332 "${CMAKE_CURRENT_BINARY_DIR}/HeadTest4" 0333 "${CMAKE_CURRENT_BINARY_DIR}/CommonHeader") 0334 set(origfiles headtest1.h headtest2.h headtest4.h) 0335 file(REMOVE ${expfiles}) 0336 ecm_generate_headers( 0337 camelcase_headers 0338 ORIGINAL LOWERCASE 0339 HEADER_NAMES HeadTest1 HeadTest2,HeadTest2Add1,HeadTest2Add2 HeadTest4 0340 COMMON_HEADER CommonHeader 0341 ) 0342 if (NOT "${expfiles}" STREQUAL "${camelcase_headers}") 0343 message(FATAL_ERROR "camelcase_headers was set to \"${camelcase_headers}\" instead of \"${expfiles}\"") 0344 endif() 0345 check_files(GENERATED ${expfiles} 0346 ORIGINALS ${origfiles}) 0347 0348 file(READ CommonHeader file_contents) 0349 string(STRIP "${file_contents}" file_contents) 0350 file(READ "${CMAKE_CURRENT_BINARY_DIR}/CommonHeader" exp_contents) 0351 string(STRIP "${exp_contents}" exp_contents) 0352 if (NOT "${file_contents}" STREQUAL "${exp_contents}") 0353 message(FATAL_ERROR "${generated_file} contains '${file_contents}' instead of '${exp_contents}'") 0354 endif() 0355 0356 0357 ########################################################### 0358 0359 message(STATUS "Test 14: HEADER_EXTENSION") 0360 set(camelcase_headers) 0361 set(expfiles "${CMAKE_CURRENT_BINARY_DIR}/HeadTest1" 0362 "${CMAKE_CURRENT_BINARY_DIR}/HeadTest2") 0363 set(origfiles headtest1.hpp headtest2.hpp) 0364 file(REMOVE ${expfiles}) 0365 ecm_generate_headers( 0366 camelcase_headers 0367 HEADER_NAMES HeadTest1 HeadTest2 0368 HEADER_EXTENSION hpp 0369 ) 0370 if (NOT "${expfiles}" STREQUAL "${camelcase_headers}") 0371 message(FATAL_ERROR "camelcase_headers was set to \"${camelcase_headers}\" instead of \"${expfiles}\"") 0372 endif() 0373 check_files(GENERATED ${expfiles} 0374 ORIGINALS ${origfiles}) 0375 0376 0377 # vim:ft=cmake