[QBS] RFC: Deployment support for qbs

Mathieu Bouchard mbouchar at gmail.com
Thu Feb 23 03:20:12 CET 2012


Yes, something like QMAKE_EXTRA_TARGETS. I am calling system(git describe
--tags) and I get the output and pass it to makensis in a custom target:

SCM_VERSION = $$system(git describe --tags)
!isEmpty(QMAKE_SH) {
    # qmake in a unix shell requires escaping on the parenthesis
    VI_VERSION = $$system(python -c
'print\\(\\"$${SCM_VERSION}\\".split\\(\\"-\\"\\)[0]\\)')
} else {
    VI_VERSION = $$system(python -c
'print(\\"$${SCM_VERSION}\\".split(\\"-\\")[0])')
}

win32 {
    createinstaller.target = installer
    createinstaller.commands = $${QMAKE_COPY} \"$${TARGET_FILENAME}\"
\"$${DESTDIR_WIN}\" &&
    createinstaller.commands += cd \"$$PWD/win32\" && makensis
-DVIVERSION=$${VI_VERSION} -DVERSION=$${SCM_VERSION} installer.nsi
    createinstaller.depends = first
    QMAKE_EXTRA_TARGETS += createinstaller
}

How do we tell qbs to only make one of those?

On Wed, Feb 22, 2012 at 5:28 AM, Joerg Bornemann
<joerg.bornemann at nokia.com>wrote:

> On 22/02/2012 06:54, ext Mathieu Bouchard wrote:
>
>  You could also probably cover more platforms by adding custom targets
>> support. For example, I currently use some "undocumented" qmake
>> functions to add custom targets to the build process. They are used to
>> provide a "make installer" target on Windows that calls makensis to
>> create an installer file. On OSX, this is used to call macqtdeploy.
>>
>
> If I understand you correctly, you want something like QMAKE_EXTRA_TARGETS
> or QMAKE_EXTRA_COMPILERS.
>
> There is support for adding custom artifacts and transformers.
> See tests/manual/transformers for an example.
>
>
> BR,
>
> Jörg
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qbs/attachments/20120222/6a036d8e/attachment.html>


More information about the Qbs mailing list