From 1973efbab2d101cd588399aa3dc1a7620a7e2f88 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 1 Aug 2006 10:49:15 -0400 Subject: [PATCH] ENH: Adding test for source files and header files with the same base name in the same target. --- Tests/Complex/Executable/A.cxx | 5 ++++- Tests/Complex/Executable/A.h | 4 ++++ Tests/Complex/Executable/A.hh | 2 ++ Tests/Complex/Executable/CMakeLists.txt | 2 +- Tests/ComplexOneConfig/Executable/A.cxx | 5 ++++- Tests/ComplexOneConfig/Executable/A.h | 4 ++++ Tests/ComplexOneConfig/Executable/A.hh | 2 ++ Tests/ComplexOneConfig/Executable/CMakeLists.txt | 2 +- Tests/ComplexRelativePaths/Executable/A.cxx | 5 ++++- Tests/ComplexRelativePaths/Executable/A.h | 4 ++++ Tests/ComplexRelativePaths/Executable/A.hh | 2 ++ Tests/ComplexRelativePaths/Executable/CMakeLists.txt | 2 +- 12 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 Tests/Complex/Executable/A.h create mode 100644 Tests/Complex/Executable/A.hh create mode 100644 Tests/ComplexOneConfig/Executable/A.h create mode 100644 Tests/ComplexOneConfig/Executable/A.hh create mode 100644 Tests/ComplexRelativePaths/Executable/A.h create mode 100644 Tests/ComplexRelativePaths/Executable/A.hh diff --git a/Tests/Complex/Executable/A.cxx b/Tests/Complex/Executable/A.cxx index 7f9831978..0cc995af0 100644 --- a/Tests/Complex/Executable/A.cxx +++ b/Tests/Complex/Executable/A.cxx @@ -1,4 +1,7 @@ +// Include code from a header that should not be compiled separately. +#include "A.hh" + int main() { - return 10; + return A(); } diff --git a/Tests/Complex/Executable/A.h b/Tests/Complex/Executable/A.h new file mode 100644 index 000000000..25c45fcbf --- /dev/null +++ b/Tests/Complex/Executable/A.h @@ -0,0 +1,4 @@ +// This header should not be compiled directly but through inclusion +// in A.cxx through A.hh. +extern int A(); +int A() { return 10; } diff --git a/Tests/Complex/Executable/A.hh b/Tests/Complex/Executable/A.hh new file mode 100644 index 000000000..e6bab022e --- /dev/null +++ b/Tests/Complex/Executable/A.hh @@ -0,0 +1,2 @@ +// This header should not be compiled directly but through inclusion in A.cxx +#include "A.h" diff --git a/Tests/Complex/Executable/CMakeLists.txt b/Tests/Complex/Executable/CMakeLists.txt index dae57753e..71fde7b6d 100644 --- a/Tests/Complex/Executable/CMakeLists.txt +++ b/Tests/Complex/Executable/CMakeLists.txt @@ -19,7 +19,7 @@ ENDIF(NOT CMAKE_TEST_DIFFERENT_GENERATOR) SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared) LINK_LIBRARIES(${COMPLEX_LIBS}) -ADD_EXECUTABLE(A A.cxx) +ADD_EXECUTABLE(A A.cxx A.hh A.h) ADD_EXECUTABLE(complex complex testcflags.c ) # Sub1/NameConflictTest.c Sub2/NameConflictTest.c) ADD_EXECUTABLE(complex.file complex.file.cxx) diff --git a/Tests/ComplexOneConfig/Executable/A.cxx b/Tests/ComplexOneConfig/Executable/A.cxx index 7f9831978..0cc995af0 100644 --- a/Tests/ComplexOneConfig/Executable/A.cxx +++ b/Tests/ComplexOneConfig/Executable/A.cxx @@ -1,4 +1,7 @@ +// Include code from a header that should not be compiled separately. +#include "A.hh" + int main() { - return 10; + return A(); } diff --git a/Tests/ComplexOneConfig/Executable/A.h b/Tests/ComplexOneConfig/Executable/A.h new file mode 100644 index 000000000..25c45fcbf --- /dev/null +++ b/Tests/ComplexOneConfig/Executable/A.h @@ -0,0 +1,4 @@ +// This header should not be compiled directly but through inclusion +// in A.cxx through A.hh. +extern int A(); +int A() { return 10; } diff --git a/Tests/ComplexOneConfig/Executable/A.hh b/Tests/ComplexOneConfig/Executable/A.hh new file mode 100644 index 000000000..e6bab022e --- /dev/null +++ b/Tests/ComplexOneConfig/Executable/A.hh @@ -0,0 +1,2 @@ +// This header should not be compiled directly but through inclusion in A.cxx +#include "A.h" diff --git a/Tests/ComplexOneConfig/Executable/CMakeLists.txt b/Tests/ComplexOneConfig/Executable/CMakeLists.txt index dae57753e..71fde7b6d 100644 --- a/Tests/ComplexOneConfig/Executable/CMakeLists.txt +++ b/Tests/ComplexOneConfig/Executable/CMakeLists.txt @@ -19,7 +19,7 @@ ENDIF(NOT CMAKE_TEST_DIFFERENT_GENERATOR) SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared) LINK_LIBRARIES(${COMPLEX_LIBS}) -ADD_EXECUTABLE(A A.cxx) +ADD_EXECUTABLE(A A.cxx A.hh A.h) ADD_EXECUTABLE(complex complex testcflags.c ) # Sub1/NameConflictTest.c Sub2/NameConflictTest.c) ADD_EXECUTABLE(complex.file complex.file.cxx) diff --git a/Tests/ComplexRelativePaths/Executable/A.cxx b/Tests/ComplexRelativePaths/Executable/A.cxx index 7f9831978..0cc995af0 100644 --- a/Tests/ComplexRelativePaths/Executable/A.cxx +++ b/Tests/ComplexRelativePaths/Executable/A.cxx @@ -1,4 +1,7 @@ +// Include code from a header that should not be compiled separately. +#include "A.hh" + int main() { - return 10; + return A(); } diff --git a/Tests/ComplexRelativePaths/Executable/A.h b/Tests/ComplexRelativePaths/Executable/A.h new file mode 100644 index 000000000..25c45fcbf --- /dev/null +++ b/Tests/ComplexRelativePaths/Executable/A.h @@ -0,0 +1,4 @@ +// This header should not be compiled directly but through inclusion +// in A.cxx through A.hh. +extern int A(); +int A() { return 10; } diff --git a/Tests/ComplexRelativePaths/Executable/A.hh b/Tests/ComplexRelativePaths/Executable/A.hh new file mode 100644 index 000000000..e6bab022e --- /dev/null +++ b/Tests/ComplexRelativePaths/Executable/A.hh @@ -0,0 +1,2 @@ +// This header should not be compiled directly but through inclusion in A.cxx +#include "A.h" diff --git a/Tests/ComplexRelativePaths/Executable/CMakeLists.txt b/Tests/ComplexRelativePaths/Executable/CMakeLists.txt index dae57753e..71fde7b6d 100644 --- a/Tests/ComplexRelativePaths/Executable/CMakeLists.txt +++ b/Tests/ComplexRelativePaths/Executable/CMakeLists.txt @@ -19,7 +19,7 @@ ENDIF(NOT CMAKE_TEST_DIFFERENT_GENERATOR) SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared) LINK_LIBRARIES(${COMPLEX_LIBS}) -ADD_EXECUTABLE(A A.cxx) +ADD_EXECUTABLE(A A.cxx A.hh A.h) ADD_EXECUTABLE(complex complex testcflags.c ) # Sub1/NameConflictTest.c Sub2/NameConflictTest.c) ADD_EXECUTABLE(complex.file complex.file.cxx)