Browse Source

ENH: Adding test for source files and header files with the same base name in the same target.

Brad King 19 years ago
parent
commit
1973efbab2

+ 4 - 1
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();
 }

+ 4 - 0
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; }

+ 2 - 0
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"

+ 1 - 1
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)

+ 4 - 1
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();
 }

+ 4 - 0
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; }

+ 2 - 0
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"

+ 1 - 1
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)

+ 4 - 1
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();
 }

+ 4 - 0
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; }

+ 2 - 0
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"

+ 1 - 1
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)