[Qbs] Build and run a AuxiliaryApplication before build a MainApplication
Карелин Павел
hkarel at yandex.ru
Mon Mar 1 19:43:27 CET 2021
Colleagues, hello.
It's a bit of a pity that I didn't get an answer to the last question,
but it's okay. There is a working option, and it can be used.
Christian, Alberto, thanks for helping to solve my problem.
--
BR, Pavel
22.02.2021 19:07, Карелин Павел пишет:
> Christian, I experimented a little, and got another variant.
>
> Your variant (clarification: the generation of trigrams in binary form
> is performed by the parsetrigrams utility) :
>
> Product {
> name: "ParseTrigrams"
> targetName: "parsetrigrams"
>
> type: ["application"]
> ...
> files: [
> "parsetrigrams.cpp"
> ]
>
> Group {
> fileTagsFilter: "application"
> fileTags: "trigrams-generator"
> }
> }
>
> Product {
> name: "QGit"
> targetName: "qgit"
>
> type: "application"
>
> Depends { name: "cpp" }
> Depends { name: "ParseTrigrams" }
> 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");
>
> var cmd = new Command(runUtl, [input.filePath, outputFile]);
> cmd.description = "sonnet parse trigrams";
> cmd.highlight = "filegen";
> return cmd;
> }
> }
>
> files: [
> "qgit.cpp",
> ]
> }
>
> My variant:
>
> Product {
> name: "ParseTrigrams"
> targetName: "parsetrigrams"
>
> type: ["application", "trigrams-generator"]
> ...
> files: [
> "parsetrigrams.cpp"
> ]
> Group {
> fileTagsFilter: "application"
> fileTags: "trigrams-generator"
> }
> }
>
> Product {
> name: "QGit"
>
> type: "application"
>
> Depends { name: "cpp" }
> 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");
>
> var cmd = new Command(runUtl, [input.filePath, outputFile]);
> cmd.description = "sonnet parse trigrams";
> cmd.highlight = "filegen";
> return cmd;
> }
> }
>
> files: [
> "qgit.cpp",
> ]
> }
>
> The differences are as follows:
> For ParseTrigrams:
> type: ["application"]
> vs
> type: ["application", "trigrams-generator"]
>
> For QGit:
> Depends { name: "ParseTrigrams" }
> Depends { productTypes: ["trigrams-generator"] }
> vs
> Depends { productTypes: ["trigrams-generator"] }
>
>
> I would like to know if there is a fundamental difference in these
> solutions, and which variant is preferable?
>
> --
> BR, Pavel
>
>
>
> 22.02.2021 13:00, Christian Kandeler пишет:
>> 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
>>
>>
>> _______________________________________________
>> Qbs mailing list
>> Qbs at qt-project.org
>> https://lists.qt-project.org/listinfo/qbs
>
>
> _______________________________________________
> Qbs mailing list
> Qbs at qt-project.org
> https://lists.qt-project.org/listinfo/qbs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qbs/attachments/20210301/9d6026c0/attachment.html>
More information about the Qbs
mailing list