diff options
author | Ivan Komissarov <abbapoh@gmail.com> | 2021-05-22 14:45:25 +0200 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2021-09-23 11:32:23 +0000 |
commit | e87dd50dd5a74d0ddc8f9753a67a0a2500947e5f (patch) | |
tree | cd3085b0a6f5e8ec08b14ff166210e632e6b2a32 /src/lib/libs.qbs | |
parent | 91e0274d265a8ce7070c3d039700341b8d31cf5c (diff) | |
download | qbs-e87dd50dd5a74d0ddc8f9753a67a0a2500947e5f.tar.gz |
Long live qbs-pkgconfig!
This patchset introduce a static library for parsing .pc files. Code is
based on the original pkg-config source code https://
gitlab.freedesktop.org/pkg-config/pkg-config and is written in pure C++
(except for the places where we need access to filesystem as
std::filesystem is not available for all platforms - in that case, Qt
classes are used)
Parsing .pc files manually allows to have more control over dependencies
between modules, e.g. to generate a standalone module per one .pc file
and merge properties using Qbs itself, not via pkg-config.
Library is almost feature-complete and all tests copied from pkg-config
pass. Some functionality is omitted (e.g. prefix variables (what is
this?) or validating dependencies since Qbs does this as well)
Bechmark shows that parsing ~100 files takes about 10-15ms. Running
pkg-config on the same set of files takes ~4 seconds:
RESULT : TestPkgConfig::benchSystem():
14 msecs per iteration (total: 57, iterations: 4)
Fixes: QBS-1615
Change-Id: I5bfdfa588aa04d9d69fd738dd2beea14174c0242
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/lib/libs.qbs')
-rw-r--r-- | src/lib/libs.qbs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lib/libs.qbs b/src/lib/libs.qbs index 264036e1a..10890bb46 100644 --- a/src/lib/libs.qbs +++ b/src/lib/libs.qbs @@ -2,6 +2,7 @@ Project { references: [ "corelib/corelib.qbs", "msbuild/msbuild.qbs", + "pkgconfig/pkgconfig.qbs", "scriptengine/scriptengine.qbs", ] } |