diff options
Diffstat (limited to 'tests/manual/codegen/codegen.qbp')
-rw-r--r-- | tests/manual/codegen/codegen.qbp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/manual/codegen/codegen.qbp b/tests/manual/codegen/codegen.qbp new file mode 100644 index 000000000..e1f7be3d4 --- /dev/null +++ b/tests/manual/codegen/codegen.qbp @@ -0,0 +1,42 @@ +import qbs.base 1.0 +import qbs.fileinfo 1.0 as FileInfo + +Project { + property string name: 'codegen' + + Product { + type: 'application' + name: project.name + Group { + files: 'foo.txt' + fileTags: ['text'] + } + Depends { name: 'cpp' } + } + + Rule { + inputs: ['text'] + Artifact { + fileTags: ['cpp'] + fileName: input.baseName + '.cpp' + } + prepare: { + var code = 'int main(int, char **) { return 0; }' + var args = ['echo ' + code + '>' + output.fileName] + var cmd + if (product.modules.qbs.targetOS == 'windows') { + cmd = new Command('c:/Windows/System32/cmd.exe', ['/C'].concat(args)); + } else { + args[0] = args[0].replace(/\(/g, '\\(') + args[0] = args[0].replace(/\)/g, '\\)') + args[0] = args[0].replace(/;/g, '\\;') + cmd = new Command('/bin/sh', ['-c'].concat(args)) + } + cmd.description = 'generate\t' + FileInfo.fileName(output.fileName); + cmd.highlight = 'codegen'; + return cmd; + } + } + +} + |