Re: [Qbs] how to run in parallel?

2024-04-09 Thread Heiko Nardmann

See

   https://bugreports.qt.io/browse/QBS-1788


/Kind regards,/

  Heiko

On 09.04.24 10:15, Christian Kandeler via Qbs wrote:

On 4/9/24 9:15 AM, Heiko Nardmann wrote:
I use "qbs run" within a python script to execute testframes. 
Yesterday I've changed the script and tried to run multiple "qbs run" 
in parallel.


This has failed as Qbs locks the build graph. So ... how do I execute 
multiple testframes in parallel using Qbs eco system?


That's currently not supported, though at first glance I don't see why 
the run command could not be extended to support multiple products.


You might want to file a feature request.


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


[Qbs] how to run in parallel?

2024-04-09 Thread Heiko Nardmann

Hi together,

I use "qbs run" within a python script to execute testframes. Yesterday 
I've changed the script and tried to run multiple "qbs run" in parallel.


This has failed as Qbs locks the build graph. So ... how do I execute 
multiple testframes in parallel using Qbs eco system?



/Kind regards,/

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


Re: [Qbs] get path of qbs executable within Project/Product?

2023-10-07 Thread Heiko Nardmann

Hi,

I want to accompany the deployment of the qbs executable in our 
development department with some other executable that we need during 
our build processes.


The question then is how find the path to the executable. I'd like to 
use the same path as the qbs executable.



/Kind regards,/

  Heiko

*From:* Иван Комиссаров [mailto:abba...@gmail.com]
*Sent:* Friday, October 6, 2023 at 12:16 PM
*To:* Heiko Nardmann
*Cc:* qbs@qt-project.org
*Subject:* [Qbs] get path of qbs executable within Project/Product?


Hello, I don’t think this is possible. What’s your use-case?

Ivan

5 окт. 2023 г., в 18:02, Heiko Nardmann 
 написал(а):




Hi together,

is it possible to get the folder resp. path of the qbs executable 
from within a Project or Product item?



/Kind regards,/

  Heiko

___
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] get path of qbs executable within Project/Product?

2023-10-05 Thread Heiko Nardmann

Hi together,

is it possible to get the folder resp. path of the qbs executable from 
within a Project or Product item?



/Kind regards,/

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


Re: [Qbs] passing values for stringList properties on commandline?

2023-06-09 Thread Heiko Nardmann

Thx a lot!!!


/Kind regards,/

  Heiko

*From:* Richard Weickelt [mailto:rich...@weickelt.de]
*Sent:* Friday, June 9, 2023 at 10:28 AM
*To:* Heiko Nardmann; qbs@qt-project.org
*Subject:* [Qbs] passing values for stringList properties on commandline?


Hi,

So what is the correct syntax on the commandline for passing values 
for stringList properties?




check this out: 
https://qbs.io/docs/language-introduction/#overriding-property-values-from-the-command-line


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


[Qbs] passing values for stringList properties on commandline?

2023-06-09 Thread Heiko Nardmann

Hi together,

I'm currently analyzing the usage of ccache and would like to pass "-v" 
to ccache. Which means that I have to change


   modules.cpp.compilerWrapper:ccache

to sth like

   modules.cpp.compilerWrapper:'[ccache,-v]'

which does not work.

So what is the correct syntax on the commandline for passing values for 
stringList properties?



/Kind regards,/

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


[Qbs] url access resp. download functionality?

2023-05-25 Thread Heiko Nardmann

Hi together,

I wonder whether my research missed some builtin functionality inside 
Qbs resp. contained JS that provides a way to download files resp. 
access URLs?



/Kind regards,/

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


[Qbs] dynamically add properties?

2023-03-02 Thread Heiko Nardmann

Hi together,

how do I use "Object.defineProperty" to add a new property to the 
'product' of a Rule? I've tried several things but most times I just get 
some "undefined" for the property set.



/Kind regards,/

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


[Qbs] SHA256 ?

2023-03-01 Thread Heiko Nardmann

Hi together,

is there already some functionality inside the Qbs services or 
Javascript to perform a SHA256 for a file? Maybe I've missed sth. ... ?



/Kind regards,/

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


Re: [Qbs] ModuleProvider concept

2023-02-16 Thread Heiko Nardmann

Thanks for asking.

No, I don't have a package manager there. Just some ZIP files with 
libraries so far ...


On 16.02.23 17:31, Richard Weickelt wrote:

On 16.02.2023 11:03, Heiko Nardmann wrote:
*Create* the files in my imagined usecase means for me retrieving 
necessary files from Artifactory - corr. Qbs file and e.g. some 
static library - and provide them so that the project can resolve the 
dependencies for the build graph.


Maybe you could tell us more about your use-case? Artifactory is a 
storage for many things. People use it for instance to distribute 
Conan packages. Are you using some package manager or do you just 
bundle libraries as zip files?


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


Re: [Qbs] ModuleProvider concept

2023-02-16 Thread Heiko Nardmann
*Create* the files in my imagined usecase means for me retrieving 
necessary files from Artifactory - corr. Qbs file and e.g. some static 
library - and provide them so that the project can resolve the 
dependencies for the build graph.


And yes, I'll have a deeper look into the Qt module provider ...

Thanks!


/Kind regards,/

  Heiko

On 16.02.23 10:37, Christian Kandeler via Qbs wrote:

On 2/16/23 09:53, Heiko Nardmann wrote:


I'm trying to understand the ModuleProvider concept. Is this 
something I should look for when trying to retrieve parts - "Depends" 
- of my project from e.g. Artifactory?


If your modules cannot be "static", i.e. you need to query some 
external resource to *create* the files (rather than just fill in 
property values), then that would fit the use case.


For a real-world example, you might want to look at the Qt module 
provider that's shipped with qbs.



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


[Qbs] ModuleProvider concept

2023-02-16 Thread Heiko Nardmann

Hi,

I'm trying to understand the ModuleProvider concept. Is this something I 
should look for when trying to retrieve parts - "Depends" - of my 
project from e.g. Artifactory?


Already looked at

 * https://doc.qt.io/qbs/qml-qbslanguageitems-moduleprovider.html
 * https://doc.qt.io/qbs/module-providers.html

but not sure about it ...


/Kind regards,/

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


[Qbs] IRC: Freenode -> Libera.Chat ?

2021-08-13 Thread Heiko Nardmann
Hi together,

is QBS IRC also moving to Libera.Chat ?


/Kind regards,/

  Heiko

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


[Qbs] Deploying broken symbolic links?

2020-07-16 Thread Heiko Nardmann
Hi,

yesterday I have come across a problem with Qbs: I would like Qbs to
deploy (within install-root) a symbolic link. This symbolic link is
intentionally broken as the link target is available only on the target
system - not inside the build environment.

Qbs does not like that broken link.

Is there any option to tell Qbs not to follow a symbolic link given
within the "files" list?

Thanks!


Kind regards,

  Heiko Nardmann


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


Re: [Qbs] QBS behaviour while linking

2020-01-28 Thread Heiko Nardmann
Hmm ... I observe that the "Compile Output" inside QtC sometimes stops
while linking a library and (using htop) one can see that no other core
is used. After that further compilations can be seen.

Maybe the linking of the component A has to be completely finished
before compiling other files (which might be part of component B which
depends on A)?


/Kind regards,/

  Heiko

Am 28.01.20 um 18:31 schrieb Christian Kandeler:
> On Tue, 28 Jan 2020 18:22:31 +0100
> Heiko Nardmann  wrote:
>
>> I wonder why parallel building stops when libraries are linked ...
> It does not.
>
>> Every time a library is linked (Linux) one core is busy and all others
>> are completely idle. Is this a known bug?
> Presumably the library to be built is a dependency for subsequent steps? 
> Impossible to say without seeing the concrete project.
>
>
> Christian

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


[Qbs] QBS behaviour while linking

2020-01-28 Thread Heiko Nardmann
Hi together,

I wonder why parallel building stops when libraries are linked ...

Every time a library is linked (Linux) one core is busy and all others
are completely idle. Is this a known bug?


/Kind regards,/

  Heiko

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


Re: [Qbs] avoid RPATH pointing to Qt installation folder

2019-10-08 Thread Heiko Nardmann
Am 08.10.19 um 12:00 schrieb Christian Kandeler:
> On Tue, 8 Oct 2019 11:39:09 +0200
> Heiko Nardmann  wrote:
>
>> The question is whether to include Qt.core.libPath (as defined inside
>> core.qbs) into the list of rpaths. If I put it into the list then it
>> also is part of the binaries RPATH - which I want to avoid. I I leave it
>> out then I get ld error wrt. the ICU libs - which Qt.core is depending on.
> I don't know what error you are getting. If it's just that the lib is not 
> found, try setting cpp.libraryPaths.
>
>
> Christian
> ___
> Qbs mailing list
> Qbs@qt-project.org
> https://lists.qt-project.org/listinfo/qbs

Here is the commandline that I use and the resulting error message with
cpp.rpaths empty inside core.qbs:

/home/heiko.nardmann/QtCreator/4.8.2/bin/qbs build --build-directory
build --file test.qbs  --command-echo-mode command-line
config:linux64-gcc-qt5-12-3-debug profile:linux64-gcc-qt5-12-3 
qbs.buildVariant:debug

Restoring build graph from disk

Resolving project for configuration linux64-gcc-qt5-12-3-debug

Building for configuration linux64-gcc-qt5-12-3-debug

/usr/bin/g++ -Wl,-m,elf_x86_64
-L/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib -m64 -o

/home/heiko.nardmann/projects/trunk/QBS-Probleme/Qt-Deps/build/linux64-gcc-qt5-12-3-debug/A.6dcd4ce2/A

/home/heiko.nardmann/projects/trunk/QBS-Probleme/Qt-Deps/build/linux64-gcc-qt5-12-3-debug/A.6dcd4ce2/3a52ce780950d4d9/A.cpp.o
/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3
-lpthread

ERROR: /usr/bin/g++ -Wl,-m,elf_x86_64
-L/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib -m64 -o

/home/heiko.nardmann/projects/trunk/QBS-Probleme/Qt-Deps/build/linux64-gcc-qt5-12-3-debug/A.6dcd4ce2/A

/home/heiko.nardmann/projects/trunk/QBS-Probleme/Qt-Deps/build/linux64-gcc-qt5-12-3-debug/A.6dcd4ce2/3a52ce780950d4d9/A.cpp.o
/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3
-lpthread

 

ERROR: /usr/bin/ld: warning: libicui18n.so.56, needed by
/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3,
not found (try using -rpath or -rpath-link)

/usr/bin/ld: warning: libicuuc.so.56, needed by
/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3,
not found (try using -rpath or -rpath-link)

/usr/bin/ld: warning: libicudata.so.56, needed by
/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3,
not found (try using -rpath or -rpath-link)

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined reference to `ucal_clone_56'

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined reference to `ucnv_close_56'

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined reference to `ucol_setAttribute_56'

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined reference to `ucnv_setSubstChars_56'

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined reference to `ucal_close_56'

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined reference to `ucal_openTimeZoneIDEnumeration_56'

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined reference to `ucnv_fromUnicode_56'

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined reference to `uenum_close_56'

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined reference to `ucnv_getDefaultName_56'

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined reference to `ucal_inDaylightTime_56'

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined reference to `ucnv_compareNames_56'

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined reference to `ucal_open_56'

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined reference to `ucnv_getAlias_56'

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined reference to `ucnv_countAvailable_56'

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined reference to `u_strToLower_56'

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined reference to `ucal_getDefaultTimeZone_56'

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined reference to `ucal_openCountryTimeZones_56'

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined reference to `ucal_getDSTSavings_56'

/home/heiko.nardmann/Qt/Online/5.12.3/gcc_64/lib/libQt5Core.so.5.12.3:
undefined refe

Re: [Qbs] avoid RPATH pointing to Qt installation folder

2019-10-08 Thread Heiko Nardmann
Am 08.10.19 um 10:51 schrieb Christian Kandeler:
> On Tue, 8 Oct 2019 09:53:32 +0200
> Heiko Nardmann  wrote:
>
>> I'm looking for a way to prevent the RPATH of an executable pointing to
>> the installed Qt. From the "core.qbs" file I see that cpp.rpaths is set
>> to libPath for Linux by default.
> There should probably be a Qt.core property that controls this. Until then, 
> you'll have to force-override cpp.rpaths in your app product:
>
> Properties {
> condition: true
> overrideListProperties: true
> cpp.rpaths: [ /* full list of your rpaths */ ]
> }
>
> (Of course, if you don't want any RPATH at all, then "cpp.useRPaths: false" 
> is the way to go.)
>
>
> Christian

The question is whether to include Qt.core.libPath (as defined inside
core.qbs) into the list of rpaths. If I put it into the list then it
also is part of the binaries RPATH - which I want to avoid. I I leave it
out then I get ld error wrt. the ICU libs - which Qt.core is depending on.

Yes, probably there is a property missing that states which paths to use
for "-rpath-link": "-rpath" is for runtime while "-rpath-link" is for
link time. As I'm deploying the Qt libs together with the application I
need cpp.rpaths to control runtime. Just omitting the path to the
installed Qt and at the same time pleasing the linker is currently the
problem ...

Any workaround other than useRPaths: false and trying to completely
controlling linker flags?


/Kind regards,/

  Heiko

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


[Qbs] avoid RPATH pointing to Qt installation folder

2019-10-08 Thread Heiko Nardmann
Hi together,

I'm looking for a way to prevent the RPATH of an executable pointing to
the installed Qt. From the "core.qbs" file I see that cpp.rpaths is set
to libPath for Linux by default.

So ... do I have to change this file "core.qbs"??? The RPATH shall point
to the Qt that I deploy together with the application.

If I just set

cpp.rpaths: [ ]

then I get a linker error wrt. missing ICU libs?

Thanks!


/Kind regards,/

  Heiko


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


Re: [Qbs] Load qt-plugins

2017-12-22 Thread Heiko Nardmann
Maybe use a qt.conf?


/Kind regards,/

    Heiko

Am 21.12.2017 um 18:28 schrieb Карелин Павел:
> Hi, everyone
>
> For my project, in addition to linking qt libraries, it also requires
> qt-plugins.
> Where I can be placed the qt-plugins so that they can be seen the main
> qt libraries?
>
> For example.
> Main dir project: /opt/myproj
> Qt-libs: /opt/myproj/lib
>
> Where should the directory with plugins be located?
>
> --
> BR, Pavel Karelin

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


Re: [Qbs] Fwd: qbs run --dry-run not working ?

2017-12-15 Thread Heiko Nardmann
How about accessing the QBS API DLL from within Typescript?

I must admit that I have no idea wrt. the capabilities of Typescript.
Maybe you need some wrapper DLL between Typescript and the QBS C++ DLL?


/Kind regards,/

    Heiko

Am 15.12.2017 um 13:55 schrieb Damien Courtois:
> Yes I have seen his reply and took the time to check the Qbs
> repository, but that's not what I'm trying to do. What I'm trying to
> do is basically what Qt Creator is doing with CMake.
>
> To elaborate further: I don't want to generate a solution/whatever and
> then open this solution/whatever with my IDE. I just want to use the
> Qbs command line tool to build, clean and debug a Qbs project, without
> resorting to (e.g. generate) non-qbs-native files.
> And it's pretty much doable, but like with CMake before its server
> mode, it relies on a lot of parsing Qbs command line tool outputs, and
> this is not very reliable nor future proof, thus the idea of a clear
> query command in the command line tool :)
>
> I hope it's a bit clearer :)
>
> 2017-12-15 12:12 GMT+01:00 Christian Kandeler
> >:
>
> On Fri, 15 Dec 2017 11:41:04 +0100
> Damien Courtois  > wrote:
>
> > -- Forwarded message --
> > From: Damien Courtois  >
> > Date: 2017-12-15 11:39 GMT+01:00
> > Subject: Re: [Qbs] qbs run --dry-run not working ?
> > To: Christian Kandeler  >
> > Cc: "qbs@qt-project.org \"
> >"@qt-project.org
> 
> >
> >
> > The IDE is VSCode. And since extensions are typescript modules,
> I can only
> > use the Qbs command line tool.
> >
> > I understand that the command line tool was not designed for
> being used
> > like this, but I think that if it provided a command to query
> informations
> > about a project, it would really ease integration into a lot of
> tools. Take
> > the example of CMake: it's integrated in Qt Creator, and now
> even in Visual
> > Studio 2017. This integration was possible by parsing the output
> of CMake,
> > and since the server mode, it became even easier (well, at least
> now it's
> > standardized. I still don't understand why they had to create
> the whole
> > server mode / handshake / whatever mess instead of just
> outputting things
> > directly, but anyways :p)
> >
> > Is this something you would consider ? And if this is not your
> priority
> > (which I would totally understand) are you accepting contributions ?
>
> Have you seen Jake's reply about project generators? It may well
> be that qbs producing native project files is the better
> alternative here. I'm not too knowledgeable about either our
> generator stuff or about VSCode, so I suggest you discuss your
> requirements with him.
> If it turns out that that's not the right approach, we can come
> back to the command line tool.
>
>
> Christian
>


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


[Qbs] Problems with QBS dependency detection

2017-06-26 Thread Heiko Nardmann
Hi together,

before going into details just a short question: am I the only one often
experiencing problems with dependency detection?


Now going into detail ...

*Situation*:

On our CI server we often see failing builds caused by linker problems
(MSVC 2015). /"Often"/ means around once a week - depending on the
changes; sometimes even more often ...

Today once again ... a colleague has added a 'const' qualifier to some
methods inside of a header file and of course also to the methods inside
the corresponding source file (C++). Let's call them 'changed.h' and
'changed.cpp'. Let's call one of those changed methods
'SignatureHasChanged()'; so it has been changed from

void SignatureHasChanged()

to

void SignatureHasChanged() const

*Problem seen*: the linker complains about not finding a method symbol.
By looking at the symbol I see that the linker looks for the old symbol
- that one w/o the 'const' qualifier. Huhh? Okay, who is the one using
that symbol? I found that source ... let's call it
'using_signaturehaschanged.cpp'.

Since the corresponding header and source files have been changed what
do I expect now to see in my build log? Of course a recompilation of
'using_signaturehaschanged.cpp'!

Hmm ... what do I *NOT* see? A recompilation of
'using_signaturehaschanged.cpp'!

Interesting enough this happens most of the times only on the CI slaves
- really rarely seen on the local machine (but it happens).

*So* ... am I the only one fighting with such problems???


Two things that might be relevant:

- the header file is a Q_OBJECT header, i.e. it is also processed by moc
- the source file is used twice inside the project: once within the main
product itself, once inside a component test

By sorting the relevant files I really see that
'using_signaturehaschanged.cpp.obj' is older than 'changed.h'. Which I
did not expect ...


/Kind regards,/

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