[Qbs] Build and run a AuxiliaryApplication before build a MainApplication
Christian Kandeler
christian.kandeler at qt.io
Mon Feb 22 11:00:18 CET 2021
On 2/19/21 5:43 PM, Карелин Павел wrote:
> Project QGit__micro is attached.
> The situation is reproduced
I've attached the corrected qbs files.
Christian
-------------- next part --------------
import qbs
import qbs.File
import qbs.FileInfo
Product {
name: "QGit"
targetName: "qgit"
type: "application"
destinationDirectory: "./bin"
Depends { name: "cpp" }
Depends { name: "GenTrigrams" }
Depends { productTypes: ["trigrams-generator"] }
Depends { name: "Qt"; submodules: ["core", "widgets"] }
Group {
fileTags: "trigrams"
files: FileInfo.joinPaths(product.sourceDirectory, "spellcheck/sonnet/trigrams/*")
}
Group {
fileTagsFilter: ["trigrams-map"]
fileTags: ["qt.core.resource_data"]
}
Qt.core.resourceFileBaseName: "trigrams"
Qt.core.resourcePrefix: "trigrams"
Rule {
id: idtrigrams
inputs: ["trigrams"]
explicitlyDependsOnFromDependencies: ["trigrams-generator"]
Artifact {
fileTags: ["trigrams-map"]
filePath: FileInfo.joinPaths(project.buildDirectory, "trigrams", input.baseName + ".tmap")
}
prepare: {
var runUtl = explicitlyDependsOn["trigrams-generator"][0].filePath
var outputFile = FileInfo.joinPaths(project.buildDirectory, "trigrams", input.baseName + ".tmap");
// console.info("=== runUtl ===");
// console.info(input);
// console.info(inputs);
// console.info(runUtl);
// console.info(input.filePath);
// console.info(outputFile);
var cmd = new Command(runUtl, [input.filePath, outputFile]);
cmd.description = "sonnet parse trigrams";
cmd.highlight = "filegen";
return cmd;
}
}
files: [
"qgit.cpp",
]
// property var test: {
// console.info("=== Qt.core.version ===");
// console.info(Qt.core.version);
// console.info("=== VERSION_PROJECT ===");
// console.info(project.projectVersion[0]);
// }
}
-------------- next part --------------
import qbs
import qbs.FileInfo
Product {
name: "GenTrigrams"
targetName: "gentrigrams"
condition: true
//type: "application"
type: ["application"]
destinationDirectory: "./bin"
Depends { name: "cpp" }
Depends { name: "Qt"; submodules: ["core"] }
cpp.defines: project.cppDefines
cpp.cxxFlags: project.cxxFlags
cpp.cxxLanguageVersion: project.cxxLanguageVersion
// This declaration is needed to suppress Qt warnings
cpp.systemIncludePaths: Qt.core.cpp.includePaths
files: [
"gentrigrams.cpp"
]
Group {
fileTagsFilter: "application"
fileTags: "trigrams-generator"
}
}
More information about the Qbs
mailing list