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@qt-project.org
https://lists.qt-project.org/listinfo/qbs


_______________________________________________
Qbs mailing list
Qbs@qt-project.org
https://lists.qt-project.org/listinfo/qbs

_______________________________________________
Qbs mailing list
Qbs@qt-project.org
https://lists.qt-project.org/listinfo/qbs

Reply via email to