From 1db4c0e5241113f7bf79f195418f8e7a6b25570f Mon Sep 17 00:00:00 2001 From: Andy Cedilnik Date: Thu, 22 Feb 2007 08:39:12 -0500 Subject: [PATCH] ENH: Add simple exclusion test for subdirectories --- Tests/SimpleExclude/CMakeLists.txt | 8 +++++++ Tests/SimpleExclude/dirC/CMakeLists.txt | 3 +++ Tests/SimpleExclude/dirC/dirA/CMakeLists.txt | 10 ++++++++ Tests/SimpleExclude/dirC/dirA/t1.c | 8 +++++++ Tests/SimpleExclude/dirC/dirA/t2.c | 7 ++++++ Tests/SimpleExclude/dirC/dirA/t3.c | 7 ++++++ Tests/SimpleExclude/dirC/dirA/t4.c | 17 ++++++++++++++ Tests/SimpleExclude/dirC/dirA/t5.c | 7 ++++++ Tests/SimpleExclude/dirC/dirB/CMakeLists.txt | 5 ++++ Tests/SimpleExclude/dirC/dirB/t6.c | 8 +++++++ Tests/SimpleExclude/dirC/dirB/t7.c | 16 +++++++++++++ Tests/SimpleExclude/dirD/CMakeLists.txt | 7 ++++++ Tests/SimpleExclude/dirD/t8.c | 7 ++++++ Tests/SimpleExclude/dirD/t9.c | 24 ++++++++++++++++++++ 14 files changed, 134 insertions(+) create mode 100644 Tests/SimpleExclude/CMakeLists.txt create mode 100644 Tests/SimpleExclude/dirC/CMakeLists.txt create mode 100644 Tests/SimpleExclude/dirC/dirA/CMakeLists.txt create mode 100644 Tests/SimpleExclude/dirC/dirA/t1.c create mode 100644 Tests/SimpleExclude/dirC/dirA/t2.c create mode 100644 Tests/SimpleExclude/dirC/dirA/t3.c create mode 100644 Tests/SimpleExclude/dirC/dirA/t4.c create mode 100644 Tests/SimpleExclude/dirC/dirA/t5.c create mode 100644 Tests/SimpleExclude/dirC/dirB/CMakeLists.txt create mode 100644 Tests/SimpleExclude/dirC/dirB/t6.c create mode 100644 Tests/SimpleExclude/dirC/dirB/t7.c create mode 100644 Tests/SimpleExclude/dirD/CMakeLists.txt create mode 100644 Tests/SimpleExclude/dirD/t8.c create mode 100644 Tests/SimpleExclude/dirD/t9.c diff --git a/Tests/SimpleExclude/CMakeLists.txt b/Tests/SimpleExclude/CMakeLists.txt new file mode 100644 index 000000000..4485432be --- /dev/null +++ b/Tests/SimpleExclude/CMakeLists.txt @@ -0,0 +1,8 @@ +project(SimpleExclude C) + +set(EXECUTABLE_OUTPUT_PATH "${SimpleExclude_BINARY_DIR}" CACHE INTERNAL "" FORCE) +set(LIBRARY_OUTPUT_PATH "${SimpleExclude_BINARY_DIR}" CACHE INTERNAL "" FORCE) + +add_subdirectory(dirC EXCLUDE_FROM_ALL) +add_subdirectory(dirD) + diff --git a/Tests/SimpleExclude/dirC/CMakeLists.txt b/Tests/SimpleExclude/dirC/CMakeLists.txt new file mode 100644 index 000000000..9b59fdaff --- /dev/null +++ b/Tests/SimpleExclude/dirC/CMakeLists.txt @@ -0,0 +1,3 @@ +add_subdirectory(dirA EXCLUDE_FROM_ALL) +add_subdirectory(dirB) + diff --git a/Tests/SimpleExclude/dirC/dirA/CMakeLists.txt b/Tests/SimpleExclude/dirC/dirA/CMakeLists.txt new file mode 100644 index 000000000..5a7a9cb99 --- /dev/null +++ b/Tests/SimpleExclude/dirC/dirA/CMakeLists.txt @@ -0,0 +1,10 @@ +add_library(t1 t1.c) + +add_library(t2 t2.c) + +add_executable(t3 t3.c) + +add_executable(t4 t4.c) + +add_executable(t5 t5.c) +target_link_libraries(t5 t1) diff --git a/Tests/SimpleExclude/dirC/dirA/t1.c b/Tests/SimpleExclude/dirC/dirA/t1.c new file mode 100644 index 000000000..67fe06fee --- /dev/null +++ b/Tests/SimpleExclude/dirC/dirA/t1.c @@ -0,0 +1,8 @@ +#include + +int tlib1func() +{ + Should not be build unless target directory A, B, or C are build; + printf("This is T1\n"); + return 5; +} diff --git a/Tests/SimpleExclude/dirC/dirA/t2.c b/Tests/SimpleExclude/dirC/dirA/t2.c new file mode 100644 index 000000000..6aaf40675 --- /dev/null +++ b/Tests/SimpleExclude/dirC/dirA/t2.c @@ -0,0 +1,7 @@ +#include + +int tlib2func() +{ + printf("This is T2\n"); + return 2; +} diff --git a/Tests/SimpleExclude/dirC/dirA/t3.c b/Tests/SimpleExclude/dirC/dirA/t3.c new file mode 100644 index 000000000..1366dc0a6 --- /dev/null +++ b/Tests/SimpleExclude/dirC/dirA/t3.c @@ -0,0 +1,7 @@ +#include + +int main(int argc, char* argv[]) +{ + Should not be build unless target directory A, B, or C are build; + return 0; +} diff --git a/Tests/SimpleExclude/dirC/dirA/t4.c b/Tests/SimpleExclude/dirC/dirA/t4.c new file mode 100644 index 000000000..7c36ca927 --- /dev/null +++ b/Tests/SimpleExclude/dirC/dirA/t4.c @@ -0,0 +1,17 @@ +#include + +#ifdef __CLASSIC_C__ +int main() +{ + int ac; + char*av[]; +#else + int main(int ac, char*av[]) + { +#endif + if(ac > 1000){return *av[0];} + printf("This is T4. This one should work.\n"); + return 0; + } + + diff --git a/Tests/SimpleExclude/dirC/dirA/t5.c b/Tests/SimpleExclude/dirC/dirA/t5.c new file mode 100644 index 000000000..1fba2127c --- /dev/null +++ b/Tests/SimpleExclude/dirC/dirA/t5.c @@ -0,0 +1,7 @@ +#include + +int main(int argc, char* argv[]) +{ + Should not be build unless target directory A, B, or C are build; + return 5; +} diff --git a/Tests/SimpleExclude/dirC/dirB/CMakeLists.txt b/Tests/SimpleExclude/dirC/dirB/CMakeLists.txt new file mode 100644 index 000000000..6caea329e --- /dev/null +++ b/Tests/SimpleExclude/dirC/dirB/CMakeLists.txt @@ -0,0 +1,5 @@ +add_library(t6 t6.c) + +add_library(t7 t7.c) +target_link_libraries(t7 t2) + diff --git a/Tests/SimpleExclude/dirC/dirB/t6.c b/Tests/SimpleExclude/dirC/dirB/t6.c new file mode 100644 index 000000000..e8877df60 --- /dev/null +++ b/Tests/SimpleExclude/dirC/dirB/t6.c @@ -0,0 +1,8 @@ +#include + +int tlib6func() +{ + Should not be build unless target directory B, or C are build; + printf("This is T6\n"); + return 6; +} diff --git a/Tests/SimpleExclude/dirC/dirB/t7.c b/Tests/SimpleExclude/dirC/dirB/t7.c new file mode 100644 index 000000000..b95d3ec43 --- /dev/null +++ b/Tests/SimpleExclude/dirC/dirB/t7.c @@ -0,0 +1,16 @@ +#include + +extern int tlib2func(); + +int tlib7func() +{ + printf("This is T7\n"); + + if ( tlib2func() != 2 ) + { + fprintf(stderr, "Something wrong with T2\n"); + return 1; + } + + return 7; +} diff --git a/Tests/SimpleExclude/dirD/CMakeLists.txt b/Tests/SimpleExclude/dirD/CMakeLists.txt new file mode 100644 index 000000000..0e89d0f9e --- /dev/null +++ b/Tests/SimpleExclude/dirD/CMakeLists.txt @@ -0,0 +1,7 @@ +add_library(t8 t8.c) + +add_executable(t9 t9.c) +target_link_libraries(t9 t7) + +add_custom_target(t4_custom ALL) +add_dependencies(t4_custom t4) diff --git a/Tests/SimpleExclude/dirD/t8.c b/Tests/SimpleExclude/dirD/t8.c new file mode 100644 index 000000000..bddec6f7e --- /dev/null +++ b/Tests/SimpleExclude/dirD/t8.c @@ -0,0 +1,7 @@ +#include + +int tlib8func() +{ + printf("This is T8\n"); + return 8; +} diff --git a/Tests/SimpleExclude/dirD/t9.c b/Tests/SimpleExclude/dirD/t9.c new file mode 100644 index 000000000..321014b17 --- /dev/null +++ b/Tests/SimpleExclude/dirD/t9.c @@ -0,0 +1,24 @@ +#include + +extern int tlib7func(); + +#ifdef __CLASSIC_C__ +int main() +{ + int ac; + char*av[]; +#else + int main(int ac, char*av[]) + { +#endif + if(ac > 1000){return *av[0];} + printf("This is T9. This one should work.\n"); + + if ( tlib7func() != 7 ) + { + fprintf(stderr, "Something wrong with T7\n"); + return 1; + } + return 0; + } +