diff --git a/Tests/SubDirSpaces/Another Subdir/pair+int.int.c b/Tests/SubDirSpaces/Another Subdir/pair+int.int.c new file mode 100644 index 000000000..b7a623781 --- /dev/null +++ b/Tests/SubDirSpaces/Another Subdir/pair+int.int.c @@ -0,0 +1,6 @@ +#include + +void pair_stuff() +{ + printf("Placeholder for a strange file in subdirectory\n"); +} diff --git a/Tests/SubDirSpaces/Another Subdir/pair_int.int.c b/Tests/SubDirSpaces/Another Subdir/pair_int.int.c new file mode 100644 index 000000000..b7a623781 --- /dev/null +++ b/Tests/SubDirSpaces/Another Subdir/pair_int.int.c @@ -0,0 +1,6 @@ +#include + +void pair_stuff() +{ + printf("Placeholder for a strange file in subdirectory\n"); +} diff --git a/Tests/SubDirSpaces/Another Subdir/secondone.c b/Tests/SubDirSpaces/Another Subdir/secondone.c new file mode 100644 index 000000000..3e9e5afe6 --- /dev/null +++ b/Tests/SubDirSpaces/Another Subdir/secondone.c @@ -0,0 +1,6 @@ +#include + +void secondone() +{ + printf("Hello again\n"); +} diff --git a/Tests/SubDirSpaces/Another Subdir/testfromsubdir.c b/Tests/SubDirSpaces/Another Subdir/testfromsubdir.c new file mode 100644 index 000000000..34b6e7a88 --- /dev/null +++ b/Tests/SubDirSpaces/Another Subdir/testfromsubdir.c @@ -0,0 +1,14 @@ +#include + +void secondone(); +void pair_stuff(); +void vcl_stuff(); + +int main() +{ + printf("Hello from subdirectory\n"); + secondone(); + pair_stuff(); + vcl_stuff(); + return 0; +} diff --git a/Tests/SubDirSpaces/CMakeLists.txt b/Tests/SubDirSpaces/CMakeLists.txt new file mode 100644 index 000000000..84474a8ef --- /dev/null +++ b/Tests/SubDirSpaces/CMakeLists.txt @@ -0,0 +1,43 @@ +PROJECT(SUBDIR) +SUBDIRS(Executable EXCLUDE_FROM_ALL "Some Examples") +WRITE_FILE(${SUBDIR_BINARY_DIR}/ShouldBeHere "This file should exist.") +#WATCOM WMAKE does not support + in the name of a file! +IF(WATCOM) + SET(PLUS_NAME_FILES + "Another Subdir/pair_int.int.c" + vcl_algorithm_vcl_pair_double.foo.c) +ELSE(WATCOM) + SET(PLUS_NAME_FILES + "Another Subdir/pair+int.int.c" + vcl_algorithm+vcl_pair+double.foo.c) +ENDIF(WATCOM) + +ADD_EXECUTABLE(TestFromSubdir + "Another Subdir/testfromsubdir.c" + "Another Subdir/secondone" + ${PLUS_NAME_FILES} + ) + +AUX_SOURCE_DIRECTORY(ThirdSubDir SOURCES) +IF(WATCOM) + FOREACH(f ${SOURCES}) + IF("${f}" STREQUAL "ThirdSubDir/pair+int.int1.c") + ELSE("${f}" STREQUAL "ThirdSubDir/pair+int.int1.c") + SET(SOURCES2 ${f} ${SOURCES2}) + ENDIF("${f}" STREQUAL "ThirdSubDir/pair+int.int1.c") + ENDFOREACH(f) + SET(SOURCES ${SOURCES2}) + SET(SOURCES ${SOURCES} + vcl_algorithm_vcl_pair_double.foo.c) +ELSE(WATCOM) + FOREACH(f ${SOURCES}) + IF("${f}" STREQUAL "ThirdSubDir/pair_int.int1.c") + ELSE("${f}" STREQUAL "ThirdSubDir/pair_int.int1.c") + SET(SOURCES2 ${f} ${SOURCES2}) + ENDIF("${f}" STREQUAL "ThirdSubDir/pair_int.int1.c") + ENDFOREACH(f) + SET(SOURCES ${SOURCES2}) + SET(SOURCES ${SOURCES} + vcl_algorithm+vcl_pair+double.foo.c) +ENDIF(WATCOM) +ADD_EXECUTABLE(TestWithAuxSourceDir ${SOURCES}) diff --git a/Tests/SubDirSpaces/Executable/CMakeLists.txt b/Tests/SubDirSpaces/Executable/CMakeLists.txt new file mode 100644 index 000000000..d679168d8 --- /dev/null +++ b/Tests/SubDirSpaces/Executable/CMakeLists.txt @@ -0,0 +1 @@ +ADD_EXECUTABLE(test test.cxx) diff --git a/Tests/SubDirSpaces/Executable/test.cxx b/Tests/SubDirSpaces/Executable/test.cxx new file mode 100644 index 000000000..c528fb166 --- /dev/null +++ b/Tests/SubDirSpaces/Executable/test.cxx @@ -0,0 +1,49 @@ +#include +#include +#ifdef _WIN32 +#include +#else +#include +#endif + +// return true if the file exists +int FileExists(const char* filename) +{ +#ifdef _MSC_VER +# define access _access +#endif +#ifndef F_OK +#define F_OK 0 +#endif + if ( access(filename, F_OK) != 0 ) + { + return false; + } + else + { + return true; + } +} + + +int main(int ac, char** av) +{ + if(ac <= 1) + { + printf("Usage: %s \n", av[0]); + return 1; + } + if(!FileExists(av[1])) + { + printf("Missing file %s\n", av[1]); + return 1; + } + if(FileExists(av[2])) + { + printf("File %s should be in subdirectory\n", av[2]); + return 1; + } + printf("%s is not there! Good.", av[2]); + printf("%s is there! Good.", av[1]); + return 0; +} diff --git a/Tests/SubDirSpaces/Some Examples/CMakeLists.txt b/Tests/SubDirSpaces/Some Examples/CMakeLists.txt new file mode 100644 index 000000000..44f2ad236 --- /dev/null +++ b/Tests/SubDirSpaces/Some Examples/CMakeLists.txt @@ -0,0 +1,2 @@ +PROJECT(Examples) +SUBDIRS(example1 example2) diff --git a/Tests/SubDirSpaces/Some Examples/example1/CMakeLists.txt b/Tests/SubDirSpaces/Some Examples/example1/CMakeLists.txt new file mode 100644 index 000000000..e465899d5 --- /dev/null +++ b/Tests/SubDirSpaces/Some Examples/example1/CMakeLists.txt @@ -0,0 +1,6 @@ +PROJECT(example1) +ADD_EXECUTABLE(example1 example1.cxx) + +ADD_CUSTOM_COMMAND(TARGET example1 POST_BUILD + COMMAND "${CMAKE_COMMAND}" ARGS -E remove ${SUBDIR_BINARY_DIR}/ShouldBeHere + COMMENT "Remove marker file that should exist because this should not be run") diff --git a/Tests/SubDirSpaces/Some Examples/example1/example1.cxx b/Tests/SubDirSpaces/Some Examples/example1/example1.cxx new file mode 100644 index 000000000..3c4819415 --- /dev/null +++ b/Tests/SubDirSpaces/Some Examples/example1/example1.cxx @@ -0,0 +1,7 @@ +#include + +int main() +{ + printf("example1\n"); + return 0; +} diff --git a/Tests/SubDirSpaces/Some Examples/example2/CMakeLists.txt b/Tests/SubDirSpaces/Some Examples/example2/CMakeLists.txt new file mode 100644 index 000000000..19a537686 --- /dev/null +++ b/Tests/SubDirSpaces/Some Examples/example2/CMakeLists.txt @@ -0,0 +1,2 @@ +PROJECT(example2) +ADD_EXECUTABLE(example2 example2.cxx) diff --git a/Tests/SubDirSpaces/Some Examples/example2/example2.cxx b/Tests/SubDirSpaces/Some Examples/example2/example2.cxx new file mode 100644 index 000000000..60ef3c940 --- /dev/null +++ b/Tests/SubDirSpaces/Some Examples/example2/example2.cxx @@ -0,0 +1,7 @@ +#include + +int main() +{ + printf("example2\n"); + return 0; +} diff --git a/Tests/SubDirSpaces/ThirdSubDir/pair+int.int1.c b/Tests/SubDirSpaces/ThirdSubDir/pair+int.int1.c new file mode 100644 index 000000000..b7a623781 --- /dev/null +++ b/Tests/SubDirSpaces/ThirdSubDir/pair+int.int1.c @@ -0,0 +1,6 @@ +#include + +void pair_stuff() +{ + printf("Placeholder for a strange file in subdirectory\n"); +} diff --git a/Tests/SubDirSpaces/ThirdSubDir/pair_int.int1.c b/Tests/SubDirSpaces/ThirdSubDir/pair_int.int1.c new file mode 100644 index 000000000..b7a623781 --- /dev/null +++ b/Tests/SubDirSpaces/ThirdSubDir/pair_int.int1.c @@ -0,0 +1,6 @@ +#include + +void pair_stuff() +{ + printf("Placeholder for a strange file in subdirectory\n"); +} diff --git a/Tests/SubDirSpaces/ThirdSubDir/pair_p_int.int1.c b/Tests/SubDirSpaces/ThirdSubDir/pair_p_int.int1.c new file mode 100644 index 000000000..95a66eee6 --- /dev/null +++ b/Tests/SubDirSpaces/ThirdSubDir/pair_p_int.int1.c @@ -0,0 +1,6 @@ +#include + +void pair_p_stuff() +{ + printf("Placeholder for another strange file in subdirectory\n"); +} diff --git a/Tests/SubDirSpaces/ThirdSubDir/testfromauxsubdir.c b/Tests/SubDirSpaces/ThirdSubDir/testfromauxsubdir.c new file mode 100644 index 000000000..d1620845f --- /dev/null +++ b/Tests/SubDirSpaces/ThirdSubDir/testfromauxsubdir.c @@ -0,0 +1,16 @@ +#include + +void secondone(); +void pair_stuff(); +void pair_p_stuff(); +void vcl_stuff(); + +int main() +{ + printf("Hello from subdirectory\n"); + secondone(); + pair_stuff(); + pair_p_stuff(); + vcl_stuff(); + return 0; +} diff --git a/Tests/SubDirSpaces/ThirdSubDir/thirdone.c b/Tests/SubDirSpaces/ThirdSubDir/thirdone.c new file mode 100644 index 000000000..3e9e5afe6 --- /dev/null +++ b/Tests/SubDirSpaces/ThirdSubDir/thirdone.c @@ -0,0 +1,6 @@ +#include + +void secondone() +{ + printf("Hello again\n"); +} diff --git a/Tests/SubDirSpaces/vcl_algorithm+vcl_pair+double.foo.c b/Tests/SubDirSpaces/vcl_algorithm+vcl_pair+double.foo.c new file mode 100644 index 000000000..a0c60f75a --- /dev/null +++ b/Tests/SubDirSpaces/vcl_algorithm+vcl_pair+double.foo.c @@ -0,0 +1,6 @@ +#include + +void vcl_stuff() +{ + printf("Placeholder for a file with strange name\n"); +} diff --git a/Tests/SubDirSpaces/vcl_algorithm_vcl_pair_double.foo.c b/Tests/SubDirSpaces/vcl_algorithm_vcl_pair_double.foo.c new file mode 100644 index 000000000..a0c60f75a --- /dev/null +++ b/Tests/SubDirSpaces/vcl_algorithm_vcl_pair_double.foo.c @@ -0,0 +1,6 @@ +#include + +void vcl_stuff() +{ + printf("Placeholder for a file with strange name\n"); +}