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