Skip to content

Commit 15edb82

Browse files
committed
Merge #106: cmake: Group vcpkg dependencies by features
8c7c78f fixup! cmake: Add vcpkg manifest file (Hennadii Stepanov) Pull request description: The vcpkg package manager build every package from sources. It might be annoying for the user, who is not going to build the GUI, to wait while `qt*` packages are being built. This PR fixes this. For example, the following invocation: ``` cd build cmake -S .. --fresh --preset vs2022 -DVCPKG_MANIFEST_NO_DEFAULT_FEATURES=ON -DVCPKG_MANIFEST_FEATURES="wallet;tests" ``` won't build and install `qt*` packages. --- **Implementation notes**. It seems possible to populate the `VCPKG_MANIFEST_FEATURES` variable on the basis of the actual build option values. However, considering the required integration with our depends, it is not a trivial task and might be considered later. ACKs for top commit: sipsorcery: tACK 8c7c78f. Tree-SHA512: b20e74c92b78f3e75317692d9e9c9c267b2aa0bbae97b037ec3e9e7a34c428e04fbe0a6f9e4dc4c49e27a7b203761870f116f693b93772872beed63bc7ce4aca
2 parents 1a976ca + 8c7c78f commit 15edb82

File tree

1 file changed

+38
-9
lines changed

1 file changed

+38
-9
lines changed

vcpkg.json

+38-9
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,46 @@
22
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json",
33
"builtin-baseline": "9edb1b8e590cc086563301d735cae4b6e732d2d2",
44
"dependencies": [
5-
"berkeleydb",
65
"boost-date-time",
76
"boost-multi-index",
8-
"boost-process",
97
"boost-signals2",
10-
"boost-test",
11-
"libevent",
8+
"libevent"
9+
],
10+
"default-features": [
11+
"wallet",
1212
"miniupnpc",
13-
"sqlite3",
14-
"qt5-base",
15-
"qt5-tools",
16-
"zeromq"
17-
]
13+
"zeromq",
14+
"tests",
15+
"qt5"
16+
],
17+
"features": {
18+
"wallet": {
19+
"description": "Enable wallet",
20+
"dependencies": [ "berkeleydb", "sqlite3" ]
21+
},
22+
"sqlite": {
23+
"description": "Enable SQLite wallet support",
24+
"dependencies": [ "sqlite3" ]
25+
},
26+
"berkeleydb": {
27+
"description": "Enable Berkeley DB wallet support",
28+
"dependencies": [ "berkeleydb" ]
29+
},
30+
"miniupnpc": {
31+
"description": "Enable UPnP",
32+
"dependencies": [ "miniupnpc" ]
33+
},
34+
"zeromq": {
35+
"description": "Enable ZMQ notifications",
36+
"dependencies": [ "zeromq" ]
37+
},
38+
"tests": {
39+
"description": "Build test_bitcoin.exe executable",
40+
"dependencies": [ "boost-test" ]
41+
},
42+
"qt5": {
43+
"description": "Build GUI, Qt 5",
44+
"dependencies": [ "qt5-base", "qt5-tools" ]
45+
}
46+
}
1847
}

0 commit comments

Comments
 (0)