Browse Source

ENH: allow multiple files with the same name in different sub dirs test

Bill Hoffman 19 years ago
parent
commit
0f8603acc2

+ 2 - 1
Tests/Complex/Executable/CMakeLists.txt

@@ -20,7 +20,8 @@ SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared
 LINK_LIBRARIES(${COMPLEX_LIBS})
 
 ADD_EXECUTABLE(A A.cxx)
-ADD_EXECUTABLE(complex complex testcflags.c)
+ADD_EXECUTABLE(complex complex testcflags.c 
+  Sub1/NameConflictTest.c Sub2/NameConflictTest.c)
 ADD_EXECUTABLE(complex.file complex.file.cxx)
 IF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
   TARGET_LINK_LIBRARIES(complex CMakeLib cmsys cmexpat cmzlib cmtar)

+ 4 - 0
Tests/Complex/Executable/Sub1/NameConflictTest.c

@@ -0,0 +1,4 @@
+int NameConflictTest1()
+{
+  return 0;
+}

+ 4 - 0
Tests/Complex/Executable/Sub2/NameConflictTest.c

@@ -0,0 +1,4 @@
+int NameConflictTest2()
+{
+  return 0;
+}

+ 13 - 1
Tests/Complex/Executable/complex.cxx

@@ -290,6 +290,11 @@ void ForceStringUse()
 extern "C" int TestCFlags(char* m);
 extern "C" int TestTargetCompileFlags(char* m);
 
+// defined in  Sub1/NameConflictTest.c
+extern "C" int NameConflictTest1();
+// defined in  Sub2/NameConflictTest.c
+extern "C" int NameConflictTest2();
+
 // ======================================================================
 
 int main()
@@ -395,7 +400,14 @@ int main()
     cmFailed("cmSystemTools::UpperCase is working");
     }    
 #endif
-  
+  if(NameConflictTest1() == 0 && NameConflictTest2() == 0)
+    {
+    cmPassed("Sub dir with same named source works");
+    }
+  else
+    {
+    cmFailed("Sub dir with same named source fails");
+    }
   if(file1() != 1)
     {
     cmFailed("Call to file1 function from library failed.");

+ 2 - 1
Tests/ComplexOneConfig/Executable/CMakeLists.txt

@@ -20,7 +20,8 @@ SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared
 LINK_LIBRARIES(${COMPLEX_LIBS})
 
 ADD_EXECUTABLE(A A.cxx)
-ADD_EXECUTABLE(complex complex testcflags.c)
+ADD_EXECUTABLE(complex complex testcflags.c 
+  Sub1/NameConflictTest.c Sub2/NameConflictTest.c)
 ADD_EXECUTABLE(complex.file complex.file.cxx)
 IF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
   TARGET_LINK_LIBRARIES(complex CMakeLib cmsys cmexpat cmzlib cmtar)

+ 4 - 0
Tests/ComplexOneConfig/Executable/Sub1/NameConflictTest.c

@@ -0,0 +1,4 @@
+int NameConflictTest1()
+{
+  return 0;
+}

+ 4 - 0
Tests/ComplexOneConfig/Executable/Sub2/NameConflictTest.c

@@ -0,0 +1,4 @@
+int NameConflictTest2()
+{
+  return 0;
+}

+ 13 - 1
Tests/ComplexOneConfig/Executable/complex.cxx

@@ -290,6 +290,11 @@ void ForceStringUse()
 extern "C" int TestCFlags(char* m);
 extern "C" int TestTargetCompileFlags(char* m);
 
+// defined in  Sub1/NameConflictTest.c
+extern "C" int NameConflictTest1();
+// defined in  Sub2/NameConflictTest.c
+extern "C" int NameConflictTest2();
+
 // ======================================================================
 
 int main()
@@ -395,7 +400,14 @@ int main()
     cmFailed("cmSystemTools::UpperCase is working");
     }    
 #endif
-  
+  if(NameConflictTest1() == 0 && NameConflictTest2() == 0)
+    {
+    cmPassed("Sub dir with same named source works");
+    }
+  else
+    {
+    cmFailed("Sub dir with same named source fails");
+    }
   if(file1() != 1)
     {
     cmFailed("Call to file1 function from library failed.");

+ 2 - 1
Tests/ComplexRelativePaths/Executable/CMakeLists.txt

@@ -20,7 +20,8 @@ SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared
 LINK_LIBRARIES(${COMPLEX_LIBS})
 
 ADD_EXECUTABLE(A A.cxx)
-ADD_EXECUTABLE(complex complex testcflags.c)
+ADD_EXECUTABLE(complex complex testcflags.c 
+  Sub1/NameConflictTest.c Sub2/NameConflictTest.c)
 ADD_EXECUTABLE(complex.file complex.file.cxx)
 IF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
   TARGET_LINK_LIBRARIES(complex CMakeLib cmsys cmexpat cmzlib cmtar)

+ 4 - 0
Tests/ComplexRelativePaths/Executable/Sub1/NameConflictTest.c

@@ -0,0 +1,4 @@
+int NameConflictTest1()
+{
+  return 0;
+}

+ 4 - 0
Tests/ComplexRelativePaths/Executable/Sub2/NameConflictTest.c

@@ -0,0 +1,4 @@
+int NameConflictTest2()
+{
+  return 0;
+}

+ 13 - 1
Tests/ComplexRelativePaths/Executable/complex.cxx

@@ -290,6 +290,11 @@ void ForceStringUse()
 extern "C" int TestCFlags(char* m);
 extern "C" int TestTargetCompileFlags(char* m);
 
+// defined in  Sub1/NameConflictTest.c
+extern "C" int NameConflictTest1();
+// defined in  Sub2/NameConflictTest.c
+extern "C" int NameConflictTest2();
+
 // ======================================================================
 
 int main()
@@ -395,7 +400,14 @@ int main()
     cmFailed("cmSystemTools::UpperCase is working");
     }    
 #endif
-  
+  if(NameConflictTest1() == 0 && NameConflictTest2() == 0)
+    {
+    cmPassed("Sub dir with same named source works");
+    }
+  else
+    {
+    cmFailed("Sub dir with same named source fails");
+    }
   if(file1() != 1)
     {
     cmFailed("Call to file1 function from library failed.");