summaryrefslogtreecommitdiff
path: root/tests/auto/pkgconfig/testdata/requires-test.json
diff options
context:
space:
mode:
authorIvan Komissarov <abbapoh@gmail.com>2021-05-22 14:45:25 +0200
committerIvan Komissarov <ABBAPOH@gmail.com>2021-09-23 11:32:23 +0000
commite87dd50dd5a74d0ddc8f9753a67a0a2500947e5f (patch)
treecd3085b0a6f5e8ec08b14ff166210e632e6b2a32 /tests/auto/pkgconfig/testdata/requires-test.json
parent91e0274d265a8ce7070c3d039700341b8d31cf5c (diff)
downloadqbs-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 'tests/auto/pkgconfig/testdata/requires-test.json')
-rw-r--r--tests/auto/pkgconfig/testdata/requires-test.json18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/auto/pkgconfig/testdata/requires-test.json b/tests/auto/pkgconfig/testdata/requires-test.json
new file mode 100644
index 000000000..32acf4b91
--- /dev/null
+++ b/tests/auto/pkgconfig/testdata/requires-test.json
@@ -0,0 +1,18 @@
+{
+ "Name": "Requires test package",
+ "Description": "Dummy pkgconfig test package for testing Requires/Requires.private",
+ "Version": "1.0.0",
+ "Libs": [
+ {"Type": "LibraryPath", "Value": "/requires-test/lib"},
+ {"Type": "LibraryName", "Value": "requires-test"}
+ ],
+ "Cflags": [
+ {"Type": "IncludePath", "Value": "/requires-test/include"}
+ ],
+ "Requires": [
+ {"Comparison": "GreaterThanEqual", "Name": "public-dep", "Version": "1"}
+ ],
+ "RequiresPrivate": [
+ {"Comparison": "GreaterThanEqual", "Name": "private-dep", "Version": "1"}
+ ]
+}