aboutsummaryrefslogtreecommitdiff
path: root/tests/ECMGenerateHeadersTest/run_test.cmake.config
diff options
context:
space:
mode:
authorPatrick Spendrin <ps_ml@gmx.de>2015-08-20 21:46:20 +0200
committerPatrick Spendrin <ps_ml@gmx.de>2015-08-25 11:38:37 +0200
commit8ef3f474e3a6def47dce36b54fbdce2d98c79342 (patch)
tree46b9d6732226161254b598dec769c42519fdee26 /tests/ECMGenerateHeadersTest/run_test.cmake.config
parenta1e60b8e6386f3b674d31b6a5e76214cf98a2bd8 (diff)
downloadextra-cmake-modules-8ef3f474e3a6def47dce36b54fbdce2d98c79342.tar.gz
extra-cmake-modules-8ef3f474e3a6def47dce36b54fbdce2d98c79342.tar.bz2
add COMMON_HEADER option and multiple header functionalityv5.14.0-rc1v5.14.0
This adds a new keyword COMMON_HEADER which generates a new header containing all other headers. Also it is possible now to have multiple dummy headers per header file. It is assumed that the first header is the existing one. REVIEW: 124847
Diffstat (limited to 'tests/ECMGenerateHeadersTest/run_test.cmake.config')
-rw-r--r--tests/ECMGenerateHeadersTest/run_test.cmake.config65
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/ECMGenerateHeadersTest/run_test.cmake.config b/tests/ECMGenerateHeadersTest/run_test.cmake.config
index 1db623b7..a9027dbc 100644
--- a/tests/ECMGenerateHeadersTest/run_test.cmake.config
+++ b/tests/ECMGenerateHeadersTest/run_test.cmake.config
@@ -288,5 +288,70 @@ check_files(GENERATED ${expfiles}
check_files(GENERATED ${expfiles}
ORIGINALS ${intermediatefiles})
+###########################################################
+
+message(STATUS "Test 12: COMMON_HEADER")
+
+set(camelcase_headers)
+set(expfiles "${CMAKE_CURRENT_BINARY_DIR}/HeadTest1"
+ "${CMAKE_CURRENT_BINARY_DIR}/HeadTest2"
+ "${CMAKE_CURRENT_BINARY_DIR}/HeadTest4"
+ "${CMAKE_CURRENT_BINARY_DIR}/CommonHeader")
+set(origfiles headtest1.h headtest2.h)
+file(REMOVE ${expfiles})
+ecm_generate_headers(
+ camelcase_headers
+ ORIGINAL LOWERCASE
+ HEADER_NAMES HeadTest1 HeadTest2 HeadTest4
+ COMMON_HEADER CommonHeader
+)
+if (NOT "${expfiles}" STREQUAL "${camelcase_headers}")
+ message(FATAL_ERROR "camelcase_headers was set to \"${camelcase_headers}\" instead of \"${expfiles}\"")
+endif()
+check_files(GENERATED ${expfiles}
+ ORIGINALS ${origfiles})
+
+file(READ CommonHeader file_contents)
+string(STRIP "${file_contents}" file_contents)
+file(READ "${CMAKE_CURRENT_BINARY_DIR}/CommonHeader" exp_contents)
+string(STRIP "${exp_contents}" exp_contents)
+if (NOT "${file_contents}" STREQUAL "${exp_contents}")
+ message(FATAL_ERROR "${generated_file} contains '${file_contents}' instead of '${exp_contents}'")
+endif()
+
+
+###########################################################
+
+message(STATUS "Test 13: multiple classes and COMMON_HEADER")
+
+set(camelcase_headers)
+set(expfiles "${CMAKE_CURRENT_BINARY_DIR}/HeadTest1"
+ "${CMAKE_CURRENT_BINARY_DIR}/HeadTest2"
+ "${CMAKE_CURRENT_BINARY_DIR}/HeadTest2Add1"
+ "${CMAKE_CURRENT_BINARY_DIR}/HeadTest2Add2"
+ "${CMAKE_CURRENT_BINARY_DIR}/HeadTest4"
+ "${CMAKE_CURRENT_BINARY_DIR}/CommonHeader")
+set(origfiles headtest1.h headtest2.h headtest4.h)
+file(REMOVE ${expfiles})
+ecm_generate_headers(
+ camelcase_headers
+ ORIGINAL LOWERCASE
+ HEADER_NAMES HeadTest1 HeadTest2,HeadTest2Add1,HeadTest2Add2 HeadTest4
+ COMMON_HEADER CommonHeader
+)
+if (NOT "${expfiles}" STREQUAL "${camelcase_headers}")
+ message(FATAL_ERROR "camelcase_headers was set to \"${camelcase_headers}\" instead of \"${expfiles}\"")
+endif()
+check_files(GENERATED ${expfiles}
+ ORIGINALS ${origfiles})
+
+file(READ CommonHeader file_contents)
+string(STRIP "${file_contents}" file_contents)
+file(READ "${CMAKE_CURRENT_BINARY_DIR}/CommonHeader" exp_contents)
+string(STRIP "${exp_contents}" exp_contents)
+if (NOT "${file_contents}" STREQUAL "${exp_contents}")
+ message(FATAL_ERROR "${generated_file} contains '${file_contents}' instead of '${exp_contents}'")
+endif()
+
# vim:ft=cmake