You've already forked qBittorrent
mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-10-12 03:12:18 +02:00
Compare commits
847 Commits
release-4.
...
release-4.
Author | SHA1 | Date | |
---|---|---|---|
![]() |
a574c4a70a | ||
![]() |
1e367f818d | ||
![]() |
00599c8f02 | ||
![]() |
332a836746 | ||
![]() |
a1992acc16 | ||
![]() |
c3f002a544 | ||
![]() |
c28cbe0a74 | ||
![]() |
435daaceed | ||
![]() |
e29ab0087b | ||
![]() |
aadd5a3312 | ||
![]() |
7e354ffad3 | ||
![]() |
ee6a071fb6 | ||
![]() |
bc8b838953 | ||
![]() |
5251d93b3d | ||
![]() |
84f0dbecfe | ||
![]() |
bba0c8b2cc | ||
![]() |
2f90be8bd2 | ||
![]() |
cb6b6296aa | ||
![]() |
9d25fdce2a | ||
![]() |
12b2732f1a | ||
![]() |
8c9ece73ee | ||
![]() |
a7db786387 | ||
![]() |
e5bf65c9bd | ||
![]() |
900e7d3a14 | ||
![]() |
f1ff74a926 | ||
![]() |
30bc4b837e | ||
![]() |
050a4f8b23 | ||
![]() |
487103d58f | ||
![]() |
eeea69d4c1 | ||
![]() |
00360ad418 | ||
![]() |
a733253ae5 | ||
![]() |
9788ee042b | ||
![]() |
e9c9ea3bba | ||
![]() |
312dfb989d | ||
![]() |
75deafe5b1 | ||
![]() |
4ca257a389 | ||
![]() |
03375a78f2 | ||
![]() |
423c7066d7 | ||
![]() |
5cd5cc71a8 | ||
![]() |
45d4d22055 | ||
![]() |
916a92aa0d | ||
![]() |
d1ebbcb35d | ||
![]() |
2743d998a8 | ||
![]() |
dbbfbaff9f | ||
![]() |
0be8439cf6 | ||
![]() |
66982c5524 | ||
![]() |
85af8547f7 | ||
![]() |
e26977ab2c | ||
![]() |
ec1cc783a6 | ||
![]() |
03b00ec045 | ||
![]() |
5e90156e9e | ||
![]() |
052206efa1 | ||
![]() |
305d73180b | ||
![]() |
80000bf0fd | ||
![]() |
06ebe756e8 | ||
![]() |
5fa3d9f19c | ||
![]() |
5b4c6d3665 | ||
![]() |
77bd0f17d1 | ||
![]() |
03a702cfbd | ||
![]() |
a932cd2ec1 | ||
![]() |
8e5743380a | ||
![]() |
8001eb0368 | ||
![]() |
f214dc88fc | ||
![]() |
5cff5ab135 | ||
![]() |
82ba154b64 | ||
![]() |
4ea44bbd2b | ||
![]() |
a5e68a8725 | ||
![]() |
70291014d1 | ||
![]() |
1aabcfc30c | ||
![]() |
aba80e2b1c | ||
![]() |
be683fbcd3 | ||
![]() |
2bcf09cfa5 | ||
![]() |
697325af63 | ||
![]() |
c21bd77be5 | ||
![]() |
d5430adaaa | ||
![]() |
9e99a0d3f5 | ||
![]() |
d088ab6f43 | ||
![]() |
820d510c12 | ||
![]() |
676847fcd0 | ||
![]() |
0204630ee6 | ||
![]() |
b515c7eda4 | ||
![]() |
73fcecac76 | ||
![]() |
a7b82ebcb5 | ||
![]() |
f8598b010d | ||
![]() |
93779bcc4b | ||
![]() |
938f5b9dd9 | ||
![]() |
3b4d9f49d5 | ||
![]() |
171c93af50 | ||
![]() |
6f81e40106 | ||
![]() |
e19b5cb2ce | ||
![]() |
2c69faca58 | ||
![]() |
9272151d0a | ||
![]() |
d45ebf5a43 | ||
![]() |
8074be7644 | ||
![]() |
c99ac99a99 | ||
![]() |
976e2450ec | ||
![]() |
7e4db8fafd | ||
![]() |
115a409d92 | ||
![]() |
c203ab3d16 | ||
![]() |
5dff96496d | ||
![]() |
f813935011 | ||
![]() |
2be719449f | ||
![]() |
2094c870d5 | ||
![]() |
4fe93ae8b8 | ||
![]() |
fff1103cf4 | ||
![]() |
8cede43a45 | ||
![]() |
9b1fa3a5af | ||
![]() |
409e73c074 | ||
![]() |
c893729d62 | ||
![]() |
945466968c | ||
![]() |
54f080b755 | ||
![]() |
bfad14d552 | ||
![]() |
2972e1596d | ||
![]() |
987d2aae88 | ||
![]() |
4707d34fad | ||
![]() |
2ffc09d097 | ||
![]() |
afa8d6bb8f | ||
![]() |
a37ead98e8 | ||
![]() |
c73cd8d618 | ||
![]() |
800a3aa61e | ||
![]() |
ebd815be75 | ||
![]() |
ef669acf89 | ||
![]() |
ac6426eab1 | ||
![]() |
b107b745f2 | ||
![]() |
3d851a448f | ||
![]() |
ce133f01aa | ||
![]() |
492d378537 | ||
![]() |
7ece484423 | ||
![]() |
be5ad63e21 | ||
![]() |
bdac8f8db8 | ||
![]() |
bb893e70c5 | ||
![]() |
57ec9db532 | ||
![]() |
0287481001 | ||
![]() |
0167496ecb | ||
![]() |
d86cf193a0 | ||
![]() |
246cad1108 | ||
![]() |
23bf86a8a8 | ||
![]() |
6ce4c885b9 | ||
![]() |
faf84e483a | ||
![]() |
576004c840 | ||
![]() |
c93b05c293 | ||
![]() |
55c3813fac | ||
![]() |
725c6857be | ||
![]() |
86767c9ab4 | ||
![]() |
46aa631d2b | ||
![]() |
7c61a937c9 | ||
![]() |
b8d65dcc45 | ||
![]() |
b9ab83eaf2 | ||
![]() |
8b7b563992 | ||
![]() |
b813a878d7 | ||
![]() |
54e486c389 | ||
![]() |
12d0a3acc1 | ||
![]() |
6ad2a13386 | ||
![]() |
2a9c401db9 | ||
![]() |
ea5a29018f | ||
![]() |
c8d0a715e8 | ||
![]() |
2cfc6514ab | ||
![]() |
1d78bc7206 | ||
![]() |
e5577e43f8 | ||
![]() |
17c0463906 | ||
![]() |
4168772904 | ||
![]() |
44f2186749 | ||
![]() |
0c918bcc3a | ||
![]() |
0a8925dc75 | ||
![]() |
a446597597 | ||
![]() |
54354a2732 | ||
![]() |
d94b8f08ab | ||
![]() |
0d8189efeb | ||
![]() |
00c886e426 | ||
![]() |
551fc35439 | ||
![]() |
9ff17c8d9d | ||
![]() |
ec37732e99 | ||
![]() |
8a414f32a8 | ||
![]() |
bac06acb49 | ||
![]() |
ae1e3c2a81 | ||
![]() |
67940eb0f9 | ||
![]() |
007aa8480e | ||
![]() |
dedec10c58 | ||
![]() |
75219e21be | ||
![]() |
10f5964f8e | ||
![]() |
a4a64d51c0 | ||
![]() |
1014313d88 | ||
![]() |
e486bb4c29 | ||
![]() |
5c3d9ffb46 | ||
![]() |
2e474fd8db | ||
![]() |
b2b110ae1f | ||
![]() |
68a34e0738 | ||
![]() |
38fa575958 | ||
![]() |
6cfeefe054 | ||
![]() |
8007971a53 | ||
![]() |
d66bd30fae | ||
![]() |
3fa59b1b12 | ||
![]() |
20e7aff393 | ||
![]() |
4b7ce87f57 | ||
![]() |
2075533468 | ||
![]() |
a4ad5c8d11 | ||
![]() |
35f2f56757 | ||
![]() |
e6f4aa6a2f | ||
![]() |
92fc62bb0d | ||
![]() |
44b57a59f5 | ||
![]() |
97b8e02bf5 | ||
![]() |
5df42420cb | ||
![]() |
0ede11a1b7 | ||
![]() |
7d9c282db9 | ||
![]() |
bc0e0813a4 | ||
![]() |
f3aebb3001 | ||
![]() |
800f966df9 | ||
![]() |
e33df4dd8c | ||
![]() |
96d9d810fd | ||
![]() |
8707a1bc86 | ||
![]() |
0c988a5fd4 | ||
![]() |
b396ca771d | ||
![]() |
a37dfcf961 | ||
![]() |
31989740cd | ||
![]() |
501191289b | ||
![]() |
8971e92d78 | ||
![]() |
0c96e79d0d | ||
![]() |
0704c0f5e6 | ||
![]() |
9cb190ebe7 | ||
![]() |
667f84995c | ||
![]() |
7a93fae6e4 | ||
![]() |
0d6deca15c | ||
![]() |
f54d7d46f2 | ||
![]() |
8cf00ba5e1 | ||
![]() |
ecc9c6bbd9 | ||
![]() |
e11199f988 | ||
![]() |
e9ed621178 | ||
![]() |
400743fc64 | ||
![]() |
ea8c57be23 | ||
![]() |
591cde53cf | ||
![]() |
90bb67c654 | ||
![]() |
8f7fda492c | ||
![]() |
f92d85c536 | ||
![]() |
55c98d8706 | ||
![]() |
6e94b03c13 | ||
![]() |
e3a82d4614 | ||
![]() |
c61f641613 | ||
![]() |
b64a51337e | ||
![]() |
19dcf7851b | ||
![]() |
fb346e15e8 | ||
![]() |
827d8c0dad | ||
![]() |
beef041e71 | ||
![]() |
8b575484e6 | ||
![]() |
d4b77a6541 | ||
![]() |
4ba6334506 | ||
![]() |
b78899cb9a | ||
![]() |
0dec7b9f4f | ||
![]() |
81a4f3ced0 | ||
![]() |
b155b8609f | ||
![]() |
970ad7cf28 | ||
![]() |
c4625f50a8 | ||
![]() |
001bd38557 | ||
![]() |
7aae915a68 | ||
![]() |
5f1ac96f66 | ||
![]() |
68c2d81072 | ||
![]() |
4dea03fc74 | ||
![]() |
a70942ed53 | ||
![]() |
7e8c72f424 | ||
![]() |
e538eae726 | ||
![]() |
898239a42e | ||
![]() |
1055cc0f45 | ||
![]() |
9f36b54b04 | ||
![]() |
1f42ab8c4f | ||
![]() |
3f0fbc0810 | ||
![]() |
7e4b62c68d | ||
![]() |
784b154228 | ||
![]() |
ddba79ef3d | ||
![]() |
7712d0ada0 | ||
![]() |
38837db8de | ||
![]() |
d997d887e5 | ||
![]() |
341a971cd3 | ||
![]() |
fa380c8b2c | ||
![]() |
758c70283f | ||
![]() |
747c70a58e | ||
![]() |
6ca2e42bca | ||
![]() |
cb505a07fe | ||
![]() |
5819b6dd39 | ||
![]() |
644e7d0450 | ||
![]() |
b0e3d77975 | ||
![]() |
643a209812 | ||
![]() |
c3311e83a0 | ||
![]() |
3301e9cb69 | ||
![]() |
cf2c0bd47e | ||
![]() |
df0c5c41c5 | ||
![]() |
59e6757242 | ||
![]() |
6bbcf9b3d6 | ||
![]() |
208d21ff73 | ||
![]() |
2df71dbde5 | ||
![]() |
9e4f246c89 | ||
![]() |
e4fc8e4156 | ||
![]() |
883d4d81d5 | ||
![]() |
041b86981f | ||
![]() |
470e993c2d | ||
![]() |
cbf10ebb7f | ||
![]() |
89f06274bb | ||
![]() |
c07cd440cd | ||
![]() |
e90be67fec | ||
![]() |
37ea01bd44 | ||
![]() |
ccc91e2e52 | ||
![]() |
d31954761f | ||
![]() |
aa122b062e | ||
![]() |
65921eaf7b | ||
![]() |
bfbd978d3f | ||
![]() |
1876dbd523 | ||
![]() |
ea7eb7c0ec | ||
![]() |
19c733ce95 | ||
![]() |
2ba5dd1344 | ||
![]() |
61eddfce90 | ||
![]() |
0840556f77 | ||
![]() |
f564e8a1c4 | ||
![]() |
315d9835b2 | ||
![]() |
ed03456999 | ||
![]() |
e1a14007f8 | ||
![]() |
a15cfae03a | ||
![]() |
c2a195360a | ||
![]() |
a4f99995bb | ||
![]() |
16616f4e0e | ||
![]() |
a5294e1e08 | ||
![]() |
a8dbff06a3 | ||
![]() |
d9cd5d4680 | ||
![]() |
ac42ccb5e4 | ||
![]() |
68ca95faf0 | ||
![]() |
8d285c66aa | ||
![]() |
1f28122428 | ||
![]() |
6ec179e0f7 | ||
![]() |
423511765a | ||
![]() |
c061d67b14 | ||
![]() |
4863078744 | ||
![]() |
88881de8c6 | ||
![]() |
690c439ae6 | ||
![]() |
e78b5202bc | ||
![]() |
c9be1d0a19 | ||
![]() |
3348eef423 | ||
![]() |
931af6c97e | ||
![]() |
cea2948593 | ||
![]() |
a468c84b30 | ||
![]() |
7278625f53 | ||
![]() |
7b3e692f68 | ||
![]() |
fdb0d97b28 | ||
![]() |
08a2439f46 | ||
![]() |
6767487e40 | ||
![]() |
141a2d2856 | ||
![]() |
2eea57e609 | ||
![]() |
0b185e347b | ||
![]() |
1e1db31ab5 | ||
![]() |
7233274110 | ||
![]() |
d4e2b21534 | ||
![]() |
4f206f987a | ||
![]() |
dfddda57b9 | ||
![]() |
0cacd71503 | ||
![]() |
fdf3ebbb6c | ||
![]() |
a3d9e457a0 | ||
![]() |
ffb5c0635e | ||
![]() |
b4f23d8154 | ||
![]() |
ed310c2dac | ||
![]() |
50167d40d7 | ||
![]() |
5261d4375f | ||
![]() |
0b56cd5fa0 | ||
![]() |
e22946ef61 | ||
![]() |
0457fd260e | ||
![]() |
c60b7b213e | ||
![]() |
c759c4301e | ||
![]() |
307736e263 | ||
![]() |
7aa5bc4bc1 | ||
![]() |
c47e4efade | ||
![]() |
b0781e820c | ||
![]() |
1aca3b0adc | ||
![]() |
20c4b0ee0c | ||
![]() |
3df4a7ac2e | ||
![]() |
efdeb81af1 | ||
![]() |
34295a78f2 | ||
![]() |
57163612ff | ||
![]() |
1a9b009951 | ||
![]() |
9406b4b226 | ||
![]() |
38dc6ab8cf | ||
![]() |
55c3db339b | ||
![]() |
34456a7459 | ||
![]() |
02b029abbe | ||
![]() |
b26eb3d146 | ||
![]() |
7cb6100c9c | ||
![]() |
ef06485c45 | ||
![]() |
1c2d9c1fe4 | ||
![]() |
6f7f7d87c6 | ||
![]() |
817aadd52d | ||
![]() |
058bad0af3 | ||
![]() |
0e421ae415 | ||
![]() |
2227c3afc1 | ||
![]() |
050af8a793 | ||
![]() |
6207855f3b | ||
![]() |
a65a70ab48 | ||
![]() |
4110bb874f | ||
![]() |
5c74f374af | ||
![]() |
a8420a43f9 | ||
![]() |
279bce2014 | ||
![]() |
f3d370870d | ||
![]() |
0e30659c26 | ||
![]() |
f34dfca5e6 | ||
![]() |
cec68c3fd7 | ||
![]() |
5c2f698cb4 | ||
![]() |
f5fc2d52b8 | ||
![]() |
edef85fa3e | ||
![]() |
6244ad5fa8 | ||
![]() |
aba23f67a0 | ||
![]() |
1a913c502b | ||
![]() |
078982ada6 | ||
![]() |
3035184d25 | ||
![]() |
fccdc7ebdc | ||
![]() |
e0c74c2d39 | ||
![]() |
288f372914 | ||
![]() |
ba331436fa | ||
![]() |
afd4069eb4 | ||
![]() |
387f9b1230 | ||
![]() |
2114817890 | ||
![]() |
dac2ab5409 | ||
![]() |
b87ca60c5a | ||
![]() |
6d44075662 | ||
![]() |
69af205094 | ||
![]() |
8a2e3f5d93 | ||
![]() |
3f79726ab9 | ||
![]() |
d1c4b1599a | ||
![]() |
a0842a1e68 | ||
![]() |
29042e4841 | ||
![]() |
3e2cfb5136 | ||
![]() |
0d55599e02 | ||
![]() |
ea1b0b26b1 | ||
![]() |
176b2eb18b | ||
![]() |
98a1c111b9 | ||
![]() |
47048d8410 | ||
![]() |
882fa7ecd4 | ||
![]() |
d07ece53e6 | ||
![]() |
afd2f6ba14 | ||
![]() |
226b0d4194 | ||
![]() |
44e4b5d238 | ||
![]() |
c59d2575c8 | ||
![]() |
f50b4724a6 | ||
![]() |
48cbccff1e | ||
![]() |
e31ec20ec4 | ||
![]() |
b9ec216aa5 | ||
![]() |
2ac3004762 | ||
![]() |
543cbc6d1c | ||
![]() |
27d8dbf13b | ||
![]() |
e487b31877 | ||
![]() |
2845a791d0 | ||
![]() |
024df8c53f | ||
![]() |
12d97475da | ||
![]() |
5154d431f6 | ||
![]() |
0fc1ad664f | ||
![]() |
bb683bd393 | ||
![]() |
69df8174b9 | ||
![]() |
56ccf28000 | ||
![]() |
0a45fc9ffe | ||
![]() |
a56262401b | ||
![]() |
ebea0d91af | ||
![]() |
d6cea2f76d | ||
![]() |
4386fd9f89 | ||
![]() |
1c18edac76 | ||
![]() |
247b93e8ec | ||
![]() |
6470f9acb9 | ||
![]() |
65e0aa6b82 | ||
![]() |
53cc8e1115 | ||
![]() |
72b8ec8f3b | ||
![]() |
29e24232ad | ||
![]() |
6d0cceca83 | ||
![]() |
8e9b928b61 | ||
![]() |
df81e84fc2 | ||
![]() |
e6a1b72354 | ||
![]() |
e48b97466c | ||
![]() |
84b9929025 | ||
![]() |
5c50dba9e1 | ||
![]() |
55b9b8fc91 | ||
![]() |
fb698896c9 | ||
![]() |
95c32221a2 | ||
![]() |
230fc8e11e | ||
![]() |
9b919b6c34 | ||
![]() |
49d3b7bf30 | ||
![]() |
1d778676cd | ||
![]() |
e887b3106f | ||
![]() |
be5600dae2 | ||
![]() |
686fb701bf | ||
![]() |
a73c4d57b1 | ||
![]() |
e6ce1dd0b0 | ||
![]() |
25ab660c14 | ||
![]() |
38d3eea6ee | ||
![]() |
13f69a2245 | ||
![]() |
ec337a8a84 | ||
![]() |
267362a7a0 | ||
![]() |
11f26bfefd | ||
![]() |
87c3f5163e | ||
![]() |
22bdf98617 | ||
![]() |
e5001e8f40 | ||
![]() |
ddd6c82dd7 | ||
![]() |
155dc49c5a | ||
![]() |
c2c0dd2717 | ||
![]() |
27cf98a962 | ||
![]() |
aaaa67050c | ||
![]() |
52ae118e3c | ||
![]() |
cb929f7e59 | ||
![]() |
94b64884f8 | ||
![]() |
8a590c7472 | ||
![]() |
b11c33b2d9 | ||
![]() |
eb201003ee | ||
![]() |
cf9bad03aa | ||
![]() |
c5127d2eec | ||
![]() |
0a35adbdba | ||
![]() |
38d68d9d97 | ||
![]() |
8494c6c5d4 | ||
![]() |
cbfdb7df56 | ||
![]() |
ea44923cce | ||
![]() |
e75f8603b0 | ||
![]() |
5437974b85 | ||
![]() |
99abc21dab | ||
![]() |
5156399c68 | ||
![]() |
c8a5ef8c5d | ||
![]() |
5b52835377 | ||
![]() |
b8277614ec | ||
![]() |
fb6bdbefd5 | ||
![]() |
53c33317f9 | ||
![]() |
d534973650 | ||
![]() |
ed154d35ba | ||
![]() |
ff7e5da6de | ||
![]() |
d7fa5b6b6b | ||
![]() |
d57bd62add | ||
![]() |
0f6dff6315 | ||
![]() |
97b4e4a3d3 | ||
![]() |
84c84160fd | ||
![]() |
60c9926834 | ||
![]() |
fcde1ba09c | ||
![]() |
8dcf326576 | ||
![]() |
22b0ebb5a8 | ||
![]() |
c5d99a12f3 | ||
![]() |
240f5b6718 | ||
![]() |
d184bd8c82 | ||
![]() |
98a2dedb32 | ||
![]() |
c405cb2f1c | ||
![]() |
5ea100352e | ||
![]() |
86c5a8df75 | ||
![]() |
a05562cdc5 | ||
![]() |
ee37f1db3d | ||
![]() |
c9720cad81 | ||
![]() |
2124ef261a | ||
![]() |
aae6030064 | ||
![]() |
b234fcec9c | ||
![]() |
1a45145c1e | ||
![]() |
c1a282aa7b | ||
![]() |
e23c5614b6 | ||
![]() |
f457937980 | ||
![]() |
eac8838dc2 | ||
![]() |
74d281526b | ||
![]() |
7a8128eec4 | ||
![]() |
a55be5e58f | ||
![]() |
4c317f1e4a | ||
![]() |
48c46dc79a | ||
![]() |
b9339bb727 | ||
![]() |
e1f8e6aa6f | ||
![]() |
76c95d8c6c | ||
![]() |
a7da714b13 | ||
![]() |
916cfcdb03 | ||
![]() |
b8fc415870 | ||
![]() |
428cb9c986 | ||
![]() |
99341409f4 | ||
![]() |
f07333acc9 | ||
![]() |
342f5f1a09 | ||
![]() |
d74efd839f | ||
![]() |
af898e9117 | ||
![]() |
c0e48627ae | ||
![]() |
534ed91d04 | ||
![]() |
c58d0af88f | ||
![]() |
ca5c1e8a15 | ||
![]() |
4e96a1065e | ||
![]() |
c9a8d19e6c | ||
![]() |
81f5fdda15 | ||
![]() |
a38730eb9e | ||
![]() |
1a9e650936 | ||
![]() |
ae5177b20f | ||
![]() |
27090f0cfb | ||
![]() |
433b5a46cf | ||
![]() |
034d71dce3 | ||
![]() |
c3de2310c5 | ||
![]() |
b9478e0f00 | ||
![]() |
94aeac992c | ||
![]() |
4927d26877 | ||
![]() |
ae1634623e | ||
![]() |
296c7d3c13 | ||
![]() |
22add258ae | ||
![]() |
77f66be493 | ||
![]() |
f41cb8089d | ||
![]() |
32a686a037 | ||
![]() |
236abcf3f1 | ||
![]() |
325f9f629d | ||
![]() |
88a771c9ff | ||
![]() |
b960e41cfa | ||
![]() |
9f461d0fe6 | ||
![]() |
9db1f3baca | ||
![]() |
af5a02d971 | ||
![]() |
71bb6538db | ||
![]() |
06ecc45d13 | ||
![]() |
31607c4d18 | ||
![]() |
84bb214642 | ||
![]() |
d821bdc9f3 | ||
![]() |
63461e0895 | ||
![]() |
08755a211b | ||
![]() |
a3c9c1c386 | ||
![]() |
0de2f1776e | ||
![]() |
da0db92b9f | ||
![]() |
95bf63330e | ||
![]() |
04cec39277 | ||
![]() |
7b95785954 | ||
![]() |
7d0342e366 | ||
![]() |
21bc08d643 | ||
![]() |
ffa6f7ea34 | ||
![]() |
6b0449dde7 | ||
![]() |
aa4107478e | ||
![]() |
9f8e7917a8 | ||
![]() |
1b652c882e | ||
![]() |
601234e492 | ||
![]() |
6c804edadf | ||
![]() |
3a5c0d9818 | ||
![]() |
2194a05e60 | ||
![]() |
a89c1a8d9a | ||
![]() |
86215f8483 | ||
![]() |
a1b01c1b40 | ||
![]() |
09cb95d3da | ||
![]() |
48d7bdee0e | ||
![]() |
5157fc201c | ||
![]() |
492ea5bceb | ||
![]() |
e8cf351b6a | ||
![]() |
fc0628d35b | ||
![]() |
1f7391737e | ||
![]() |
acdb7a27dc | ||
![]() |
1fed324f91 | ||
![]() |
e4771ba508 | ||
![]() |
6a36a3b1d9 | ||
![]() |
2956b28a32 | ||
![]() |
50471ec8c8 | ||
![]() |
3aa9ff5fba | ||
![]() |
b6be5afb89 | ||
![]() |
157b809e21 | ||
![]() |
f74e2b0130 | ||
![]() |
c887a162ba | ||
![]() |
52df71ad3a | ||
![]() |
d6ddc90199 | ||
![]() |
9600e7f5ad | ||
![]() |
f3603d05e7 | ||
![]() |
8cd243b06b | ||
![]() |
1da3437a4a | ||
![]() |
c72fb92318 | ||
![]() |
954448863e | ||
![]() |
eec6009398 | ||
![]() |
ce362f0e5e | ||
![]() |
4940a77d12 | ||
![]() |
4e77e01a67 | ||
![]() |
5acdcb6c09 | ||
![]() |
8400d855de | ||
![]() |
bd07cb91bb | ||
![]() |
d7e0a9b1ad | ||
![]() |
dc600d47ec | ||
![]() |
0d3952eef5 | ||
![]() |
30a4ce40b9 | ||
![]() |
9d0ab0ae5f | ||
![]() |
e78d8b9fcc | ||
![]() |
f350977cb4 | ||
![]() |
7a652c0a8c | ||
![]() |
a652baadb5 | ||
![]() |
66b86888fc | ||
![]() |
e07501252c | ||
![]() |
2977ba9ec2 | ||
![]() |
db35bb54e1 | ||
![]() |
19bb6f5fe0 | ||
![]() |
aab752dd2e | ||
![]() |
8c75fdcb4c | ||
![]() |
df03b69151 | ||
![]() |
aca7a851bb | ||
![]() |
e9caefdfce | ||
![]() |
16ac20b594 | ||
![]() |
a3e071b734 | ||
![]() |
5d3b9d2f22 | ||
![]() |
27a7e86599 | ||
![]() |
d93d0ab19e | ||
![]() |
776627eee9 | ||
![]() |
5185eeb7ef | ||
![]() |
083bc71315 | ||
![]() |
b1b931922e | ||
![]() |
0717f0d60c | ||
![]() |
525fdd6c2b | ||
![]() |
f27e75e8fa | ||
![]() |
0ad5290389 | ||
![]() |
7895afb8e9 | ||
![]() |
2626378dfd | ||
![]() |
1378245a63 | ||
![]() |
05c92e652c | ||
![]() |
6c0dd81528 | ||
![]() |
bd1d775ca9 | ||
![]() |
b3207b8144 | ||
![]() |
4c8dd0ca9d | ||
![]() |
61d9fcd753 | ||
![]() |
c5607f07c8 | ||
![]() |
49802be7d4 | ||
![]() |
3d932b1cce | ||
![]() |
66a6674cbc | ||
![]() |
2d12c126eb | ||
![]() |
3ec992474d | ||
![]() |
15babe97ea | ||
![]() |
308fd3dcac | ||
![]() |
e8250104c8 | ||
![]() |
796cd674d7 | ||
![]() |
1fe9272a8f | ||
![]() |
c285de87d4 | ||
![]() |
058062d586 | ||
![]() |
3b4fd35dde | ||
![]() |
2a6bd5de35 | ||
![]() |
64e539fcfb | ||
![]() |
de6ca29dcd | ||
![]() |
ef63202be2 | ||
![]() |
62493c672d | ||
![]() |
8c58a69be6 | ||
![]() |
2eb3ec1a6e | ||
![]() |
e3da17caa8 | ||
![]() |
c7e35a1801 | ||
![]() |
83c6b22d30 | ||
![]() |
fc5d49bf9a | ||
![]() |
473ed45b3f | ||
![]() |
c5ddbcfb5b | ||
![]() |
72b0ba36ae | ||
![]() |
b107c0671d | ||
![]() |
b9e233601d | ||
![]() |
8f16388915 | ||
![]() |
d143929454 | ||
![]() |
45a0c5558a | ||
![]() |
b6596f9957 | ||
![]() |
7059b947e8 | ||
![]() |
4eafe7a2c8 | ||
![]() |
d165da9c6c | ||
![]() |
a341b793e4 | ||
![]() |
a1d46a278b | ||
![]() |
c6cf3a98a4 | ||
![]() |
56887efdf5 | ||
![]() |
4ec193042f | ||
![]() |
6b33db3ae3 | ||
![]() |
855772ae5a | ||
![]() |
467ba380b2 | ||
![]() |
93ed8e98c1 | ||
![]() |
5c18db240c | ||
![]() |
915ec81f83 | ||
![]() |
8c545d2947 | ||
![]() |
cbfbae1409 | ||
![]() |
728b7dec3e | ||
![]() |
7b5730723d | ||
![]() |
71844e13af | ||
![]() |
c6dfdf9135 | ||
![]() |
4cd3a37b4a | ||
![]() |
5efb4b522f | ||
![]() |
64d5e329c0 | ||
![]() |
ee9caa4305 | ||
![]() |
39b56ac598 | ||
![]() |
551ffb88ab | ||
![]() |
698bd431e6 | ||
![]() |
ccd3b305c2 | ||
![]() |
b47c90f0e0 | ||
![]() |
1afd5f70dd | ||
![]() |
4cb304def8 | ||
![]() |
f2af308e6d | ||
![]() |
a6868e2b25 | ||
![]() |
7a96ddccc6 | ||
![]() |
bda5be8e4c | ||
![]() |
93f5d4058d | ||
![]() |
98dd2be673 | ||
![]() |
ea7c1ace2a | ||
![]() |
2da2054ccf | ||
![]() |
3f5fa0025d | ||
![]() |
f4be165767 | ||
![]() |
55a1628a5e | ||
![]() |
6c32f6beff | ||
![]() |
21ec8fe53f | ||
![]() |
4185209036 | ||
![]() |
6150e0c56b | ||
![]() |
42b811e578 | ||
![]() |
ef1597e45b | ||
![]() |
1e677c6728 | ||
![]() |
9ef1e32327 | ||
![]() |
173f6fd75d | ||
![]() |
bbe7821483 | ||
![]() |
65ca490b64 | ||
![]() |
907f222a73 | ||
![]() |
b649d61e8b | ||
![]() |
ea793368a9 | ||
![]() |
3331526865 | ||
![]() |
cccb22f0e3 | ||
![]() |
4f0d9605fe | ||
![]() |
19fcd3dad6 | ||
![]() |
eb8ff91c5d | ||
![]() |
f98edcab5c | ||
![]() |
e5ea3bd707 | ||
![]() |
c87c1d2359 | ||
![]() |
7bb9c69c08 | ||
![]() |
25eb2edb86 | ||
![]() |
c2a8970109 | ||
![]() |
59c14801cc | ||
![]() |
ea749bb052 | ||
![]() |
1cb69c9b43 | ||
![]() |
89d8a2fe72 | ||
![]() |
4846b0ec28 | ||
![]() |
771033a449 | ||
![]() |
16d7301046 | ||
![]() |
e2893fe68f | ||
![]() |
8d913d77dd | ||
![]() |
0522db3f19 | ||
![]() |
50cea9d912 | ||
![]() |
cff6a64e9f | ||
![]() |
219a6b3ad1 | ||
![]() |
798c230634 | ||
![]() |
3801150a7a | ||
![]() |
91b2b14ba5 | ||
![]() |
1b8cda7924 | ||
![]() |
31a4309077 | ||
![]() |
db3fd24cea | ||
![]() |
62b956946f | ||
![]() |
04552f7921 | ||
![]() |
9417105990 | ||
![]() |
593c24e5bd | ||
![]() |
7380bfa9e4 | ||
![]() |
6f0d16bca5 | ||
![]() |
78dafc9cbe | ||
![]() |
2da5800665 | ||
![]() |
6270433237 | ||
![]() |
8214d25f9f | ||
![]() |
df7565c9e2 | ||
![]() |
d48218bfe9 | ||
![]() |
db653cbdac | ||
![]() |
766f70c81a | ||
![]() |
3e9311b096 | ||
![]() |
1bfb8d35cd | ||
![]() |
07a85a1018 | ||
![]() |
145641ac41 | ||
![]() |
08aa827366 | ||
![]() |
4d8a939291 | ||
![]() |
e1f514042f | ||
![]() |
7d78457fe0 | ||
![]() |
f067b8b37c | ||
![]() |
6043584305 | ||
![]() |
bb02ccd574 | ||
![]() |
64b250903f | ||
![]() |
c5e73219bf | ||
![]() |
5f47d3b021 | ||
![]() |
d22b626a02 | ||
![]() |
af9c0cca23 | ||
![]() |
a641c0bb2f | ||
![]() |
6c3ab99e3c |
@@ -45,8 +45,7 @@ before_build:
|
||||
- CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat"
|
||||
- SET PATH=%PATH%;c:\qbt\qt5_32\bin;%CACHE_DIR%\jom;
|
||||
# setup project
|
||||
- COPY /Y "%CACHE_DIR%\winconf.pri" "%REPO_DIR%"
|
||||
- COPY /Y "%CACHE_DIR%\winconf-msvc.pri" "%REPO_DIR%"
|
||||
- COPY /Y "%CACHE_DIR%\conf.pri" "%REPO_DIR%"
|
||||
# workarounds
|
||||
- MKLINK /J "c:\qbt\base" "%CACHE_DIR%\base"
|
||||
|
||||
|
18
.github/ISSUE_TEMPLATE.md
vendored
18
.github/ISSUE_TEMPLATE.md
vendored
@@ -1,14 +1,20 @@
|
||||
**Please provide the following information**
|
||||
|
||||
### qBittorrent version and Operating System:
|
||||
### qBittorrent version and Operating System
|
||||
(type here)
|
||||
|
||||
### If on linux, libtorrent and Qt version:
|
||||
### If on linux, libtorrent and Qt version
|
||||
(type here)
|
||||
|
||||
### What is the problem:
|
||||
### What is the problem
|
||||
(type here)
|
||||
|
||||
### What is the expected behavior:
|
||||
### What is the expected behavior
|
||||
(type here)
|
||||
|
||||
### Steps to reproduce:
|
||||
### Steps to reproduce
|
||||
(type here)
|
||||
|
||||
### Extra info(if any):
|
||||
### Extra info(if any)
|
||||
(type here)
|
||||
|
||||
|
32
.travis.yml
32
.travis.yml
@@ -76,10 +76,13 @@ before_install:
|
||||
|
||||
- shopt -s expand_aliases
|
||||
- alias make="colormake -j3" # Using nprocs/2 sometimes may fail (gcc is killed by system)
|
||||
#- libt_path="$HOME/libt_install"
|
||||
#- ltconf="$ltconf --prefix="$libt_path" --disable-geoip"
|
||||
- qbt_path="$HOME/qbt_install"
|
||||
- qbtconf="$qbtconf --prefix="$qbt_path" PKG_CONFIG_PATH="$libt_path/lib/pkgconfig":/opt/qt55/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
- |
|
||||
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
||||
qbtconf="$qbtconf --prefix="$qbt_path" PKG_CONFIG_PATH=/opt/qt55/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
else
|
||||
qbtconf="$qbtconf --prefix="$qbt_path""
|
||||
fi
|
||||
|
||||
# options for specific branches
|
||||
- if [ "$gui" = false ]; then qbtconf="$qbtconf --disable-gui" ; fi
|
||||
@@ -131,14 +134,20 @@ install:
|
||||
cp "version" $HOME/hombebrew_cache
|
||||
cd "$HOME/hombebrew_cache"
|
||||
wget https://builds.shiki.hu/homebrew/libtorrent-rasterbar.rb
|
||||
wget https://builds.shiki.hu/homebrew/libtorrent-rasterbar-1.0.11+git20172003.8736a59adc.el_capitan.bottle.tar.gz
|
||||
wget https://builds.shiki.hu/homebrew/5146d2df7e48f321511273fb9829ebdc3a6dc519f9ef36a344a343ae524c3ae6--libtorrent-rasterbar-1.1.9+git20180812.0bcf6cef23+patched-configure.el_capitan.bottle.tar.gz
|
||||
fi
|
||||
|
||||
# Copy custom libtorrent bottle to homebrew's cache so it can find and install it
|
||||
# Copy custom libtorrent bottle to homebrew's download cache so it can find and install it
|
||||
# Also install our custom libtorrent formula by passing the local path to it
|
||||
# These 2 files are restored from Travis' cache.
|
||||
cp "$HOME/hombebrew_cache/libtorrent-rasterbar-1.0.11+git20172003.8736a59adc.el_capitan.bottle.tar.gz" "$(brew --cache)"
|
||||
cp "$HOME/hombebrew_cache/5146d2df7e48f321511273fb9829ebdc3a6dc519f9ef36a344a343ae524c3ae6--libtorrent-rasterbar-1.1.9+git20180812.0bcf6cef23+patched-configure.el_capitan.bottle.tar.gz" "$(brew --cache)/downloads"
|
||||
brew install "$HOME/hombebrew_cache/libtorrent-rasterbar.rb"
|
||||
|
||||
# NOTE about the bottle name
|
||||
# The part before the "--" characters is a sha256 hash of the string
|
||||
# of the URL homebrew itself would use to download the bottle.
|
||||
# In this case the URL is the following:
|
||||
# http://127.0.0.1/libtorrent-rasterbar-1.1.9+git20180812.0bcf6cef23+patched-configure.el_capitan.bottle.tar.gz
|
||||
|
||||
if [ "$build_system" = "cmake" ]; then
|
||||
brew outdated cmake || brew upgrade cmake
|
||||
@@ -163,16 +172,23 @@ script:
|
||||
if [ "$build_system" = "cmake" ]; then
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DGUI=${gui} -DCMAKE_INSTALL_PREFIX="$qbt_path" "$MY_CMAKE_OPENSSL_HINT" \
|
||||
if [ "$gui" = "false" ]; then
|
||||
DISABLE_GUI_OPTION="-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Widgets=ON"
|
||||
fi
|
||||
cmake $DISABLE_GUI_OPTION -DCMAKE_INSTALL_PREFIX="$qbt_path" "$MY_CMAKE_OPENSSL_HINT" \
|
||||
-G "Ninja" -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE ..
|
||||
BUILD_TOOL="ninja"
|
||||
fi
|
||||
if [ "$build_system" = "qmake" ]; then
|
||||
./bootstrap.sh && ./configure $qbtconf
|
||||
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||
# For some reason for RC_1_1 we need to also specify the OpenSSL compiler/linker flags
|
||||
# Homebrew doesn't symlink OpenSSL for security reasons
|
||||
./bootstrap.sh && ./configure $qbtconf CXXFLAGS="$(PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig:$PKG_CONFIG_PATH" pkg-config --cflags openssl)" LDFLAGS="$(PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig:$PKG_CONFIG_PATH" pkg-config --libs openssl)"
|
||||
sed -i "" -e "s/^\(CC.*&&\).*$/\1 $CC/" src/Makefile # workaround for Qt & ccache: https://bugreports.qt.io/browse/QTBUG-31034
|
||||
sed -i "" -e "s/^\(CXX.*&&\).*$/\1 $CXX/" src/Makefile
|
||||
sed -i "" -e 's/^\(CXXFLAGS.*\)$/\1 -Wno-unused-local-typedefs -Wno-inconsistent-missing-override/' src/Makefile
|
||||
else
|
||||
./bootstrap.sh && ./configure $qbtconf
|
||||
fi
|
||||
BUILD_TOOL="make"
|
||||
fi
|
||||
|
@@ -12,7 +12,7 @@ mode = developer
|
||||
|
||||
|
||||
[qbittorrent.qbittorrentdesktop_master]
|
||||
source_file = src/icons/qBittorrent.desktop
|
||||
source_file = dist/unix/qbittorrent.desktop
|
||||
source_lang = en
|
||||
type = DESKTOP
|
||||
minimum_perc = 23
|
||||
|
16
AUTHORS
16
AUTHORS
@@ -34,6 +34,14 @@ Code from other projects:
|
||||
license: GPLv2/3
|
||||
|
||||
Images Authors:
|
||||
* files: src/icons/skin/qbittorrent-tray.svg (and related pngs)
|
||||
copyright: Provided by HVS <hvs linuxmail org> (raster first proposal) and Atif Afzal(@atfzl github) <atif5801@gmail.com> (vectorized and modified)
|
||||
license: GPLv2+
|
||||
|
||||
* files: src/qbittorrent_file.ico src/icons/fileicon.svg
|
||||
copyright: 'uknown.svg' (LGPLv3+) from Oxygen Icon Theme was used as base which was slightly modified and 'qbittorrent-tray.svg' (GPLv2+) was overlayed above it.
|
||||
license: GPLv3+
|
||||
|
||||
* files: src/icons/*.png
|
||||
copyright: Gnome Icon Theme
|
||||
license: GPLv2
|
||||
@@ -44,10 +52,10 @@ Images Authors:
|
||||
license: LGPL
|
||||
url: http://www.oxygen-icons.org
|
||||
|
||||
* files: src/icons/flags/*.png
|
||||
copyright: Mark James <mjames@gmail.com>
|
||||
license: Public Domain
|
||||
url: http://www.famfamfam.com
|
||||
* files: src/icons/flags/*.svg
|
||||
copyright: lipis/flag-icon-css
|
||||
license: MIT
|
||||
url: https://github.com/lipis/flag-icon-css/
|
||||
|
||||
* files: src/icons/skin/*.png
|
||||
files: src/menuicons/YYxYY/*.png
|
||||
|
@@ -1,5 +1,6 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
cmake_policy(VERSION 3.5)
|
||||
cmake_minimum_required(VERSION 3.9 FATAL_ERROR)
|
||||
|
||||
message(WARNING "No official support for cmake build system. If it is broken, please submit patches!")
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules)
|
||||
include(FunctionReadVersion)
|
||||
@@ -22,40 +23,32 @@ add_definitions(-DQBT_VERSION_MINOR=${VER_MINOR})
|
||||
add_definitions(-DQBT_VERSION_BUGFIX=${VER_BUGFIX})
|
||||
add_definitions(-DQBT_VERSION_BUILD=${VER_BUILD})
|
||||
|
||||
# os2 {
|
||||
# DEFINES += DQBT_VERSION=\'\"v$${PROJECT_VERSION}\"\'
|
||||
# DEFINES += DQBT_VERSION_2=\'\"$${PROJECT_VERSION}\"\'
|
||||
# } else {
|
||||
add_definitions(-DQBT_VERSION="v${PROJECT_VERSION}")
|
||||
add_definitions(-DQBT_VERSION_2="${PROJECT_VERSION}")
|
||||
# }
|
||||
|
||||
if (UNIX AND NOT APPLE)
|
||||
include(GNUInstallDirs)
|
||||
endif (UNIX AND NOT APPLE)
|
||||
include(GNUInstallDirs)
|
||||
include(FeatureSummary)
|
||||
|
||||
# version requirements
|
||||
set(requiredBoostVersion 1.35)
|
||||
set(requiredQtVersion 5.5.1)
|
||||
|
||||
if(WIN32)
|
||||
include(winconf)
|
||||
endif(WIN32)
|
||||
|
||||
# we need options here, because they are used not only in "src" subdir, but in the "dist" dir too
|
||||
include(CMakeDependentOption)
|
||||
|
||||
option(SYSTEM_QTSINGLEAPPLICATION
|
||||
"Use the system qtsingleapplication library or shipped one otherwise")
|
||||
|
||||
option(GUI "Allows to disable GUI for headless running. Disables QtDBus and the GeoIP Database" ON)
|
||||
|
||||
option(WEBUI "Allows to disable the WebUI." ON)
|
||||
|
||||
if (WIN32)
|
||||
option(STACKTRACE_WIN "")
|
||||
else (WIN32)
|
||||
cmake_dependent_option(SYSTEMD "Install the systemd service file (headless only)" OFF
|
||||
"NOT GUI" OFF)
|
||||
cmake_dependent_option(DBUS "Enable use of QtDBus (GUI only)" ON "GUI" OFF)
|
||||
endif(WIN32)
|
||||
# we need options here, at the top level, because they are used not only in "src" subdir, but in the "dist" dir too
|
||||
include(CompileFeature)
|
||||
|
||||
optional_compile_definitions(COUNTRIES_RESOLUTION FEATURE DESCRIPTION "Enable resolving peers IP addresses to countries"
|
||||
DEFAULT ON DISABLED DISABLE_COUNTRIES_RESOLUTION)
|
||||
optional_compile_definitions(STACKTRACE FEATURE DESCRIPTION "Enable stacktraces"
|
||||
DEFAULT ON ENABLED STACKTRACE)
|
||||
optional_compile_definitions(WEBUI FEATURE DESCRIPTION "Enables built-in HTTP server for headless use"
|
||||
DEFAULT ON DISABLED DISABLE_WEBUI)
|
||||
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(dist)
|
||||
|
||||
feature_summary(DESCRIPTION "\nConfiguration results:" WHAT ALL)
|
||||
|
File diff suppressed because it is too large
Load Diff
238
CONTRIBUTING.md
238
CONTRIBUTING.md
@@ -1,35 +1,221 @@
|
||||
# Filing an issue
|
||||
# How to contribute to qBittorrent
|
||||
|
||||
### Must read
|
||||
* If you aren't sure, you can ask on the [**forum**](http://forum.qbittorrent.org) or read our [**wiki**](http://wiki.qbittorrent.org) first.
|
||||
* Do a quick **search**. Others might already reported the issue.
|
||||
* Write in **English**!
|
||||
* Provide **version** information: (You can find version numbers at menu `Help -> About -> Libraries`)
|
||||
```
|
||||
qBittorrent:
|
||||
Qt:
|
||||
libtorrent:
|
||||
boost:
|
||||
OS version:
|
||||
```
|
||||
* Provide **steps** to reproduce the problem, it will be easier to pinpoint the fault.
|
||||
* **Screenshots**! A screenshot is worth a thousand words. just upload it. [(How?)](https://help.github.com/articles/file-attachments-on-issues-and-pull-requests)
|
||||
There are three main ways to contribute to the project.
|
||||
Read the respective section to find out more.
|
||||
|
||||
### Good to know
|
||||
* **Be patient**. The dev team is small and resource limited. Devs finding their free time, analyzing the problem and fixing the issue, it all takes time. :clock3:
|
||||
* If you can code, why not become a **contributor** by fixing the issue and open a pull request? :wink:
|
||||
* Harsh words or threats won't help your situation. What's worse, your complain will (very likely) to be **ignored**. :fearful:
|
||||
### Table Of Contents
|
||||
|
||||
* **[Bug reporting etiquette](#bug-reporting-etiquette)**
|
||||
|
||||
|
||||
* **[Submitting an issue/bug report](#submitting-an-issuebug-report)**
|
||||
* [What is an actual bug report?](#what-is-an-actual-bug-report)
|
||||
* [Before submitting a bug report](#before-submitting-a-bug-report)
|
||||
* [Steps to ensure a good bug report](#steps-to-ensure-a-good-bug-report)
|
||||
|
||||
|
||||
* **[Suggesting enhancements/feature requests](#suggesting-enhancementsfeature-requests)**
|
||||
* [Before submitting an enhancement/feature request](#before-submitting-an-enhancementfeature-request)
|
||||
* [Steps to ensure a good enhancement/feature suggestion](#steps-to-ensure-a-good-enhancementfeature-suggestion)
|
||||
|
||||
|
||||
* **[Opening a pull request](#opening-a-pull-request)**
|
||||
* [Must read](#must-read)
|
||||
* [Good to know](#good-to-know)
|
||||
|
||||
# Bug reporting etiquette
|
||||
|
||||
* Issues, pull requests, and comments must always be in **English.**
|
||||
|
||||
* This project is supported by volunteers, do not expect "customer support"-style interaction.
|
||||
|
||||
* **Be patient.** The development team is small and resource limited. Developers and contributors take from their free time to analyze the problem and fix the issue. :clock3:
|
||||
|
||||
* Harsh words or threats won't help your situation. What's worse, your complain will (very likely) be **ignored.** :fearful:
|
||||
|
||||
# Submitting an issue/bug report
|
||||
|
||||
This section guides you through submitting an issue/bug report for qBittorrent.
|
||||
|
||||
Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
|
||||
|
||||
Make sure to follow these rules carefully when submitting a bug report. Failure to do so will result in the issue being closed.
|
||||
|
||||
## What is an actual bug report?
|
||||
|
||||
Developers and contributors are not supposed to deal with issues for which little to no investigation to find the actual cause of a purported issue was made by the reporter.
|
||||
|
||||
Positive contributions are those which are reported with efforts to find the actual cause of an issue, or at the very least efforts were made to narrow it as much as possible.
|
||||
|
||||
Requiring people to investigate as much as possible before opening an issue will more than likely avoid burdening the project with invalid issues or issues unrelated to qBittorrent.
|
||||
|
||||
The following are _not_ bug reports. **Check the [wiki][wiki-url], [forum][forum-url] or other places for help and support for issues like these**:
|
||||
|
||||
- Explanation of qBittorrent options (see [wiki][wiki-url]).
|
||||
- Help with WebUI setup.
|
||||
- Help with embedded tracker setup.
|
||||
- Help about BitTorrent in general.
|
||||
- Issues with specific search plugins.
|
||||
- Asking for specific builds of qBittorrent other than the current one. You can install older releases at your own risk or for regression testing purposes. Previous Windows and macOS builds are available [here][builds-url].
|
||||
- If you want older Linux builds, you will have to compile them yourself from the corresponding commits, or ask someone on the [forum][forum-url] to do it for you.
|
||||
- Possibly others. Read on and use common sense.
|
||||
|
||||
The issue tracker is for provable issues only: You will have to make the case that the issue is really with qBittorrent and not something else on your side.
|
||||
|
||||
To make a case means to provide detailed steps so that anybody can reproduce the issue.
|
||||
Be sure to rule out that the issue is not caused by something specific on your side.
|
||||
|
||||
Issue reports for bugs that apparently aren't easily reproducible or that you can't figure out what triggers it even though you tried are OK.
|
||||
|
||||
Any issue opened without effort to provide the required details for developers, contributors or anybody else to reproduce the problem will be closed as invalid.
|
||||
For example:
|
||||
- Crash reports with just a stack trace.
|
||||
- Speculated performance issues that do not come with actual profiling data + analysis supporting the claim.
|
||||
|
||||
## Before submitting a bug report
|
||||
|
||||
- **Do some basic troubleshooting (examples)**:
|
||||
- Restart qBittorrent.
|
||||
- Restart your PC.
|
||||
- Update your OS (e.g. Windows updates).
|
||||
- Update your network card drivers.
|
||||
- Fully reinstall qBittorrent.
|
||||
- etc...
|
||||
- Make sure the problem is not caused by anti-virus or other program messing with your files.
|
||||
- Check if you can reproduce the problem in the latest version of qBittorrent.
|
||||
- **Check [forum][forum-url] and [wiki][wiki-url].** You might be able to find the cause of the problem and fix things yourself.
|
||||
- **Check if the issue exists already in the issue tracker.**
|
||||
- If it does and the issue is still open, add a comment to the existing issue instead of opening a new one.
|
||||
- If you find a Closed issue that seems like it is the same thing that you're experiencing, open a new issue and include a link to the original issue in the body of your new one.
|
||||
- If the issue is with the search functionality:
|
||||
- **Make sure you have [`python`][python-url] installed correctly (remember the search functionality requires a working python installation).**
|
||||
- Make sure it is in fact a problem with the search functionality itself, and not a problem with the plugins. If something does not work properly with the search functionality, the first step is to rule out search plugin-related issues.
|
||||
- For search plugin issues, report on the respective search plugin support page, or at [qbittorrent/search-plugins][search-plugins-url].
|
||||
|
||||
## Steps to ensure a good bug report
|
||||
|
||||
**Follow these guidelines** in order to provide as much useful information as possible right away. Not all of them are applicable to all issues, but you are expected to follow most of these steps (use common sense).
|
||||
Otherwise, we've noticed that a lot of your time (and the developers') gets thrown away on exchanging back and forth to get this information.
|
||||
|
||||
* Use a **clear and descriptive title** for the issue to identify the problem.
|
||||
|
||||
* Post only **one specific issue per submission.**
|
||||
|
||||
* **Fill out the issue template properly.**
|
||||
|
||||
- **Make sure you are using qBittorrent on a supported platform.** Do not submit issues which can only be reproduced on beta/unsupported releases of supported operating systems (e.g. Windows 10 Insider, Ubuntu 12.04 LTS, etc).
|
||||
These are unstable/unsupported platforms, and in all likelihood, whatever the issue is, it is not related to qBittorrent.
|
||||
|
||||
* **Specify the OS you're using, its version and architecture.**
|
||||
* Examples: Windows 8.1 32-bit, Linux Mint 17.1 64-bit, Windows 10 Fall creators Update 64-bit, etc.
|
||||
|
||||
|
||||
* **Report only if you run into the issue with an official stable release, a beta release, or with the most recent upstream changes (in this last case specify the specific commit you are on).** (beta testing is encouraged :smile:). We do not provide support for bugs on unofficial Windows builds.
|
||||
|
||||
* **Specify the version of qBittorrent** you are using, as well as its **architecture** (x86 or x64) and its **libraries' versions** (Help -> About -> Libraries).
|
||||
|
||||
* Specify **how you installed**:
|
||||
- Linux: either from the PPA, your distribution's repositories, or compiled from source, or even possibly third-party repositories.
|
||||
- Windows: either from the installer, or compiled from source, or even possibly third-party repositories.
|
||||
- macOS: either from the installer, or compiled from source, or even possibly third-party repositories.
|
||||
|
||||
|
||||
* **Describe the exact steps which reproduce the problem in as many details as possible.**
|
||||
- For example, start by explaining how you started qBittorrent, e.g. was it via the terminal? Desktop icon? Did you start it as root or normal user?
|
||||
- **When listing steps, don't just say what you did, but explain how you did it.**
|
||||
- For example, if you added a torrent for download, did you do so via a `.torrent` file or via a magnet link? If it was with a torrent file did you do so by dragging the torrent file from the file manager to the transfer list, or did you use the "Add Torrent File" in the Top Bar?
|
||||
- Describe the behavior you observed after following the steps and point out what exactly is the problem with that behavior; this is what we'll be looking for after executing the steps.
|
||||
|
||||
|
||||
* **Explain which behavior you expected to see instead** and why.
|
||||
|
||||
* Use **screenshots/animated GIFs to help describe the issue** whenever appropriate [(How?)][attachments-howto-url].
|
||||
|
||||
* If the problem wasn't triggered by a specific action, describe what you were doing before the problem happened.
|
||||
|
||||
* **If you are reporting that qBittorrent crashes**, include the stack trace in the report; include it in a code block, a file attachment, or put it in a gist and provide link to that gist.
|
||||
|
||||
* **For performance-related issues**, include as much profiling data as you can (resource usage graphs, etc).
|
||||
|
||||
* Paste the **qBittorrent log** (or put the contents of the log in a gist and provide a link to the gist). The log can be viewed in the GUI (View -> Log -> tick all boxes). If you can't do that, the file is at:
|
||||
- Linux: `~/.local/share/data/qBittorrent/logs/qBittorrent.log`
|
||||
- Windows: `%LocalAppData%\qBittorrent\logs`
|
||||
- macOS: `~/Library/Application Support/qBittorrent/qBittorrent.log`
|
||||
|
||||
|
||||
* **Do NOT post comments like "+1" or "me too!"** without providing new relevant info on the issue. Using the built-in reactions is OK though. Remember that you can use the "subscribe" button to receive notifications of that report without having to comment first.
|
||||
|
||||
* If there seems to be an **issue with specific torrent files/magnet links**:
|
||||
- Don't post private `.torrent` files/magnet links, or ones that point to copyrighted content. If you are willing, offer to email a link or the `.torrent` file itself to whoever developer is debugging it and requests it.
|
||||
- Make sure you can't reproduce the problem with another client, to rule out the possibility that the issue is with the `.torrent` file/magnet link itself.
|
||||
|
||||
|
||||
* A screenshot, transcription or file upload of any of **qBittorrent's preferences that differ from the defaults.** Please include everything different from the defaults whether or not it seems relevant to your issue.
|
||||
|
||||
* **Attachment rules**:
|
||||
- Short logs and error messages can be pasted as quotes/code whenever small enough; otherwise make a gist with the contents and post the link to the gist.
|
||||
- Avoid linking/attaching impractical file formats such as PDFs/Word documents with images. If you want to post an image, just post the image.
|
||||
|
||||
### Provide more context by answering these questions (if applicable):
|
||||
|
||||
- Can you **reliably reproduce the issue?** If not, provide details about how often the problem happens and under which conditions it normally happens (e.g. only happens with extremely large torrents/only happens after qBittorrent is open for more than 2 days/etc...)
|
||||
|
||||
- Did the problem start happening recently (e.g. after updating to a new version of qBittorrent) or was this always a problem?
|
||||
|
||||
- If the problem started happening recently, can you reproduce the problem in an older version of qBittorrent?
|
||||
|
||||
- Are you saving files locally (in a disk in your machine), or are you saving them remotely (e.g. network drives)?
|
||||
|
||||
- Are you using qBittorrent with multiple monitors? If so, can you reproduce the problem when you use a single monitor?
|
||||
|
||||
Good read: [How to Report Bugs Effectively][howto-report-bugs-url]
|
||||
|
||||
# Suggesting enhancements/feature requests
|
||||
|
||||
This section guides you through submitting an enhancement suggestion for qBittorrent, including completely new features and minor improvements to existing functionality.
|
||||
|
||||
Following these guidelines helps maintainers and the community understand your suggestion and find related suggestions.
|
||||
|
||||
## Before submitting an enhancement/feature request
|
||||
|
||||
* Check the [wiki][wiki-url] and [forum][forum-url] for tips — you might discover that the enhancement is already available.
|
||||
* Most importantly, check if you're using the latest version of qBittorrent and if you can get the desired behavior by changing qBittorrent's settings.
|
||||
* Check in the [releases][releases-url] page or on the [forum][forum-url], see if there's already a alpha/beta version with that enhancement.
|
||||
* Perform a cursory search to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
|
||||
|
||||
## Steps to ensure a good enhancement/feature suggestion
|
||||
|
||||
- Specify which version of qBittorrent you're using.
|
||||
- Specify the name and version of the OS you're using.
|
||||
- Provide a step-by-step description of the suggested enhancement in as many details as possible.
|
||||
- Describe the current behavior and explain which behavior you expected to see instead and why.
|
||||
- Include screenshots and animated GIFs which help you demonstrate the steps or point out the part of qBittorrent which the suggestion is related to.
|
||||
- If this enhancement exists in other BitTorrent clients, list those clients.
|
||||
|
||||
# Opening a pull request
|
||||
|
||||
### Must read
|
||||
* Read our [**coding guidelines**](https://github.com/qbittorrent/qBittorrent/blob/master/CODING_GUIDELINES.md). There are some scripts to help you: [uncrustify script](https://raw.githubusercontent.com/qbittorrent/qBittorrent/master/uncrustify.cfg), [astyle script](https://gist.github.com/Chocobo1/539cee860d1eef0acfa6), [(related thread)](https://github.com/qbittorrent/qBittorrent/issues/2192).
|
||||
* Keep the title **short** and provide a **clear** description about what your pull request does.
|
||||
* Provide **screenshots** for UI related changes.
|
||||
* Keep your git commit history **clean** and **precise**. Commits like `xxx fixup` should not appear.
|
||||
* If your commit fix a reported issue (for example #4134), add the following message to the commit `Closes #4134.`. Example [here](https://github.com/qbittorrent/qBittorrent/commit/a74bac20c4e8de9776bf9bb77fdc7526135d1988).
|
||||
* Read our [**coding guidelines**][coding-guidelines-url]. There are some scripts to help you: [uncrustify script][uncrustify-script-url], [astyle script][astyle-script-url], [(related thread)][coding-guidelines-thread-url].
|
||||
* Keep the title **short** and provide a **clear** description about what your pull request does.
|
||||
* Provide **screenshots** for UI related changes.
|
||||
* Keep your git commit history **clean** and **precise.** Refer to the section about "Git commit messages" in the [**coding guidelines**][coding-guidelines-url].
|
||||
* If your commit fixes a reported issue (for example #4134), add the following message to the commit `Closes #4134.`. Example [here][commit-message-fix-issue-example-url].
|
||||
|
||||
### Good to know
|
||||
* **Search** pull request history! Others might already implemented your idea and is waiting to be merged (or got rejected already). Save your precious time by doing a search first.
|
||||
* When resolving merge conflicts, do `git rebase <target_branch_name>`, don't do `git pull`. Then you can start fixing the conflicts. Here is a good explanation: [link](https://www.atlassian.com/git/tutorials/merging-vs-rebasing).
|
||||
* **Search** pull request history! Others might have already implemented your idea and it is waiting to be merged (or got rejected already). Save your precious time by doing a search first.
|
||||
* When resolving merge conflicts, do `git rebase <target_branch_name>`, don't do `git pull`. Then you can start fixing the conflicts. Here is a good explanation: [link][merging-vs-rebasing-url].
|
||||
|
||||
[astyle-script-url]: https://gist.github.com/Chocobo1/539cee860d1eef0acfa6
|
||||
[attachments-howto-url]: https://help.github.com/articles/file-attachments-on-issues-and-pull-requests
|
||||
[coding-guidelines-url]: https://github.com/qbittorrent/qBittorrent/blob/master/CODING_GUIDELINES.md
|
||||
[coding-guidelines-thread-url]: https://github.com/qbittorrent/qBittorrent/issues/2192
|
||||
[commit-message-fix-issue-example-url]: https://github.com/qbittorrent/qBittorrent/commit/c07cd440cd46345297debb47cb260f8688975f50
|
||||
[forum-url]: http://forum.qbittorrent.org/
|
||||
[howto-report-bugs-url]: https://www.chiark.greenend.org.uk/~sgtatham/bugs.html
|
||||
[merging-vs-rebasing-url]: https://www.atlassian.com/git/tutorials/merging-vs-rebasing
|
||||
[python-url]: https://www.python.org/
|
||||
[releases-url]: https://github.com/qbittorrent/qBittorrent/releases
|
||||
[search-plugins-url]: https://github.com/qbittorrent/search-plugins
|
||||
[uncrustify-script-url]: https://raw.githubusercontent.com/qbittorrent/qBittorrent/master/uncrustify.cfg
|
||||
[wiki-url]: https://github.com/qbittorrent/qBittorrent/wiki
|
||||
[builds-url]: https://sourceforge.net/projects/qbittorrent/files/
|
||||
|
49
INSTALL
49
INSTALL
@@ -1,54 +1,49 @@
|
||||
qBittorrent - A BitTorrent client in C++ / Qt4
|
||||
qBittorrent - A BitTorrent client in C++ / Qt
|
||||
------------------------------------------
|
||||
|
||||
1) Compile and install qBittorrent with Qt4 Graphical Interface
|
||||
1) Compile and install qBittorrent with Qt graphical interface
|
||||
|
||||
$ ./configure
|
||||
$ make && make install
|
||||
$ qbittorrent
|
||||
|
||||
will install and execute qBittorrent hopefully without any problems.
|
||||
will install and execute qBittorrent.
|
||||
|
||||
Dependencies:
|
||||
- Qt >= 4.6.0 (libqtgui, libqtcore, libqtnetwork, libqtxml, libqtdbus/optional)
|
||||
- Qt >= 5.5.1
|
||||
|
||||
- pkg-config executable
|
||||
- pkg-config
|
||||
|
||||
- libtorrent-rasterbar by Arvid Norberg (>= 1.0.6)
|
||||
-> http://www.libtorrent.net
|
||||
Be careful: another library (the one used by rTorrent) uses a similar name.
|
||||
- libtorrent-rasterbar >= 1.0.6 (by Arvid Norberg)
|
||||
* https://www.libtorrent.org/
|
||||
* Be careful: another library (the one used by rTorrent) uses a similar name
|
||||
|
||||
- libboost >= 1.35.x (libboost-system)
|
||||
- Boost >= 1.35
|
||||
|
||||
- python >= 2.3 (needed by search engine)
|
||||
* Run time only dependency
|
||||
- Python >= 2.7.9 / 3.3.0 (optional, runtime only)
|
||||
* Required by the internal search engine
|
||||
|
||||
- geoip-database (optional)
|
||||
* If qBittorrent cannot find this database, it will try to resolve countries using the Internet but it will be a lot slower.
|
||||
* Run time only dependency
|
||||
|
||||
2) Compile and install qBittorrent without Qt4 Graphical interface
|
||||
2) Compile and install qBittorrent without Qt graphical interface
|
||||
|
||||
$ ./configure --disable-gui
|
||||
$ make && make install
|
||||
$ qbittorrent
|
||||
$ qbittorrent-nox
|
||||
|
||||
will install and execute qBittorrent hopefully without any problems.
|
||||
will install and execute qBittorrent.
|
||||
|
||||
Dependencies:
|
||||
- Qt >= 4.4.0 (libqt-devel, libqtcore, libqtnetwork)
|
||||
- Qt >= 5.5.1
|
||||
|
||||
- pkg-config executable
|
||||
- pkg-config
|
||||
|
||||
- libtorrent-rasterbar by Arvid Norberg (>= v1.0.6)
|
||||
-> http://www.libtorrent.net
|
||||
Be careful: another library (the one used by rTorrent) uses a similar name.
|
||||
|
||||
- libboost: libboost-filesystem, libboost-date-time, libboost-thread, libboost-serialization
|
||||
- libtorrent-rasterbar >= 1.0.6 (by Arvid Norberg)
|
||||
* https://www.libtorrent.org/
|
||||
* Be careful: another library (the one used by rTorrent) uses a similar name
|
||||
|
||||
- Boost >= 1.35
|
||||
|
||||
DOCUMENTATION:
|
||||
Please note that there is a documentation with a "compiling howto" at http://wiki.qbittorrent.org.
|
||||
Please note that there is a "Compilation" section at http://wiki.qbittorrent.org.
|
||||
|
||||
------------------------------------------
|
||||
Christophe Dumez <chris@qbittorrent.org>
|
||||
sledgehammer999 <sledgehammer999@qbittorrent.org>
|
||||
|
@@ -35,7 +35,7 @@ You can also download it from [here](https://github.com/qbittorrent/qBittorrent/
|
||||
|
||||
### Misc:
|
||||
For more information please visit:
|
||||
http://www.qbittorrent.org
|
||||
https://www.qbittorrent.org
|
||||
|
||||
or our wiki here:
|
||||
http://wiki.qbittorrent.org
|
||||
|
74
README.os2
74
README.os2
@@ -1,74 +0,0 @@
|
||||
qBittorrent - A BitTorrent client in Qt4
|
||||
------------------------------------------
|
||||
|
||||
This is the eComStation (OS/2) qBittorrent part of the readme. See also README for more general information.
|
||||
|
||||
|
||||
Building qBittorrent
|
||||
********************
|
||||
|
||||
|
||||
Requirements
|
||||
============
|
||||
|
||||
- gcc based build env (recommended gcc v4.4.2 or greater)
|
||||
|
||||
- Qt4 for eCS (OS/2) dev package (see http://svn.netlabs.org/qt4 for more information)
|
||||
|
||||
- libtorrent-rasterbar for eCS (OS/2) port (see http://svn.netlabs.org/ports for more information)
|
||||
|
||||
- boost for eCS (OS/2) port (see http://svn.netlabs.org/ports for more information)
|
||||
|
||||
|
||||
How to build
|
||||
============
|
||||
|
||||
First you need to create the conf.pri file in the same dir as this readme.os2 is.
|
||||
the conf.pri file has the following content:
|
||||
|
||||
##### conf.pri content begin #####
|
||||
BINDIR = ./bin
|
||||
INCDIR = ./include
|
||||
LIBDIR = ./lib
|
||||
DATADIR = ./share
|
||||
|
||||
CONFIG += staticlib
|
||||
INCLUDEPATH += x:/trees/libtorrent/trunk/include
|
||||
LIBS += -Lx:/trees/libtorrent/trunk/src/.libs \
|
||||
-Lx:/trees/boost/trunk/stage/lib \
|
||||
-Lx:/trees/openssl \
|
||||
-Lx:/extras/lib
|
||||
##### conf.pri content end #####
|
||||
|
||||
Of course all the above path references have to be adjusted to your build env.
|
||||
|
||||
Now you can either do a normal build or a shadow build. A shadow build has the
|
||||
advantage that no created files are in the same dir as the sources are.
|
||||
|
||||
For a normal build do the following:
|
||||
|
||||
Simply type:
|
||||
$ qmake
|
||||
|
||||
Followed by:
|
||||
$ make
|
||||
|
||||
For a shadow build do the following:
|
||||
given your sources are in x:\trees\qbittorrent\trunk create a
|
||||
x:\trees\qbittorrent\build directory
|
||||
|
||||
Now switch to the created directory and type:
|
||||
$ qmake ..\trunk
|
||||
|
||||
Followed by:
|
||||
$ make
|
||||
|
||||
If all works fine you should get a working qbittorrent executable.
|
||||
|
||||
If you have any question regarding the eCS (OS/2) port of qBittorrent you can meet me (_diver) on IRC:
|
||||
#netlabs on irc.freenode.net
|
||||
|
||||
------------------------------------------
|
||||
Silvan Scherrer <silvan.scherrer@aroa.ch>
|
||||
|
||||
|
22
cmake/Modules/CompileFeature.cmake
Normal file
22
cmake/Modules/CompileFeature.cmake
Normal file
@@ -0,0 +1,22 @@
|
||||
# Helper function for coupling add_feature_info(), option(), and add_definitions()
|
||||
|
||||
function(optional_compile_definitions _name)
|
||||
set(options FEATURE)
|
||||
set(oneValueArgs DESCRIPTION DEFAULT)
|
||||
set(multiValueArgs ENABLED DISABLED)
|
||||
cmake_parse_arguments(OCD "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
option(${_name} "${OCD_DESCRIPTION}" ${OCD_DEFAULT})
|
||||
if (${${_name}})
|
||||
set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" APPEND PROPERTY COMPILE_DEFINITIONS ${OCD_ENABLED})
|
||||
else()
|
||||
set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" APPEND PROPERTY COMPILE_DEFINITIONS ${OCD_DISABLED})
|
||||
endif()
|
||||
if(${OCD_FEATURE})
|
||||
add_feature_info(${_name} ${_name} "${OCD_DESCRIPTION}")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
macro(feature_option _name _description _default)
|
||||
option(${_name} "${_description}" ${_default})
|
||||
add_feature_info(${_name} ${_name} "${_description}")
|
||||
endmacro()
|
@@ -99,6 +99,7 @@ list(FIND LibtorrentRasterbar_DEFINITIONS -DTORRENT_USE_OPENSSL LibtorrentRaster
|
||||
if(LibtorrentRasterbar_ENCRYPTION_INDEX GREATER -1)
|
||||
find_package(OpenSSL REQUIRED)
|
||||
set(LibtorrentRasterbar_LIBRARIES ${LibtorrentRasterbar_LIBRARIES} OpenSSL::SSL OpenSSL::Crypto)
|
||||
list(APPEND LibtorrentRasterbar_INCLUDE_DIRS "${OPENSSL_INCLUDE_DIR}")
|
||||
set(LibtorrentRasterbar_OPENSSL_ENABLED ON)
|
||||
endif()
|
||||
|
||||
@@ -113,10 +114,10 @@ mark_as_advanced(LibtorrentRasterbar_INCLUDE_DIR LibtorrentRasterbar_LIBRARY
|
||||
LibtorrentRasterbar_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES
|
||||
LibtorrentRasterbar_ENCRYPTION_INDEX)
|
||||
|
||||
if (LibtorrentRasterbar_FOUND AND NOT TARGET LibtorrentRasterbar::LibTorrent)
|
||||
add_library(LibtorrentRasterbar::LibTorrent UNKNOWN IMPORTED)
|
||||
if (LibtorrentRasterbar_FOUND AND NOT TARGET LibtorrentRasterbar::torrent-rasterbar)
|
||||
add_library(LibtorrentRasterbar::torrent-rasterbar UNKNOWN IMPORTED)
|
||||
|
||||
set_target_properties(LibtorrentRasterbar::LibTorrent PROPERTIES
|
||||
set_target_properties(LibtorrentRasterbar::torrent-rasterbar PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
||||
IMPORTED_LOCATION "${LibtorrentRasterbar_LIBRARY}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${LibtorrentRasterbar_INCLUDE_DIRS}"
|
||||
|
@@ -1,94 +1,79 @@
|
||||
# - Try to find the QtSingleApplication includes and library
|
||||
# which defines
|
||||
#
|
||||
# QTSINGLEAPPLICATION_FOUND - system has QtSingleApplication
|
||||
# QTSINGLEAPPLICATION_INCLUDE_DIR - where to find header QtSingleApplication
|
||||
# QTSINGLEAPPLICATION_LIBRARIES - the libraries to link against to use QtSingleApplication
|
||||
# QTSINGLEAPPLICATION_LIBRARY - where to find the QtSingleApplication library (not for general use)
|
||||
# QtSingleApplication_FOUND - system has QtSingleApplication
|
||||
# QtSingleApplication_INCLUDE_DIR - where to find header QtSingleApplication
|
||||
# QtSingleApplication_LIBRARIES - the libraries to link against to use QtSingleApplication
|
||||
# QtSingleApplication_LIBRARY - where to find the QtSingleApplication library (not for general use)
|
||||
|
||||
# copyright (c) 2013 TI_Eugene ti.eugene@gmail.com
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the FreeBSD license.
|
||||
|
||||
SET(QTSINGLEAPPLICATION_FOUND FALSE)
|
||||
SET(QtSingleApplication_FOUND FALSE)
|
||||
|
||||
IF(QT4_FOUND)
|
||||
message(STATUS "Looking for Qt4 single application library")
|
||||
FIND_PATH(QTSINGLEAPPLICATION_INCLUDE_DIR QtSingleApplication
|
||||
# standard locations
|
||||
/usr/include
|
||||
/usr/include/QtSolutions
|
||||
# qt4 location except mac's frameworks
|
||||
"${QT_INCLUDE_DIR}/QtSolutions"
|
||||
# mac's frameworks
|
||||
${FRAMEWORK_INCLUDE_DIR}/QtSolutions
|
||||
)
|
||||
if (Qt5Widgets_FOUND)
|
||||
set(_includeFileName qtsingleapplication.h)
|
||||
else()
|
||||
set(_includeFileName qtsinglecoreapplication.h)
|
||||
endif()
|
||||
|
||||
SET(QTSINGLEAPPLICATION_NAMES ${QTSINGLEAPPLICATION_NAMES}
|
||||
QtSolutions_SingleApplication-2.6 libQtSolutions_SingleApplication-2.6)
|
||||
FIND_LIBRARY(QTSINGLEAPPLICATION_LIBRARY
|
||||
NAMES ${QTSINGLEAPPLICATION_NAMES}
|
||||
PATHS ${QT_LIBRARY_DIR}
|
||||
)
|
||||
ELSEIF(Qt5Widgets_FOUND)
|
||||
message(STATUS "Looking for Qt5 single application library")
|
||||
FOREACH(TOP_INCLUDE_PATH in ${Qt5Widgets_INCLUDE_DIRS} ${FRAMEWORK_INCLUDE_DIR})
|
||||
FIND_PATH(QTSINGLEAPPLICATION_INCLUDE_DIR QtSingleApplication ${TOP_INCLUDE_PATH}/QtSolutions)
|
||||
FOREACH(TOP_INCLUDE_PATH in ${Qt5Core_INCLUDE_DIRS} ${FRAMEWORK_INCLUDE_DIR})
|
||||
FIND_PATH(QtSingleApplication_INCLUDE_DIR ${_includeFileName} ${TOP_INCLUDE_PATH}/QtSolutions)
|
||||
|
||||
IF(QTSINGLEAPPLICATION_INCLUDE_DIR)
|
||||
BREAK()
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
IF(QtSingleApplication_INCLUDE_DIR)
|
||||
BREAK()
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
|
||||
SET(QTSINGLEAPPLICATION_NAMES ${QTSINGLEAPPLICATION_NAMES}
|
||||
Qt5Solutions_SingleApplication-2.6 libQt5Solutions_SingleApplication-2.6
|
||||
QtSolutions_SingleApplication-2.6 libQtSolutions_SingleApplication-2.6)
|
||||
GET_TARGET_PROPERTY(QT5_WIDGETSLIBRARY Qt5::Widgets LOCATION)
|
||||
GET_FILENAME_COMPONENT(QT5_WIDGETSLIBRARYPATH ${QT5_WIDGETSLIBRARY} PATH)
|
||||
SET(QtSingleApplication_NAMES ${QtSingleApplication_NAMES}
|
||||
Qt5Solutions_SingleApplication-2.6 libQt5Solutions_SingleApplication-2.6
|
||||
QtSolutions_SingleApplication-2.6 libQtSolutions_SingleApplication-2.6)
|
||||
GET_TARGET_PROPERTY(_QT5_CORELIBRARY Qt5::Core LOCATION)
|
||||
GET_FILENAME_COMPONENT(_QT5_CORELIBRARYPATH ${_QT5_CORELIBRARY} PATH)
|
||||
|
||||
FIND_LIBRARY(QTSINGLEAPPLICATION_LIBRARY
|
||||
NAMES ${QTSINGLEAPPLICATION_NAMES}
|
||||
PATHS ${QT5_WIDGETSLIBRARYPATH}
|
||||
)
|
||||
ENDIF()
|
||||
FIND_LIBRARY(QtSingleApplication_LIBRARY
|
||||
NAMES ${QtSingleApplication_NAMES}
|
||||
PATHS ${_QT5_CORELIBRARYPATH}
|
||||
)
|
||||
|
||||
IF (QTSINGLEAPPLICATION_LIBRARY AND QTSINGLEAPPLICATION_INCLUDE_DIR)
|
||||
IF (QtSingleApplication_LIBRARY AND QtSingleApplication_INCLUDE_DIR)
|
||||
|
||||
SET(QTSINGLEAPPLICATION_LIBRARIES ${QTSINGLEAPPLICATION_LIBRARY})
|
||||
SET(QTSINGLEAPPLICATION_FOUND TRUE)
|
||||
SET(QtSingleApplication_LIBRARIES ${QtSingleApplication_LIBRARY})
|
||||
SET(QtSingleApplication_FOUND TRUE)
|
||||
|
||||
IF (CYGWIN)
|
||||
IF(BUILD_SHARED_LIBS)
|
||||
# No need to define QTSINGLEAPPLICATION_USE_DLL here, because it's default for Cygwin.
|
||||
# No need to define QtSingleApplication_USE_DLL here, because it's default for Cygwin.
|
||||
ELSE(BUILD_SHARED_LIBS)
|
||||
SET (QTSINGLEAPPLICATION_DEFINITIONS -DQTSINGLEAPPLICATION_STATIC)
|
||||
SET (QtSingleApplication_DEFINITIONS -DQTSINGLEAPPLICATION_STATIC)
|
||||
ENDIF(BUILD_SHARED_LIBS)
|
||||
ENDIF (CYGWIN)
|
||||
|
||||
ENDIF (QTSINGLEAPPLICATION_LIBRARY AND QTSINGLEAPPLICATION_INCLUDE_DIR)
|
||||
ENDIF (QtSingleApplication_LIBRARY AND QtSingleApplication_INCLUDE_DIR)
|
||||
|
||||
IF (QTSINGLEAPPLICATION_FOUND)
|
||||
IF (NOT QtSingleApplication_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "Found QtSingleApplication: ${QTSINGLEAPPLICATION_LIBRARY}")
|
||||
MESSAGE(STATUS " includes: ${QTSINGLEAPPLICATION_INCLUDE_DIR}")
|
||||
ENDIF (NOT QtSingleApplication_FIND_QUIETLY)
|
||||
ELSE (QTSINGLEAPPLICATION_FOUND)
|
||||
IF (QtSingleApplication_FOUND)
|
||||
IF (NOT QtSingleApplication_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "Found QtSingleApplication: ${QtSingleApplication_LIBRARY}")
|
||||
MESSAGE(STATUS " includes: ${QtSingleApplication_INCLUDE_DIR}")
|
||||
ENDIF (NOT QtSingleApplication_FIND_QUIETLY)
|
||||
if(NOT TARGET QtSingleApplication::QtSingleApplication)
|
||||
add_library(QtSingleApplication::QtSingleApplication UNKNOWN IMPORTED)
|
||||
set_target_properties(QtSingleApplication::QtSingleApplication PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${QtSingleApplication_INCLUDE_DIR}"
|
||||
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${QtSingleApplication_INCLUDE_DIR}"
|
||||
)
|
||||
if(EXISTS "${QtSingleApplication_LIBRARY}")
|
||||
set_target_properties(QtSingleApplication::QtSingleApplication PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
||||
IMPORTED_LOCATION "${QtSingleApplication_LIBRARY}")
|
||||
endif()
|
||||
endif(NOT TARGET QtSingleApplication::QtSingleApplication)
|
||||
|
||||
ELSE (QtSingleApplication_FOUND)
|
||||
IF (QtSingleApplication_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR "Could not find QtSingleApplication library")
|
||||
ENDIF (QtSingleApplication_FIND_REQUIRED)
|
||||
ENDIF (QTSINGLEAPPLICATION_FOUND)
|
||||
ENDIF (QtSingleApplication_FOUND)
|
||||
|
||||
MARK_AS_ADVANCED(QTSINGLEAPPLICATION_INCLUDE_DIR QTSINGLEAPPLICATION_LIBRARY)
|
||||
|
||||
if(NOT TARGET QtSingleApplication::QtSingleApplication)
|
||||
add_library(QtSingleApplication::QtSingleApplication UNKNOWN IMPORTED)
|
||||
set_target_properties(QtSingleApplication::QtSingleApplication PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${QTSINGLEAPPLICATION_INCLUDE_DIR}"
|
||||
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${QTSINGLEAPPLICATION_INCLUDE_DIR}"
|
||||
)
|
||||
if(EXISTS "${QTSINGLEAPPLICATION_LIBRARY}")
|
||||
set_target_properties(QtSingleApplication::QtSingleApplication PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
||||
IMPORTED_LOCATION "${QTSINGLEAPPLICATION_LIBRARY}")
|
||||
endif()
|
||||
endif(NOT TARGET QtSingleApplication::QtSingleApplication)
|
||||
MARK_AS_ADVANCED(QtSingleApplication_INCLUDE_DIR QtSingleApplication_LIBRARY)
|
||||
|
@@ -1,5 +1,5 @@
|
||||
# - macro similar to target_link_libraries, which links Qt components
|
||||
# names of the components are pased in Qt4/Qt5 agnostic way (Core, DBus, Xml...)
|
||||
# names of the components are passed in Qt4/Qt5 agnostic way (Core, DBus, Xml...)
|
||||
# and the macro links Qt4 ones if QT4_FOUND is set or Qt5 ones if not
|
||||
|
||||
macro (target_link_qt_components target)
|
||||
|
@@ -11,18 +11,17 @@ macro(qbt_set_compiler_options)
|
||||
#-Wshadow -Wconversion ?
|
||||
set(_GCC_COMMON_C_AND_CXX_FLAGS "-Wall -Wextra"
|
||||
"-Wfloat-equal -Wcast-qual -Wcast-align"
|
||||
"-Wsign-conversion -Winvalid-pch -Werror=return-type -Wno-long-long"
|
||||
# -fstack-protector-all
|
||||
"-Werror -Wno-error=deprecated-declarations"
|
||||
"-Wsign-conversion -Winvalid-pch -Wno-long-long"
|
||||
#"-fstack-protector-all"
|
||||
#"-Werror -Wno-error=deprecated-declarations"
|
||||
)
|
||||
set (_GCC_COMMON_CXX_FLAGS "-fexceptions -frtti"
|
||||
"-Woverloaded-virtual -Wold-style-cast -Wstrict-null-sentinel"
|
||||
set(_GCC_COMMON_CXX_FLAGS "-fexceptions -frtti"
|
||||
"-Woverloaded-virtual -Wold-style-cast"
|
||||
"-Wnon-virtual-dtor -Wfloat-equal -Wcast-qual -Wcast-align"
|
||||
"-Werror=overloaded-virtual"
|
||||
# "-Weffc++"
|
||||
"-Werror -Wno-error=cpp"
|
||||
#"-Weffc++"
|
||||
#"-Werror -Wno-error=cpp"
|
||||
# we should modify code to make these ones obsolete
|
||||
"-Wno-error=sign-conversion -Wno-error=float-equal"
|
||||
#"-Wno-error=sign-conversion -Wno-error=float-equal"
|
||||
)
|
||||
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9)
|
||||
@@ -54,6 +53,20 @@ macro(qbt_set_compiler_options)
|
||||
endif(${GLIBC_VERSION})
|
||||
endif (CMAKE_SYSTEM_NAME MATCHES Linux)
|
||||
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
# Clang 5.0 still doesn't support -Wstrict-null-sentinel
|
||||
check_cxx_compiler_flag(-Wstrict-null-sentinel _STRICT_NULL_SENTINEL_IS_SUPPORTED)
|
||||
if (_STRICT_NULL_SENTINEL_IS_SUPPORTED)
|
||||
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wstrict-null-sentinel")
|
||||
endif (_STRICT_NULL_SENTINEL_IS_SUPPORTED)
|
||||
|
||||
# Code should be improved to render this not needed
|
||||
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wno-error=unused-function -Wno-error=inconsistent-missing-override")
|
||||
else ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
# GCC supports it
|
||||
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wstrict-null-sentinel")
|
||||
endif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
|
||||
string(REPLACE ";" " " _GCC_COMMON_C_AND_CXX_FLAGS_STRING "${_GCC_COMMON_C_AND_CXX_FLAGS}")
|
||||
string(REPLACE ";" " " _GCC_COMMON_CXX_FLAGS_STRING "${_GCC_COMMON_CXX_FLAGS}")
|
||||
|
||||
|
@@ -1,16 +1,17 @@
|
||||
# a helper function which appends source to the main qBt target
|
||||
# sources file names are relative to the the ${qBittorrent_SOURCE_DIR}
|
||||
# a helper function which appends source to the target
|
||||
# sources file names are relative to the the target source dir
|
||||
|
||||
function (qbt_target_sources)
|
||||
set (_sources_rel "")
|
||||
foreach (_source IN ITEMS ${ARGN})
|
||||
if (IS_ABSOLUTE "${_source}")
|
||||
set(source_abs "${_source}")
|
||||
function (qbt_target_sources _target _scope)
|
||||
get_target_property(targetSourceDir ${_target} SOURCE_DIR)
|
||||
set(sourcesRelative "")
|
||||
foreach(source IN ITEMS ${ARGN})
|
||||
if(IS_ABSOLUTE "${source}")
|
||||
set(sourceAbsolutePath "${source}")
|
||||
else()
|
||||
get_filename_component(_source_abs "${_source}" ABSOLUTE)
|
||||
get_filename_component(sourceAbsolutePath "${source}" ABSOLUTE)
|
||||
endif()
|
||||
file (RELATIVE_PATH _source_rel "${qbt_executable_SOURCE_DIR}" "${_source_abs}")
|
||||
list (APPEND _sources_rel "${_source_rel}")
|
||||
file(RELATIVE_PATH sourceRelativePath "${targetSourceDir}" "${sourceAbsolutePath}")
|
||||
list(APPEND sourcesRelative "${sourceRelativePath}")
|
||||
endforeach()
|
||||
target_sources (qBittorrent PRIVATE "${_sources_rel}")
|
||||
endfunction (qbt_target_sources)
|
||||
target_sources(${_target} ${_scope} "${sourcesRelative}")
|
||||
endfunction(qbt_target_sources)
|
||||
|
@@ -1,9 +1,9 @@
|
||||
if (STACKTRACE_WIN)
|
||||
if (STACKTRACE)
|
||||
if ("${WINXXBITS}" NOT STREQUAL "Win64")
|
||||
add_compile_options(-fno-omit-frame-pointer)
|
||||
endif ("${WINXXBITS}" NOT STREQUAL "Win64")
|
||||
link_libraries(libdbghelp -Wl,--export-all-symbols)
|
||||
endif (STACKTRACE_WIN)
|
||||
endif (STACKTRACE)
|
||||
|
||||
if (("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") OR ("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo"))
|
||||
link_libraries(-Wl,--dynamicbase)
|
||||
|
@@ -1,4 +1,4 @@
|
||||
if (STACKTRACE_WIN)
|
||||
if (STACKTRACE)
|
||||
if ("${WINXXBITS}" STREQUAL "Win64")
|
||||
add_compile_options(-Zi)
|
||||
else ("${WINXXBITS}" STREQUAL "Win64")
|
||||
@@ -6,7 +6,7 @@ if (STACKTRACE_WIN)
|
||||
add_compile_options(-Oy-)
|
||||
endif ("${WINXXBITS}" STREQUAL "Win64")
|
||||
link_libraries(dbghelp.lib)
|
||||
endif (STACKTRACE_WIN)
|
||||
endif (STACKTRACE)
|
||||
|
||||
# Enable Wide characters
|
||||
add_definitions(-DTORRENT_USE_WPATH)
|
||||
|
@@ -24,6 +24,7 @@ add_definitions(-DUNICODE
|
||||
-D_WIN32_IE=0x0501
|
||||
-D_CRT_SECURE_NO_DEPRECATE
|
||||
-D_SCL_SECURE_NO_DEPRECATE
|
||||
-DNOMINMAX
|
||||
)
|
||||
# and boost
|
||||
set(Boost_USE_STATIC_LIBS True)
|
||||
|
69
conf.pri.windows
Normal file
69
conf.pri.windows
Normal file
@@ -0,0 +1,69 @@
|
||||
# Adapt these paths
|
||||
# Point these to the include folders
|
||||
INCLUDEPATH += $$quote(C:/qBittorrent/boost)
|
||||
INCLUDEPATH += $$quote(C:/qBittorrent/libtorrent/include)
|
||||
INCLUDEPATH += $$quote(C:/qBittorrent/zlib/include)
|
||||
INCLUDEPATH += $$quote(C:/qBittorrent/openssl/include)
|
||||
# Point these to the lib folders
|
||||
LIBS += $$quote(-LC:/qBittorrent/boost/stage/lib)
|
||||
LIBS += $$quote(-LC:/qBittorrent/libtorrent/lib)
|
||||
LIBS += $$quote(-LC:/qBittorrent/zlib/lib)
|
||||
LIBS += $$quote(-LC:/qBittorrent/openssl/lib)
|
||||
|
||||
# Adapt the lib names/versions accordingly
|
||||
# If you want to use Boost auto-linking then disable
|
||||
# BOOST_ALL_NO_LIB below and omit Boost libraries here
|
||||
CONFIG(debug, debug|release) {
|
||||
LIBS += libtorrentd.lib \
|
||||
libboost_system-vc140-mt-sgd-1_64.lib
|
||||
}
|
||||
else {
|
||||
LIBS += libtorrent.lib \
|
||||
libboost_system-vc140-mt-s-1_64.lib
|
||||
}
|
||||
LIBS += libeay32.lib ssleay32.lib
|
||||
LIBS += zlib.lib
|
||||
# ...or if you use MinGW
|
||||
#CONFIG(debug, debug|release) {
|
||||
# LIBS += libtorrent-rasterbar \
|
||||
# libboost_system-mt
|
||||
#}
|
||||
#else {
|
||||
# LIBS += libtorrent-rasterbar \
|
||||
# libboost_system-mt
|
||||
#}
|
||||
#LIBS += libcrypto libssl
|
||||
#LIBS += libz
|
||||
|
||||
DEFINES += NTDDI_VERSION=0x05010000
|
||||
DEFINES += _WIN32_WINNT=0x0501
|
||||
DEFINES += _WIN32_IE=0x0501
|
||||
|
||||
# Disable to use Boost auto-linking
|
||||
DEFINES += BOOST_ALL_NO_LIB
|
||||
# Use one of the following options
|
||||
DEFINES += BOOST_SYSTEM_STATIC_LINK
|
||||
#DEFINES += BOOST_SYSTEM_DYN_LINK
|
||||
# Boost 1.60+ defaults to Vista+ support. The define below enables XP support again.
|
||||
DEFINES += BOOST_USE_WINAPI_VERSION=0x0501
|
||||
# Enable if building against libtorrent 1.0.x (RC_1_0) (static linking)
|
||||
#DEFINES += BOOST_ASIO_SEPARATE_COMPILATION
|
||||
# Enable if building against libtorrent 1.0.x (RC_1_0) (dynamic linking)
|
||||
#DEFINES += BOOST_ASIO_DYN_LINK
|
||||
# Enable if encountered build error with boost version <= 1.59
|
||||
#DEFINES += BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
|
||||
# Enable if building against libtorrent 1.1.x (RC_1_1)
|
||||
# built with this flag defined
|
||||
#DEFINES += TORRENT_NO_DEPRECATE
|
||||
# Enable if linking dynamically against libtorrent
|
||||
#DEFINES += TORRENT_LINKING_SHARED
|
||||
|
||||
# Enable stack trace support
|
||||
CONFIG += stacktrace
|
||||
|
||||
win32-msvc* {
|
||||
QMAKE_CXXFLAGS += "/guard:cf"
|
||||
QMAKE_LFLAGS += "/guard:cf"
|
||||
QMAKE_LFLAGS_RELEASE += "/OPT:REF /OPT:ICF"
|
||||
}
|
70
configure.ac
70
configure.ac
@@ -1,4 +1,4 @@
|
||||
AC_INIT([qbittorrent], [v3.2.0alpha], [bugs.qbittorrent.org], [], [http://www.qbittorrent.org/])
|
||||
AC_INIT([qbittorrent], [v4.1.3], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_PROG_CC
|
||||
@@ -24,6 +24,12 @@ AC_ARG_ENABLE(debug,
|
||||
[],
|
||||
[enable_debug=no])
|
||||
|
||||
AC_ARG_ENABLE(stacktrace,
|
||||
[AS_HELP_STRING([--enable-stacktrace],
|
||||
[Enable stacktrace feature (default=auto)])],
|
||||
[],
|
||||
[enable_stacktrace=auto])
|
||||
|
||||
AC_ARG_ENABLE(gui,
|
||||
[AS_HELP_STRING([--disable-gui],
|
||||
[Disable the GUI for headless running. Disables QtDBus and the GeoIP Database.])],
|
||||
@@ -80,6 +86,23 @@ AS_CASE(["x$enable_debug"],
|
||||
[AC_MSG_RESULT([$enable_debug])
|
||||
AC_MSG_ERROR([Unknown option "$enable_debug". Use either "yes" or "no".])])
|
||||
|
||||
AC_MSG_CHECKING([whether to enable the stacktrace feature])
|
||||
AS_CASE(["x$enable_stacktrace"],
|
||||
["xno"],
|
||||
[AC_MSG_RESULT([no])
|
||||
QBT_REMOVE_CONFIG="$QBT_REMOVE_CONFIG stacktrace"],
|
||||
["xyes"],
|
||||
[AC_MSG_RESULT([yes])
|
||||
QBT_ADD_CONFIG="$QBT_ADD_CONFIG stacktrace"],
|
||||
["xauto"],
|
||||
[AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <execinfo.h>]])],
|
||||
[AC_MSG_RESULT([yes])
|
||||
QBT_ADD_CONFIG="$QBT_ADD_CONFIG stacktrace"],
|
||||
[AC_MSG_RESULT([no])
|
||||
QBT_REMOVE_CONFIG="$QBT_REMOVE_CONFIG stacktrace"])],
|
||||
[AC_MSG_RESULT([$enable_stacktrace])
|
||||
AC_MSG_ERROR([Unknown option "$enable_stacktrace". Use either "yes" or "no".])])
|
||||
|
||||
AC_MSG_CHECKING([whether to enable the GUI])
|
||||
AS_CASE(["x$enable_gui"],
|
||||
["xyes"],
|
||||
@@ -116,6 +139,12 @@ AS_CASE(["x$enable_webui"],
|
||||
AC_MSG_ERROR([Unknown option "$enable_webui". Use either "yes" or "no".])])
|
||||
|
||||
FIND_QT5()
|
||||
AS_IF([test "x$QT_QMAKE" = "x"],
|
||||
[AC_MSG_ERROR([Could not find qmake])
|
||||
])
|
||||
AS_IF([test "x$enable_gui" = "xyes"],
|
||||
[PKG_CHECK_MODULES(Qt5Svg, [Qt5Svg >= 5.5.1])
|
||||
])
|
||||
AC_MSG_CHECKING([whether QtDBus should be enabled])
|
||||
AS_CASE(["x$enable_qt_dbus"],
|
||||
["xyes"],
|
||||
@@ -132,22 +161,27 @@ AS_CASE(["x$enable_qt_dbus"],
|
||||
AC_MSG_ERROR([Unknown option "$enable_qt_dbus". Use either "yes" or "no".])])
|
||||
|
||||
|
||||
AX_BOOST_BASE([1.35])
|
||||
# HAVE_BOOST is set to an empty value when Boost is found. I don't know
|
||||
# how to test for a set vs unset variable.
|
||||
AS_IF([test "x$BOOST_CPPFLAGS" = "x"],
|
||||
[AC_MSG_ERROR([Could not find Boost])],
|
||||
[AC_MSG_NOTICE([Boost CPPFLAGS: $BOOST_CPPFLAGS])
|
||||
CPPFLAGS="$BOOST_CPPFLAGS $CPPFLAGS"
|
||||
LDFLAGS="$BOOST_LDFLAGS $LDFLAGS"])
|
||||
AX_BOOST_BASE([1.35],
|
||||
[AC_MSG_NOTICE([Boost CPPFLAGS: "$BOOST_CPPFLAGS"
|
||||
Boost LDFLAGS: "$BOOST_LDFLAGS"])],
|
||||
[AC_MSG_ERROR([Could not find Boost])])
|
||||
CPPFLAGS="$BOOST_CPPFLAGS $CPPFLAGS"
|
||||
LDFLAGS="$BOOST_LDFLAGS $LDFLAGS"
|
||||
|
||||
# add workaround for problematic boost version
|
||||
AC_LANG_PUSH(C++)
|
||||
# taken from ax_boost_base.m4
|
||||
m4_define([DETECT_BOOST_VERSION_PROGRAM],
|
||||
[AC_LANG_PROGRAM([[#include <boost/version.hpp>]],
|
||||
[[(void) ((void)sizeof(char[1 - 2*!!((BOOST_VERSION) < ($1))]));]])])
|
||||
|
||||
AC_COMPILE_IFELSE([DETECT_BOOST_VERSION_PROGRAM(106000)], [],
|
||||
[QBT_ADD_DEFINES="$QBT_ADD_DEFINES BOOST_NO_CXX11_RVALUE_REFERENCES"])
|
||||
AC_LANG_POP([C++])
|
||||
|
||||
AX_BOOST_SYSTEM()
|
||||
# HAVE_BOOST_SYSTEM is set to an empty value when Boost.System is found.
|
||||
# I don't know how to test for a set vs unset variable.
|
||||
AS_IF([test "x$BOOST_SYSTEM_LIB" = "x"],
|
||||
[AC_MSG_ERROR([Could not find Boost.System])],
|
||||
[AC_MSG_NOTICE([Boost.System LIB: $BOOST_SYSTEM_LIB])
|
||||
LIBS="$BOOST_SYSTEM_LIB $LIBS"])
|
||||
AC_MSG_NOTICE([Boost.System LIB: "$BOOST_SYSTEM_LIB"])
|
||||
LIBS="$BOOST_SYSTEM_LIB $LIBS"
|
||||
|
||||
AC_MSG_CHECKING([which qtsingleapplication to use])
|
||||
AS_CASE(["x$with_qtsingleapplication"],
|
||||
@@ -190,7 +224,7 @@ extract() {
|
||||
new_line='
|
||||
'
|
||||
# Convert " -" to "\n" if not between quotes and remove possible leading white spaces
|
||||
string=$(echo " $*" | $SED -e "s: -:\\${new_line}:g" -e 's:"\(.*\)\n\(.*\)":\"\1 -\2":g' -e "s:'\(.*\)\n\(.*\)':\'\1 -\2':g" -e 's/^[[:space:]]*//')
|
||||
string=$(echo " $*" | $SED -e "s: -:\\${new_line}:g" -e 's:"\(.*\)\n\(.*\)":\"\1 -\2":g' -e "s:'\(.*\)\n\(.*\)':\'\1 -\2':g" -e 's/^[[[:space:]]]*//')
|
||||
SAVEIFS=$IFS
|
||||
IFS=$(printf "\n\b")
|
||||
for i in $string; do
|
||||
@@ -204,9 +238,8 @@ extract() {
|
||||
IFS=$SAVEIFS
|
||||
}
|
||||
|
||||
extract $CPPFLAGS
|
||||
extract "$CFLAGS $CPPFLAGS $CXXFLAGS"
|
||||
QBT_ADD_DEFINES="$QBT_ADD_DEFINES $QBT_CONF_DEFINES"
|
||||
QBT_CONF_EXTRA_CFLAGS="$QBT_CONF_EXTRA_CFLAGS $CXXFLAGS"
|
||||
|
||||
# Substitute the values of these vars in conf.pri.in
|
||||
AC_SUBST(QBT_CONF_INCLUDES)
|
||||
@@ -234,4 +267,3 @@ AS_IF([test "x$ret" = "x0"],
|
||||
[AC_MSG_NOTICE([Good, your configure finished.])],
|
||||
[AC_MSG_ERROR([Failed running $QT_QMAKE to generate the makefile])])
|
||||
AS_ECHO()
|
||||
|
||||
|
2
dist/CMakeLists.txt
vendored
2
dist/CMakeLists.txt
vendored
@@ -1,3 +1,5 @@
|
||||
find_package(Qt5Widgets ${requiredQtVersion}) # to conditionally install desktop-related files
|
||||
|
||||
if (APPLE)
|
||||
add_subdirectory(mac)
|
||||
else (APPLE)
|
||||
|
4
dist/mac/Info.plist
vendored
4
dist/mac/Info.plist
vendored
@@ -45,7 +45,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.4.0</string>
|
||||
<string>4.1.3</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>qBit</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
@@ -59,7 +59,7 @@
|
||||
<key>NSAppleScriptEnabled</key>
|
||||
<string>YES</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2006-2017 The qBittorrent project</string>
|
||||
<string>Copyright © 2006-2018 The qBittorrent project</string>
|
||||
<key>UTExportedTypeDeclarations</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
BIN
dist/mac/qBitTorrentDocument.icns
vendored
BIN
dist/mac/qBitTorrentDocument.icns
vendored
Binary file not shown.
BIN
dist/mac/qbittorrent_mac.icns
vendored
BIN
dist/mac/qbittorrent_mac.icns
vendored
Binary file not shown.
35
dist/unix/CMakeLists.txt
vendored
35
dist/unix/CMakeLists.txt
vendored
@@ -1,35 +1,37 @@
|
||||
if (SYSTEMD)
|
||||
find_package(Systemd)
|
||||
if (SYSTEMD_FOUND)
|
||||
if (NOT Qt5Widgets_FOUND)
|
||||
feature_option(SYSTEMD "Install systemd service file (headless only)" OFF)
|
||||
if (SYSTEMD)
|
||||
if (NOT Systemd_SERVICES_INSTALL_DIR)
|
||||
find_package(Systemd)
|
||||
if (NOT Systemd_FOUND)
|
||||
message(FATAL_ERROR "Could not locate systemd services install dir."
|
||||
" Either pass -DSystemd_SERVICES_INSTALL_DIR=/path/to/systemd/services option or install systemd pkg-config")
|
||||
endif(NOT Systemd_FOUND)
|
||||
endif(NOT Systemd_SERVICES_INSTALL_DIR)
|
||||
set(EXPAND_BINDIR ${CMAKE_INSTALL_FULL_BINDIR})
|
||||
configure_file(systemd/qbittorrent-nox@.service.in ${CMAKE_CURRENT_BINARY_DIR}/qbittorrent-nox@.service @ONLY)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/qbittorrent-nox@.service
|
||||
DESTINATION ${SYSTEMD_SERVICES_INSTALL_DIR}
|
||||
DESTINATION ${Systemd_SERVICES_INSTALL_DIR}
|
||||
COMPONENT data)
|
||||
endif(SYSTEMD_FOUND)
|
||||
endif(SYSTEMD)
|
||||
endif(SYSTEMD)
|
||||
endif()
|
||||
|
||||
|
||||
if (GUI)
|
||||
if (Qt5Widgets_FOUND)
|
||||
list(APPEND MAN_FILES ${qBittorrent_SOURCE_DIR}/doc/qbittorrent.1)
|
||||
else (GUI)
|
||||
else (Qt5Widgets_FOUND)
|
||||
list(APPEND MAN_FILES ${qBittorrent_SOURCE_DIR}/doc/qbittorrent-nox.1)
|
||||
endif (GUI)
|
||||
endif (Qt5Widgets_FOUND)
|
||||
|
||||
install(FILES ${MAN_FILES}
|
||||
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
|
||||
COMPONENT doc)
|
||||
|
||||
if (GUI)
|
||||
if (Qt5Widgets_FOUND)
|
||||
install(DIRECTORY menuicons/
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor
|
||||
FILES_MATCHING PATTERN "*.png")
|
||||
|
||||
install(FILES ${qBittorrent_SOURCE_DIR}/src/icons/qbittorrent.png
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps/
|
||||
COMPONENT data)
|
||||
|
||||
install(FILES ${qBittorrent_SOURCE_DIR}/src/icons/qbittorrent.desktop
|
||||
install(FILES qbittorrent.desktop
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications/
|
||||
COMPONENT data)
|
||||
|
||||
@@ -38,6 +40,7 @@ if (GUI)
|
||||
COMPONENT data)
|
||||
|
||||
install(FILES
|
||||
${qBittorrent_SOURCE_DIR}/src/icons/skin/qbittorrent-tray.svg
|
||||
${qBittorrent_SOURCE_DIR}/src/icons/skin/qbittorrent-tray-dark.svg
|
||||
${qBittorrent_SOURCE_DIR}/src/icons/skin/qbittorrent-tray-light.svg
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/status
|
||||
|
BIN
dist/unix/menuicons/128x128/apps/qbittorrent.png
vendored
BIN
dist/unix/menuicons/128x128/apps/qbittorrent.png
vendored
Binary file not shown.
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 7.6 KiB |
Binary file not shown.
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 7.6 KiB |
BIN
dist/unix/menuicons/16x16/apps/qbittorrent.png
vendored
BIN
dist/unix/menuicons/16x16/apps/qbittorrent.png
vendored
Binary file not shown.
Before Width: | Height: | Size: 893 B After Width: | Height: | Size: 986 B |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user