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