From 0f8603acc2f007e68a1c41a48919fd1acfc41c20 Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Mon, 17 Apr 2006 13:59:23 -0400 Subject: [PATCH] ENH: allow multiple files with the same name in different sub dirs test --- Tests/Complex/Executable/CMakeLists.txt | 3 ++- Tests/Complex/Executable/Sub1/NameConflictTest.c | 4 ++++ Tests/Complex/Executable/Sub2/NameConflictTest.c | 4 ++++ Tests/Complex/Executable/complex.cxx | 14 +++++++++++++- Tests/ComplexOneConfig/Executable/CMakeLists.txt | 3 ++- .../Executable/Sub1/NameConflictTest.c | 4 ++++ .../Executable/Sub2/NameConflictTest.c | 4 ++++ Tests/ComplexOneConfig/Executable/complex.cxx | 14 +++++++++++++- .../ComplexRelativePaths/Executable/CMakeLists.txt | 3 ++- .../Executable/Sub1/NameConflictTest.c | 4 ++++ .../Executable/Sub2/NameConflictTest.c | 4 ++++ Tests/ComplexRelativePaths/Executable/complex.cxx | 14 +++++++++++++- 12 files changed, 69 insertions(+), 6 deletions(-) create mode 100644 Tests/Complex/Executable/Sub1/NameConflictTest.c create mode 100644 Tests/Complex/Executable/Sub2/NameConflictTest.c create mode 100644 Tests/ComplexOneConfig/Executable/Sub1/NameConflictTest.c create mode 100644 Tests/ComplexOneConfig/Executable/Sub2/NameConflictTest.c create mode 100644 Tests/ComplexRelativePaths/Executable/Sub1/NameConflictTest.c create mode 100644 Tests/ComplexRelativePaths/Executable/Sub2/NameConflictTest.c diff --git a/Tests/Complex/Executable/CMakeLists.txt b/Tests/Complex/Executable/CMakeLists.txt index 78eb7a64d..e1a7b6b3f 100644 --- a/Tests/Complex/Executable/CMakeLists.txt +++ b/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) diff --git a/Tests/Complex/Executable/Sub1/NameConflictTest.c b/Tests/Complex/Executable/Sub1/NameConflictTest.c new file mode 100644 index 000000000..87203861f --- /dev/null +++ b/Tests/Complex/Executable/Sub1/NameConflictTest.c @@ -0,0 +1,4 @@ +int NameConflictTest1() +{ + return 0; +} diff --git a/Tests/Complex/Executable/Sub2/NameConflictTest.c b/Tests/Complex/Executable/Sub2/NameConflictTest.c new file mode 100644 index 000000000..4a3257255 --- /dev/null +++ b/Tests/Complex/Executable/Sub2/NameConflictTest.c @@ -0,0 +1,4 @@ +int NameConflictTest2() +{ + return 0; +} diff --git a/Tests/Complex/Executable/complex.cxx b/Tests/Complex/Executable/complex.cxx index 1f4c21aee..f126fe58e 100644 --- a/Tests/Complex/Executable/complex.cxx +++ b/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."); diff --git a/Tests/ComplexOneConfig/Executable/CMakeLists.txt b/Tests/ComplexOneConfig/Executable/CMakeLists.txt index 78eb7a64d..e1a7b6b3f 100644 --- a/Tests/ComplexOneConfig/Executable/CMakeLists.txt +++ b/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) diff --git a/Tests/ComplexOneConfig/Executable/Sub1/NameConflictTest.c b/Tests/ComplexOneConfig/Executable/Sub1/NameConflictTest.c new file mode 100644 index 000000000..87203861f --- /dev/null +++ b/Tests/ComplexOneConfig/Executable/Sub1/NameConflictTest.c @@ -0,0 +1,4 @@ +int NameConflictTest1() +{ + return 0; +} diff --git a/Tests/ComplexOneConfig/Executable/Sub2/NameConflictTest.c b/Tests/ComplexOneConfig/Executable/Sub2/NameConflictTest.c new file mode 100644 index 000000000..4a3257255 --- /dev/null +++ b/Tests/ComplexOneConfig/Executable/Sub2/NameConflictTest.c @@ -0,0 +1,4 @@ +int NameConflictTest2() +{ + return 0; +} diff --git a/Tests/ComplexOneConfig/Executable/complex.cxx b/Tests/ComplexOneConfig/Executable/complex.cxx index 1f4c21aee..f126fe58e 100644 --- a/Tests/ComplexOneConfig/Executable/complex.cxx +++ b/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."); diff --git a/Tests/ComplexRelativePaths/Executable/CMakeLists.txt b/Tests/ComplexRelativePaths/Executable/CMakeLists.txt index 78eb7a64d..e1a7b6b3f 100644 --- a/Tests/ComplexRelativePaths/Executable/CMakeLists.txt +++ b/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) diff --git a/Tests/ComplexRelativePaths/Executable/Sub1/NameConflictTest.c b/Tests/ComplexRelativePaths/Executable/Sub1/NameConflictTest.c new file mode 100644 index 000000000..87203861f --- /dev/null +++ b/Tests/ComplexRelativePaths/Executable/Sub1/NameConflictTest.c @@ -0,0 +1,4 @@ +int NameConflictTest1() +{ + return 0; +} diff --git a/Tests/ComplexRelativePaths/Executable/Sub2/NameConflictTest.c b/Tests/ComplexRelativePaths/Executable/Sub2/NameConflictTest.c new file mode 100644 index 000000000..4a3257255 --- /dev/null +++ b/Tests/ComplexRelativePaths/Executable/Sub2/NameConflictTest.c @@ -0,0 +1,4 @@ +int NameConflictTest2() +{ + return 0; +} diff --git a/Tests/ComplexRelativePaths/Executable/complex.cxx b/Tests/ComplexRelativePaths/Executable/complex.cxx index 1f4c21aee..f126fe58e 100644 --- a/Tests/ComplexRelativePaths/Executable/complex.cxx +++ b/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.");