[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