Re: [Qbs] Crash after build

2024-07-16 Thread Christian Kandeler via Qbs

On 7/16/24 9:08 AM, Maximilian Hrabowski wrote:

i also encounter a crash with qbs 2.3 during project resolving that is 
difficult to grasp — i should check it with a debug build.


Yes, please ;)

Once you get a stack trace, please file an issue at bugreports.qt.io.


Christian

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


[Qbs] Branch 2.4 created

2024-06-07 Thread Christian Kandeler via Qbs
Hi,

we have branched off Qbs 2.4. Scheduled release date for
version 2.4.0 is end of July  (together with Qt Creator 14.0).
We recommend users to try this branch with their projects and report
back any new problems they find.
Contributors are requested to push bug fixes and small, zero-risk
improvements to this branch, while features continue to go to master.
Patches currently under review can be moved if they are reasonably close to
finished.


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


Re: [Qbs] Application with QML_ELEMENT in library, problem with plugins.qmltypes

2024-05-14 Thread Christian Kandeler via Qbs

On 5/14/24 10:11 AM, Stéphane Fabry wrote:

-> i took the "plugins.qmltypes" located in 
"Release_Desktop__6bebb707edc597ff\carlib.83bede55" and copy paste manually in the app build dir 
("Release_Desktop__6bebb707edc597ff\app.7d104347") and there it is working.

But i have no clue on how to ask the library to build/install/deploy its own 
qmltypes in the build directory of the application :/


You need to arrange this yourself by defining suitable *install* 
locations that are shared among the products involved, e.g. via a 
project-level property.


So if the application and the qmltypes file have to be at the same 
location (surely that's not the canonical way? but I'm not a QML 
expert), then they need to get the same qbs.installDir value. Installing 
the .qmltypes file is achieved by setting Qt.qml.typesInstallDir (see 
https://doc.qt.io/qbs/qml-qbsmodules-qt-qml.html#typesInstallDir-prop).



Christian


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


Re: [Qbs] Application with QML_ELEMENT in library, problem with plugins.qmltypes

2024-05-14 Thread Christian Kandeler via Qbs

On 5/14/24 9:17 AM, Stéphane Fabry via Qbs wrote:

The projet is running fine, the problem lies in the QtCreator loading
the qmltypes.

It loads correctly the "app.qmltypes" located next to the app.exe but
it won't load the library "plugins.qmltypes" located next to the dll.

Did I miss something ?


You mean you want Qt Creator to pick up the import that is being 
generated when building that very same project to which Main.qml belongs?



Christian

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


[Qbs] qbs 2.3.1 released

2024-05-07 Thread Christian Kandeler via Qbs

Hi,

we have released qbs 2.3.1 today.
As usual, sources, binaries, change log etc can be found here: 
https://download.qt.io/official_releases/qbs/2.3.1/

This release of qbs is also part of Qt Creator 13.0.1.


Christian

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


Re: [Qbs] qbs 2.3 released

2024-04-11 Thread Christian Kandeler via Qbs

On 4/9/24 10:37 AM, Leon Buckel wrote:

Where can we find the changlog? It doesn’t seem to be in the usual location.


We forgot to create one; sorry about that. It would have looked 
something like this:


  - Added an LSP language server that provides support
    for following symbols and completion in IDEs.
  - Module properties are now directly available
    within groups in modules (QBS-1770).
  - Added new module Exporter.cmake.
  - Deprecated the pkgconfig-based fallback module provider.
  - Adapted darwin support to Xcode 15.3.
  - If a project needs to be re-resolved, we now print the reason.
  - Added some tutorials.


Christian

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


Re: [Qbs] how to run in parallel?

2024-04-09 Thread Christian Kandeler via Qbs

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] qbs 2.3 released

2024-04-08 Thread Christian Kandeler via Qbs

Hi,

we have released qbs 2.3.0 today.

As usual, sources, binaries, change log etc can be found here:
https://download.qt.io/official_releases/qbs/2.3.0/

This release of qbs is also part of Qt Creator 13.0.0.


Christian

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


[Qbs] Branch 2.3 created

2024-02-09 Thread Christian Kandeler via Qbs

Hi,

we have branched off Qbs 2.3. Scheduled release date for
version 2.3.0 is end of March  (together with Qt Creator 13.0).
We recommend users to try this branch with their projects and report 
back any

new problems they find.
Contributors are requested to push bug fixes and small, zero-risk
improvements to this branch, while features continue to go to master.
Patches currently under review can be moved if they are reasonably close to
finished.


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] qbs 2.2.2 released

2024-02-07 Thread Christian Kandeler via Qbs

Hi,

we have released qbs 2.2.2 today.
As usual, sources, binaries, change log etc can be found here: 
https://download.qt.io/official_releases/qbs/2.2.2/

This release of qbs is also part of Qt Creator 12.0.2.


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


Re: [Qbs] Code Generator with shared library dependencies

2024-01-15 Thread Christian Kandeler via Qbs

On 1/12/24 11:10, Leon Buckel wrote:

So my question would be: Is there a way to run an executable that is a Product 
similar to how ‘qbs run’ does it so all dependencies are found?


There isn't, but there should be.


In the past I’ve solved this problem by deploying the tool and dlls first and 
running it from the install root.
That still works but doesn’t seem right. Especially since I don’t believe there 
is a way to tell whether the artifacts are already installed before running the 
Command.


If the tool is installable, then it's safe to assume is already has been 
installed when running it, as installation happens in lockstep with 
artifact creation. The user would have to actively sabotage you by 
disabling installation.



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


Re: [Qbs] Building a universal binary with multiplexing

2024-01-09 Thread Christian Kandeler via Qbs

On 1/9/24 09:05, Leon Buckel wrote:


The issue I’m having now is that for the aggregate step I don’t want to run the 
build command again. So I would have to somehow check if the current run is the 
aggregate and just return an empty command array.
The question now is: How do I check that?


You can identify the aggregate by this condition: product.aggregate && 
!product.multiplexConfigurationId


The latter property is undocumented. Perhaps we should introduce 
product.isAggregate.



Christian

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


Re: [Qbs] Accessing overloaded properties

2024-01-08 Thread Christian Kandeler via Qbs

On 1/8/24 12:37, Jochen Becher via Qbs wrote:

I havbe a question about qbs syntax. My qbs files look like this:

MyProject.qbs:

Project {
property string installDir: { throw "installDir must be set" }
}

AProject.qbs:

MyProject {
 id: solution
 installDir: "myfolder"

 MyProject {
 installDir: solution.installDir + "/mysubfolder"
 }
}

My question is about"solution.installDir". Using "project.installDir"
doesn't work. "outer.installDir" or "base.installDir" is also not
allowed or not what I want.


What about "parent.installDir"?


But I am not sure if defining "id" and using it in a subitem like in
QML is really supported. It works and is sometimes but it is not
documented in the qbs manual.


In hindsight, it was a mistake to support QML ids in qbs, because there 
are too many contexts in which they do not make sense due to the 
syntactic context not matching the semantic one (modules!).


My advice as to when to use them:

  - In Probes, because that's how the mechanism officially works.

  - In Depends items, if the dependee has an "unfortunate" name (e.g. 
with spaces) and you want to set properties on it.


  - Nowhere else.

In practice, Project items are probably safe, because there is no 
multiplexing of any kind involved.



Christian

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


[Qbs] qbs 2.2 released

2023-12-12 Thread Christian Kandeler via Qbs
Hi,

we have released qbs 2.2.1 today.

As usual, sources, binaries, change log etc can be found here:
https://download.qt.io/official_releases/qbs/2.2.1/

This release of qbs is also part of Qt Creator 12.0.1.

Please also take a look at 
https://lists.qt-project.org/pipermail/qbs/2023-September/003097.html, if
you haven't done so already.

In case you are wondering what happened to 2.2.0: We had two serious problems 
that made us essentially skip that release:
  1) Our CI job for producing release binaries was broken and we did not manage 
to fix it in time.
  2) qbs stopped working at all with the latest MSVC 
(https://bugreports.qt.io/browse/QBS-1743).
Technically, it does exist, though, in that it is tagged accordingly and 
shipped as part of Qt Creator 12.0.0.


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


[Qbs] Branch 2.2 created

2023-10-06 Thread Christian Kandeler via Qbs

Hi,

we have branched off Qbs 2.2. Scheduled release date for
version 2.2.0 is end of November  (together with Qt Creator 12.0).
We recommend users to try this branch with their projects and report 
back any
new problems they find; see also 
https://lists.qt-project.org/pipermail/qbs/2023-September/003097.html.

Contributors are requested to push bug fixes and small, zero-risk
improvements to this branch, while features continue to go to master.
Patches currently under review can be moved if they are reasonably close to
finished.


Christian

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


[Qbs] qbs 2.1.2 released

2023-09-28 Thread Christian Kandeler via Qbs

Hi,

we have released qbs 2.1.2 today.
As usual, sources, binaries, change log etc can be found here: 
https://download.qt.io/official_releases/qbs/2.1.2/

This release of qbs is also part of Qt Creator 11.0.3.


Christian

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


Re: [Qbs] How to use 'qbs' in a JavaScript function?

2023-09-05 Thread Christian Kandeler via Qbs

On 9/5/23 12:08, Jochen Becher wrote:

until qbs 1.9 the following works:


Not on purpose, though.

Quite a number of things "worked" that shouldn't have, as there was a 
lot of scope pollution.



import qbs 1.0
import import 'utils.js' as Utils
Probe {
id: workspaceRootDetector
property path rootDir
configure: {
rootDir = Utils.detectWorkspaceRoot(qbs)
}
}

Since qbs 2.0.2 (from QtCreator 10.0.2), I get the following error
message from calling Utils.detectWorkspaceRoot:

'qbs' is not defined

'qbs' is used within Utils.detectWorkspaceRoot to access some
properties from qbs, e.g.,

return qbs.targetOS.contains("windows") ? "D:/projects" : "/projects"

How can I achieve the same with qbs 2.0.2?


Store the data you are interested in as input properties:

Probe {
id: workspaceRootDetector

// Inputs:
property stringList targetOS: qbs.targetOS
// ...

// Outputs:
property path rootDir

configure: {
rootDir = Utils.detectWorkspaceRoot(targetOS/*, ...*/)
}
}


Christian

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


[Qbs] Heads up: Multi-threaded project resolving

2023-09-05 Thread Christian Kandeler via Qbs

Hi,


we have just merged a patch into the master branch 
(https://codereview.qt-project.org/c/qbs/qbs/+/493783) that employs 
parallelization to resolve projects. It should result in a noticeable 
speed-up for projects with lots of products. We advise you to check that 
your personal projects still work fine after this. If you notice any 
regressions, please file an issue at bugreports.qt.io.



Thanks,

Christian

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


[Qbs] qbs 2.1.1 released

2023-08-03 Thread Christian Kandeler via Qbs

Hi,

we have released qbs 2.1.1 today.
As usual, sources, binaries, change log etc can be found here: 
https://download.qt.io/official_releases/qbs/2.1.1/

This release of qbs is also part of Qt Creator 11.0.1.


Christian

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


[Qbs] qbs 2.1 released

2023-07-24 Thread Christian Kandeler via Qbs

Hi,

we have released qbs 2.1.0 today.

As usual, sources, binaries, change log etc can be found here: 
https://download.qt.io/official_releases/qbs/2.1.0/


This release of qbs is also part of Qt Creator 11.0.0.

Please also take a look at 
https://lists.qt-project.org/pipermail/qbs/2023-April/003083.html, if 
you haven't done so already.



Christian

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


[Qbs] Qbs 2.0.2 released

2023-06-16 Thread Christian Kandeler via Qbs

Hi,

we have released qbs 2.0.2 today.
As usual, sources, binaries, change log etc can be found here: 
https://download.qt.io/official_releases/qbs/2.0.2/

This release of qbs is also part of Qt Creator 10.0.2.


Christian

___
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 Christian Kandeler via Qbs

On 6/9/23 10:15, Heiko Nardmann wrote:

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.


Because it's not a string list, i.e. an array of JS strings:

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


Christian

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


[Qbs] Branch 2.1 created

2023-06-02 Thread Christian Kandeler via Qbs

Hi,

we branched off Qbs 2.1. Scheduled release date for
version 2.1.0 is end of July  (together with Qt Creator 11.0).
We recommend users to try this branch with their projects and report 
back any
new problems they find; see 
https://lists.qt-project.org/pipermail/qbs/2023-April/003083.html as to 
why this is particularly relevant this time.

Contributors are requested to push bug fixes and small, zero-risk
improvements to this branch, while features continue to go to master.
Patches currently under review can be moved if they are reasonably close to
finished.


Christian

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


Re: [Qbs] url access resp. download functionality?

2023-05-25 Thread Christian Kandeler via Qbs

On 5/25/23 14:45, Heiko Nardmann wrote:


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



No, you'll have to invoke externel tools for that.


Christian

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


[Qbs] Qbs 2.0.1 released

2023-05-08 Thread Christian Kandeler via Qbs

Hi,

we have released qbs 2.0.1 today.
As usual, sources, binaries, change log etc can be found here: 
https://download.qt.io/official_releases/qbs/2.0.1/

This release of qbs is also part of Qt Creator 10.0.1.


Christian

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


[Qbs] Heads up: New project resolving implementation

2023-04-20 Thread Christian Kandeler via Qbs

Hi,


we have just merged

https://codereview.qt-project.org/c/qbs/qbs/+/459764 into the master 
branch, which improves speed and correctness when loading projects.


You should give it a try if you have projects that take excessively long 
to resolve; chances are that you will see improvements.


We also generally recommend to check your projects with it, as it might 
uncover subtle mistakes in your project files that went unnoticed so far 
due to implementation bugs.


And of course there is as always the possibility that the new code has 
new bugs, in which case we'd appreciate a report at bugreports.qt.io.



Christian

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


[Qbs] qbs 2.0 released

2023-04-03 Thread Christian Kandeler via Qbs

Hi,

we have released qbs 2.0.0 today.

As usual, sources, binaries, change log etc can be found here: 
https://download.qt.io/official_releases/qbs/2.0.0/


This release of qbs is also part of Qt Creator 10.0.0.

Please also take a look at 
https://lists.qt-project.org/pipermail/qbs/2023-February/003067.html, if 
you haven't done so already.



Christian

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


Re: [Qbs] dynamically add properties?

2023-03-02 Thread Christian Kandeler via Qbs

On 3/2/23 13:30, Heiko Nardmann wrote:
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.


The product variable represents  a Product item with its properties. You 
must not mess with it in JS code.



Christian

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


Re: [Qbs] SHA256 ?

2023-03-01 Thread Christian Kandeler via Qbs

On 3/1/23 17:31, Heiko Nardmann wrote:


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


If you want *some* kind of hash (for uniquely mapping file paths), 
there's Utilities.getHash(). More specific stuff would be overkill; qbs 
is not a JS library.



Christian

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


[Qbs] Qbs 1.24.1 released

2023-02-23 Thread Christian Kandeler via Qbs

Hi,

we have released qbs 1.24.1 today.
As usual, sources, binaries, change log etc can be found here: 
https://download.qt.io/official_releases/qbs/1.24.1/

This release of qbs is also part of Qt Creator 9.0.2.


Christian

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


Re: [Qbs] ModuleProvider concept

2023-02-16 Thread Christian Kandeler via Qbs

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] HEADS UP: Branch 2.0 created/Testing strongly recommended

2023-02-07 Thread Christian Kandeler via Qbs

Hi,


we have branched off qbs 2.0 today. As indicated by the version jump, 
this is a major update in that we switched the JavaScript engine from 
QtScript to QuickJS. While there are no intentional changes (except 
removing some functions deprecated years ago), it is possible that the 
new engine will uncover dormant bugs in project files (e.g. QtScript was 
rather generous in accepting undefined values where it didn't have to). 
Of course, user projects could also expose bugs on our side that were 
not caught by our tests. It is therefore an even better idea than usual 
to check this release branch against your projects.


The planned release date is end of March.


Christian

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


Re: [Qbs] Qbs 1.23.2 released

2022-12-16 Thread Christian Kandeler via Qbs

On 10/26/22 13:38, Christian Kandeler via Qbs wrote:

On 10/26/22 13:24, Иван Комиссаров wrote:

I think, both RPATH and RUNPATH should work.


My understanding is that RUNPATH only affects libraries with a NEEDED 
entry, i.e. direct dependencies, while RPATH covers indirect 
dependencies as well. What I don't understand is why Pavel's linker 
uses RUNPATH and mine uses RPATH by default. Could it be that 
distributions patch binutils according to their preferences?


Hm, and now after updating ArchLinux, I also have  RUNPATH in my 
binaries. So I suppose we do need such a patch?



Christian

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


Re: [Qbs] Get rid of extra product type statements when generating graphviz dependency graphs using qbs

2022-12-12 Thread Christian Kandeler via Qbs

On 12/12/22 11:34, q...@mein-briefkasten.net wrote:
As it turns out product.dependencies is just what I was looking for in 
the first place. This is of great help.

Is there any documentation about what properties I can expect in product (and 
are stable to stay there over version changes)?

Seems this variable is not explicitly documented, but you can rely on 
the dependencies property.



Christian

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


Re: [Qbs] Get rid of extra product type statements when generating graphviz dependency graphs using qbs

2022-12-12 Thread Christian Kandeler via Qbs

On 12/11/22 19:08, q...@mein-briefkasten.net wrote:

Just "Depends { name: "depgraph” }” was not enough, I had to extend the type of
every lib to get all dependencies show up in the graph, i.e.


Yes, and the reason is explained here: 
https://doc.qt.io/qbs/qml-qbslanguageitems-rule.html#rules-and-product-types



Depends { name: "depgraph" }
type: base.concat(["dot-fragment”])


You want 
https://doc.qt.io/qbs/qml-qbslanguageitems-module.html#additionalProductTypes-prop.



The leanest way from a qbs user perspective would be to just do a
-
CppApplication {
name: “app”
...
}

DotDependencyGraph {
name: “app-dependency-graph”
Depends { name:  “app” }
}
-
So no need to add a Depends to every related product and just pull the
dependencies via the single app dependency, but no idea if this would be
possible and how to do it.


It's just a matter of how you write your rule, no? You have access to 
the dependency tree of products via product.dependencies.



Christian

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


[Qbs] Qbs 1.24 released

2022-11-24 Thread Christian Kandeler via Qbs

Hi,

we have released qbs 1.24.0 today.

As usual, sources, binaries, change log etc can be found here: 
https://download.qt.io/official_releases/qbs/1.24.0/


This release of qbs is also part of Qt Creator 9.0.0.


Christian

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


Re: [Qbs] Qbs 1.23.2 released

2022-10-26 Thread Christian Kandeler via Qbs

On 10/26/22 13:24, Иван Комиссаров wrote:

I think, both RPATH and RUNPATH should work.


My understanding is that RUNPATH only affects libraries with a NEEDED 
entry, i.e. direct dependencies, while RPATH covers indirect 
dependencies as well. What I don't understand is why Pavel's linker uses 
RUNPATH and mine uses RPATH by default. Could it be that distributions 
patch binutils according to their preferences?



Christian

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


Re: [Qbs] Qbs 1.23.2 released

2022-10-24 Thread Christian Kandeler via Qbs

On 10/24/22 16:15, Карелин Павел wrote:



24.10.2022 16:58, Christian Kandeler via Qbs пишет:

On 10/24/22 15:38, Карелин Павел wrote:



24.10.2022 13:48, Christian Kandeler via Qbs пишет:

On 10/24/22 12:34, Карелин Павел wrote:
I think runpath is wrong for libqbscore.so.1.23.2: instead of 
'$ORIGIN/../lib/qtcreator' it should be '$ORIGIN/../../lib/qtcreator'



Why? bin/ and lib/ are located on the same level.
Because loading the libqbsscriptengine.so.1.23 library comes from 
libqbscore.so.1.23.2, not bin/qbs.
I conducted an experiment: in the libqbscore.so.1.23.2 I replaced 
runpath from '$ORIGIN/..:$ORIGIN/../lib/qtcreator:/opt/qt515/lib' to 
'$ORIGIN/../../lib/qtcreator:/opt/qt515/lib:/usr/bi'

And everything worked for me.

The problem seems to be differences in linker behavior. My binaries 
have RPATH set, yours use RUNPATH. The former works recursively, the 
latter doesn't. What linker are you using? I have binutils 2.39.

Systerm compiler from Ubuntu 20.04. GCC version 9.4.0

That doesn't answer the linker question.
In my qbs projects, I explicitly use RPATH instead of RUNPATH using 
the following command:



cpp.driverLinkerFlags: [
    "-Wl,--disable-new-dtags",
    ]


My man page says:

  By default, the new dynamic tags are not created.


Christian

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


Re: [Qbs] Qbs 1.23.2 released

2022-10-24 Thread Christian Kandeler via Qbs

On 10/24/22 15:38, Карелин Павел wrote:



24.10.2022 13:48, Christian Kandeler via Qbs пишет:

On 10/24/22 12:34, Карелин Павел wrote:
I think runpath is wrong for libqbscore.so.1.23.2: instead of 
'$ORIGIN/../lib/qtcreator' it should be '$ORIGIN/../../lib/qtcreator'



Why? bin/ and lib/ are located on the same level.
Because loading the libqbsscriptengine.so.1.23 library comes from 
libqbscore.so.1.23.2, not bin/qbs.
I conducted an experiment: in the libqbscore.so.1.23.2 I replaced 
runpath from '$ORIGIN/..:$ORIGIN/../lib/qtcreator:/opt/qt515/lib' to 
'$ORIGIN/../../lib/qtcreator:/opt/qt515/lib:/usr/bi'

And everything worked for me.

The problem seems to be differences in linker behavior. My binaries have 
RPATH set, yours use RUNPATH. The former works recursively, the latter 
doesn't. What linker are you using? I have binutils 2.39.



Christian

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


Re: [Qbs] Qbs 1.23.2 released

2022-10-24 Thread Christian Kandeler via Qbs

On 10/24/22 12:34, Карелин Павел wrote:
I think runpath is wrong for libqbscore.so.1.23.2: instead of 
'$ORIGIN/../lib/qtcreator' it should be '$ORIGIN/../../lib/qtcreator'



Why? bin/ and lib/ are located on the same level.


Christian

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


Re: [Qbs] Qbs 1.23.2 released

2022-10-24 Thread Christian Kandeler via Qbs

On 10/21/22 16:58, Карелин Павел wrote:

I have a question: does anyone use QtC builded using QBS?
The fact is that in QtC 8, the QBS build system does not work. See 
picture in the attachment. The inscription in the red rectangle is 
"Failed to retrieve version."

The problem is in improperly spelled out path to QBS libraries.


"Spelled out" where? We use rpaths by default, and they work fine here. 
What do yours look like? Also the install location should not matter, as 
they are relative to the executable.



Christian

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


[Qbs] Qbs 1.23.2 released

2022-10-21 Thread Christian Kandeler via Qbs

Hi,

we have released qbs 1.23.2 today.
As usual, sources, binaries, change log etc can be found here: 
https://download.qt.io/official_releases/qbs/1.23.2/

This release of qbs is also part of Qt Creator 8.0.2.


Christian

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


[Qbs] Branch 1.24 created

2022-10-21 Thread Christian Kandeler via Qbs

Hi,

we branched off Qbs 1.24. Scheduled release date for
version 1.24.0 is end of November  (together with Qt Creator 9.0).
We recommend users to try this branch with their projects and report 
back any

new problems they find.
Contributors are requested to push bug fixes and small, zero-risk
improvements to this branch, while features continue to go to master.
Patches currently under review can be moved if they are reasonably close to
finished.


Christian

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


Re: [Qbs] Running the target through a wrapper

2022-10-10 Thread Christian Kandeler via Qbs


On 10/8/22 18:17, Alberto Mardegan wrote:

Hi all!
  On some occasions I've found myself in need of debugging the 
executable under gdb, strace and valgrind. Running


    gdb ./default/install-root/usr/local/bin/MyApp

has always worked well for me, but I wonder:

1) Would this break if the app depends on shared libraries existing in 
the same project, unless the user explicitly sets LD_LIBRARY_PATH to 
the proper locations?


Yes.



2) Can we make it even simpler?

I'm considering the idea of adding an option to run the target under a 
wrapper, something like


    qbs run --products MyApp --wrapper "valgrind --trace-children=yes"

Does anyone have plans to implement something similar? If not, and if 
you think that the idea is sound, I might give it a go (hints welcome).


RunEnvironment::doRunTarget() has some hardcoded wrapper logic for 
Android and iOS; you could try generalizing it.


Some Desktop/remote differentiation will likely be necessary, i.e. set 
LD_LIBRARY_PATH & friends only for the former. (We could be more 
ambitious and set things up on the remote side too, e.g. when the 
wrapper is ssh. But that's probably out of scope for the first iteration).



Christian

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