1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
import qbs.Host
Project {
CppApplication {
name: "app"
consoleApplication: true
files: ["main.cpp"]
}
Product {
condition: {
var result = qbs.targetPlatform === Host.platform() && qbs.architecture === Host.architecture();
if (!result)
console.info("target platform/arch differ from host platform/arch");
return result;
}
name: "app-caller"
type: "mytype"
Depends { name: "app" }
Depends { name: "cpp" }
property bool redirectStdout
property bool redirectStderr
property int argument
Rule {
inputsFromDependencies: ["application"]
outputFileTags: "mytype"
prepare: {
var cmd = new Command(inputs["application"][0].filePath, [product.argument]);
if (product.redirectStdout)
cmd.stdoutFilePath = product.buildDirectory + "/stdout.txt";
if (product.redirectStderr)
cmd.stderrFilePath = product.buildDirectory + "/stderr.txt";
cmd.description = "building app-caller";
return [cmd];
}
}
}
}
|