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