aboutsummaryrefslogtreecommitdiff
path: root/tests/ECMGenerateHeadersTest
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ECMGenerateHeadersTest')
-rw-r--r--tests/ECMGenerateHeadersTest/CommonHeader4
-rw-r--r--tests/ECMGenerateHeadersTest/headtest4.h0
-rw-r--r--tests/ECMGenerateHeadersTest/run_test.cmake.config65
3 files changed, 69 insertions, 0 deletions
diff --git a/tests/ECMGenerateHeadersTest/CommonHeader b/tests/ECMGenerateHeadersTest/CommonHeader
new file mode 100644
index 00000000..0d101fbc
--- /dev/null
+++ b/tests/ECMGenerateHeadersTest/CommonHeader
@@ -0,0 +1,4 @@
+// convenience header
+#include "headtest1.h"
+#include "headtest2.h"
+#include "headtest4.h"
diff --git a/tests/ECMGenerateHeadersTest/headtest4.h b/tests/ECMGenerateHeadersTest/headtest4.h
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/ECMGenerateHeadersTest/headtest4.h
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