Quellcode durchsuchen

ENH: create new test to test subdir exclude

Bill Hoffman vor 22 Jahren
Ursprung
Commit
bf699505bc

+ 3 - 0
Tests/SubDir/CMakeLists.txt

@@ -0,0 +1,3 @@
+PROJECT(SUBDIR)
+SUBDIRS(Executable EXCLUDE_FROM_ALL Examples)
+WRITE_FILE(${SUBDIR_BINARY_DIR}/ShouldBeHere "This file should exist.")

+ 2 - 0
Tests/SubDir/Examples/CMakeLists.txt

@@ -0,0 +1,2 @@
+PROJECT(Examples)
+SUBDIRS(example1 example2)

+ 6 - 0
Tests/SubDir/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")

+ 7 - 0
Tests/SubDir/Examples/example1/example1.cxx

@@ -0,0 +1,7 @@
+#include <stdio.h>
+
+int main()
+{
+  printf("example1\n");
+  return 0;
+}

+ 2 - 0
Tests/SubDir/Examples/example2/CMakeLists.txt

@@ -0,0 +1,2 @@
+PROJECT(example2)
+ADD_EXECUTABLE(example2 example2.cxx)

+ 7 - 0
Tests/SubDir/Examples/example2/example2.cxx

@@ -0,0 +1,7 @@
+#include <stdio.h>
+
+int main()
+{
+  printf("example2\n");
+  return 0;
+}

+ 1 - 0
Tests/SubDir/Executable/CMakeLists.txt

@@ -0,0 +1 @@
+ADD_EXECUTABLE(test test.cxx)

+ 36 - 0
Tests/SubDir/Executable/test.cxx

@@ -0,0 +1,36 @@
+#include <stdio.h>
+#include  <io.h>
+#include  <stdio.h>
+#include  <stdlib.h>
+
+
+// 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(!FileExists(av[1]))
+    {
+    printf("Missing file %s\n", av[1]);
+    return 1;
+    }
+  printf("%s is there!", av[1]);
+  return 0;
+}