[Qbs] qbs-autoproject

Christian Gagneraud chgans at gmail.com
Sat Oct 28 07:02:57 CEST 2017


On 28/10/17 13:33, Christian Gagneraud wrote:
> ERROR: TypeError: Result of expression 'proj' [undefined] is not an object.
OK, got it now, first i had to set additionalDirectoriesPattern to .*, 
then bypass the consolidator (see my previous mail), and finally fix a 
bug when dependencies are disabled (the rootProject is not set to the 
output of the previous step, trivial fix, I'll do a pull request if you 
want).

This look quite good now, But still have an error, i have one duplicated 
project... weird!
To fix this i have to re-enable the consolidator, it seems it does good 
and bad things.

Another problem in the generated qbs file, is that I still have 
subprojects for library having 'deep' subdirectory, eg /Foo/Bar/Baz.
Libraries that have only one-level subdirectories are fine.

Basically I have something like:
.
├── Core
│   ├── core.cpp
│   ├── core.qbs
│   └── Web
│       ├── web.cpp
│       └── web.h
├── Data
│   ├── data.cpp
│   ├── data.h
│   ├── data.qbs
│   └── foo
│       ├── bar
│       │   ├── bar.cpp
│       │   ├── bar.h
│       │   └── baz
│       │       ├── baz.cpp
│       │       └── baz.h
│       ├── foo.cpp
│       └── foo.h
├── Gui
│   ├── gui.cpp
│   ├── gui.qbs
│   └── Web
│       ├── web.cpp
│       └── web.h
├── project.qbs
└── Web
     ├── web.cpp
     ├── web.h
     └── web.qbs

The above is one project with 4 libraries (Core, Data, Gui and Web)

Which yield 2 problems:
- Core/Web, Gui/Web are merged into /Web
- Data/foo/bar and Data/foo/bar/baz are not merged into Data, but 
Data/foo is.


Chris



More information about the Qbs mailing list