Compare commits
2177 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5cda630417 | |||
| da066e8ed8 | |||
| d60b0e8655 | |||
| 58081a3664 | |||
| 5b4bef13e7 | |||
| 265d1d6979 | |||
| 4b93ea59db | |||
| 6e36f4d230 | |||
| bcd0ca6076 | |||
| a67776013d | |||
| 382b41b18f | |||
| 6f9bfb10d3 | |||
| aab25d9b22 | |||
| f5964fe2a9 | |||
| caaf2368b6 | |||
| 742f67908c | |||
| b4ee3fa39a | |||
| 09300abe92 | |||
| ba8ea95624 | |||
| a5bdf824e6 | |||
| e4eb7acd49 | |||
| 8ca8281f4f | |||
| 6d160873c4 | |||
| 02282477e7 | |||
| f8aaa59990 | |||
| 7d66f8339e | |||
| b8813edc51 | |||
| 87bb44830b | |||
| 912cae21b0 | |||
| 93a4ca11fa | |||
| a9a9999efd | |||
| 99fbdaf75b | |||
| d2c0b45bca | |||
| 8266f63130 | |||
| 037ce7cb5f | |||
| a1d2fb314e | |||
| 914ead075e | |||
| 30b23fb7b8 | |||
| 40e39ddd46 | |||
| 1002563776 | |||
| fc503c3445 | |||
| e991525d63 | |||
| 53fb4a78a3 | |||
| 1a85c18600 | |||
| 381381c7e0 | |||
| 2fed6dd7e1 | |||
| 9627c550a0 | |||
| 1584de951a | |||
| 2535e9d1ec | |||
| 8e0e2e95e6 | |||
| 32b522b1fd | |||
| adc617ccc4 | |||
| 802bbb2263 | |||
| 6c72b7f011 | |||
| 25e47738f7 | |||
| b23c6b456c | |||
| 240650f6a6 | |||
| c765d5be0b | |||
| a1c1ad096d | |||
| 1611c53c12 | |||
| 313f047f97 | |||
| 7e75593c20 | |||
| d244677df9 | |||
| ec4cba9de8 | |||
| e71d457af9 | |||
| b2ad4dd189 | |||
| caef92a584 | |||
| 4fa625c4fa | |||
| cbef6b1fca | |||
| aec129c1ab | |||
| 770611fdf3 | |||
| 07e3c56f0d | |||
| eb4ce48b65 | |||
| 1524ff87d2 | |||
| 312e5eda66 | |||
| 161d696013 | |||
| 9981ce8d98 | |||
| 40493231ed | |||
| 43a1948d58 | |||
| a1815b617c | |||
| 908c79881b | |||
| a5bc0bcc66 | |||
| d3cb9201f1 | |||
| ed0319cfed | |||
| 3f3c2dc20f | |||
| 78ce053b4d | |||
| 8509460d2c | |||
| 4f847621af | |||
| 2c1e2c63c3 | |||
| 7b0affb6e0 | |||
| ca36722a54 | |||
| 603952bc27 | |||
| 3196d957b0 | |||
| 4ef66ec8fb | |||
| d41ffb592c | |||
| b38509b030 | |||
| c0264d2121 | |||
| 5e7e55b98a | |||
| 36148fe7f6 | |||
| 01bc0c84f0 | |||
| 2575a93dc6 | |||
| f5c1d7b8c8 | |||
| 86ccce3721 | |||
| 38e4a144a1 | |||
| 9cafb0d912 | |||
| 00b09de3d9 | |||
| a2d29412cb | |||
| 846c994cc9 | |||
| 096366ead5 | |||
| c78f6d4f20 | |||
| c34a95fa25 | |||
| b5d6194f6d | |||
| a5e419535f | |||
| 9775fae4eb | |||
| a262dc02b5 | |||
| fca5752690 | |||
| 7b48e7b363 | |||
| a7d9be1384 | |||
| abfd690601 | |||
| bf7e78795f | |||
| a14438d013 | |||
| 48737a4bb2 | |||
| b321c39371 | |||
| 075155022e | |||
| 8f8c0b69dc | |||
| 19f475fd70 | |||
| 2c56e94702 | |||
| 95b844dbae | |||
| 9da4e62573 | |||
| 1c8f6ba18f | |||
| 31c6ba7ecd | |||
| ab0e71d7cb | |||
| 1fd194141a | |||
| 737c446fc1 | |||
| 73e13aa090 | |||
| 0d5792cc57 | |||
| f37b2e6f10 | |||
| 24d7aaf43c | |||
| 5b2b15091f | |||
| c42fde2a37 | |||
| fef3d8acb5 | |||
| e56410b404 | |||
| a6371fb69d | |||
| a33e7c13fa | |||
| 945f3222ae | |||
| 9e384ed54b | |||
| 561f5c9c14 | |||
| cf7e4bda92 | |||
| 208ed712f4 | |||
| d1f2f5f146 | |||
| 744a208763 | |||
| f86b770ff7 | |||
| 0ae4eae9a6 | |||
| 25429998e3 | |||
| 5ace5c1b7a | |||
| 23514388ed | |||
| f117351783 | |||
| 4572634a4e | |||
| 103997ee56 | |||
| c9de5474bf | |||
| a7358ff1d4 | |||
| 20eab9fed9 | |||
| 7620e1a631 | |||
| 0eeee431dc | |||
| 888f499188 | |||
| c6e7ca562a | |||
| a9b4dd022c | |||
| 5568763a57 | |||
| a3b12e3809 | |||
| 742f021fdf | |||
| 95bcf6ac38 | |||
| e371961219 | |||
| 5503338f21 | |||
| fe7184c2a8 | |||
| 1c83014526 | |||
| 2d903e3ce6 | |||
| e29e8eec2f | |||
| dc47d0f624 | |||
| 8b55f2c615 | |||
| fcfe192e83 | |||
| bd38aefc57 | |||
| feaf010fa2 | |||
| ebecdd3a74 | |||
| a29ddcee40 | |||
| d11547024c | |||
| 6f59e2676b | |||
| 8fea7e56e5 | |||
| 58fea44eb5 | |||
| 084d7d6b01 | |||
| bd3bfe411d | |||
| 963ed37fd6 | |||
| 741da9c8bf | |||
| 69d92a19a5 | |||
| 8671aa8dd0 | |||
| efc89c032b | |||
| d0328f49f1 | |||
| c1bd602e4c | |||
| b3d6f7bdd8 | |||
| 12156b199a | |||
| a0407a8e64 | |||
| 7582717c9d | |||
| ec85eac3c9 | |||
| fb4b507ba4 | |||
| 7ea78699a1 | |||
| 80ad90651e | |||
| b94739cfa7 | |||
| 89e00c442d | |||
| d796341d33 | |||
| 5282efac1b | |||
| ae83d5c6d3 | |||
| 3370546a7a | |||
| 2ff606628c | |||
| 20576ebb43 | |||
| 6f81160160 | |||
| 266e086706 | |||
| 9561a2f5b1 | |||
| bc8699a9fa | |||
| c3cc65a11e | |||
| 1f0fee33ed | |||
| de6c0defb3 | |||
| 6c659c3a16 | |||
| af022294dd | |||
| 073714a762 | |||
| 4ae75bec50 | |||
| 31527ccd25 | |||
| 268878f895 | |||
| d00b7be2d6 | |||
| 28877cea31 | |||
| 941b663352 | |||
| 708e5b027f | |||
| c33c9c76bf | |||
| 888e814130 | |||
| cad53179ed | |||
| 3c313a43fd | |||
| 45bdbf538c | |||
| 4544407af6 | |||
| 2f2e443858 | |||
| 14db101148 | |||
| 4dd6bcd206 | |||
| ea89cf8639 | |||
| 5c0a31e29f | |||
| 07922abffc | |||
| 114a4562ed | |||
| 858f8ac6d9 | |||
| b71130e6f1 | |||
| 054732210e | |||
| af418eb666 | |||
| a2f6a2480d | |||
| 503feba7e4 | |||
| 69511aed3d | |||
| 989d4a7a41 | |||
| a32f6e9d8e | |||
| 36df3ce97e | |||
| de2f2e5140 | |||
| fb4b3c127f | |||
| 72b34650f9 | |||
| 105c60b984 | |||
| e609bc1c6a | |||
| f6c47df671 | |||
| 422525e3fb | |||
| 2dafb27055 | |||
| 500b01076e | |||
| b43ae9d5ed | |||
| f22867efc5 | |||
| be351c2b3d | |||
| 67fa743414 | |||
| 5799fa4d7d | |||
| 499c89790b | |||
| f3d3528754 | |||
| ce961cb4c6 | |||
| 75bf2c20eb | |||
| 1c8b509441 | |||
| cc289a8ed0 | |||
| 017a18f42e | |||
| 8a858c2623 | |||
| 6e12eb80a0 | |||
| d879741ec6 | |||
| 439e621674 | |||
| a1f2610522 | |||
| 240f59a4c8 | |||
| c889a5805e | |||
| 762a30d0db | |||
| 390d49c5f1 | |||
| 3cf15af31e | |||
| 7aa1d10655 | |||
| 74d1b9a254 | |||
| b01541f4e4 | |||
| 0e5a6676c3 | |||
| a9beb4746e | |||
| 79352ee9d5 | |||
| 3a8c2ae328 | |||
| 7f53cd1e96 | |||
| 4118aad491 | |||
| bf948b5790 | |||
| c82806f9cb | |||
| 4eb7f6c044 | |||
| 669a9a644d | |||
| b57df1dcb9 | |||
| 020982508d | |||
| 775e29efb6 | |||
| 5035df27c3 | |||
| 8f3098fc1e | |||
| 3ca3254b9f | |||
| f7908eebb9 | |||
| ffd3afcf2f | |||
| 5808e76fae | |||
| 5c20373db3 | |||
| f981e90af3 | |||
| 55b0dda57c | |||
| 36d44bf52f | |||
| 370d3fa1e3 | |||
| b3f8c7ce58 | |||
| eea68eae18 | |||
| 0b9ef3c0b8 | |||
| 2fb6df3fe9 | |||
| dca63391b6 | |||
| c2b583c911 | |||
| e7ba9fd7e1 | |||
| e158951695 | |||
| f345ffdc0f | |||
| 26e5bc6082 | |||
| cc6a4bedfc | |||
| 2123594ce2 | |||
| 5562ae9cc5 | |||
| 4087f1d10f | |||
| 7fe5004f90 | |||
| b317f54f22 | |||
| 4f1a2c2562 | |||
| babd580c64 | |||
| 7eb0992d2c | |||
| 535bc61b4c | |||
| 18a0c2e9db | |||
| 4559112651 | |||
| f3f3f1b7d9 | |||
| b06f9f2606 | |||
| 8037f2eae8 | |||
| 08bddd7d79 | |||
| d00464bd25 | |||
| 9398521006 | |||
| f72f4377f4 | |||
| 16b7fd71a0 | |||
| 4be00def5c | |||
| 9b34640a58 | |||
| eab68d8fb6 | |||
| bd9f74e6e4 | |||
| 073df3d7eb | |||
| b50e1596cc | |||
| ca28b447ac | |||
| 5687bc6e10 | |||
| 709d7fd92c | |||
| 01cf05bc75 | |||
| f3128fe915 | |||
| 794cfb4271 | |||
| 9ed0b5c5f9 | |||
| 99b425e0e2 | |||
| 173d849b8f | |||
| 17ce54d7f2 | |||
| d2388a2ca8 | |||
| 213120a98b | |||
| 5295a925d8 | |||
| 67569dfe9d | |||
| 7709374f4f | |||
| 7130bcc46d | |||
| 262df44be1 | |||
| 1193f7c393 | |||
| 693b212417 | |||
| 8304b14a90 | |||
| 64e93dc959 | |||
| a7f7279d9d | |||
| 9d64253916 | |||
| 8eabdc058b | |||
| 1b0bf6efe9 | |||
| 91a6df0361 | |||
| 0f3ad939a8 | |||
| 61582efeb9 | |||
| 7f77aafe41 | |||
| 4de43e4d4a | |||
| dc71bccc5c | |||
| 9c70177456 | |||
| 99ceb03a1c | |||
| a63244d1e4 | |||
| 04afcfe115 | |||
| 764e5c7fe5 | |||
| a1ee9799bc | |||
| b087886305 | |||
| fd409a9247 | |||
| 0ca4dff62c | |||
| ea07e61d3d | |||
| 17bff6bf57 | |||
| cc866ab7e4 | |||
| 5fdeda5ee8 | |||
| 9dfadc8b30 | |||
| 75ec9f57a0 | |||
| c99712ea7d | |||
| 1d26fabaa7 | |||
| 9a47330fec | |||
| 24d7a027dc | |||
| 92362d4932 | |||
| af16f2c6b7 | |||
| 3e77466b86 | |||
| 637f7e6928 | |||
| 42b8148aca | |||
| fd49b186fa | |||
| a29a8c6f78 | |||
| 46e1c5bc37 | |||
| d2f9412cf1 | |||
| b2359f1527 | |||
| 856a841c72 | |||
| 34710065e8 | |||
| f783883bf8 | |||
| d4571b123d | |||
| a24e7ba61b | |||
| 8ae43a1be9 | |||
| 46da380b57 | |||
| 072b3e6e26 | |||
| 276764cfe9 | |||
| ba08f63ec4 | |||
| f17aaeccf9 | |||
| ca2accfb25 | |||
| f6695814be | |||
| dc2dd5d5a6 | |||
| 3f0b93925f | |||
| 965c05b43d | |||
| ae38b8bf5e | |||
| 8deaac8bd1 | |||
| fd5e1e80da | |||
| fc258f1d7a | |||
| d13e48e002 | |||
| b86cfe159f | |||
| 38dd6dc190 | |||
| 4ad6bca31c | |||
| 59cbeb3e1b | |||
| 3b91d213b1 | |||
| bf3c6f8812 | |||
| b29242862b | |||
| 32e2fb5d33 | |||
| a7f73d606f | |||
| b44a564792 | |||
| 788bebb160 | |||
| d737652d08 | |||
| f55fc850a2 | |||
| 04efd729d6 | |||
| 82d46a974a | |||
| 21359936b8 | |||
| be95b5a954 | |||
| bbaa08d7f0 | |||
| 50b10c4bac | |||
| 1c3983c12e | |||
| f05e87402a | |||
| 9c85cb354a | |||
| d79274a5d9 | |||
| 4778656110 | |||
| 3cf6593342 | |||
| bbc585881a | |||
| 159ae5e47c | |||
| 6a071c42d2 | |||
| 1f275eb077 | |||
| c589db6add | |||
| fa5277ecdb | |||
| 4265372099 | |||
| 03d5794183 | |||
| 827a901153 | |||
| 50192eb4ad | |||
| a02fd4cddd | |||
| 4d5900aaa1 | |||
| 5ca67332ee | |||
| 172137f1a0 | |||
| 0cfcee95c7 | |||
| 52ebdd42c6 | |||
| eb8c8db899 | |||
| 37199c5f90 | |||
| 8c089f4e2a | |||
| 12dc4d0527 | |||
| 0c1b954e07 | |||
| b976cac49d | |||
| e4c3565ebe | |||
| 9af501b75d | |||
| 7f11710e0a | |||
| ce859cf526 | |||
| 119d1692c9 | |||
| 02473ea7d5 | |||
| c7f3c2cedf | |||
| 1ab771c3ad | |||
| 494c41dd5a | |||
| f114436120 | |||
| b7be6a4316 | |||
| c59c035d74 | |||
| a57531854e | |||
| cb913e5c02 | |||
| 983916e919 | |||
| 6bcbbb29e7 | |||
| d6a0666268 | |||
| 5b5a1b7fa7 | |||
| 83b86d915a | |||
| 4052bfb4ad | |||
| fdd4d019ef | |||
| e9cf2d43f1 | |||
| a5d040df3d | |||
| f8b8af47ad | |||
| 2d1af6beee | |||
| b5910ad0ba | |||
| 3e5469a974 | |||
| 979e53b87b | |||
| 084bd225dc | |||
| c562c1d6be | |||
| b4746529e1 | |||
| 7f1e66e94b | |||
| 1e47252214 | |||
| 0bcbe3a703 | |||
| 1cb83c91a6 | |||
| 51a8dd4919 | |||
| 1f74b25fd1 | |||
| f4004b1271 | |||
| 8c57de1605 | |||
| 0c214cb5b9 | |||
| 8dc1913db8 | |||
| fdf4909f97 | |||
| 4036e37bbe | |||
| 30b07878ba | |||
| 7610554b1e | |||
| f9371f36a4 | |||
| 93f010c988 | |||
| d02bf6dab1 | |||
| 99770653bb | |||
| 2afef2b609 | |||
| 11120b5b1e | |||
| bf1750664c | |||
| 864523327f | |||
| 1166c3910d | |||
| 7d5a38ea6c | |||
| faf6a9876c | |||
| 550844e5e8 | |||
| a45baa0e78 | |||
| d061dc4342 | |||
| 4e4dbb6821 | |||
| 79ed7e143e | |||
| a2e170bb93 | |||
| b1fdc02465 | |||
| e9e671d101 | |||
| 078a6cb0cb | |||
| 9346f0b33d | |||
| 9b52ee4558 | |||
| c6aa4ec687 | |||
| 365c6ad753 | |||
| c04e65c254 | |||
| 8e9d253687 | |||
| 69807dd208 | |||
| 6552968df4 | |||
| 063d38a991 | |||
| 0d7a0c0817 | |||
| 90c846d1ad | |||
| 3e489782e1 | |||
| 642913b0d1 | |||
| ea7a0d4652 | |||
| 7382e7a5c8 | |||
| 1383441b15 | |||
| 3a9a0d9cb3 | |||
| af94bf4a59 | |||
| 99654721eb | |||
| e043cc0bc3 | |||
| af04f8b8e9 | |||
| 94967e0f6d | |||
| 9408100a80 | |||
| 0c75913bf2 | |||
| 3c8547160d | |||
| 1b3dba329a | |||
| 3bc0c2a625 | |||
| 94543f129e | |||
| 5b667f5e52 | |||
| c975a51ae7 | |||
| f29410d821 | |||
| 4e2401c11a | |||
| 664d8c8732 | |||
| 25faca8ea7 | |||
| 07c7f96fb2 | |||
| 13aa0a1f24 | |||
| 741a8c3034 | |||
| da46d924e9 | |||
| a2d7b2f905 | |||
| 7a9d9e575b | |||
| ab6a5784fa | |||
| 0608336c60 | |||
| d108c2873d | |||
| 9872d4bc4f | |||
| 284934ebfd | |||
| c64e1ae104 | |||
| 02dbb2ed54 | |||
| c9d28c30f0 | |||
| 241ecae867 | |||
| 81eefcaa76 | |||
| 3b13f5e43b | |||
| 4d9488033f | |||
| e524def8c0 | |||
| 8e35eedf22 | |||
| 0ce308047e | |||
| 480c79edba | |||
| 7db60fe7da | |||
| ddd5a2b1c6 | |||
| 53058ae73f | |||
| 650c9d0d62 | |||
| ca12a77670 | |||
| 5849c9a4cd | |||
| 7f4165fc05 | |||
| a87812c6a1 | |||
| 56284bff6c | |||
| bfff7b58fd | |||
| 6e7f687df4 | |||
| 41983bc0ca | |||
| 0057159066 | |||
| 79e8cdf595 | |||
| d25cb12bff | |||
| c723db39c7 | |||
| d13e18a8ed | |||
| a454670de5 | |||
| fe9945ad6c | |||
| b9cbc708e8 | |||
| 81e143a3d2 | |||
| fd24d5a0a2 | |||
| 05ff9e8d4e | |||
| 05d80fba38 | |||
| 402273d91b | |||
| d456b9d554 | |||
| 5a8b9a9706 | |||
| 8c27465325 | |||
| d47575f2c5 | |||
| 0704b645df | |||
| 9edbbf2af4 | |||
| 5e982a7812 | |||
| ecb3342145 | |||
| c09a4f4eb6 | |||
| 8f2e5f5666 | |||
| c50f2bd4f6 | |||
| 8d45dd3b73 | |||
| dea5de91d2 | |||
| 67159e3be7 | |||
| fb4d80b169 | |||
| a8896e940a | |||
| 749efbb84b | |||
| f8773e4ba0 | |||
| e439c31c9e | |||
| dd862dff66 | |||
| f10d40a0a2 | |||
| e6f200b960 | |||
| e7c1e6fc27 | |||
| 6e232b9efe | |||
| bcca849d0c | |||
| c50401903f | |||
| 1d5f6b173d | |||
| 7c44a4ede3 | |||
| aa44ef7b64 | |||
| e05e6853fa | |||
| f83cd2e8b9 | |||
| b3cfccdb80 | |||
| ee532e5c01 | |||
| 75046a3351 | |||
| 82ac66f8a4 | |||
| 15f9472b15 | |||
| 109566fc8f | |||
| ff2e891022 | |||
| 3b0d233cbd | |||
| 628534a9ac | |||
| d1c0cdf4f2 | |||
| 7c05c987a3 | |||
| 150f6db4d1 | |||
| 866b7c20a8 | |||
| a367db44cf | |||
| 936829e873 | |||
| 9b505758dc | |||
| 967ed01fcf | |||
| 574a2c4b77 | |||
| 5960d54722 | |||
| 474318ee37 | |||
| 923decae5a | |||
| 1bc7d61b57 | |||
| 17ebe211ec | |||
| c85a3e5a28 | |||
| 8a8ea65fae | |||
| ade596121b | |||
| 8c8b5359f2 | |||
| 536d7ed7b1 | |||
| d400b618a7 | |||
| fe1182e916 | |||
| d618bba8a6 | |||
| 8b7d571b66 | |||
| 6fa17f3372 | |||
| 4d840aa903 | |||
| cb86e7941b | |||
| a616f49864 | |||
| db637b5a4c | |||
| 7760777c06 | |||
| fa46fb90fb | |||
| 1cbe23ed7b | |||
| 3009d0bd7d | |||
| e228a40db8 | |||
| 3ac522ba41 | |||
| f55af65e82 | |||
| 6407f16d81 | |||
| 1415542f73 | |||
| 2db5076ec9 | |||
| c3c351e2c2 | |||
| 613558867c | |||
| bcc2d7e69b | |||
| 9e633999d6 | |||
| 50415f68a5 | |||
| 24d51e1c92 | |||
| cb32d9aff8 | |||
| 59d2a38daa | |||
| e95bb782f0 | |||
| 5f3e77d93e | |||
| 82a2463062 | |||
| f7d1929816 | |||
| 51589c5e21 | |||
| 0defac2f2a | |||
| 813b2ef253 | |||
| 3210bc2767 | |||
| 15d9b0418f | |||
| a25cd4bb4b | |||
| 91819726b1 | |||
| 08434842b3 | |||
| 4a28d8cebb | |||
| ed67e1dd10 | |||
| bfc4823e36 | |||
| 8873c0c3db | |||
| 25c0acc388 | |||
| 07c9d9bdbd | |||
| ce33503adf | |||
| 0f0e1c25bc | |||
| 944d9186ca | |||
| 158c5845ab | |||
| 0fdf1d2a60 | |||
| 69c2faeb6a | |||
| 52895fab67 | |||
| 5119a57614 | |||
| cd07a43724 | |||
| f9e1f559b1 | |||
| cc285b9924 | |||
| be0e6a2bb4 | |||
| 0331b8d799 | |||
| 364c67e49b | |||
| 37aa472269 | |||
| 220674d0d6 | |||
| 185fc03c3c | |||
| ec9f0f064e | |||
| 8decc8d1a5 | |||
| 1f6bbb6257 | |||
| 6b164a80a1 | |||
| f87f8d4610 | |||
| e8c50e709e | |||
| 948f6e1112 | |||
| 27cc7b6a73 | |||
| 56c646d82c | |||
| 5c74dd6462 | |||
| 15fdc2cd09 | |||
| d248c1203e | |||
| 29a7a61806 | |||
| 70e632f153 | |||
| 8180b262fc | |||
| 82c3042c0f | |||
| f1521183f8 | |||
| e200161982 | |||
| 22f50c6bc1 | |||
| 52f8f00434 | |||
| d9b1199ffb | |||
| 9a97ef4647 | |||
| 873a9fa7e5 | |||
| ec5f3351b6 | |||
| 86e9e60f07 | |||
| 3c33ba7f18 | |||
| d233de8194 | |||
| add2cfcb96 | |||
| 6f670381cf | |||
| 853e58e593 | |||
| f2743b41b0 | |||
| 35309f27ed | |||
| c78c8190d5 | |||
| 1f37896066 | |||
| 749f76e6fe | |||
| b5e60ae1b0 | |||
| 1f24a4e520 | |||
| 58b52f4884 | |||
| 381f1dd2c9 | |||
| 4498908e72 | |||
| 370e480c8c | |||
| fc84649aab | |||
| 5784aa1064 | |||
| 5192c64991 | |||
| e4e92cb75c | |||
| a31c195749 | |||
| 3ab82e7582 | |||
| b33f23cc46 | |||
| e06a133717 | |||
| 3c47570563 | |||
| b4c919eba8 | |||
| 03d671fabc | |||
| 96dbb9233a | |||
| fdf81cd112 | |||
| c4df0d8cdc | |||
| ec9689f200 | |||
| 14d28a043d | |||
| 16e5954fcb | |||
| f87f076162 | |||
| 913c2bd2cb | |||
| 7f7df43da2 | |||
| 16784e5bb3 | |||
| adbb9c2b00 | |||
| f7e65eb971 | |||
| 06e2b76c75 | |||
| 5d1a81520c | |||
| a6496deeed | |||
| 9b5e7971dc | |||
| 18e77a54c3 | |||
| 06a21ac229 | |||
| 96d90be59f | |||
| ce46aa4721 | |||
| 20e9501b0d | |||
| 56d9052b73 | |||
| 91d802f68d | |||
| 5f8d6bc504 | |||
| e292b2d991 | |||
| 6c9b9b72da | |||
| f582a4482d | |||
| 1079215871 | |||
| 6978093404 | |||
| 2f45e999d8 | |||
| d44464829b | |||
| efe50d88ec | |||
| 71f62a346d | |||
| c0e45a3c78 | |||
| 70482e6b26 | |||
| ca5e843bf6 | |||
| a74fddc98f | |||
| 57ebcbf2c4 | |||
| c7019db6f4 | |||
| 21f5912ec9 | |||
| 8d46c3cc66 | |||
| 7712e46d64 | |||
| b504df9d02 | |||
| 92b2e92620 | |||
| 2984695265 | |||
| c9260a75f6 | |||
| 1a16d055df | |||
| 83a84f1c2d | |||
| 90a4591563 | |||
| 768fdb269e | |||
| c48b9668f0 | |||
| 027ff7847c | |||
| 4514325b9c | |||
| b5fd9c58cd | |||
| 910a0fa58e | |||
| 1e21f5f872 | |||
| e1201abc1e | |||
| c3242abe95 | |||
| d81cdd9114 | |||
| 45bcd7f9b8 | |||
| 4390370a19 | |||
| 54c7af9902 | |||
| b57d61010f | |||
| eaca010ee9 | |||
| c5d22952bf | |||
| 81806603eb | |||
| ca9da569ce | |||
| 6705439cf3 | |||
| 3799c820ca | |||
| 1105614b86 | |||
| 6a1ad03153 | |||
| fc01074f89 | |||
| bcd666b86b | |||
| d0c7c3f64f | |||
| 862dddf8c9 | |||
| d134ca68c6 | |||
| e35c2fd5d0 | |||
| 29f9a454eb | |||
| 41b65d38fa | |||
| fc9abd3c62 | |||
| c001a2af25 | |||
| 3d24eb54ec | |||
| ab93b4c66d | |||
| 49eb78497b | |||
| 6a4ab3e0d2 | |||
| 21742f0096 | |||
| b720009dc0 | |||
| 36910e9020 | |||
| 0456ed6b4e | |||
| ec4d7f71fe | |||
| 25db62ce15 | |||
| dfe11d72e3 | |||
| d94dcaefa0 | |||
| f0340b8d22 | |||
| ee0547e4c4 | |||
| cb30fe50cd | |||
| 3271099fea | |||
| 5cb1c2ad84 | |||
| 928380ebf9 | |||
| 0ec5b9bff2 | |||
| 7ad17ae397 | |||
| edbfbf2f2f | |||
| fbefcf7280 | |||
| 16bf50e610 | |||
| fc8aef7323 | |||
| 8ec32e9755 | |||
| 03186af6a1 | |||
| d68eb751c5 | |||
| 694c078655 | |||
| 9484519ec3 | |||
| e015dc8264 | |||
| 7367e55d1d | |||
| 856f576c05 | |||
| 064aa3de11 | |||
| ade44ac2ea | |||
| f785f73e92 | |||
| 09400e4f4e | |||
| 76d83ffbec | |||
| 72add82ee9 | |||
| 995e27e9b7 | |||
| 79e8f4abe8 | |||
| 404a94a199 | |||
| 40d31b8b8a | |||
| b9f06bd599 | |||
| 330b31ae2e | |||
| 50e9ba34b4 | |||
| a28a10bc54 | |||
| cd9345e10c | |||
| 5c4ed30c21 | |||
| e2a86e2c8a | |||
| 2dba59d1ff | |||
| 9ba6bab920 | |||
| f56226e17f | |||
| 2ce0410f2c | |||
| cd4aa50207 | |||
| e5c83b5a3e | |||
| 7432343214 | |||
| 8f32bab4c9 | |||
| 26a9dc3f65 | |||
| 360a97ab54 | |||
| 540ed72e99 | |||
| c81793029d | |||
| 1e66eaf929 | |||
| 7ddccb55d2 | |||
| 34dc1c8bc2 | |||
| 1ed22b4613 | |||
| 8a6e6465a7 | |||
| 35ed051742 | |||
| 5bd0c1517f | |||
| 6267110b69 | |||
| 4e766280c4 | |||
| 3d2d77eb3f | |||
| e394e1ecc4 | |||
| 90a0506d56 | |||
| ad58d7eae7 | |||
| d0a5a48948 | |||
| 4258d515e6 | |||
| f54280dafd | |||
| 11099dda2e | |||
| 64a68ccbb4 | |||
| 4790ba7839 | |||
| 1900abde13 | |||
| 60b5670577 | |||
| b00406c8e4 | |||
| 8dea7fa129 | |||
| 2241d8c971 | |||
| beaf7654bb | |||
| 0dec42431f | |||
| fea05a17ea | |||
| e4c63d432d | |||
| f300a1d54b | |||
| 3a1a3dd0db | |||
| 74e6e3623f | |||
| 8a244dd3d3 | |||
| fd1cef5616 | |||
| adcac857f8 | |||
| f6a049337e | |||
| 40050c1188 | |||
| 9bf7ad97f5 | |||
| 5723145165 | |||
| 84cc22b21b | |||
| c93dd45997 | |||
| a1c4bca908 | |||
| 432f4441b9 | |||
| 306b3491c4 | |||
| 8dbad556ec | |||
| a8a4f37628 | |||
| 81d1a1133d | |||
| cfd9f7d25b | |||
| a05d9405b9 | |||
| 74f80299b0 | |||
| f11eefed56 | |||
| 6b873b72ae | |||
| a3c81745b1 | |||
| d8486a9968 | |||
| 9b38c8ef08 | |||
| e7af84670d | |||
| b46ec4efea | |||
| 4f9f55ec21 | |||
| 3442365127 | |||
| 651358d0b6 | |||
| 187c9d7e33 | |||
| 0849be094e | |||
| 8bb39750a1 | |||
| 12e7d3b254 | |||
| 51dd3da11c | |||
| 87eb3cb083 | |||
| b084a9bf0a | |||
| 2f12caccf9 | |||
| ebf19616f4 | |||
| b998aa5504 | |||
| fdde08bd01 | |||
| 2136ebccd6 | |||
| 59add00d4a | |||
| e791da9791 | |||
| 07add23251 | |||
| ee25e0a40b | |||
| 0cee5e1af8 | |||
| ffcaf5af90 | |||
| 5b57ee66ce | |||
| f68be36159 | |||
| 2935c9d8de | |||
| 264bb5abf7 | |||
| 0137f2e6e1 | |||
| 6d8e498f76 | |||
| b8b1b58f36 | |||
| 8433edacb3 | |||
| 68c8a1b170 | |||
| 7d133fd37e | |||
| cef7649bed | |||
| 615fb40416 | |||
| d990f043bd | |||
| 12bf8ca929 | |||
| 8dd6dc9a29 | |||
| 43039d95ac | |||
| 7ba6f68a8d | |||
| 19c11e2fd2 | |||
| 888bc10c17 | |||
| 54150f5afa | |||
| 3da43ad2a9 | |||
| 0f7337c522 | |||
| 29e3636e0a | |||
| a271cf89cf | |||
| 88d9b55b14 | |||
| 03cf308c16 | |||
| d63d8bf7f9 | |||
| a396473201 | |||
| ef7c50b276 | |||
| f6815086a1 | |||
| 91ff6d4cb3 | |||
| 46a620f9d7 | |||
| 0b37e7cb39 | |||
| 384e24d3e9 | |||
| ad53dc22fd | |||
| 5ffec69dc7 | |||
| 11a380c3da | |||
| f6cbb14dce | |||
| e781f6e767 | |||
| 55ef89a9c7 | |||
| d24a4b79d4 | |||
| dc471700ca | |||
| 490df43f34 | |||
| 8fa0416fee | |||
| d15814d39f | |||
| b5e83bcc7b | |||
| fc3eb72359 | |||
| eceee8e5f4 | |||
| 101d86897b | |||
| 1dbb9e353e | |||
| 5eb0b65590 | |||
| 36144a5690 | |||
| a943600019 | |||
| 45ac3f414e | |||
| b92198b7f8 | |||
| cf4893410b | |||
| 345bcd4cdf | |||
| 84786dde00 | |||
| ca2d904770 | |||
| 3431e0acf5 | |||
| a99f84f4b2 | |||
| 8eddafd9d0 | |||
| 78e233c460 | |||
| 789af19c60 | |||
| c624edceba | |||
| 9eab07f863 | |||
| a5bff8e9b3 | |||
| 850896a52b | |||
| c8b3a12856 | |||
| 92d676d788 | |||
| 419f427a01 | |||
| 480b03b645 | |||
| 5eda606952 | |||
| b54cbc985e | |||
| 7978ea4e8c | |||
| 4064e03568 | |||
| f499c8177e | |||
| d8b3f665db | |||
| 03884b7ea6 | |||
| c905044e1b | |||
| bf32fcc817 | |||
| f6de57c1a5 | |||
| cc112f971e | |||
| 5ce5432830 | |||
| b2d45a4072 | |||
| 07e477f891 | |||
| 2147240e47 | |||
| f1aa7ff893 | |||
| b3bcf0fa88 | |||
| 8185509683 | |||
| d348070226 | |||
| eb7197eb47 | |||
| 49a0e4330e | |||
| 6ac44f3bdc | |||
| 6123b6ea45 | |||
| 081669c334 | |||
| 599c0763e5 | |||
| c8b358dba2 | |||
| d92b5fc435 | |||
| c65c651b6f | |||
| 36da4d1121 | |||
| b3308830b2 | |||
| 18adea343e | |||
| 09f4f3f23b | |||
| a1054a093c | |||
| 099dd0c0d2 | |||
| acbfb0083a | |||
| af4696657c | |||
| ea089c012e | |||
| b9a313057e | |||
| 42f653ab6f | |||
| 26f4e92c1f | |||
| 873d26b335 | |||
| d05675242a | |||
| 72c8a94a6c | |||
| b94e947793 | |||
| 50a7152941 | |||
| 4b4af29f86 | |||
| a95c49e7d0 | |||
| 2897ddb8f5 | |||
| b590e5572d | |||
| f46e1b8ca2 | |||
| 7116a7d28b | |||
| 37a3b89e7a | |||
| 7c88f4de2d | |||
| 62c13e8318 | |||
| 41bbb31af4 | |||
| 524674aafc | |||
| 6af82fd070 | |||
| afb06b1495 | |||
| 118d5fa3b0 | |||
| c68a0d17fc | |||
| c17938f96b | |||
| f58ee3f15f | |||
| 7652543231 | |||
| e773354477 | |||
| abbbdc2bc0 | |||
| 05b7b177f6 | |||
| b89d096652 | |||
| d866916f42 | |||
| da8e0f6571 | |||
| 3fa9702952 | |||
| ae7da0b12d | |||
| 7a13a515d9 | |||
| 133f497f84 | |||
| a9ad983c13 | |||
| 214b9fc9a7 | |||
| 951c61aeaa | |||
| 285b6dbc39 | |||
| eb7d361657 | |||
| 2428214c4b | |||
| af89f7683d | |||
| 667a8ae163 | |||
| 3a89723d97 | |||
| 9ee5c4ec56 | |||
| 5e58271903 | |||
| 8c907c620d | |||
| b84d429c2e | |||
| 9f34be5a61 | |||
| 14ac0c2923 | |||
| 279c7bcc1a | |||
| c7235e67ef | |||
| 840d5520d2 | |||
| 1eec9590c3 | |||
| e18bf4b062 | |||
| 88e1e7f14b | |||
| 091463a429 | |||
| f67605e6aa | |||
| 9a0648ff0a | |||
| c9e4acc4e2 | |||
| 292dfac25e | |||
| 37addf7a94 | |||
| 640fc1418b | |||
| 8a48c4ed1c | |||
| f9e0681d59 | |||
| cbc0f0a66e | |||
| 481b210c0d | |||
| 4e7a6639d2 | |||
| a0c7d93b84 | |||
| 516325eba8 | |||
| e0193e2be5 | |||
| b85f5b1332 | |||
| 648c7b4ed6 | |||
| 14fc1bec17 | |||
| fa7abafa5f | |||
| 36df305b13 | |||
| f1eff447bb | |||
| 49e3c073a5 | |||
| 6991d447d4 | |||
| b30a1d49ff | |||
| 78759d98dc | |||
| 5e24f7ed31 | |||
| cf221ca92d | |||
| 59c6f45e7a | |||
| caf38725ae | |||
| ee6d40d414 | |||
| eb4ea7e5c7 | |||
| 3074b2eb93 | |||
| 39bb6851e4 | |||
| 55650c5b75 | |||
| e57b13ad94 | |||
| 1a9576fdff | |||
| 8e33cf1c2b | |||
| 6fb212784e | |||
| 2030522d86 | |||
| 1490b49fa9 | |||
| 212b497d5c | |||
| 7feac8ba46 | |||
| 4908a07c20 | |||
| 6c00151d17 | |||
| 04b4f3b051 | |||
| 6ebc972c2b | |||
| 94652e122d | |||
| e49184e606 | |||
| 14d2c77f91 | |||
| 6430fc29a9 | |||
| 77d06d5df0 | |||
| c73841500a | |||
| 11f4bf8a9a | |||
| 9b3611eb8d | |||
| e610485cd2 | |||
| c82e6dc810 | |||
| e242f16986 | |||
| 333ccf23f8 | |||
| 1cdddd17d2 | |||
| 7cf74abbf5 | |||
| 476637d143 | |||
| 3ae9258efe | |||
| 3f765ea9a4 | |||
| b3fc36d989 | |||
| 2a24c415c1 | |||
| 2f32133ad5 | |||
| 44b3abdfc0 | |||
| 156215d1fa | |||
| 019ae82c94 | |||
| 822259a3f2 | |||
| f0ed11e318 | |||
| 935fee18ed | |||
| 6aac5d4c27 | |||
| 5e732e7aec | |||
| ac0c5be7c0 | |||
| 7f965172c5 | |||
| dd72e4dce4 | |||
| a2d73eaa10 | |||
| 9fa1cf3e01 | |||
| e05d2a70b2 | |||
| 4af413623b | |||
| 54eafbaf17 | |||
| 5e7e38ac72 | |||
| 6497fbfa96 | |||
| 7783c0aaef | |||
| ad45963b45 | |||
| 37f1c76613 | |||
| f91b6fbbcb | |||
| ccc0a1e621 | |||
| 96579e515a | |||
| 7276aaf907 | |||
| 54ca48e8b7 | |||
| 734fb180bb | |||
| ddda6ae776 | |||
| db9320e754 | |||
| 26ef76213c | |||
| a515ede2af | |||
| 6be730bdcd | |||
| 37a8e2a67e | |||
| d52ad96ce3 | |||
| c126b0718c | |||
| e4de1783e1 | |||
| a9d39b6895 | |||
| 4d4a234476 | |||
| e51b852aee | |||
| e826e6715a | |||
| 755822ceec | |||
| a92dbec962 | |||
| 985599e485 | |||
| 38f3442ea5 | |||
| 2b92d22bda | |||
| 9a104e2b60 | |||
| 479369db43 | |||
| 3c618a3306 | |||
| 3592628302 | |||
| 04301e1a8a | |||
| 4e2fb9e51a | |||
| a2f842ce54 | |||
| 280c779898 | |||
| 316f80af87 | |||
| b64d28492a | |||
| 14110230c7 | |||
| eec9aace60 | |||
| 1598426493 | |||
| ae4869650a | |||
| 429320aee8 | |||
| 46366c6dca | |||
| 25298d1c02 | |||
| 9ba812485a | |||
| 7dd2764f2a | |||
| 47a724780f | |||
| 5f7e73c74a | |||
| f6e8e61e3e | |||
| 815189eaf3 | |||
| 5b2cb22a04 | |||
| edbde7a220 | |||
| 00f65af8b2 | |||
| e05c86aa3c | |||
| d197246880 | |||
| 204d198d16 | |||
| 60bdedc7dd | |||
| 257d3c9ecf | |||
| 9a9e7dd78b | |||
| 834c25f4d9 | |||
| a63af9860b | |||
| 3f8eb44e7d | |||
| 2e8d737a96 | |||
| 0d1bdfc1d4 | |||
| d7f6d516ce | |||
| e596fac6ee | |||
| efb5de1c5f | |||
| a2384a18fa | |||
| 42697527ba | |||
| e3d156ab0e | |||
| 0d9afdedc4 | |||
| 894ed14ebc | |||
| 3c2a451f47 | |||
| abbea575cf | |||
| 2c49a65d2b | |||
| 8f4ff06c4c | |||
| 316a2dd22a | |||
| 4c74761155 | |||
| f3d6e31e78 | |||
| f62c7091a2 | |||
| b0671c7cfa | |||
| beb55cb90e | |||
| e942d97540 | |||
| 5dff28290f | |||
| 423acf53b7 | |||
| 15c721b909 | |||
| 2f89456041 | |||
| bc1399204b | |||
| 3dc803a430 | |||
| d14b8fc747 | |||
| 08c63d5c75 | |||
| 07690572f7 | |||
| 3239442de6 | |||
| 284015dfd7 | |||
| d604edfedf | |||
| 178584e56f | |||
| 629f9274ac | |||
| 13c82d042f | |||
| f412d2027a | |||
| f13fce3953 | |||
| 4c18a207a4 | |||
| 04daefa488 | |||
| 3bd5d4b6f8 | |||
| 669a2d2c67 | |||
| c61857286d | |||
| 77b11b927c | |||
| bafee97589 | |||
| 133504b74b | |||
| f4587c596f | |||
| ac1bfe228f | |||
| 8ed2748820 | |||
| e10903cab9 | |||
| 4bdacdedc1 | |||
| 32854a2992 | |||
| 6d25fe6c9a | |||
| 189741b521 | |||
| df47cfc32c | |||
| 29559930e9 | |||
| 14c03b9748 | |||
| 8254f238b9 | |||
| 7105204a7e | |||
| 1e1f7b3234 | |||
| f32b2bcd20 | |||
| 975931e8fa | |||
| d6ae9c68f8 | |||
| b7d80c127f | |||
| 5286a7bc4c | |||
| 41aec2773f | |||
| 36350d3f78 | |||
| 228a381aed | |||
| c22c4f5d59 | |||
| 218d790bd6 | |||
| b8f3e5157b | |||
| 35d94dcb2b | |||
| 4a13f9eecd | |||
| ad99bbf5fe | |||
| b387a26f30 | |||
| 75c4aec8ab | |||
| fae07919af | |||
| 8aef8f39d8 | |||
| 7347cdb651 | |||
| f1f91ad468 | |||
| 7220056974 | |||
| 60e923046e | |||
| 7fe455e42e | |||
| 5462485cc3 | |||
| a5c212516c | |||
| e482dd82b9 | |||
| f919498f8f | |||
| a2fb5a13b2 | |||
| e7f10de11a | |||
| a578df4c6b | |||
| 20a46790d7 | |||
| cd27f211c8 | |||
| fdcc161323 | |||
| f138731e2f | |||
| 55d6b095e5 | |||
| 5ba7b11ba4 | |||
| 762b8ad448 | |||
| 2c47f8aa18 | |||
| 8a613f6c8f | |||
| 40317eccba | |||
| ff63080cd9 | |||
| 505ae5ea1b | |||
| 46e3ed5a48 | |||
| e4492a9a82 | |||
| 5deecd714b | |||
| 322339a5fd | |||
| bfac21fca1 | |||
| b86fcf7c31 | |||
| 051e63c9a1 | |||
| 940375dfbb | |||
| 410df5446e | |||
| 04f48f0120 | |||
| b9b28c0457 | |||
| 660c6bec22 | |||
| 04fa990b0c | |||
| 614702488f | |||
| 524a9baa7e | |||
| dcc4685557 | |||
| 3031223153 | |||
| 5a3463bc2b | |||
| 11a9bff36d | |||
| be56587ad7 | |||
| 54f007efc6 | |||
| 50d8e753c5 | |||
| 51df96b7c0 | |||
| f966c05a74 | |||
| 564f105277 | |||
| ecefc932e6 | |||
| 182cd9004f | |||
| a4a0638bc8 | |||
| 157985f556 | |||
| 639402850a | |||
| 1624f307d0 | |||
| 50a19b07d1 | |||
| 5303161aa1 | |||
| 06ad463ec8 | |||
| 23bf2e3bb6 | |||
| e64ee99f00 | |||
| 746c85b560 | |||
| c4760489a0 | |||
| 922aa9410a | |||
| 42949738f2 | |||
| f4e5f89e6f | |||
| 654d76e79e | |||
| bca299e8e0 | |||
| b673857d7d | |||
| 7fcfe24a3e | |||
| 71f9b90dd9 | |||
| a17550be98 | |||
| e7eee36d52 | |||
| 690013b342 | |||
| b21fcd9527 | |||
| d14e74132c | |||
| 5d0f3540c4 | |||
| 84c58666a4 | |||
| c35af8d1c0 | |||
| 157e0b85fd | |||
| 136eb9c4c2 | |||
| 77fa4d4bf6 | |||
| 730f078302 | |||
| 2b1b0c2a30 | |||
| 61d9eb9f69 | |||
| 5f69fdbfcc | |||
| d8e3f2b10b | |||
| 2d3a63b289 | |||
| c085e54316 | |||
| 1d71d4b874 | |||
| 7348e205d9 | |||
| 064ddacf49 | |||
| c6c32daf40 | |||
| f01dac3bf9 | |||
| 464c4d26ac | |||
| cc651c7c99 | |||
| b564f024f0 | |||
| e2e5f1beaf | |||
| 21819da8cd | |||
| b5e72de753 | |||
| 95cf66b655 | |||
| 85052b8662 | |||
| af55dd1935 | |||
| c3ff0a8ac0 | |||
| 601ac43495 | |||
| 4d308fd0b4 | |||
| 72e5920240 | |||
| e0da5c1bbc | |||
| 06a5ef5874 | |||
| e14ae06391 | |||
| 1b82d5bb4f | |||
| 510c7d2953 | |||
| dd62a0187d | |||
| c87ad2d0d6 | |||
| a2ad5762e6 | |||
| 800a66d25a | |||
| afe2d667d9 | |||
| 072559dede | |||
| dbe0301102 | |||
| db08721dcc | |||
| 8fff6d6c67 | |||
| 6e2c84042d | |||
| 456397ed39 | |||
| 173a6b1e57 | |||
| c405a19b73 | |||
| 967cca10ff | |||
| c3f54ff232 | |||
| 14b949a0da | |||
| 737d305f63 | |||
| 29ae42f3e2 | |||
| 6d108f0dcb | |||
| 59b995a9e5 | |||
| 10241886dd | |||
| dc3ab9e110 | |||
| 395e9a449d | |||
| fa8e23b842 | |||
| 00834b84dd | |||
| 5a785ed794 | |||
| 4c6f2c2547 | |||
| 854c933716 | |||
| ea7b1fbc67 | |||
| 449576df93 | |||
| bf71d18af9 | |||
| ad5142ac2c | |||
| f078d3d212 | |||
| 60928cf8cd | |||
| 72aa418b0b | |||
| cd6cf0422d | |||
| daecbd3a7f | |||
| 08674aee87 | |||
| ee76b546d4 | |||
| be238fb26a | |||
| 4d9c9e567e | |||
| c8a67a725d | |||
| 84eb3e7d02 | |||
| 097de2febc | |||
| b7a938e817 | |||
| f90d980837 | |||
| 1e474fb9d1 | |||
| 0902119302 | |||
| 8532849439 | |||
| d7f4434bd5 | |||
| b96caf200d | |||
| 8e3371a5c5 | |||
| d20f91da11 | |||
| 5082712b4e | |||
| ba5210675a | |||
| fc34749778 | |||
| 779f4ac72d | |||
| 5cf93c1346 | |||
| 2726d705f8 | |||
| 281437c811 | |||
| a41c6dafea | |||
| 095bc88428 | |||
| 9173f07a51 | |||
| 3dc38d185b | |||
| ea6fa044f3 | |||
| 40cd0bb97b | |||
| fe1f06c856 | |||
| da2fe81905 | |||
| 4ca6e9a9e2 | |||
| 0857f82913 | |||
| c3e1ffc44b | |||
| e02cff2f69 | |||
| 1d5e6a51d7 | |||
| 6f896d1fae | |||
| 4dd85f86a8 | |||
| b44fbf6cdd | |||
| d2e009f355 | |||
| a69813948f | |||
| c45af76ea0 | |||
| b805c7bf05 | |||
| 0ff228405f | |||
| bc5ed1aa1b | |||
| a237fb5f75 | |||
| c76163b611 | |||
| b130f648d7 | |||
| 2ec7fcecb7 | |||
| 0bc46fedd6 | |||
| a100f5d5d4 | |||
| dc61b7045b | |||
| 66fed9ecbd | |||
| f7e155d8b9 | |||
| 2054013edb | |||
| d8a783a368 | |||
| 6dd6dc046c | |||
| 2348eb41f3 | |||
| 311324e231 | |||
| f7e0a37753 | |||
| 894cc9d876 | |||
| 20ed7ba441 | |||
| 50c3d53076 | |||
| 35ca6274f4 | |||
| 16aa49d138 | |||
| 71313509f7 | |||
| 3154773c00 | |||
| 1c8a3d8d29 | |||
| 6e57c519e2 | |||
| 1128cc35b9 | |||
| 978f598ff6 | |||
| 282e04bffb | |||
| 5230378709 | |||
| 6c97ab571a | |||
| 6f98690963 | |||
| d46a71e786 | |||
| de1c8c5c2c | |||
| 917b2466ad | |||
| 9fc1fa1b0d | |||
| 099b0b3167 | |||
| 9189aacfe2 | |||
| c97c46747d | |||
| 87abab71ff | |||
| 864f2e0b81 | |||
| 99124b7261 | |||
| bb03675485 | |||
| 47369faaab | |||
| dcc5b4f6b0 | |||
| a39e867c73 | |||
| 282a4501d9 | |||
| 93c9eb196f | |||
| 172d4f1e3b | |||
| 5c6fa88935 | |||
| c5dbd93adb | |||
| 99547d2656 | |||
| a96c9c803b | |||
| 21a8ba0437 | |||
| 6cdfaee7b4 | |||
| e6f1ed08fb | |||
| 056894f07a | |||
| 48cf376462 | |||
| 74e39ed6ee | |||
| 510caeefb3 | |||
| 2eff80b47f | |||
| 9e065b9c7d | |||
| bf01b7993d | |||
| bb3e95133d | |||
| 916b882ea8 | |||
| e7fc60406e | |||
| d37d10e7a7 | |||
| 7506ac4118 | |||
| 4ad22c7d2b | |||
| 826a350e2b | |||
| 150bc45401 | |||
| f3ff8bdc0e | |||
| 3b61de74e6 | |||
| c2ca55c9d5 | |||
| 50b4c774cb | |||
| 425ab9ef4b | |||
| b60966041c | |||
| 77b0812d69 | |||
| 37cb0377ae | |||
| d4f5193bd3 | |||
| ef1dc42635 | |||
| 618de4e787 | |||
| b7ccc58f23 | |||
| 0f14c9379e | |||
| ca1db63116 | |||
| ebf36f23dd | |||
| 4de584005f | |||
| b1ae935f11 | |||
| abd07e4158 | |||
| b14f2c7c82 | |||
| 49c0c7efd2 | |||
| 1c93476a80 | |||
| 3233fa5dc8 | |||
| 89a7e566c7 | |||
| f8339cd703 | |||
| 31478c6c1b | |||
| 88ef04dbaf | |||
| 237a43004f | |||
| e0a3830855 | |||
| 581ea90062 | |||
| ea82bd4b7e | |||
| 19ca0c9ab5 | |||
| 99eec162da | |||
| 276565973f | |||
| dd66384451 | |||
| 36f261edef | |||
| 8183142cd4 | |||
| 122ddeb7ff | |||
| 16017ac450 | |||
| 27af298e78 | |||
| b027fac794 | |||
| c8a971be91 | |||
| edb5844240 | |||
| b3a9c8f108 | |||
| 6000fe69a4 | |||
| 80f8d4989e | |||
| fcf2b2c78a | |||
| ae8d19d17e | |||
| 29710f3250 | |||
| a6b88e85bf | |||
| c5bbbf3902 | |||
| 68e038404c | |||
| 65781f88f8 | |||
| d7c9792169 | |||
| dfa8291526 | |||
| 4b1393a691 | |||
| 8f78444de3 | |||
| ed675cfd8c | |||
| dc28284437 | |||
| e66d5b88a6 | |||
| fc9bb3c3fe | |||
| c7a1cbad44 | |||
| 526e47f148 | |||
| c9238555f7 | |||
| cfeb161c7e | |||
| 4a512d6827 | |||
| 05d98d9bbf | |||
| b6060873ce | |||
| 9bc7b04ca5 | |||
| f086c82e1f | |||
| 2182d25750 | |||
| 56ccda1d99 | |||
| 48d81506a3 | |||
| 07c564f38b | |||
| cee7eba64e | |||
| 117f8ee7a4 | |||
| 0e8cf38f39 | |||
| 138d9d7eff | |||
| d2388dd0d0 | |||
| dc72d4d4f5 | |||
| baf0993d5c | |||
| 6f3a41abe2 | |||
| 656adee630 | |||
| 01379c5e3c | |||
| c15332c44f | |||
| 74efa57c1b | |||
| c892359d1b | |||
| 95761cc6a7 | |||
| 43aa695a04 | |||
| e580299467 | |||
| fad2c92a39 | |||
| d5143c83a9 | |||
| 0fb4b84383 | |||
| 520c4a44f6 | |||
| 1672e9ba09 | |||
| fb924ea85c | |||
| fddf372c68 | |||
| 0a6c895af7 | |||
| dfc65cd0a3 | |||
| d464b122d5 | |||
| 973f8f1d08 | |||
| de66a69ed4 | |||
| 8704c93913 | |||
| 778700ff9d | |||
| 71ca84d829 | |||
| 84f2aea896 | |||
| 10e5065a5c | |||
| ba18047e8d | |||
| 360e897ccd | |||
| 37ef9c9130 | |||
| 22f4b290b6 | |||
| ffb79afd29 | |||
| 720970c4c1 | |||
| 2e5866147e | |||
| 30442d8a89 | |||
| 7f256392a1 | |||
| 0eacc362dd | |||
| c50f170597 | |||
| 1994edfeb6 | |||
| d35391b9f4 | |||
| b39b33b1fe | |||
| 852858c2cb | |||
| 50acc0da20 | |||
| bdabd17c76 | |||
| 3af2117c88 | |||
| 84934693cf | |||
| 1af499c15b | |||
| ced1302975 | |||
| 70d51f72ec | |||
| 3a71ff44f8 | |||
| 2ceb514a39 | |||
| 0cf78a34ba | |||
| 3ceefc64f1 | |||
| a6e6a5ac38 | |||
| 64275dfbf4 | |||
| f178a8ef0c | |||
| 21c1316503 | |||
| ef427e4cb0 | |||
| b92c4abc96 | |||
| bee6b71553 | |||
| 35aa153d6c | |||
| f2988ecabc | |||
| b275f2e475 | |||
| 7c4b6aab2e | |||
| f2a4204245 | |||
| 863e2e2b4f | |||
| b871388a31 | |||
| 7ce29ea74e | |||
| 43ba9db890 | |||
| 3d1f2bb3aa | |||
| cb09ea0f01 | |||
| 98b351758c | |||
| 52e52924bb | |||
| a41e9e93dd | |||
| 2b3d66fe69 | |||
| b118fa8698 | |||
| d6b5f64484 | |||
| 2d4bbd83e6 | |||
| 194579bc4f | |||
| d607ceacf4 | |||
| f808a30f94 | |||
| 02178137c9 | |||
| c50ad56bf5 | |||
| 49f9a44235 | |||
| 99ba26460d | |||
| 7aa0d97eed | |||
| a3a353edf2 | |||
| 7c2c72a6d6 | |||
| 604b6d1210 | |||
| 92159b210e | |||
| f503dbf071 | |||
| c1b199bd21 | |||
| 60e79d50f8 | |||
| 06d097a18e | |||
| 3f8d74dec1 | |||
| cd49907248 | |||
| baf599c1d3 | |||
| e4052a1dab | |||
| fac2e073a1 | |||
| 61121d1b22 | |||
| 1b5c37fa29 | |||
| 189927c237 | |||
| 1ff9ad4e7c | |||
| 40c8a8c627 | |||
| dd29285e35 | |||
| 052017e189 | |||
| a8b0104923 | |||
| 36c21ff6cb | |||
| 92bebecf46 | |||
| b04c7b6343 | |||
| 1665e2d2a6 | |||
| 63ed7d9af7 | |||
| 3c8c17be4d | |||
| aed5878dd3 | |||
| e5291e2031 | |||
| 3be87bed8d | |||
| 31b9797296 | |||
| 5299554bb0 | |||
| 2dbef58eeb | |||
| 494e34af6a | |||
| ad8afaf1ef | |||
| 2686bf6734 | |||
| 33e92c15eb | |||
| 7461196839 | |||
| b769bea61b | |||
| b65314dc21 | |||
| 1841f63a40 | |||
| b01aa721ff | |||
| f190547bbb | |||
| c82318c9cb | |||
| c871320760 | |||
| 06894b0711 | |||
| 4e81b799f1 | |||
| ef811c6425 | |||
| abe6d39b1a | |||
| 3791c7ca82 | |||
| 3f4444b552 | |||
| 5b735a4c9d | |||
| 28d343d288 | |||
| da6673e79a | |||
| 992f325662 | |||
| 622bc478e6 | |||
| 67189d747c | |||
| 8b996015a8 | |||
| d4c79a0404 | |||
| aef3ae1cb9 | |||
| f40b425cd7 | |||
| 20b20a1086 | |||
| 41b4047536 | |||
| de81571289 | |||
| 2b622411fd | |||
| 53cf91d151 | |||
| 198c6ad0d7 | |||
| 7dca0bc11d | |||
| dc385b7392 | |||
| 427ce8dcef | |||
| 5c6ca597c5 | |||
| f0dc07dbac | |||
| 17763a44d5 | |||
| 218ebc1fe8 | |||
| b6719094e6 | |||
| 2a5014b193 | |||
| 764369f4c7 | |||
| d5c4af2d5b | |||
| 5b7b7276d5 | |||
| ecef109162 | |||
| bad122b195 | |||
| 86908d569e | |||
| ab441fb009 | |||
| 851fe91b69 | |||
| 07b82427ab | |||
| c68ce25a14 | |||
| b02d662980 | |||
| 0d6057b2fa | |||
| 3ffff78a27 | |||
| 894b483a0d | |||
| 2643752f93 | |||
| 9f0f827db4 | |||
| 50384e2619 | |||
| 44c73cfca0 | |||
| a39760b947 | |||
| 74a6222b3e | |||
| 018cf3853e | |||
| b97f340f01 | |||
| bd509cedb8 | |||
| 0b8a7ca213 | |||
| 2a77c29c6d | |||
| 39b3c9022d | |||
| 818651909f | |||
| c709fbba23 | |||
| 1ea303e2af | |||
| 97452b9558 | |||
| 8212a864ca | |||
| 5c829c7e4e | |||
| 0ee2185c59 | |||
| f346b04d12 | |||
| ba8be75037 | |||
| 4fbec776d6 | |||
| 0394e4bb8e | |||
| 39cd6306e6 | |||
| 54ae8d1649 | |||
| 403fc86c11 | |||
| c317504b5f | |||
| 5aae61775f | |||
| b6894bfc5b | |||
| 4ce53ffe6a | |||
| 493905665c | |||
| fb66a455c4 | |||
| bea7824bd1 | |||
| 7bb2dd75cd | |||
| 899fdb9c44 | |||
| f84328934f | |||
| 8fad7dc248 | |||
| 5b2fa8dd41 | |||
| b869439969 | |||
| 158a693111 | |||
| 0498669b4b | |||
| bb8bf740e9 | |||
| 7f4de3466a | |||
| 1d829150ee | |||
| 01f79d638f | |||
| d418af157a | |||
| e209fff374 | |||
| 4a77ceb151 | |||
| 71e19153ef | |||
| 6c0d902373 | |||
| 427bf76e62 | |||
| b848cc5c3f | |||
| afee2bc8fa | |||
| 21ed944ff9 | |||
| ae3e51c795 | |||
| 2f5808b7ff | |||
| 282bdfd1bf | |||
| d8467ca6c0 | |||
| fadcee14f8 | |||
| 219d0ba978 | |||
| 3a33519598 | |||
| 579f4ea4bd | |||
| 5daf3abe65 | |||
| 36d45b4a7f | |||
| 6f1c6e6ba9 | |||
| c3784b2a08 | |||
| 596323f89f | |||
| 8bd5742349 | |||
| b9251155f8 | |||
| 4ce0a650d1 | |||
| 91341b421d | |||
| 9ad6c26821 | |||
| 3fc7aceea7 | |||
| e29f3b87f1 | |||
| 839547dc90 | |||
| 8af9f3216e | |||
| 673d37a7c2 | |||
| 4acec5283e | |||
| d09e618bd2 | |||
| e55affe264 | |||
| 5f6cd32c9e | |||
| 616d0236f5 | |||
| 781c1d8df8 | |||
| 5fbfc4c19e | |||
| fba301155b | |||
| 6f35fb8d26 | |||
| 24c0dde958 | |||
| 90014ada8f | |||
| bc4b4e3f56 | |||
| d780eab357 | |||
| b0e83f949e | |||
| 321c64a122 | |||
| d103e2daf9 | |||
| e401c77351 | |||
| 4b5f0af3fd | |||
| f5b41068e6 | |||
| 5114819b6b | |||
| 7cd43b139a | |||
| 4f9d58621c | |||
| 7dd7c54add | |||
| db9b80399b | |||
| 06f22c3d28 | |||
| 9a53173e4d | |||
| 9266bad229 | |||
| 73666fb262 | |||
| 31c0f6ca33 | |||
| c8512839d7 | |||
| 4baef7905e | |||
| ab63a193d7 | |||
| 1e1ecca691 | |||
| d702b393a4 | |||
| 8fdb51ab46 | |||
| 326a449ef0 | |||
| 3e07655b1b | |||
| 17bf40f405 | |||
| 60a3980561 | |||
| 091e141142 | |||
| 40314cc586 | |||
| 2b3c9c61db | |||
| 77e327dd1a | |||
| 7b22d61fb1 | |||
| cd973d6037 | |||
| 24049591f6 | |||
| 1ea8073783 | |||
| a9c3619d26 | |||
| ad85689417 | |||
| 6e376c27a3 | |||
| 75d8ec1e9f | |||
| 5401cf6eb5 | |||
| 33a1d790e8 | |||
| e6c4bf52f0 | |||
| 9bb6580d89 | |||
| f078b15565 | |||
| c01a872c8e | |||
| 4297d2fea2 | |||
| 3a7b37238b | |||
| f25d6ebc45 | |||
| b42c3ce21d | |||
| 35f46fc079 | |||
| 25cd0342c4 | |||
| 738cd1896b | |||
| b54bf126f7 | |||
| 6d7801deb7 | |||
| d4ee94165f | |||
| ff54d9615f | |||
| 22162f906b | |||
| ab808fe7cf | |||
| a606b1448b | |||
| e3c153efa4 | |||
| 5601e1cb00 | |||
| f6d5444293 | |||
| 371feaa635 | |||
| 7f737b022a | |||
| 09ab819040 | |||
| 44135b011f | |||
| 84f7e7e91c | |||
| 877cd60b00 | |||
| c2ddda2f51 | |||
| e4d9814ec4 | |||
| 7bc07195c5 | |||
| 17b0955f9a | |||
| 13471ddf86 | |||
| 8984abfc76 | |||
| b34b3efbb2 | |||
| 2df2b3719a | |||
| 8d63ebcb64 | |||
| 081ccc6441 | |||
| 67f7a6c398 | |||
| db1c4b125f | |||
| d86a9b9a4b | |||
| 7a712da2b3 | |||
| 62e88d0e74 | |||
| edf3da346f | |||
| fde9b84b21 | |||
| e7c8a0bb23 | |||
| 1bb28dfe2c | |||
| e7ca37b1e5 | |||
| 3512cae623 | |||
| d180fd7c36 | |||
| 35e5a67a83 | |||
| e4318d2207 | |||
| 678f73069f | |||
| 8e289ade15 | |||
| 727f607e00 | |||
| 9248442bb2 | |||
| 4ab549e62a | |||
| f0f416e85c | |||
| 9907302465 | |||
| 3428232bca | |||
| 74030eb427 | |||
| 47b6f522bd | |||
| 188cf1aed2 | |||
| e67463df24 | |||
| 63b4c8f9f7 | |||
| 76abf55f25 | |||
| 554c46d186 | |||
| 6f307f1521 | |||
| 4a6a73e887 | |||
| ae028ddf22 | |||
| eb1e3f19bb | |||
| 290afc00d3 | |||
| be4e192903 | |||
| 82c867164b | |||
| ec6490f5ad | |||
| 472aad69db | |||
| 55854c807d | |||
| 9bddcdac69 | |||
| a7bbd37f81 | |||
| 5798537ce4 | |||
| c9710f6c78 | |||
| 7e9163779d | |||
| 005b0e68db | |||
| 543081e4a1 | |||
| 89958e27aa | |||
| 6b16f7807e | |||
| eb1ba45c39 | |||
| b1e655f898 | |||
| bbc1800c1b | |||
| e5ca733722 | |||
| 9cdf2383e9 | |||
| 4bc3c788f5 | |||
| 9e2bf49677 | |||
| ab73787d8f | |||
| 743428e025 | |||
| 0292374807 | |||
| bdd153bc0d | |||
| 296fa4e06e | |||
| 9141816b10 | |||
| 4e2aa50cef | |||
| 51ccc29cdd | |||
| 0b891c9245 | |||
| 1de9e4e121 | |||
| d994466a08 | |||
| e05bfd2f54 | |||
| d9ce179ec2 | |||
| fb3e9314b9 | |||
| 25a97e0139 | |||
| a7bbaa4897 | |||
| cf26f375ff | |||
| 1e2a89d306 | |||
| d956fb3c7c | |||
| 5b45dfe971 | |||
| a5d9dcf3d9 | |||
| 95213270ef | |||
| 73b11f390e | |||
| 27f8f3333f | |||
| 3c65c8580f | |||
| e0397f00d0 | |||
| b384129c63 | |||
| cd016d3cb5 | |||
| a832aa699f | |||
| bc3efb79cc | |||
| 92bc51b66a | |||
| 356e10898f | |||
| 0be4e402e2 | |||
| 659039ca6d | |||
| d4cab35533 |
@@ -3,14 +3,22 @@
|
||||
# Exit on error, rather than continuing with the rest of the script.
|
||||
set -e
|
||||
|
||||
cd /yuzu
|
||||
|
||||
ccache -s
|
||||
|
||||
mkdir build || true && cd build
|
||||
cmake .. -DDISPLAY_VERSION=$1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/lib/ccache/clang -DCMAKE_CXX_COMPILER=/usr/lib/ccache/clang++ -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_INSTALL_PREFIX="/usr"
|
||||
cmake .. \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_CXX_COMPILER=/usr/lib/ccache/clang++ \
|
||||
-DCMAKE_C_COMPILER=/usr/lib/ccache/clang \
|
||||
-DCMAKE_INSTALL_PREFIX="/usr" \
|
||||
-DDISPLAY_VERSION=$1 \
|
||||
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \
|
||||
-DENABLE_QT_TRANSLATION=ON \
|
||||
-DUSE_DISCORD_PRESENCE=ON \
|
||||
-DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} \
|
||||
-GNinja
|
||||
|
||||
make -j$(nproc)
|
||||
ninja
|
||||
|
||||
ccache -s
|
||||
|
||||
|
||||
@@ -4,5 +4,5 @@ mkdir -p "ccache" || true
|
||||
chmod a+x ./.ci/scripts/clang/docker.sh
|
||||
# the UID for the container yuzu user is 1027
|
||||
sudo chown -R 1027 ./
|
||||
docker run -e ENABLE_COMPATIBILITY_REPORTING -e CCACHE_DIR=/yuzu/ccache -v $(pwd):/yuzu yuzuemu/build-environments:linux-fresh /bin/bash /yuzu/.ci/scripts/clang/docker.sh $1
|
||||
docker run -e ENABLE_COMPATIBILITY_REPORTING -e CCACHE_DIR=/yuzu/ccache -v "$(pwd):/yuzu" -w /yuzu yuzuemu/build-environments:linux-fresh /bin/bash /yuzu/.ci/scripts/clang/docker.sh "$1"
|
||||
sudo chown -R $UID ./
|
||||
|
||||
Regular → Executable
@@ -4,8 +4,10 @@
|
||||
cp license.txt "$DIR_NAME"
|
||||
cp README.md "$DIR_NAME"
|
||||
|
||||
tar -cJvf "${REV_NAME}-source.tar.xz" src externals CMakeLists.txt README.md license.txt
|
||||
cp "${REV_NAME}-source.tar.xz" "$DIR_NAME"
|
||||
if [[ -z "${NO_SOURCE_PACK}" ]]; then
|
||||
tar -cJvf "${REV_NAME}-source.tar.xz" src externals CMakeLists.txt README.md license.txt
|
||||
cp -v "${REV_NAME}-source.tar.xz" "$DIR_NAME"
|
||||
fi
|
||||
|
||||
tar $COMPRESSION_FLAGS "$ARCHIVE_NAME" "$DIR_NAME"
|
||||
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
chmod a+x ./.ci/scripts/format/docker.sh
|
||||
# the UID for the container yuzu user is 1027
|
||||
sudo chown -R 1027 ./
|
||||
docker run -v $(pwd):/yuzu yuzuemu/build-environments:linux-clang-format /bin/bash -ex /yuzu/.ci/scripts/format/docker.sh
|
||||
docker run -v "$(pwd):/yuzu" -w /yuzu yuzuemu/build-environments:linux-clang-format /bin/bash -ex /yuzu/.ci/scripts/format/docker.sh
|
||||
sudo chown -R $UID ./
|
||||
|
||||
@@ -7,7 +7,7 @@ if grep -nrI '\s$' src *.yml *.txt *.md Doxyfile .gitignore .gitmodules .ci* dis
|
||||
fi
|
||||
|
||||
# Default clang-format points to default 3.5 version one
|
||||
CLANG_FORMAT=clang-format-10
|
||||
CLANG_FORMAT=clang-format-12
|
||||
$CLANG_FORMAT --version
|
||||
|
||||
if [ "$TRAVIS_EVENT_TYPE" = "pull_request" ]; then
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
# Exit on error, rather than continuing with the rest of the script.
|
||||
set -e
|
||||
|
||||
cd /yuzu
|
||||
|
||||
ccache -s
|
||||
|
||||
mkdir build || true && cd build
|
||||
@@ -19,15 +17,16 @@ cmake .. \
|
||||
-DENABLE_QT_TRANSLATION=ON \
|
||||
-DUSE_DISCORD_PRESENCE=ON \
|
||||
-DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} \
|
||||
-DYUZU_USE_BUNDLED_FFMPEG=ON
|
||||
-DYUZU_USE_BUNDLED_FFMPEG=ON \
|
||||
-GNinja
|
||||
|
||||
make -j$(nproc)
|
||||
ninja
|
||||
|
||||
ccache -s
|
||||
|
||||
ctest -VV -C Release
|
||||
|
||||
make install DESTDIR=AppDir
|
||||
DESTDIR="$PWD/AppDir" ninja install
|
||||
rm -vf AppDir/usr/bin/yuzu-cmd AppDir/usr/bin/yuzu-tester
|
||||
|
||||
# Download tools needed to build an AppImage
|
||||
|
||||
@@ -4,5 +4,5 @@ mkdir -p "ccache" || true
|
||||
chmod a+x ./.ci/scripts/linux/docker.sh
|
||||
# the UID for the container yuzu user is 1027
|
||||
sudo chown -R 1027 ./
|
||||
docker run -e ENABLE_COMPATIBILITY_REPORTING -e CCACHE_DIR=/yuzu/ccache -v $(pwd):/yuzu yuzuemu/build-environments:linux-fresh /bin/bash /yuzu/.ci/scripts/linux/docker.sh $1
|
||||
docker run -e ENABLE_COMPATIBILITY_REPORTING -e CCACHE_DIR=/yuzu/ccache -v "$(pwd):/yuzu" -w /yuzu yuzuemu/build-environments:linux-fresh /bin/bash /yuzu/.ci/scripts/linux/docker.sh "$1"
|
||||
sudo chown -R $UID ./
|
||||
|
||||
Regular → Executable
+5
@@ -24,6 +24,11 @@ cd build
|
||||
wget -nc https://github.com/yuzu-emu/ext-linux-bin/raw/main/appimage/appimagetool-x86_64.AppImage
|
||||
chmod 755 appimagetool-x86_64.AppImage
|
||||
|
||||
# if FUSE is not available, then fallback to extract and run
|
||||
if ! ./appimagetool-x86_64.AppImage --version; then
|
||||
export APPIMAGE_EXTRACT_AND_RUN=1
|
||||
fi
|
||||
|
||||
if [ "${RELEASE_NAME}" = "mainline" ]; then
|
||||
# Generate update information if releasing to mainline
|
||||
./appimagetool-x86_64.AppImage -u "gh-releases-zsync|yuzu-emu|yuzu-${RELEASE_NAME}|latest|yuzu-*.AppImage.zsync" AppDir "${APPIMAGE_NAME}"
|
||||
|
||||
@@ -25,7 +25,7 @@ def check_individual(repo_id, pr_id):
|
||||
|
||||
def merge_pr(pn, ref):
|
||||
print("Matched PR# %s" % pn)
|
||||
print(subprocess.check_output(["git", "fetch", "https://%sdev.azure.com/%s/_git/%s" % (user, org, repo), ref, "-f"]))
|
||||
print(subprocess.check_output(["git", "fetch", "https://%sdev.azure.com/%s/_git/%s" % (user, org, repo), ref, "-f", "--no-recurse-submodules"]))
|
||||
print(subprocess.check_output(["git", "merge", "--squash", 'origin/' + ref.replace('refs/heads/','')]))
|
||||
print(subprocess.check_output(["git", "commit", "-m\"Merge %s PR %s\"" % (tagline, pn)]))
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Download all pull requests as patches that match a specific label
|
||||
# Usage: python download-patches-by-label.py <Label to Match> <Root Path Folder to DL to>
|
||||
|
||||
import requests, sys, json, urllib3.request, shutil, subprocess, os
|
||||
import requests, sys, json, urllib3.request, shutil, subprocess, os, traceback
|
||||
|
||||
tagline = sys.argv[2]
|
||||
|
||||
@@ -25,7 +25,7 @@ def do_page(page):
|
||||
if (check_individual(pr["labels"])):
|
||||
pn = pr["number"]
|
||||
print("Matched PR# %s" % pn)
|
||||
print(subprocess.check_output(["git", "fetch", "https://github.com/yuzu-emu/yuzu.git", "pull/%s/head:pr-%s" % (pn, pn), "-f"]))
|
||||
print(subprocess.check_output(["git", "fetch", "https://github.com/yuzu-emu/yuzu.git", "pull/%s/head:pr-%s" % (pn, pn), "-f", "--no-recurse-submodules"]))
|
||||
print(subprocess.check_output(["git", "merge", "--squash", "pr-%s" % pn]))
|
||||
print(subprocess.check_output(["git", "commit", "-m\"Merge %s PR %s\"" % (tagline, pn)]))
|
||||
|
||||
@@ -33,4 +33,5 @@ try:
|
||||
for i in range(1,30):
|
||||
do_page(i)
|
||||
except:
|
||||
traceback.print_exc(file=sys.stdout)
|
||||
sys.exit(-1)
|
||||
|
||||
Executable
+25
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
# Setup RC file for tx
|
||||
cat << EOF > ~/.transifexrc
|
||||
[https://www.transifex.com]
|
||||
hostname = https://www.transifex.com
|
||||
username = api
|
||||
password = $TRANSIFEX_API_TOKEN
|
||||
EOF
|
||||
|
||||
|
||||
set -x
|
||||
|
||||
echo -e "\e[1m\e[33mBuild tools information:\e[0m"
|
||||
cmake --version
|
||||
gcc -v
|
||||
tx --version
|
||||
|
||||
mkdir build && cd build
|
||||
cmake .. -DENABLE_QT_TRANSLATION=ON -DGENERATE_QT_TRANSLATION=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_SDL2=OFF
|
||||
make translation
|
||||
cd ..
|
||||
|
||||
cd dist/languages
|
||||
tx push -s
|
||||
@@ -1,14 +1,30 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
cd /yuzu
|
||||
set -e
|
||||
|
||||
ccache -s
|
||||
#cd /yuzu
|
||||
|
||||
mkdir build || true && cd build
|
||||
cmake .. -G Ninja -DDISPLAY_VERSION=$1 -DCMAKE_TOOLCHAIN_FILE="$(pwd)/../CMakeModules/MinGWCross.cmake" -DUSE_CCACHE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_QT_TRANSLATION=ON
|
||||
ninja
|
||||
ccache -sv
|
||||
|
||||
ccache -s
|
||||
mkdir -p build && cd build
|
||||
export LDFLAGS="-fuse-ld=lld"
|
||||
# -femulated-tls required due to an incompatibility between GCC and Clang
|
||||
# TODO(lat9nq): If this is widespread, we probably need to add this to CMakeLists where appropriate
|
||||
export CXXFLAGS="-femulated-tls"
|
||||
cmake .. \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_TOOLCHAIN_FILE="${PWD}/../CMakeModules/MinGWClangCross.cmake" \
|
||||
-DDISPLAY_VERSION="$1" \
|
||||
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \
|
||||
-DENABLE_QT_TRANSLATION=ON \
|
||||
-DUSE_CCACHE=ON \
|
||||
-DYUZU_USE_BUNDLED_SDL2=OFF \
|
||||
-DYUZU_USE_EXTERNAL_SDL2=OFF \
|
||||
-DYUZU_TESTS=OFF \
|
||||
-GNinja
|
||||
ninja yuzu yuzu-cmd
|
||||
|
||||
ccache -sv
|
||||
|
||||
echo "Tests skipped"
|
||||
#ctest -VV -C Release
|
||||
@@ -41,13 +57,12 @@ for i in package/*.exe; do
|
||||
done
|
||||
|
||||
pip3 install pefile
|
||||
python3 .ci/scripts/windows/scan_dll.py package/*.exe "package/"
|
||||
python3 .ci/scripts/windows/scan_dll.py package/imageformats/*.dll "package/"
|
||||
python3 .ci/scripts/windows/scan_dll.py package/*.exe package/imageformats/*.dll "package/"
|
||||
|
||||
# copy FFmpeg libraries
|
||||
EXTERNALS_PATH="$(pwd)/build/externals"
|
||||
FFMPEG_DLL_PATH="$(find ${EXTERNALS_PATH} -maxdepth 1 -type d | grep ffmpeg)/bin"
|
||||
find ${FFMPEG_DLL_PATH} -type f -regex ".*\.dll" -exec cp -v {} package/ ';'
|
||||
FFMPEG_DLL_PATH="$(find "${EXTERNALS_PATH}" -maxdepth 1 -type d | grep 'ffmpeg-')/bin"
|
||||
find ${FFMPEG_DLL_PATH} -type f -regex ".*\.dll" -exec cp -nv {} package/ ';'
|
||||
|
||||
# copy libraries from yuzu.exe path
|
||||
find "$(pwd)/build/bin/" -type f -regex ".*\.dll" -exec cp -v {} package/ ';'
|
||||
|
||||
@@ -4,5 +4,5 @@ mkdir -p "ccache" || true
|
||||
chmod a+x ./.ci/scripts/windows/docker.sh
|
||||
# the UID for the container yuzu user is 1027
|
||||
sudo chown -R 1027 ./
|
||||
docker run -e CCACHE_DIR=/yuzu/ccache -v $(pwd):/yuzu yuzuemu/build-environments:linux-mingw /bin/bash -ex /yuzu/.ci/scripts/windows/docker.sh $1
|
||||
docker run -e CCACHE_DIR=/yuzu/ccache -v "$(pwd):/yuzu" -w /yuzu yuzuemu/build-environments:linux-mingw /bin/bash -ex /yuzu/.ci/scripts/windows/docker.sh "$1"
|
||||
sudo chown -R $UID ./
|
||||
|
||||
@@ -47,6 +47,49 @@ Copy-Item .\CMakeModules -Recurse -Destination $MSVC_SOURCE
|
||||
7z a -r -ttar $MSVC_SOURCE_TAR $MSVC_SOURCE
|
||||
7z a -r -txz $MSVC_SOURCE_TARXZ $MSVC_SOURCE_TAR
|
||||
|
||||
# Following section is quick hack to package artifacts differently for GitHub Actions
|
||||
if ("$env:GITHUB_ACTIONS" -eq "true") {
|
||||
echo "Hello GitHub Actions"
|
||||
|
||||
# Hopefully there is an exe in either .\build\bin or .\build\bin\Release
|
||||
cp .\build\bin\yuzu*.exe .\artifacts\
|
||||
Copy-Item "$BUILD_DIR\*" -Destination "artifacts" -Recurse
|
||||
Remove-Item .\artifacts\tests.exe -ErrorAction ignore
|
||||
|
||||
# None of the other GHA builds are including source, so commenting out today
|
||||
#Copy-Item $MSVC_SOURCE_TARXZ -Destination "artifacts"
|
||||
|
||||
# Are debug symbols important?
|
||||
# cp .\build\bin\yuzu*.pdb .\pdb\
|
||||
|
||||
# Write out a tag BUILD_TAG to environment for the Upload step
|
||||
# We're getting ${{ github.event.number }} as $env:PR_NUMBER"
|
||||
echo "env:PR_NUMBER: $env:PR_NUMBER"
|
||||
if (Test-Path env:PR_NUMBER) {
|
||||
$PR_NUMBER = $env:PR_NUMBER.Substring(2) -as [int]
|
||||
$PR_NUMBER_TAG = "pr"+([string]$PR_NUMBER).PadLeft(5,'0')
|
||||
if ($PR_NUMBER -gt 1){
|
||||
$BUILD_TAG="verify-$PR_NUMBER_TAG-$GITDATE-$GITREV"
|
||||
} else {
|
||||
$BUILD_TAG = "verify-$GITDATE-$GITREV"
|
||||
}
|
||||
} else {
|
||||
# If env:PR_NUMBER isn't set, we should still write out a variable
|
||||
$BUILD_TAG = "verify-$GITDATE-$GITREV"
|
||||
}
|
||||
echo "BUILD_TAG=$BUILD_TAG"
|
||||
echo "BUILD_TAG=$BUILD_TAG" >> $env:GITHUB_ENV
|
||||
|
||||
# For extra job, just the exe
|
||||
$INDIVIDUAL_EXE = "yuzu-msvc-$BUILD_TAG.exe"
|
||||
echo "INDIVIDUAL_EXE=$INDIVIDUAL_EXE"
|
||||
echo "INDIVIDUAL_EXE=$INDIVIDUAL_EXE" >> $env:GITHUB_ENV
|
||||
echo "Just the exe: $INDIVIDUAL_EXE"
|
||||
cp .\artifacts\yuzu.exe .\$INDIVIDUAL_EXE
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
# Build the final release artifacts
|
||||
Copy-Item $MSVC_SOURCE_TARXZ -Destination $RELEASE_DIST
|
||||
Copy-Item "$BUILD_DIR\*" -Destination $RELEASE_DIST -Recurse
|
||||
@@ -62,3 +105,7 @@ Get-ChildItem "$BUILD_DIR" -Recurse -Filter "QtWebEngineProcess*.exe" | Copy-Ite
|
||||
Get-ChildItem . -Filter "*.zip" | Copy-Item -destination "artifacts"
|
||||
Get-ChildItem . -Filter "*.7z" | Copy-Item -destination "artifacts"
|
||||
Get-ChildItem . -Filter "*.tar.xz" | Copy-Item -destination "artifacts"
|
||||
}
|
||||
# Extra items
|
||||
git status
|
||||
cp .\build\src\common\scm_rev.cpp .\artifacts
|
||||
|
||||
Regular → Executable
@@ -6,9 +6,7 @@ parameters:
|
||||
steps:
|
||||
- script: choco install vulkan-sdk
|
||||
displayName: 'Install vulkan-sdk'
|
||||
- script: python -m pip install --upgrade pip conan
|
||||
displayName: 'Install conan'
|
||||
- script: refreshenv && mkdir build && cd build && cmake -G "Visual Studio 16 2019" -A x64 -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DDISPLAY_VERSION=${{ parameters['version'] }} -DCMAKE_BUILD_TYPE=Release .. && cd ..
|
||||
- script: refreshenv && mkdir build && cd build && cmake -G "Visual Studio 17 2022" -A x64 -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DYUZU_TESTS=OFF -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DDISPLAY_VERSION=${{ parameters['version'] }} -DCMAKE_BUILD_TYPE=Release -DYUZU_TESTS=OFF -DYUZU_USE_BUNDLED_VCPKG=ON .. && cd ..
|
||||
displayName: 'Configure CMake'
|
||||
- task: MSBuild@1
|
||||
displayName: 'Build'
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
jobs:
|
||||
- job: merge
|
||||
displayName: 'pull requests'
|
||||
pool:
|
||||
vmImage: 'ubuntu-latest'
|
||||
steps:
|
||||
- checkout: self
|
||||
submodules: recursive
|
||||
@@ -24,6 +26,8 @@ jobs:
|
||||
- job: upload_source
|
||||
displayName: 'upload'
|
||||
dependsOn: merge
|
||||
pool:
|
||||
vmImage: 'ubuntu-latest'
|
||||
steps:
|
||||
- template: ./sync-source.yml
|
||||
parameters:
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
jobs:
|
||||
- job: merge
|
||||
displayName: 'pull requests'
|
||||
pool:
|
||||
vmImage: 'ubuntu-latest'
|
||||
steps:
|
||||
- checkout: self
|
||||
submodules: recursive
|
||||
@@ -23,6 +25,8 @@ jobs:
|
||||
- job: upload_source
|
||||
displayName: 'upload'
|
||||
dependsOn: merge
|
||||
pool:
|
||||
vmImage: 'ubuntu-latest'
|
||||
steps:
|
||||
- template: ./sync-source.yml
|
||||
parameters:
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
trigger:
|
||||
- master
|
||||
|
||||
pool:
|
||||
vmImage: 'ubuntu-latest'
|
||||
|
||||
stages:
|
||||
- stage: merge
|
||||
displayName: 'merge'
|
||||
|
||||
@@ -47,7 +47,7 @@ stages:
|
||||
timeoutInMinutes: 120
|
||||
displayName: 'msvc'
|
||||
pool:
|
||||
vmImage: windows-2019
|
||||
vmImage: windows-2022
|
||||
steps:
|
||||
- template: ./templates/sync-source.yml
|
||||
parameters:
|
||||
@@ -66,5 +66,7 @@ stages:
|
||||
jobs:
|
||||
- job: github
|
||||
displayName: 'github'
|
||||
pool:
|
||||
vmImage: ubuntu-latest
|
||||
steps:
|
||||
- template: ./templates/release-github.yml
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
trigger:
|
||||
- master
|
||||
|
||||
pool:
|
||||
vmImage: 'ubuntu-latest'
|
||||
|
||||
stages:
|
||||
- stage: merge
|
||||
displayName: 'merge'
|
||||
|
||||
@@ -12,7 +12,7 @@ stages:
|
||||
timeoutInMinutes: 120
|
||||
displayName: 'windows-msvc'
|
||||
pool:
|
||||
vmImage: windows-2019
|
||||
vmImage: windows-2022
|
||||
steps:
|
||||
- template: ./templates/sync-source.yml
|
||||
parameters:
|
||||
@@ -29,5 +29,7 @@ stages:
|
||||
jobs:
|
||||
- job: release
|
||||
displayName: 'source'
|
||||
pool:
|
||||
vmImage: 'ubuntu-latest'
|
||||
steps:
|
||||
- template: ./templates/release-private-tag.yml
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
name: yuzu-ci
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
tags: [ "*" ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
transifex:
|
||||
runs-on: ubuntu-latest
|
||||
container: yuzuemu/build-environments:linux-transifex
|
||||
if: ${{ github.repository == 'yuzu-emu/yuzu' && !github.head_ref }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
fetch-depth: 0
|
||||
- name: Update Translation
|
||||
run: ./.ci/scripts/transifex/docker.sh
|
||||
env:
|
||||
TRANSIFEX_API_TOKEN: ${{ secrets.TRANSIFEX_API_TOKEN }}
|
||||
@@ -0,0 +1,121 @@
|
||||
name: 'yuzu verify'
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
env:
|
||||
PR_NUMBER: pr${{ github.event.number }}
|
||||
|
||||
jobs:
|
||||
format:
|
||||
name: 'verify format'
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: yuzuemu/build-environments:linux-clang-format
|
||||
options: -u 1001
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: false
|
||||
- name: 'Verify Formatting'
|
||||
run: bash -ex ./.ci/scripts/format/script.sh
|
||||
build:
|
||||
name: 'test build'
|
||||
needs: format
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- type: clang
|
||||
image: linux-fresh
|
||||
- type: linux
|
||||
image: linux-fresh
|
||||
- type: windows
|
||||
image: linux-mingw
|
||||
container:
|
||||
image: yuzuemu/build-environments:${{ matrix.image }}
|
||||
options: -u 1001
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
fetch-depth: 0
|
||||
- name: Set up cache
|
||||
uses: actions/cache@v3
|
||||
id: ccache-restore
|
||||
with:
|
||||
path: ~/.ccache
|
||||
key: ${{ runner.os }}-${{ matrix.type }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-${{ matrix.type }}-
|
||||
- name: Create ccache directory
|
||||
if: steps.ccache-restore.outputs.cache-hit != 'true'
|
||||
run: mkdir -p ~/.ccache
|
||||
- name: Build
|
||||
run: ./.ci/scripts/${{ matrix.type }}/docker.sh
|
||||
env:
|
||||
ENABLE_COMPATIBILITY_REPORTING: "ON"
|
||||
- name: Pack
|
||||
run: ./.ci/scripts/${{ matrix.type }}/upload.sh
|
||||
env:
|
||||
NO_SOURCE_PACK: "YES"
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.type }}
|
||||
path: artifacts/
|
||||
build-msvc:
|
||||
name: 'test build (windows, msvc)'
|
||||
needs: format
|
||||
runs-on: windows-2019
|
||||
steps:
|
||||
- name: Set up cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.buildcache
|
||||
key: ${{ runner.os }}-msvc-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-msvc-
|
||||
- name: Install dependencies
|
||||
# due to how chocolatey works, only cmd.exe is supported here
|
||||
shell: cmd
|
||||
run: |
|
||||
choco install vulkan-sdk wget
|
||||
call refreshenv
|
||||
wget https://github.com/mbitsnbites/buildcache/releases/download/v0.27.6/buildcache-windows.zip
|
||||
7z x buildcache-windows.zip
|
||||
copy buildcache\bin\buildcache.exe C:\ProgramData\chocolatey\bin
|
||||
rmdir buildcache
|
||||
echo %PATH% >> %GITHUB_PATH%
|
||||
- name: Set up MSVC
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
fetch-depth: 0
|
||||
- name: Configure
|
||||
env:
|
||||
CC: cl.exe
|
||||
CXX: cl.exe
|
||||
run: |
|
||||
glslangValidator --version
|
||||
mkdir build
|
||||
cmake . -B build -GNinja -DCMAKE_TOOLCHAIN_FILE="CMakeModules/MSVCCache.cmake" -DUSE_CCACHE=ON -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_BUILD_TYPE=Release -DGIT_BRANCH=pr-verify -DCLANG_FORMAT_SUFFIX=discordplzdontclang -DYUZU_TESTS=OFF -DYUZU_USE_BUNDLED_VCPKG=ON
|
||||
- name: Build
|
||||
run: cmake --build build
|
||||
- name: Cache Summary
|
||||
run: buildcache -s
|
||||
- name: Pack
|
||||
shell: pwsh
|
||||
run: .\.ci\scripts\windows\upload.ps1
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: msvc
|
||||
path: artifacts/
|
||||
- name: Upload EXE
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ env.INDIVIDUAL_EXE }}
|
||||
path: ${{ env.INDIVIDUAL_EXE }}
|
||||
+7
-10
@@ -7,9 +7,6 @@
|
||||
[submodule "dynarmic"]
|
||||
path = externals/dynarmic
|
||||
url = https://github.com/MerryMage/dynarmic.git
|
||||
[submodule "soundtouch"]
|
||||
path = externals/soundtouch
|
||||
url = https://github.com/citra-emu/ext-soundtouch.git
|
||||
[submodule "libressl"]
|
||||
path = externals/libressl
|
||||
url = https://github.com/citra-emu/ext-libressl-portable.git
|
||||
@@ -28,21 +25,21 @@
|
||||
[submodule "mbedtls"]
|
||||
path = externals/mbedtls
|
||||
url = https://github.com/yuzu-emu/mbedtls
|
||||
[submodule "libzip"]
|
||||
path = externals/libzip/libzip
|
||||
url = https://github.com/nih-at/libzip.git
|
||||
[submodule "xbyak"]
|
||||
path = externals/xbyak
|
||||
url = https://github.com/herumi/xbyak.git
|
||||
[submodule "opus"]
|
||||
path = externals/opus/opus
|
||||
url = https://github.com/xiph/opus.git
|
||||
[submodule "ffmpeg"]
|
||||
path = externals/ffmpeg
|
||||
url = https://git.ffmpeg.org/ffmpeg.git
|
||||
[submodule "SDL"]
|
||||
path = externals/SDL
|
||||
url = https://github.com/libsdl-org/SDL.git
|
||||
[submodule "externals/cpp-httplib"]
|
||||
[submodule "cpp-httplib"]
|
||||
path = externals/cpp-httplib
|
||||
url = https://github.com/yhirose/cpp-httplib.git
|
||||
[submodule "ffmpeg"]
|
||||
path = externals/ffmpeg/ffmpeg
|
||||
url = https://git.ffmpeg.org/ffmpeg.git
|
||||
[submodule "vcpkg"]
|
||||
path = externals/vcpkg
|
||||
url = https://github.com/Microsoft/vcpkg.git
|
||||
|
||||
-59
@@ -1,59 +0,0 @@
|
||||
language: cpp
|
||||
matrix:
|
||||
include:
|
||||
- os: linux
|
||||
env: NAME="clang-format"
|
||||
sudo: required
|
||||
dist: trusty
|
||||
services: docker
|
||||
install: "./.travis/clang-format/deps.sh"
|
||||
script: "./.travis/clang-format/build.sh"
|
||||
- os: linux
|
||||
env: NAME="linux build"
|
||||
sudo: required
|
||||
dist: trusty
|
||||
services: docker
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- p7zip-full
|
||||
install: "./.travis/linux/deps.sh"
|
||||
script: "./.travis/linux/build.sh"
|
||||
after_success: "./.travis/linux/upload.sh"
|
||||
cache: ccache
|
||||
- os: osx
|
||||
env: NAME="macos build"
|
||||
sudo: false
|
||||
osx_image: xcode10.2
|
||||
install: "./.travis/macos/deps.sh"
|
||||
script: "./.travis/macos/build.sh"
|
||||
after_success: "./.travis/macos/upload.sh"
|
||||
cache: ccache
|
||||
- os: linux
|
||||
env: NAME="MinGW build"
|
||||
sudo: required
|
||||
dist: trusty
|
||||
services: docker
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- p7zip-full
|
||||
install: "./.travis/linux-mingw/deps.sh"
|
||||
script: "./.travis/linux-mingw/build.sh"
|
||||
after_success: "./.travis/linux-mingw/upload.sh"
|
||||
cache: ccache
|
||||
|
||||
deploy:
|
||||
provider: releases
|
||||
api_key:
|
||||
secure: ElsIAlbvVXBNKsP31nVPysh+mf0GQA4DiL/y5iJeQxKQYR6iRoNo+RfzOBmdswdo0bE/PGeBAlfzCkp15gjhWf6Je0N6dRpczmcmLq6SSQFn1Mpq00xMJB2AgQIlaHs6KFgoUA173EBKbPwgU/NubTFpJFm/Wa+NcSWAHQXKL9KT2M3qKpxNkPl3mKEVsbch4REP+T/46vsa+ikw0VE0kIs6V93LqUQZpI2F0Dhihx8Cxr5iedkE1QsNK+QSX9iItMHbfek9OH980gP7L3lkZltyAA1Pk0c37OAgz2PwczwNKwCT8jg9PMzdcKmWouvLyAkZFuA806ElzwHY3oEd91Zm6+Bk5n24yBKZ9027AZzw38NK2Z2m9Akb8+ar8PdsKU6N5pDutX9qSLayr0oMgJ0s7/xnGBGdL3gfkPCFc50xO/2DxlsOR+zAhPNM9Y76hhGy6A7/40+9uzrJvd4nAuDvIXRzi2Yl2L7mKBE4suMKbFLtk2LlgM0qY5JMVTQ8NliaEtqopfPur2KWFVJUpWDNLtNX8xGqhfwg7cLjIiGmnxSaJBTDuZI6dpEjkWkU0n1xYhGqEqit8DbehYzazozMJ+Vsr8hku7jGlUtlw+U6HG1e19O2y4aGeSwYPROcCNz+BLwmVM8oZE3Roy3qoaa2yiFf+sy6rUHznrhsfEM=
|
||||
file_glob: true
|
||||
file: "artifacts/*"
|
||||
skip_cleanup: true
|
||||
on:
|
||||
tags: true
|
||||
|
||||
notifications:
|
||||
webhooks:
|
||||
urls:
|
||||
- https://api.yuzu-emu.org/code/travis/notify
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
docker run --env-file .travis/common/travis-ci.env -v $(pwd):/yuzu -v "$HOME/.ccache":/root/.ccache citraemu/build-environments:linux-clang-format /bin/bash -ex /yuzu/.travis/clang-format/docker.sh
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/bin/sh -ex
|
||||
|
||||
docker pull citraemu/build-environments:linux-clang-format
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
# Run clang-format
|
||||
cd /yuzu
|
||||
./.travis/clang-format/script.sh
|
||||
@@ -1,37 +0,0 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
if grep -nrI '\s$' src *.yml *.txt *.md Doxyfile .gitignore .gitmodules .travis* dist/*.desktop \
|
||||
dist/*.svg dist/*.xml; then
|
||||
echo Trailing whitespace found, aborting
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Default clang-format points to default 3.5 version one
|
||||
CLANG_FORMAT=clang-format-10.0
|
||||
$CLANG_FORMAT --version
|
||||
|
||||
if [ "$TRAVIS_EVENT_TYPE" = "pull_request" ]; then
|
||||
# Get list of every file modified in this pull request
|
||||
files_to_lint="$(git diff --name-only --diff-filter=ACMRTUXB $TRAVIS_COMMIT_RANGE | grep '^src/[^.]*[.]\(cpp\|h\)$' || true)"
|
||||
else
|
||||
# Check everything for branch pushes
|
||||
files_to_lint="$(find src/ -name '*.cpp' -or -name '*.h')"
|
||||
fi
|
||||
|
||||
# Turn off tracing for this because it's too verbose
|
||||
set +x
|
||||
|
||||
for f in $files_to_lint; do
|
||||
d=$(diff -u "$f" <($CLANG_FORMAT "$f") || true)
|
||||
if ! [ -z "$d" ]; then
|
||||
echo "!!! $f not compliant to coding style, here is the fix:"
|
||||
echo "$d"
|
||||
fail=1
|
||||
fi
|
||||
done
|
||||
|
||||
set -x
|
||||
|
||||
if [ "$fail" = 1 ]; then
|
||||
exit 1
|
||||
fi
|
||||
@@ -1,25 +0,0 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
# Copy documentation
|
||||
cp license.txt "$REV_NAME"
|
||||
cp README.md "$REV_NAME"
|
||||
|
||||
tar $COMPRESSION_FLAGS "$ARCHIVE_NAME" "$REV_NAME"
|
||||
|
||||
# Find out what release we are building
|
||||
if [ -z $TRAVIS_TAG ]; then
|
||||
RELEASE_NAME=head
|
||||
else
|
||||
RELEASE_NAME=$(echo $TRAVIS_TAG | cut -d- -f1)
|
||||
if [ "$NAME" = "MinGW build" ]; then
|
||||
RELEASE_NAME="${RELEASE_NAME}-mingw"
|
||||
fi
|
||||
fi
|
||||
|
||||
mv "$REV_NAME" $RELEASE_NAME
|
||||
|
||||
7z a "$REV_NAME.7z" $RELEASE_NAME
|
||||
|
||||
# move the compiled archive into the artifacts directory to be uploaded by travis releases
|
||||
mv "$ARCHIVE_NAME" artifacts/
|
||||
mv "$REV_NAME.7z" artifacts/
|
||||
@@ -1,6 +0,0 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
GITDATE="`git show -s --date=short --format='%ad' | sed 's/-//g'`"
|
||||
GITREV="`git show -s --format='%h'`"
|
||||
|
||||
mkdir -p artifacts
|
||||
@@ -1,18 +0,0 @@
|
||||
# List of environment variables to be shared with Docker containers
|
||||
CI
|
||||
TRAVIS
|
||||
CONTINUOUS_INTEGRATION
|
||||
TRAVIS_BRANCH
|
||||
TRAVIS_BUILD_ID
|
||||
TRAVIS_BUILD_NUMBER
|
||||
TRAVIS_COMMIT
|
||||
TRAVIS_COMMIT_RANGE
|
||||
TRAVIS_EVENT_TYPE
|
||||
TRAVIS_JOB_ID
|
||||
TRAVIS_JOB_NUMBER
|
||||
TRAVIS_REPO_SLUG
|
||||
TRAVIS_TAG
|
||||
|
||||
# yuzu specific flags
|
||||
ENABLE_COMPATIBILITY_REPORTING
|
||||
USE_DISCORD_PRESENCE
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/bin/bash -ex
|
||||
mkdir "$HOME/.ccache" || true
|
||||
docker run --env-file .travis/common/travis-ci.env -v $(pwd):/yuzu -v "$HOME/.ccache":/root/.ccache yuzuemu/build-environments:linux-mingw /bin/bash -ex /yuzu/.travis/linux-mingw/docker.sh
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/bin/sh -ex
|
||||
|
||||
docker pull yuzuemu/build-environments:linux-mingw
|
||||
@@ -1,42 +0,0 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
cd /yuzu
|
||||
# override Travis CI unreasonable ccache size
|
||||
echo 'max_size = 3.0G' > "$HOME/.ccache/ccache.conf"
|
||||
|
||||
mkdir build && cd build
|
||||
cmake .. -G Ninja -DCMAKE_TOOLCHAIN_FILE="$(pwd)/../CMakeModules/MinGWCross.cmake" -DUSE_CCACHE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DCMAKE_BUILD_TYPE=Release
|
||||
ninja
|
||||
|
||||
# Clean up the dirty hacks
|
||||
rm /bin/uname && mv /bin/uname1 /bin/uname
|
||||
rm /bin/cmd
|
||||
|
||||
ccache -s
|
||||
|
||||
echo "Tests skipped"
|
||||
#ctest -VV -C Release
|
||||
|
||||
echo 'Prepare binaries...'
|
||||
cd ..
|
||||
mkdir package
|
||||
|
||||
QT_PLATFORM_DLL_PATH='/usr/x86_64-w64-mingw32/lib/qt5/plugins/platforms/'
|
||||
find build/ -name "yuzu*.exe" -exec cp {} 'package' \;
|
||||
|
||||
# copy Qt plugins
|
||||
mkdir package/platforms
|
||||
cp "${QT_PLATFORM_DLL_PATH}/qwindows.dll" package/platforms/
|
||||
cp -rv "${QT_PLATFORM_DLL_PATH}/../mediaservice/" package/
|
||||
cp -rv "${QT_PLATFORM_DLL_PATH}/../imageformats/" package/
|
||||
rm -f package/mediaservice/*d.dll
|
||||
|
||||
for i in package/*.exe; do
|
||||
# we need to process pdb here, however, cv2pdb
|
||||
# does not work here, so we just simply strip all the debug symbols
|
||||
x86_64-w64-mingw32-strip "${i}"
|
||||
done
|
||||
|
||||
pip3 install pefile
|
||||
python3 .travis/linux-mingw/scan_dll.py package/*.exe "package/"
|
||||
python3 .travis/linux-mingw/scan_dll.py package/imageformats/*.dll "package/"
|
||||
@@ -1,106 +0,0 @@
|
||||
import pefile
|
||||
import sys
|
||||
import re
|
||||
import os
|
||||
import queue
|
||||
import shutil
|
||||
|
||||
# constant definitions
|
||||
KNOWN_SYS_DLLS = ['WINMM.DLL', 'MSVCRT.DLL', 'VERSION.DLL', 'MPR.DLL',
|
||||
'DWMAPI.DLL', 'UXTHEME.DLL', 'DNSAPI.DLL', 'IPHLPAPI.DLL']
|
||||
# below is for Ubuntu 18.04 with specified PPA enabled, if you are using
|
||||
# other distro or different repositories, change the following accordingly
|
||||
DLL_PATH = [
|
||||
'/usr/x86_64-w64-mingw32/bin/',
|
||||
'/usr/x86_64-w64-mingw32/lib/',
|
||||
'/usr/lib/gcc/x86_64-w64-mingw32/7.3-posix/'
|
||||
]
|
||||
|
||||
missing = []
|
||||
|
||||
|
||||
def parse_imports(file_name):
|
||||
results = []
|
||||
pe = pefile.PE(file_name, fast_load=True)
|
||||
pe.parse_data_directories()
|
||||
|
||||
for entry in pe.DIRECTORY_ENTRY_IMPORT:
|
||||
current = entry.dll.decode()
|
||||
current_u = current.upper() # b/c Windows is often case insensitive
|
||||
# here we filter out system dlls
|
||||
# dll w/ names like *32.dll are likely to be system dlls
|
||||
if current_u.upper() not in KNOWN_SYS_DLLS and not re.match(string=current_u, pattern=r'.*32\.DLL'):
|
||||
results.append(current)
|
||||
|
||||
return results
|
||||
|
||||
|
||||
def parse_imports_recursive(file_name, path_list=[]):
|
||||
q = queue.Queue() # create a FIFO queue
|
||||
# file_name can be a string or a list for the convience
|
||||
if isinstance(file_name, str):
|
||||
q.put(file_name)
|
||||
elif isinstance(file_name, list):
|
||||
for i in file_name:
|
||||
q.put(i)
|
||||
full_list = []
|
||||
while q.qsize():
|
||||
current = q.get_nowait()
|
||||
print('> %s' % current)
|
||||
deps = parse_imports(current)
|
||||
# if this dll does not have any import, ignore it
|
||||
if not deps:
|
||||
continue
|
||||
for dep in deps:
|
||||
# the dependency already included in the list, skip
|
||||
if dep in full_list:
|
||||
continue
|
||||
# find the requested dll in the provided paths
|
||||
full_path = find_dll(dep)
|
||||
if not full_path:
|
||||
missing.append(dep)
|
||||
continue
|
||||
full_list.append(dep)
|
||||
q.put(full_path)
|
||||
path_list.append(full_path)
|
||||
return full_list
|
||||
|
||||
|
||||
def find_dll(name):
|
||||
for path in DLL_PATH:
|
||||
for root, _, files in os.walk(path):
|
||||
for f in files:
|
||||
if name.lower() == f.lower():
|
||||
return os.path.join(root, f)
|
||||
|
||||
|
||||
def deploy(name, dst, dry_run=False):
|
||||
dlls_path = []
|
||||
parse_imports_recursive(name, dlls_path)
|
||||
for dll_entry in dlls_path:
|
||||
if not dry_run:
|
||||
shutil.copy(dll_entry, dst)
|
||||
else:
|
||||
print('[Dry-Run] Copy %s to %s' % (dll_entry, dst))
|
||||
print('Deploy completed.')
|
||||
return dlls_path
|
||||
|
||||
|
||||
def main():
|
||||
if len(sys.argv) < 3:
|
||||
print('Usage: %s [files to examine ...] [target deploy directory]')
|
||||
return 1
|
||||
to_deploy = sys.argv[1:-1]
|
||||
tgt_dir = sys.argv[-1]
|
||||
if not os.path.isdir(tgt_dir):
|
||||
print('%s is not a directory.' % tgt_dir)
|
||||
return 1
|
||||
print('Scanning dependencies...')
|
||||
deploy(to_deploy, tgt_dir)
|
||||
if missing:
|
||||
print('Following DLLs are not found: %s' % ('\n'.join(missing)))
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
. .travis/common/pre-upload.sh
|
||||
|
||||
REV_NAME="yuzu-windows-mingw-${GITDATE}-${GITREV}"
|
||||
ARCHIVE_NAME="${REV_NAME}.tar.gz"
|
||||
COMPRESSION_FLAGS="-czvf"
|
||||
|
||||
mkdir "$REV_NAME"
|
||||
# get around the permission issues
|
||||
cp -r package/* "$REV_NAME"
|
||||
|
||||
. .travis/common/post-upload.sh
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
mkdir -p "$HOME/.ccache"
|
||||
docker run -e ENABLE_COMPATIBILITY_REPORTING --env-file .travis/common/travis-ci.env -v $(pwd):/yuzu -v "$HOME/.ccache":/home/yuzu/.ccache yuzuemu/build-environments:linux-fresh /bin/bash /yuzu/.travis/linux/docker.sh
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/bin/sh -ex
|
||||
|
||||
docker pull yuzuemu/build-environments:linux-fresh
|
||||
@@ -1,11 +0,0 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
cd /yuzu
|
||||
|
||||
mkdir build && cd build
|
||||
cmake .. -G Ninja -DYUZU_USE_QT_WEB_ENGINE=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/lib/ccache/gcc -DCMAKE_CXX_COMPILER=/usr/lib/ccache/g++ -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DUSE_DISCORD_PRESENCE=ON
|
||||
ninja
|
||||
|
||||
ccache -s
|
||||
|
||||
ctest -VV -C Release
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
. .travis/common/pre-upload.sh
|
||||
|
||||
REV_NAME="yuzu-linux-${GITDATE}-${GITREV}"
|
||||
ARCHIVE_NAME="${REV_NAME}.tar.xz"
|
||||
COMPRESSION_FLAGS="-cJvf"
|
||||
|
||||
mkdir "$REV_NAME"
|
||||
|
||||
cp build/bin/yuzu-cmd "$REV_NAME"
|
||||
cp build/bin/yuzu "$REV_NAME"
|
||||
|
||||
. .travis/common/post-upload.sh
|
||||
@@ -1,17 +0,0 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
set -o pipefail
|
||||
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.14
|
||||
export Qt5_DIR=$(brew --prefix)/opt/qt5
|
||||
export PATH="/usr/local/opt/ccache/libexec:$PATH"
|
||||
|
||||
# TODO: Build using ninja instead of make
|
||||
mkdir build && cd build
|
||||
cmake --version
|
||||
cmake .. -DYUZU_USE_QT_WEB_ENGINE=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} -DUSE_DISCORD_PRESENCE=ON
|
||||
make -j4
|
||||
|
||||
ccache -s
|
||||
|
||||
ctest -VV -C Release
|
||||
@@ -1,6 +0,0 @@
|
||||
#!/bin/sh -ex
|
||||
|
||||
brew update
|
||||
brew install p7zip qt5 sdl2 ccache
|
||||
brew outdated cmake || brew upgrade cmake
|
||||
pip3 install macpack
|
||||
@@ -1,28 +0,0 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
. .travis/common/pre-upload.sh
|
||||
|
||||
REV_NAME="yuzu-osx-${GITDATE}-${GITREV}"
|
||||
ARCHIVE_NAME="${REV_NAME}.tar.gz"
|
||||
COMPRESSION_FLAGS="-czvf"
|
||||
|
||||
mkdir "$REV_NAME"
|
||||
|
||||
cp build/bin/yuzu-cmd "$REV_NAME"
|
||||
cp -r build/bin/yuzu.app "$REV_NAME"
|
||||
|
||||
# move libs into folder for deployment
|
||||
macpack "${REV_NAME}/yuzu.app/Contents/MacOS/yuzu" -d "../Frameworks"
|
||||
# move qt frameworks into app bundle for deployment
|
||||
$(brew --prefix)/opt/qt5/bin/macdeployqt "${REV_NAME}/yuzu.app" -executable="${REV_NAME}/yuzu.app/Contents/MacOS/yuzu"
|
||||
|
||||
# move libs into folder for deployment
|
||||
macpack "${REV_NAME}/yuzu-cmd" -d "libs"
|
||||
|
||||
# Make the launching script executable
|
||||
chmod +x ${REV_NAME}/yuzu.app/Contents/MacOS/yuzu
|
||||
|
||||
# Verify loader instructions
|
||||
find "$REV_NAME" -exec otool -L {} \;
|
||||
|
||||
. .travis/common/post-upload.sh
|
||||
+78
-338
@@ -21,22 +21,28 @@ CMAKE_DEPENDENT_OPTION(YUZU_USE_BUNDLED_QT "Download bundled Qt binaries" "${MSV
|
||||
|
||||
option(ENABLE_WEB_SERVICE "Enable web services (telemetry, etc.)" ON)
|
||||
|
||||
option(YUZU_USE_BUNDLED_BOOST "Download bundled Boost" OFF)
|
||||
|
||||
option(YUZU_USE_BUNDLED_LIBUSB "Compile bundled libusb" OFF)
|
||||
|
||||
option(YUZU_USE_BUNDLED_FFMPEG "Download/Build bundled FFmpeg" "${WIN32}")
|
||||
|
||||
option(YUZU_USE_QT_WEB_ENGINE "Use QtWebEngine for web applet implementation" OFF)
|
||||
|
||||
option(YUZU_ENABLE_BOXCAT "Enable the Boxcat service, a yuzu high-level implementation of BCAT" ON)
|
||||
|
||||
option(ENABLE_CUBEB "Enables the cubeb audio backend" ON)
|
||||
|
||||
option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence" OFF)
|
||||
|
||||
if (NOT ENABLE_WEB_SERVICE)
|
||||
set(YUZU_ENABLE_BOXCAT OFF)
|
||||
option(YUZU_USE_BUNDLED_OPUS "Compile bundled opus" ON)
|
||||
|
||||
option(YUZU_TESTS "Compile tests" ON)
|
||||
|
||||
option(YUZU_USE_BUNDLED_VCPKG "Use vcpkg for yuzu dependencies" OFF)
|
||||
|
||||
if (YUZU_USE_BUNDLED_VCPKG)
|
||||
include(${CMAKE_SOURCE_DIR}/externals/vcpkg/scripts/buildsystems/vcpkg.cmake)
|
||||
elseif(NOT "$ENV{VCPKG_TOOLCHAIN_FILE}" STREQUAL "")
|
||||
# Disable manifest mode (use vcpkg classic mode) when using a custom vcpkg installation
|
||||
option(VCPKG_MANIFEST_MODE "")
|
||||
include("$ENV{VCPKG_TOOLCHAIN_FILE}")
|
||||
endif()
|
||||
|
||||
# Default to a Release build
|
||||
@@ -63,7 +69,7 @@ function(check_submodules_present)
|
||||
string(REGEX REPLACE "path *= *" "" module ${module})
|
||||
if (NOT EXISTS "${PROJECT_SOURCE_DIR}/${module}/.git")
|
||||
message(FATAL_ERROR "Git submodule ${module} not found. "
|
||||
"Please run: git submodule update --init --recursive")
|
||||
"Please run: \ngit submodule update --init --recursive")
|
||||
endif()
|
||||
endforeach()
|
||||
endfunction()
|
||||
@@ -135,9 +141,9 @@ endif()
|
||||
# boost asio's concept usage doesn't play nicely with some compilers yet.
|
||||
add_definitions(-DBOOST_ASIO_DISABLE_CONCEPTS)
|
||||
if (MSVC)
|
||||
add_compile_options(/std:c++latest)
|
||||
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:/std:c++latest>)
|
||||
|
||||
# cubeb and boost still make use of deprecated result_of.
|
||||
# boost still makes use of deprecated result_of.
|
||||
add_definitions(-D_HAS_DEPRECATED_RESULT_OF)
|
||||
else()
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
@@ -148,114 +154,49 @@ endif()
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
|
||||
|
||||
# System imported libraries
|
||||
# If not found, download any missing through Conan
|
||||
# =======================================================================
|
||||
set(CONAN_CMAKE_SILENT_OUTPUT TRUE)
|
||||
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG TRUE)
|
||||
if (YUZU_CONAN_INSTALLED)
|
||||
if (IS_MULTI_CONFIG)
|
||||
include(${CMAKE_BINARY_DIR}/conanbuildinfo_multi.cmake)
|
||||
else()
|
||||
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
|
||||
endif()
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_BINARY_DIR}")
|
||||
list(APPEND CMAKE_PREFIX_PATH "${CMAKE_BINARY_DIR}")
|
||||
conan_basic_setup()
|
||||
message(STATUS "Adding conan installed libraries to the search path")
|
||||
|
||||
find_package(fmt 8.0.1 REQUIRED CONFIG)
|
||||
find_package(lz4 1.8 REQUIRED)
|
||||
find_package(nlohmann_json 3.8 REQUIRED CONFIG)
|
||||
find_package(ZLIB 1.2 REQUIRED)
|
||||
|
||||
# Search for config-only package first (for vcpkg), then try non-config
|
||||
find_package(zstd 1.5 CONFIG)
|
||||
if (NOT zstd_FOUND)
|
||||
find_package(zstd 1.5 REQUIRED)
|
||||
endif()
|
||||
|
||||
macro(yuzu_find_packages)
|
||||
set(options FORCE_REQUIRED)
|
||||
cmake_parse_arguments(FN "${options}" "" "" ${ARGN})
|
||||
|
||||
# Cmake has a *serious* lack of 2D array or associative array...
|
||||
# Capitalization matters here. We need the naming to match the generated paths from Conan
|
||||
set(REQUIRED_LIBS
|
||||
# Cmake Pkg Prefix Version Conan Pkg
|
||||
"Catch2 2.13 catch2/2.13.0"
|
||||
"fmt 8.0 fmt/8.0.0"
|
||||
"lz4 1.8 lz4/1.9.2"
|
||||
"nlohmann_json 3.8 nlohmann_json/3.8.0"
|
||||
"ZLIB 1.2 zlib/1.2.11"
|
||||
"zstd 1.5 zstd/1.5.0"
|
||||
# can't use opus until AVX check is fixed: https://github.com/yuzu-emu/yuzu/pull/4068
|
||||
#"opus 1.3 opus/1.3.1"
|
||||
)
|
||||
|
||||
foreach(PACKAGE ${REQUIRED_LIBS})
|
||||
string(REGEX REPLACE "[ \t\r\n]+" ";" PACKAGE_SPLIT ${PACKAGE})
|
||||
list(GET PACKAGE_SPLIT 0 PACKAGE_PREFIX)
|
||||
list(GET PACKAGE_SPLIT 1 PACKAGE_VERSION)
|
||||
list(GET PACKAGE_SPLIT 2 PACKAGE_CONAN)
|
||||
# This function is called twice, once to check if the packages exist on the system already
|
||||
# and a second time to check if conan installed them properly. The second check passes in FORCE_REQUIRED
|
||||
if (NOT ${PACKAGE_PREFIX}_FOUND)
|
||||
if (FN_FORCE_REQUIRED)
|
||||
find_package(${PACKAGE_PREFIX} ${PACKAGE_VERSION} REQUIRED)
|
||||
else()
|
||||
find_package(${PACKAGE_PREFIX} ${PACKAGE_VERSION})
|
||||
endif()
|
||||
endif()
|
||||
if (NOT ${PACKAGE_PREFIX}_FOUND)
|
||||
list(APPEND CONAN_REQUIRED_LIBS ${PACKAGE_CONAN})
|
||||
else()
|
||||
# Set a legacy findPackage.cmake style PACKAGE_LIBRARIES variable for subprojects that rely on this
|
||||
set(${PACKAGE_PREFIX}_LIBRARIES "${PACKAGE_PREFIX}::${PACKAGE_PREFIX}")
|
||||
endif()
|
||||
endforeach()
|
||||
unset(FN_FORCE_REQUIRED)
|
||||
endmacro()
|
||||
|
||||
if (NOT YUZU_USE_BUNDLED_BOOST)
|
||||
find_package(Boost 1.73.0 CONFIG COMPONENTS context headers QUIET)
|
||||
if (YUZU_TESTS)
|
||||
find_package(Catch2 2.13.7 REQUIRED CONFIG)
|
||||
endif()
|
||||
|
||||
find_package(Boost 1.73.0 COMPONENTS context)
|
||||
if (Boost_FOUND)
|
||||
set(Boost_LIBRARIES Boost::boost)
|
||||
# Conditionally add Boost::context only if the active version of the Conan or system Boost package provides it
|
||||
# Conditionally add Boost::context only if the found Boost package provides it
|
||||
# The old version is missing Boost::context, so we want to avoid adding in that case
|
||||
# The new version requires adding Boost::context to prevent linking issues
|
||||
#
|
||||
# This one is used by Conan on subsequent CMake configures, not the first configure.
|
||||
if (TARGET Boost::context)
|
||||
list(APPEND Boost_LIBRARIES Boost::context)
|
||||
endif()
|
||||
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR YUZU_USE_BUNDLED_BOOST)
|
||||
message(STATUS "Boost 1.73.0 or newer not found, falling back to externals")
|
||||
set(YUZU_USE_BUNDLED_BOOST ON CACHE BOOL "Download bundled Boost" FORCE)
|
||||
|
||||
# Use yuzu Boost binaries
|
||||
set(Boost_EXT_NAME "boost_1_75_0")
|
||||
set(Boost_PATH "${CMAKE_BINARY_DIR}/externals/${Boost_EXT_NAME}")
|
||||
download_bundled_external("boost/" ${Boost_EXT_NAME} "")
|
||||
set(Boost_USE_DEBUG_RUNTIME FALSE)
|
||||
set(Boost_USE_STATIC_LIBS ON)
|
||||
find_package(Boost 1.75.0 CONFIG REQUIRED COMPONENTS context headers PATHS ${Boost_PATH} NO_DEFAULT_PATH)
|
||||
# Manually set the include dirs since the find_package sets it incorrectly
|
||||
set(Boost_INCLUDE_DIRS ${Boost_PATH}/include CACHE PATH "Path to Boost headers" FORCE)
|
||||
include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
|
||||
else()
|
||||
message(STATUS "Boost 1.73.0 or newer not found, falling back to Conan")
|
||||
list(APPEND CONAN_REQUIRED_LIBS "boost/1.73.0")
|
||||
message(FATAL_ERROR "Boost 1.73.0 or newer not found")
|
||||
endif()
|
||||
|
||||
# Attempt to locate any packages that are required and report the missing ones in CONAN_REQUIRED_LIBS
|
||||
yuzu_find_packages()
|
||||
# boost:asio has functions that require AcceptEx et al
|
||||
if (MINGW)
|
||||
find_library(MSWSOCK_LIBRARY mswsock REQUIRED)
|
||||
endif()
|
||||
|
||||
# Qt5 requires that we find components, so it doesn't fit our pretty little find package function
|
||||
if(ENABLE_QT)
|
||||
set(QT_VERSION 5.12)
|
||||
# We want to load the generated conan qt config so that we get the QT_ROOT var so that we can use the official
|
||||
# Qt5Config inside the root folder instead of the conan generated one.
|
||||
if(EXISTS ${CMAKE_BINARY_DIR}/qtConfig.cmake)
|
||||
include(${CMAKE_BINARY_DIR}/qtConfig.cmake)
|
||||
list(APPEND CMAKE_MODULE_PATH "${CONAN_QT_ROOT_RELEASE}")
|
||||
list(APPEND CMAKE_PREFIX_PATH "${CONAN_QT_ROOT_RELEASE}")
|
||||
endif()
|
||||
set(QT_VERSION 5.15)
|
||||
|
||||
# Check for system Qt on Linux, fallback to bundled Qt
|
||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
if (NOT YUZU_USE_BUNDLED_QT)
|
||||
find_package(Qt5 ${QT_VERSION} COMPONENTS Widgets)
|
||||
find_package(Qt5 ${QT_VERSION} COMPONENTS Widgets DBus)
|
||||
endif()
|
||||
if (NOT Qt5_FOUND OR YUZU_USE_BUNDLED_QT)
|
||||
# Check for dependencies, then enable bundled Qt download
|
||||
@@ -341,12 +282,9 @@ if(ENABLE_QT)
|
||||
|
||||
set(YUZU_QT_NO_CMAKE_SYSTEM_PATH)
|
||||
|
||||
# Workaround for an issue where conan tries to build Qt from scratch instead of download prebuilt binaries
|
||||
set(QT_PREFIX_HINT)
|
||||
|
||||
if(YUZU_USE_BUNDLED_QT)
|
||||
if ((MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS 1930) AND ARCHITECTURE_x86_64)
|
||||
set(QT_BUILD qt-5.12.8-msvc2017_64)
|
||||
if ((MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1940) AND ARCHITECTURE_x86_64)
|
||||
set(QT_BUILD qt-5.15.2-msvc2019_64)
|
||||
elseif ((${CMAKE_SYSTEM_NAME} STREQUAL "Linux") AND NOT MINGW AND ARCHITECTURE_x86_64)
|
||||
set(QT_BUILD qt5_5_15_2)
|
||||
else()
|
||||
@@ -361,9 +299,13 @@ if(ENABLE_QT)
|
||||
|
||||
set(YUZU_QT_NO_CMAKE_SYSTEM_PATH "NO_CMAKE_SYSTEM_PATH")
|
||||
endif()
|
||||
find_package(Qt5 ${QT_VERSION} REQUIRED COMPONENTS Widgets ${QT_PREFIX_HINT} ${YUZU_QT_NO_CMAKE_SYSTEM_PATH})
|
||||
if ((${CMAKE_SYSTEM_NAME} STREQUAL "Linux") AND YUZU_USE_BUNDLED_QT)
|
||||
find_package(Qt5 ${QT_VERSION} REQUIRED COMPONENTS Widgets Concurrent DBus ${QT_PREFIX_HINT} ${YUZU_QT_NO_CMAKE_SYSTEM_PATH})
|
||||
else()
|
||||
find_package(Qt5 ${QT_VERSION} REQUIRED COMPONENTS Widgets Concurrent ${QT_PREFIX_HINT} ${YUZU_QT_NO_CMAKE_SYSTEM_PATH})
|
||||
endif()
|
||||
if (YUZU_USE_QT_WEB_ENGINE)
|
||||
find_package(Qt5 COMPONENTS WebEngineCore WebEngineWidgets)
|
||||
find_package(Qt5 REQUIRED COMPONENTS WebEngineCore WebEngineWidgets)
|
||||
endif()
|
||||
|
||||
if (ENABLE_QT_TRANSLATION)
|
||||
@@ -375,8 +317,8 @@ endif()
|
||||
if (ENABLE_SDL2)
|
||||
if (YUZU_USE_BUNDLED_SDL2)
|
||||
# Detect toolchain and platform
|
||||
if ((MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS 1930) AND ARCHITECTURE_x86_64)
|
||||
set(SDL2_VER "SDL2-2.0.16")
|
||||
if ((MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1940) AND ARCHITECTURE_x86_64)
|
||||
set(SDL2_VER "SDL2-2.0.18")
|
||||
else()
|
||||
message(FATAL_ERROR "No bundled SDL2 binaries for your toolchain. Disable YUZU_USE_BUNDLED_SDL2 and provide your own.")
|
||||
endif()
|
||||
@@ -396,7 +338,7 @@ if (ENABLE_SDL2)
|
||||
elseif (YUZU_USE_EXTERNAL_SDL2)
|
||||
message(STATUS "Using SDL2 from externals.")
|
||||
else()
|
||||
find_package(SDL2 2.0.16 REQUIRED)
|
||||
find_package(SDL2 2.0.18 REQUIRED)
|
||||
|
||||
# Some installations don't set SDL2_LIBRARIES
|
||||
if("${SDL2_LIBRARIES}" STREQUAL "")
|
||||
@@ -410,77 +352,8 @@ if (ENABLE_SDL2)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Install any missing dependencies with conan install
|
||||
if (CONAN_REQUIRED_LIBS)
|
||||
message(STATUS "Packages ${CONAN_REQUIRED_LIBS} not found!")
|
||||
# Use Conan to fetch the libraries that aren't found
|
||||
# Download conan.cmake automatically, you can also just copy the conan.cmake file
|
||||
if(NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake")
|
||||
message(STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan")
|
||||
file(DOWNLOAD "https://github.com/conan-io/cmake-conan/raw/v0.15/conan.cmake"
|
||||
"${CMAKE_BINARY_DIR}/conan.cmake")
|
||||
endif()
|
||||
include(${CMAKE_BINARY_DIR}/conan.cmake)
|
||||
|
||||
set(CONAN_LIB_OPTIONS
|
||||
libzip:with_openssl=False
|
||||
libzip:enable_windows_crypto=False
|
||||
)
|
||||
|
||||
conan_check(VERSION 1.24.0 REQUIRED)
|
||||
|
||||
# Manually add iconv to fix a dep conflict between qt and sdl2
|
||||
# We don't need to add it through find_package or anything since the other two can find it just fine
|
||||
if ("${CONAN_REQUIRED_LIBS}" MATCHES "qt" AND "${CONAN_REQUIRED_LIBS}" MATCHES "sdl")
|
||||
list(APPEND CONAN_REQUIRED_LIBS "libiconv/1.16")
|
||||
endif()
|
||||
if (IS_MULTI_CONFIG)
|
||||
conan_cmake_run(REQUIRES ${CONAN_REQUIRED_LIBS}
|
||||
OPTIONS ${CONAN_LIB_OPTIONS}
|
||||
BUILD missing
|
||||
CONFIGURATION_TYPES "Release;Debug"
|
||||
GENERATORS cmake_multi cmake_find_package_multi)
|
||||
include(${CMAKE_BINARY_DIR}/conanbuildinfo_multi.cmake)
|
||||
else()
|
||||
conan_cmake_run(REQUIRES ${CONAN_REQUIRED_LIBS}
|
||||
OPTIONS ${CONAN_LIB_OPTIONS}
|
||||
BUILD missing
|
||||
GENERATORS cmake cmake_find_package_multi)
|
||||
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
|
||||
endif()
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_BINARY_DIR}")
|
||||
list(APPEND CMAKE_PREFIX_PATH "${CMAKE_BINARY_DIR}")
|
||||
conan_basic_setup()
|
||||
|
||||
set(YUZU_CONAN_INSTALLED TRUE CACHE BOOL "If true, the following builds will add conan to the lib search path" FORCE)
|
||||
|
||||
# Now that we've installed what we are missing, try to locate them again,
|
||||
# this time with required, so we bail if its not found.
|
||||
yuzu_find_packages(FORCE_REQUIRED)
|
||||
|
||||
if (NOT Boost_FOUND)
|
||||
find_package(Boost 1.73.0 REQUIRED COMPONENTS context headers)
|
||||
set(Boost_LIBRARIES Boost::boost)
|
||||
# Conditionally add Boost::context only if the active version of the Conan Boost package provides it
|
||||
# The old version is missing Boost::context, so we want to avoid adding in that case
|
||||
# The new version requires adding Boost::context to prevent linking issues
|
||||
if (TARGET Boost::context)
|
||||
list(APPEND Boost_LIBRARIES Boost::context)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Due to issues with variable scopes in functions, we need to also find_package(qt5) outside of the function
|
||||
if(ENABLE_QT)
|
||||
list(APPEND CMAKE_MODULE_PATH "${CONAN_QT_ROOT_RELEASE}")
|
||||
list(APPEND CMAKE_PREFIX_PATH "${CONAN_QT_ROOT_RELEASE}")
|
||||
find_package(Qt5 5.12 REQUIRED COMPONENTS Widgets)
|
||||
if (YUZU_USE_QT_WEB_ENGINE)
|
||||
find_package(Qt5 REQUIRED COMPONENTS WebEngineCore WebEngineWidgets)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
# TODO(lat9nq): Determine what if any of this we still need
|
||||
#
|
||||
# Reexport some targets that are named differently when using the upstream CmakeConfig vs the generated Conan config
|
||||
# In order to ALIAS targets to a new name, they first need to be IMPORTED_GLOBAL
|
||||
# Dynarmic checks for target `boost` and so we want to make sure it can find it through our system instead of using their external
|
||||
@@ -518,9 +391,13 @@ set(FFmpeg_COMPONENTS
|
||||
avutil
|
||||
swscale)
|
||||
|
||||
if (UNIX AND NOT APPLE)
|
||||
Include(FindPkgConfig REQUIRED)
|
||||
pkg_check_modules(LIBVA libva)
|
||||
endif()
|
||||
if (NOT YUZU_USE_BUNDLED_FFMPEG)
|
||||
# Use system installed FFmpeg
|
||||
find_package(FFmpeg QUIET COMPONENTS ${FFmpeg_COMPONENTS})
|
||||
find_package(FFmpeg 4.3 QUIET COMPONENTS ${FFmpeg_COMPONENTS})
|
||||
|
||||
if (FFmpeg_FOUND)
|
||||
# Overwrite aggregate defines from FFmpeg module to avoid over-linking libraries.
|
||||
@@ -533,160 +410,11 @@ if (NOT YUZU_USE_BUNDLED_FFMPEG)
|
||||
set(FFmpeg_INCLUDE_DIR ${FFmpeg_INCLUDE_DIR} ${FFmpeg_INCLUDE_${COMPONENT}} CACHE PATH "Path to FFmpeg headers" FORCE)
|
||||
endforeach()
|
||||
else()
|
||||
message(WARNING "FFmpeg not found, falling back to externals")
|
||||
message(WARNING "FFmpeg not found or too old, falling back to externals")
|
||||
set(YUZU_USE_BUNDLED_FFMPEG ON)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (YUZU_USE_BUNDLED_FFMPEG)
|
||||
if (NOT WIN32)
|
||||
# Build FFmpeg from externals
|
||||
message(STATUS "Using FFmpeg from externals")
|
||||
|
||||
# FFmpeg has source that requires one of nasm or yasm to assemble it.
|
||||
# REQUIRED throws an error if not found here during configuration rather than during compilation.
|
||||
find_program(ASSEMBLER NAMES nasm yasm)
|
||||
if ("${ASSEMBLER}" STREQUAL "ASSEMBLER-NOTFOUND")
|
||||
message(FATAL_ERROR "One of either `nasm` or `yasm` not found but is required.")
|
||||
endif()
|
||||
|
||||
find_program(AUTOCONF autoconf)
|
||||
if ("${AUTOCONF}" STREQUAL "AUTOCONF-NOTFOUND")
|
||||
message(FATAL_ERROR "Required program `autoconf` not found.")
|
||||
endif()
|
||||
|
||||
set(FFmpeg_PREFIX ${PROJECT_SOURCE_DIR}/externals/ffmpeg)
|
||||
set(FFmpeg_BUILD_DIR ${PROJECT_BINARY_DIR}/externals/ffmpeg)
|
||||
set(FFmpeg_MAKEFILE ${FFmpeg_BUILD_DIR}/Makefile)
|
||||
make_directory(${FFmpeg_BUILD_DIR})
|
||||
|
||||
# Read version string from external
|
||||
file(READ ${FFmpeg_PREFIX}/RELEASE FFmpeg_VERSION)
|
||||
set(FFmpeg_FOUND NO)
|
||||
if (NOT FFmpeg_VERSION STREQUAL "")
|
||||
set(FFmpeg_FOUND YES)
|
||||
endif()
|
||||
|
||||
unset(FFmpeg_LIBRARIES CACHE)
|
||||
foreach(COMPONENT ${FFmpeg_COMPONENTS})
|
||||
set(FFmpeg_${COMPONENT}_PREFIX "${FFmpeg_BUILD_DIR}/lib${COMPONENT}")
|
||||
set(FFmpeg_${COMPONENT}_LIB_NAME "lib${COMPONENT}.a")
|
||||
set(FFmpeg_${COMPONENT}_LIBRARY "${FFmpeg_${COMPONENT}_PREFIX}/${FFmpeg_${COMPONENT}_LIB_NAME}")
|
||||
|
||||
set(FFmpeg_LIBRARIES
|
||||
${FFmpeg_LIBRARIES}
|
||||
${FFmpeg_${COMPONENT}_LIBRARY}
|
||||
CACHE PATH "Paths to FFmpeg libraries" FORCE)
|
||||
endforeach()
|
||||
|
||||
set(FFmpeg_INCLUDE_DIR
|
||||
"${FFmpeg_PREFIX};${FFmpeg_BUILD_DIR}"
|
||||
CACHE PATH "Path to FFmpeg headers" FORCE)
|
||||
|
||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
Include(FindPkgConfig REQUIRED)
|
||||
pkg_check_modules(LIBVA libva)
|
||||
endif()
|
||||
if(LIBVA_FOUND)
|
||||
pkg_check_modules(LIBDRM libdrm REQUIRED)
|
||||
find_package(X11 REQUIRED)
|
||||
pkg_check_modules(LIBVA-DRM libva-drm REQUIRED)
|
||||
pkg_check_modules(LIBVA-X11 libva-x11 REQUIRED)
|
||||
set(FFmpeg_LIBVA_LIBRARIES
|
||||
${LIBDRM_LIBRARIES}
|
||||
${X11_LIBRARIES}
|
||||
${LIBVA-DRM_LIBRARIES}
|
||||
${LIBVA-X11_LIBRARIES}
|
||||
${LIBVA_LIBRARIES})
|
||||
set(FFmpeg_HWACCEL_FLAGS
|
||||
--enable-hwaccel=h264_vaapi
|
||||
--enable-hwaccel=vp9_vaapi
|
||||
--enable-libdrm)
|
||||
message(STATUS "VA-API found")
|
||||
else()
|
||||
set(FFmpeg_HWACCEL_FLAGS --disable-vaapi)
|
||||
endif()
|
||||
|
||||
# `configure` parameters builds only exactly what yuzu needs from FFmpeg
|
||||
# `--disable-vdpau` is needed to avoid linking issues
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${FFmpeg_MAKEFILE}
|
||||
COMMAND
|
||||
/bin/bash ${FFmpeg_PREFIX}/configure
|
||||
--disable-avdevice
|
||||
--disable-avfilter
|
||||
--disable-avformat
|
||||
--disable-doc
|
||||
--disable-everything
|
||||
--disable-ffmpeg
|
||||
--disable-ffprobe
|
||||
--disable-network
|
||||
--disable-postproc
|
||||
--disable-swresample
|
||||
--disable-vdpau
|
||||
--enable-decoder=h264
|
||||
--enable-decoder=vp9
|
||||
--cc="${CMAKE_C_COMPILER}"
|
||||
--cxx="${CMAKE_CXX_COMPILER}"
|
||||
${FFmpeg_HWACCEL_FLAGS}
|
||||
WORKING_DIRECTORY
|
||||
${FFmpeg_BUILD_DIR}
|
||||
)
|
||||
unset(FFmpeg_HWACCEL_FLAGS)
|
||||
|
||||
# Workaround for Ubuntu 18.04's older version of make not being able to call make as a child
|
||||
# with context of the jobserver. Also helps ninja users.
|
||||
execute_process(
|
||||
COMMAND
|
||||
nproc
|
||||
OUTPUT_VARIABLE
|
||||
SYSTEM_THREADS)
|
||||
|
||||
set(FFmpeg_BUILD_LIBRARIES ${FFmpeg_LIBRARIES})
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${FFmpeg_BUILD_LIBRARIES}
|
||||
COMMAND
|
||||
make -j${SYSTEM_THREADS}
|
||||
WORKING_DIRECTORY
|
||||
${FFmpeg_BUILD_DIR}
|
||||
)
|
||||
|
||||
# ALL makes this custom target build every time
|
||||
# but it won't actually build if the DEPENDS parameter is up to date
|
||||
add_custom_target(ffmpeg-configure ALL DEPENDS ${FFmpeg_MAKEFILE})
|
||||
add_custom_target(ffmpeg-build ALL DEPENDS ${FFmpeg_BUILD_LIBRARIES} ffmpeg-configure)
|
||||
link_libraries(${FFmpeg_LIBVA_LIBRARIES})
|
||||
set(FFmpeg_LIBRARIES ${FFmpeg_LIBVA_LIBRARIES} ${FFmpeg_BUILD_LIBRARIES}
|
||||
CACHE PATH "Paths to FFmpeg libraries" FORCE)
|
||||
unset(FFmpeg_BUILD_LIBRARIES)
|
||||
unset(FFmpeg_LIBVA_LIBRARIES)
|
||||
|
||||
if (FFmpeg_FOUND)
|
||||
message(STATUS "Found FFmpeg version ${FFmpeg_VERSION}")
|
||||
else()
|
||||
message(FATAL_ERROR "FFmpeg not found")
|
||||
endif()
|
||||
else() # WIN32
|
||||
# Use yuzu FFmpeg binaries
|
||||
set(FFmpeg_EXT_NAME "ffmpeg-4.3.1")
|
||||
set(FFmpeg_PATH "${CMAKE_BINARY_DIR}/externals/${FFmpeg_EXT_NAME}")
|
||||
download_bundled_external("ffmpeg/" ${FFmpeg_EXT_NAME} "")
|
||||
set(FFmpeg_FOUND YES)
|
||||
set(FFmpeg_INCLUDE_DIR "${FFmpeg_PATH}/include" CACHE PATH "Path to FFmpeg headers" FORCE)
|
||||
set(FFmpeg_LIBRARY_DIR "${FFmpeg_PATH}/bin" CACHE PATH "Path to FFmpeg library directory" FORCE)
|
||||
set(FFmpeg_DLL_DIR "${FFmpeg_PATH}/bin" CACHE PATH "Path to FFmpeg dll's" FORCE)
|
||||
set(FFmpeg_LIBRARIES
|
||||
${FFmpeg_LIBRARY_DIR}/swscale.lib
|
||||
${FFmpeg_LIBRARY_DIR}/avcodec.lib
|
||||
${FFmpeg_LIBRARY_DIR}/avutil.lib
|
||||
CACHE PATH "Paths to FFmpeg libraries" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
unset(FFmpeg_COMPONENTS)
|
||||
|
||||
# Prefer the -pthread flag on Linux.
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
find_package(Threads REQUIRED)
|
||||
@@ -714,7 +442,7 @@ endif()
|
||||
# against all the src files. This should be used before making a pull request.
|
||||
# =======================================================================
|
||||
|
||||
set(CLANG_FORMAT_POSTFIX "-10")
|
||||
set(CLANG_FORMAT_POSTFIX "-12")
|
||||
find_program(CLANG_FORMAT
|
||||
NAMES clang-format${CLANG_FORMAT_POSTFIX}
|
||||
clang-format
|
||||
@@ -785,6 +513,14 @@ add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY
|
||||
-DBOOST_DATE_TIME_NO_LIB
|
||||
-DBOOST_REGEX_NO_LIB
|
||||
)
|
||||
# Adjustments for MSVC + Ninja
|
||||
if (MSVC AND CMAKE_GENERATOR STREQUAL "Ninja")
|
||||
add_compile_options(
|
||||
/wd4711 # function 'function' selected for automatic inline expansion
|
||||
/wd4464 # relative include path contains '..'
|
||||
/wd4820 # 'identifier1': '4' bytes padding added after data member 'identifier2'
|
||||
)
|
||||
endif()
|
||||
|
||||
enable_testing()
|
||||
add_subdirectory(externals)
|
||||
@@ -802,14 +538,18 @@ endif()
|
||||
# =========================
|
||||
|
||||
# Install freedesktop.org metadata files, following those specifications:
|
||||
# http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
|
||||
# http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
|
||||
# http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html
|
||||
# https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
|
||||
# https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
|
||||
# https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html
|
||||
# https://www.freedesktop.org/software/appstream/docs/
|
||||
if(ENABLE_QT AND UNIX AND NOT APPLE)
|
||||
install(FILES "${PROJECT_SOURCE_DIR}/dist/yuzu.desktop"
|
||||
DESTINATION "${CMAKE_INSTALL_PREFIX}/share/applications")
|
||||
install(FILES "${PROJECT_SOURCE_DIR}/dist/yuzu.svg"
|
||||
DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps")
|
||||
install(FILES "${PROJECT_SOURCE_DIR}/dist/yuzu.xml"
|
||||
DESTINATION "${CMAKE_INSTALL_PREFIX}/share/mime/packages")
|
||||
install(FILES "dist/org.yuzu_emu.yuzu.desktop"
|
||||
DESTINATION "share/applications")
|
||||
install(FILES "dist/yuzu.svg"
|
||||
DESTINATION "share/icons/hicolor/scalable/apps"
|
||||
RENAME "org.yuzu_emu.yuzu.svg")
|
||||
install(FILES "dist/org.yuzu_emu.yuzu.xml"
|
||||
DESTINATION "share/mime/packages")
|
||||
install(FILES "dist/org.yuzu_emu.yuzu.metainfo.xml"
|
||||
DESTINATION "share/metainfo")
|
||||
endif()
|
||||
|
||||
@@ -2,5 +2,6 @@ function(copy_yuzu_FFmpeg_deps target_dir)
|
||||
include(WindowsCopyFiles)
|
||||
set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/")
|
||||
file(READ "${FFmpeg_PATH}/requirements.txt" FFmpeg_REQUIRED_DLLS)
|
||||
string(STRIP "${FFmpeg_REQUIRED_DLLS}" FFmpeg_REQUIRED_DLLS)
|
||||
windows_copy_files(${target_dir} ${FFmpeg_DLL_DIR} ${DLL_DEST} ${FFmpeg_REQUIRED_DLLS})
|
||||
endfunction(copy_yuzu_FFmpeg_deps)
|
||||
|
||||
@@ -19,9 +19,6 @@ function(copy_yuzu_Qt5_deps target_dir)
|
||||
set(IMAGEFORMATS ${DLL_DEST}plugins/imageformats/)
|
||||
if (MSVC)
|
||||
windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST}
|
||||
icudt*.dll
|
||||
icuin*.dll
|
||||
icuuc*.dll
|
||||
Qt5Core$<$<CONFIG:Debug>:d>.*
|
||||
Qt5Gui$<$<CONFIG:Debug>:d>.*
|
||||
Qt5Widgets$<$<CONFIG:Debug>:d>.*
|
||||
@@ -33,21 +30,21 @@ function(copy_yuzu_Qt5_deps target_dir)
|
||||
Qt5Positioning$<$<CONFIG:Debug>:d>.*
|
||||
Qt5PrintSupport$<$<CONFIG:Debug>:d>.*
|
||||
Qt5Qml$<$<CONFIG:Debug>:d>.*
|
||||
Qt5QmlModels$<$<CONFIG:Debug>:d>.*
|
||||
Qt5Quick$<$<CONFIG:Debug>:d>.*
|
||||
Qt5QuickWidgets$<$<CONFIG:Debug>:d>.*
|
||||
Qt5WebChannel$<$<CONFIG:Debug>:d>.*
|
||||
Qt5WebEngine$<$<CONFIG:Debug>:d>.*
|
||||
Qt5WebEngineCore$<$<CONFIG:Debug>:d>.*
|
||||
Qt5WebEngineWidgets$<$<CONFIG:Debug>:d>.*
|
||||
QtWebEngineProcess$<$<CONFIG:Debug>:d>.*
|
||||
)
|
||||
|
||||
windows_copy_files(${target_dir} ${Qt5_RESOURCES_DIR} ${DLL_DEST}
|
||||
qtwebengine_resources.pak
|
||||
icudtl.dat
|
||||
qtwebengine_devtools_resources.pak
|
||||
qtwebengine_resources.pak
|
||||
qtwebengine_resources_100p.pak
|
||||
qtwebengine_resources_200p.pak
|
||||
icudtl.dat
|
||||
)
|
||||
endif ()
|
||||
windows_copy_files(yuzu ${Qt5_PLATFORMS_DIR} ${PLATFORMS} qwindows$<$<CONFIG:Debug>:d>.*)
|
||||
@@ -55,7 +52,7 @@ function(copy_yuzu_Qt5_deps target_dir)
|
||||
windows_copy_files(yuzu ${Qt5_IMAGEFORMATS_DIR} ${IMAGEFORMATS}
|
||||
qjpeg$<$<CONFIG:Debug>:d>.*
|
||||
qgif$<$<CONFIG:Debug>:d>.*
|
||||
)
|
||||
)
|
||||
else()
|
||||
set(Qt5_DLLS
|
||||
"${Qt5_DLL_DIR}libQt5Core.so.5"
|
||||
|
||||
@@ -11,9 +11,15 @@ find_package(Git QUIET PATHS "${GIT_EXECUTABLE}")
|
||||
|
||||
# generate git/build information
|
||||
include(GetGitRevisionDescription)
|
||||
get_git_head_revision(GIT_REF_SPEC GIT_REV)
|
||||
git_describe(GIT_DESC --always --long --dirty)
|
||||
git_branch_name(GIT_BRANCH)
|
||||
if(NOT GIT_REF_SPEC)
|
||||
get_git_head_revision(GIT_REF_SPEC GIT_REV)
|
||||
endif()
|
||||
if(NOT GIT_DESC)
|
||||
git_describe(GIT_DESC --always --long --dirty)
|
||||
endif()
|
||||
if (NOT GIT_BRANCH)
|
||||
git_branch_name(GIT_BRANCH)
|
||||
endif()
|
||||
get_timestamp(BUILD_DATE)
|
||||
|
||||
# Generate cpp with Git revision from template
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
# buildcache wrapper
|
||||
OPTION(USE_CCACHE "Use buildcache for compilation" OFF)
|
||||
IF(USE_CCACHE)
|
||||
FIND_PROGRAM(CCACHE buildcache)
|
||||
IF (CCACHE)
|
||||
MESSAGE(STATUS "Using buildcache found in PATH")
|
||||
SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ${CCACHE})
|
||||
SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_LINK ${CCACHE})
|
||||
ELSE(CCACHE)
|
||||
MESSAGE(WARNING "USE_CCACHE enabled, but no buildcache executable found")
|
||||
ENDIF(CCACHE)
|
||||
ENDIF(USE_CCACHE)
|
||||
@@ -0,0 +1,55 @@
|
||||
set(MINGW_PREFIX /usr/x86_64-w64-mingw32/)
|
||||
set(CMAKE_SYSTEM_NAME Windows)
|
||||
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${MINGW_PREFIX})
|
||||
set(SDL2_PATH ${MINGW_PREFIX})
|
||||
set(MINGW_TOOL_PREFIX ${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32-)
|
||||
|
||||
# Specify the cross compiler
|
||||
set(CMAKE_C_COMPILER ${MINGW_TOOL_PREFIX}clang)
|
||||
set(CMAKE_CXX_COMPILER ${MINGW_TOOL_PREFIX}clang++)
|
||||
set(CMAKE_RC_COMPILER ${MINGW_TOOL_PREFIX}windres)
|
||||
set(CMAKE_C_COMPILER_AR ${MINGW_TOOL_PREFIX}ar)
|
||||
set(CMAKE_CXX_COMPILER_AR ${MINGW_TOOL_PREFIX}ar)
|
||||
set(CMAKE_C_COMPILER_RANLIB ${MINGW_TOOL_PREFIX}ranlib)
|
||||
set(CMAKE_CXX_COMPILER_RANLIB ${MINGW_TOOL_PREFIX}ranlib)
|
||||
|
||||
# Mingw tools
|
||||
set(STRIP ${MINGW_TOOL_PREFIX}strip)
|
||||
set(WINDRES ${MINGW_TOOL_PREFIX}windres)
|
||||
set(ENV{PKG_CONFIG} ${MINGW_TOOL_PREFIX}pkg-config)
|
||||
|
||||
# ccache wrapper
|
||||
option(USE_CCACHE "Use ccache for compilation" OFF)
|
||||
if(USE_CCACHE)
|
||||
find_program(CCACHE ccache)
|
||||
if(CCACHE)
|
||||
message(STATUS "Using ccache found in PATH")
|
||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ${CCACHE})
|
||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ${CCACHE})
|
||||
else(CCACHE)
|
||||
message(WARNING "USE_CCACHE enabled, but no ccache found")
|
||||
endif(CCACHE)
|
||||
endif(USE_CCACHE)
|
||||
|
||||
# Search for programs in the build host directories
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
|
||||
|
||||
# Echo modified cmake vars to screen for debugging purposes
|
||||
if(NOT DEFINED ENV{MINGW_DEBUG_INFO})
|
||||
message("")
|
||||
message("Custom cmake vars: (blank = system default)")
|
||||
message("-----------------------------------------")
|
||||
message("* CMAKE_C_COMPILER : ${CMAKE_C_COMPILER}")
|
||||
message("* CMAKE_CXX_COMPILER : ${CMAKE_CXX_COMPILER}")
|
||||
message("* CMAKE_RC_COMPILER : ${CMAKE_RC_COMPILER}")
|
||||
message("* WINDRES : ${WINDRES}")
|
||||
message("* ENV{PKG_CONFIG} : $ENV{PKG_CONFIG}")
|
||||
message("* STRIP : ${STRIP}")
|
||||
message("* USE_CCACHE : ${USE_CCACHE}")
|
||||
message("")
|
||||
# So that the debug info only appears once
|
||||
set(ENV{MINGW_DEBUG_INFO} SHOWN)
|
||||
endif()
|
||||
@@ -17,7 +17,7 @@ It is written in C++ with portability in mind, and we actively maintain builds f
|
||||
alt="Azure Mainline CI Build Status">
|
||||
</a>
|
||||
<a href="https://discord.com/invite/u77vRWY">
|
||||
<img src="https://img.shields.io/discord/398318088170242053?color=%237289DA&label=yuzu&logo=discord&logoColor=white"
|
||||
<img src="https://img.shields.io/discord/398318088170242053?color=5865F2&label=yuzu&logo=discord&logoColor=white"
|
||||
alt="Discord">
|
||||
</a>
|
||||
</p>
|
||||
@@ -77,6 +77,6 @@ If you wish to support us a different way, please join our [Discord](https://dis
|
||||
|
||||
## License
|
||||
|
||||
yuzu is licensed under the GPLv2 (or any later version). Refer to the [license.txt](https://github.com/yuzu-emu/yuzu/blob/master/license.txt) file.
|
||||
yuzu is licensed under the GPLv3 (or any later version). Refer to the [license.txt](https://github.com/yuzu-emu/yuzu/blob/master/license.txt) file.
|
||||
|
||||
The [Skyline-Emulator Team](https://github.com/skyline-emu/skyline) is exempt from GPLv2 for the contributions from all these contributors [FernandoS27](https://github.com/FernandoS27), [lioncash](https://github.com/lioncash), [bunnei](https://github.com/bunnei), [ReinUsesLisp](https://github.com/ReinUsesLisp), [Morph1984](https://github.com/Morph1984), [ogniK5377](https://github.com/ogniK5377), [german77](https://github.com/german77), [ameerj](https://github.com/ameerj), [Kelebek1](https://github.com/Kelebek1) and [lat9nq](https://github.com/lat9nq). They may only use the code from these contributors under Mozilla Public License, version 2.0.
|
||||
The [Skyline-Emulator Team](https://github.com/skyline-emu/skyline) may choose to use the code from these contributors under the GPL-3.0-or-later OR MPL-2.0: [FernandoS27](https://github.com/FernandoS27), [lioncash](https://github.com/lioncash), [bunnei](https://github.com/bunnei), [ReinUsesLisp](https://github.com/ReinUsesLisp), [Morph1984](https://github.com/Morph1984), [ogniK5377](https://github.com/ogniK5377), [german77](https://github.com/german77), [ameerj](https://github.com/ameerj), [Kelebek1](https://github.com/Kelebek1) and [lat9nq](https://github.com/lat9nq)
|
||||
|
||||
Vendored
+6602
File diff suppressed because it is too large
Load Diff
Vendored
+6582
File diff suppressed because it is too large
Load Diff
Vendored
+6554
File diff suppressed because it is too large
Load Diff
Vendored
+3269
-1442
File diff suppressed because it is too large
Load Diff
Vendored
+6559
File diff suppressed because it is too large
Load Diff
Vendored
+3614
-1760
File diff suppressed because it is too large
Load Diff
Vendored
+6235
File diff suppressed because it is too large
Load Diff
Vendored
+3678
-1825
File diff suppressed because it is too large
Load Diff
Vendored
+6533
File diff suppressed because it is too large
Load Diff
Vendored
+3501
-1645
File diff suppressed because it is too large
Load Diff
Vendored
+3510
-1678
File diff suppressed because it is too large
Load Diff
Vendored
+6604
File diff suppressed because it is too large
Load Diff
Vendored
+6577
File diff suppressed because it is too large
Load Diff
Vendored
+3631
-1796
File diff suppressed because it is too large
Load Diff
Vendored
+3532
-1658
File diff suppressed because it is too large
Load Diff
Vendored
+3301
-1447
File diff suppressed because it is too large
Load Diff
Vendored
+3673
-1806
File diff suppressed because it is too large
Load Diff
Vendored
+3819
-1925
File diff suppressed because it is too large
Load Diff
Vendored
+6555
File diff suppressed because it is too large
Load Diff
Vendored
+6588
File diff suppressed because it is too large
Load Diff
Vendored
+6545
File diff suppressed because it is too large
Load Diff
Vendored
+6543
File diff suppressed because it is too large
Load Diff
Vendored
+3305
-1456
File diff suppressed because it is too large
Load Diff
Vendored
+6596
File diff suppressed because it is too large
Load Diff
+3
-3
@@ -4,9 +4,9 @@ Type=Application
|
||||
Name=yuzu
|
||||
GenericName=Switch Emulator
|
||||
Comment=Nintendo Switch video game console emulator
|
||||
Icon=yuzu
|
||||
Icon=org.yuzu_emu.yuzu
|
||||
TryExec=yuzu
|
||||
Exec=yuzu %f
|
||||
Categories=Game;Emulator;Qt;
|
||||
MimeType=application/x-nx-nro;application/x-nx-nso;
|
||||
Keywords=Switch;Nintendo;
|
||||
MimeType=application/x-nx-nro;application/x-nx-nso;application/x-nx-nsp;application/x-nx-xci;
|
||||
Keywords=Nintendo;Switch;
|
||||
Vendored
+56
@@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop-application">
|
||||
<id>org.yuzu_emu.yuzu</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<name>yuzu</name>
|
||||
<summary>Nintendo Switch emulator</summary>
|
||||
<description>
|
||||
<p>yuzu is the world's most popular, open-source, Nintendo Switch emulator — started by the creators of Citra.</p>
|
||||
<p>The emulator is capable of running most commercial games at full speed, provided you meet the necessary hardware requirements.</p>
|
||||
<p>For a full list of games yuzu support, please visit our Compatibility page.</p>
|
||||
<p>Check out our website for the latest news on exciting features, monthly progress reports, and more!</p>
|
||||
</description>
|
||||
<categories>
|
||||
<category>Game</category>
|
||||
<category>Emulator</category>
|
||||
</categories>
|
||||
<keywords>
|
||||
<keyword>switch</keyword>
|
||||
<keyword>emulator</keyword>
|
||||
</keywords>
|
||||
<url type="homepage">https://yuzu-emu.org/</url>
|
||||
<url type="bugtracker">https://github.com/yuzu-emu/yuzu/issues</url>
|
||||
<url type="faq">https://yuzu-emu.org/wiki/faq/</url>
|
||||
<url type="help">https://yuzu-emu.org/wiki/home/</url>
|
||||
<url type="donation">https://yuzu-emu.org/donate/</url>
|
||||
<url type="translate">https://www.transifex.com/projects/p/yuzu</url>
|
||||
<url type="contact">https://community.citra-emu.org/</url>
|
||||
<url type="vcs-browser">https://github.com/yuzu-emu/yuzu</url>
|
||||
<url type="contribute">https://yuzu-emu.org/wiki/contributing/</url>
|
||||
<launchable type="desktop-id">org.yuzu_emu.yuzu.desktop</launchable>
|
||||
<provides>
|
||||
<binary>yuzu</binary>
|
||||
<binary>yuzu-cmd</binary>
|
||||
</provides>
|
||||
<supports>
|
||||
<control>pointing</control>
|
||||
<control>keyboard</control>
|
||||
<control>gamepad</control>
|
||||
</supports>
|
||||
<requires>
|
||||
<memory>8192</memory>
|
||||
</requires>
|
||||
<recommends>
|
||||
<memory>16384</memory>
|
||||
</recommends>
|
||||
<project_license>GPL-3.0-or-later</project_license>
|
||||
<developer_name>yuzu Emulator Team</developer_name>
|
||||
<content_rating type="oars-1.0"/>
|
||||
<screenshots>
|
||||
<screenshot type="default">https://raw.githubusercontent.com/yuzu-emu/yuzu-emu.github.io/master/images/screenshots/001-Super%20Mario%20Odyssey%20.png</screenshot>
|
||||
<screenshot>https://raw.githubusercontent.com/yuzu-emu/yuzu-emu.github.io/master/images/screenshots/004-The%20Legend%20of%20Zelda%20Skyward%20Sword%20HD.png</screenshot>
|
||||
<screenshot>https://raw.githubusercontent.com/yuzu-emu/yuzu-emu.github.io/master/images/screenshots/007-Pokemon%20Sword.png</screenshot>
|
||||
<screenshot>https://raw.githubusercontent.com/yuzu-emu/yuzu-emu.github.io/master/images/screenshots/010-Hyrule%20Warriors%20Age%20of%20Calamity.png</screenshot>
|
||||
<screenshot>https://raw.githubusercontent.com/yuzu-emu/yuzu-emu.github.io/master/images/screenshots/039-Pok%C3%A9mon%20Mystery%20Dungeon%20Rescue%20Team%20DX.png.png.png</screenshot>
|
||||
</screenshots>
|
||||
</component>
|
||||
+18
-3
@@ -3,7 +3,7 @@
|
||||
<mime-type type="application/x-nx-nro">
|
||||
<comment>Nintendo Switch homebrew executable</comment>
|
||||
<acronym>NRO</acronym>
|
||||
<icon name="yuzu"/>
|
||||
<icon name="org.yuzu_emu.yuzu"/>
|
||||
<glob pattern="*.nro"/>
|
||||
<magic><match value="NRO" type="string" offset="16"/></magic>
|
||||
</mime-type>
|
||||
@@ -11,8 +11,23 @@
|
||||
<mime-type type="application/x-nx-nso">
|
||||
<comment>Nintendo Switch homebrew executable</comment>
|
||||
<acronym>NSO</acronym>
|
||||
<icon name="yuzu"/>
|
||||
<icon name="org.yuzu_emu.yuzu"/>
|
||||
<glob pattern="*.nso"/>
|
||||
<magic><match value="NSO" type="string" offset="0"/></magic>
|
||||
</mime-type>
|
||||
</mime-info>
|
||||
|
||||
<mime-type type="application/x-nx-nsp">
|
||||
<comment>Nintendo Switch Package</comment>
|
||||
<acronym>NSP</acronym>
|
||||
<icon name="org.yuzu_emu.yuzu"/>
|
||||
<glob pattern="*.nsp"/>
|
||||
<magic><match value="PFS" type="string" offset="0"/></magic>
|
||||
</mime-type>
|
||||
|
||||
<mime-type type="application/x-nx-xci">
|
||||
<comment>Nintendo Switch Card Image</comment>
|
||||
<acronym>XCI</acronym>
|
||||
<icon name="org.yuzu_emu.yuzu"/>
|
||||
<glob pattern="*.xci"/>
|
||||
</mime-type>
|
||||
</mime-info>
|
||||
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 6.6 KiB |
Vendored
+13
@@ -58,6 +58,19 @@ QPushButton#GPUStatusBarButton:!checked {
|
||||
color: #109010;
|
||||
}
|
||||
|
||||
QPushButton#DockingStatusBarButton {
|
||||
min-width: 0px;
|
||||
color: #000000;
|
||||
border: 1px solid transparent;
|
||||
background-color: transparent;
|
||||
padding: 0px 3px 0px 3px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
QPushButton#DockingStatusBarButton:hover {
|
||||
border: 1px solid #76797C;
|
||||
}
|
||||
|
||||
QPushButton#buttonRefreshDevices {
|
||||
min-width: 21px;
|
||||
min-height: 21px;
|
||||
|
||||
Vendored
+13
@@ -1304,6 +1304,19 @@ QPushButton#GPUStatusBarButton:!checked {
|
||||
color: #40dd40;
|
||||
}
|
||||
|
||||
QPushButton#DockingStatusBarButton {
|
||||
min-width: 0px;
|
||||
color: #ffffff;
|
||||
border: 1px solid transparent;
|
||||
background-color: transparent;
|
||||
padding: 0px 3px 0px 3px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
QPushButton#DockingStatusBarButton:hover {
|
||||
border: 1px solid #76797C;
|
||||
}
|
||||
|
||||
QPushButton#buttonRefreshDevices {
|
||||
min-width: 23px;
|
||||
min-height: 23px;
|
||||
|
||||
@@ -2207,6 +2207,19 @@ QPushButton#GPUStatusBarButton:!checked {
|
||||
color: #40dd40;
|
||||
}
|
||||
|
||||
QPushButton#DockingStatusBarButton {
|
||||
min-width: 0px;
|
||||
color: #ffffff;
|
||||
border: 1px solid transparent;
|
||||
background-color: transparent;
|
||||
padding: 0px 3px 0px 3px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
QPushButton#DockingStatusBarButton:hover {
|
||||
border: 1px solid #76797C;
|
||||
}
|
||||
|
||||
QPushButton#buttonRefreshDevices {
|
||||
min-width: 19px;
|
||||
min-height: 19px;
|
||||
|
||||
Vendored
+20
-23
@@ -13,10 +13,6 @@ if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64)
|
||||
target_compile_definitions(xbyak INTERFACE XBYAK_NO_OP_NAMES)
|
||||
endif()
|
||||
|
||||
# Catch
|
||||
add_library(catch-single-include INTERFACE)
|
||||
target_include_directories(catch-single-include INTERFACE catch/single_include)
|
||||
|
||||
# Dynarmic
|
||||
if (ARCHITECTURE_x86_64)
|
||||
set(DYNARMIC_TESTS OFF)
|
||||
@@ -44,9 +40,10 @@ target_include_directories(mbedtls PUBLIC ./mbedtls/include)
|
||||
add_library(microprofile INTERFACE)
|
||||
target_include_directories(microprofile INTERFACE ./microprofile)
|
||||
|
||||
# Unicorn
|
||||
add_library(unicorn-headers INTERFACE)
|
||||
target_include_directories(unicorn-headers INTERFACE ./unicorn/include)
|
||||
# GCC bugs
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "12" AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND MINGW)
|
||||
target_compile_options(microprofile INTERFACE "-Wno-array-bounds")
|
||||
endif()
|
||||
|
||||
# libusb
|
||||
if (NOT LIBUSB_FOUND OR YUZU_USE_BUNDLED_LIBUSB)
|
||||
@@ -56,11 +53,12 @@ endif()
|
||||
# SDL2
|
||||
if (YUZU_USE_EXTERNAL_SDL2)
|
||||
if (NOT WIN32)
|
||||
# Yuzu itself needs: Events Joystick Haptic Sensor Timers Audio
|
||||
# Yuzu itself needs: Atomic Audio Events Joystick Haptic Sensor Threads Timers
|
||||
# Since 2.0.18 Atomic+Threads required for HIDAPI/libusb (see https://github.com/libsdl-org/SDL/issues/5095)
|
||||
# Yuzu-cmd also needs: Video (depends on Loadso/Dlopen)
|
||||
set(SDL_UNUSED_SUBSYSTEMS
|
||||
Atomic Render Power Threads
|
||||
File CPUinfo Filesystem Locale)
|
||||
CPUinfo File Filesystem
|
||||
Locale Power Render)
|
||||
foreach(_SUB ${SDL_UNUSED_SUBSYSTEMS})
|
||||
string(TOUPPER ${_SUB} _OPT)
|
||||
option(SDL_${_OPT} "" OFF)
|
||||
@@ -75,9 +73,6 @@ if (YUZU_USE_EXTERNAL_SDL2)
|
||||
add_library(SDL2 ALIAS SDL2-static)
|
||||
endif()
|
||||
|
||||
# SoundTouch
|
||||
add_subdirectory(soundtouch)
|
||||
|
||||
# Cubeb
|
||||
if(ENABLE_CUBEB)
|
||||
set(BUILD_TESTS OFF CACHE BOOL "")
|
||||
@@ -93,13 +88,6 @@ endif()
|
||||
# Sirit
|
||||
add_subdirectory(sirit)
|
||||
|
||||
# libzip
|
||||
find_package(libzip 1.5)
|
||||
if (NOT libzip_FOUND)
|
||||
message(STATUS "libzip 1.5 or newer not found, falling back to externals")
|
||||
add_subdirectory(libzip EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
|
||||
if (ENABLE_WEB_SERVICE)
|
||||
find_package(OpenSSL 1.1)
|
||||
if (OPENSSL_FOUND)
|
||||
@@ -127,8 +115,17 @@ if (ENABLE_WEB_SERVICE)
|
||||
endif()
|
||||
|
||||
# Opus
|
||||
find_package(opus 1.3)
|
||||
if (NOT opus_FOUND)
|
||||
message(STATUS "opus 1.3 or newer not found, falling back to externals")
|
||||
if (YUZU_USE_BUNDLED_OPUS)
|
||||
add_subdirectory(opus EXCLUDE_FROM_ALL)
|
||||
else()
|
||||
find_package(opus 1.3 REQUIRED)
|
||||
endif()
|
||||
|
||||
# FFMpeg
|
||||
if (YUZU_USE_BUNDLED_FFMPEG)
|
||||
add_subdirectory(ffmpeg)
|
||||
set(FFmpeg_PATH "${FFmpeg_PATH}" PARENT_SCOPE)
|
||||
set(FFmpeg_LDFLAGS "${FFmpeg_LDFLAGS}" PARENT_SCOPE)
|
||||
set(FFmpeg_LIBRARIES "${FFmpeg_LIBRARIES}" PARENT_SCOPE)
|
||||
set(FFmpeg_INCLUDE_DIR "${FFmpeg_INCLUDE_DIR}" PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
+2656
File diff suppressed because it is too large
Load Diff
+1199
File diff suppressed because it is too large
Load Diff
Vendored
+19
@@ -0,0 +1,19 @@
|
||||
Copyright (c) 2021 Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
Vendored
+1
-1
Submodule externals/SDL updated: 25f9ed87ff...b424665e08
Vendored
+1
-1
Submodule externals/Vulkan-Headers updated: 07c4a37bcf...33d4dd987f
Vendored
+1
-1
Submodule externals/cpp-httplib updated: 9648f950f5...305a7abcb9
Vendored
+1
-1
Submodule externals/cubeb updated: 1d66483ad2...75d9d125ee
Vendored
+1
-1
Submodule externals/dynarmic updated: 517e35f845...91d1f944e3
Vendored
-1
Submodule externals/ffmpeg deleted from 79e8d17024
Vendored
+219
@@ -0,0 +1,219 @@
|
||||
if (NOT WIN32)
|
||||
# Build FFmpeg from externals
|
||||
message(STATUS "Using FFmpeg from externals")
|
||||
|
||||
if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|amd64)")
|
||||
# FFmpeg has source that requires one of nasm or yasm to assemble it.
|
||||
# REQUIRED throws an error if not found here during configuration rather than during compilation.
|
||||
find_program(ASSEMBLER NAMES nasm yasm)
|
||||
if ("${ASSEMBLER}" STREQUAL "ASSEMBLER-NOTFOUND")
|
||||
message(FATAL_ERROR "One of either `nasm` or `yasm` not found but is required.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_program(AUTOCONF autoconf)
|
||||
if ("${AUTOCONF}" STREQUAL "AUTOCONF-NOTFOUND")
|
||||
message(FATAL_ERROR "Required program `autoconf` not found.")
|
||||
endif()
|
||||
|
||||
set(FFmpeg_PREFIX ${PROJECT_SOURCE_DIR}/externals/ffmpeg/ffmpeg)
|
||||
set(FFmpeg_BUILD_DIR ${PROJECT_BINARY_DIR}/externals/ffmpeg-build)
|
||||
set(FFmpeg_MAKEFILE ${FFmpeg_BUILD_DIR}/Makefile)
|
||||
make_directory(${FFmpeg_BUILD_DIR})
|
||||
|
||||
# Read version string from external
|
||||
file(READ ${FFmpeg_PREFIX}/RELEASE FFmpeg_VERSION)
|
||||
set(FFmpeg_FOUND NO)
|
||||
if (NOT FFmpeg_VERSION STREQUAL "")
|
||||
set(FFmpeg_FOUND YES)
|
||||
endif()
|
||||
|
||||
unset(FFmpeg_LIBRARIES CACHE)
|
||||
foreach(COMPONENT ${FFmpeg_COMPONENTS})
|
||||
set(FFmpeg_${COMPONENT}_PREFIX "${FFmpeg_BUILD_DIR}/lib${COMPONENT}")
|
||||
set(FFmpeg_${COMPONENT}_LIB_NAME "lib${COMPONENT}.a")
|
||||
set(FFmpeg_${COMPONENT}_LIBRARY "${FFmpeg_${COMPONENT}_PREFIX}/${FFmpeg_${COMPONENT}_LIB_NAME}")
|
||||
|
||||
set(FFmpeg_LIBRARIES
|
||||
${FFmpeg_LIBRARIES}
|
||||
${FFmpeg_${COMPONENT}_LIBRARY}
|
||||
CACHE PATH "Paths to FFmpeg libraries" FORCE)
|
||||
endforeach()
|
||||
|
||||
Include(FindPkgConfig REQUIRED)
|
||||
pkg_check_modules(LIBVA libva)
|
||||
pkg_check_modules(CUDA cuda)
|
||||
pkg_check_modules(FFNVCODEC ffnvcodec)
|
||||
pkg_check_modules(VDPAU vdpau)
|
||||
|
||||
set(FFmpeg_HWACCEL_LIBRARIES)
|
||||
set(FFmpeg_HWACCEL_FLAGS)
|
||||
set(FFmpeg_HWACCEL_INCLUDE_DIRS)
|
||||
set(FFmpeg_HWACCEL_LDFLAGS)
|
||||
|
||||
if(LIBVA_FOUND)
|
||||
pkg_check_modules(LIBDRM libdrm REQUIRED)
|
||||
find_package(X11 REQUIRED)
|
||||
pkg_check_modules(LIBVA-DRM libva-drm REQUIRED)
|
||||
pkg_check_modules(LIBVA-X11 libva-x11 REQUIRED)
|
||||
list(APPEND FFmpeg_HWACCEL_LIBRARIES
|
||||
${LIBDRM_LIBRARIES}
|
||||
${X11_LIBRARIES}
|
||||
${LIBVA-DRM_LIBRARIES}
|
||||
${LIBVA-X11_LIBRARIES}
|
||||
${LIBVA_LIBRARIES})
|
||||
set(FFmpeg_HWACCEL_FLAGS
|
||||
--enable-hwaccel=h264_vaapi
|
||||
--enable-hwaccel=vp8_vaapi
|
||||
--enable-hwaccel=vp9_vaapi
|
||||
--enable-libdrm)
|
||||
list(APPEND FFmpeg_HWACCEL_INCLUDE_DIRS
|
||||
${LIBDRM_INCLUDE_DIRS}
|
||||
${X11_INCLUDE_DIRS}
|
||||
${LIBVA-DRM_INCLUDE_DIRS}
|
||||
${LIBVA-X11_INCLUDE_DIRS}
|
||||
${LIBVA_INCLUDE_DIRS}
|
||||
)
|
||||
message(STATUS "VA-API found")
|
||||
else()
|
||||
set(FFmpeg_HWACCEL_FLAGS --disable-vaapi)
|
||||
endif()
|
||||
|
||||
if (FFNVCODEC_FOUND)
|
||||
list(APPEND FFmpeg_HWACCEL_FLAGS
|
||||
--enable-cuvid
|
||||
--enable-ffnvcodec
|
||||
--enable-nvdec
|
||||
--enable-hwaccel=h264_nvdec
|
||||
--enable-hwaccel=vp8_nvdec
|
||||
--enable-hwaccel=vp9_nvdec
|
||||
)
|
||||
list(APPEND FFmpeg_HWACCEL_LIBRARIES ${FFNVCODEC_LIBRARIES})
|
||||
list(APPEND FFmpeg_HWACCEL_INCLUDE_DIRS ${FFNVCODEC_INCLUDE_DIRS})
|
||||
list(APPEND FFmpeg_HWACCEL_LDFLAGS ${FFNVCODEC_LDFLAGS})
|
||||
message(STATUS "ffnvcodec libraries version ${FFNVCODEC_VERSION} found")
|
||||
# ffnvenc could load CUDA libraries at the runtime using dlopen/dlsym or LoadLibrary/GetProcAddress
|
||||
# here we handle the hard-linking senario where CUDA is linked during compilation
|
||||
if (CUDA_FOUND)
|
||||
# This line causes build error if CUDA_INCLUDE_DIRS is anything but a single non-empty value
|
||||
#list(APPEND FFmpeg_HWACCEL_FLAGS --extra-cflags=-I${CUDA_INCLUDE_DIRS})
|
||||
list(APPEND FFmpeg_HWACCEL_LIBRARIES ${CUDA_LIBRARIES})
|
||||
list(APPEND FFmpeg_HWACCEL_INCLUDE_DIRS ${CUDA_INCLUDE_DIRS})
|
||||
list(APPEND FFmpeg_HWACCEL_LDFLAGS ${CUDA_LDFLAGS})
|
||||
message(STATUS "CUDA libraries found, hard-linking will be performed")
|
||||
endif(CUDA_FOUND)
|
||||
endif()
|
||||
|
||||
if (VDPAU_FOUND)
|
||||
list(APPEND FFmpeg_HWACCEL_FLAGS
|
||||
--enable-vdpau
|
||||
--enable-hwaccel=h264_vdpau
|
||||
--enable-hwaccel=vp9_vdpau
|
||||
)
|
||||
list(APPEND FFmpeg_HWACCEL_LIBRARIES ${VDPAU_LIBRARIES})
|
||||
list(APPEND FFmpeg_HWACCEL_INCLUDE_DIRS ${VDPAU_INCLUDE_DIRS})
|
||||
list(APPEND FFmpeg_HWACCEL_LDFLAGS ${VDPAU_LDFLAGS})
|
||||
message(STATUS "vdpau libraries version ${VDPAU_VERSION} found")
|
||||
else()
|
||||
list(APPEND FFmpeg_HWACCEL_FLAGS --disable-vdpau)
|
||||
endif()
|
||||
|
||||
# `configure` parameters builds only exactly what yuzu needs from FFmpeg
|
||||
# `--disable-vdpau` is needed to avoid linking issues
|
||||
set(FFmpeg_CC ${CMAKE_C_COMPILER_LAUNCHER} ${CMAKE_C_COMPILER})
|
||||
set(FFmpeg_CXX ${CMAKE_CXX_COMPILER_LAUNCHER} ${CMAKE_CXX_COMPILER})
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${FFmpeg_MAKEFILE}
|
||||
COMMAND
|
||||
/bin/bash ${FFmpeg_PREFIX}/configure
|
||||
--disable-avdevice
|
||||
--disable-avfilter
|
||||
--disable-avformat
|
||||
--disable-doc
|
||||
--disable-everything
|
||||
--disable-ffmpeg
|
||||
--disable-ffprobe
|
||||
--disable-network
|
||||
--disable-postproc
|
||||
--disable-swresample
|
||||
--enable-decoder=h264
|
||||
--enable-decoder=vp8
|
||||
--enable-decoder=vp9
|
||||
--cc="${FFmpeg_CC}"
|
||||
--cxx="${FFmpeg_CXX}"
|
||||
${FFmpeg_HWACCEL_FLAGS}
|
||||
WORKING_DIRECTORY
|
||||
${FFmpeg_BUILD_DIR}
|
||||
)
|
||||
unset(FFmpeg_CC)
|
||||
unset(FFmpeg_CXX)
|
||||
unset(FFmpeg_HWACCEL_FLAGS)
|
||||
|
||||
# Workaround for Ubuntu 18.04's older version of make not being able to call make as a child
|
||||
# with context of the jobserver. Also helps ninja users.
|
||||
execute_process(
|
||||
COMMAND
|
||||
nproc
|
||||
OUTPUT_VARIABLE
|
||||
SYSTEM_THREADS)
|
||||
|
||||
set(FFmpeg_BUILD_LIBRARIES ${FFmpeg_LIBRARIES})
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${FFmpeg_BUILD_LIBRARIES}
|
||||
COMMAND
|
||||
make -j${SYSTEM_THREADS}
|
||||
WORKING_DIRECTORY
|
||||
${FFmpeg_BUILD_DIR}
|
||||
)
|
||||
|
||||
set(FFmpeg_INCLUDE_DIR
|
||||
"${FFmpeg_PREFIX};${FFmpeg_BUILD_DIR};${FFmpeg_HWACCEL_INCLUDE_DIRS}"
|
||||
CACHE PATH "Path to FFmpeg headers" FORCE)
|
||||
|
||||
set(FFmpeg_LDFLAGS
|
||||
"${FFmpeg_HWACCEL_LDFLAGS}"
|
||||
CACHE STRING "FFmpeg linker flags" FORCE)
|
||||
|
||||
# ALL makes this custom target build every time
|
||||
# but it won't actually build if the DEPENDS parameter is up to date
|
||||
add_custom_target(ffmpeg-configure ALL DEPENDS ${FFmpeg_MAKEFILE})
|
||||
add_custom_target(ffmpeg-build ALL DEPENDS ${FFmpeg_BUILD_LIBRARIES} ffmpeg-configure)
|
||||
link_libraries(${FFmpeg_LIBVA_LIBRARIES})
|
||||
set(FFmpeg_LIBRARIES ${FFmpeg_BUILD_LIBRARIES} ${FFmpeg_HWACCEL_LIBRARIES}
|
||||
CACHE PATH "Paths to FFmpeg libraries" FORCE)
|
||||
unset(FFmpeg_BUILD_LIBRARIES)
|
||||
unset(FFmpeg_HWACCEL_FLAGS)
|
||||
unset(FFmpeg_HWACCEL_INCLUDE_DIRS)
|
||||
unset(FFmpeg_HWACCEL_LDFLAGS)
|
||||
unset(FFmpeg_HWACCEL_LIBRARIES)
|
||||
|
||||
if (FFmpeg_FOUND)
|
||||
message(STATUS "Found FFmpeg version ${FFmpeg_VERSION}")
|
||||
else()
|
||||
message(FATAL_ERROR "FFmpeg not found")
|
||||
endif()
|
||||
else(WIN32)
|
||||
# Use yuzu FFmpeg binaries
|
||||
set(FFmpeg_EXT_NAME "ffmpeg-4.4")
|
||||
set(FFmpeg_PATH "${CMAKE_BINARY_DIR}/externals/${FFmpeg_EXT_NAME}")
|
||||
download_bundled_external("ffmpeg/" ${FFmpeg_EXT_NAME} "")
|
||||
set(FFmpeg_FOUND YES)
|
||||
set(FFmpeg_INCLUDE_DIR "${FFmpeg_PATH}/include" CACHE PATH "Path to FFmpeg headers" FORCE)
|
||||
set(FFmpeg_LIBRARY_DIR "${FFmpeg_PATH}/bin" CACHE PATH "Path to FFmpeg library directory" FORCE)
|
||||
set(FFmpeg_LDFLAGS "" CACHE STRING "FFmpeg linker flags" FORCE)
|
||||
set(FFmpeg_DLL_DIR "${FFmpeg_PATH}/bin" CACHE PATH "Path to FFmpeg dll's" FORCE)
|
||||
set(FFmpeg_LIBRARIES
|
||||
${FFmpeg_LIBRARY_DIR}/swscale.lib
|
||||
${FFmpeg_LIBRARY_DIR}/avcodec.lib
|
||||
${FFmpeg_LIBRARY_DIR}/avutil.lib
|
||||
CACHE PATH "Paths to FFmpeg libraries" FORCE)
|
||||
# exported variables
|
||||
set(FFmpeg_PATH "${FFmpeg_PATH}" PARENT_SCOPE)
|
||||
set(FFmpeg_LDFLAGS "${FFmpeg_LDFLAGS}" PARENT_SCOPE)
|
||||
set(FFmpeg_LIBRARIES "${FFmpeg_LIBRARIES}" PARENT_SCOPE)
|
||||
set(FFmpeg_INCLUDE_DIR "${FFmpeg_INCLUDE_DIR}" PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
unset(FFmpeg_COMPONENTS)
|
||||
+1
Submodule externals/ffmpeg/ffmpeg added at dc91b913b6
-18
@@ -1,18 +0,0 @@
|
||||
# Exports:
|
||||
# LIBUNICORN_FOUND
|
||||
# LIBUNICORN_INCLUDE_DIR
|
||||
# LIBUNICORN_LIBRARY
|
||||
|
||||
find_path(LIBUNICORN_INCLUDE_DIR
|
||||
unicorn/unicorn.h
|
||||
HINTS $ENV{UNICORNDIR}
|
||||
PATH_SUFFIXES include)
|
||||
|
||||
find_library(LIBUNICORN_LIBRARY
|
||||
NAMES unicorn
|
||||
HINTS $ENV{UNICORNDIR})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(unicorn DEFAULT_MSG
|
||||
LIBUNICORN_LIBRARY LIBUNICORN_INCLUDE_DIR)
|
||||
mark_as_advanced(LIBUNICORN_INCLUDE_DIR LIBUNICORN_LIBRARY)
|
||||
-72
@@ -1,72 +0,0 @@
|
||||
|
||||
find_package(PkgConfig QUIET)
|
||||
pkg_check_modules(PC_libzip QUIET libzip)
|
||||
|
||||
find_path(libzip_INCLUDE_DIR
|
||||
NAMES zip.h
|
||||
PATHS ${PC_libzip_INCLUDE_DIRS}
|
||||
"$ENV{LIB_DIR}/include"
|
||||
"$ENV{INCLUDE}"
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
)
|
||||
find_path(libzip_INCLUDE_DIR_ZIPCONF
|
||||
NAMES zipconf.h
|
||||
HINTS ${PC_libzip_INCLUDE_DIRS}
|
||||
"$ENV{LIB_DIR}/include"
|
||||
"$ENV{LIB_DIR}/lib/libzip/include"
|
||||
"$ENV{LIB}/lib/libzip/include"
|
||||
/usr/local/lib/libzip/include
|
||||
/usr/lib/libzip/include
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
"$ENV{INCLUDE}"
|
||||
)
|
||||
find_library(libzip_LIBRARY
|
||||
NAMES zip
|
||||
PATHS ${PC_libzip_LIBRARY_DIRS}
|
||||
"$ENV{LIB_DIR}/lib" "$ENV{LIB}" /usr/local/lib /usr/lib
|
||||
)
|
||||
|
||||
if (libzip_INCLUDE_DIR_ZIPCONF)
|
||||
FILE(READ "${libzip_INCLUDE_DIR_ZIPCONF}/zipconf.h" _libzip_VERSION_CONTENTS)
|
||||
if (_libzip_VERSION_CONTENTS)
|
||||
STRING(REGEX REPLACE ".*#define LIBZIP_VERSION \"([0-9.]+)\".*" "\\1" libzip_VERSION "${_libzip_VERSION_CONTENTS}")
|
||||
endif()
|
||||
unset(_libzip_VERSION_CONTENTS)
|
||||
endif()
|
||||
|
||||
set(libzip_VERSION ${libzip_VERSION} CACHE STRING "Version number of libzip")
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(libzip
|
||||
FOUND_VAR libzip_FOUND
|
||||
REQUIRED_VARS
|
||||
libzip_LIBRARY
|
||||
libzip_INCLUDE_DIR
|
||||
libzip_INCLUDE_DIR_ZIPCONF
|
||||
libzip_VERSION
|
||||
VERSION_VAR libzip_VERSION
|
||||
)
|
||||
|
||||
if(libzip_FOUND)
|
||||
set(libzip_LIBRARIES ${libzip_LIBRARY})
|
||||
set(libzip_INCLUDE_DIRS ${libzip_INCLUDE_DIR})
|
||||
set(libzip_DEFINITIONS ${PC_libzip_CFLAGS_OTHER})
|
||||
endif()
|
||||
|
||||
if(libzip_FOUND AND NOT TARGET libzip::libzip)
|
||||
add_library(libzip::libzip UNKNOWN IMPORTED)
|
||||
set_target_properties(libzip::libzip PROPERTIES
|
||||
IMPORTED_LOCATION "${libzip_LIBRARY}"
|
||||
INTERFACE_COMPILE_OPTIONS "${PC_libzip_CFLAGS_OTHER}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${libzip_INCLUDE_DIR}"
|
||||
)
|
||||
endif()
|
||||
|
||||
mark_as_advanced(
|
||||
libzip_INCLUDE_DIR
|
||||
libzip_INCLUDE_DIR_ZIPCONF
|
||||
libzip_LIBRARY
|
||||
libzip_VERSION
|
||||
)
|
||||
Vendored
+1
-1
Submodule externals/libressl updated: 8289d0d07d...8929f818fd
Vendored
-564
@@ -1,564 +0,0 @@
|
||||
# TODO:
|
||||
# create usable libtool .la file
|
||||
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 3.0.2)
|
||||
|
||||
LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/libzip")
|
||||
|
||||
PROJECT(libzip C)
|
||||
|
||||
OPTION(ENABLE_COMMONCRYPTO "Enable use of CommonCrypto" ON)
|
||||
OPTION(ENABLE_GNUTLS "Enable use of GnuTLS" ON)
|
||||
OPTION(ENABLE_MBEDTLS "Enable use of mbed TLS" ON)
|
||||
OPTION(ENABLE_OPENSSL "Enable use of OpenSSL" ON)
|
||||
OPTION(ENABLE_WINDOWS_CRYPTO "Enable use of Windows cryptography libraries" ON)
|
||||
|
||||
OPTION(ENABLE_BZIP2 "Enable use of BZip2" OFF)
|
||||
OPTION(ENABLE_LZMA "Enable use of LZMA" OFF)
|
||||
|
||||
INCLUDE(CheckFunctionExists)
|
||||
INCLUDE(CheckIncludeFiles)
|
||||
INCLUDE(CheckSymbolExists)
|
||||
INCLUDE(CheckTypeSize)
|
||||
INCLUDE(CheckCSourceRuns)
|
||||
INCLUDE(CheckCSourceCompiles)
|
||||
INCLUDE(CheckStructHasMember)
|
||||
INCLUDE(TestBigEndian)
|
||||
INCLUDE(GNUInstallDirs)
|
||||
IF(ENABLE_COMMONCRYPTO)
|
||||
CHECK_INCLUDE_FILES(CommonCrypto/CommonCrypto.h COMMONCRYPTO_FOUND)
|
||||
ELSE()
|
||||
SET(COMMONCRYPTO_FOUND FALSE)
|
||||
ENDIF()
|
||||
IF(ENABLE_GNUTLS)
|
||||
INCLUDE(FindNettle)
|
||||
INCLUDE(FindGnuTLS)
|
||||
ELSE()
|
||||
SET(GNUTLS_FOUND FALSE)
|
||||
ENDIF()
|
||||
IF(ENABLE_MBEDTLS)
|
||||
FIND_PATH(MBEDTLS_INCLUDE_DIR mbedtls/aes.h)
|
||||
FIND_LIBRARY(MBEDTLS_LIBRARIES NAMES mbedcrypto)
|
||||
ELSE()
|
||||
SET(MBEDTLS_LIBRARIES FALSE)
|
||||
ENDIF()
|
||||
IF(ENABLE_OPENSSL)
|
||||
INCLUDE(FindOpenSSL)
|
||||
ELSE()
|
||||
SET(OPENSSL_FOUND FALSE)
|
||||
ENDIF()
|
||||
IF(WIN32)
|
||||
IF(ENABLE_WINDOWS_CRYPTO)
|
||||
SET(WINDOWS_CRYPTO_FOUND TRUE)
|
||||
ENDIF()
|
||||
ELSE()
|
||||
SET(WINDOWS_CRYPTO_FOUND FALSE)
|
||||
ENDIF()
|
||||
|
||||
OPTION(BUILD_SHARED_LIBS "Build shared libraries" ON)
|
||||
OPTION(SHARED_LIB_VERSIONNING "Add SO version in .so build" ON)
|
||||
|
||||
SET(PACKAGE "libzip")
|
||||
SET(PACKAGE_NAME ${PACKAGE})
|
||||
SET(PACKAGE_VERSION_MAJOR "1")
|
||||
SET(PACKAGE_VERSION_MINOR "5")
|
||||
SET(PACKAGE_VERSION_MICRO "2a")
|
||||
#SET(VERSION "${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}")
|
||||
SET(VERSION "${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}.${PACKAGE_VERSION_MICRO}")
|
||||
SET(PACKAGE_VERSION ${VERSION})
|
||||
SET(LIBZIP_VERSION ${PACKAGE_VERSION})
|
||||
SET(LIBZIP_VERSION_MAJOR ${PACKAGE_VERSION_MAJOR})
|
||||
SET(LIBZIP_VERSION_MINOR ${PACKAGE_VERSION_MINOR})
|
||||
SET(LIBZIP_VERSION_MICRO ${PACKAGE_VERSION_MICRO})
|
||||
SET(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
|
||||
|
||||
SET(ARCHIVE_NAME ${PACKAGE_NAME}-${PACKAGE_VERSION})
|
||||
IF(NOT TARGET dist)
|
||||
ADD_CUSTOM_TARGET(dist
|
||||
COMMAND git config tar.tar.xz.command "xz -c"
|
||||
COMMAND git archive --prefix=${ARCHIVE_NAME}/ -o ${ARCHIVE_NAME}.tar.gz HEAD
|
||||
COMMAND git archive --prefix=${ARCHIVE_NAME}/ -o ${ARCHIVE_NAME}.tar.xz HEAD
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
)
|
||||
ADD_CUSTOM_TARGET(distcheck
|
||||
COMMAND chmod -R u+w ${ARCHIVE_NAME} ${ARCHIVE_NAME}-build ${ARCHIVE_NAME}-dest 2>/dev/null || true
|
||||
COMMAND rm -rf ${ARCHIVE_NAME} ${ARCHIVE_NAME}-build ${ARCHIVE_NAME}-dest
|
||||
COMMAND cmake -E tar xf ${ARCHIVE_NAME}.tar.gz
|
||||
COMMAND chmod -R u-w ${ARCHIVE_NAME}
|
||||
COMMAND mkdir ${ARCHIVE_NAME}-build
|
||||
COMMAND mkdir ${ARCHIVE_NAME}-dest
|
||||
COMMAND cd ${ARCHIVE_NAME}-build && cmake -DCMAKE_INSTALL_PREFIX=../${ARCHIVE_NAME}-dest ../${ARCHIVE_NAME}
|
||||
COMMAND cd ${ARCHIVE_NAME}-build && make -j4
|
||||
COMMAND cd ${ARCHIVE_NAME}-build && make test
|
||||
COMMAND cd ${ARCHIVE_NAME}-build && make install
|
||||
# COMMAND cd ${ARCHIVE_NAME}-build && make uninstall
|
||||
# COMMAND if [ `find ${ARCHIVE_NAME}-dest ! -type d | wc -l` -ne 0 ]; then echo leftover files in ${ARCHIVE_NAME}-dest; false; fi
|
||||
COMMAND cd ${ARCHIVE_NAME}-build && make clean
|
||||
COMMAND chmod -R u+w ${ARCHIVE_NAME} ${ARCHIVE_NAME}-build ${ARCHIVE_NAME}-dest
|
||||
COMMAND rm -rf ${ARCHIVE_NAME} ${ARCHIVE_NAME}-build ${ARCHIVE_NAME}-dest
|
||||
COMMAND echo "${ARCHIVE_NAME}.tar.gz is ready for distribution."
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
)
|
||||
ADD_DEPENDENCIES(distcheck dist)
|
||||
ENDIF(NOT TARGET dist)
|
||||
|
||||
IF(BUILD_SHARED_LIBS)
|
||||
SET(HAVE_SHARED TRUE)
|
||||
ELSE()
|
||||
SET(ZIP_STATIC TRUE)
|
||||
ENDIF()
|
||||
|
||||
# Checks
|
||||
|
||||
CHECK_FUNCTION_EXISTS(_chmod HAVE__CHMOD)
|
||||
CHECK_FUNCTION_EXISTS(_close HAVE__CLOSE)
|
||||
CHECK_FUNCTION_EXISTS(_dup HAVE__DUP)
|
||||
CHECK_FUNCTION_EXISTS(_fdopen HAVE__FDOPEN)
|
||||
CHECK_FUNCTION_EXISTS(_fileno HAVE__FILENO)
|
||||
CHECK_FUNCTION_EXISTS(_open HAVE__OPEN)
|
||||
CHECK_FUNCTION_EXISTS(_setmode HAVE__SETMODE)
|
||||
CHECK_FUNCTION_EXISTS(_snprintf HAVE__SNPRINTF)
|
||||
CHECK_FUNCTION_EXISTS(_strdup HAVE__STRDUP)
|
||||
CHECK_FUNCTION_EXISTS(_stricmp HAVE__STRICMP)
|
||||
CHECK_FUNCTION_EXISTS(_strtoi64 HAVE__STRTOI64)
|
||||
CHECK_FUNCTION_EXISTS(_strtoui64 HAVE__STRTOUI64)
|
||||
CHECK_FUNCTION_EXISTS(_unlink HAVE__UNLINK)
|
||||
CHECK_FUNCTION_EXISTS(arc4random HAVE_ARC4RANDOM)
|
||||
CHECK_FUNCTION_EXISTS(clonefile HAVE_CLONEFILE)
|
||||
CHECK_FUNCTION_EXISTS(explicit_bzero HAVE_EXPLICIT_BZERO)
|
||||
CHECK_FUNCTION_EXISTS(explicit_memset HAVE_EXPLICIT_MEMSET)
|
||||
CHECK_FUNCTION_EXISTS(fileno HAVE_FILENO)
|
||||
CHECK_FUNCTION_EXISTS(fseeko HAVE_FSEEKO)
|
||||
CHECK_FUNCTION_EXISTS(ftello HAVE_FTELLO)
|
||||
CHECK_FUNCTION_EXISTS(getprogname HAVE_GETPROGNAME)
|
||||
CHECK_FUNCTION_EXISTS(localtime_r HAVE_LOCALTIME_R)
|
||||
CHECK_FUNCTION_EXISTS(open HAVE_OPEN)
|
||||
CHECK_FUNCTION_EXISTS(setmode HAVE_SETMODE)
|
||||
CHECK_FUNCTION_EXISTS(snprintf HAVE_SNPRINTF)
|
||||
CHECK_FUNCTION_EXISTS(strcasecmp HAVE_STRCASECMP)
|
||||
CHECK_FUNCTION_EXISTS(strdup HAVE_STRDUP)
|
||||
CHECK_FUNCTION_EXISTS(stricmp HAVE_STRICMP)
|
||||
CHECK_FUNCTION_EXISTS(strtoll HAVE_STRTOLL)
|
||||
CHECK_FUNCTION_EXISTS(strtoull HAVE_STRTOULL)
|
||||
|
||||
CHECK_INCLUDE_FILES("sys/types.h;sys/stat.h;fts.h" HAVE_FTS_H)
|
||||
CHECK_INCLUDE_FILES(stdbool.h HAVE_STDBOOL_H)
|
||||
CHECK_INCLUDE_FILES(strings.h HAVE_STRINGS_H)
|
||||
CHECK_INCLUDE_FILES(unistd.h HAVE_UNISTD_H)
|
||||
|
||||
CHECK_INCLUDE_FILES(inttypes.h HAVE_INTTYPES_H_LIBZIP)
|
||||
CHECK_INCLUDE_FILES(stdint.h HAVE_STDINT_H_LIBZIP)
|
||||
CHECK_INCLUDE_FILES(sys/types.h HAVE_SYS_TYPES_H_LIBZIP)
|
||||
|
||||
# TODO: fix test
|
||||
# this test does not find __progname even when it exists
|
||||
#CHECK_SYMBOL_EXISTS(__progname stdlib.h HAVE___PROGNAME)
|
||||
|
||||
CHECK_TYPE_SIZE(__int8 __INT8_LIBZIP)
|
||||
CHECK_TYPE_SIZE(int8_t INT8_T_LIBZIP)
|
||||
CHECK_TYPE_SIZE(uint8_t UINT8_T_LIBZIP)
|
||||
CHECK_TYPE_SIZE(__int16 __INT16_LIBZIP)
|
||||
CHECK_TYPE_SIZE(int16_t INT16_T_LIBZIP)
|
||||
CHECK_TYPE_SIZE(uint16_t UINT16_T_LIBZIP)
|
||||
CHECK_TYPE_SIZE(__int32 __INT32_LIBZIP)
|
||||
CHECK_TYPE_SIZE(int32_t INT32_T_LIBZIP)
|
||||
CHECK_TYPE_SIZE(uint32_t UINT32_T_LIBZIP)
|
||||
CHECK_TYPE_SIZE(__int64 __INT64_LIBZIP)
|
||||
CHECK_TYPE_SIZE(int64_t INT64_T_LIBZIP)
|
||||
CHECK_TYPE_SIZE(uint64_t UINT64_T_LIBZIP)
|
||||
CHECK_TYPE_SIZE("short" SHORT_LIBZIP)
|
||||
CHECK_TYPE_SIZE("int" INT_LIBZIP)
|
||||
CHECK_TYPE_SIZE("long" LONG_LIBZIP)
|
||||
CHECK_TYPE_SIZE("long long" LONG_LONG_LIBZIP)
|
||||
CHECK_TYPE_SIZE("off_t" SIZEOF_OFF_T)
|
||||
CHECK_TYPE_SIZE("size_t" SIZE_T_LIBZIP)
|
||||
CHECK_TYPE_SIZE("ssize_t" SSIZE_T_LIBZIP)
|
||||
|
||||
CHECK_C_SOURCE_COMPILES("#include <sys/ioctl.h>
|
||||
#include <linux/fs.h>
|
||||
int main(int argc, char *argv[]) { unsigned long x = FICLONERANGE; }" HAVE_FICLONERANGE)
|
||||
|
||||
CHECK_C_SOURCE_COMPILES("
|
||||
int foo(char * _Nullable bar);
|
||||
int main(int argc, char *argv[]) { }" HAVE_NULLABLE)
|
||||
|
||||
TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
|
||||
|
||||
#FIND_PACKAGE(ZLIB 1.1.2 REQUIRED)
|
||||
INCLUDE_DIRECTORIES(../zlib/zlib)
|
||||
SET(CMAKE_REQUIRED_INCLUDES ../zlib/zlib)
|
||||
|
||||
IF(ENABLE_BZIP2)
|
||||
FIND_PACKAGE(BZip2)
|
||||
IF(BZIP2_FOUND)
|
||||
SET (HAVE_LIBBZ2 1)
|
||||
|
||||
INCLUDE_DIRECTORIES(${BZIP2_INCLUDE_DIR})
|
||||
SET (OPTIONAL_LIBRARY ${OPTIONAL_LIBRARY} ${BZIP2_LIBRARIES})
|
||||
ELSE()
|
||||
MESSAGE(WARNING "-- bzip2 library not found; bzip2 support disabled")
|
||||
ENDIF(BZIP2_FOUND)
|
||||
ENDIF(ENABLE_BZIP2)
|
||||
|
||||
IF(ENABLE_LZMA)
|
||||
FIND_PACKAGE(LibLZMA)
|
||||
IF(LIBLZMA_FOUND)
|
||||
SET (HAVE_LIBLZMA 1)
|
||||
|
||||
INCLUDE_DIRECTORIES(${LIBLZMA_INCLUDE_DIR})
|
||||
SET (OPTIONAL_LIBRARY ${OPTIONAL_LIBRARY} ${LIBLZMA_LIBRARY})
|
||||
ELSE()
|
||||
MESSAGE(WARNING "-- lzma library not found; lzma support disabled")
|
||||
ENDIF(LIBLZMA_FOUND)
|
||||
ENDIF(ENABLE_LZMA)
|
||||
|
||||
|
||||
IF (COMMONCRYPTO_FOUND)
|
||||
SET (HAVE_CRYPTO 1)
|
||||
SET (HAVE_COMMONCRYPTO 1)
|
||||
ELSEIF (WINDOWS_CRYPTO_FOUND)
|
||||
SET (HAVE_CRYPTO 1)
|
||||
SET (HAVE_WINDOWS_CRYPTO 1)
|
||||
ELSEIF (GNUTLS_FOUND AND NETTLE_FOUND)
|
||||
SET (HAVE_CRYPTO 1)
|
||||
SET (HAVE_GNUTLS 1)
|
||||
INCLUDE_DIRECTORIES(${GNUTLS_INCLUDE_DIR} ${NETTLE_INCLUDE_DIR})
|
||||
SET (OPTIONAL_LIBRARY ${OPTIONAL_LIBRARY} ${GNUTLS_LIBRARY} ${NETTLE_LIBRARY})
|
||||
ELSEIF (OPENSSL_FOUND)
|
||||
SET (HAVE_CRYPTO 1)
|
||||
SET (HAVE_OPENSSL 1)
|
||||
INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
|
||||
SET (OPTIONAL_LIBRARY ${OPTIONAL_LIBRARY} ${OPENSSL_LIBRARIES})
|
||||
ELSEIF (MBEDTLS_LIBRARIES)
|
||||
SET (HAVE_CRYPTO 1)
|
||||
SET (HAVE_MBEDTLS 1)
|
||||
INCLUDE_DIRECTORIES(${MBEDTLS_INCLUDE_DIR})
|
||||
SET (OPTIONAL_LIBRARY ${OPTIONAL_LIBRARY} ${MBEDTLS_LIBRARIES})
|
||||
ENDIF()
|
||||
|
||||
IF (NOT HAVE_CRYPTO)
|
||||
MESSAGE(WARNING "-- neither Common Crypto, GnuTLS, mbed TLS, OpenSSL, nor Windows Cryptography found; AES support disabled")
|
||||
ENDIF()
|
||||
|
||||
IF(MSVC)
|
||||
ADD_DEFINITIONS("-D_CRT_SECURE_NO_WARNINGS")
|
||||
ADD_DEFINITIONS("-D_CRT_NONSTDC_NO_DEPRECATE")
|
||||
ENDIF(MSVC)
|
||||
|
||||
if(WIN32)
|
||||
if(HAVE_WINDOWS_CRYPTO)
|
||||
SET (OPTIONAL_LIBRARY ${OPTIONAL_LIBRARY} bcrypt)
|
||||
endif()
|
||||
if(CMAKE_SYSTEM_NAME MATCHES WindowsPhone OR CMAKE_SYSTEM_NAME MATCHES WindowsStore)
|
||||
ADD_DEFINITIONS(-DMS_UWP)
|
||||
else(CMAKE_SYSTEM_NAME MATCHES WindowsPhone OR CMAKE_SYSTEM_NAME MATCHES WindowsStore)
|
||||
SET (OPTIONAL_LIBRARY ${OPTIONAL_LIBRARY} advapi32)
|
||||
endif(CMAKE_SYSTEM_NAME MATCHES WindowsPhone OR CMAKE_SYSTEM_NAME MATCHES WindowsStore)
|
||||
endif(WIN32)
|
||||
|
||||
ADD_DEFINITIONS("-DHAVE_CONFIG_H")
|
||||
|
||||
# rpath handling: use rpath in installed binaries
|
||||
IF(NOT CMAKE_SYSTEM_NAME MATCHES Linux)
|
||||
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
|
||||
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||
ENDIF()
|
||||
|
||||
# fixed size integral types
|
||||
|
||||
IF(HAVE_INTTYPES_H_LIBZIP)
|
||||
SET(LIBZIP_TYPES_INCLUDE "#define __STDC_FORMAT_MACROS 1
|
||||
#include <inttypes.h>")
|
||||
ELSEIF(HAVE_STDINT_H_LIBZIP)
|
||||
SET(LIBZIP_TYPES_INCLUDE "#include <stdint.h>")
|
||||
ELSEIF(HAVE_SYS_TYPES_H_LIBZIP)
|
||||
SET(LIBZIP_TYPES_INCLUDE "#include <sys/types.h>")
|
||||
ENDIF()
|
||||
|
||||
IF(HAVE_INT8_T_LIBZIP)
|
||||
SET(ZIP_INT8_T int8_t)
|
||||
ELSEIF(HAVE___INT8_LIBZIP)
|
||||
SET(ZIP_INT8_T __int8)
|
||||
ELSE()
|
||||
SET(ZIP_INT8_T "signed char")
|
||||
ENDIF()
|
||||
|
||||
IF(HAVE_UINT8_T_LIBZIP)
|
||||
SET(ZIP_UINT8_T uint8_t)
|
||||
ELSEIF(HAVE___INT8_LIBZIP)
|
||||
SET(ZIP_UINT8_T "unsigned __int8")
|
||||
ELSE()
|
||||
SET(ZIP_UINT8_T "unsigned char")
|
||||
ENDIF()
|
||||
|
||||
IF(HAVE_INT16_T_LIBZIP)
|
||||
SET(ZIP_INT16_T int16_t)
|
||||
ELSEIF(HAVE___INT16_LIBZIP)
|
||||
SET(INT16_T_LIBZIP __int16)
|
||||
ELSEIF(SHORT_LIBZIP EQUAL 2)
|
||||
SET(INT16_T_LIBZIP short)
|
||||
ENDIF()
|
||||
|
||||
IF(HAVE_UINT16_T_LIBZIP)
|
||||
SET(ZIP_UINT16_T uint16_t)
|
||||
ELSEIF(HAVE___INT16_LIBZIP)
|
||||
SET(UINT16_T_LIBZIP "unsigned __int16")
|
||||
ELSEIF(SHORT_LIBZIP EQUAL 2)
|
||||
SET(UINT16_T_LIBZIP "unsigned short")
|
||||
ENDIF()
|
||||
|
||||
IF(HAVE_INT32_T_LIBZIP)
|
||||
SET(ZIP_INT32_T int32_t)
|
||||
ELSEIF(HAVE___INT32_LIBZIP)
|
||||
SET(ZIP_INT32_T __int32)
|
||||
ELSEIF(INT_LIBZIP EQUAL 4)
|
||||
SET(ZIP_INT32_T int)
|
||||
ELSEIF(LONG_LIBZIP EQUAL 4)
|
||||
SET(ZIP_INT32_T long)
|
||||
ENDIF()
|
||||
|
||||
IF(HAVE_UINT32_T_LIBZIP)
|
||||
SET(ZIP_UINT32_T uint32_t)
|
||||
ELSEIF(HAVE___INT32_LIBZIP)
|
||||
SET(ZIP_UINT32_T "unsigned __int32")
|
||||
ELSEIF(INT_LIBZIP EQUAL 4)
|
||||
SET(ZIP_UINT32_T "unsigned int")
|
||||
ELSEIF(LONG_LIBZIP EQUAL 4)
|
||||
SET(ZIP_UINT32_T "unsigned long")
|
||||
ENDIF()
|
||||
|
||||
IF(HAVE_INT64_T_LIBZIP)
|
||||
SET(ZIP_INT64_T int64_t)
|
||||
ELSEIF(HAVE___INT64_LIBZIP)
|
||||
SET(ZIP_INT64_T __int64)
|
||||
ELSEIF(LONG_LIBZIP EQUAL 8)
|
||||
SET(ZIP_INT64_T long)
|
||||
ELSEIF(LONG_LONG_LIBZIP EQUAL 8)
|
||||
SET(ZIP_INT64_T "long long")
|
||||
ENDIF()
|
||||
|
||||
IF(HAVE_UINT64_T_LIBZIP)
|
||||
SET(ZIP_UINT64_T uint64_t)
|
||||
ELSEIF(HAVE___INT64_LIBZIP)
|
||||
SET(ZIP_UINT64_T "unsigned __int64")
|
||||
ELSEIF(LONG_LIBZIP EQUAL 8)
|
||||
SET(ZIP_UINT64_T "unsigned long")
|
||||
ELSEIF(LONG_LONG_LIBZIP EQUAL 8)
|
||||
SET(ZIP_UINT64_T "unsigned long long")
|
||||
ENDIF()
|
||||
|
||||
IF(HAVE_NULLABLE)
|
||||
SET(ZIP_NULLABLE_DEFINES)
|
||||
ELSE()
|
||||
SET(ZIP_NULLABLE_DEFINES "#define _Nullable
|
||||
#define _Nonnull")
|
||||
ENDIF()
|
||||
|
||||
# write out config file
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libzip/cmake-config.h.in ${CMAKE_CURRENT_BINARY_DIR}/libzip/config.h)
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libzip/cmake-zipconf.h.in ${CMAKE_CURRENT_BINARY_DIR}/libzip/zipconf.h)
|
||||
|
||||
# installation
|
||||
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libzip/zipconf.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
INSTALL(FILES libzip/lib/zip.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
|
||||
SET(CMAKE_C_VISIBILITY_PRESET hidden)
|
||||
|
||||
ADD_LIBRARY(zip
|
||||
libzip/lib/zip_add.c
|
||||
libzip/lib/zip_add_dir.c
|
||||
libzip/lib/zip_add_entry.c
|
||||
libzip/lib/zip_algorithm_deflate.c
|
||||
libzip/lib/zip_buffer.c
|
||||
libzip/lib/zip_close.c
|
||||
libzip/lib/zip_delete.c
|
||||
libzip/lib/zip_dir_add.c
|
||||
libzip/lib/zip_dirent.c
|
||||
libzip/lib/zip_discard.c
|
||||
libzip/lib/zip_entry.c
|
||||
libzip/lib/zip_err_str.c
|
||||
libzip/lib/zip_error.c
|
||||
libzip/lib/zip_error_clear.c
|
||||
libzip/lib/zip_error_get.c
|
||||
libzip/lib/zip_error_get_sys_type.c
|
||||
libzip/lib/zip_error_strerror.c
|
||||
libzip/lib/zip_error_to_str.c
|
||||
libzip/lib/zip_extra_field.c
|
||||
libzip/lib/zip_extra_field_api.c
|
||||
libzip/lib/zip_fclose.c
|
||||
libzip/lib/zip_fdopen.c
|
||||
libzip/lib/zip_file_add.c
|
||||
libzip/lib/zip_file_error_clear.c
|
||||
libzip/lib/zip_file_error_get.c
|
||||
libzip/lib/zip_file_get_comment.c
|
||||
libzip/lib/zip_file_get_external_attributes.c
|
||||
libzip/lib/zip_file_get_offset.c
|
||||
libzip/lib/zip_file_rename.c
|
||||
libzip/lib/zip_file_replace.c
|
||||
libzip/lib/zip_file_set_comment.c
|
||||
libzip/lib/zip_file_set_encryption.c
|
||||
libzip/lib/zip_file_set_external_attributes.c
|
||||
libzip/lib/zip_file_set_mtime.c
|
||||
libzip/lib/zip_file_strerror.c
|
||||
libzip/lib/zip_filerange_crc.c
|
||||
libzip/lib/zip_fopen.c
|
||||
libzip/lib/zip_fopen_encrypted.c
|
||||
libzip/lib/zip_fopen_index.c
|
||||
libzip/lib/zip_fopen_index_encrypted.c
|
||||
libzip/lib/zip_fread.c
|
||||
libzip/lib/zip_fseek.c
|
||||
libzip/lib/zip_ftell.c
|
||||
libzip/lib/zip_get_archive_comment.c
|
||||
libzip/lib/zip_get_archive_flag.c
|
||||
libzip/lib/zip_get_encryption_implementation.c
|
||||
libzip/lib/zip_get_file_comment.c
|
||||
libzip/lib/zip_get_name.c
|
||||
libzip/lib/zip_get_num_entries.c
|
||||
libzip/lib/zip_get_num_files.c
|
||||
libzip/lib/zip_hash.c
|
||||
libzip/lib/zip_io_util.c
|
||||
libzip/lib/zip_libzip_version.c
|
||||
libzip/lib/zip_memdup.c
|
||||
libzip/lib/zip_name_locate.c
|
||||
libzip/lib/zip_new.c
|
||||
libzip/lib/zip_open.c
|
||||
libzip/lib/zip_progress.c
|
||||
libzip/lib/zip_rename.c
|
||||
libzip/lib/zip_replace.c
|
||||
libzip/lib/zip_set_archive_comment.c
|
||||
libzip/lib/zip_set_archive_flag.c
|
||||
libzip/lib/zip_set_default_password.c
|
||||
libzip/lib/zip_set_file_comment.c
|
||||
libzip/lib/zip_set_file_compression.c
|
||||
libzip/lib/zip_set_name.c
|
||||
libzip/lib/zip_source_accept_empty.c
|
||||
libzip/lib/zip_source_begin_write.c
|
||||
libzip/lib/zip_source_begin_write_cloning.c
|
||||
libzip/lib/zip_source_buffer.c
|
||||
libzip/lib/zip_source_call.c
|
||||
libzip/lib/zip_source_close.c
|
||||
libzip/lib/zip_source_commit_write.c
|
||||
libzip/lib/zip_source_compress.c
|
||||
libzip/lib/zip_source_crc.c
|
||||
libzip/lib/zip_source_error.c
|
||||
libzip/lib/zip_source_filep.c
|
||||
libzip/lib/zip_source_free.c
|
||||
libzip/lib/zip_source_function.c
|
||||
libzip/lib/zip_source_get_compression_flags.c
|
||||
libzip/lib/zip_source_is_deleted.c
|
||||
libzip/lib/zip_source_layered.c
|
||||
libzip/lib/zip_source_open.c
|
||||
libzip/lib/zip_source_pkware.c
|
||||
libzip/lib/zip_source_read.c
|
||||
libzip/lib/zip_source_remove.c
|
||||
libzip/lib/zip_source_rollback_write.c
|
||||
libzip/lib/zip_source_seek.c
|
||||
libzip/lib/zip_source_seek_write.c
|
||||
libzip/lib/zip_source_stat.c
|
||||
libzip/lib/zip_source_supports.c
|
||||
libzip/lib/zip_source_tell.c
|
||||
libzip/lib/zip_source_tell_write.c
|
||||
libzip/lib/zip_source_window.c
|
||||
libzip/lib/zip_source_write.c
|
||||
libzip/lib/zip_source_zip.c
|
||||
libzip/lib/zip_source_zip_new.c
|
||||
libzip/lib/zip_stat.c
|
||||
libzip/lib/zip_stat_index.c
|
||||
libzip/lib/zip_stat_init.c
|
||||
libzip/lib/zip_strerror.c
|
||||
libzip/lib/zip_string.c
|
||||
libzip/lib/zip_unchange.c
|
||||
libzip/lib/zip_unchange_all.c
|
||||
libzip/lib/zip_unchange_archive.c
|
||||
libzip/lib/zip_unchange_data.c
|
||||
libzip/lib/zip_utf-8.c
|
||||
)
|
||||
|
||||
IF(WIN32)
|
||||
target_sources(zip PRIVATE
|
||||
libzip/lib/zip_source_win32handle.c
|
||||
libzip/lib/zip_source_win32utf8.c
|
||||
libzip/lib/zip_source_win32w.c
|
||||
)
|
||||
IF(CMAKE_SYSTEM_NAME MATCHES WindowsPhone OR CMAKE_SYSTEM_NAME MATCHES WindowsStore)
|
||||
ELSE()
|
||||
target_sources(zip PRIVATE libzip/lib/zip_source_win32a.c)
|
||||
ENDIF()
|
||||
ELSE()
|
||||
target_sources(zip PRIVATE
|
||||
libzip/lib/zip_mkstempm.c
|
||||
libzip/lib/zip_source_file.c
|
||||
libzip/lib/zip_random_unix.c
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
IF(HAVE_LIBBZ2)
|
||||
target_sources(zip PRIVATE libzip/lib/zip_algorithm_bzip2.c)
|
||||
ENDIF()
|
||||
|
||||
IF(HAVE_LIBLZMA)
|
||||
target_sources(zip PRIVATE libzip/lib/zip_algorithm_xz.c)
|
||||
ENDIF()
|
||||
|
||||
IF(HAVE_COMMONCRYPTO)
|
||||
target_sources(zip PRIVATE libzip/lib/zip_crypto_commoncrypto.c)
|
||||
ELSEIF(HAVE_WINDOWS_CRYPTO)
|
||||
target_sources(zip PRIVATE libzip/lib/zip_crypto_win.c)
|
||||
ELSEIF(HAVE_GNUTLS)
|
||||
target_sources(zip PRIVATE libzip/lib/zip_crypto_gnutls.c)
|
||||
ELSEIF(HAVE_OPENSSL)
|
||||
target_sources(zip PRIVATE libzip/lib/zip_crypto_openssl.c)
|
||||
ELSEIF(HAVE_MBEDTLS)
|
||||
target_sources(zip PRIVATE libzip/lib/zip_crypto_mbedtls.c)
|
||||
ENDIF()
|
||||
|
||||
IF(HAVE_CRYPTO)
|
||||
target_sources(zip PRIVATE
|
||||
libzip/lib/zip_winzip_aes.c
|
||||
libzip/lib/zip_source_winzip_aes_decode.c
|
||||
libzip/lib/zip_source_winzip_aes_encode.c
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
target_include_directories(zip
|
||||
PUBLIC
|
||||
libzip/lib
|
||||
${CMAKE_CURRENT_BINARY_DIR}/libzip
|
||||
)
|
||||
|
||||
# pkgconfig file
|
||||
SET(prefix ${CMAKE_INSTALL_PREFIX})
|
||||
SET(exec_prefix \${prefix})
|
||||
SET(bindir \${exec_prefix}/${CMAKE_INSTALL_BINDIR})
|
||||
SET(libdir \${exec_prefix}/${CMAKE_INSTALL_LIBDIR})
|
||||
SET(includedir \${prefix}/${CMAKE_INSTALL_INCLUDEDIR})
|
||||
IF(CMAKE_SYSTEM_NAME MATCHES BSD)
|
||||
SET(PKG_CONFIG_RPATH "-Wl,-R\${libdir}")
|
||||
ENDIF(CMAKE_SYSTEM_NAME MATCHES BSD)
|
||||
get_target_property(LIBS_PRIVATE zip LINK_LIBRARIES)
|
||||
foreach(LIB ${LIBS_PRIVATE})
|
||||
if(LIB MATCHES "^/")
|
||||
get_filename_component(LIB ${LIB} NAME_WE)
|
||||
string(REGEX REPLACE "^lib" "" LIB ${LIB})
|
||||
endif()
|
||||
set(LIBS "${LIBS} -l${LIB}")
|
||||
endforeach()
|
||||
CONFIGURE_FILE(libzip/libzip.pc.in libzip/libzip.pc @ONLY)
|
||||
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libzip.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
||||
|
||||
ADD_CUSTOM_TARGET(update_zip_err_str
|
||||
COMMAND sh ${CMAKE_CURRENT_SOURCE_DIR}/libzip/lib/make_zip_err_str.sh ${CMAKE_CURRENT_SOURCE_DIR}/libzip/lib/zip.h ${CMAKE_CURRENT_SOURCE_DIR}/libzip/lib/zip_err_str.c
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libzip/lib/zip.h ${CMAKE_CURRENT_SOURCE_DIR}/libzip/lib/make_zip_err_str.sh
|
||||
)
|
||||
|
||||
IF(SHARED_LIB_VERSIONNING)
|
||||
SET_TARGET_PROPERTIES(zip PROPERTIES VERSION 5.0 SOVERSION 5)
|
||||
ENDIF()
|
||||
|
||||
TARGET_LINK_LIBRARIES(zip ${ZLIB_LIBRARIES} ${OPTIONAL_LIBRARY})
|
||||
INSTALL(TARGETS zip
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user