Hi,

I'm trying to build a repository for multiple libraries and applications, where every product is located in an own submodule. Right now I'm at this point:

root/
- all.qbs
- libs/
  - libs.qbs
  - up.qbs
  - lib1/
    - lib1.qbs
  - lib2/
    - lib2.qbs

Lib2 needs lib1. The file contents are as follows (striped to what I think is relevant):

lib1.qbs
Product {
  name: "Lib1"
  Export { cpp.includePaths: ["./include"] }
}

lib2.qbs
Project {
  references: ["../up.qbs"]
  Depends { name: "Lib1" }
}

up.qbs
Project { references: ["../all.qbs"] }

all.qbs
Project { references: ["libs/libs.qbs"] }

libs.qbs
Project { references: ["lib1/lib1.qbs", "lib2/lib2.qbs"] }

Trying to compile lib2 I get the message "Cycle detected while referencing file 'lib2/lib2.qbs'." And the Include-Path is not added (although QtCreator did find the headers for auto completion).

The message is clear, but not how do I solve this problem? I want the libraries to be able to use other libraries, without knowing their path, only their name. I'm willing to use something like my up.qbs here or maybe a function to filter out the current root qbs (in my case lib2.qbs) from the references list, but I don't know if this is possible and if how to do it. I have right now no experience in QML/JS.

Can anybody help me, or show another solution to my problem?

Many thanks in advance,
Björn.
_______________________________________________
Qbs mailing list
Qbs@qt-project.org
https://lists.qt-project.org/listinfo/qbs

Reply via email to