You've already forked qBittorrent
							
							
				mirror of
				https://github.com/qbittorrent/qBittorrent
				synced 2025-10-30 23:30:54 +01:00 
			
		
		
		
	Compare commits
	
		
			502 Commits
		
	
	
		
			release-4.
			...
			release-4.
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | eea38e7c9e | ||
|   | 5c933c9734 | ||
|   | 102b7fa78e | ||
|   | b5ee908f6c | ||
|   | 7825d8627f | ||
|   | b798c591e7 | ||
|   | 9e7d21d7aa | ||
|   | 38a15b27f0 | ||
|   | cb31684a66 | ||
|   | 850cde19f7 | ||
|   | fc5b3b4f70 | ||
|   | 73fd4d83af | ||
|   | 811b525b1d | ||
|   | 0f8def9a49 | ||
|   | 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: | ||||
|   - 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 | ||||
|   - jom -j2 -f Makefile.Release | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								.github/ISSUE_TEMPLATE.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/ISSUE_TEMPLATE.md
									
									
									
									
										vendored
									
									
								
							| @@ -3,7 +3,7 @@ | ||||
| ### qBittorrent version and Operating System | ||||
| (type here) | ||||
|  | ||||
| ### If on linux, libtorrent-rasterbar and Qt version | ||||
| ### If on linux, libtorrent and Qt version | ||||
| (type here) | ||||
|  | ||||
| ### What is the problem | ||||
|   | ||||
							
								
								
									
										8
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -4,7 +4,6 @@ src/qbittorrent | ||||
| src/qbittorrent-nox | ||||
| src/release | ||||
| src/debug | ||||
| CMakeLists.txt.user* | ||||
| qbittorrent.pro.user* | ||||
| conf.pri | ||||
| Makefile* | ||||
| @@ -36,10 +35,3 @@ config.status | ||||
| src/icons/qbt-theme/build-icons/node_modules/ | ||||
| src/icons/skin/build-icons/node_modules/ | ||||
| src/icons/skin/build-icons/icons/*.png | ||||
|  | ||||
| # CMake build directory | ||||
| build/ | ||||
|  | ||||
| # Web UI tools | ||||
| node_modules | ||||
| package-lock.json | ||||
|   | ||||
							
								
								
									
										197
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										197
									
								
								.travis.yml
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -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.") | ||||
|  | ||||
| if(POLICY CMP0074) | ||||
|     cmake_policy(SET CMP0074 NEW) | ||||
| endif() | ||||
|  | ||||
| list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules) | ||||
| include(FunctionReadVersion) | ||||
|  | ||||
| @@ -34,10 +30,8 @@ include(GNUInstallDirs) | ||||
| include(FeatureSummary) | ||||
|  | ||||
| # version requirements | ||||
| set(requiredBoostVersion 1.40) | ||||
| set(requiredQtVersion 5.9.0) | ||||
| set(requiredOpensslVersion 1.0) | ||||
| set(requiredLibtorrentVersion 1.1.10) | ||||
| set(requiredBoostVersion 1.35) | ||||
| set(requiredQtVersion 5.5.1) | ||||
|  | ||||
| if(WIN32) | ||||
|     include(winconf) | ||||
|   | ||||
| @@ -306,7 +306,7 @@ Example: | ||||
| #include <QString> | ||||
| #include <QUrl> | ||||
|  | ||||
| #ifdef Q_OS_MACOS  // conditional | ||||
| #ifdef Q_OS_MAC  // conditional | ||||
| #include <QFont> | ||||
| #endif | ||||
|  | ||||
|   | ||||
							
								
								
									
										48
									
								
								INSTALL
									
									
									
									
									
								
							
							
						
						
									
										48
									
								
								INSTALL
									
									
									
									
									
								
							| @@ -1,26 +1,7 @@ | ||||
| qBittorrent - A BitTorrent client in C++ / Qt | ||||
| ------------------------------------------ | ||||
|  | ||||
| 1) Install these dependencies: | ||||
|  | ||||
|   - 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 >= 3.3.0 (optional, runtime only) | ||||
|       * Required by the internal search engine | ||||
|  | ||||
| 2a) Compile and install qBittorrent with Qt graphical interface | ||||
| 1) Compile and install qBittorrent with Qt graphical interface | ||||
|  | ||||
|   $ ./configure | ||||
|   $ make && make install | ||||
| @@ -28,7 +9,21 @@ qBittorrent - A BitTorrent client in C++ / Qt | ||||
|  | ||||
|   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 | ||||
|   $ make && make install | ||||
| @@ -36,6 +31,17 @@ qBittorrent - A BitTorrent client in C++ / Qt | ||||
|  | ||||
|   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: | ||||
| Please note that there is a "Compilation" section at http://wiki.qbittorrent.org. | ||||
|  | ||||
|   | ||||
| @@ -13,7 +13,8 @@ It aims to be a good alternative to all other bittorrent clients | ||||
| out there. qBittorrent is fast, stable and provides unicode | ||||
| support as well as many features. | ||||
|  | ||||
| The free [IP to Country Lite database](https://db-ip.com/db/download/ip-to-country-lite) by [DB-IP](https://db-ip.com/) is used for resolving the countries of peers. The database is licensed under the [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/). | ||||
| This product includes GeoLite data created by MaxMind, available from | ||||
| https://www.maxmind.com/ | ||||
|  | ||||
| ### Installation: | ||||
| For installation, follow the instructions from INSTALL file, but simple: | ||||
|   | ||||
| @@ -38,9 +38,8 @@ else() | ||||
|         # 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. | ||||
|         set(LibtorrentRasterbar_DEFINITIONS | ||||
|             -DTORRENT_USE_LIBCRYPTO | ||||
|             # TODO: remove the following define as it is not used since OpenSSL >= 1.1 | ||||
|             -DTORRENT_USE_OPENSSL | ||||
|             -DTORRENT_DISABLE_GEO_IP | ||||
|             -DBOOST_ASIO_ENABLE_CANCELIO | ||||
|             -DUNICODE -D_UNICODE -D_FILE_OFFSET_BITS=64) | ||||
|     endif() | ||||
| @@ -48,7 +47,7 @@ else() | ||||
|     if(NOT LibtorrentRasterbar_USE_STATIC_LIBS) | ||||
|         list(APPEND LibtorrentRasterbar_DEFINITIONS | ||||
|             -DTORRENT_LINKING_SHARED | ||||
|             -DBOOST_SYSTEM_DYN_LINK) | ||||
|             -DBOOST_SYSTEM_DYN_LINK -DBOOST_CHRONO_DYN_LINK) | ||||
|     endif() | ||||
| endif() | ||||
|  | ||||
|   | ||||
							
								
								
									
										79
									
								
								cmake/Modules/FindQtSingleApplication.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										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) | ||||
| @@ -1,4 +1,5 @@ | ||||
| macro(configure_msvc_runtime) | ||||
|     if(MSVC) | ||||
|         # Default to statically-linked runtime. | ||||
|         if("${MSVC_RUNTIME}" STREQUAL "") | ||||
|             set(MSVC_RUNTIME "static") | ||||
| @@ -33,4 +34,5 @@ macro(configure_msvc_runtime) | ||||
|                 endif() | ||||
|             endforeach() | ||||
|         endif() | ||||
|     endif() | ||||
| endmacro() | ||||
|   | ||||
							
								
								
									
										49
									
								
								cmake/Modules/MacroGlibcDetect.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								cmake/Modules/MacroGlibcDetect.cmake
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,49 @@ | ||||
|  ############################################################### | ||||
|  # | ||||
|  # Copyright 2011 Red Hat, Inc. | ||||
|  # | ||||
|  # Licensed under the Apache License, Version 2.0 (the "License"); you | ||||
|  # may not use this file except in compliance with the License.  You may | ||||
|  # obtain a copy of the License at | ||||
|  # | ||||
|  #    http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  # | ||||
|  # Unless required by applicable law or agreed to in writing, software | ||||
|  # distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  # See the License for the specific language governing permissions and | ||||
|  # limitations under the License. | ||||
|  # | ||||
|  ############################################################### | ||||
|  | ||||
| MACRO (GLIBC_DETECT _VERSION) | ||||
|  | ||||
| # there are multiple ways to detect glibc, but given nmi's | ||||
| # cons'd up paths I will trust only gcc.  I guess I could also use | ||||
| # ldd --version to detect. | ||||
|  | ||||
|     set(_GLIB_SOURCE_DETECT " | ||||
| #include <limits.h> | ||||
| #include <stdio.h> | ||||
| int main() | ||||
| { | ||||
|   printf(\"%d%d\",__GLIBC__, __GLIBC_MINOR__); | ||||
|   return 0; | ||||
| } | ||||
| ") | ||||
|  | ||||
| file (WRITE ${CMAKE_CURRENT_BINARY_DIR}/build/cmake/glibc.cpp "${_GLIB_SOURCE_DETECT}\n") | ||||
|  | ||||
| try_run(POST26_GLIBC_DETECTED | ||||
|         POST26_GLIBC_COMPILE | ||||
|         ${CMAKE_CURRENT_BINARY_DIR}/build/cmake | ||||
|         ${CMAKE_CURRENT_BINARY_DIR}/build/cmake/glibc.cpp | ||||
|         RUN_OUTPUT_VARIABLE GLIBC_VERSION ) | ||||
|  | ||||
| if (GLIBC_VERSION AND POST26_GLIBC_COMPILE ) | ||||
|     set(${_VERSION} ${GLIBC_VERSION}) | ||||
| else() | ||||
|     message(STATUS "NOTE: Could not detect GLIBC_VERSION from compiler") | ||||
| endif() | ||||
|  | ||||
| ENDMACRO (GLIBC_DETECT) | ||||
| @@ -10,22 +10,22 @@ macro(qbt_set_compiler_options) | ||||
|     if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") | ||||
|         #-Wshadow -Wconversion ? | ||||
|         set(_GCC_COMMON_C_AND_CXX_FLAGS "-Wall -Wextra" | ||||
|             "-Wcast-qual -Wcast-align" | ||||
|             "-Winvalid-pch -Wno-long-long" | ||||
|             "-Wfloat-equal -Wcast-qual -Wcast-align" | ||||
|             "-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" | ||||
|             "-Wnon-virtual-dtor" | ||||
|             "-Wnon-virtual-dtor -Wfloat-equal -Wcast-qual -Wcast-align" | ||||
|             #"-Weffc++" | ||||
|             #"-Werror -Wno-error=cpp" | ||||
|             # we should modify code to make these ones obsolete | ||||
|             #"-Wno-error=sign-conversion -Wno-error=float-equal" | ||||
|         ) | ||||
|  | ||||
|         # GCC 4.8 has problems with std::array and its initialization | ||||
|         if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9) | ||||
|             # GCC 4.8 has problems with std::array and its initialization | ||||
|             list(APPEND _GCC_COMMON_CXX_FLAGS "-Wno-error=missing-field-initializers") | ||||
|         endif() | ||||
|  | ||||
| @@ -39,18 +39,29 @@ macro(qbt_set_compiler_options) | ||||
|         endif (_PEDANTIC_IS_SUPPORTED) | ||||
|  | ||||
|         if (CMAKE_SYSTEM_NAME MATCHES Linux) | ||||
|             # if Glibc version is 2.20 or higher, set -D_DEFAULT_SOURCE | ||||
|             include(MacroGlibcDetect) | ||||
|             message(STATUS "Detecting Glibc version...") | ||||
|             glibc_detect(GLIBC_VERSION) | ||||
|             if(${GLIBC_VERSION}) | ||||
|                 if(GLIBC_VERSION LESS "220") | ||||
|                     message(STATUS "Glibc version is ${GLIBC_VERSION}") | ||||
|                 else(GLIBC_VERSION LESS "220") | ||||
|                     message(STATUS "Glibc version is ${GLIBC_VERSION}, adding -D_DEFAULT_SOURCE") | ||||
|                     add_definitions(-D_DEFAULT_SOURCE) | ||||
|         endif() | ||||
|                 endif(GLIBC_VERSION LESS "220") | ||||
|             endif(${GLIBC_VERSION}) | ||||
|         endif (CMAKE_SYSTEM_NAME MATCHES Linux) | ||||
|  | ||||
|         # Clang 5.0 still doesn't support -Wstrict-null-sentinel | ||||
|         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") | ||||
|             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") | ||||
| @@ -61,14 +72,31 @@ macro(qbt_set_compiler_options) | ||||
|  | ||||
|         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}") | ||||
|  | ||||
|         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 | ||||
|         # also let's enable -march=native for debug builds | ||||
|         check_cxx_compiler_flag(-Og _DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED) | ||||
|  | ||||
|         if (_DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED) | ||||
|             string(APPEND CMAKE_C_FLAGS_DEBUG " -Og -g3 -march=native -pipe" ) | ||||
|             string(APPEND CMAKE_CXX_FLAGS_DEBUG " -Og -g3 -march=native -pipe" ) | ||||
|         else(_DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED) | ||||
|             string(APPEND CMAKE_C_FLAGS_DEBUG " -O0 -g3 -march=native -pipe" ) | ||||
|             string(APPEND CMAKE_CXX_FLAGS_DEBUG " -O0 -g3 -march=native -pipe" ) | ||||
|         endif (_DEBUG_OPTIMIZATION_LEVEL_IS_SUPPORTED) | ||||
|     endif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") | ||||
|  | ||||
|     if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") | ||||
|         set(QBT_ADDITONAL_FLAGS "/wd4251 /wd4275 /wd4290  /W4" CACHE STRING "Additional qBittorent compile flags") | ||||
|     endif () | ||||
|  | ||||
|         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 (NOT QBT_ADDITONAL_FLAGS) | ||||
| 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")) | ||||
|     link_libraries(-Wl,--dynamicbase) | ||||
| 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) | ||||
| set(MSVC_RUNTIME "dynamic") | ||||
| 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}") | ||||
|  | ||||
| # We want to link with static version of | ||||
| # libtorrent | ||||
| set(LibtorrentRasterbar_USE_STATIC_LIBS True) | ||||
| 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 | ||||
|     -DTORRENT_USE_LIBCRYPTO | ||||
|     # TODO: remove the following define as it is not used since OpenSSL >= 1.1 | ||||
|     -DBOOST_SYSTEM_STATIC_LINK=1 | ||||
|     -DTORRENT_USE_OPENSSL | ||||
|     # TODO: remove the following define as it is not used since libtorrent >= 1.2 | ||||
|     -DTORRENT_DISABLE_RESOLVE_COUNTRIES | ||||
| ) | ||||
|     -D__USE_W32_SOCKETS | ||||
|     -D_FILE_OFFSET_BITS=64) | ||||
|  | ||||
| set(LibtorrentRasterbar_CUSTOM_BOOST_DEPENDENCIES system) | ||||
|  | ||||
| # 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 | ||||
| add_definitions(-DUNICODE | ||||
|     -D_UNICODE | ||||
|     -DWIN32 | ||||
|     -D_WIN32 | ||||
|     -DWIN32_LEAN_AND_MEAN | ||||
|     -DNTDDI_VERSION=0x05010000 | ||||
|     -D_WIN32_WINNT=0x0501 | ||||
|     -D_WIN32_IE=0x0501 | ||||
|     -D_CRT_SECURE_NO_DEPRECATE | ||||
|     -D_SCL_SECURE_NO_DEPRECATE | ||||
|     -DNOMINMAX | ||||
|     -DBOOST_ALL_NO_LIB | ||||
| ) | ||||
|  | ||||
| # Enable if libtorrent was built with this flag defined | ||||
| #list(APPEND LibtorrentRasterbar_CUSTOM_DEFINITIONS -DTORRENT_NO_DEPRECATE) | ||||
|  | ||||
| if (("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") OR ("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo")) | ||||
|     list(APPEND LibtorrentRasterbar_CUSTOM_DEFINITIONS | ||||
|     -DTORRENT_DEBUG) | ||||
| else () | ||||
|     add_definitions(-DNDEBUG) | ||||
| endif () | ||||
| # and boost | ||||
| set(Boost_USE_STATIC_LIBS  True) | ||||
| # set(Boost_USE_STATIC_RUNTIME True) | ||||
|  | ||||
| # Here we assume that all required libraries are installed into the same prefix | ||||
| # 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}") | ||||
|  | ||||
| # 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") | ||||
|  | ||||
| # 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") | ||||
|  | ||||
| # And now we can set specific values for the Boost and libtorrent libraries. | ||||
|   | ||||
| @@ -35,15 +35,26 @@ LIBS += zlib.lib | ||||
| #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 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 | ||||
| # Enable if linking dynamically against libtorrent | ||||
| #DEFINES += TORRENT_LINKING_SHARED | ||||
|   | ||||
							
								
								
									
										86
									
								
								configure.ac
									
									
									
									
									
								
							
							
						
						
									
										86
									
								
								configure.ac
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | ||||
| AC_INIT([qbittorrent], [v4.2.5], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/]) | ||||
| AC_INIT([qbittorrent], [v4.1.9.1], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/]) | ||||
| AC_CONFIG_AUX_DIR([build-aux]) | ||||
| AC_CONFIG_MACRO_DIR([m4]) | ||||
| AC_PROG_CC | ||||
| @@ -14,6 +14,12 @@ QBT_CXX="$CXX" | ||||
|  | ||||
| # 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, | ||||
|               [AS_HELP_STRING([--enable-debug], | ||||
|                               [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".])]) | ||||
|  | ||||
|  | ||||
| AX_BOOST_BASE([1.40], | ||||
| AX_BOOST_BASE([1.35], | ||||
|               [AC_MSG_NOTICE([Boost CXXFLAGS: "$BOOST_CPPFLAGS"]) | ||||
|                AC_MSG_NOTICE([Boost LDFLAGS: "$BOOST_LDFLAGS"])], | ||||
|               [AC_MSG_ERROR([Could not find Boost])]) | ||||
| @@ -177,51 +183,58 @@ AX_BOOST_SYSTEM() | ||||
| 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"], | ||||
|         ["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, | ||||
|                   [libtorrent-rasterbar >= 1.1.10], | ||||
|                   [libtorrent-rasterbar >= 1.0.6], | ||||
|                   [CXXFLAGS="$libtorrent_CFLAGS $CXXFLAGS" | ||||
|                   LIBS="$libtorrent_LIBS $LIBS"]) | ||||
|  | ||||
| PKG_CHECK_MODULES(openssl, | ||||
|                   [openssl >= 1.0], | ||||
|                   [CXXFLAGS="$openssl_CFLAGS $CXXFLAGS" | ||||
|                   LIBS="$openssl_LIBS $LIBS"]) | ||||
|  | ||||
| PKG_CHECK_MODULES(zlib, | ||||
|                  [zlib >= 1.2.5.2], | ||||
|                  [CXXFLAGS="$zlib_CFLAGS $CXXFLAGS" | ||||
|                  LIBS="$zlib_LIBS $LIBS"]) | ||||
|  | ||||
| # Check if already in >= C++14 mode because of the flags returned by one of the above packages | ||||
| TMP_CXXFLAGS="$CXXFLAGS" | ||||
| CXXFLAGS="" | ||||
| AC_MSG_CHECKING([if compiler defaults to C++14 or later mode]) | ||||
| AC_COMPILE_IFELSE([DETECT_CPP14_PROGRAM()], | ||||
| # Check if already in >= C++11 mode because of the flags returned by one of the above packages | ||||
| AC_MSG_CHECKING([if compiler is using C++11 or later mode]) | ||||
| AC_COMPILE_IFELSE([DETECT_CPP11_PROGRAM()], | ||||
|                   [AC_MSG_RESULT([yes]) | ||||
|                    QBT_CXX14_FOUND="yes"], | ||||
|                    QBT_CXX11_FOUND="yes"], | ||||
|                   [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 | ||||
| AS_IF([test "x$QBT_CXX14_FOUND" = "xno"], | ||||
|       [AC_MSG_CHECKING([if compiler supports C++14]) | ||||
|        CXXFLAGS="-std=c++14" | ||||
|        AC_COMPILE_IFELSE([DETECT_CPP14_PROGRAM()], | ||||
| AS_IF([test "x$QBT_CXX11_FOUND" = "xno"], | ||||
|       [AC_MSG_CHECKING([if compiler supports C++11]) | ||||
|        TMP_CXXFLAGS="$CXXFLAGS" | ||||
|        CXXFLAGS="$CXXFLAGS -std=c++11" | ||||
|        AC_COMPILE_IFELSE([DETECT_CPP11_PROGRAM()], | ||||
|                         [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 | ||||
|                          CXXFLAGS="-std=c++14 $TMP_CXXFLAGS" | ||||
|                          AC_COMPILE_IFELSE([DETECT_CPP14_PROGRAM()], | ||||
|                          CXXFLAGS="-std=c++11 $TMP_CXXFLAGS" | ||||
|                          AC_COMPILE_IFELSE([DETECT_CPP11_PROGRAM()], | ||||
|                                            [AC_MSG_RESULT([no]) | ||||
|                                             QBT_ADD_CONFIG="$QBT_ADD_CONFIG c++14" | ||||
|                                             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.])], | ||||
|                                             CXXFLAGS="$TMP_CXXFLAGS -std=c++11" | ||||
|                                             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_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_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** | ||||
| # vars automatically. And qmake cannot autoexpand them. | ||||
| @@ -274,14 +287,17 @@ AC_OUTPUT(conf.pri) | ||||
| AS_IF([test "x$enable_systemd" = "xyes"], | ||||
|       [AC_OUTPUT(dist/unix/systemd/qbittorrent-nox@.service)]) | ||||
|  | ||||
|  | ||||
|  | ||||
| AC_MSG_NOTICE([Running qmake to generate the makefile...]) | ||||
| TOPDIR="$(cd "$(dirname "$0")" && pwd)" | ||||
| $QT_QMAKE -r "$TOPDIR/qbittorrent.pro" "QMAKE_LRELEASE=$QMAKE_LRELEASE" | ||||
| qmake_ret="$?" | ||||
| CONFDIR="$( cd "$( dirname "$0" )" && pwd )" | ||||
|  | ||||
| $QT_QMAKE -r [$CONFDIR]/qbittorrent.pro "QMAKE_LRELEASE=$QMAKE_LRELEASE" | ||||
|  | ||||
| ret="$?" | ||||
|  | ||||
| AS_ECHO() | ||||
| AS_IF([test "x$qmake_ret" != "x0"], | ||||
|       [AC_MSG_ERROR([$QT_QMAKE failed to generate the makefile])]) | ||||
|  | ||||
| AC_MSG_NOTICE([Good, the configure finished.]) | ||||
| 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() | ||||
|   | ||||
							
								
								
									
										10
									
								
								dist/mac/Info.plist
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								dist/mac/Info.plist
									
									
									
									
										vendored
									
									
								
							| @@ -55,7 +55,7 @@ | ||||
| 	<key>CFBundlePackageType</key> | ||||
| 	<string>APPL</string> | ||||
| 	<key>CFBundleShortVersionString</key> | ||||
| 	<string>4.2.5</string> | ||||
| 	<string>4.1.9</string> | ||||
| 	<key>CFBundleExecutable</key> | ||||
| 	<string>@EXECUTABLE@</string> | ||||
| 	<key>CFBundleIdentifier</key> | ||||
| @@ -67,7 +67,7 @@ | ||||
| 	<key>NSAppleScriptEnabled</key> | ||||
| 	<string>YES</string> | ||||
| 	<key>NSHumanReadableCopyright</key> | ||||
| 	<string>Copyright © 2006-2020 The qBittorrent project</string> | ||||
| 	<string>Copyright © 2006-2019 The qBittorrent project</string> | ||||
| 	<key>UTExportedTypeDeclarations</key> | ||||
| 	<array> | ||||
| 		<dict> | ||||
| @@ -84,21 +84,17 @@ | ||||
| 			<key>UTTypeIdentifier</key> | ||||
| 			<string>org.bittorrent.torrent</string> | ||||
| 			<key>UTTypeReferenceURL</key> | ||||
| 			<string>https://www.bittorrent.org/beps/bep_0000.html</string> | ||||
| 			<string>http://www.bittorrent.org/beps/bep_0000.html</string> | ||||
| 			<key>UTTypeTagSpecification</key> | ||||
| 			<dict> | ||||
| 				<key>com.apple.ostype</key> | ||||
| 				<array> | ||||
| 				<string>TORR</string> | ||||
| 				</array> | ||||
| 				<key>public.filename-extension</key> | ||||
| 				<array> | ||||
| 					<string>torrent</string> | ||||
| 				</array> | ||||
| 				<key>public.mime-type</key> | ||||
| 				<array> | ||||
| 				<string>application/x-bittorrent</string> | ||||
| 				</array> | ||||
| 			</dict> | ||||
| 		</dict> | ||||
| 	</array> | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								dist/mac/qbittorrent_mac.icns
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								dist/mac/qbittorrent_mac.icns
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								dist/qt-translations/qt_ar.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								dist/qt-translations/qt_ar.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								dist/qt-translations/qt_bg.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								dist/qt-translations/qt_bg.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								dist/qt-translations/qt_ca.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								dist/qt-translations/qt_ca.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								dist/qt-translations/qt_cs.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								dist/qt-translations/qt_cs.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								dist/qt-translations/qt_da.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								dist/qt-translations/qt_da.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								dist/qt-translations/qt_de.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								dist/qt-translations/qt_de.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								dist/qt-translations/qt_es.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								dist/qt-translations/qt_es.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								dist/qt-translations/qt_eu.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								dist/qt-translations/qt_eu.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								dist/qt-translations/qt_fi.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								dist/qt-translations/qt_fi.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								dist/qt-translations/qt_fr.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								dist/qt-translations/qt_fr.qm
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user