Browse Source

BUG: Target names in the COMMAND part of a custom command should not create a file-level dependency that forces the command to rerun when the executable target rebuilds, but the target-level dependency should still be created. Target names in a DEPENDS should do both a target-level and file-level dependency. Updated the BuildDepends test to check that this works.

Brad King 18 years ago
parent
commit
303b4312b2
1 changed files with 24 additions and 0 deletions
  1. 24 0
      Tests/BuildDepends/Project/generator.cxx

+ 24 - 0
Tests/BuildDepends/Project/generator.cxx

@@ -0,0 +1,24 @@
+#include <stdio.h>
+
+extern const char* foo();
+
+int main(int argc, const char* argv[])
+{
+  if(argc < 3)
+    {
+    fprintf(stderr, "Must specify output file and symbol prefix!");
+    return 1;
+    }
+  if(FILE* fout = fopen(argv[1], "w"))
+    {
+    fprintf(fout, "static const char* %s_string = \"%s\";\n", argv[2],
+            foo());
+    fclose(fout);
+    }
+  else
+    {
+    fprintf(stderr, "Could not open output file \"%s\"", argv[1]);
+    return 1;
+    }
+  return 0;
+}