Re: [Qbs] qm-file build as internal resource

2017-12-12 Thread Карелин Павел



12.12.2017 11:49, Christian Kandeler пишет:

On Mon, 11 Dec 2017 19:58:27 +0300
Карелин Павел  wrote:


I'm build a third-party project. The peculiarity of the project is that
qm-files are represented as internal resources.
Now I solved the problem with a terrible hack:
1) Created the 'Translations' product
Product {
      name: "Translations"
      type: "qm"
      destinationDirectory: project.sourceDirectory + "/translations"

      Depends { name: "Qt.core" }
      files: ["*.ts"]
}

2) The results of the work 'Translations' are located in the
project.sourceDirectory + "/translations" directory
3) The main product made dependent on 'Translations'
Depends { name: "Translations" }

4) In the main product I cling the created qm-files through a qrc-resource
      Group {
      name: "translations"
      files: ["translations/translations.qrc"]
      }

Is it possible to solve this task in another way?
qm-resources should be placed by the path ":translations/"

You left out some details, so I have to take a guess. I assume you are listing the qm 
files "manually" in the qrc file, and that's what you want to get rid of?
In that case, something like the following looks adequate:

QtApplication { // Or whatever the main product is
 Group {
 name: "translations"
 files: ["/*.ts"]
 }
 Group {
 fileTagsFilter: ["qm"]
 fileTags: ["qt.core.resource_data"]
 }

 // See doc.qt.io/qbs/qt-modules.html#core-properties
 // for details.
 Qt.core.resourceSourceBase: Qt.core.qmDir
 Qt.core.resourcePrefix: "translations"
}

This should auto-generate the qrc file.
Christian, you were right in your guess. Indeed, the file 
translations.qrc is filled manually. Sorry that did not write about this 
at once. But unfortunately your recipe did not work. I see that qm-files 
are created in the assembly directory, but there is no resulting 
qrc-file. In addition, I have a couple more groups with resources. Will 
these groups be handled correctly?


    Group {
    name: "smileys"
    files: {
    var f = [];
    if (project.useSmileys === "yes")
    f = ["smileys/emojione.qrc"];
    else if (project.useSmileys === "min")
    f = ["smileys/smileys.qrc"];
    return f;
    }
    }

    Group {
    name: "resources"
    files: [
    "res.qrc",
    ]
    }


P.S. I can provide a link to the project on github, if that helps.




Christian
___
Qbs mailing list
Qbs@qt-project.org
http://lists.qt-project.org/mailman/listinfo/qbs


___
Qbs mailing list
Qbs@qt-project.org
http://lists.qt-project.org/mailman/listinfo/qbs


Re: [Qbs] qm-file build as internal resource

2017-12-12 Thread Christian Kandeler
On Mon, 11 Dec 2017 19:58:27 +0300
Карелин Павел  wrote:

> I'm build a third-party project. The peculiarity of the project is that 
> qm-files are represented as internal resources.
> Now I solved the problem with a terrible hack:
> 1) Created the 'Translations' product
> Product {
>      name: "Translations"
>      type: "qm"
>      destinationDirectory: project.sourceDirectory + "/translations"
> 
>      Depends { name: "Qt.core" }
>      files: ["*.ts"]
> }
> 
> 2) The results of the work 'Translations' are located in the 
> project.sourceDirectory + "/translations" directory
> 3) The main product made dependent on 'Translations'
> Depends { name: "Translations" }
> 
> 4) In the main product I cling the created qm-files through a qrc-resource
>      Group {
>      name: "translations"
>      files: ["translations/translations.qrc"]
>      }
> 
> Is it possible to solve this task in another way?
> qm-resources should be placed by the path ":translations/"

You left out some details, so I have to take a guess. I assume you are listing 
the qm files "manually" in the qrc file, and that's what you want to get rid of?
In that case, something like the following looks adequate:

QtApplication { // Or whatever the main product is
Group {
name: "translations"
files: ["/*.ts"]
}
Group {
fileTagsFilter: ["qm"]
fileTags: ["qt.core.resource_data"]
}

// See doc.qt.io/qbs/qt-modules.html#core-properties
// for details.
Qt.core.resourceSourceBase: Qt.core.qmDir
Qt.core.resourcePrefix: "translations"
}

This should auto-generate the qrc file.


Christian
___
Qbs mailing list
Qbs@qt-project.org
http://lists.qt-project.org/mailman/listinfo/qbs


[Qbs] qm-file build as internal resource

2017-12-11 Thread Карелин Павел

Hi,

I'm build a third-party project. The peculiarity of the project is that 
qm-files are represented as internal resources.

Now I solved the problem with a terrible hack:
1) Created the 'Translations' product
Product {
    name: "Translations"
    type: "qm"
    destinationDirectory: project.sourceDirectory + "/translations"

    Depends { name: "Qt.core" }
    files: ["*.ts"]
}

2) The results of the work 'Translations' are located in the 
project.sourceDirectory + "/translations" directory

3) The main product made dependent on 'Translations'
Depends { name: "Translations" }

4) In the main product I cling the created qm-files through a qrc-resource
    Group {
    name: "translations"
    files: ["translations/translations.qrc"]
    }

Is it possible to solve this task in another way?
qm-resources should be placed by the path ":translations/"

--
BR, Pavel Karelin
___
Qbs mailing list
Qbs@qt-project.org
http://lists.qt-project.org/mailman/listinfo/qbs