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