Compare commits
488 Commits
release-4.
...
release-4.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
359b464958 | ||
|
|
b5b0d68dd9 | ||
|
|
f48c49c248 | ||
|
|
11ca744548 | ||
|
|
82e6fc700e | ||
|
|
59fd70c638 | ||
|
|
617bf767df | ||
|
|
55180e3598 | ||
|
|
56b62e6573 | ||
|
|
b37e7b0340 | ||
|
|
21aebaf16f | ||
|
|
5792465317 | ||
|
|
e98f44af63 | ||
|
|
40cf0203fb | ||
|
|
05a82afeb6 | ||
|
|
a456f1b0f9 | ||
|
|
4acc44a5b0 | ||
|
|
9c2a1146df | ||
|
|
807abeae87 | ||
|
|
dd2a0d0484 | ||
|
|
3f3400f43b | ||
|
|
334b57a89a | ||
|
|
00d6c83ee5 | ||
|
|
e8850c7a70 | ||
|
|
2ef96eb218 | ||
|
|
4682e31ab7 | ||
|
|
988f7e2ef8 | ||
|
|
6007913291 | ||
|
|
cdcc7a210b | ||
|
|
a466ff5057 | ||
|
|
e954835579 | ||
|
|
3e9be3a0e8 | ||
|
|
4ab32a76f6 | ||
|
|
bad60058df | ||
|
|
31a6ad1eb6 | ||
|
|
a8bfec081e | ||
|
|
ae21d0f1e2 | ||
|
|
c599976b6f | ||
|
|
bcee784097 | ||
|
|
697fc626cd | ||
|
|
2f15ea9b54 | ||
|
|
d03209a73d | ||
|
|
ac9ba255d8 | ||
|
|
9a7e79bd0e | ||
|
|
e8be3bf939 | ||
|
|
74e52746b1 | ||
|
|
8d26a221e0 | ||
|
|
3fdab88eb7 | ||
|
|
d376d912b3 | ||
|
|
e329c41ef2 | ||
|
|
01e4179555 | ||
|
|
06f503b5df | ||
|
|
e2f3dad7b8 | ||
|
|
377f31085c | ||
|
|
ec13d195f8 | ||
|
|
c01aed8d90 | ||
|
|
ad7b8a9bfa | ||
|
|
5bba1ed208 | ||
|
|
fe94e14bcc | ||
|
|
b0af479ab9 | ||
|
|
24ff369f29 | ||
|
|
979c9a7094 | ||
|
|
7b90ac52c1 | ||
|
|
ecfbda78bc | ||
|
|
9ba7470815 | ||
|
|
6394467cc7 | ||
|
|
f6d72fa79f | ||
|
|
32ed5f1c8e | ||
|
|
5026da5773 | ||
|
|
ef130e4438 | ||
|
|
4fbd52c2d5 | ||
|
|
8f29b70c1e | ||
|
|
9a4dd3ea9d | ||
|
|
fcd3bb6918 | ||
|
|
9f69fd8750 | ||
|
|
ea7e47d113 | ||
|
|
294bb26996 | ||
|
|
4b2e9dba51 | ||
|
|
1d9dcde99b | ||
|
|
32bf448725 | ||
|
|
732d5d6db9 | ||
|
|
3b325106da | ||
|
|
3aeca37c5d | ||
|
|
4253515736 | ||
|
|
e365d57063 | ||
|
|
df6df20969 | ||
|
|
4e5a85dda5 | ||
|
|
bad603454b | ||
|
|
7b006a47ba | ||
|
|
11da8b82e8 | ||
|
|
383a5f11bc | ||
|
|
76ab5f12c5 | ||
|
|
be74987084 | ||
|
|
8f6c305d14 | ||
|
|
e29b9655eb | ||
|
|
ae7fa9ea82 | ||
|
|
fee9030337 | ||
|
|
f48d057c47 | ||
|
|
f14573307c | ||
|
|
560ba8c0b8 | ||
|
|
4b2376c4fd | ||
|
|
76faed3818 | ||
|
|
62657d9fda | ||
|
|
5877308a49 | ||
|
|
24dcbe7d43 | ||
|
|
7649fe0a0e | ||
|
|
b3b334da77 | ||
|
|
03a55da260 | ||
|
|
1a9eadf8e6 | ||
|
|
7b3fb2a35a | ||
|
|
a55ea29919 | ||
|
|
264b689912 | ||
|
|
684cf82f89 | ||
|
|
3f0e0a319a | ||
|
|
0b4d9c72a7 | ||
|
|
ff71f6bcd9 | ||
|
|
7a5c5baad1 | ||
|
|
a18976d0b5 | ||
|
|
6d836ea49c | ||
|
|
2e97311147 | ||
|
|
57bc564b2c | ||
|
|
1295f1e31f | ||
|
|
4916ed0efb | ||
|
|
f15f99cb27 | ||
|
|
93365d3b20 | ||
|
|
c756ab021d | ||
|
|
34528dd544 | ||
|
|
9380209afb | ||
|
|
be2895ac6f | ||
|
|
e26d4642b8 | ||
|
|
f470972bd4 | ||
|
|
443378c041 | ||
|
|
e20dbe34a4 | ||
|
|
86bde47a06 | ||
|
|
e273c777c7 | ||
|
|
17845c6b25 | ||
|
|
27827ce16a | ||
|
|
b444ecc6af | ||
|
|
34995350ee | ||
|
|
73ceee52f8 | ||
|
|
85a3ba0eed | ||
|
|
86cce76e9d | ||
|
|
3358fd8e91 | ||
|
|
120965f823 | ||
|
|
e70ee9a5b6 | ||
|
|
a2d8e84e83 | ||
|
|
4a3648a693 | ||
|
|
baad45e638 | ||
|
|
d9cb00aab2 | ||
|
|
d703d98836 | ||
|
|
2f0646e7f0 | ||
|
|
1a8a6dcef7 | ||
|
|
990f961126 | ||
|
|
06f04dea19 | ||
|
|
8eced2ef1f | ||
|
|
1e486ea92e | ||
|
|
b47f38675e | ||
|
|
864f3393a0 | ||
|
|
cebef74326 | ||
|
|
e257b35cac | ||
|
|
1f33991e4b | ||
|
|
794053f212 | ||
|
|
3a130e1f74 | ||
|
|
3423f93230 | ||
|
|
2219167253 | ||
|
|
a0a32b89a6 | ||
|
|
59162bf426 | ||
|
|
dfd148f55f | ||
|
|
3af720b3bc | ||
|
|
11240d0837 | ||
|
|
e64fd9c544 | ||
|
|
50ef812427 | ||
|
|
bd4d2fa424 | ||
|
|
e2ee928017 | ||
|
|
62e71a15a4 | ||
|
|
c62127e9f1 | ||
|
|
2171d579ee | ||
|
|
6e5a969e2d | ||
|
|
bfbc7ef28a | ||
|
|
b1cefbf9b5 | ||
|
|
201638854e | ||
|
|
847ecdeedb | ||
|
|
acc159fa60 | ||
|
|
bb7e80a8a6 | ||
|
|
39973f1bb1 | ||
|
|
1e9151364a | ||
|
|
fd50d6e9af | ||
|
|
427acf0c46 | ||
|
|
f0a50424be | ||
|
|
aded9afc0e | ||
|
|
060b7480db | ||
|
|
7f2a01dcd6 | ||
|
|
fef0e70c9f | ||
|
|
9cc112aa4e | ||
|
|
44d4d41365 | ||
|
|
a21c386dbf | ||
|
|
1c4139906a | ||
|
|
1a21f45c75 | ||
|
|
0061b75200 | ||
|
|
420c93a99e | ||
|
|
93f1183cd7 | ||
|
|
b8fcc1fed2 | ||
|
|
2b91be1905 | ||
|
|
7c9ef96ef8 | ||
|
|
37b4b69199 | ||
|
|
fc18e6f8df | ||
|
|
4793a35e0b | ||
|
|
4599da3ce1 | ||
|
|
dec4e41fdd | ||
|
|
780ece0c25 | ||
|
|
aac8bfc398 | ||
|
|
1a06a18336 | ||
|
|
2d4f963d65 | ||
|
|
b54fe08201 | ||
|
|
d1d0300491 | ||
|
|
7fff06f07b | ||
|
|
3f9351042d | ||
|
|
9e01dbab0f | ||
|
|
d4a4b02cf6 | ||
|
|
1f2c7a6671 | ||
|
|
5a7b88c16c | ||
|
|
93351476e4 | ||
|
|
e1bfa95a63 | ||
|
|
7030cc08e7 | ||
|
|
a1da9812a5 | ||
|
|
8ebc0f529c | ||
|
|
e0d47649bc | ||
|
|
524d503860 | ||
|
|
cffafa8e9f | ||
|
|
0fda919268 | ||
|
|
7d98c34e17 | ||
|
|
93147e787b | ||
|
|
80435bae7e | ||
|
|
b367e5c197 | ||
|
|
5336c71da5 | ||
|
|
27f6db976d | ||
|
|
8223d61fa7 | ||
|
|
3eef12bd8f | ||
|
|
9e70a6c499 | ||
|
|
fec3a87421 | ||
|
|
59aac32eb9 | ||
|
|
5ef3917769 | ||
|
|
2f767d96d9 | ||
|
|
de24fdfdc2 | ||
|
|
3bb6a68c9d | ||
|
|
f2406eb2f3 | ||
|
|
4923ed7da0 | ||
|
|
82056355f6 | ||
|
|
f3bd2a295f | ||
|
|
cc96760839 | ||
|
|
ae95943f69 | ||
|
|
d3067f939e | ||
|
|
b6addd304c | ||
|
|
d1ae6e8d58 | ||
|
|
4445c2dab2 | ||
|
|
fcc1564a62 | ||
|
|
615eeb7144 | ||
|
|
855bb118b5 | ||
|
|
9f1eb3600a | ||
|
|
fb885d89c1 | ||
|
|
a846916beb | ||
|
|
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 |
@@ -51,8 +51,6 @@ before_build:
|
|||||||
|
|
||||||
build_script:
|
build_script:
|
||||||
- cd "%REPO_DIR%"
|
- cd "%REPO_DIR%"
|
||||||
# scan only as lupdate is prone to hang
|
|
||||||
- lupdate -extensions c,cpp,h,hpp,ui .
|
|
||||||
- qmake qbittorrent.pro && cd src && qmake src.pro
|
- qmake qbittorrent.pro && cd src && qmake src.pro
|
||||||
- jom -j2 -f Makefile.Release
|
- jom -j2 -f Makefile.Release
|
||||||
|
|
||||||
|
|||||||
2
.github/ISSUE_TEMPLATE.md
vendored
@@ -3,7 +3,7 @@
|
|||||||
### qBittorrent version and Operating System
|
### qBittorrent version and Operating System
|
||||||
(type here)
|
(type here)
|
||||||
|
|
||||||
### If on linux, libtorrent-rasterbar and Qt version
|
### If on linux, libtorrent and Qt version
|
||||||
(type here)
|
(type here)
|
||||||
|
|
||||||
### What is the problem
|
### What is the problem
|
||||||
|
|||||||
5
.gitignore
vendored
@@ -4,7 +4,6 @@ src/qbittorrent
|
|||||||
src/qbittorrent-nox
|
src/qbittorrent-nox
|
||||||
src/release
|
src/release
|
||||||
src/debug
|
src/debug
|
||||||
CMakeLists.txt.user*
|
|
||||||
qbittorrent.pro.user*
|
qbittorrent.pro.user*
|
||||||
conf.pri
|
conf.pri
|
||||||
Makefile*
|
Makefile*
|
||||||
@@ -36,7 +35,3 @@ config.status
|
|||||||
src/icons/qbt-theme/build-icons/node_modules/
|
src/icons/qbt-theme/build-icons/node_modules/
|
||||||
src/icons/skin/build-icons/node_modules/
|
src/icons/skin/build-icons/node_modules/
|
||||||
src/icons/skin/build-icons/icons/*.png
|
src/icons/skin/build-icons/icons/*.png
|
||||||
|
|
||||||
# Web UI tools
|
|
||||||
node_modules
|
|
||||||
package-lock.json
|
|
||||||
|
|||||||
189
.travis.yml
@@ -2,10 +2,6 @@ cmake_minimum_required(VERSION 3.9 FATAL_ERROR)
|
|||||||
|
|
||||||
message(AUTHOR_WARNING "If the build fails, please try the autotools/qmake method.")
|
message(AUTHOR_WARNING "If the build fails, please try the autotools/qmake method.")
|
||||||
|
|
||||||
if(POLICY CMP0074)
|
|
||||||
cmake_policy(SET CMP0074 NEW)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules)
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules)
|
||||||
include(FunctionReadVersion)
|
include(FunctionReadVersion)
|
||||||
|
|
||||||
@@ -34,10 +30,8 @@ include(GNUInstallDirs)
|
|||||||
include(FeatureSummary)
|
include(FeatureSummary)
|
||||||
|
|
||||||
# version requirements
|
# version requirements
|
||||||
set(requiredBoostVersion 1.40)
|
set(requiredBoostVersion 1.35)
|
||||||
set(requiredQtVersion 5.9.0)
|
set(requiredQtVersion 5.5.1)
|
||||||
set(requiredOpensslVersion 1.0)
|
|
||||||
set(requiredLibtorrentVersion 1.1.10)
|
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
include(winconf)
|
include(winconf)
|
||||||
|
|||||||
@@ -306,7 +306,7 @@ Example:
|
|||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
|
|
||||||
#ifdef Q_OS_MACOS // conditional
|
#ifdef Q_OS_MAC // conditional
|
||||||
#include <QFont>
|
#include <QFont>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
161
Changelog
@@ -1,160 +1,7 @@
|
|||||||
Wed Dec 18 2019 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.2.1
|
* Mon Sep 23 2019 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.1.8
|
||||||
- FEATURE: Enable portable mode if "profile" directory exists (Tester798)
|
- BUGFIX: Fix filename validation on non-Windows OS (Chocobo1)
|
||||||
- FEATURE: Enable "Apply rate limit to peers on LAN" option by default (Chocobo1)
|
- BUGFIX: ScanFolders/FileSystemWatcher now detect magnet files with case insensitivity in filename (Chocobo1)
|
||||||
- BUGFIX: Sync translations from Transifex and run lupdate (sledgehammer999)
|
- BUGFIX: Fix failed seeding after creating a torrent and auto-adding it to the session (Chocobo1)
|
||||||
- BUGFIX: Don't unnecessarily delete OS files in folders (sledgehammer999)
|
|
||||||
- BUGFIX: Use the incomplete folder where appropriate (sledgehammer999)
|
|
||||||
- BUGFIX: Align Properties tab bar correctly on window resize (Prince Gupta)
|
|
||||||
- BUGFIX: Rework the listening IP/interface selection code (sledgehammer999)
|
|
||||||
- BUGFIX: Fix inconsistent icon for deleting torrent (Chocobo1)
|
|
||||||
- BUGFIX: Show torrent error message in transfer list (Chocobo1)
|
|
||||||
- BUGFIX: Fix stuck in wrong torrent state (Chocobo1)
|
|
||||||
- BUGFIX: Expand single-item folders in torrent content (warren)
|
|
||||||
- WEBUI: Bump Web API version (sledgehammer999)
|
|
||||||
- WEBUI: Add ability to rename torrent files from the WebUI (Thomas Piccirello)
|
|
||||||
- WEBUI: Mention lack of HTTPS in WebUI magnet link warning (nl6720)
|
|
||||||
- WEBUI: Fix HTML elements size in search tab (Chocobo1)
|
|
||||||
- SEARCH: Fix incorrect translation displayed after language change (Chocobo1)
|
|
||||||
- SEARCH: Fix missing translations in search plugins dialog (Chocobo1)
|
|
||||||
- WINDOWS: Update russian translation of the installer (Andrei Stepanov)
|
|
||||||
|
|
||||||
Tue Dec 03 2019 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.2.0
|
|
||||||
- FEATURE: Libtorrent 1.2.x series are supported now (glassez)
|
|
||||||
- FEATURE: Add OpenSSL version to GUI and stackdump (Chocobo1)
|
|
||||||
- FEATURE: Add zlib version to GUI & stackdump (silverqx)
|
|
||||||
- FEATURE: Use PBKDF2 for the GUI lock. You will need to set your password again. (Chocobo1)
|
|
||||||
- FEATURE: Rename "#" column to "Tier" in the tracker list (thalieht)
|
|
||||||
- FEATURE: Allow setting larger checking memory usage in GUI (airium)
|
|
||||||
- FEATURE: Converted remaining icons to svg (Bert Verhelst)
|
|
||||||
- FEATURE: Replace CheckBox with Arrow in the side panel (Prince Gupta)
|
|
||||||
- FEATURE: Log performance alerts from libtorrent (Chocobo1)
|
|
||||||
- FEATURE: Use native folder icon in content tree (Chocobo1)
|
|
||||||
- FEATURE: Move copy actions under a submenu (Chocobo1)
|
|
||||||
- FEATURE: Add "Socket backlog size" option (Chocobo1)
|
|
||||||
- FEATURE: Add "File pool size" option (Chocobo1)
|
|
||||||
- FEATURE: Allow styling with QSS stylesheets (Prince Gupta)
|
|
||||||
- FEATURE: Add "Tracker entries" dialog (Chocobo1)
|
|
||||||
- FEATURE: Add availability column (Chocobo1)
|
|
||||||
- FEATURE: Use a randomized port number for the first run (Chocobo1)
|
|
||||||
- FEATURE: Enable Super Seeding mode once ratio/time limit is reached (thalieht)
|
|
||||||
- FEATURE: Improve embedded tracker. Now it conforms to BEPs more closely. (Chocobo1)
|
|
||||||
- FEATURE: Add option to align file to piece boundary when creating new torrent (Chocobo1)
|
|
||||||
- FEATURE: Ability to open file or trigger torrect action via keypad Enter (Chocobo1)
|
|
||||||
- FEATURE: Add "Remove torrent and its files" option to share ratio limiting (thalieht)
|
|
||||||
- FEATURE: Allow to select multiple entries in "banned IP" dialog (Chocobo1)
|
|
||||||
- FEATURE: Reallow to pause checking torrents (thalieht)
|
|
||||||
- FEATURE: Reallow to force recheck torrents that aren't fully started (thalieht)
|
|
||||||
- FEATURE: Add "Preview file" double-click action (warren)
|
|
||||||
- BUGFIX: Avoid performance penalty when logger is full (Chocobo1)
|
|
||||||
- BUGFIX: Remove the max half-open connections option (thalieht)
|
|
||||||
- BUGFIX: Center align the section labels in advanced settings (thalieht)
|
|
||||||
- BUGFIX: Add documentation links to some advanced settings (thalieht)
|
|
||||||
- BUGFIX: Impove DownloadManager code (glassez)
|
|
||||||
- BUGFIX: Limit DownloadHandler max redirection to 20 (Chocobo1)
|
|
||||||
- BUGFIX: Log DownloadManager SSL errors (Chocobo1)
|
|
||||||
- BUGFIX: Force recheck multiple torrents one by one (glassez)
|
|
||||||
- BUGFIX: Close context menu when content model is reset (glassez)
|
|
||||||
- BUGFIX: Improve Properties widget (glassez)
|
|
||||||
- BUGFIX: Prevent flickering preview dialog (silver)
|
|
||||||
- BUGFIX: Rename "Prefer encryption" to "Allow encryption" (thalieht)
|
|
||||||
- BUGFIX: Fix search icon placement when using RTL languages (Chocobo1)
|
|
||||||
- BUGFIX: Avoid combo boxes extending to the right in Options dialog (Chocobo1)
|
|
||||||
- BUGFIX: Fix speed limit not applying to IPv6 peers (Chocobo1)
|
|
||||||
- BUGFIX: Log failed file rename errors (Chocobo1)
|
|
||||||
- BUGFIX: Fix wrong "Time Active" value displayed (Chocobo1)
|
|
||||||
- BUGFIX: Rename priority to queue in the context of torrents (thalieht)
|
|
||||||
- BUGFIX: Update remaining size of ignored files to 0 (Thomas Piccirello)
|
|
||||||
- BUGFIX: Move "Check for program updates" checkbox to the Behavior settings (Chocobo1)
|
|
||||||
- BUGFIX: Improve error messages for URL seed (Chocobo1)
|
|
||||||
- BUGFIX: Rename share ratio limiting options (thalieht)
|
|
||||||
- BUGFIX: Fix country name misspelling (horgan)
|
|
||||||
- PERFORMANCE: Faster/efficient way of handling updates in the Transfer list (Chocobo1)
|
|
||||||
- WEBUI: Bump Web API version
|
|
||||||
- WEBUI: Use PBKDF2 for the WebUI password. You will need to set your password again. (Chocobo1)
|
|
||||||
- WEBUI: Use Javascript strict mode (Chocobo1)
|
|
||||||
- WEBUI: Remove autocorrect/autocapitalise from filepaths on WebUI (AceLewis)
|
|
||||||
- WEBUI: Display warning when Javascript is disabled (Chocobo1)
|
|
||||||
- WEBUI: Remove mootools lib from login page (Chocobo1)
|
|
||||||
- WEBUI: Prevent login credential appearing in URL (Chocobo1)
|
|
||||||
- WEBUI: Load WebUI certificate & key from file path (Chocobo1)
|
|
||||||
- WEBUI: Add migration code for WebUI https related change (Chocobo1)
|
|
||||||
- WEBUI: Fix wrong element id being used (Thomas Piccirello)
|
|
||||||
- WEBUI: Fix direction of Web UI sorted column icon (Thomas Piccirello)
|
|
||||||
- WEBUI: Match WebUI About page to GUI (Thomas Piccirello)
|
|
||||||
- WEBUI: Simplify tab logic (Thomas Piccirello)
|
|
||||||
- WEBUI: Separate URL components before percent-decoding (glassez)
|
|
||||||
- WEBUI: Capitalize event name (Thomas Piccirello)
|
|
||||||
- WEBUI: Fix bug where input wouldn't always be focused (Thomas Piccirello)
|
|
||||||
- WEBUI: Add Web UI support for escape key (Thomas Piccirello)
|
|
||||||
- WEBUI: Fix broken image link (Tom Piccirello)
|
|
||||||
- WEBUI: Include application version in css/js url for cache busting (Thomas Piccirello)
|
|
||||||
- WEBUI: Update WebUI img to use svg images (Chocobo1)
|
|
||||||
- WEBUI: Fix speed limit icon too large on WebUI (Chocobo1)
|
|
||||||
- WEBUI: Fix misaligned icons in STATUS list in GUI (Chocobo1)
|
|
||||||
- WEBUI: Drop legacy WebAPI support (glassez)
|
|
||||||
- WEBUI: Allow WebUI Content tab to be sorted (Thomas Piccirello)
|
|
||||||
- WEBUI: Encode torrent name before passing in URL (Thomas Piccirello)
|
|
||||||
- WEBUI: Move WebUI Peers code to separate file (Thomas Piccirello)
|
|
||||||
- WEBUI: Prevent WebUI tables from being highlighted (Thomas Piccirello)
|
|
||||||
- WEBUI: Allow WebUI Trackers table to be manipulated (Thomas Piccirello)
|
|
||||||
- WEBUI: Fix only the first newline char is replaced (Chocobo1)
|
|
||||||
- WEBUI: Fix missing semicolon in WebUI (Chocobo1)
|
|
||||||
- WEBUI: Add autocomplete attribute to WebUI (Chocobo1)
|
|
||||||
- WEBUI: Always use index.html as default page (CzBiX)
|
|
||||||
- WEBUI: Set title attribute for all WebUI table cells (Thomas Piccirello)
|
|
||||||
- WEBUI: Align WebUI login button to the right (Chocobo1)
|
|
||||||
- WEBUI: Use force refresh on WebUI logout (Chocobo1)
|
|
||||||
- WEBUI: Use a random number for WebUI cache busting (Chocobo1)
|
|
||||||
- WEBUI: Register protocol handler in WebUI for magnet links (Cory)
|
|
||||||
- WEBUI: Add WebAPI session timeout settings (Chocobo1)
|
|
||||||
- WEBUI: Fix encoding of special characters (Tom Piccirello)
|
|
||||||
- WEBUI: Avoid word wrap in webui footer (airium)
|
|
||||||
- WEBUI: Add advanced options in WebUI (Zhaoyu Gan)
|
|
||||||
- WEBUI: Move WebUI copy actions under a submenu (Thomas Piccirello)
|
|
||||||
- WEBUI: Add WebUI support for triggering context menus on mobile (Thomas Piccirello)
|
|
||||||
- WEBUI: Implement tag management for WebUI (Vasiliy Halimonchuk)
|
|
||||||
- WEBUI: Fix WebUI removing parameters from magnet links (Thomas Piccirello)
|
|
||||||
- WEBUI: Enable by default the search tab (Thomas Piccirello)
|
|
||||||
- WEBUI: Add context menu to Web UI search table (Thomas Piccirello)
|
|
||||||
- WEBUI: Display files hierarchically in Web UI content tab (Thomas Piccirello)
|
|
||||||
- WEBUI: Add ability to add and ban a peer from the Web UI (Thomas Piccirello)
|
|
||||||
- WEBUI: Increase WebUI window heights (Thomas Piccirello)
|
|
||||||
- WEBUI: Sort torrent names case-insensitively in webui (airium)
|
|
||||||
- WEBUI: Support exclusions in WebUI table filters (Thomas Piccirello)
|
|
||||||
- WEBUI: Don't save preferences until all options are processed (Tom Piccirello)
|
|
||||||
- WEBUI: Disable port selection when "Use different port on each startup" is selected (Chocobo1)
|
|
||||||
- WEBUI: Remove max character limit of location path (Clément Pera)
|
|
||||||
- RSS: Better widget for choosing file path in automated downloader (thalieht)
|
|
||||||
- RSS: Allow to cancel/retry the fetching of feeds (glassez)
|
|
||||||
- RSS: Add create subfolder option to RSS auto-download rules (Xegor)
|
|
||||||
- RSS: Log "RSS Feed successfully downloaded" event (glassez)
|
|
||||||
- SEARCH: Add default tooltip "Searching..." on tab creation. (paolo-sz)
|
|
||||||
- SEARCH: Avoid crashes on torrent search (paolo-sz)
|
|
||||||
- SEARCH: Add right click menu to SearchJobWidget (Chocobo1)
|
|
||||||
- SEARCH: Rename label in search widget (Chocobo1)
|
|
||||||
- SEARCH: Add more copy field actions to search widget (Chocobo1)
|
|
||||||
- SEARCH: Remove buttons from search widget (Chocobo1)
|
|
||||||
- SEARCH: Update python installer URL (Chocobo1)
|
|
||||||
- WINDOWS: Drop support for < Windows 7
|
|
||||||
- WINDOWS: Allow headless builds on Windows (knackebrot)
|
|
||||||
- WINDOWS: Add option to control qBittorrent process memory priority (Chocobo1)
|
|
||||||
- LINUX: Add content_rating, release tags to appdata (Peter Eszlari)
|
|
||||||
- LINUX: Update .appdata descriptions (Chocobo1)
|
|
||||||
- LINUX: Use reverse DNS convention for metadata files naming (Chocobo1)
|
|
||||||
- LINUX: Adjust open file descriptor limit on startup to max (Chocobo1)
|
|
||||||
- MACOS: Drop support for < macOS 10.10 (Yosemite)
|
|
||||||
- MACOS: Replace deprecated `qt_mac_set_dock_menu()` (Chocobo1)
|
|
||||||
- MACOS: Add some padding to macOS app icon (Nick Korotysh)
|
|
||||||
- OTHER: Raise minimum C++ version to C++14 (Chocobo1)
|
|
||||||
- OTHER: Raise minimum Qt version to 5.9.0 (sledgehammer999)
|
|
||||||
- OTHER: Drop support of libtorrent < 1.1.10 (glassez)
|
|
||||||
- OTHER: Drop upgrade code from older saving systems (sledgehammer999)
|
|
||||||
- OTHER: Update INSTALL dependencies (Chocobo1)
|
|
||||||
- OTHER: Optimize PNG images losslessly with zopflipng (Peter Dave Hello)
|
|
||||||
- OTHER: Optimize svg files using SVGO (sledgehammer999)
|
|
||||||
- OTHER: QMake: Compile translations at build time (glassez)
|
|
||||||
- OTHER: Drop support for "BC Link" format (Chocobo1)
|
|
||||||
- OTHER: Lots of code refactorings, cleanups, improvements and optimizations (Chocobo1, glassez, thalieht)
|
|
||||||
|
|
||||||
* Sun Aug 04 2019 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.1.7
|
* Sun Aug 04 2019 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v4.1.7
|
||||||
- FEATURE: Add 12 hour and 24 hour speed graphs (dzmat)
|
- FEATURE: Add 12 hour and 24 hour speed graphs (dzmat)
|
||||||
|
|||||||
48
INSTALL
@@ -1,26 +1,7 @@
|
|||||||
qBittorrent - A BitTorrent client in C++ / Qt
|
qBittorrent - A BitTorrent client in C++ / Qt
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
|
|
||||||
1) Install these dependencies:
|
1) Compile and install qBittorrent with Qt graphical interface
|
||||||
|
|
||||||
- Boost >= 1.40
|
|
||||||
|
|
||||||
- libtorrent-rasterbar >= 1.1.10 (by Arvid Norberg)
|
|
||||||
* https://www.libtorrent.org/
|
|
||||||
* Be careful: another library (the one used by rTorrent) uses a similar name
|
|
||||||
|
|
||||||
- OpenSSL >= 1.0
|
|
||||||
|
|
||||||
- Qt >= 5.9.0
|
|
||||||
|
|
||||||
- zlib >= 1.2.5.2
|
|
||||||
|
|
||||||
- pkg-config (compile-time only)
|
|
||||||
|
|
||||||
- Python >= 2.7.9 / 3.3.0 (optional, runtime only)
|
|
||||||
* Required by the internal search engine
|
|
||||||
|
|
||||||
2a) Compile and install qBittorrent with Qt graphical interface
|
|
||||||
|
|
||||||
$ ./configure
|
$ ./configure
|
||||||
$ make && make install
|
$ make && make install
|
||||||
@@ -28,7 +9,21 @@ qBittorrent - A BitTorrent client in C++ / Qt
|
|||||||
|
|
||||||
will install and execute qBittorrent.
|
will install and execute qBittorrent.
|
||||||
|
|
||||||
2b) Compile and install qBittorrent without Qt graphical interface
|
Dependencies:
|
||||||
|
- Qt >= 5.5.1
|
||||||
|
|
||||||
|
- pkg-config
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
- Python >= 2.7.9 / 3.3.0 (optional, runtime only)
|
||||||
|
* Required by the internal search engine
|
||||||
|
|
||||||
|
2) Compile and install qBittorrent without Qt graphical interface
|
||||||
|
|
||||||
$ ./configure --disable-gui
|
$ ./configure --disable-gui
|
||||||
$ make && make install
|
$ make && make install
|
||||||
@@ -36,6 +31,17 @@ qBittorrent - A BitTorrent client in C++ / Qt
|
|||||||
|
|
||||||
will install and execute qBittorrent.
|
will install and execute qBittorrent.
|
||||||
|
|
||||||
|
Dependencies:
|
||||||
|
- Qt >= 5.5.1
|
||||||
|
|
||||||
|
- pkg-config
|
||||||
|
|
||||||
|
- 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:
|
DOCUMENTATION:
|
||||||
Please note that there is a "Compilation" section at http://wiki.qbittorrent.org.
|
Please note that there is a "Compilation" section at http://wiki.qbittorrent.org.
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Wrapper for compilers which do not understand '-c -o'.
|
# Wrapper for compilers which do not understand '-c -o'.
|
||||||
|
|
||||||
scriptversion=2018-03-07.03; # UTC
|
scriptversion=2012-10-14.11; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
||||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
@@ -17,7 +17,7 @@ scriptversion=2018-03-07.03; # UTC
|
|||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# As a special exception to the GNU General Public License, if you
|
# As a special exception to the GNU General Public License, if you
|
||||||
# distribute this file as part of a program that contains a
|
# distribute this file as part of a program that contains a
|
||||||
@@ -255,8 +255,7 @@ EOF
|
|||||||
echo "compile $scriptversion"
|
echo "compile $scriptversion"
|
||||||
exit $?
|
exit $?
|
||||||
;;
|
;;
|
||||||
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
|
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
|
||||||
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
|
|
||||||
func_cl_wrapper "$@" # Doesn't return...
|
func_cl_wrapper "$@" # Doesn't return...
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -340,9 +339,9 @@ exit $ret
|
|||||||
# Local Variables:
|
# Local Variables:
|
||||||
# mode: shell-script
|
# mode: shell-script
|
||||||
# sh-indentation: 2
|
# sh-indentation: 2
|
||||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC0"
|
# time-stamp-time-zone: "UTC"
|
||||||
# time-stamp-end: "; # UTC"
|
# time-stamp-end: "; # UTC"
|
||||||
# End:
|
# End:
|
||||||
|
|||||||
966
build-aux/config.guess
vendored
2702
build-aux/config.sub
vendored
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# install - install a program, script, or datafile
|
# install - install a program, script, or datafile
|
||||||
|
|
||||||
scriptversion=2018-03-11.20; # UTC
|
scriptversion=2013-12-25.23; # UTC
|
||||||
|
|
||||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||||
@@ -271,18 +271,15 @@ do
|
|||||||
fi
|
fi
|
||||||
dst=$dst_arg
|
dst=$dst_arg
|
||||||
|
|
||||||
# If destination is a directory, append the input filename.
|
# If destination is a directory, append the input filename; won't work
|
||||||
|
# if double slashes aren't ignored.
|
||||||
if test -d "$dst"; then
|
if test -d "$dst"; then
|
||||||
if test "$is_target_a_directory" = never; then
|
if test "$is_target_a_directory" = never; then
|
||||||
echo "$0: $dst_arg: Is a directory" >&2
|
echo "$0: $dst_arg: Is a directory" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
dstdir=$dst
|
dstdir=$dst
|
||||||
dstbase=`basename "$src"`
|
dst=$dstdir/`basename "$src"`
|
||||||
case $dst in
|
|
||||||
*/) dst=$dst$dstbase;;
|
|
||||||
*) dst=$dst/$dstbase;;
|
|
||||||
esac
|
|
||||||
dstdir_status=0
|
dstdir_status=0
|
||||||
else
|
else
|
||||||
dstdir=`dirname "$dst"`
|
dstdir=`dirname "$dst"`
|
||||||
@@ -291,11 +288,6 @@ do
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case $dstdir in
|
|
||||||
*/) dstdirslash=$dstdir;;
|
|
||||||
*) dstdirslash=$dstdir/;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
obsolete_mkdir_used=false
|
obsolete_mkdir_used=false
|
||||||
|
|
||||||
if test $dstdir_status != 0; then
|
if test $dstdir_status != 0; then
|
||||||
@@ -332,43 +324,34 @@ do
|
|||||||
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
# Note that $RANDOM variable is not portable (e.g. dash); Use it
|
|
||||||
# here however when possible just to lower collision chance.
|
|
||||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||||
|
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||||
|
|
||||||
trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
|
|
||||||
|
|
||||||
# Because "mkdir -p" follows existing symlinks and we likely work
|
|
||||||
# directly in world-writeable /tmp, make sure that the '$tmpdir'
|
|
||||||
# directory is successfully created first before we actually test
|
|
||||||
# 'mkdir -p' feature.
|
|
||||||
if (umask $mkdir_umask &&
|
if (umask $mkdir_umask &&
|
||||||
$mkdirprog $mkdir_mode "$tmpdir" &&
|
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
|
|
||||||
then
|
then
|
||||||
if test -z "$dir_arg" || {
|
if test -z "$dir_arg" || {
|
||||||
# Check for POSIX incompatibilities with -m.
|
# Check for POSIX incompatibilities with -m.
|
||||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||||
# other-writable bit of parent directory when it shouldn't.
|
# other-writable bit of parent directory when it shouldn't.
|
||||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||||
test_tmpdir="$tmpdir/a"
|
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||||
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
|
|
||||||
case $ls_ld_tmpdir in
|
case $ls_ld_tmpdir in
|
||||||
d????-?r-*) different_mode=700;;
|
d????-?r-*) different_mode=700;;
|
||||||
d????-?--*) different_mode=755;;
|
d????-?--*) different_mode=755;;
|
||||||
*) false;;
|
*) false;;
|
||||||
esac &&
|
esac &&
|
||||||
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
|
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||||
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
|
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
then posix_mkdir=:
|
then posix_mkdir=:
|
||||||
fi
|
fi
|
||||||
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
|
rmdir "$tmpdir/d" "$tmpdir"
|
||||||
else
|
else
|
||||||
# Remove any dirs left behind by ancient mkdir implementations.
|
# Remove any dirs left behind by ancient mkdir implementations.
|
||||||
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
|
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||||
fi
|
fi
|
||||||
trap '' 0;;
|
trap '' 0;;
|
||||||
esac;;
|
esac;;
|
||||||
@@ -444,8 +427,8 @@ do
|
|||||||
else
|
else
|
||||||
|
|
||||||
# Make a couple of temp file names in the proper directory.
|
# Make a couple of temp file names in the proper directory.
|
||||||
dsttmp=${dstdirslash}_inst.$$_
|
dsttmp=$dstdir/_inst.$$_
|
||||||
rmtmp=${dstdirslash}_rm.$$_
|
rmtmp=$dstdir/_rm.$$_
|
||||||
|
|
||||||
# Trap to clean up those temp files at exit.
|
# Trap to clean up those temp files at exit.
|
||||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||||
@@ -510,9 +493,9 @@ do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# Local variables:
|
# Local variables:
|
||||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC0"
|
# time-stamp-time-zone: "UTC"
|
||||||
# time-stamp-end: "; # UTC"
|
# time-stamp-end: "; # UTC"
|
||||||
# End:
|
# End:
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Common wrapper for a few potentially missing GNU programs.
|
# Common wrapper for a few potentially missing GNU programs.
|
||||||
|
|
||||||
scriptversion=2018-03-07.03; # UTC
|
scriptversion=2013-10-28.13; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
||||||
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
@@ -17,7 +17,7 @@ scriptversion=2018-03-07.03; # UTC
|
|||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# As a special exception to the GNU General Public License, if you
|
# As a special exception to the GNU General Public License, if you
|
||||||
# distribute this file as part of a program that contains a
|
# distribute this file as part of a program that contains a
|
||||||
@@ -101,9 +101,9 @@ else
|
|||||||
exit $st
|
exit $st
|
||||||
fi
|
fi
|
||||||
|
|
||||||
perl_URL=https://www.perl.org/
|
perl_URL=http://www.perl.org/
|
||||||
flex_URL=https://github.com/westes/flex
|
flex_URL=http://flex.sourceforge.net/
|
||||||
gnu_software_URL=https://www.gnu.org/software
|
gnu_software_URL=http://www.gnu.org/software
|
||||||
|
|
||||||
program_details ()
|
program_details ()
|
||||||
{
|
{
|
||||||
@@ -207,9 +207,9 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \
|
|||||||
exit $st
|
exit $st
|
||||||
|
|
||||||
# Local variables:
|
# Local variables:
|
||||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC0"
|
# time-stamp-time-zone: "UTC"
|
||||||
# time-stamp-end: "; # UTC"
|
# time-stamp-end: "; # UTC"
|
||||||
# End:
|
# End:
|
||||||
|
|||||||
@@ -38,9 +38,8 @@ else()
|
|||||||
# libtorrent is very picky about those. Let's take a set of defaults and
|
# libtorrent is very picky about those. Let's take a set of defaults and
|
||||||
# hope that they apply. If not, you the user are on your own.
|
# hope that they apply. If not, you the user are on your own.
|
||||||
set(LibtorrentRasterbar_DEFINITIONS
|
set(LibtorrentRasterbar_DEFINITIONS
|
||||||
-DTORRENT_USE_LIBCRYPTO
|
|
||||||
# TODO: remove the following define as it is not used since OpenSSL >= 1.1
|
|
||||||
-DTORRENT_USE_OPENSSL
|
-DTORRENT_USE_OPENSSL
|
||||||
|
-DTORRENT_DISABLE_GEO_IP
|
||||||
-DBOOST_ASIO_ENABLE_CANCELIO
|
-DBOOST_ASIO_ENABLE_CANCELIO
|
||||||
-DUNICODE -D_UNICODE -D_FILE_OFFSET_BITS=64)
|
-DUNICODE -D_UNICODE -D_FILE_OFFSET_BITS=64)
|
||||||
endif()
|
endif()
|
||||||
@@ -48,7 +47,7 @@ else()
|
|||||||
if(NOT LibtorrentRasterbar_USE_STATIC_LIBS)
|
if(NOT LibtorrentRasterbar_USE_STATIC_LIBS)
|
||||||
list(APPEND LibtorrentRasterbar_DEFINITIONS
|
list(APPEND LibtorrentRasterbar_DEFINITIONS
|
||||||
-DTORRENT_LINKING_SHARED
|
-DTORRENT_LINKING_SHARED
|
||||||
-DBOOST_SYSTEM_DYN_LINK)
|
-DBOOST_SYSTEM_DYN_LINK -DBOOST_CHRONO_DYN_LINK)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
79
cmake/Modules/FindQtSingleApplication.cmake
Normal file
@@ -0,0 +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)
|
||||||
|
|
||||||
|
# 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)
|
||||||
|
|
||||||
|
if (Qt5Widgets_FOUND)
|
||||||
|
set(_includeFileName qtsingleapplication.h)
|
||||||
|
else()
|
||||||
|
set(_includeFileName qtsinglecoreapplication.h)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
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()
|
||||||
|
|
||||||
|
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_CORELIBRARYPATH}
|
||||||
|
)
|
||||||
|
|
||||||
|
IF (QtSingleApplication_LIBRARY AND QtSingleApplication_INCLUDE_DIR)
|
||||||
|
|
||||||
|
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.
|
||||||
|
ELSE(BUILD_SHARED_LIBS)
|
||||||
|
SET (QtSingleApplication_DEFINITIONS -DQTSINGLEAPPLICATION_STATIC)
|
||||||
|
ENDIF(BUILD_SHARED_LIBS)
|
||||||
|
ENDIF (CYGWIN)
|
||||||
|
|
||||||
|
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)
|
||||||
|
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)
|
||||||
|
|
||||||
|
MARK_AS_ADVANCED(QtSingleApplication_INCLUDE_DIR QtSingleApplication_LIBRARY)
|
||||||
@@ -10,14 +10,14 @@ macro(qbt_set_compiler_options)
|
|||||||
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||||
#-Wshadow -Wconversion ?
|
#-Wshadow -Wconversion ?
|
||||||
set(_GCC_COMMON_C_AND_CXX_FLAGS "-Wall -Wextra"
|
set(_GCC_COMMON_C_AND_CXX_FLAGS "-Wall -Wextra"
|
||||||
"-Wcast-qual -Wcast-align"
|
"-Wfloat-equal -Wcast-qual -Wcast-align"
|
||||||
"-Winvalid-pch -Wno-long-long"
|
"-Wsign-conversion -Winvalid-pch -Wno-long-long"
|
||||||
#"-fstack-protector-all"
|
#"-fstack-protector-all"
|
||||||
#"-Werror -Wno-error=deprecated-declarations"
|
#"-Werror -Wno-error=deprecated-declarations"
|
||||||
)
|
)
|
||||||
set(_GCC_COMMON_CXX_FLAGS "-fexceptions -frtti"
|
set(_GCC_COMMON_CXX_FLAGS "-fexceptions -frtti"
|
||||||
"-Woverloaded-virtual -Wold-style-cast"
|
"-Woverloaded-virtual -Wold-style-cast"
|
||||||
"-Wnon-virtual-dtor"
|
"-Wnon-virtual-dtor -Wfloat-equal -Wcast-qual -Wcast-align"
|
||||||
#"-Weffc++"
|
#"-Weffc++"
|
||||||
#"-Werror -Wno-error=cpp"
|
#"-Werror -Wno-error=cpp"
|
||||||
# we should modify code to make these ones obsolete
|
# we should modify code to make these ones obsolete
|
||||||
@@ -61,7 +61,7 @@ macro(qbt_set_compiler_options)
|
|||||||
endif (_STRICT_NULL_SENTINEL_IS_SUPPORTED)
|
endif (_STRICT_NULL_SENTINEL_IS_SUPPORTED)
|
||||||
|
|
||||||
# Code should be improved to render this not needed
|
# Code should be improved to render this not needed
|
||||||
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wno-error=unused-function")
|
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wno-error=unused-function -Wno-error=inconsistent-missing-override")
|
||||||
else ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
else ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||||
# GCC supports it
|
# GCC supports it
|
||||||
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wstrict-null-sentinel")
|
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wstrict-null-sentinel")
|
||||||
@@ -73,29 +73,30 @@ macro(qbt_set_compiler_options)
|
|||||||
string(APPEND CMAKE_C_FLAGS " ${_GCC_COMMON_C_AND_CXX_FLAGS_STRING}")
|
string(APPEND CMAKE_C_FLAGS " ${_GCC_COMMON_C_AND_CXX_FLAGS_STRING}")
|
||||||
string(APPEND CMAKE_CXX_FLAGS " ${_GCC_COMMON_C_AND_CXX_FLAGS_STRING} ${_GCC_COMMON_CXX_FLAGS_STRING}")
|
string(APPEND CMAKE_CXX_FLAGS " ${_GCC_COMMON_C_AND_CXX_FLAGS_STRING} ${_GCC_COMMON_CXX_FLAGS_STRING}")
|
||||||
|
|
||||||
|
set(QBT_ADDITONAL_FLAGS "${_GCC_COMMON_C_AND_CXX_FLAGS_STRING}" CACHE STRING
|
||||||
|
"Additional qBittorent compile flags" FORCE)
|
||||||
|
set(QBT_ADDITONAL_CXX_FLAGS "${_GCC_COMMON_CXX_FLAGS_STRING}" CACHE STRING
|
||||||
|
"Additional qBittorent C++ compile flags" FORCE)
|
||||||
|
|
||||||
# check whether we can enable -Og optimization for debug build
|
# check whether we can enable -Og optimization for debug build
|
||||||
|
# also let's enable -march=native for debug builds
|
||||||
check_cxx_compiler_flag(-Og _DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED)
|
check_cxx_compiler_flag(-Og _DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED)
|
||||||
|
|
||||||
if (_DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED)
|
if (_DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED)
|
||||||
set(QBT_ADDITONAL_FLAGS "-Og -g3 -pipe" CACHE STRING
|
string(APPEND CMAKE_C_FLAGS_DEBUG " -Og -g3 -march=native -pipe" )
|
||||||
"Additional qBittorent compile flags")
|
string(APPEND CMAKE_CXX_FLAGS_DEBUG " -Og -g3 -march=native -pipe" )
|
||||||
set(QBT_ADDITONAL_CXX_FLAGS "-Og -g3 -pipe" CACHE STRING
|
|
||||||
"Additional qBittorent C++ compile flags")
|
|
||||||
else(_DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED)
|
else(_DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED)
|
||||||
set(QBT_ADDITONAL_FLAGS "-O0 -g3 -pipe" CACHE STRING
|
string(APPEND CMAKE_C_FLAGS_DEBUG " -O0 -g3 -march=native -pipe" )
|
||||||
"Additional qBittorent compile flags")
|
string(APPEND CMAKE_CXX_FLAGS_DEBUG " -O0 -g3 -march=native -pipe" )
|
||||||
set(QBT_ADDITONAL_CXX_FLAGS "-O0 -g3 -pipe" CACHE STRING
|
|
||||||
"Additional qBittorent C++ compile flags")
|
|
||||||
endif (_DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED)
|
endif (_DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED)
|
||||||
endif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
endif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||||
|
|
||||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||||
set(QBT_ADDITONAL_FLAGS "-wd4290 -wd4275 -wd4251 /W4" CACHE STRING "Additional qBittorent compile flags")
|
set(QBT_ADDITONAL_FLAGS "-wd4290 -wd4275 -wd4251 /W4" CACHE STRING "Additional qBittorent compile flags")
|
||||||
|
string(APPEND CMAKE_C_FLAGS " ${QBT_ADDITONAL_FLAGS}")
|
||||||
|
string(APPEND CMAKE_CXX_FLAGS " ${QBT_ADDITONAL_FLAGS}")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
string(APPEND CMAKE_C_FLAGS " ${QBT_ADDITONAL_FLAGS}")
|
|
||||||
string(APPEND CMAKE_CXX_FLAGS " ${QBT_ADDITONAL_FLAGS}")
|
|
||||||
|
|
||||||
# endif (NOT QBT_ADDITONAL_FLAGS)
|
# endif (NOT QBT_ADDITONAL_FLAGS)
|
||||||
endmacro(qbt_set_compiler_options)
|
endmacro(qbt_set_compiler_options)
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
|
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)
|
||||||
|
|
||||||
if (("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") OR ("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo"))
|
if (("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") OR ("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo"))
|
||||||
link_libraries(-Wl,--dynamicbase)
|
link_libraries(-Wl,--dynamicbase)
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
list(APPEND LibtorrentRasterbar_CUSTOM_DEFINITIONS
|
|
||||||
-D_FILE_OFFSET_BITS=64
|
|
||||||
-D__USE_W32_SOCKETS)
|
|
||||||
|
|
||||||
# libraries from winconf.pri
|
|
||||||
link_libraries(advapi32 iphlpapi ole32 shell32 user32 wsock32 ws2_32)
|
|
||||||
|
|
||||||
|
# LIBS += libadvapi32 libshell32 libuser32
|
||||||
|
# LIBS += libcrypto.dll libssl.dll libwsock32 libws2_32 libz libiconv.dll
|
||||||
|
# LIBS += libpowrprof
|
||||||
|
|||||||
@@ -1,7 +1,21 @@
|
|||||||
|
if (STACKTRACE)
|
||||||
|
if ("${WINXXBITS}" STREQUAL "Win64")
|
||||||
|
add_compile_options(-Zi)
|
||||||
|
else ("${WINXXBITS}" STREQUAL "Win64")
|
||||||
|
# i686 arch requires frame pointer preservation
|
||||||
|
add_compile_options(-Oy-)
|
||||||
|
endif ("${WINXXBITS}" STREQUAL "Win64")
|
||||||
|
link_libraries(dbghelp.lib)
|
||||||
|
endif (STACKTRACE)
|
||||||
|
|
||||||
|
# Enable Wide characters
|
||||||
|
add_definitions(-DTORRENT_USE_WPATH)
|
||||||
|
|
||||||
|
if (NOT QT5)
|
||||||
|
# Qt4 does not detect it itself
|
||||||
|
add_definitions(-DQ_COMPILER_INITIALIZER_LISTS)
|
||||||
|
endif (NOT QT5)
|
||||||
|
|
||||||
include(MacroConfigureMSVCRuntime)
|
include(MacroConfigureMSVCRuntime)
|
||||||
set(MSVC_RUNTIME "dynamic")
|
set(MSVC_RUNTIME "dynamic")
|
||||||
configure_msvc_runtime()
|
configure_msvc_runtime()
|
||||||
|
|
||||||
# libraries from winconf.pri
|
|
||||||
link_libraries(advapi32 crypt32 Iphlpapi ole32 shell32 User32)
|
|
||||||
|
|
||||||
|
|||||||
@@ -2,51 +2,33 @@
|
|||||||
|
|
||||||
list(APPEND CMAKE_LIBRARY_PATH "$ENV{LIB}")
|
list(APPEND CMAKE_LIBRARY_PATH "$ENV{LIB}")
|
||||||
|
|
||||||
|
# We want to link with static version of
|
||||||
|
# libtorrent
|
||||||
|
set(LibtorrentRasterbar_USE_STATIC_LIBS True)
|
||||||
set(LibtorrentRasterbar_CUSTOM_DEFINITIONS
|
set(LibtorrentRasterbar_CUSTOM_DEFINITIONS
|
||||||
-DBOOST_ASIO_DISABLE_CONNECTEX
|
-DBOOST_ALL_NO_LIB -DBOOST_ASIO_HASH_MAP_BUCKETS=1021
|
||||||
|
-DBOOST_ASIO_SEPARATE_COMPILATION
|
||||||
-DBOOST_EXCEPTION_DISABLE
|
-DBOOST_EXCEPTION_DISABLE
|
||||||
-DTORRENT_USE_LIBCRYPTO
|
-DBOOST_SYSTEM_STATIC_LINK=1
|
||||||
# TODO: remove the following define as it is not used since OpenSSL >= 1.1
|
|
||||||
-DTORRENT_USE_OPENSSL
|
-DTORRENT_USE_OPENSSL
|
||||||
# TODO: remove the following define as it is not used since libtorrent >= 1.2
|
-D__USE_W32_SOCKETS
|
||||||
-DTORRENT_DISABLE_RESOLVE_COUNTRIES
|
-D_FILE_OFFSET_BITS=64)
|
||||||
)
|
|
||||||
|
|
||||||
set(LibtorrentRasterbar_CUSTOM_BOOST_DEPENDENCIES system)
|
add_definitions(-DUNICODE
|
||||||
|
|
||||||
# If you want to link with static version of libtorrent
|
|
||||||
#set(LibtorrentRasterbar_USE_STATIC_LIBS True)
|
|
||||||
#list(APPEND LibtorrentRasterbar_CUSTOM_DEFINITIONS
|
|
||||||
# -DBOOST_SYSTEM_STATIC_LINK=1)
|
|
||||||
|
|
||||||
# and boost
|
|
||||||
#set(Boost_USE_STATIC_LIBS True)
|
|
||||||
#set(Boost_USE_STATIC_RUNTIME True)
|
|
||||||
|
|
||||||
add_definitions(
|
|
||||||
-DNTDDI_VERSION=0x06010000
|
|
||||||
-D_WIN32_WINNT=0x0601
|
|
||||||
-D_WIN32_IE=0x0601
|
|
||||||
-DUNICODE
|
|
||||||
-D_UNICODE
|
-D_UNICODE
|
||||||
-DWIN32
|
-DWIN32
|
||||||
-D_WIN32
|
-D_WIN32
|
||||||
-DWIN32_LEAN_AND_MEAN
|
-DWIN32_LEAN_AND_MEAN
|
||||||
|
-DNTDDI_VERSION=0x05010000
|
||||||
|
-D_WIN32_WINNT=0x0501
|
||||||
|
-D_WIN32_IE=0x0501
|
||||||
-D_CRT_SECURE_NO_DEPRECATE
|
-D_CRT_SECURE_NO_DEPRECATE
|
||||||
-D_SCL_SECURE_NO_DEPRECATE
|
-D_SCL_SECURE_NO_DEPRECATE
|
||||||
-DNOMINMAX
|
-DNOMINMAX
|
||||||
-DBOOST_ALL_NO_LIB
|
|
||||||
)
|
)
|
||||||
|
# and boost
|
||||||
# Enable if libtorrent was built with this flag defined
|
set(Boost_USE_STATIC_LIBS True)
|
||||||
#list(APPEND LibtorrentRasterbar_CUSTOM_DEFINITIONS -DTORRENT_NO_DEPRECATE)
|
# set(Boost_USE_STATIC_RUNTIME True)
|
||||||
|
|
||||||
if (("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") OR ("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo"))
|
|
||||||
list(APPEND LibtorrentRasterbar_CUSTOM_DEFINITIONS
|
|
||||||
-DTORRENT_DEBUG)
|
|
||||||
else ()
|
|
||||||
add_definitions(-DNDEBUG)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
# Here we assume that all required libraries are installed into the same prefix
|
# Here we assume that all required libraries are installed into the same prefix
|
||||||
# with usual unix subdirectories (bin, lib, include)
|
# with usual unix subdirectories (bin, lib, include)
|
||||||
@@ -56,9 +38,17 @@ set(COMMON_INSTALL_PREFIX "c:/usr" CACHE PATH "Prefix used to install all the re
|
|||||||
list(APPEND CMAKE_SYSTEM_PREFIX_PATH "${COMMON_INSTALL_PREFIX}")
|
list(APPEND CMAKE_SYSTEM_PREFIX_PATH "${COMMON_INSTALL_PREFIX}")
|
||||||
|
|
||||||
# If two version of Qt are installed, separate prefixes are needed most likely
|
# If two version of Qt are installed, separate prefixes are needed most likely
|
||||||
|
set(QT4_INSTALL_PREFIX "${COMMON_INSTALL_PREFIX}/lib/qt4" CACHE PATH "Prefix where Qt4 is installed")
|
||||||
set(QT5_INSTALL_PREFIX "${COMMON_INSTALL_PREFIX}/lib/qt5" CACHE PATH "Prefix where Qt5 is installed")
|
set(QT5_INSTALL_PREFIX "${COMMON_INSTALL_PREFIX}/lib/qt5" CACHE PATH "Prefix where Qt5 is installed")
|
||||||
|
|
||||||
# it is safe to set Qt dirs even if their files are directly in the prefix
|
# it is safe to set Qt dirs even if their files are directly in the prefix
|
||||||
|
# Qt4
|
||||||
|
if(NOT QT5)
|
||||||
|
# for qt 4 we need qmake, Qt5 provides cmake config files
|
||||||
|
LIST(APPEND CMAKE_PROGRAM_PATH "${QT4_INSTALL_PREFIX}/bin/")
|
||||||
|
endif(NOT QT5)
|
||||||
|
|
||||||
|
# Qt5
|
||||||
set(Qt5_DIR "${QT5_INSTALL_PREFIX}/lib/cmake/Qt5")
|
set(Qt5_DIR "${QT5_INSTALL_PREFIX}/lib/cmake/Qt5")
|
||||||
|
|
||||||
# And now we can set specific values for the Boost and libtorrent libraries.
|
# And now we can set specific values for the Boost and libtorrent libraries.
|
||||||
|
|||||||
@@ -35,15 +35,26 @@ LIBS += zlib.lib
|
|||||||
#LIBS += libcrypto libssl
|
#LIBS += libcrypto libssl
|
||||||
#LIBS += libz
|
#LIBS += libz
|
||||||
|
|
||||||
|
DEFINES += NTDDI_VERSION=0x05010000
|
||||||
|
DEFINES += _WIN32_WINNT=0x0501
|
||||||
|
DEFINES += _WIN32_IE=0x0501
|
||||||
|
|
||||||
# Disable to use Boost auto-linking
|
# Disable to use Boost auto-linking
|
||||||
DEFINES += BOOST_ALL_NO_LIB
|
DEFINES += BOOST_ALL_NO_LIB
|
||||||
# Use one of the following options
|
# Use one of the following options
|
||||||
DEFINES += BOOST_SYSTEM_STATIC_LINK
|
DEFINES += BOOST_SYSTEM_STATIC_LINK
|
||||||
#DEFINES += BOOST_SYSTEM_DYN_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
|
# Enable if encountered build error with boost version <= 1.59
|
||||||
#DEFINES += BOOST_NO_CXX11_RVALUE_REFERENCES
|
#DEFINES += BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||||
|
|
||||||
# Enable if libtorrent was built with this flag defined
|
# Enable if building against libtorrent 1.1.x (RC_1_1)
|
||||||
|
# built with this flag defined
|
||||||
#DEFINES += TORRENT_NO_DEPRECATE
|
#DEFINES += TORRENT_NO_DEPRECATE
|
||||||
# Enable if linking dynamically against libtorrent
|
# Enable if linking dynamically against libtorrent
|
||||||
#DEFINES += TORRENT_LINKING_SHARED
|
#DEFINES += TORRENT_LINKING_SHARED
|
||||||
|
|||||||
88
configure.ac
@@ -1,4 +1,4 @@
|
|||||||
AC_INIT([qbittorrent], [v4.2.1], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/])
|
AC_INIT([qbittorrent], [v4.1.8], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/])
|
||||||
AC_CONFIG_AUX_DIR([build-aux])
|
AC_CONFIG_AUX_DIR([build-aux])
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
@@ -14,6 +14,12 @@ QBT_CXX="$CXX"
|
|||||||
|
|
||||||
# Define --wth-* and --enable-* arguments
|
# Define --wth-* and --enable-* arguments
|
||||||
|
|
||||||
|
AC_ARG_WITH(qtsingleapplication,
|
||||||
|
[AS_HELP_STRING([--with-qtsingleapplication=@<:@system|shipped@:>@],
|
||||||
|
[Use the shipped qtsingleapplication library or the system one (default=shipped)])],
|
||||||
|
[],
|
||||||
|
[with_qtsingleapplication=shipped])
|
||||||
|
|
||||||
AC_ARG_ENABLE(debug,
|
AC_ARG_ENABLE(debug,
|
||||||
[AS_HELP_STRING([--enable-debug],
|
[AS_HELP_STRING([--enable-debug],
|
||||||
[Enable debug build])],
|
[Enable debug build])],
|
||||||
@@ -157,7 +163,7 @@ AS_CASE(["x$enable_qt_dbus"],
|
|||||||
AC_MSG_ERROR([Unknown option "$enable_qt_dbus". Use either "yes" or "no".])])
|
AC_MSG_ERROR([Unknown option "$enable_qt_dbus". Use either "yes" or "no".])])
|
||||||
|
|
||||||
|
|
||||||
AX_BOOST_BASE([1.40],
|
AX_BOOST_BASE([1.35],
|
||||||
[AC_MSG_NOTICE([Boost CXXFLAGS: "$BOOST_CPPFLAGS"])
|
[AC_MSG_NOTICE([Boost CXXFLAGS: "$BOOST_CPPFLAGS"])
|
||||||
AC_MSG_NOTICE([Boost LDFLAGS: "$BOOST_LDFLAGS"])],
|
AC_MSG_NOTICE([Boost LDFLAGS: "$BOOST_LDFLAGS"])],
|
||||||
[AC_MSG_ERROR([Could not find Boost])])
|
[AC_MSG_ERROR([Could not find Boost])])
|
||||||
@@ -177,51 +183,58 @@ AX_BOOST_SYSTEM()
|
|||||||
AC_MSG_NOTICE([Boost.System LIB: "$BOOST_SYSTEM_LIB"])
|
AC_MSG_NOTICE([Boost.System LIB: "$BOOST_SYSTEM_LIB"])
|
||||||
LIBS="$BOOST_SYSTEM_LIB $LIBS"
|
LIBS="$BOOST_SYSTEM_LIB $LIBS"
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([which qtsingleapplication to use])
|
||||||
|
AS_CASE(["x$with_qtsingleapplication"],
|
||||||
|
["xshipped"],
|
||||||
|
[AC_MSG_RESULT([shipped])
|
||||||
|
QBT_REMOVE_CONFIG="$QBT_REMOVE_CONFIG usesystemqtsingleapplication"],
|
||||||
|
["xsystem"],
|
||||||
|
[AC_MSG_RESULT([system])
|
||||||
|
QBT_ADD_CONFIG="$QBT_ADD_CONFIG usesystemqtsingleapplication"],
|
||||||
|
[AC_MSG_RESULT([$with_qtsingleapplication])
|
||||||
|
AC_MSG_ERROR([Unknown option "$with_qtsingleapplication". Use either "system" or "shipped".])])
|
||||||
|
|
||||||
PKG_CHECK_MODULES(libtorrent,
|
PKG_CHECK_MODULES(libtorrent,
|
||||||
[libtorrent-rasterbar >= 1.1.10],
|
[libtorrent-rasterbar >= 1.0.6],
|
||||||
[CXXFLAGS="$libtorrent_CFLAGS $CXXFLAGS"
|
[CXXFLAGS="$libtorrent_CFLAGS $CXXFLAGS"
|
||||||
LIBS="$libtorrent_LIBS $LIBS"])
|
LIBS="$libtorrent_LIBS $LIBS"])
|
||||||
|
|
||||||
PKG_CHECK_MODULES(openssl,
|
|
||||||
[openssl >= 1.0],
|
|
||||||
[CXXFLAGS="$openssl_CFLAGS $CXXFLAGS"
|
|
||||||
LIBS="$openssl_LIBS $LIBS"])
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(zlib,
|
PKG_CHECK_MODULES(zlib,
|
||||||
[zlib >= 1.2.5.2],
|
[zlib >= 1.2.5.2],
|
||||||
[CXXFLAGS="$zlib_CFLAGS $CXXFLAGS"
|
[CXXFLAGS="$zlib_CFLAGS $CXXFLAGS"
|
||||||
LIBS="$zlib_LIBS $LIBS"])
|
LIBS="$zlib_LIBS $LIBS"])
|
||||||
|
|
||||||
# Check if already in >= C++14 mode because of the flags returned by one of the above packages
|
# Check if already in >= C++11 mode because of the flags returned by one of the above packages
|
||||||
TMP_CXXFLAGS="$CXXFLAGS"
|
AC_MSG_CHECKING([if compiler is using C++11 or later mode])
|
||||||
CXXFLAGS=""
|
AC_COMPILE_IFELSE([DETECT_CPP11_PROGRAM()],
|
||||||
AC_MSG_CHECKING([if compiler defaults to C++14 or later mode])
|
|
||||||
AC_COMPILE_IFELSE([DETECT_CPP14_PROGRAM()],
|
|
||||||
[AC_MSG_RESULT([yes])
|
[AC_MSG_RESULT([yes])
|
||||||
QBT_CXX14_FOUND="yes"],
|
QBT_CXX11_FOUND="yes"],
|
||||||
[AC_MSG_RESULT([no])
|
[AC_MSG_RESULT([no])
|
||||||
QBT_CXX14_FOUND="no"])
|
QBT_CXX11_FOUND="no"])
|
||||||
|
|
||||||
# In case of no, check if the compiler can support at least C++14
|
# In case of no, check if the compiler can support at least C++11
|
||||||
# and if yes, enable it leaving a warning to the user
|
# and if yes, enable it leaving a warning to the user
|
||||||
AS_IF([test "x$QBT_CXX14_FOUND" = "xno"],
|
AS_IF([test "x$QBT_CXX11_FOUND" = "xno"],
|
||||||
[AC_MSG_CHECKING([if compiler supports C++14])
|
[AC_MSG_CHECKING([if compiler supports C++11])
|
||||||
CXXFLAGS="-std=c++14"
|
TMP_CXXFLAGS="$CXXFLAGS"
|
||||||
AC_COMPILE_IFELSE([DETECT_CPP14_PROGRAM()],
|
CXXFLAGS="$CXXFLAGS -std=c++11"
|
||||||
|
AC_COMPILE_IFELSE([DETECT_CPP11_PROGRAM()],
|
||||||
[AC_MSG_RESULT([yes])
|
[AC_MSG_RESULT([yes])
|
||||||
AC_MSG_CHECKING([if C++14 is disabled by the set compiler flags])
|
AC_MSG_CHECKING([if C++11 is disabled by the set compiler flags])
|
||||||
# prepend the flag so it won't override conflicting user defined flags
|
# prepend the flag so it won't override conflicting user defined flags
|
||||||
CXXFLAGS="-std=c++14 $TMP_CXXFLAGS"
|
CXXFLAGS="-std=c++11 $TMP_CXXFLAGS"
|
||||||
AC_COMPILE_IFELSE([DETECT_CPP14_PROGRAM()],
|
AC_COMPILE_IFELSE([DETECT_CPP11_PROGRAM()],
|
||||||
[AC_MSG_RESULT([no])
|
[AC_MSG_RESULT([no])
|
||||||
QBT_ADD_CONFIG="$QBT_ADD_CONFIG c++14"
|
CXXFLAGS="$TMP_CXXFLAGS -std=c++11"
|
||||||
AC_MSG_WARN([C++14 mode is now force enabled. The C++ mode should match the mode that other libraries were built with, otherwise you'll likely get linking errors.])],
|
AC_MSG_WARN([C++11 mode is now force enabled.
|
||||||
|
Make sure you use the same C++ mode for qBittorrent and its dependencies.
|
||||||
|
To explicitly set qBittorrent to a later mode use CXXFLAGS.
|
||||||
|
Example: `CXXFLAGS="\$CXXFLAGS -std=c++14" ./configure`])],
|
||||||
[AC_MSG_RESULT([yes])
|
[AC_MSG_RESULT([yes])
|
||||||
AC_MSG_ERROR([The compiler supports C++14 but the user or a dependency has explicitly enabled a lower mode.])])],
|
AC_MSG_ERROR([The compiler supports C++11 but the user or a dependency has explicitly enabled a lower mode.])])],
|
||||||
[AC_MSG_RESULT([no])
|
[AC_MSG_RESULT([no])
|
||||||
AC_MSG_ERROR([A compiler supporting C++14 is required.])])
|
AC_MSG_ERROR([A compiler supporting C++11 is required.])])
|
||||||
])
|
])
|
||||||
CXXFLAGS="$TMP_CXXFLAGS"
|
|
||||||
|
|
||||||
# These are required because autoconf doesn't expand these **particular**
|
# These are required because autoconf doesn't expand these **particular**
|
||||||
# vars automatically. And qmake cannot autoexpand them.
|
# vars automatically. And qmake cannot autoexpand them.
|
||||||
@@ -274,14 +287,17 @@ AC_OUTPUT(conf.pri)
|
|||||||
AS_IF([test "x$enable_systemd" = "xyes"],
|
AS_IF([test "x$enable_systemd" = "xyes"],
|
||||||
[AC_OUTPUT(dist/unix/systemd/qbittorrent-nox@.service)])
|
[AC_OUTPUT(dist/unix/systemd/qbittorrent-nox@.service)])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
AC_MSG_NOTICE([Running qmake to generate the makefile...])
|
AC_MSG_NOTICE([Running qmake to generate the makefile...])
|
||||||
TOPDIR="$(cd "$(dirname "$0")" && pwd)"
|
CONFDIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||||
$QT_QMAKE -r "$TOPDIR/qbittorrent.pro" "QMAKE_LRELEASE=$QMAKE_LRELEASE"
|
|
||||||
qmake_ret="$?"
|
$QT_QMAKE -r [$CONFDIR]/qbittorrent.pro "QMAKE_LRELEASE=$QMAKE_LRELEASE"
|
||||||
|
|
||||||
|
ret="$?"
|
||||||
|
|
||||||
AS_ECHO()
|
AS_ECHO()
|
||||||
AS_IF([test "x$qmake_ret" != "x0"],
|
AS_IF([test "x$ret" = "x0"],
|
||||||
[AC_MSG_ERROR([$QT_QMAKE failed to generate the makefile])])
|
[AC_MSG_NOTICE([Good, your configure finished.])],
|
||||||
|
[AC_MSG_ERROR([Failed running $QT_QMAKE to generate the makefile])])
|
||||||
AC_MSG_NOTICE([Good, the configure finished.])
|
|
||||||
AS_ECHO()
|
AS_ECHO()
|
||||||
|
|||||||
2
dist/mac/Info.plist
vendored
@@ -55,7 +55,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>4.2.1</string>
|
<string>4.1.8</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>@EXECUTABLE@</string>
|
<string>@EXECUTABLE@</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
|
|||||||
BIN
dist/mac/qbittorrent_mac.icns
vendored
BIN
dist/unix/menuicons/128x128/apps/qbittorrent.png
vendored
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.6 KiB |
BIN
dist/unix/menuicons/16x16/apps/qbittorrent.png
vendored
|
Before Width: | Height: | Size: 775 B After Width: | Height: | Size: 986 B |
|
Before Width: | Height: | Size: 775 B After Width: | Height: | Size: 986 B |
BIN
dist/unix/menuicons/192x192/apps/qbittorrent.png
vendored
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
BIN
dist/unix/menuicons/22x22/apps/qbittorrent.png
vendored
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |