Compare commits
3568 Commits
temp-editm
...
geometry-n
Author | SHA1 | Date | |
---|---|---|---|
7bea1e1223 | |||
25b462de8e | |||
c107387a18 | |||
ae9052a33e | |||
9cfffe8468 | |||
03a962d8ca | |||
945a99386b | |||
02a9377da0 | |||
fcf1ba18f0 | |||
b5f42029b8 | |||
dcdbaf89bd | |||
0c3da7f370 | |||
2383628ee1 | |||
837b72fa83 | |||
7e94499bb3 | |||
d18d87d3e7 | |||
e1db6dc11b | |||
c8c53ceecc | |||
259731909c | |||
e3b2f0fd6f | |||
51c1c1cd93 | |||
eae59645de | |||
c112418e95 | |||
f13826a572 | |||
43bc494892 | |||
2d42dc4182 | |||
7c860ab9d4 | |||
fb688c8d5c | |||
![]() |
be0d5da341 | ||
261bb766fb | |||
2887d87232 | |||
1688cb27cd | |||
cf771807b7 | |||
657923cf93 | |||
b546202a9a | |||
57f7650dc7 | |||
![]() |
c8aaa00e00 | ||
99fbf1716f | |||
38fc19d643 | |||
1e2589bfa5 | |||
0e71162e68 | |||
70947ebc65 | |||
59534dbee2 | |||
bbb5a77896 | |||
0283a22456 | |||
8eb10de739 | |||
c1c016b9a4 | |||
b43077ba3a | |||
adf82fe943 | |||
fc36772b06 | |||
35f4d254fd | |||
f2cc38a62b | |||
049510f425 | |||
673984b222 | |||
731926e70e | |||
![]() |
eda8065afc | ||
a6af0e570d | |||
690300eb4a | |||
ec9357a94e | |||
db8be0cdfb | |||
3620ce7f67 | |||
cefb0122b4 | |||
60b278a3bb | |||
43f97393bb | |||
e96b7c0092 | |||
ddb4eb8a89 | |||
5f1107ffaf | |||
aebb3d3062 | |||
289843119d | |||
2f8ed53d6f | |||
be7ce7cb4d | |||
c1cfb475b3 | |||
4b57d5a9a0 | |||
4adde62f60 | |||
2501d00268 | |||
45439dfe4c | |||
5568599015 | |||
a7879dea7c | |||
8761699eab | |||
43c603c2ff | |||
2a2d873124 | |||
5aeecc0a29 | |||
4979537a65 | |||
99b6127b73 | |||
f0d20198b2 | |||
e1fb7740f8 | |||
c647bd899f | |||
16f468fb14 | |||
a2f0f98271 | |||
b838eaf2b9 | |||
b69195dd13 | |||
7d2c759054 | |||
8f02de3de7 | |||
e4a5fd4298 | |||
b02c8a40ff | |||
10789c5329 | |||
a8a1f48479 | |||
78c9c1012b | |||
39c11c03d0 | |||
3e32a68f38 | |||
bfd2921d38 | |||
c346bb1990 | |||
17efd14682 | |||
78c1c71988 | |||
f7a3450e63 | |||
dab3591588 | |||
f0a37dc31c | |||
7b9e3534cf | |||
bfec984cf8 | |||
71adad288b | |||
bca9ec767c | |||
487faed6d0 | |||
defc1b8e18 | |||
87470169e0 | |||
dc37990e24 | |||
![]() |
974002743e | ||
0d6f2cb303 | |||
9beb5e38a9 | |||
212b02b548 | |||
b6bed63b5b | |||
383985a91b | |||
ef6e03c8e0 | |||
059e5a8a4c | |||
62928b618a | |||
827d7e7d25 | |||
c1936be0c5 | |||
cc6d5bc241 | |||
7cbb01f07e | |||
9217f5c7a3 | |||
f5d8339fa5 | |||
aea7e55522 | |||
2a709c82c3 | |||
ff2e8d6510 | |||
bbd6dc55d1 | |||
19a559d170 | |||
332de3a2da | |||
aae5f15238 | |||
1832e11f39 | |||
8507336e76 | |||
![]() |
82cf25dfbf | ||
![]() |
7b1c5712f8 | ||
18b6f0d0f1 | |||
051bb46c55 | |||
c06a86f99f | |||
d161b5d204 | |||
e16bc136f9 | |||
933215d6da | |||
8b15b06b20 | |||
4d605ef2f4 | |||
b94447a298 | |||
16e1b18dd8 | |||
ec77228f0f | |||
b3b2cd1fa9 | |||
d9799e7706 | |||
55dda9fdb3 | |||
526e60d4f0 | |||
9cb4624296 | |||
0d155f274f | |||
a3b785bc08 | |||
44ac5830c5 | |||
99a2a73706 | |||
8d8ce64435 | |||
f195a3a30d | |||
2c2d4bc3a3 | |||
3e3ff1a464 | |||
485c634c4c | |||
e7fedf6dba | |||
7d3d09b69c | |||
b37caa3f06 | |||
71fd0f7b7b | |||
ca2ae350ec | |||
d040493cd4 | |||
8422b24e1c | |||
0cf9794c7e | |||
319de793d7 | |||
35aa3bf22d | |||
f81c514bd2 | |||
18ace3b541 | |||
63de6078da | |||
4db4a97355 | |||
c7b27f45ae | |||
0bfae1b120 | |||
be3e09ecec | |||
9fa304bf13 | |||
b6d2bee28f | |||
6871f8482b | |||
3286150ac9 | |||
7bffddfa6e | |||
a062d86230 | |||
eaed38cbd3 | |||
730de2e7fd | |||
11e8a2ec5f | |||
03c0581c6e | |||
2d5c9e0baf | |||
5acbc01d0d | |||
26e3045eb9 | |||
03013d19d1 | |||
8ddfdfd2b2 | |||
7979dff9dc | |||
df2e053935 | |||
ec831ce5df | |||
3371a4c472 | |||
f1a662c157 | |||
01d7211380 | |||
efbd36429a | |||
773f5065f3 | |||
c3ef1c15f5 | |||
![]() |
52ccb44501 | ||
a90cb41cb9 | |||
d89c4999a7 | |||
dde11219c6 | |||
![]() |
366262bef5 | ||
4094868f73 | |||
![]() |
f41d4735e9 | ||
567bcb9387 | |||
b937b6d069 | |||
8de942b11d | |||
949dbb08d2 | |||
fd25e883e2 | |||
d7d40745fa | |||
b698fe1e04 | |||
fd477e738d | |||
b8b9023d8c | |||
af26720b21 | |||
75704091fc | |||
eb1fed9d60 | |||
16a8d0fab0 | |||
118664e463 | |||
6d3d2988fa | |||
![]() |
ddf97d6270 | ||
d20fa6c4d4 | |||
![]() |
41a4c62c31 | ||
816d3f830b | |||
5bfe09df22 | |||
fee2cedb33 | |||
f11ed418e5 | |||
fe68b54edb | |||
9ba22bd1f7 | |||
7bc7d1747c | |||
ee743204b0 | |||
5f9b00a07e | |||
89637f40df | |||
9dbfa05c44 | |||
9db13c8d79 | |||
4c0512bc32 | |||
7ae2810848 | |||
3434a991ec | |||
e463d2c16f | |||
![]() |
6f5bf8aa3b | ||
4e22a9ab9e | |||
32cc9ff037 | |||
40f59b5dad | |||
4468c34378 | |||
348b5f98f0 | |||
8f1284ab78 | |||
3be91d6da5 | |||
92ad540026 | |||
47d0b2f14e | |||
046a99d580 | |||
08a1492ae5 | |||
972677b25e | |||
![]() |
a84f1c02d2 | ||
b17038db31 | |||
e8027ec2a0 | |||
2a7b9f2d45 | |||
6da63b19ff | |||
1267dfee7c | |||
4758a7d357 | |||
1bc28fc73b | |||
bc2f4dd8b4 | |||
4b1ad2dc17 | |||
cfde1f9f3b | |||
b15e1861ac | |||
bd7f1c5cce | |||
cdcca917cf | |||
4100a79219 | |||
e7bea3fb6e | |||
60e2103507 | |||
5c2330203e | |||
8cecf88dca | |||
61bb70e0c7 | |||
039094c1ec | |||
2b91445ddd | |||
3c2e4f4cfd | |||
06ae3c98eb | |||
892e5f4a9f | |||
550cbec5c4 | |||
31f6e78370 | |||
beea601e72 | |||
8e56f3e8a3 | |||
b3ca926aa8 | |||
1ecb4e6fd8 | |||
15762e9611 | |||
d16e732638 | |||
c4fa17c67a | |||
8733d310e5 | |||
b714f9bf43 | |||
![]() |
82ae7b990a | ||
84f7bf56a8 | |||
4266538ab9 | |||
28ad680ff0 | |||
3e75f70acd | |||
6f0dd4f0f0 | |||
665657812d | |||
cc388651eb | |||
6ce383a9df | |||
1411118055 | |||
e288e392a8 | |||
![]() |
dc2524eaae | ||
8c21667f3c | |||
a3d0b50d75 | |||
dd505a7ebb | |||
7a0cad0989 | |||
9ad642c59a | |||
50e7645211 | |||
3bcd264141 | |||
![]() |
3af597d16b | ||
2a7a8a04e3 | |||
231d66d8ba | |||
![]() |
62d64bec2a | ||
1d9e2dc954 | |||
cfc64261c1 | |||
c51eac24fe | |||
ca5d84b31d | |||
3e1fd26828 | |||
8cd4cee0d5 | |||
cf72b10075 | |||
742b7adbad | |||
7ac4e874db | |||
cca811de98 | |||
7ef3fe492e | |||
cd6fc651ce | |||
85312f2236 | |||
70aad5f498 | |||
16ffa7bb6e | |||
76ebc10794 | |||
39f88480bb | |||
0c16ac9ddf | |||
![]() |
781289e31f | ||
01e2a532f5 | |||
![]() |
029cf23d71 | ||
c4b02bb6bc | |||
269f4a3024 | |||
ab1909fe06 | |||
282516e53e | |||
65dbeb1d81 | |||
![]() |
d092933abb | ||
d1fcf93f03 | |||
675a22b341 | |||
1133b1478e | |||
c37121f16c | |||
622d8b77a6 | |||
fa688fbf06 | |||
b0d64841d2 | |||
05ab3356a7 | |||
3e1baa7d53 | |||
bdbaf0301d | |||
d9ebe25a0c | |||
f45470472f | |||
94fb47e572 | |||
a286148799 | |||
9aab1a4626 | |||
0c66885276 | |||
be171b295f | |||
be558d2d97 | |||
aea2287af3 | |||
0a63297a88 | |||
![]() |
9b1b4b9e32 | ||
1d96a48267 | |||
65490e6270 | |||
3858bf5c6f | |||
7b9319adf9 | |||
deb7ec312a | |||
594c857f65 | |||
16c79d3b82 | |||
ff46afb4dd | |||
4b48b1079d | |||
5ccec8ec6b | |||
9a1fce698b | |||
090be2775e | |||
6600ae3aa7 | |||
![]() |
df00463764 | ||
fd560ef2af | |||
7681326acd | |||
10fb5cc58d | |||
91b4c1841a | |||
ab0195c78f | |||
a5917175d8 | |||
417ce7ffc1 | |||
f81f56751a | |||
39810b3f51 | |||
![]() |
6ef8c9e646 | ||
f6af3d9197 | |||
641a5be50e | |||
17a96051cf | |||
84bb6d7c02 | |||
e79e86018e | |||
2eb2e861a3 | |||
8d2cabcb97 | |||
98e1c6e935 | |||
f0f1198867 | |||
cfbac9032b | |||
5faa333e78 | |||
d71c423c28 | |||
3a2b7f35f4 | |||
063c4e467d | |||
2a047fadc0 | |||
33d6d7c6e3 | |||
ec31f31749 | |||
5297bf318e | |||
035dcdad90 | |||
6910278604 | |||
2905b493fe | |||
15e71f3d97 | |||
6b761c59d2 | |||
3f8b45d8d1 | |||
98c53f660a | |||
![]() |
f0df0e9e07 | ||
704d077d8f | |||
010e675b1b | |||
1de8374374 | |||
![]() |
9959c5315f | ||
7d111f4ac2 | |||
0baa876b83 | |||
40c3b8836b | |||
1a96045eec | |||
0c52eed863 | |||
52c5300214 | |||
cccfa597ba | |||
001f548227 | |||
![]() |
2537b32392 | ||
334a8d9b3e | |||
e00bf04c0f | |||
990b912fd7 | |||
494c3fb1bd | |||
2d46cef2e8 | |||
4539c7cc57 | |||
2743d746ea | |||
3435ea014d | |||
dfb193f634 | |||
f855e2e06e | |||
40180c3500 | |||
![]() |
ba4e227def | ||
d28aaf6139 | |||
4f15c24705 | |||
9001dd7f29 | |||
690e1baf72 | |||
f605ce7e9a | |||
dd728e1539 | |||
381965eb56 | |||
16eafdadf6 | |||
![]() |
df445cc571 | ||
dfa1c7e554 | |||
6cd191a660 | |||
25c173ffd1 | |||
2bcf93bbbe | |||
943debfab5 | |||
6ed93391c4 | |||
fd7510984a | |||
b280699078 | |||
ef9269bd62 | |||
bca2701236 | |||
93197c4660 | |||
967fec6883 | |||
d73f664790 | |||
d7b4350749 | |||
![]() |
a83b405a45 | ||
85c8dd6c96 | |||
fccc530003 | |||
![]() |
67dbb42236 | ||
![]() |
56bf34aa17 | ||
823996b034 | |||
b6c3b41d41 | |||
a3d4ed20f9 | |||
7a61916717 | |||
a7ade57e11 | |||
79a88b5e91 | |||
57f1379104 | |||
b3b7319de7 | |||
1c5722ba07 | |||
0a6cf3ed0c | |||
9a1d75e0b9 | |||
a7075a30e2 | |||
219058c213 | |||
cd36f59027 | |||
fd77a28031 | |||
d06828f0b8 | |||
![]() |
943e73b07e | ||
6e473a897c | |||
7fa6794037 | |||
5b6dacb9eb | |||
9e9d003a82 | |||
8e8932c8ff | |||
6ee181ec24 | |||
a395a1b36b | |||
c107a3c4d9 | |||
765eba5a6e | |||
abc3128011 | |||
d6b54068d4 | |||
6e859f7ff8 | |||
9c8255d486 | |||
695dc07cb1 | |||
a76bb1a277 | |||
da949c3574 | |||
c4f733a76c | |||
b74f2c7d74 | |||
a3457704fb | |||
482c5f0014 | |||
![]() |
c1d138dd92 | ||
d7b231baa8 | |||
3a898db363 | |||
41eba47a87 | |||
06356115b7 | |||
5f59bf0044 | |||
ec8a9a0d65 | |||
9f895fbb97 | |||
9a8badc1e4 | |||
3a25501143 | |||
a9cb330815 | |||
2430f75279 | |||
3065d26097 | |||
a184d0dd02 | |||
fc4b1fede3 | |||
![]() |
1df3b51988 | ||
44c3bb729b | |||
2944f3e92b | |||
46fe43feca | |||
3cbe921899 | |||
aef8ac7db8 | |||
0071001879 | |||
fb88ff8f0c | |||
b246f81412 | |||
dd689eeda4 | |||
ef7e21fd4a | |||
3edae09eaa | |||
![]() |
729b2d026d | ||
de6bf5d4d2 | |||
e150f171d5 | |||
![]() |
765b1c6b53 | ||
![]() |
4de0e2e771 | ||
f9113c4be8 | |||
1f51037676 | |||
6f76bcc12c | |||
![]() |
f9fe755dba | ||
eb0d216dc1 | |||
746ee29d36 | |||
4f3f79c382 | |||
3f4ba64ae3 | |||
2a8e5128c1 | |||
6bf8c95e52 | |||
59c95a8ca2 | |||
![]() |
69d6222481 | ||
be22e36692 | |||
f5edc69150 | |||
e538b2c3a3 | |||
c5a13ffcb4 | |||
![]() |
452c78757f | ||
![]() |
962b17b3ca | ||
93544b641b | |||
19740b25c7 | |||
6b0719c0f3 | |||
3c36803189 | |||
4a00faca1a | |||
5c961b3b58 | |||
b3c469153e | |||
73753e1a67 | |||
1c18f05f0b | |||
4586688323 | |||
5fed3aec4a | |||
138fdf78ba | |||
73fbd3eebd | |||
![]() |
41dc558747 | ||
![]() |
c383397d07 | ||
e11b33fec3 | |||
81514b0e91 | |||
9a3c7da934 | |||
9b1b1d9269 | |||
5b9a911c4b | |||
![]() |
88d295f952 | ||
19bab2a536 | |||
76f386a37a | |||
47a72ac4fd | |||
4682aad432 | |||
![]() |
45e16a6c96 | ||
d9e697fbbd | |||
1b6752e599 | |||
4ba7201546 | |||
b66b3f547c | |||
7bf9c70b14 | |||
![]() |
104887800c | ||
6e4ab5b761 | |||
![]() |
d4f1bc5f39 | ||
![]() |
78b5050ff4 | ||
2f36762def | |||
5d565062ed | |||
509b637d59 | |||
eb71157e2a | |||
2ba7c3aa65 | |||
70376154a0 | |||
53f25df5bc | |||
f834939ceb | |||
da3946b710 | |||
aca38148ad | |||
e46055ae9d | |||
![]() |
93a8fd1249 | ||
30bed8761d | |||
3022e190a2 | |||
d649b4b066 | |||
9a76dd2454 | |||
beecd24fc6 | |||
3ca2697001 | |||
3ccdee7532 | |||
2055ef107a | |||
89c7c115ce | |||
cddda70618 | |||
42a05ff6ea | |||
17b8da7196 | |||
1996efe7aa | |||
497d0400bd | |||
328b6f672b | |||
2289295555 | |||
5e12e62a6a | |||
b42ce0c54c | |||
5e8775a8da | |||
a0f269f682 | |||
47caeb8c26 | |||
![]() |
2341ca990c | ||
55cf9bb5e6 | |||
![]() |
25a255c32a | ||
138aa20959 | |||
![]() |
240345842d | ||
9ca567bc4e | |||
56b35991bc | |||
42d79a6041 | |||
583939c54d | |||
aa46459543 | |||
4f5ef3b018 | |||
3be2d6078f | |||
a620ce7e54 | |||
f12ea3d52e | |||
5fec6eda55 | |||
a059d16f65 | |||
5401fda412 | |||
576142dc85 | |||
c6e956bbb1 | |||
9dff3de6ac | |||
685ceaa2f7 | |||
8434aa1b78 | |||
8278ad3dfb | |||
a3610c451a | |||
f609b05b11 | |||
1c42d4930a | |||
a2ee3c3a9f | |||
ea79efef70 | |||
ecb8a574c7 | |||
91c33c8b99 | |||
988b9bc40c | |||
1ae79b704a | |||
10abaf3ddf | |||
d39cd851c0 | |||
98a62a5c08 | |||
366cea95c5 | |||
96876305e1 | |||
![]() |
78445ebd5f | ||
51ea08487b | |||
![]() |
92b7bf4856 | ||
![]() |
6c11b320c4 | ||
d0a4a41b5d | |||
![]() |
9d49fc2ba0 | ||
356dce13f0 | |||
c29f20a521 | |||
e659f78d3e | |||
24cc552cf4 | |||
d4e8390e95 | |||
![]() |
5183653951 | ||
72e81a45c4 | |||
![]() |
59113df8ec | ||
8c0698460b | |||
f71d479556 | |||
0558907ae6 | |||
86536e7859 | |||
f12513a21c | |||
9c412b6e2d | |||
![]() |
3021babf38 | ||
53af51ad50 | |||
9e3c84a5d6 | |||
![]() |
351721d0ea | ||
f18ab3470f | |||
9d03990e32 | |||
eb56e8cd78 | |||
a6da1884ba | |||
![]() |
5e3877e0c8 | ||
![]() |
0c7e836a1d | ||
ad80248875 | |||
72a47fea5d | |||
c63fb657c8 | |||
45f167237f | |||
6535779c92 | |||
a2daf92a57 | |||
1db42c9b79 | |||
aaf3a63dca | |||
c1a1644db7 | |||
30cd1d10a9 | |||
b7b2103cf7 | |||
7867feae56 | |||
a7300a217d | |||
74ea21ec9d | |||
f1d97a308d | |||
3a03d6c851 | |||
a06435e43a | |||
b67a937394 | |||
cc04399937 | |||
ad1735f8ed | |||
ac657bee01 | |||
![]() |
29e5dc1b19 | ||
690382bef5 | |||
e8dc02aa3f | |||
9dda65455b | |||
cfa59b3fab | |||
eb8afc39f8 | |||
6139782d81 | |||
3d35d4a9e5 | |||
7b0b050dd5 | |||
fe958d7d99 | |||
c1c6c11ca6 | |||
a91c6f1804 | |||
![]() |
70fd6a313e | ||
8f66f40318 | |||
cdeb506008 | |||
4b31a21bcd | |||
![]() |
f7ef68514b | ||
![]() |
e005ad5b54 | ||
![]() |
ca8e8fd8d4 | ||
d993c7b503 | |||
db851ccd2a | |||
a94343a8af | |||
73a05ff9e8 | |||
40360253ae | |||
bb6cc67d05 | |||
![]() |
c1b4abf527 | ||
83f87d9f21 | |||
3de76a067a | |||
ecedef09e7 | |||
cae4d8637c | |||
4703e125bf | |||
![]() |
9c00486451 | ||
275d0d3397 | |||
eca2a41964 | |||
a82c9e1e40 | |||
0ceded7bc9 | |||
![]() |
f9755add65 | ||
cc6ca13852 | |||
a6d34f4c3f | |||
6e92a2d591 | |||
813ca82f1e | |||
a282efecbc | |||
bdd2a7f466 | |||
fef4dc7269 | |||
d2454487d1 | |||
1bfa9539d3 | |||
![]() |
79425ed326 | ||
2561145da8 | |||
e541f37529 | |||
27ac80f068 | |||
13df8616ce | |||
6391949601 | |||
728e31e18a | |||
886196b888 | |||
8f8982d57c | |||
17c928e975 | |||
7bd0de9240 | |||
3a65571195 | |||
94d2736dfb | |||
ff57ce8617 | |||
38c4888f09 | |||
0c684a7046 | |||
736be7cf58 | |||
4d71138738 | |||
bff3dcf330 | |||
f01c4f27f9 | |||
ff9587d28e | |||
ebe2374528 | |||
601a6a7dc6 | |||
596446dbc6 | |||
7afde7cd22 | |||
092424dae3 | |||
2aca08fc1c | |||
86643a4e73 | |||
04ad42d83b | |||
5da58f48ae | |||
482806c816 | |||
a3e2cc0bb7 | |||
bd65d3ce97 | |||
3284b5bbde | |||
6c11733dfb | |||
741fb0d6c9 | |||
415098abc3 | |||
ebe216f532 | |||
de07bf2b13 | |||
8f4697e570 | |||
2f9fab716d | |||
f9f88f50cb | |||
29e496e768 | |||
23791db145 | |||
4ee97f129a | |||
9708b1f317 | |||
e9daca77d6 | |||
0cd3d46246 | |||
ba4e5399fc | |||
d04d27b406 | |||
919e513fa8 | |||
cc6a3509a0 | |||
1de922f88c | |||
1b79b4dd30 | |||
c7b237e7d1 | |||
9f9e2dd25d | |||
0d4c53ecfe | |||
0f58cc1594 | |||
719c319055 | |||
c0a5b13b5e | |||
13a28d9e6f | |||
123255be6b | |||
7fc11744e6 | |||
87a36cba1a | |||
00bd631c7c | |||
eadbacdbb0 | |||
70cc80ea1c | |||
439c9b0b84 | |||
877ba6b251 | |||
306e9bff46 | |||
04857cc8ef | |||
0fd0b0643a | |||
8a6f224e26 | |||
bbfa6a92cf | |||
b7dc0346aa | |||
0194e54fd3 | |||
75fbf6f17e | |||
536109b4ec | |||
2012d541ae | |||
![]() |
12c66854bd | ||
c6275da852 | |||
e41dddd29a | |||
cda20a7af8 | |||
539575b585 | |||
335f40ebfa | |||
03f8c1abd0 | |||
18c6314e26 | |||
3c4537cd38 | |||
ac9ec52e9e | |||
4ab8212e1a | |||
9ed19db539 | |||
b5ea3d2c09 | |||
![]() |
ca0450feef | ||
85267ec1ae | |||
68dc970219 | |||
82f0e4948c | |||
ce66075d00 | |||
c73a550e90 | |||
876b250499 | |||
ba95cf6234 | |||
8e2a21e862 | |||
9161993e02 | |||
0e590f9078 | |||
df8f507f41 | |||
bf35dba7fb | |||
b534806ecb | |||
0d68d7baa3 | |||
8113b8391a | |||
76de3ac4ce | |||
11d31addf8 | |||
c148eba16f | |||
b93e947306 | |||
dcac86f4f1 | |||
fd592538d9 | |||
26dac33ce1 | |||
6d2b486e43 | |||
7b5835c793 | |||
432d5bc692 | |||
16e7a7b5b1 | |||
88c02bf826 | |||
0a1a173e57 | |||
6eefcd7d78 | |||
11be9edae2 | |||
c11585a82f | |||
6e268a749f | |||
758f3f7456 | |||
dbe3981b0a | |||
9a0850c8c2 | |||
b1e6e63c22 | |||
55b8fc718a | |||
71cf9f4b3f | |||
b6ad0735a6 | |||
7df6f66ea2 | |||
9824df49c0 | |||
7a66a9f22e | |||
1d49293b80 | |||
08511b1c3d | |||
300403a38b | |||
caac532565 | |||
![]() |
1b22650fbf | ||
2b66b372bc | |||
2dace5f3ef | |||
92c449776d | |||
18959c502d | |||
c38d2513c5 | |||
d1ade756a9 | |||
655ce5dc3e | |||
c8d59b60b5 | |||
3391a2ef1d | |||
ffa20de050 | |||
65b5023df4 | |||
076d797bda | |||
301ee97b93 | |||
f2c896a9ad | |||
2b6f2072f1 | |||
4fd7ce321d | |||
0bc4056455 | |||
4a3464050c | |||
b536605e78 | |||
4882208633 | |||
cc636db8f2 | |||
f806bd8261 | |||
fc4886a314 | |||
326bd76d3b | |||
a80a2f07b7 | |||
76238af213 | |||
8ca7250982 | |||
dc4c2815a6 | |||
![]() |
e62ce9e08e | ||
23d9953c80 | |||
ce6a24976a | |||
f2b86471ea | |||
37003cbbc1 | |||
87a3cb3bff | |||
8c55333a8e | |||
fc6228bd85 | |||
93e92ac126 | |||
357acd1d50 | |||
e43fcc014a | |||
3c3669894f | |||
6e48a51af7 | |||
606271966e | |||
e0e7a5522f | |||
e7274dedc4 | |||
cc8fa3ee90 | |||
dfdc9c6219 | |||
b6195f6664 | |||
272a38e0c2 | |||
c9af025936 | |||
1e5cfebf66 | |||
57272d598d | |||
ee79bde54d | |||
c4dca65228 | |||
3b1a243039 | |||
2305f270c5 | |||
adc084a3e9 | |||
ae86584404 | |||
98fe05fb5b | |||
1833ebea31 | |||
bf354cde96 | |||
64d07ffcc3 | |||
17e2d54a3d | |||
a812fe8ceb | |||
2f52f5683c | |||
06c3bac23b | |||
fb34cdc7da | |||
0998856c92 | |||
8fc97a871f | |||
5d5a753d96 | |||
e1e75bd62c | |||
a8d6a86981 | |||
c206fa9627 | |||
f2da98d816 | |||
d3afe0c126 | |||
e863e05697 | |||
b57b4dfab1 | |||
f49dff97d4 | |||
74f45ed9c5 | |||
![]() |
c5c94e3eae | ||
34cf33eb12 | |||
![]() |
54927caf4f | ||
12e8c78353 | |||
1476d35870 | |||
1fb364491b | |||
eacdc0ab4a | |||
dc30a9087c | |||
9e456ca695 | |||
aae96176e8 | |||
e1952c541a | |||
![]() |
fb820496f5 | ||
f497e471f8 | |||
3be4cb5b27 | |||
56ce51d1f7 | |||
1c7ce7e0b4 | |||
271210126e | |||
f9acf21063 | |||
bdc66c9569 | |||
eb3a8fb4e8 | |||
798e593002 | |||
21c29480c3 | |||
928d644895 | |||
af0b7925db | |||
7843cd63d8 | |||
ae4b45145c | |||
2e6c6426d3 | |||
bdb7d262aa | |||
b559fb178e | |||
4485dc483c | |||
![]() |
3a59ddb292 | ||
66fe1c79f3 | |||
e2df5c8a56 | |||
f3274bfa70 | |||
4569d9c0c3 | |||
![]() |
33dc584b37 | ||
![]() |
213554f24a | ||
8d60ac2bb0 | |||
![]() |
1a134c4c30 | ||
a754e35198 | |||
ac582056e2 | |||
![]() |
be70827e6f | ||
827e30bd15 | |||
6cff1d6480 | |||
dd3391dd99 | |||
4389067929 | |||
4ee2d9df42 | |||
42ce88f15c | |||
628fab696c | |||
5d42ea0369 | |||
d754d85845 | |||
1a72744ddc | |||
779ea49af7 | |||
07c5d02a11 | |||
3453b22b1e | |||
9628ef4135 | |||
80d7cac22d | |||
ae0f944a57 | |||
5f632f9f6e | |||
af13168a3f | |||
e9dac3eab8 | |||
fdcae48663 | |||
2c2516bfc9 | |||
66e24ce35b | |||
84dcf12ceb | |||
81f552e9ad | |||
cd03f5b6e5 | |||
0cddbcf1d7 | |||
a2e321aa6d | |||
d3d021601d | |||
19785cb022 | |||
![]() |
22c61e8060 | ||
6f23e4484d | |||
1d478851f8 | |||
214baf5422 | |||
45a312fd8f | |||
9d9f205dc4 | |||
df9120b365 | |||
6aac892fad | |||
367775ac6a | |||
4d4113adc2 | |||
fe070fe33b | |||
901fa96b7f | |||
1f4545dc9c | |||
b80ed8396d | |||
c33a005297 | |||
ef29bf9023 | |||
![]() |
5cebcb415e | ||
ffb9577ac9 | |||
731325a022 | |||
adaf4f56e1 | |||
![]() |
78b9a8c7b9 | ||
6351c73b75 | |||
0c32e3b312 | |||
4cf4bb2664 | |||
eabb134840 | |||
24a965bb16 | |||
f51bef75f4 | |||
8cbec0beb2 | |||
![]() |
a285299ebb | ||
![]() |
bf06f76be6 | ||
008ae26712 | |||
eddc3f5bc8 | |||
756c22bb41 | |||
d1220f795f | |||
8e40bb2dea | |||
84251acfcc | |||
e81533b25e | |||
f0f70729b1 | |||
7f5d62dfc6 | |||
4a48482247 | |||
960b21e1d7 | |||
6dceaafe5a | |||
b524153d61 | |||
79290f5160 | |||
efe3a13b55 | |||
9f0a3a99ab | |||
283d76a70d | |||
0830211c95 | |||
f84fb12f5d | |||
76377f0176 | |||
2ecd963d87 | |||
5cdb2aadfc | |||
![]() |
c7a7c3f5e5 | ||
87e315c237 | |||
![]() |
85aac0ef6a | ||
cc653c9b02 | |||
95fca22bfe | |||
86ec9d79ec | |||
e45ffce5fa | |||
![]() |
faedfd5740 | ||
![]() |
044a77352f | ||
262b211856 | |||
797064544e | |||
44e4f077a9 | |||
b32b38b380 | |||
f35ea668a1 | |||
e694165123 | |||
6ee2f2da96 | |||
10d926cd4a | |||
3acf3e9e2f | |||
330a04d7c7 | |||
53fa4801a0 | |||
34ba6968b2 | |||
f17ca53cdd | |||
640c4ace0b | |||
ff7e67afd5 | |||
728ae33f37 | |||
52a702468a | |||
d2004326a1 | |||
3e78c9e5bb | |||
3674347849 | |||
73b2ecb297 | |||
![]() |
9490db1ad2 | ||
6a745e54f6 | |||
5d160dec3b | |||
b3431a8846 | |||
6f29801f1b | |||
b91946780c | |||
741fa8180c | |||
e5ff9f3615 | |||
a64782b133 | |||
7cd43a9d28 | |||
def8fd6330 | |||
e7b9423623 | |||
c7d94a7827 | |||
986d60490c | |||
c53ffda8a4 | |||
f94164d896 | |||
5d70a4d7ee | |||
e6aabcae14 | |||
50b7253257 | |||
8da23fd5aa | |||
8967bcb755 | |||
847d355cab | |||
c76ccd85be | |||
11bfbc3337 | |||
c75c08a737 | |||
efa9667c09 | |||
10061ee18a | |||
90aa0a5256 | |||
aafbe111fc | |||
6578db57cd | |||
824733ea47 | |||
5bea5e25d5 | |||
0559971ab3 | |||
2189dfd6e2 | |||
7270ba011c | |||
4a0ddeb62b | |||
3d2ce25afd | |||
43167a2c25 | |||
5949d598bc | |||
b077f0684e | |||
a6b53ef994 | |||
2bd0205215 | |||
8fecc2a852 | |||
![]() |
0419c74ae8 | ||
4a562f5077 | |||
2a0db195c9 | |||
e87783a5ec | |||
95af9317f0 | |||
2c2e1b3d61 | |||
32ffb858d6 | |||
c618075541 | |||
a13b9d20b5 | |||
d90f542b04 | |||
5d5504d8a4 | |||
69893ef27c | |||
8dcddbcc07 | |||
30ef197c7b | |||
617954c143 | |||
547f7d23ca | |||
![]() |
f3ace5aa80 | ||
fe49904646 | |||
ddb0dc2527 | |||
10a26d583d | |||
![]() |
037e66999a | ||
d2dda0e8b9 | |||
![]() |
ad3e5d2bf5 | ||
f9e0981976 | |||
d046a1f2fa | |||
1cd8a438bb | |||
88a2b054da | |||
93b36fad68 | |||
80f7bc6d8e | |||
505422220d | |||
43394e41a8 | |||
ab09844be8 | |||
a3027fb094 | |||
b314d3e787 | |||
2dd3968335 | |||
![]() |
536f9eb82e | ||
c87e6b23be | |||
![]() |
be16794ba1 | ||
![]() |
5c0017e85a | ||
bdb8ee9717 | |||
![]() |
ef45399f3b | ||
4a2c63f4bd | |||
90b410fe74 | |||
25d4de92fa | |||
c0db8e3b41 | |||
585998987a | |||
ab8f24811d | |||
9cf593f305 | |||
45e432b894 | |||
ede14b3856 | |||
95ec6e4dd3 | |||
1a1c546124 | |||
e1e380ba38 | |||
ab9644382d | |||
2b9ca0f112 | |||
7e904139a3 | |||
2b5733ff01 | |||
dfe01628b0 | |||
e8c6e32348 | |||
59387aabe8 | |||
501b0190d6 | |||
cdcdd2c479 | |||
e7ae2840a5 | |||
d8a5b768f0 | |||
bc27bafa54 | |||
7ca48a3814 | |||
f8a0e102cf | |||
3ac342dc6d | |||
9a45a4c525 | |||
e161f39660 | |||
![]() |
fc7beac8d6 | ||
![]() |
6a88f83d67 | ||
0f764ade1a | |||
0e039749e3 | |||
bc65c7d0e5 | |||
599d96e8f9 | |||
bffda4185d | |||
26141664f0 | |||
f7608276e3 | |||
61f3d4eb7c | |||
c1b925f7ff | |||
1bdaf0ebec | |||
![]() |
7fb2b50e5d | ||
fc2255135e | |||
b8a30c7664 | |||
323fd80aad | |||
eb0eb54d96 | |||
ed541de29d | |||
354c3eee40 | |||
0a8a726014 | |||
18a4dc869d | |||
502543e46b | |||
38af29df5c | |||
105115da9f | |||
bd63944a73 | |||
942fc9f467 | |||
93997f9d0a | |||
d7f803f522 | |||
6279efbb78 | |||
d0493796a6 | |||
f11bcb5a80 | |||
490425d56e | |||
aa2493e2e7 | |||
![]() |
9b12b23d0b | ||
222fd1abf0 | |||
059d01d42e | |||
83975965a7 | |||
88692baace | |||
b659d1a560 | |||
d431b91995 | |||
4d2ca33a8a | |||
aadb7ef071 | |||
e86cf55667 | |||
f48a4aa0f9 | |||
cb173d05dc | |||
6f53988e7a | |||
ce96a75c2c | |||
3558ae3b6c | |||
b63f777950 | |||
b801e86f8b | |||
3042994c91 | |||
12924ed573 | |||
a351023bd5 | |||
754d56dcc1 | |||
bf948b2cef | |||
6e77afe6ec | |||
a78d3c5261 | |||
79bcc19240 | |||
6fb4c8f040 | |||
c99cb81452 | |||
bd01f4761c | |||
ee49991999 | |||
6611f2cb74 | |||
f893dea586 | |||
02bde2c1d5 | |||
a28ec92088 | |||
188de4bc31 | |||
bd1c4a781f | |||
3180c6b4a7 | |||
e1a0983b3c | |||
4068b6b5a7 | |||
![]() |
5033310e8a | ||
ac68b08c5b | |||
bc1e675bb9 | |||
1eba32c3e9 | |||
4762a9b09f | |||
794c2828af | |||
707bcd5693 | |||
![]() |
0d350e0193 | ||
204b01a254 | |||
e57ce464c2 | |||
53e7c64be7 | |||
368b56c9a1 | |||
9f6313498a | |||
![]() |
f7a492d460 | ||
a6f6c421ef | |||
f7f5024c95 | |||
9add7c35cc | |||
2526a355bc | |||
7633548d60 | |||
2884ae971a | |||
90b485845c | |||
ba313f8a74 | |||
719451f840 | |||
c0f55400eb | |||
c75e6bcea2 | |||
![]() |
0c59386110 | ||
![]() |
4c156cba21 | ||
3fa6426392 | |||
4d66cbd140 | |||
77061a5621 | |||
4d881d9dad | |||
41e3bf8a8e | |||
8324ac8457 | |||
af95542df3 | |||
6d162d35e2 | |||
![]() |
29e3545194 | ||
05ce5276db | |||
4d51af68ad | |||
29b13fa3ca | |||
499dbb626a | |||
b37d36a60f | |||
3642e17428 | |||
fde9c3bc74 | |||
66dbe6e55a | |||
3c1e75a230 | |||
2df7d1ebce | |||
49ab38bf54 | |||
![]() |
2e6a735385 | ||
84f98e28e3 | |||
33955231f3 | |||
a25cd206c6 | |||
![]() |
96027b2d15 | ||
0803119725 | |||
fa6b1007ba | |||
69928307c5 | |||
![]() |
997b5fe45d | ||
fa2c1698b0 | |||
26f9b1ef49 | |||
f5c6029cc5 | |||
8b8a678cdf | |||
c9d9bfa84a | |||
52bfa750e7 | |||
5eb505e368 | |||
17021adcea | |||
9e939a614e | |||
4472a11017 | |||
![]() |
05f3f11d55 | ||
13a4bccdb1 | |||
15471d9bed | |||
e43ecca016 | |||
3b8d702a2f | |||
32a4c7f188 | |||
a79c33e8f8 | |||
7cb65e4581 | |||
9642447faf | |||
c5c189a158 | |||
eaad219ee7 | |||
da4796ebf7 | |||
fc4f82d200 | |||
8c7c4549d1 | |||
11e11c41f2 | |||
7da9da2b27 | |||
029d042e85 | |||
07b482c2ff | |||
1e3c5fdb85 | |||
4eba920d15 | |||
1f51672d71 | |||
738f1dbeff | |||
c5c8c68eec | |||
c773443845 | |||
f973e0b75a | |||
c9e835fec1 | |||
25aa943e8c | |||
276eebb274 | |||
f256bfb3e2 | |||
942c471ce9 | |||
257c7753e9 | |||
69697fcca9 | |||
25e548c96b | |||
bdbc7e12a0 | |||
970c928f27 | |||
2618df7d03 | |||
136e357d8d | |||
a229a9dd64 | |||
6cf734a2e5 | |||
6b0aa7ae15 | |||
9566e3bc9c | |||
8ee7f62a63 | |||
365443412c | |||
![]() |
9a41b44197 | ||
e1d7ce005f | |||
1cd20b0026 | |||
9dee0a10c8 | |||
06ac655b8d | |||
6dca61b91c | |||
8bc27c508a | |||
f8b51f702c | |||
180bafe225 | |||
da2ba40268 | |||
633c29fb7b | |||
8e21d528ca | |||
4fa0bbb5ac | |||
a1c65748c4 | |||
8e2e44b58b | |||
7a9cfd08a8 | |||
db7fca3588 | |||
f81bacd6f0 | |||
ddb7cb7e4a | |||
31a0708cb1 | |||
58043c0637 | |||
c9daab7936 | |||
73ed076489 | |||
867e6ffe88 | |||
f2cfad77f9 | |||
9fee59a484 | |||
c938d9a0e5 | |||
08aa0eb15d | |||
e97653ccf3 | |||
3deb56424f | |||
e04a10adab | |||
27b6636c45 | |||
4ec2bdbbda | |||
1d5cc52ef6 | |||
1fce66190a | |||
236a9f0814 | |||
4f38624bf5 | |||
95c2f0bea8 | |||
bfe8f29baf | |||
860a55d8fc | |||
0e329a967e | |||
0530b67909 | |||
289f68588a | |||
28bd74c186 | |||
8c5d9fa929 | |||
525def99bc | |||
acb8909021 | |||
![]() |
231948f33f | ||
a866a32ff2 | |||
4a009b54bc | |||
51f7d24a4e | |||
b6d890672c | |||
![]() |
a6adb7ecae | ||
09f14b38f2 | |||
5841f8656d | |||
e456a9de57 | |||
46fff97604 | |||
5c6cc931b2 | |||
1bd28a5e0c | |||
c420399f4d | |||
429136c89f | |||
e6ca054590 | |||
fb27a9bb98 | |||
785e7ddf10 | |||
8cbe55c9e9 | |||
a2c5c2b406 | |||
c1cf66bff3 | |||
202dc3631e | |||
94dd30208e | |||
56f8d7c705 | |||
e1714ce8c9 | |||
97de4f07a3 | |||
e6fa74ffed | |||
![]() |
7c7348f78d | ||
0ed089cebd | |||
3be5ce4aad | |||
cddb792021 | |||
2d13c823ee | |||
edaeec3e72 | |||
dee0b56b92 | |||
426e2663a0 | |||
fd60f6713a | |||
90a48fa064 | |||
1c1be5bdf4 | |||
30845b5c8e | |||
917a972b56 | |||
9b0b78d58f | |||
3ff60bcad8 | |||
9fe6854a93 | |||
![]() |
4f73d43adc | ||
a78410386b | |||
1bcdd1c54e | |||
503d79cd77 | |||
![]() |
6f52ebba19 | ||
c9c890f196 | |||
4b06420e65 | |||
603ae580ce | |||
b777df8080 | |||
410dc76177 | |||
f6ebbfe7de | |||
9d6e960e2c | |||
25550c210a | |||
eaa35b27e0 | |||
9b2b32a333 | |||
9d336576b5 | |||
![]() |
e0394761b9 | ||
b5a1c194c5 | |||
2aa7edbe6b | |||
15405685d9 | |||
b9febb54a4 | |||
c946fdb2e5 | |||
863460e5a5 | |||
cbe05edde5 | |||
4e78b89e48 | |||
166c8be7ac | |||
aeeffb935e | |||
6ae8de4742 | |||
d475f99460 | |||
cb83313863 | |||
![]() |
eab26f1334 | ||
8745bb9628 | |||
6a00e7a428 | |||
5e0684b07d | |||
![]() |
28f773925a | ||
6b7b4f8e57 | |||
e2f99c338b | |||
![]() |
128eb6cbe9 | ||
42215d7cb8 | |||
eb96f0cf06 | |||
0467ff4053 | |||
ca39aff59d | |||
7a5216497c | |||
![]() |
7f1fe10595 | ||
a1167e910a | |||
![]() |
60cfdf0809 | ||
a00507c482 | |||
fe4286435c | |||
93d2940603 | |||
284c9430f9 | |||
![]() |
db6b3801b3 | ||
82ab2c1678 | |||
ee3b4e8420 | |||
c9347b9a7f | |||
f13eb69269 | |||
efcf46fb6d | |||
84d03a1298 | |||
45c44a5b5b | |||
ed4ef77f49 | |||
b4fd8750f9 | |||
62ec88eb84 | |||
3eb6569b38 | |||
![]() |
07c6af4136 | ||
fc46035117 | |||
da50cd86a7 | |||
bf47fb40fd | |||
0f6be4e152 | |||
0c0e5a8420 | |||
f8ead736a0 | |||
9bb99532a5 | |||
b813648378 | |||
3da09f4e29 | |||
bda9e4238a | |||
c8f80453d5 | |||
05f500580b | |||
f9ebd17b4b | |||
71b0721ba5 | |||
df65103bf0 | |||
a131e3bec7 | |||
be5bd5f7b4 | |||
4e91cd5c11 | |||
8f785524ae | |||
5bfc3a3421 | |||
6fc94d1848 | |||
6bc6ffc35c | |||
96ef184377 | |||
ba5d9fa275 | |||
b5f2b81751 | |||
60e9fb9929 | |||
![]() |
2b2d427bba | ||
![]() |
54f5c174a8 | ||
8d40d61af0 | |||
7beb4a0e0a | |||
1680c3d510 | |||
e6a1d488ab | |||
4abbf6d82b | |||
![]() |
adbafe3b43 | ||
a392609ab6 | |||
73ef2fc2f4 | |||
08acbdc1ff | |||
2b4afcbb4c | |||
c2ce68a018 | |||
8cc3d2d6f5 | |||
d7d8eb7de4 | |||
08593e46a3 | |||
3b1a16833b | |||
5a9a16334c | |||
d9ad77fa58 | |||
bd79d6067c | |||
ce71357711 | |||
![]() |
5a02d0da7a | ||
3e23af4c49 | |||
a3ca973dec | |||
861b7071a2 | |||
![]() |
5eed7cdc8c | ||
e2bbb5b07e | |||
4d0497bea4 | |||
4f0ec3cea5 | |||
687f70ceca | |||
a0912ff566 | |||
49f1695ed0 | |||
81978594a8 | |||
b4c9f88cbe | |||
3e44592cb9 | |||
58632a7f3c | |||
91bca410c0 | |||
bf0ac711fd | |||
![]() |
4ddad5a7ee | ||
5890953bad | |||
98223022e6 | |||
![]() |
d10ea97053 | ||
f6b162eca0 | |||
51e51caf54 | |||
9547f110eb | |||
b7718bbdf5 | |||
079bd11556 | |||
b225a7c470 | |||
d84c79a218 | |||
9d7cb5c4a1 | |||
9290b41381 | |||
![]() |
54b72fe9ff | ||
![]() |
c23b6596b9 | ||
![]() |
863d806526 | ||
e6194e7357 | |||
716682365c | |||
4fb7217043 | |||
235655ee0d | |||
a45dd52cf0 | |||
![]() |
ac97893dfc | ||
ae334532cf | |||
f9ccd26b03 | |||
0950cfd9d5 | |||
f530b43550 | |||
d97fd305a0 | |||
671640b4c7 | |||
![]() |
684500837d | ||
4a3243f311 | |||
572dd65614 | |||
8242567574 | |||
cedbf38588 | |||
6fc92b296f | |||
8849bed671 | |||
546314fc96 | |||
799a2b07ad | |||
a8739ae6c2 | |||
a2f3aca647 | |||
19e1b5c1fd | |||
0708733c46 | |||
809b33b69a | |||
00541898a1 | |||
![]() |
0ccbf50694 | ||
4170668776 | |||
f77de678d8 | |||
011d3a95e0 | |||
6c177838f3 | |||
baee000001 | |||
f8dd0d0dba | |||
42546db490 | |||
99c981fd06 | |||
083a8921ec | |||
f62eb8ac16 | |||
2aad8fc7bc | |||
7ec839adfa | |||
79281336c0 | |||
8355e3fc77 | |||
e04631f44a | |||
93c6b12df5 | |||
0c5f6f9fa7 | |||
18a4e5d561 | |||
89fa9aada5 | |||
1730829592 | |||
5352b33598 | |||
2914ec571e | |||
f1cdd49a4e | |||
90dac47717 | |||
838b6ec48a | |||
60fba8202c | |||
cfc674408e | |||
596f1878b6 | |||
37943b00f2 | |||
99b1e8428d | |||
b18122451f | |||
84f826ff23 | |||
1be598ba68 | |||
6931a6f3bd | |||
63dc286b01 | |||
a18d88213f | |||
3abf56db27 | |||
9ab31b53b7 | |||
a7ee49d065 | |||
b0cb0a7854 | |||
3b2a01edf6 | |||
d8b445e728 | |||
af7233368d | |||
f6d133e2d2 | |||
f4eacad48f | |||
1f0d63b9a1 | |||
8e00db4296 | |||
fa4a35d4c4 | |||
fa4f9292e1 | |||
d718d6b449 | |||
29590eec6e | |||
c758b87c5e | |||
ea575744b8 | |||
63a5f723d6 | |||
3e4d720ae4 | |||
aabe6e3b45 | |||
65739ded54 | |||
b08ab49cce | |||
bd67bf4d10 | |||
1541fbb4a0 | |||
d374ff5b8f | |||
fbcb9c5e3f | |||
c84d1ad3db | |||
0a8f53a7b8 | |||
b7cb7b78a8 | |||
af3f744b41 | |||
171c3bd2b0 | |||
1e69a25043 | |||
e8684eff30 | |||
![]() |
e76f04c870 | ||
9ad56627cf | |||
![]() |
a71d2b2601 | ||
41eb33794c | |||
![]() |
b44406f963 | ||
![]() |
b42354672e | ||
![]() |
084180874c | ||
2f7258d618 | |||
4256eeeec4 | |||
457302b67b | |||
079791dc30 | |||
0b6be26126 | |||
eae4e22518 | |||
276a862ebc | |||
400605c3a6 | |||
071007e0ef | |||
8b9a3b94fc | |||
3f5e0f7d91 | |||
57e8714b38 | |||
c88ba461cf | |||
59cd9c6da6 | |||
7f7370fa26 | |||
6845aad1a2 | |||
7dba879829 | |||
7652ee43ec | |||
89dae554f9 | |||
86ea25aa0d | |||
64a7957321 | |||
523bc981cf | |||
61f9274d07 | |||
efc129bc82 | |||
![]() |
20ef771374 | ||
8949eab27e | |||
2b64b4d90d | |||
e5ed9991ea | |||
![]() |
8e5b7ac6e2 | ||
583f694826 | |||
aadbdb8048 | |||
![]() |
d7b0567f7c | ||
06a60fe9f7 | |||
edb95b3fcb | |||
1bb2077250 | |||
2419ffa183 | |||
da17692a3d | |||
1434ac3767 | |||
c52db4c4cf | |||
ec66b3ef9b | |||
1f2bf2fd73 | |||
fe73778095 | |||
d3514cd6a7 | |||
082ddc9379 | |||
aa0b4be77f | |||
f464cac55a | |||
2fb57685e3 | |||
efcac47155 | |||
cec35060f5 | |||
4e16e8b671 | |||
84f048fda5 | |||
42032db1c2 | |||
afcd06e1e1 | |||
ff85ac3009 | |||
e5a5a251d2 | |||
50c8114590 | |||
70fbdcb6bf | |||
5b751c95f4 | |||
518b97e674 | |||
05564c8ca6 | |||
8fb9155598 | |||
0d36439f95 | |||
f49d438ced | |||
796035ad93 | |||
0fd1e6a5f4 | |||
5a0ec2302e | |||
940ba74024 | |||
d6ace5a7bb | |||
cb9c0aa7d0 | |||
a34652d6f8 | |||
452cc01932 | |||
8d634c1b27 | |||
e91fd3b816 | |||
a2597f8b83 | |||
b98b9354b2 | |||
9df063df19 | |||
820d50d3cb | |||
38630711a0 | |||
be906f44c6 | |||
70f890b510 | |||
f80c39b74e | |||
891e3e98eb | |||
a2e0f714f2 | |||
8ef80ad9fd | |||
5ef3afd87c | |||
f53cf5141d | |||
19da434e9c | |||
![]() |
38bdde852f | ||
551521cfa4 | |||
b55c02a206 | |||
9327c00f70 | |||
038f9b7f4a | |||
7aff40f410 | |||
3c82725d74 | |||
46913bf0a0 | |||
4e4ac5a867 | |||
![]() |
30d3dd4de1 | ||
983280b014 | |||
de60205f19 | |||
e0a6001a22 | |||
8b55cda048 | |||
8371df8b1c | |||
a311ab6167 | |||
bffa168157 | |||
![]() |
eec1ea0ccf | ||
929d7597b3 | |||
a57ba4147f | |||
709ce44617 | |||
24a3446787 | |||
a0c8ee057a | |||
![]() |
875c2ea5b5 | ||
be1891e895 | |||
cbe4036406 | |||
eb0c50ac78 | |||
6e51ef9531 | |||
![]() |
ebdae75736 | ||
7d17f2addf | |||
4c6d207343 | |||
42f89b9212 | |||
153b45037f | |||
daa7c59e38 | |||
344aca3b1b | |||
064167fce7 | |||
a95e56b741 | |||
8f4730e66f | |||
![]() |
21d4a888b8 | ||
![]() |
cd118c5581 | ||
27f138f4c8 | |||
2f0e350ffd | |||
b4b3f518aa | |||
5aa3167e48 | |||
8165333de9 | |||
9564b6cf23 | |||
0682af0d63 | |||
62f2204d65 | |||
aa067bef5e | |||
0de3d4e8c7 | |||
b477333473 | |||
a1e91fbef3 | |||
721fad37a1 | |||
67c29bc5a2 | |||
2ea66af742 | |||
2b170f16d6 | |||
34a05f39be | |||
0b7947e855 | |||
47e68537f8 | |||
c671bfe14e | |||
aed5a27755 | |||
0d7aab2375 | |||
b6a1bf757d | |||
86622467c5 | |||
![]() |
cd8d9383e7 | ||
1b5f17b867 | |||
6a404bc633 | |||
9bfc47c933 | |||
accf3045be | |||
ef502127dd | |||
0081200812 | |||
7d8c71e800 | |||
c1227fd408 | |||
d217b34214 | |||
fd51b05a02 | |||
2b6f0cc836 | |||
e95b197e98 | |||
cea24b4b4a | |||
e05db0c26b | |||
40f0783d51 | |||
15a46a8b72 | |||
9e2cd6b077 | |||
a48df97ada | |||
ce3a6d7989 | |||
44b25b0ea5 | |||
fca6b2780f | |||
f8637cd8af | |||
5b51df0f33 | |||
962153dbed | |||
c0dd6f1164 | |||
72f73c0b71 | |||
dbc4f6fdc9 | |||
871f7f4ad8 | |||
3febcb98ed | |||
0896457c59 | |||
214e4aac97 | |||
479cc9a83e | |||
71655ff8df | |||
7192e57d63 | |||
b0d9e6797f | |||
119d53263f | |||
![]() |
85b044b3ef | ||
46aafbbf66 | |||
e648e38887 | |||
0f49e4832c | |||
d5776f4829 | |||
51862c8445 | |||
5b97c00e9f | |||
4db4123409 | |||
cf72194214 | |||
22ab0159a9 | |||
4734de1093 | |||
594790d8a5 | |||
7a4ef5256a | |||
feaa61a968 | |||
ac09411368 | |||
a217e043be | |||
55f9014616 | |||
6b041ad3d0 | |||
b8ecdbcd96 | |||
e5f8db92b6 | |||
fffe219bdb | |||
1d06d35034 | |||
ba71eb467e | |||
9bfd4ae222 | |||
![]() |
04376c3bac | ||
787350dde8 | |||
7bffafab7b | |||
![]() |
c0f600cad1 | ||
400cb25fc7 | |||
f41beca977 | |||
24c16f5457 | |||
809dce5bde | |||
![]() |
e3098de2a1 | ||
23132fcdc1 | |||
60d6333b80 | |||
![]() |
88dc274d05 | ||
96d0cd57dc | |||
e98824d6c4 | |||
7f38872533 | |||
0246128b7f | |||
f8dd0080a9 | |||
6028ac44a1 | |||
7304541f66 | |||
32844d32c1 | |||
4443831c6b | |||
6baa62245f | |||
cb40c7ca1f | |||
4c8d68c032 | |||
736b6a70a4 | |||
![]() |
69fdcea978 | ||
ba055493a0 | |||
![]() |
d60e28093f | ||
869b84452a | |||
eaa1527385 | |||
4dba206011 | |||
b5117660da | |||
035d4c28ab | |||
df3884d512 | |||
7db3746033 | |||
394a0b0da5 | |||
118946d195 | |||
2946f72a2a | |||
ded68fb102 | |||
6df81ddb84 | |||
a01cf90fd8 | |||
43ad345caa | |||
e314260fa7 | |||
08af3e6e92 | |||
![]() |
fecec1644c | ||
ddecd7aaca | |||
![]() |
c48a01a88a | ||
c0016a8581 | |||
4300050e20 | |||
87adcbc94f | |||
6aebbe6a0a | |||
eb278f5e12 | |||
899935d5d0 | |||
3f0d785d23 | |||
d5261e973b | |||
e47c652bbf | |||
7ef0e7ded7 | |||
ff6df9a22d | |||
8f2b60ddbf | |||
e537bb57a3 | |||
6a4533dd02 | |||
ae3472998a | |||
![]() |
0ed2df81cc | ||
990e0fd319 | |||
5655b3d1c5 | |||
a3dcbcb6e7 | |||
e0a833bbbf | |||
5bbba1984d | |||
e9f6482be7 | |||
5225e459da | |||
bb0e29c922 | |||
7772880d69 | |||
e43e8f09bb | |||
77744b581d | |||
![]() |
0b3c7544b5 | ||
4cadccebfa | |||
b9486c39bc | |||
fd29a161cc | |||
00f264ea42 | |||
0ae23636e7 | |||
5f6033e091 | |||
7b5acc8009 | |||
160d57d33c | |||
3e775a4fc5 | |||
41e6509818 | |||
10ed118edb | |||
8fa05efe0a | |||
92f4abc37f | |||
b51a473e29 | |||
ab344775c2 | |||
ed38d0c25d | |||
399b6ec76c | |||
1275ce61b1 | |||
e0fd5fef12 | |||
f801d40daf | |||
3930b8c69e | |||
333c3c92ab | |||
dc8844f8ef | |||
![]() |
d6891d9bee | ||
215734bc52 | |||
6293cf6131 | |||
ad2fb92e9c | |||
04ef718226 | |||
806bf3f452 | |||
83603ba26a | |||
497bc4d199 | |||
216414c65a | |||
c741558509 | |||
1ef275963d | |||
4f61843a7e | |||
45d100208e | |||
48c8f9fc9a | |||
cd1bb63159 | |||
![]() |
bb487bc2bc | ||
e53afad241 | |||
a079d7db28 | |||
c9a9d5332b | |||
c8c64d4081 | |||
2399f66468 | |||
![]() |
e6bbbd965a | ||
6d24017529 | |||
6a9d7139f7 | |||
![]() |
bbcb60fb22 | ||
62cb5c5c4a | |||
48ba341d15 | |||
6aae140278 | |||
f3e26c847b | |||
cbc671947a | |||
18fbcaf7b9 | |||
![]() |
2f39f7f815 | ||
d480f03952 | |||
55615e2600 | |||
fcd2d63b64 | |||
53f0047f06 | |||
8652e69d8b | |||
32c687b5ec | |||
946da86e02 | |||
6806459246 | |||
b6538e1492 | |||
eb03529ab9 | |||
d481c6651d | |||
8f6cc16490 | |||
b81d88a8e2 | |||
1a9b9dd64d | |||
5deb3229a0 | |||
079f35572b | |||
0116a567dd | |||
6c0c766bca | |||
4599748962 | |||
![]() |
e38de11f05 | ||
9c0f11344e | |||
05879f2c36 | |||
fe1740ae6a | |||
aab7540b7a | |||
895d3cd11e | |||
182edd4c35 | |||
76d52cbcb4 | |||
7c2c66cdb8 | |||
61040a36aa | |||
128ca8c7f6 | |||
692e926b18 | |||
49ea8e4fea | |||
b83ee724a4 | |||
4ca19c7153 | |||
fb03f87005 | |||
3335f852a1 | |||
26fea4de63 | |||
d9930cddfd | |||
cb7b4064d6 | |||
![]() |
cd692c6954 | ||
3b87fd376a | |||
![]() |
8e3dea27ec | ||
2d867426b1 | |||
ce95a2b148 | |||
b04997cca4 | |||
fddd5eb692 | |||
ff594715b8 | |||
71e2c366f7 | |||
6fe00939b0 | |||
6deb37474e | |||
e2a411570e | |||
3886ab05b4 | |||
73b047bcd4 | |||
22ed1c7b61 | |||
0e4a250279 | |||
7ea577eef3 | |||
d6f162dfa9 | |||
0986992dbd | |||
909e0819ae | |||
52c349cfcd | |||
b417fb9251 | |||
64d750fb73 | |||
d3a699925d | |||
eb165f574b | |||
![]() |
8830cfe541 | ||
ff9bc901f4 | |||
3ea6cf7d41 | |||
4c26bb0232 | |||
![]() |
0be26f563e | ||
76e24609fd | |||
3f1873111e | |||
b541b5f875 | |||
a7aeec2655 | |||
a7bb537a61 | |||
![]() |
b33b70ed07 | ||
d245782b80 | |||
3fab16fe8e | |||
4f64fa4f86 | |||
69c9363e39 | |||
335379d8fc | |||
3fbe6f513d | |||
9cff9f9f5d | |||
2796ee7da0 | |||
01c1b1e82e | |||
f4adb35f28 | |||
b0df8f53ba | |||
4c675bc356 | |||
151eed752b | |||
d98791a106 | |||
6188c29603 | |||
1ab75c1d49 | |||
bb8ce95b5e | |||
4f2642cada | |||
b7225df456 | |||
bc97d78329 | |||
5987b4cc68 | |||
99738fbfdc | |||
1f8485ae82 | |||
![]() |
bc0d55e724 | ||
263fa406cd | |||
![]() |
92edf37997 | ||
![]() |
89014b51f1 | ||
cf10eb54cc | |||
d01781129f | |||
4dd6c9ad45 | |||
6844f7bedb | |||
![]() |
bd44e82b25 | ||
c15635bd8d | |||
04c24bec07 | |||
ff2265f0a9 | |||
8158211198 | |||
ca64bd0aac | |||
6c326ba0a2 | |||
834523e239 | |||
27b9cb7a1e | |||
03d7561708 | |||
b4f950cbbe | |||
![]() |
cc4e674e41 | ||
e844e9e8f3 | |||
0cff7c2a22 | |||
720ea8a67d | |||
be6409a748 | |||
fb1822ddeb | |||
f45860fba9 | |||
ed9759349b | |||
02e0c6f42e | |||
317f09ebf9 | |||
03e2f11d48 | |||
647a8bff06 | |||
f5acfd9c04 | |||
d8582d966f | |||
2b51124d6a | |||
450593ddf0 | |||
d3d4be1db3 | |||
d1c5e2e050 | |||
604ae5f7b6 | |||
1def985d78 | |||
438d645a36 | |||
171433e841 | |||
d6ca7ab20e | |||
07b702f828 | |||
1d1020b79f | |||
49acc52e02 | |||
8abf6efcf6 | |||
![]() |
10b9621079 | ||
ae920d789e | |||
b5bfb5f34c | |||
c18d91918f | |||
58ba75f9e3 | |||
a8185d2d74 | |||
2af789d1f3 | |||
c1730ed165 | |||
145270d8d7 | |||
e5d4a0c559 | |||
26c2c617b4 | |||
![]() |
76dcf70dac | ||
d2130c5327 | |||
add719e31a | |||
ac6b263906 | |||
557e7f135e | |||
051141acde | |||
d9a530c55e | |||
![]() |
8c21076add | ||
![]() |
c8004ab407 | ||
![]() |
b867df903f | ||
cb67bfdba2 | |||
218df99410 | |||
3b0fab6dfa | |||
effc048710 | |||
cd92b2350f | |||
10464843dd | |||
![]() |
0f45576590 | ||
26f1a5e2c8 | |||
5950b3ab73 | |||
71dc134f89 | |||
7389fd9a35 | |||
8a1c1279b3 | |||
0d2589d08c | |||
fb87d236ed | |||
18d900caca | |||
41357d556f | |||
39e914cee7 | |||
57281b73c4 | |||
652fbc2005 | |||
a25a1f39aa | |||
4e1a1821e0 | |||
391af6bea2 | |||
7724251af8 | |||
d3dd735fea | |||
cec103d5a9 | |||
0342fb5d20 | |||
dbd34a5acb | |||
b35a96e195 | |||
20d5d7b8ec | |||
c6f64d46ed | |||
![]() |
ea54cbe1b4 | ||
28b9dd7b1f | |||
c0900a64ce | |||
b1a607ce04 | |||
f8abc3fb2f | |||
d6e97a53ab | |||
b54e741a8b | |||
00b57136e4 | |||
![]() |
6f50969406 | ||
![]() |
ebd55b4acd | ||
![]() |
a53feb0aff | ||
c1a477b497 | |||
1973fd89df | |||
04c75c5ce7 | |||
223f048138 | |||
efd7c95bb2 | |||
a4813379f9 | |||
4f6f445120 | |||
8b93265c19 | |||
a2203a27d9 | |||
67d56eb71e | |||
77187718e4 | |||
eccd8af828 | |||
1062649b5e | |||
3ff5d8f719 | |||
ceb049133c | |||
d8bf332f86 | |||
![]() |
0e4f7b4a4b | ||
11cfa6c718 | |||
d60a7a8744 | |||
8edb2222ae | |||
aa60416361 | |||
06cb48e1b2 | |||
1f0d6f7635 | |||
3fd5c93f9c | |||
de91cdd930 | |||
48722e8971 | |||
1cf45fe10f | |||
![]() |
836aeebf70 | ||
aa48e1cd66 | |||
79277986c2 | |||
17243337d7 | |||
2f63303e25 | |||
8063f10166 | |||
37e2fec090 | |||
7c961e716d | |||
524908146c | |||
d91c266986 | |||
e9dc6a0e09 | |||
35894dc700 | |||
54bd5efa68 | |||
549e2b7539 | |||
d2675c3c5d | |||
5762e7a679 | |||
4dbf4eb100 | |||
96fb21f3af | |||
a9ea310d30 | |||
0b10a96474 | |||
f7836019b3 | |||
9ac782b823 | |||
c1ec2e9d5f | |||
3848507511 | |||
b90887da5a | |||
3b2a6bf8e8 | |||
3316e28418 | |||
e7e9364d23 | |||
4c3d4ebefc | |||
eb2a6f454b | |||
4647ffd918 | |||
c8b7745172 | |||
5aa45c43f2 | |||
88e774aa34 | |||
![]() |
a787bcbf5c | ||
![]() |
8796a2827f | ||
b98735ec29 | |||
020431408f | |||
93eb460dd0 | |||
f81a6a2ff1 | |||
63f7eceb53 | |||
d06b03f80d | |||
9764d90fda | |||
228edcaedd | |||
a2b8dad469 | |||
ddcb6b1023 | |||
5280d4bf0b | |||
8f05520083 | |||
0b18a618b8 | |||
c7b12e31e6 | |||
cae18abef4 | |||
8f12457c25 | |||
0b0c2901f6 | |||
646f7ef73c | |||
2d3e5eda3f | |||
8cb4e3d046 | |||
49c0b9ec43 | |||
5be54cce36 | |||
b361b2f214 | |||
33322086f6 | |||
ceec7cabf5 | |||
b60e72100b | |||
21b4799793 | |||
bd2bfa469f | |||
12d93e44d0 | |||
4d28703277 | |||
![]() |
1775c39986 | ||
0f1c84f171 | |||
cafb1bc47f | |||
24ba931f40 | |||
810c88b5f1 | |||
3f84f0123e | |||
![]() |
9cc8d50a04 | ||
5116b7a4c2 | |||
0491052a96 | |||
5c9979ff03 | |||
3964785a14 | |||
a70f37bd8a | |||
d5fd09ab58 | |||
3c50687073 | |||
fd0b2b8dfd | |||
bc0a7d3fae | |||
2453dc1b0e | |||
0358951b9e | |||
8aa1c0a326 | |||
073bf8bf52 | |||
3bf9675849 | |||
40ef71f465 | |||
0088b412ff | |||
08154d237f | |||
![]() |
b304616f2a | ||
3db37075f6 | |||
b18d0244fc | |||
![]() |
31fcb934a4 | ||
f9308a585e | |||
dfc597202f | |||
7d0765cbdc | |||
8e9d06f5a0 | |||
544ddcdaac | |||
91dd1a1ba3 | |||
ce68888d1b | |||
f5cc348610 | |||
ae034d27d2 | |||
7e91a60be6 | |||
c6ba7359ae | |||
f4abd3cfc4 | |||
![]() |
4a02b9ffeb | ||
d6d44faff0 | |||
![]() |
766e67e55d | ||
07688ca2d2 | |||
db4fe8e322 | |||
e37c876cd7 | |||
58eacb8e7c | |||
b1a2abd6b2 | |||
c5e5ac4a17 | |||
5a07174ce3 | |||
b331acf477 | |||
675d8a9c43 | |||
![]() |
6ee14c966d | ||
05315af81d | |||
![]() |
6a903d9088 | ||
a4a72bffd3 | |||
e33814ef6b | |||
883fb49d4f | |||
a117794f8c | |||
cf74cd9367 | |||
![]() |
6eb94d8df2 | ||
22b03e1c68 | |||
abf3ce811f | |||
cee67f3be2 | |||
a14ee85ccd | |||
231b313c55 | |||
![]() |
3059853732 | ||
a9121640be | |||
14f94fd1ca | |||
1b53fde9fc | |||
71d7505487 | |||
a0cba9fb95 | |||
faa65f151d | |||
c17a266e29 | |||
![]() |
1a3cb90e4e | ||
12afb19959 | |||
![]() |
6abf63f463 | ||
501bca9f5b | |||
828c66f393 | |||
471d4b105a | |||
a77d203932 | |||
0cb25a51de | |||
6a673b6000 | |||
8fda1f363a | |||
4886ed2863 | |||
0aad8100ae | |||
![]() |
aa32121174 | ||
c971c851d3 | |||
a2ccd0e495 | |||
1029577a51 | |||
05c7d935e7 | |||
8fe0aecfde | |||
ede1ce6e9a | |||
8031326262 | |||
![]() |
2beff6197e | ||
3123f33380 | |||
![]() |
a092baa7f9 | ||
5e3d0840a3 | |||
c41b93bda5 | |||
eb43477851 | |||
239a74a130 | |||
6ac378e685 | |||
25fc77f46c | |||
de2c4ee587 | |||
f23b14091f | |||
ced94bc11c | |||
7ce0d9d791 | |||
36c0649d32 | |||
66548007a8 | |||
eea65cbd42 | |||
66dfef10a7 | |||
fd9fc809b7 | |||
39b2a7bb7e | |||
4ba06ad0a8 | |||
3fb47956c0 | |||
![]() |
fafd21b14c | ||
49e68f15f2 | |||
f76dfe8fb4 | |||
524d172742 | |||
![]() |
f013e3de81 | ||
e77a1dc6b0 | |||
1b44b47f69 | |||
1a91c57320 | |||
b1bf4c2a05 | |||
48e27ad122 | |||
91e2b1dcaf | |||
5f28a90b34 | |||
97712b018d | |||
![]() |
0e8d1c6bcf | ||
320f34af86 | |||
19b597c55d | |||
f2cce48698 | |||
0eccf57161 | |||
![]() |
574995478a | ||
![]() |
57668d84cf | ||
8d5b9478a2 | |||
64bb49fa4e | |||
![]() |
178086d581 | ||
785d87ee42 | |||
c830c5b16b | |||
e850c2b06d | |||
10e28bd270 | |||
8de2b6a020 | |||
952ded57de | |||
581a6da804 | |||
63da2c4082 | |||
![]() |
22bef356ae | ||
3cfd6439c6 | |||
16804297e6 | |||
d1e1d6c491 | |||
bbcc8330f7 | |||
e7082fbdb0 | |||
ab101d444d | |||
8b0fac4116 | |||
82ff5dd911 | |||
9aa0a3f533 | |||
75e41b1279 | |||
265c3a4724 | |||
![]() |
dc8a924efa | ||
![]() |
14d5a45750 | ||
807bb450a0 | |||
bfe6b55aa7 | |||
d3445496b1 | |||
cb0b017d8f | |||
0af08cea40 | |||
e99801390c | |||
5a1b1c0ed2 | |||
207df439e1 | |||
36fb03e2b9 | |||
8ffc3ee257 | |||
aeee7f390d | |||
cf28398471 | |||
1e063a0242 | |||
b65ec08bbb | |||
![]() |
26b2a35dd4 | ||
f53ca7e41c | |||
6754d7aef6 | |||
c4f71f3193 | |||
3e4c98429b | |||
f763929486 | |||
3ea4c6b9c9 | |||
f164188a6d | |||
3e29175af3 | |||
![]() |
83b6fcc70c | ||
76a3ff70d5 | |||
c3a400b73f | |||
48a45c43e4 | |||
9e1fdd1f14 | |||
6c5f8bf5aa | |||
9471715720 | |||
75c9788c27 | |||
d218ba8009 | |||
77e927b58f | |||
fe2f43a15c | |||
59eb71afa1 | |||
0e9c04a3ea | |||
cf8ea741f2 | |||
0733926a34 | |||
24aae7ed63 | |||
3021f9b48c | |||
468765d29e | |||
9aa88a6604 | |||
b35efa932e | |||
300fe84bf0 | |||
b848d5cdf5 | |||
0a0c2c0217 | |||
45b46e5de9 | |||
582c5530b6 | |||
ebe32e01e1 | |||
07a77816a1 | |||
bae1b64525 | |||
132522cba8 | |||
ceb612a79c | |||
62a2faa7ef | |||
101a493ab5 | |||
ff01070b5c | |||
ee857cc266 | |||
ad7455cd14 | |||
83883ae66a | |||
75ae328d62 | |||
76f0ef294a | |||
72d1ddfc9c | |||
4ed029fc02 | |||
![]() |
e7a800c52f | ||
24801e0a4a | |||
fc32567cda | |||
![]() |
9eafdb985d | ||
3c8d261557 | |||
![]() |
e82c5c6607 | ||
118803893e | |||
0793ced8ad | |||
e7b441a05c | |||
53743adc29 | |||
1dcf0f9cf1 | |||
feba1fe974 | |||
c4df8ac1a4 | |||
6025897cd6 | |||
802a59a58a | |||
1ab6d5c1dc | |||
a770faa811 | |||
15cfb375a3 | |||
e78e235cc5 | |||
3ec9681ac4 | |||
038345fa56 | |||
38131cc5e5 | |||
f61f4c89bb | |||
e26887598f | |||
42017b006e | |||
bf5b1fa726 | |||
09b89da349 | |||
d3c454d66c | |||
![]() |
98c4224ff0 | ||
![]() |
eccd03a826 | ||
7d618b4dde | |||
a566dc25aa | |||
9d9c879f4b | |||
0cc2a72f94 | |||
3af0e1f6fd | |||
34771cc9f5 | |||
72c34068cb | |||
f52e3aa210 | |||
8925d3b7bf | |||
6bd42baaeb | |||
26b098c04f | |||
bc4f99aa86 | |||
0c83ef567c | |||
89fd3afd1e | |||
87c1c8112f | |||
8edcb3af96 | |||
ae1dc8f5f9 | |||
00c7ea68a8 | |||
788d380460 | |||
6e01b52100 | |||
f3610a23d1 | |||
28dc07a153 | |||
9473c61b36 | |||
b40e05fcd1 | |||
637731dc61 | |||
55d48defc5 | |||
a26a059244 | |||
add6fa0924 | |||
35affaa971 | |||
3feb3ce32d | |||
7898089de3 | |||
![]() |
59f9a5e6ac | ||
60fee69682 | |||
![]() |
3df40cc343 | ||
![]() |
468d59e496 | ||
709e443152 | |||
ddc7e5f1b6 | |||
e509f9c3a0 | |||
e7e5fd96c4 | |||
2e8641e45e | |||
ae30f72c80 | |||
49b798ca7e | |||
c614eadb47 | |||
757ec00f83 | |||
de913516dd | |||
c27ef1e9e8 | |||
d5e626b243 | |||
8e8a6b80cf | |||
a63a0ee24b | |||
d35b14449e | |||
41e0a5b5ed | |||
15cdcb4e90 | |||
5cd1aaf080 | |||
4be166b6b5 | |||
4e65b1ef6c | |||
ebf7673f83 | |||
093074aefe | |||
2829caa9f8 | |||
c202d38659 | |||
37a5ff4a84 | |||
2acebcae24 | |||
3de3c3c23a | |||
c9e9a42215 | |||
f0ddbcb31d | |||
7cd91a06eb | |||
efe90944ee | |||
765406cb51 | |||
2761679180 | |||
5583d51773 | |||
192f0c9e17 | |||
271f34f77e | |||
3e125d12af | |||
6644e96f01 | |||
ae379714e4 | |||
96a4b54cfb | |||
538f452ea9 | |||
2ea47057d3 | |||
209aff0a35 | |||
3b6ee8cee7 | |||
52b94049f2 | |||
2373a2196e | |||
6a0fe79db5 | |||
10428ca472 | |||
d31abfef2c | |||
6a5e1bf9a1 | |||
488690c864 | |||
d374469f4c | |||
af42b35e53 | |||
71b4a1687e | |||
25c2875e0f | |||
8839b4c32a | |||
1b4d5c7a35 | |||
f9c9e000ca | |||
7a4fc9f59d | |||
22c4323b21 | |||
7a084c2eee | |||
b90b1af25c | |||
5098678308 | |||
dc679f6247 | |||
2e7e7a6fb6 | |||
d6b1d35bf8 | |||
![]() |
bfa3dc91b7 | ||
7b6c77aa84 | |||
7b954ba7a1 | |||
5e1702e7a5 | |||
![]() |
2a41ab5e6c | ||
a072e87e04 | |||
2ea565b0ec | |||
f709f12d93 | |||
45a47142fc | |||
5f3f5db95d | |||
8e69409eed | |||
280dac323c | |||
c4f9bfcf5e | |||
2289e26fa3 | |||
0f201049b4 | |||
49a363f0e0 | |||
77a28f34d5 | |||
62d9dabc7d | |||
d5e91ae883 | |||
53cf8e83b3 | |||
![]() |
d7f88982a8 | ||
4c716ced09 | |||
09082f6e85 | |||
c749c24682 | |||
![]() |
c04cceb40e | ||
b69ab42982 | |||
16099c00d0 | |||
8dd941cac0 | |||
249a7e2307 | |||
8225b610dd | |||
07faa3c5ac | |||
d0c5c67e94 | |||
0416aa767f | |||
7592a5097c | |||
ab70133db0 | |||
af8fb707da | |||
![]() |
4e5537d0ed | ||
80d0b68290 | |||
5d54f38949 | |||
c304807099 | |||
4c8a8950cf | |||
b6a35a8153 | |||
7489427e4d | |||
c3cb565250 | |||
8346417d09 | |||
![]() |
695e025c82 | ||
51019fbfce | |||
139c3f791e | |||
54fa5041e2 | |||
2b41b2f05b | |||
f4cb3ccd9c | |||
fb98f22ddd | |||
6b0869039a | |||
13672f8b32 | |||
cffbfe5568 | |||
ecbf838fee | |||
0153e99780 | |||
77834aff22 | |||
3fe0088cab | |||
8f94724f22 | |||
89831fae0c | |||
0b1050bf09 | |||
![]() |
eccdced972 | ||
5bbbc98471 | |||
![]() |
63a8b3b972 | ||
31e6f0dc7a | |||
f85ef3d442 | |||
cd38daeff4 | |||
0521272ab3 | |||
4e80573a76 | |||
c5b2381703 | |||
45d54ea67f | |||
6ac3a10619 | |||
1657fa039d | |||
f49f406f67 | |||
![]() |
4a24c6fe37 | ||
46a261e108 | |||
40de5742af | |||
586cf8b190 | |||
933eddc9a1 | |||
c26b46ddca | |||
257bfb65b2 | |||
a069fffcc4 | |||
9182c882fe | |||
1364f1e35c | |||
563ef943c7 | |||
e2c4a4c510 | |||
5780de2ae0 | |||
fc5be0b598 | |||
a070dd8bdd | |||
1af722b819 | |||
![]() |
b05ba2ef0e | ||
7af40ccf5f | |||
8f5a4a2453 | |||
834e87af7b | |||
ae8fa7062c | |||
3382b07ad6 | |||
432bfbf7a3 | |||
36584bbc2d | |||
4eeec6e9b5 | |||
ceff86aafe | |||
cf17f7e0cc | |||
3d9ecf1cf2 | |||
0c90aa097d | |||
bf75106ae9 | |||
c94877ae3d | |||
00c6cbb985 | |||
61afbf55f1 | |||
![]() |
f3ec0d8e58 | ||
b66c21f8b0 | |||
![]() |
29d6750134 | ||
de70bcbb36 | |||
![]() |
fd0370acc2 | ||
08241b313c | |||
![]() |
0ef794b553 | ||
![]() |
83e2f8c993 | ||
![]() |
ac1ed19eae | ||
673c254c7d | |||
cadda7aa5c | |||
b8115f0c5b | |||
dac81ad71b | |||
d27db03444 | |||
![]() |
2d0b9faaf6 | ||
![]() |
32124b940e | ||
bd0de99b52 | |||
2ecc33d84b | |||
6eb8340ef4 | |||
416e006a2a | |||
92b775d319 | |||
ab6a011b3b | |||
aad8b8405c | |||
2eca9c7ed4 | |||
![]() |
2c6c1b6cc0 | ||
![]() |
c1ba68dd04 | ||
24a77745a4 | |||
fb46c047bd | |||
ded4dc7761 | |||
dc3f46d96b | |||
bb971bead9 | |||
e785569c95 | |||
c9eaf04afb | |||
a87593e62a | |||
9009ac2c3d | |||
04313f1bb5 | |||
afe7387be8 | |||
b29a8a5dfe | |||
9075f63e8f | |||
76f7b22989 | |||
dccadc9e78 | |||
5b2d2b2319 | |||
2929cfe5de | |||
f0f7282d9d | |||
b73dc36859 | |||
9b89de2571 | |||
05f970847e | |||
2d146b61d8 | |||
5f5cf21a83 | |||
55f27617cf | |||
00e30f122b | |||
82466ca2e5 | |||
0c84939117 | |||
8221d64844 | |||
5f8969bb4b | |||
a1609340b4 | |||
a96b52e37f | |||
88c855174d | |||
5a693ce9e3 | |||
bc8ae58727 | |||
01e1944cd4 | |||
29b65f5345 | |||
9f5c0ffb5e | |||
016a2707f5 | |||
841b2cea7b | |||
addb1a5c9a | |||
b39d66adde | |||
0ff1c38fcc | |||
7eecf77f0b | |||
fd1fec5600 | |||
b7b5c23b80 | |||
519c12da41 | |||
4a7951fede | |||
4617172740 | |||
a112adf16a | |||
19d19970e4 | |||
8c3855dc6e | |||
![]() |
229c0580e2 | ||
96d487b3ae | |||
aaa8ee1307 | |||
927456491a | |||
02df67875a | |||
f578e31a8e | |||
4546f176eb | |||
1e532eb37a | |||
aa112dc77c | |||
39188f3c99 | |||
930ecef9b5 | |||
753806c731 | |||
a689b5932d | |||
dba675fb65 | |||
924596abad | |||
![]() |
c1fc180861 | ||
5a64c687dd | |||
4f3ec01101 | |||
17a67bf778 | |||
ca12d70af0 | |||
5737193d81 | |||
8de8ab38f6 | |||
0e4245bc28 | |||
be451354c9 | |||
918d9291d6 | |||
c57b0cae28 | |||
4f9ef65dac | |||
2d4ec90497 | |||
501d2443d0 | |||
df9597cfba | |||
![]() |
8884d2d61b | ||
c36d2a9a7a | |||
77ac1f39c4 | |||
![]() |
d3788207aa | ||
![]() |
21ebee2580 | ||
![]() |
86c6769e20 | ||
2d35eed34d | |||
929d9ec0c7 | |||
dd14ea1819 | |||
fba9cd019f | |||
ea43ae4194 | |||
516a060bb3 | |||
999f1f7504 | |||
2ff714269e | |||
63aa6dd845 | |||
ae636994cd | |||
037035921b | |||
e7fc15e2ef | |||
d1e0059eac | |||
5d5cf53081 | |||
8f6a9c5176 | |||
5130bb116a | |||
df7db41e1b | |||
f2c52aa0e1 | |||
855f7fee63 | |||
203d405299 | |||
66d48b272e | |||
ee0c3081b0 | |||
2262d6c45a | |||
28135c06bb | |||
24c321cfe9 | |||
91b31173e9 | |||
34b213d604 | |||
c109a39995 | |||
f8d8f28e2c | |||
a3a7e19f07 | |||
3471ff1a5c | |||
d6480167ad | |||
60a2038fba | |||
515d9f9a35 | |||
e1a719c043 | |||
2271b9b584 | |||
d0e6b59cd1 | |||
d2e473a2dd | |||
a0c45a2d54 | |||
790cb28766 | |||
dc0c81337d | |||
![]() |
643720f8ab | ||
c0fb8375f6 | |||
578ccdf75b | |||
a5ed075110 | |||
afb17552e1 | |||
37458798fa | |||
e8d75b957f | |||
6c97c7f767 | |||
6ce4d39e6b | |||
0afe4e81cb | |||
222c39fe70 | |||
8de878e202 | |||
413bd71aaf | |||
cf21ba37ef | |||
![]() |
9c6a382f95 | ||
ce25b5812b | |||
7d281a4f7d | |||
f7e2559fd6 | |||
2dbb492268 | |||
1b942ef90c | |||
dbd4ff4163 | |||
c4d56199cc | |||
![]() |
98cd0fed36 | ||
![]() |
1c8c91384c | ||
![]() |
ab31c24322 | ||
addb2034a7 | |||
c297769d22 | |||
bb2648ebf0 | |||
2ff490f9e3 | |||
b2cd225623 | |||
f53bd31690 | |||
e94ec79341 | |||
7beb57f3bd | |||
6f42e69b58 | |||
7efc87dcd2 | |||
1d8648b13a | |||
23c4854f45 | |||
7223a0348f | |||
abc6200331 | |||
46a222afd7 | |||
624bce6b4d | |||
f1e4903854 | |||
fae5a907d4 | |||
b5542c1ea4 | |||
c1fe582446 | |||
a287c8d3c1 | |||
3826fcf035 | |||
5759bbe9f9 | |||
eae7090464 | |||
cb548329ea | |||
9586472b9a | |||
23042a3fb1 | |||
f863ef8a34 | |||
74450265d0 | |||
20e68d848e | |||
![]() |
5ec6c8d267 | ||
5f9677fe0c | |||
3558bb8eae | |||
ae085e301c | |||
841df831e8 | |||
3d7021b4ec | |||
b129a0b397 | |||
5f27a5fff7 | |||
b801db1181 | |||
b5840f9b5b | |||
![]() |
beb6399ae5 | ||
![]() |
15868b1ff4 | ||
7b524d9b71 | |||
a13314a03f | |||
cbdddc5648 | |||
51568030e9 | |||
27da305a40 | |||
67b352f9c5 | |||
8cdb99d51c | |||
3a8347f823 | |||
6570159929 | |||
1f778dbefc | |||
4b9ff3cd42 | |||
2e99a74df9 | |||
879b89e967 | |||
0469f2392f | |||
55bffa82da | |||
de6c6501f0 | |||
de05e261ec | |||
f7fbb518c8 | |||
d6212f67a9 | |||
ef7fcaf8e6 | |||
6e4b9f5836 | |||
c9f12b21e2 | |||
35db01325f | |||
8f4d991594 | |||
a50a51eef0 | |||
276790cbfa | |||
7dd7849ddd | |||
7561e3dad0 | |||
354ecc2f1e | |||
157081069d | |||
befb9d99f8 | |||
b964f73e7d | |||
eed9ac5b6e | |||
e291432f5f | |||
635b4db162 | |||
![]() |
a6f275cad3 | ||
82c17082ba | |||
071799d4fc | |||
61b22d27c8 | |||
5cc8e7ab53 | |||
2c916c97ac | |||
0f427f4eb1 | |||
58e58310b7 | |||
a8f37763ca | |||
dbc054bb88 | |||
abb07a38b8 | |||
c88c331384 | |||
![]() |
187e217b5a | ||
fa1868ae97 | |||
c3b641613c | |||
0732a9f1b2 | |||
87833f8f95 | |||
b35ba22d84 | |||
c6e6a9046e | |||
ee8b284d11 | |||
![]() |
c317f111c1 | ||
2fcd3f0296 | |||
1917d0345e | |||
ebfad93039 | |||
3a48147b8a | |||
0b15353baa | |||
f3eecfe386 | |||
026de343e3 | |||
f8d219dfd4 | |||
6ff0d59967 | |||
feaf309de7 | |||
f4e3b1e573 | |||
e3bdb189a7 | |||
ab063db34d | |||
3f1111b2a8 | |||
ad9fd47d7b | |||
01234b430b | |||
956c539e59 | |||
d3a792431e | |||
53ba9f01e2 | |||
1725bfc3cb | |||
6a3bd04e42 | |||
8af2c87f7e | |||
cd39e3dec1 | |||
338be95874 | |||
9ac56bad4c | |||
67ee87a6e9 | |||
53e1442ac2 | |||
e1d6219731 | |||
dc3b7602ee | |||
d086570c7a | |||
4947aa29db | |||
d443dcc733 | |||
6f158f834d | |||
445d506ac9 | |||
![]() |
b11a463e4f | ||
b665ad8621 | |||
41af27c582 | |||
47473bee34 | |||
b9ccfb89ce | |||
ce64cfd6ed | |||
3cf39c09bf | |||
4246898ad3 | |||
2851602052 | |||
4968a0bdf9 | |||
![]() |
f383cad329 | ||
002d563bbb | |||
4d91808710 | |||
4044c29069 | |||
54d651c344 | |||
19df0e3cfd | |||
b2510b9e20 | |||
feb6fd632f | |||
a1c3e45100 | |||
b45cee1aaf | |||
5df6b4004c | |||
5f71b1edd5 | |||
80083ac773 | |||
0cd34967c0 | |||
6afafc46f6 | |||
2d75b39b64 | |||
eee3529eaf | |||
859b3ff346 | |||
bce482f476 | |||
d9b1592c88 | |||
3462b4c7ae | |||
2d60c496a2 | |||
513f566b40 | |||
b5e5fbcfc8 | |||
3da25dc625 | |||
f3c5a84bb9 | |||
033641aa74 | |||
f9aea19d98 | |||
d52b7dbe26 | |||
3e6f2c7a99 | |||
f7022fc73f | |||
8a048593ca | |||
b6030711a2 | |||
638c16f410 | |||
682a74e090 | |||
aee04d4960 | |||
4c19fe4707 | |||
4998ceebfc | |||
408726000a | |||
![]() |
e0f2f07d1e | ||
![]() |
6d73d98fb6 | ||
03a83b4eb5 | |||
![]() |
ea4309925f | ||
a9d5c8f97f | |||
847b66e81d | |||
b8cf8e0bc2 | |||
80bc819d50 | |||
adefdbc9df | |||
7c68147709 | |||
060d668ae6 | |||
6c1fdd52c1 | |||
3caafd24a9 | |||
c4958bc540 | |||
2e8d7fa7ee | |||
253c5d25f7 | |||
c290ac2ab1 | |||
af4167441b | |||
50a4b9d502 | |||
5f0d4fef91 | |||
68b06208d2 | |||
f3c88f8ba5 | |||
![]() |
e178a273fa | ||
94c4a9995e | |||
4b673ebb99 | |||
577d6d3f87 | |||
ed4222258e | |||
7c1bb239be | |||
56db09e2fd | |||
1388e9de8a | |||
a971409d5a | |||
ccd5f80550 | |||
8ff6322152 | |||
6db290641e | |||
286bd87445 | |||
eb85de027c | |||
78693d524c | |||
e7003bc965 | |||
c73be23e17 | |||
845f4cebad | |||
d03b26edbd | |||
a1cc7042a7 | |||
247abdbf41 | |||
b37093de7b | |||
45d59e0df5 | |||
0cebe554d1 | |||
af3d7123c9 | |||
3953b82030 | |||
88aa056d1a | |||
b66600b9f3 | |||
b406b6717f | |||
94084b2d3c | |||
00fc110d3f | |||
1c0a490d0e | |||
c3fa7b7e4f | |||
4b36c5b1a7 | |||
3385c04598 | |||
9fed00341e | |||
![]() |
ed4b2ba75a | ||
2209321f78 | |||
be8a201a16 | |||
0b0c7ca017 | |||
c8e331f450 | |||
4891da8ae2 | |||
1a5fa2b319 | |||
143a81ccce | |||
c29afa5156 | |||
732e8c723e | |||
![]() |
6bb980b0f4 | ||
8e84938dd0 | |||
a4f840e15b | |||
fcc844f8fb | |||
![]() |
b3f0dc2907 | ||
71997921c4 | |||
0c75a98561 | |||
![]() |
174ed69c1b | ||
7c8b9c7a9a | |||
62906cdbea | |||
7f570a7174 | |||
9cd2e80d5d | |||
462bd81399 | |||
819152527f | |||
89e2b441ed | |||
ae34808114 | |||
fdad77d73d | |||
0a361eb5ec | |||
2ba804d7b7 | |||
5dc0fd08a7 | |||
2053e1f533 | |||
4ae06b6123 | |||
013fc69ea8 | |||
3bf98d1cec | |||
9ce49af32e | |||
1f251b7a27 | |||
61fdc45034 | |||
bf7f918a0e | |||
fe0fa7cec6 | |||
![]() |
4a540b9b48 | ||
fcbb20286a | |||
d08e925ef1 | |||
bcff0ef9ca | |||
2e5671a959 | |||
aadd355028 | |||
3de6fe0b3e | |||
e9b4de43d8 | |||
90b0fb135f | |||
8a1860bd9a | |||
6bef255904 | |||
8083527f90 | |||
1d2eb461b5 | |||
![]() |
b84707df17 | ||
ada47c4772 | |||
748475b943 | |||
b21db5e698 | |||
![]() |
5add6f2ed9 | ||
c9dc55301c | |||
a19c9e9351 | |||
![]() |
2db09f67a4 | ||
03544ed54f | |||
54a03d4247 | |||
84adc23941 | |||
0f68e5c30a | |||
5181bc46b3 | |||
452590571c | |||
ab38223047 | |||
f731bce6cd | |||
4c3bb60d0f | |||
9ff4e0068f | |||
84e98ba182 | |||
8e58f93215 | |||
aab4794512 | |||
952d6663e0 | |||
7b0c8097a7 | |||
b313525c1b | |||
d75e45d10c | |||
bd87ba90e6 | |||
![]() |
7bc5246156 | ||
f6c5af3d47 | |||
c8fcea0c33 | |||
20ece8736f | |||
![]() |
b4adb85933 | ||
605ce623be | |||
![]() |
7b30a3e98d | ||
![]() |
7b76a160a4 | ||
0eb9351296 | |||
![]() |
2330cec2c6 | ||
fe22635bf6 | |||
c0367b19e2 | |||
4adbe31e2f | |||
1fb2eaf1c5 | |||
2f280d4b92 | |||
e9c8ae767a | |||
![]() |
7fc220517f | ||
![]() |
28617bb167 | ||
84f025c6fd | |||
![]() |
066f5a4469 | ||
![]() |
d07cc5e680 | ||
![]() |
162cf8e81d | ||
![]() |
fd5c94c48a | ||
![]() |
2724d08cf5 | ||
![]() |
461ba4438f | ||
d581c1b304 | |||
e8a4bddef4 | |||
fbd889ec28 | |||
509e0c5b76 | |||
7b62a54230 | |||
![]() |
53c98e45cf | ||
bcefce33f2 | |||
9df1e0cad5 | |||
aa0bd29546 | |||
1a72ee4cbe | |||
e4ef8cbf7e | |||
5fa6cdb77a | |||
5304c6ed7d | |||
b669fd376a | |||
4d4608363c | |||
7141eb75ef | |||
b282a065f1 | |||
![]() |
4f81b4b4ce | ||
a3226bdf3e | |||
![]() |
d96e9de9de | ||
93fd07e19c | |||
5f19646d7e | |||
675677ec67 | |||
![]() |
df2a19eac7 | ||
2856f3b583 | |||
965bd53e02 | |||
05f15645ec | |||
cb0cab48ef | |||
029fb002dd | |||
4443c4082e | |||
bda8887e0c | |||
5575aba025 | |||
25d8ce16b5 | |||
59553d47c0 | |||
84af1eaa92 | |||
059f19d821 | |||
0f156a2436 | |||
f42a501c61 | |||
d8b8b4d7e2 | |||
14f3b2cdad | |||
f546b0800b | |||
92ae3ff84c | |||
5954b351f0 | |||
33c4eefabb | |||
![]() |
6e999e08ab | ||
ec98bb318b | |||
3a7ab62eac | |||
1f55e12206 | |||
ea3895558d | |||
![]() |
e4c6da29b2 | ||
4ced8900f5 | |||
f087a225dc | |||
dd98f6b55c | |||
b18a214ecb | |||
d7c812f15b | |||
3ba16afa1e | |||
8c3f4f7edf | |||
307f8c8e76 | |||
8bd09b1d77 | |||
f29a738e23 | |||
c18ff180e3 | |||
22ee056c3a | |||
f5a2d93224 | |||
a31bd2609f | |||
![]() |
2e19649bb9 | ||
7124c66340 | |||
![]() |
259b9c73d0 | ||
08b0de45f3 | |||
![]() |
2246d456aa | ||
9553ba1373 | |||
a2ebbeb836 | |||
5b014911a5 | |||
23fd576cf8 | |||
43464c94f4 | |||
322a614497 | |||
340c535dbf | |||
088ea59b7e | |||
cac9828ae3 | |||
9e9d45ae16 | |||
89d0cc3a0c | |||
e54a4b355e | |||
933c2cffd6 | |||
ed1fc9d96b | |||
496045fc30 | |||
f651cc6c4e | |||
0efb627bbd | |||
1b07b7a068 | |||
0abce91940 | |||
2e46a8c864 | |||
ef5a362a5b | |||
a6715213c3 | |||
482465e18a | |||
b0ec1d2747 | |||
1ef33be2d4 | |||
d2aee304e8 | |||
6e56b42faa | |||
1c6e338d59 | |||
7313b243f2 | |||
1182c26978 | |||
8cbff7093d | |||
0fcc063fd9 | |||
1949643ee5 | |||
7bf9d2c580 | |||
4a9c5c60b7 | |||
0e285fa23c | |||
214a78a46f | |||
f87f8532c3 | |||
3da0b52c97 | |||
785a518ebe | |||
2bf56f7fbb | |||
93a865dde7 | |||
72d2355af5 | |||
dfac5a63bd | |||
c87327ddeb | |||
7ca5ba14b5 | |||
51bf1680bd | |||
91d3a54869 | |||
ee0000b8bb | |||
7f1d1b03ad | |||
abee9a85d4 | |||
![]() |
223016a408 | ||
6e6a1838ea | |||
1d3ffc93ec | |||
e517aaa136 | |||
8b8c3c34dd | |||
4f6cab176a | |||
98876d46ef | |||
7ef2b760dc | |||
c27b7df563 | |||
a496af8680 | |||
54ce344bc7 | |||
dbfde0fe70 | |||
8e43ef5f31 | |||
edaaa2afdd | |||
d2dc452333 | |||
2cd1bc3aa7 | |||
1a912462f4 | |||
bcf9c73cbc | |||
3c9c557580 | |||
c7fee64dea | |||
ca3891e83b | |||
a5114bfb85 | |||
022f8b552d | |||
14508ef100 | |||
bfaf09b5bc | |||
c2fa36999f | |||
![]() |
00073651d4 | ||
eb030204f1 | |||
![]() |
56005ef499 | ||
b6d6d8a1aa | |||
0037e08b06 | |||
b6b20c4d92 | |||
![]() |
d486ee2dbd | ||
9ba6b64efa | |||
e4ca6b93ad | |||
77d7cae266 | |||
f4e0a19d4f | |||
053082e9d8 | |||
![]() |
ddd4b2b785 | ||
e5a1cadb2f | |||
c18675b12c | |||
dba3fb9e09 | |||
3e695a27cd | |||
a1063fc6c2 | |||
b414322f26 | |||
899eefd1bb | |||
72607feb91 | |||
870bcf6e1a | |||
8b78510fc4 | |||
e0bc5c4087 | |||
1fd653dd82 | |||
d9aae38bc8 | |||
efad9bcdda | |||
b5d7fb813f | |||
bb16f96973 | |||
7197017ea9 | |||
ed6fd01ba9 | |||
826bed4349 | |||
797f6e1483 | |||
e011e4ce76 | |||
92f8a6ac21 | |||
7b8d812277 | |||
2ae4e860f6 | |||
2ef192a55b |
@@ -180,6 +180,7 @@ ForEachMacros:
|
||||
- CTX_DATA_BEGIN_WITH_ID
|
||||
- DEG_OBJECT_ITER_BEGIN
|
||||
- DEG_OBJECT_ITER_FOR_RENDER_ENGINE_BEGIN
|
||||
- DRW_ENABLED_ENGINE_ITER
|
||||
- DRIVER_TARGETS_LOOPER_BEGIN
|
||||
- DRIVER_TARGETS_USED_LOOPER_BEGIN
|
||||
- FOREACH_BASE_IN_EDIT_MODE_BEGIN
|
||||
@@ -265,4 +266,8 @@ ForEachMacros:
|
||||
- VECTOR_SET_SLOT_PROBING_BEGIN
|
||||
|
||||
StatementMacros:
|
||||
- PyObject_HEAD
|
||||
- PyObject_VAR_HEAD
|
||||
|
||||
MacroBlockBegin: "^BSDF_CLOSURE_CLASS_BEGIN$"
|
||||
MacroBlockEnd: "^BSDF_CLOSURE_CLASS_END$"
|
||||
|
5
.github/pull_request_template.md
vendored
Normal file
5
.github/pull_request_template.md
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
This repository is only used as a mirror of git.blender.org. Blender development happens on
|
||||
https://developer.blender.org.
|
||||
|
||||
To get started with contributing code, please see:
|
||||
https://wiki.blender.org/wiki/Process/Contributing_Code
|
149
CMakeLists.txt
149
CMakeLists.txt
@@ -30,7 +30,7 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
||||
"CMake generation for blender is not allowed within the source directory!"
|
||||
"\n Remove \"${CMAKE_SOURCE_DIR}/CMakeCache.txt\" and try again from another folder, e.g.:"
|
||||
"\n "
|
||||
"\n rm CMakeCache.txt"
|
||||
"\n rm -rf CMakeCache.txt CMakeFiles"
|
||||
"\n cd .."
|
||||
"\n mkdir cmake-make"
|
||||
"\n cd cmake-make"
|
||||
@@ -110,6 +110,10 @@ if(POLICY CMP0074)
|
||||
cmake_policy(SET CMP0074 NEW)
|
||||
endif()
|
||||
|
||||
# Install CODE|SCRIPT allow the use of generator expressions.
|
||||
if(POLICY CMP0087)
|
||||
cmake_policy(SET CMP0087 NEW)
|
||||
endif()
|
||||
#-----------------------------------------------------------------------------
|
||||
# Load some macros.
|
||||
include(build_files/cmake/macros.cmake)
|
||||
@@ -152,6 +156,15 @@ get_blender_version()
|
||||
option(WITH_BLENDER "Build blender (disable to build only the blender player)" ON)
|
||||
mark_as_advanced(WITH_BLENDER)
|
||||
|
||||
if(APPLE)
|
||||
# Currently this causes a build error linking, disable.
|
||||
set(WITH_BLENDER_THUMBNAILER OFF)
|
||||
elseif(WIN32)
|
||||
option(WITH_BLENDER_THUMBNAILER "Build \"BlendThumb.dll\" helper for Windows explorer integration" ON)
|
||||
else()
|
||||
option(WITH_BLENDER_THUMBNAILER "Build \"blender-thumbnailer\" thumbnail extraction utility" ON)
|
||||
endif()
|
||||
|
||||
option(WITH_INTERNATIONAL "Enable I18N (International fonts and text)" ON)
|
||||
|
||||
option(WITH_PYTHON "Enable Embedded Python API (only disable for development)" ON)
|
||||
@@ -349,7 +362,7 @@ mark_as_advanced(WITH_SYSTEM_GLOG)
|
||||
option(WITH_FREESTYLE "Enable Freestyle (advanced edges rendering)" ON)
|
||||
|
||||
# Misc
|
||||
if(WIN32)
|
||||
if(WIN32 OR APPLE)
|
||||
option(WITH_INPUT_IME "Enable Input Method Editor (IME) for complex Asian character input" ON)
|
||||
endif()
|
||||
option(WITH_INPUT_NDOF "Enable NDOF input devices (SpaceNavigator and friends)" ON)
|
||||
@@ -384,46 +397,59 @@ if(WITH_PYTHON_INSTALL)
|
||||
set(PYTHON_REQUESTS_PATH "" CACHE PATH "Path to python site-packages or dist-packages containing 'requests' module")
|
||||
mark_as_advanced(PYTHON_REQUESTS_PATH)
|
||||
endif()
|
||||
|
||||
option(WITH_PYTHON_INSTALL_ZSTANDARD "Copy zstandard into the blender install folder" ON)
|
||||
set(PYTHON_ZSTANDARD_PATH "" CACHE PATH "Path to python site-packages or dist-packages containing 'zstandard' module")
|
||||
mark_as_advanced(PYTHON_ZSTANDARD_PATH)
|
||||
endif()
|
||||
|
||||
option(WITH_CPU_SIMD "Enable SIMD instruction if they're detected on the host machine" ON)
|
||||
mark_as_advanced(WITH_CPU_SIMD)
|
||||
|
||||
# Cycles
|
||||
option(WITH_CYCLES "Enable Cycles Render Engine" ON)
|
||||
option(WITH_CYCLES_STANDALONE "Build Cycles standalone application" OFF)
|
||||
option(WITH_CYCLES_STANDALONE_GUI "Build Cycles standalone with GUI" OFF)
|
||||
option(WITH_CYCLES_OSL "Build Cycles with OSL support" ON)
|
||||
option(WITH_CYCLES_EMBREE "Build Cycles with Embree support" ON)
|
||||
option(WITH_CYCLES_CUDA_BINARIES "Build Cycles CUDA binaries" OFF)
|
||||
option(WITH_CYCLES_CUBIN_COMPILER "Build cubins with nvrtc based compiler instead of nvcc" OFF)
|
||||
option(WITH_CYCLES_CUDA_BUILD_SERIAL "Build cubins one after another (useful on machines with limited RAM)" OFF)
|
||||
mark_as_advanced(WITH_CYCLES_CUDA_BUILD_SERIAL)
|
||||
set(CYCLES_TEST_DEVICES CPU CACHE STRING "Run regression tests on the specified device types (CPU CUDA OPTIX OPENCL)" )
|
||||
set(CYCLES_CUDA_BINARIES_ARCH sm_30 sm_35 sm_37 sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 sm_86 compute_75 CACHE STRING "CUDA architectures to build binaries for")
|
||||
mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH)
|
||||
unset(PLATFORM_DEFAULT)
|
||||
option(WITH_CYCLES_LOGGING "Build Cycles with logging support" ON)
|
||||
option(WITH_CYCLES_DEBUG "Build Cycles with extra debug capabilities" OFF)
|
||||
option(WITH_CYCLES_NATIVE_ONLY "Build Cycles with native kernel only (which fits current CPU, use for development only)" OFF)
|
||||
option(WITH_CYCLES_KERNEL_ASAN "Build Cycles kernels with address sanitizer when WITH_COMPILER_ASAN is on, even if it's very slow" OFF)
|
||||
option(WITH_CYCLES "Enable Cycles Render Engine" ON)
|
||||
option(WITH_CYCLES_OSL "Build Cycles with OpenShadingLanguage support" ON)
|
||||
option(WITH_CYCLES_EMBREE "Build Cycles with Embree support" ON)
|
||||
option(WITH_CYCLES_LOGGING "Build Cycles with logging support" ON)
|
||||
|
||||
option(WITH_CYCLES_STANDALONE "Build Cycles standalone application" OFF)
|
||||
option(WITH_CYCLES_STANDALONE_GUI "Build Cycles standalone with GUI" OFF)
|
||||
|
||||
option(WITH_CYCLES_DEBUG_NAN "Build Cycles with additional asserts for detecting NaNs and invalid values" OFF)
|
||||
option(WITH_CYCLES_NATIVE_ONLY "Build Cycles with native kernel only (which fits current CPU, use for development only)" OFF)
|
||||
option(WITH_CYCLES_KERNEL_ASAN "Build Cycles kernels with address sanitizer when WITH_COMPILER_ASAN is on, even if it's very slow" OFF)
|
||||
set(CYCLES_TEST_DEVICES CPU CACHE STRING "Run regression tests on the specified device types (CPU CUDA OPTIX HIP)" )
|
||||
mark_as_advanced(WITH_CYCLES_KERNEL_ASAN)
|
||||
mark_as_advanced(WITH_CYCLES_CUBIN_COMPILER)
|
||||
mark_as_advanced(WITH_CYCLES_LOGGING)
|
||||
mark_as_advanced(WITH_CYCLES_DEBUG)
|
||||
mark_as_advanced(WITH_CYCLES_DEBUG_NAN)
|
||||
mark_as_advanced(WITH_CYCLES_NATIVE_ONLY)
|
||||
|
||||
option(WITH_CYCLES_DEVICE_CUDA "Enable Cycles CUDA compute support" ON)
|
||||
option(WITH_CYCLES_DEVICE_OPTIX "Enable Cycles OptiX support" OFF)
|
||||
option(WITH_CYCLES_DEVICE_OPENCL "Enable Cycles OpenCL compute support" ON)
|
||||
option(WITH_CYCLES_NETWORK "Enable Cycles compute over network support (EXPERIMENTAL and unfinished)" OFF)
|
||||
# NVIDIA CUDA & OptiX
|
||||
option(WITH_CYCLES_DEVICE_CUDA "Enable Cycles NVIDIA CUDA compute support" ON)
|
||||
option(WITH_CYCLES_DEVICE_OPTIX "Enable Cycles NVIDIA OptiX support" ON)
|
||||
mark_as_advanced(WITH_CYCLES_DEVICE_CUDA)
|
||||
mark_as_advanced(WITH_CYCLES_DEVICE_OPENCL)
|
||||
mark_as_advanced(WITH_CYCLES_NETWORK)
|
||||
|
||||
option(WITH_CUDA_DYNLOAD "Dynamically load CUDA libraries at runtime" ON)
|
||||
option(WITH_CYCLES_CUDA_BINARIES "Build Cycles NVIDIA CUDA binaries" OFF)
|
||||
set(CYCLES_CUDA_BINARIES_ARCH sm_30 sm_35 sm_37 sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 sm_86 compute_75 CACHE STRING "CUDA architectures to build binaries for")
|
||||
option(WITH_CYCLES_CUBIN_COMPILER "Build cubins with nvrtc based compiler instead of nvcc" OFF)
|
||||
option(WITH_CYCLES_CUDA_BUILD_SERIAL "Build cubins one after another (useful on machines with limited RAM)" OFF)
|
||||
option(WITH_CUDA_DYNLOAD "Dynamically load CUDA libraries at runtime (for developers, makes cuda-gdb work)" ON)
|
||||
mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH)
|
||||
mark_as_advanced(WITH_CYCLES_CUBIN_COMPILER)
|
||||
mark_as_advanced(WITH_CYCLES_CUDA_BUILD_SERIAL)
|
||||
mark_as_advanced(WITH_CUDA_DYNLOAD)
|
||||
|
||||
# AMD HIP
|
||||
option(WITH_CYCLES_DEVICE_HIP "Enable Cycles AMD HIP support" OFF)
|
||||
option(WITH_CYCLES_HIP_BINARIES "Build Cycles AMD HIP binaries" OFF)
|
||||
set(CYCLES_HIP_BINARIES_ARCH gfx1010 gfx1011 gfx1012 gfx1030 gfx1031 gfx1032 gfx1034 CACHE STRING "AMD HIP architectures to build binaries for")
|
||||
mark_as_advanced(WITH_CYCLES_DEVICE_HIP)
|
||||
mark_as_advanced(CYCLES_HIP_BINARIES_ARCH)
|
||||
|
||||
# Draw Manager
|
||||
option(WITH_DRAW_DEBUG "Add extra debug capabilities to Draw Manager" OFF)
|
||||
mark_as_advanced(WITH_DRAW_DEBUG)
|
||||
|
||||
# LLVM
|
||||
option(WITH_LLVM "Use LLVM" OFF)
|
||||
if(APPLE)
|
||||
@@ -604,12 +630,6 @@ if(WIN32)
|
||||
option(WITH_WINDOWS_FIND_MODULES "Use find_package to locate libraries" OFF)
|
||||
mark_as_advanced(WITH_WINDOWS_FIND_MODULES)
|
||||
|
||||
option(WINDOWS_USE_VISUAL_STUDIO_PROJECT_FOLDERS "Organize the visual studio projects according to source folder structure." ON)
|
||||
mark_as_advanced(WINDOWS_USE_VISUAL_STUDIO_PROJECT_FOLDERS)
|
||||
|
||||
option(WINDOWS_USE_VISUAL_STUDIO_SOURCE_FOLDERS "Organize the source files in filters matching the source folders." ON)
|
||||
mark_as_advanced(WINDOWS_USE_VISUAL_STUDIO_SOURCE_FOLDERS)
|
||||
|
||||
option(WINDOWS_PYTHON_DEBUG "Include the files needed for debugging python scripts with visual studio 2017+." OFF)
|
||||
mark_as_advanced(WINDOWS_PYTHON_DEBUG)
|
||||
|
||||
@@ -627,6 +647,18 @@ if(WIN32)
|
||||
|
||||
endif()
|
||||
|
||||
if(WIN32 OR XCODE)
|
||||
option(IDE_GROUP_SOURCES_IN_FOLDERS "Organize the source files in filters matching the source folders." ON)
|
||||
mark_as_advanced(IDE_GROUP_SOURCES_IN_FOLDERS)
|
||||
|
||||
option(IDE_GROUP_PROJECTS_IN_FOLDERS "Organize the projects according to source folder structure." ON)
|
||||
mark_as_advanced(IDE_GROUP_PROJECTS_IN_FOLDERS)
|
||||
|
||||
if (IDE_GROUP_PROJECTS_IN_FOLDERS)
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
# See WITH_WINDOWS_SCCACHE for Windows.
|
||||
option(WITH_COMPILER_CCACHE "Use ccache to improve rebuild times (Works with Ninja, Makefiles and Xcode)" OFF)
|
||||
@@ -811,6 +843,11 @@ if(NOT WITH_CUDA_DYNLOAD)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(WITH_CYCLES_DEVICE_HIP)
|
||||
# Currently HIP must be dynamically loaded, this may change in future toolkits
|
||||
set(WITH_HIP_DYNLOAD ON)
|
||||
endif()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check check if submodules are cloned
|
||||
|
||||
@@ -836,7 +873,7 @@ if(WITH_PYTHON)
|
||||
# because UNIX will search for the old Python paths which may not exist.
|
||||
# giving errors about missing paths before this case is met.
|
||||
if(DEFINED PYTHON_VERSION AND "${PYTHON_VERSION}" VERSION_LESS "3.9")
|
||||
message(FATAL_ERROR "At least Python 3.9 is required to build")
|
||||
message(FATAL_ERROR "At least Python 3.9 is required to build, but found Python ${PYTHON_VERSION}")
|
||||
endif()
|
||||
|
||||
file(GLOB RESULT "${CMAKE_SOURCE_DIR}/release/scripts/addons")
|
||||
@@ -1584,6 +1621,9 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNUSED_PARAMETER -Wunused-parameter)
|
||||
|
||||
ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_ALL -Wall)
|
||||
# Using C++20 features while having C++17 as the project language isn't allowed by MSVC.
|
||||
ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_CXX20_DESIGNATOR -Wc++20-designator)
|
||||
|
||||
ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_AUTOLOGICAL_COMPARE -Wno-tautological-compare)
|
||||
ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_UNKNOWN_PRAGMAS -Wno-unknown-pragmas)
|
||||
ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_CHAR_SUBSCRIPTS -Wno-char-subscripts)
|
||||
@@ -1703,24 +1743,26 @@ if(WITH_PYTHON)
|
||||
elseif(WITH_PYTHON_INSTALL_REQUESTS)
|
||||
find_python_package(requests "")
|
||||
endif()
|
||||
|
||||
if(WIN32 OR APPLE)
|
||||
# pass, we have this in lib/python/site-packages
|
||||
elseif(WITH_PYTHON_INSTALL_ZSTANDARD)
|
||||
find_python_package(zstandard "")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
string(APPEND CMAKE_CXX_FLAGS " /std:c++17")
|
||||
# Make MSVC properly report the value of the __cplusplus preprocessor macro
|
||||
# Available MSVC 15.7 (1914) and up, without this it reports 199711L regardless
|
||||
# of the C++ standard chosen above
|
||||
if(MSVC_VERSION GREATER 1913)
|
||||
string(APPEND CMAKE_CXX_FLAGS " /Zc:__cplusplus")
|
||||
endif()
|
||||
elseif(
|
||||
CMAKE_COMPILER_IS_GNUCC OR
|
||||
CMAKE_C_COMPILER_ID MATCHES "Clang" OR
|
||||
CMAKE_C_COMPILER_ID MATCHES "Intel"
|
||||
)
|
||||
string(APPEND CMAKE_CXX_FLAGS " -std=c++17")
|
||||
else()
|
||||
message(FATAL_ERROR "Unknown compiler ${CMAKE_C_COMPILER_ID}, can't enable C++17 build")
|
||||
# Select C++17 as the standard for C++ projects.
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
# If C++17 is not available, downgrading to an earlier standard is NOT OK.
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
# Do not enable compiler specific language extentions.
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
# Make MSVC properly report the value of the __cplusplus preprocessor macro
|
||||
# Available MSVC 15.7 (1914) and up, without this it reports 199711L regardless
|
||||
# of the C++ standard chosen above.
|
||||
if(MSVC AND MSVC_VERSION GREATER 1913)
|
||||
string(APPEND CMAKE_CXX_FLAGS " /Zc:__cplusplus")
|
||||
endif()
|
||||
|
||||
# Visual Studio has all standards it supports available by default
|
||||
@@ -1841,6 +1883,9 @@ elseif(WITH_CYCLES_STANDALONE)
|
||||
if(WITH_CUDA_DYNLOAD)
|
||||
add_subdirectory(extern/cuew)
|
||||
endif()
|
||||
if(WITH_HIP_DYNLOAD)
|
||||
add_subdirectory(extern/hipew)
|
||||
endif()
|
||||
if(NOT WITH_SYSTEM_GLEW)
|
||||
add_subdirectory(extern/glew)
|
||||
endif()
|
||||
@@ -1915,6 +1960,7 @@ if(FIRST_RUN)
|
||||
info_cfg_option(WITH_IK_ITASC)
|
||||
info_cfg_option(WITH_IK_SOLVER)
|
||||
info_cfg_option(WITH_INPUT_NDOF)
|
||||
info_cfg_option(WITH_INPUT_IME)
|
||||
info_cfg_option(WITH_INTERNATIONAL)
|
||||
info_cfg_option(WITH_OPENCOLLADA)
|
||||
info_cfg_option(WITH_OPENCOLORIO)
|
||||
@@ -1974,6 +2020,7 @@ if(FIRST_RUN)
|
||||
endif()
|
||||
info_cfg_option(WITH_PYTHON_INSTALL)
|
||||
info_cfg_option(WITH_PYTHON_INSTALL_NUMPY)
|
||||
info_cfg_option(WITH_PYTHON_INSTALL_ZSTANDARD)
|
||||
info_cfg_option(WITH_PYTHON_MODULE)
|
||||
info_cfg_option(WITH_PYTHON_SAFETY)
|
||||
|
||||
|
38
GNUmakefile
38
GNUmakefile
@@ -27,7 +27,7 @@
|
||||
define HELP_TEXT
|
||||
|
||||
Blender Convenience Targets
|
||||
Provided for building Blender, (multiple at once can be used).
|
||||
Provided for building Blender (multiple targets can be used at once).
|
||||
|
||||
* debug: Build a debug binary.
|
||||
* full: Enable all supported dependencies & options.
|
||||
@@ -40,6 +40,8 @@ Blender Convenience Targets
|
||||
* ninja: Use ninja build tool for faster builds.
|
||||
* ccache: Use ccache for faster rebuilds.
|
||||
|
||||
Note: when passing in multiple targets their order is not important.
|
||||
So for a fast build you can for e.g. run 'make lite ccache ninja'.
|
||||
Note: passing the argument 'BUILD_DIR=path' when calling make will override the default build dir.
|
||||
Note: passing the argument 'BUILD_CMAKE_ARGS=args' lets you add cmake arguments.
|
||||
|
||||
@@ -63,7 +65,7 @@ Package Targets
|
||||
|
||||
* package_debian: Build a debian package.
|
||||
* package_pacman: Build an arch linux pacman package.
|
||||
* package_archive: Build an archive package.
|
||||
* package_archive: Build an archive package.
|
||||
|
||||
Testing Targets
|
||||
Not associated with building Blender.
|
||||
@@ -167,7 +169,7 @@ endef
|
||||
|
||||
# This makefile is not meant for Windows
|
||||
ifeq ($(OS),Windows_NT)
|
||||
$(error On Windows, use "cmd //c make.bat" instead of "make")
|
||||
$(error On Windows, use "cmd //c make.bat" instead of "make")
|
||||
endif
|
||||
|
||||
# System Vars
|
||||
@@ -379,7 +381,7 @@ deps: .FORCE
|
||||
|
||||
@cmake -H"$(DEPS_SOURCE_DIR)" \
|
||||
-B"$(DEPS_BUILD_DIR)" \
|
||||
-DHARVEST_TARGET=$(DEPS_INSTALL_DIR)
|
||||
-DHARVEST_TARGET=$(DEPS_INSTALL_DIR)
|
||||
|
||||
@echo
|
||||
@echo Building dependencies ...
|
||||
@@ -456,7 +458,8 @@ project_eclipse: .FORCE
|
||||
check_cppcheck: .FORCE
|
||||
$(CMAKE_CONFIG)
|
||||
cd "$(BUILD_DIR)" ; \
|
||||
$(PYTHON) "$(BLENDER_DIR)/build_files/cmake/cmake_static_check_cppcheck.py" 2> \
|
||||
$(PYTHON) \
|
||||
"$(BLENDER_DIR)/build_files/cmake/cmake_static_check_cppcheck.py" 2> \
|
||||
"$(BLENDER_DIR)/check_cppcheck.txt"
|
||||
@echo "written: check_cppcheck.txt"
|
||||
|
||||
@@ -518,8 +521,9 @@ source_archive: .FORCE
|
||||
python3 ./build_files/utils/make_source_archive.py
|
||||
|
||||
source_archive_complete: .FORCE
|
||||
cmake -S "$(BLENDER_DIR)/build_files/build_environment" -B"$(BUILD_DIR)/source_archive" \
|
||||
-DCMAKE_BUILD_TYPE_INIT:STRING=$(BUILD_TYPE) -DPACKAGE_USE_UPSTREAM_SOURCES=OFF
|
||||
cmake \
|
||||
-S "$(BLENDER_DIR)/build_files/build_environment" -B"$(BUILD_DIR)/source_archive" \
|
||||
-DCMAKE_BUILD_TYPE_INIT:STRING=$(BUILD_TYPE) -DPACKAGE_USE_UPSTREAM_SOURCES=OFF
|
||||
# This assumes CMake is still using a default `PACKAGE_DIR` variable:
|
||||
python3 ./build_files/utils/make_source_archive.py --include-packages "$(BUILD_DIR)/source_archive/packages"
|
||||
|
||||
@@ -527,9 +531,11 @@ source_archive_complete: .FORCE
|
||||
INKSCAPE_BIN?="inkscape"
|
||||
icons: .FORCE
|
||||
BLENDER_BIN=$(BLENDER_BIN) INKSCAPE_BIN=$(INKSCAPE_BIN) \
|
||||
"$(BLENDER_DIR)/release/datafiles/blender_icons_update.py"
|
||||
BLENDER_BIN=$(BLENDER_BIN) INKSCAPE_BIN=$(INKSCAPE_BIN) \
|
||||
"$(BLENDER_DIR)/release/datafiles/prvicons_update.py"
|
||||
"$(BLENDER_DIR)/release/datafiles/blender_icons_update.py"
|
||||
INKSCAPE_BIN=$(INKSCAPE_BIN) \
|
||||
"$(BLENDER_DIR)/release/datafiles/prvicons_update.py"
|
||||
INKSCAPE_BIN=$(INKSCAPE_BIN) \
|
||||
"$(BLENDER_DIR)/release/datafiles/alert_icons_update.py"
|
||||
|
||||
icons_geom: .FORCE
|
||||
BLENDER_BIN=$(BLENDER_BIN) \
|
||||
@@ -543,7 +549,7 @@ update_code: .FORCE
|
||||
|
||||
format: .FORCE
|
||||
PATH="../lib/${OS_NCASE}_${CPU}/llvm/bin/:../lib/${OS_NCASE}_centos7_${CPU}/llvm/bin/:../lib/${OS_NCASE}/llvm/bin/:$(PATH)" \
|
||||
$(PYTHON) source/tools/utils_maintenance/clang_format_paths.py $(PATHS)
|
||||
$(PYTHON) source/tools/utils_maintenance/clang_format_paths.py $(PATHS)
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
@@ -553,8 +559,9 @@ format: .FORCE
|
||||
# Simple version of ./doc/python_api/sphinx_doc_gen.sh with no PDF generation.
|
||||
doc_py: .FORCE
|
||||
ASAN_OPTIONS=halt_on_error=0:${ASAN_OPTIONS} \
|
||||
$(BLENDER_BIN) --background -noaudio --factory-startup \
|
||||
--python doc/python_api/sphinx_doc_gen.py
|
||||
$(BLENDER_BIN) \
|
||||
--background -noaudio --factory-startup \
|
||||
--python doc/python_api/sphinx_doc_gen.py
|
||||
sphinx-build -b html -j $(NPROCS) doc/python_api/sphinx-in doc/python_api/sphinx-out
|
||||
@echo "docs written into: '$(BLENDER_DIR)/doc/python_api/sphinx-out/index.html'"
|
||||
|
||||
@@ -563,8 +570,9 @@ doc_doxy: .FORCE
|
||||
@echo "docs written into: '$(BLENDER_DIR)/doc/doxygen/html/index.html'"
|
||||
|
||||
doc_dna: .FORCE
|
||||
$(BLENDER_BIN) --background -noaudio --factory-startup \
|
||||
--python doc/blender_file_format/BlendFileDnaExporter_25.py
|
||||
$(BLENDER_BIN) \
|
||||
--background -noaudio --factory-startup \
|
||||
--python doc/blender_file_format/BlendFileDnaExporter_25.py
|
||||
@echo "docs written into: '$(BLENDER_DIR)/doc/blender_file_format/dna.html'"
|
||||
|
||||
doc_man: .FORCE
|
||||
|
@@ -56,6 +56,7 @@ else()
|
||||
endif()
|
||||
|
||||
include(cmake/zlib.cmake)
|
||||
include(cmake/zstd.cmake)
|
||||
include(cmake/openal.cmake)
|
||||
include(cmake/png.cmake)
|
||||
include(cmake/jpeg.cmake)
|
||||
@@ -81,7 +82,11 @@ if(UNIX)
|
||||
endif()
|
||||
include(cmake/openimageio.cmake)
|
||||
include(cmake/tiff.cmake)
|
||||
include(cmake/flexbison.cmake)
|
||||
if(WIN32)
|
||||
include(cmake/flexbison.cmake)
|
||||
elseif(UNIX AND NOT APPLE)
|
||||
include(cmake/flex.cmake)
|
||||
endif()
|
||||
include(cmake/osl.cmake)
|
||||
include(cmake/tbb.cmake)
|
||||
include(cmake/openvdb.cmake)
|
||||
@@ -164,6 +169,7 @@ endif()
|
||||
if(UNIX AND NOT APPLE)
|
||||
include(cmake/libglu.cmake)
|
||||
include(cmake/mesa.cmake)
|
||||
include(cmake/wayland_protocols.cmake)
|
||||
endif()
|
||||
|
||||
include(cmake/harvest.cmake)
|
||||
|
@@ -87,7 +87,10 @@ download_source(LIBGLU)
|
||||
download_source(MESA)
|
||||
download_source(NASM)
|
||||
download_source(XR_OPENXR_SDK)
|
||||
download_source(WL_PROTOCOLS)
|
||||
download_source(ISPC)
|
||||
download_source(GMP)
|
||||
download_source(POTRACE)
|
||||
download_source(HARU)
|
||||
download_source(ZSTD)
|
||||
download_source(FLEX)
|
||||
|
@@ -43,6 +43,12 @@ endif()
|
||||
|
||||
if(WIN32)
|
||||
set(EMBREE_BUILD_DIR ${BUILD_MODE}/)
|
||||
if(BUILD_MODE STREQUAL Debug)
|
||||
list(APPEND EMBREE_EXTRA_ARGS
|
||||
-DEMBREE_TBBMALLOC_LIBRARY_NAME=tbbmalloc_debug
|
||||
-DEMBREE_TBB_LIBRARY_NAME=tbb_debug
|
||||
)
|
||||
endif()
|
||||
else()
|
||||
set(EMBREE_BUILD_DIR)
|
||||
endif()
|
||||
|
@@ -30,6 +30,7 @@ if(WIN32)
|
||||
--enable-w32threads
|
||||
--disable-pthreads
|
||||
--enable-libopenjpeg
|
||||
--disable-mediafoundation
|
||||
)
|
||||
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4")
|
||||
set(FFMPEG_EXTRA_FLAGS
|
||||
|
28
build_files/build_environment/cmake/flex.cmake
Normal file
28
build_files/build_environment/cmake/flex.cmake
Normal file
@@ -0,0 +1,28 @@
|
||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
|
||||
ExternalProject_Add(external_flex
|
||||
URL file://${PACKAGE_DIR}/${FLEX_FILE}
|
||||
URL_HASH ${FLEX_HASH_TYPE}=${FLEX_HASH}
|
||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||
PREFIX ${BUILD_DIR}/flex
|
||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flex/src/external_flex/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/flex
|
||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flex/src/external_flex/ && make -j${MAKE_THREADS}
|
||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flex/src/external_flex/ && make install
|
||||
INSTALL_DIR ${LIBDIR}/flex
|
||||
)
|
@@ -106,6 +106,7 @@ harvest(llvm/include llvm/include "*")
|
||||
harvest(llvm/bin llvm/bin "llvm-config")
|
||||
harvest(llvm/lib llvm/lib "libLLVM*.a")
|
||||
harvest(llvm/lib llvm/lib "libclang*.a")
|
||||
harvest(llvm/lib/clang llvm/lib/clang "*.h")
|
||||
if(APPLE)
|
||||
harvest(openmp/lib openmp/lib "*")
|
||||
harvest(openmp/include openmp/include "*.h")
|
||||
@@ -126,6 +127,8 @@ if(UNIX AND NOT APPLE)
|
||||
|
||||
harvest(xml2/include xml2/include "*.h")
|
||||
harvest(xml2/lib xml2/lib "*.a")
|
||||
|
||||
harvest(wayland-protocols/share/wayland-protocols wayland-protocols/share/wayland-protocols/ "*.xml")
|
||||
else()
|
||||
harvest(blosc/lib openvdb/lib "*.a")
|
||||
harvest(xml2/lib opencollada/lib "*.a")
|
||||
@@ -190,6 +193,8 @@ harvest(potrace/include potrace/include "*.h")
|
||||
harvest(potrace/lib potrace/lib "*.a")
|
||||
harvest(haru/include haru/include "*.h")
|
||||
harvest(haru/lib haru/lib "*.a")
|
||||
harvest(zstd/include zstd/include "*.h")
|
||||
harvest(zstd/lib zstd/lib "*.a")
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
harvest(libglu/lib mesa/lib "*.so*")
|
||||
|
@@ -35,6 +35,7 @@ elseif(APPLE)
|
||||
else()
|
||||
set(ISPC_EXTRA_ARGS_APPLE
|
||||
-DBISON_EXECUTABLE=/usr/local/opt/bison/bin/bison
|
||||
-DFLEX_EXECUTABLE=/usr/local/opt/flex/bin/flex
|
||||
-DARM_ENABLED=Off
|
||||
)
|
||||
endif()
|
||||
@@ -43,6 +44,7 @@ elseif(UNIX)
|
||||
-DCMAKE_C_COMPILER=${LIBDIR}/llvm/bin/clang
|
||||
-DCMAKE_CXX_COMPILER=${LIBDIR}/llvm/bin/clang++
|
||||
-DARM_ENABLED=Off
|
||||
-DFLEX_EXECUTABLE=${LIBDIR}/flex/bin/flex
|
||||
)
|
||||
endif()
|
||||
|
||||
@@ -82,4 +84,9 @@ if(WIN32)
|
||||
external_ispc
|
||||
external_flexbison
|
||||
)
|
||||
elseif(UNIX AND NOT APPLE)
|
||||
add_dependencies(
|
||||
external_ispc
|
||||
external_flex
|
||||
)
|
||||
endif()
|
||||
|
@@ -66,7 +66,11 @@ ExternalProject_Add(ll
|
||||
|
||||
if(MSVC)
|
||||
if(BUILD_MODE STREQUAL Release)
|
||||
set(LLVM_HARVEST_COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/llvm/ ${HARVEST_TARGET}/llvm/ )
|
||||
set(LLVM_HARVEST_COMMAND
|
||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/llvm/lib ${HARVEST_TARGET}/llvm/lib &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/llvm/include ${HARVEST_TARGET}/llvm/include &&
|
||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/llvm/bin/clang-format.exe ${HARVEST_TARGET}/llvm/bin/clang-format.exe
|
||||
)
|
||||
else()
|
||||
set(LLVM_HARVEST_COMMAND
|
||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/llvm/lib/ ${HARVEST_TARGET}/llvm/debug/lib/ &&
|
||||
|
@@ -38,7 +38,6 @@ ExternalProject_Add(external_numpy
|
||||
PREFIX ${BUILD_DIR}/numpy
|
||||
PATCH_COMMAND ${NUMPY_PATCH}
|
||||
CONFIGURE_COMMAND ""
|
||||
PATCH_COMMAND COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/numpy/src/external_numpy < ${PATCH_DIR}/numpy.diff
|
||||
LOG_BUILD 1
|
||||
BUILD_COMMAND ${PYTHON_BINARY} ${BUILD_DIR}/numpy/src/external_numpy/setup.py build ${NUMPY_BUILD_OPTION} install --old-and-unmanageable
|
||||
INSTALL_COMMAND ""
|
||||
|
@@ -45,7 +45,6 @@ ExternalProject_Add(external_openimagedenoise
|
||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||
URL_HASH ${OIDN_HASH_TYPE}=${OIDN_HASH}
|
||||
PREFIX ${BUILD_DIR}/openimagedenoise
|
||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/openimagedenoise/src/external_openimagedenoise < ${PATCH_DIR}/oidn.diff
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openimagedenoise ${DEFAULT_CMAKE_FLAGS} ${OIDN_EXTRA_ARGS}
|
||||
INSTALL_DIR ${LIBDIR}/openimagedenoise
|
||||
)
|
||||
|
@@ -16,15 +16,20 @@
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
|
||||
if(APPLE)
|
||||
set(OPENMP_PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/openmp/src/external_openmp < ${PATCH_DIR}/openmp.diff)
|
||||
else()
|
||||
set(OPENMP_PATCH_COMMAND)
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(external_openmp
|
||||
URL file://${PACKAGE_DIR}/${OPENMP_FILE}
|
||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||
URL_HASH ${OPENMP_HASH_TYPE}=${OPENMP_HASH}
|
||||
PREFIX ${BUILD_DIR}/openmp
|
||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/openmp/src/external_openmp < ${PATCH_DIR}/openmp.diff
|
||||
PATCH_COMMAND ${OPENMP_PATCH_COMMAND}
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openmp ${DEFAULT_CMAKE_FLAGS}
|
||||
INSTALL_COMMAND cd ${BUILD_DIR}/openmp/src/external_openmp-build && install_name_tool -id @executable_path/../Resources/lib/libomp.dylib runtime/src/libomp.dylib && make install
|
||||
INSTALL_COMMAND cd ${BUILD_DIR}/openmp/src/external_openmp-build && install_name_tool -id @rpath/libomp.dylib runtime/src/libomp.dylib && make install
|
||||
INSTALL_DIR ${LIBDIR}/openmp
|
||||
)
|
||||
|
||||
|
@@ -20,12 +20,10 @@ if(WIN32)
|
||||
set(OSL_CMAKE_CXX_STANDARD_LIBRARIES "kernel32${LIBEXT} user32${LIBEXT} gdi32${LIBEXT} winspool${LIBEXT} shell32${LIBEXT} ole32${LIBEXT} oleaut32${LIBEXT} uuid${LIBEXT} comdlg32${LIBEXT} advapi32${LIBEXT} psapi${LIBEXT}")
|
||||
set(OSL_FLEX_BISON -DFLEX_EXECUTABLE=${LIBDIR}/flexbison/win_flex.exe -DBISON_EXECUTABLE=${LIBDIR}/flexbison/win_bison.exe)
|
||||
set(OSL_SIMD_FLAGS -DOIIO_NOSIMD=1 -DOIIO_SIMD=sse2)
|
||||
SET(OSL_PLATFORM_FLAGS -DLINKSTATIC=ON)
|
||||
else()
|
||||
set(OSL_CMAKE_CXX_STANDARD_LIBRARIES)
|
||||
set(OSL_FLEX_BISON)
|
||||
set(OSL_OPENIMAGEIO_LIBRARY "${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO${LIBEXT};${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO_Util${LIBEXT};${LIBDIR}/png/lib/${LIBPREFIX}png16${LIBEXT};${LIBDIR}/jpg/lib/${LIBPREFIX}jpeg${LIBEXT};${LIBDIR}/tiff/lib/${LIBPREFIX}tiff${LIBEXT};${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}")
|
||||
SET(OSL_PLATFORM_FLAGS)
|
||||
endif()
|
||||
|
||||
set(OSL_ILMBASE_CUSTOM_LIBRARIES "${LIBDIR}/openexr/lib/Imath${OPENEXR_VERSION_POSTFIX}.lib^^${LIBDIR}/openexr/lib/Half{OPENEXR_VERSION_POSTFIX}.lib^^${LIBDIR}/openexr/lib/IlmThread${OPENEXR_VERSION_POSTFIX}.lib^^${LIBDIR}/openexr/lib/Iex${OPENEXR_VERSION_POSTFIX}.lib")
|
||||
@@ -51,12 +49,13 @@ set(OSL_EXTRA_ARGS
|
||||
-DOpenImageIO_ROOT=${LIBDIR}/openimageio/
|
||||
-DOSL_BUILD_TESTS=OFF
|
||||
-DOSL_BUILD_MATERIALX=OFF
|
||||
-DPNG_ROOT=${LIBDIR}/png
|
||||
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
||||
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
||||
${OSL_FLEX_BISON}
|
||||
-DCMAKE_CXX_STANDARD_LIBRARIES=${OSL_CMAKE_CXX_STANDARD_LIBRARIES}
|
||||
-DBUILD_SHARED_LIBS=OFF
|
||||
${OSL_PLATFORM_FLAGS}
|
||||
-DLINKSTATIC=ON
|
||||
-DOSL_BUILD_PLUGINS=OFF
|
||||
-DSTOP_ON_WARNING=OFF
|
||||
-DUSE_LLVM_BITCODE=OFF
|
||||
@@ -69,13 +68,9 @@ set(OSL_EXTRA_ARGS
|
||||
${OSL_SIMD_FLAGS}
|
||||
-Dpugixml_ROOT=${LIBDIR}/pugixml
|
||||
-DUSE_PYTHON=OFF
|
||||
-DCMAKE_CXX_STANDARD=14
|
||||
)
|
||||
|
||||
# Apple arm64 uses LLVM 11, LLVM 10+ requires C++14
|
||||
if (APPLE AND "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
|
||||
list(APPEND OSL_EXTRA_ARGS -DCMAKE_CXX_STANDARD=14)
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(external_osl
|
||||
URL file://${PACKAGE_DIR}/${OSL_FILE}
|
||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||
@@ -93,10 +88,20 @@ add_dependencies(
|
||||
ll
|
||||
external_openexr
|
||||
external_zlib
|
||||
external_flexbison
|
||||
external_openimageio
|
||||
external_pugixml
|
||||
)
|
||||
if(WIN32)
|
||||
add_dependencies(
|
||||
external_osl
|
||||
external_flexbison
|
||||
)
|
||||
elseif(UNIX AND NOT APPLE)
|
||||
add_dependencies(
|
||||
external_osl
|
||||
external_flex
|
||||
)
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
if(BUILD_MODE STREQUAL Release)
|
||||
|
@@ -23,7 +23,7 @@ set(PNG_EXTRA_ARGS
|
||||
)
|
||||
|
||||
if(BLENDER_PLATFORM_ARM)
|
||||
set(PNG_EXTRA_ARGS ${PNG_EXTRA_ARGS} -DPNG_HARDWARE_OPTIMIZATIONS=ON -DPNG_ARM_NEON=ON -DCMAKE_SYSTEM_PROCESSOR="aarch64")
|
||||
set(PNG_EXTRA_ARGS ${PNG_EXTRA_ARGS} -DPNG_HARDWARE_OPTIMIZATIONS=ON -DPNG_ARM_NEON=on -DCMAKE_SYSTEM_PROCESSOR="aarch64")
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(external_png
|
||||
|
@@ -18,14 +18,20 @@
|
||||
|
||||
if(WIN32 AND BUILD_MODE STREQUAL Debug)
|
||||
set(SITE_PACKAGES_EXTRA --global-option build --global-option --debug)
|
||||
# zstandard is determined to build and link release mode libs in a debug
|
||||
# configuration, the only way to make it happy is to bend to its will
|
||||
# and give it a library to link with.
|
||||
set(PIP_CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/python/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}_d.lib ${LIBDIR}/python/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}.lib)
|
||||
else()
|
||||
set(PIP_CONFIGURE_COMMAND echo ".")
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(external_python_site_packages
|
||||
DOWNLOAD_COMMAND ""
|
||||
CONFIGURE_COMMAND ""
|
||||
CONFIGURE_COMMAND ${PIP_CONFIGURE_COMMAND}
|
||||
BUILD_COMMAND ""
|
||||
PREFIX ${BUILD_DIR}/site_packages
|
||||
INSTALL_COMMAND ${PYTHON_BINARY} -m pip install ${SITE_PACKAGES_EXTRA} cython==${CYTHON_VERSION} idna==${IDNA_VERSION} chardet==${CHARDET_VERSION} urllib3==${URLLIB3_VERSION} certifi==${CERTIFI_VERSION} requests==${REQUESTS_VERSION} --no-binary :all:
|
||||
INSTALL_COMMAND ${PYTHON_BINARY} -m pip install ${SITE_PACKAGES_EXTRA} cython==${CYTHON_VERSION} idna==${IDNA_VERSION} charset-normalizer==${CHARSET_NORMALIZER_VERSION} urllib3==${URLLIB3_VERSION} certifi==${CERTIFI_VERSION} requests==${REQUESTS_VERSION} zstandard==${ZSTANDARD_VERSION} --no-binary :all:
|
||||
)
|
||||
|
||||
if(USE_PIP_NUMPY)
|
||||
|
@@ -22,6 +22,7 @@ if(WIN32)
|
||||
-DTBB_BUILD_TBBMALLOC_PROXY=On
|
||||
-DTBB_BUILD_STATIC=Off
|
||||
-DTBB_BUILD_TESTS=Off
|
||||
-DCMAKE_DEBUG_POSTFIX=_debug
|
||||
)
|
||||
set(TBB_LIBRARY tbb)
|
||||
set(TBB_STATIC_LIBRARY Off)
|
||||
@@ -55,17 +56,17 @@ if(WIN32)
|
||||
ExternalProject_Add_Step(external_tbb after_install
|
||||
# findtbb.cmake in some deps *NEEDS* to find tbb_debug.lib even if they are not going to use it
|
||||
# to make that test pass, we place a copy with the right name in the lib folder.
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.lib ${HARVEST_TARGET}/tbb/lib/tbb_debug.lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc_debug.lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.dll ${HARVEST_TARGET}/tbb/lib/tbb_debug.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc.dll ${HARVEST_TARGET}/tbb/lib/tbbmalloc_debug.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.lib ${LIBDIR}/tbb/lib/tbb_debug.lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc.lib ${LIBDIR}/tbb/lib/tbbmalloc_debug.lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbb.dll ${LIBDIR}/tbb/bin/tbb_debug.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbbmalloc.dll ${LIBDIR}/tbb/bin/tbbmalloc_debug.dll
|
||||
# Normal collection of build artifacts
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.lib ${HARVEST_TARGET}/tbb/lib/tbb.lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.dll ${HARVEST_TARGET}/tbb/lib/tbb.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbb.dll ${HARVEST_TARGET}/tbb/bin/tbb.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc.lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc.dll ${HARVEST_TARGET}/tbb/lib/tbbmalloc.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbbmalloc.dll ${HARVEST_TARGET}/tbb/bin/tbbmalloc.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc_proxy.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc_proxy.lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc_proxy.dll ${HARVEST_TARGET}/tbb/lib/tbbmalloc_proxy.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbbmalloc_proxy.dll ${HARVEST_TARGET}/tbb/bin/tbbmalloc_proxy.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/tbb/include/ ${HARVEST_TARGET}/tbb/include/
|
||||
DEPENDEES install
|
||||
)
|
||||
@@ -76,11 +77,12 @@ if(WIN32)
|
||||
# to make that test pass, we place a copy with the right name in the lib folder.
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb_debug.lib ${LIBDIR}/tbb/lib/tbb.lib
|
||||
# Normal collection of build artifacts
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb_debug.lib ${HARVEST_TARGET}/tbb/lib/debug/tbb_debug.lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb_debug.dll ${HARVEST_TARGET}/tbb/lib/debug/tbb_debug.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc_proxy.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc_proxy_debug.lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc.dll ${HARVEST_TARGET}/tbb/lib/debug/tbbmalloc.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc_proxy.dll ${HARVEST_TARGET}/tbb/lib/debug/tbbmalloc_proxy.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb_debug.lib ${HARVEST_TARGET}/tbb/lib/tbb_debug.lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbb_debug.dll ${HARVEST_TARGET}/tbb/bin/tbb_debug.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc_debug.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc_debug.lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc_proxy_debug.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc_proxy_debug.lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbbmalloc_debug.dll ${HARVEST_TARGET}/tbb/bin/tbbmalloc_debug.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbbmalloc_proxy_debug.dll ${HARVEST_TARGET}/tbb/bin/tbbmalloc_proxy_debug.dll
|
||||
DEPENDEES install
|
||||
)
|
||||
endif()
|
||||
|
@@ -152,35 +152,28 @@ set(OPENCOLORIO_HASH 1a2e3478b6cd9a1549f24e1b2205e3f0)
|
||||
set(OPENCOLORIO_HASH_TYPE MD5)
|
||||
set(OPENCOLORIO_FILE OpenColorIO-${OPENCOLORIO_VERSION}.tar.gz)
|
||||
|
||||
if(BLENDER_PLATFORM_ARM)
|
||||
# Newer version required by ISPC with arm support.
|
||||
set(LLVM_VERSION 11.0.1)
|
||||
set(LLVM_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/llvm-project-${LLVM_VERSION}.src.tar.xz)
|
||||
set(LLVM_HASH e700af40ab83463e4e9ab0ba3708312e)
|
||||
set(LLVM_HASH_TYPE MD5)
|
||||
set(LLVM_FILE llvm-project-${LLVM_VERSION}.src.tar.xz)
|
||||
set(LLVM_VERSION 12.0.0)
|
||||
set(LLVM_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/llvm-project-${LLVM_VERSION}.src.tar.xz)
|
||||
set(LLVM_HASH 5a4fab4d7fc84aefffb118ac2c8a4fc0)
|
||||
set(LLVM_HASH_TYPE MD5)
|
||||
set(LLVM_FILE llvm-project-${LLVM_VERSION}.src.tar.xz)
|
||||
|
||||
if(APPLE)
|
||||
# Cloth physics test is crashing due to this bug:
|
||||
# https://bugs.llvm.org/show_bug.cgi?id=50579
|
||||
set(OPENMP_VERSION 9.0.1)
|
||||
set(OPENMP_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${OPENMP_VERSION}/openmp-${OPENMP_VERSION}.src.tar.xz)
|
||||
set(OPENMP_HASH 6eade16057edbdecb3c4eef9daa2bfcf)
|
||||
set(OPENMP_HASH_TYPE MD5)
|
||||
set(OPENMP_FILE openmp-${OPENMP_VERSION}.src.tar.xz)
|
||||
else()
|
||||
set(LLVM_VERSION 9.0.1)
|
||||
set(LLVM_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/llvm-project-${LLVM_VERSION}.tar.xz)
|
||||
set(LLVM_HASH b4268e733dfe352960140dc07ef2efcb)
|
||||
set(LLVM_HASH_TYPE MD5)
|
||||
set(LLVM_FILE llvm-project-${LLVM_VERSION}.tar.xz)
|
||||
|
||||
set(OPENMP_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/openmp-${LLVM_VERSION}.src.tar.xz)
|
||||
set(OPENMP_HASH 6eade16057edbdecb3c4eef9daa2bfcf)
|
||||
set(OPENMP_HASH_TYPE MD5)
|
||||
set(OPENMP_FILE openmp-${LLVM_VERSION}.src.tar.xz)
|
||||
set(OPENMP_VERSION ${LLVM_VERSION})
|
||||
set(OPENMP_HASH ac48ce3e4582ccb82f81ab59eb3fc9dc)
|
||||
endif()
|
||||
set(OPENMP_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${OPENMP_VERSION}/openmp-${OPENMP_VERSION}.src.tar.xz)
|
||||
set(OPENMP_HASH_TYPE MD5)
|
||||
set(OPENMP_FILE openmp-${OPENMP_VERSION}.src.tar.xz)
|
||||
|
||||
set(OPENIMAGEIO_VERSION 2.1.15.0)
|
||||
set(OPENIMAGEIO_VERSION 2.2.15.1)
|
||||
set(OPENIMAGEIO_URI https://github.com/OpenImageIO/oiio/archive/Release-${OPENIMAGEIO_VERSION}.tar.gz)
|
||||
set(OPENIMAGEIO_HASH f03aa5e3ac4795af04771ee4146e9832)
|
||||
set(OPENIMAGEIO_HASH 3db5c5f0b3dc91597c75e5df09eb9072)
|
||||
set(OPENIMAGEIO_HASH_TYPE MD5)
|
||||
set(OPENIMAGEIO_FILE OpenImageIO-${OPENIMAGEIO_VERSION}.tar.gz)
|
||||
|
||||
@@ -190,17 +183,17 @@ set(TIFF_HASH 2165e7aba557463acc0664e71a3ed424)
|
||||
set(TIFF_HASH_TYPE MD5)
|
||||
set(TIFF_FILE tiff-${TIFF_VERSION}.tar.gz)
|
||||
|
||||
set(OSL_VERSION 1.11.10.0)
|
||||
set(OSL_VERSION 1.11.14.1)
|
||||
set(OSL_URI https://github.com/imageworks/OpenShadingLanguage/archive/Release-${OSL_VERSION}.tar.gz)
|
||||
set(OSL_HASH dfdc23597aeef083832cbada62211756)
|
||||
set(OSL_HASH 1abd7ce40481771a9fa937f19595d2f2)
|
||||
set(OSL_HASH_TYPE MD5)
|
||||
set(OSL_FILE OpenShadingLanguage-${OSL_VERSION}.tar.gz)
|
||||
|
||||
set(PYTHON_VERSION 3.9.2)
|
||||
set(PYTHON_VERSION 3.9.7)
|
||||
set(PYTHON_SHORT_VERSION 3.9)
|
||||
set(PYTHON_SHORT_VERSION_NO_DOTS 39)
|
||||
set(PYTHON_URI https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz)
|
||||
set(PYTHON_HASH f0dc9000312abeb16de4eccce9a870ab)
|
||||
set(PYTHON_HASH fddb060b483bc01850a3f412eea1d954)
|
||||
set(PYTHON_HASH_TYPE MD5)
|
||||
set(PYTHON_FILE Python-${PYTHON_VERSION}.tar.xz)
|
||||
|
||||
@@ -216,23 +209,24 @@ set(OPENVDB_HASH 01b490be16cc0e15c690f9a153c21461)
|
||||
set(OPENVDB_HASH_TYPE MD5)
|
||||
set(OPENVDB_FILE openvdb-${OPENVDB_VERSION}.tar.gz)
|
||||
|
||||
set(NANOVDB_GIT_UID e62f7a0bf1e27397223c61ddeaaf57edf111b77f)
|
||||
set(NANOVDB_GIT_UID dc37d8a631922e7bef46712947dc19b755f3e841)
|
||||
set(NANOVDB_URI https://github.com/AcademySoftwareFoundation/openvdb/archive/${NANOVDB_GIT_UID}.tar.gz)
|
||||
set(NANOVDB_HASH 90919510bc6ccd630fedc56f748cb199)
|
||||
set(NANOVDB_HASH e7b9e863ec2f3b04ead171dec2322807)
|
||||
set(NANOVDB_HASH_TYPE MD5)
|
||||
set(NANOVDB_FILE nano-vdb-${NANOVDB_GIT_UID}.tar.gz)
|
||||
|
||||
set(IDNA_VERSION 2.10)
|
||||
set(CHARDET_VERSION 4.0.0)
|
||||
set(URLLIB3_VERSION 1.26.3)
|
||||
set(CERTIFI_VERSION 2020.12.5)
|
||||
set(REQUESTS_VERSION 2.25.1)
|
||||
set(CYTHON_VERSION 0.29.21)
|
||||
set(IDNA_VERSION 3.2)
|
||||
set(CHARSET_NORMALIZER_VERSION 2.0.6)
|
||||
set(URLLIB3_VERSION 1.26.7)
|
||||
set(CERTIFI_VERSION 2021.10.8)
|
||||
set(REQUESTS_VERSION 2.26.0)
|
||||
set(CYTHON_VERSION 0.29.24)
|
||||
set(ZSTANDARD_VERSION 0.15.2 )
|
||||
|
||||
set(NUMPY_VERSION 1.19.5)
|
||||
set(NUMPY_SHORT_VERSION 1.19)
|
||||
set(NUMPY_VERSION 1.21.2)
|
||||
set(NUMPY_SHORT_VERSION 1.21)
|
||||
set(NUMPY_URI https://github.com/numpy/numpy/releases/download/v${NUMPY_VERSION}/numpy-${NUMPY_VERSION}.zip)
|
||||
set(NUMPY_HASH f6a1b48717c552bbc18f1adc3cc1fe0e)
|
||||
set(NUMPY_HASH 5638d5dae3ca387be562912312db842e)
|
||||
set(NUMPY_HASH_TYPE MD5)
|
||||
set(NUMPY_FILE numpy-${NUMPY_VERSION}.zip)
|
||||
|
||||
@@ -370,12 +364,18 @@ set(PUGIXML_HASH 0c208b0664c7fb822bf1b49ad035e8fd)
|
||||
set(PUGIXML_HASH_TYPE MD5)
|
||||
set(PUGIXML_FILE pugixml-${PUGIXML_VERSION}.tar.gz)
|
||||
|
||||
set(FLEXBISON_VERSION 2.5.5)
|
||||
set(FLEXBISON_VERSION 2.5.24)
|
||||
set(FLEXBISON_URI http://prdownloads.sourceforge.net/winflexbison/win_flex_bison-${FLEXBISON_VERSION}.zip)
|
||||
set(FLEXBISON_HASH d87a3938194520d904013abef3df10ce)
|
||||
set(FLEXBISON_HASH 6b549d43e34ece0e8ed05af92daa31c4)
|
||||
set(FLEXBISON_HASH_TYPE MD5)
|
||||
set(FLEXBISON_FILE win_flex_bison-${FLEXBISON_VERSION}.zip)
|
||||
|
||||
set(FLEX_VERSION 2.6.4)
|
||||
set(FLEX_URI https://github.com/westes/flex/releases/download/v${FLEX_VERSION}/flex-${FLEX_VERSION}.tar.gz)
|
||||
set(FLEX_HASH 2882e3179748cc9f9c23ec593d6adc8d)
|
||||
set(FLEX_HASH_TYPE MD5)
|
||||
set(FLEX_FILE flex-${FLEX_VERSION}.tar.gz)
|
||||
|
||||
# Libraries to keep Python modules static on Linux.
|
||||
|
||||
# NOTE: bzip.org domain does no longer belong to BZip 2 project, so we download
|
||||
@@ -432,9 +432,9 @@ set(USD_HASH 1dd1e2092d085ed393c1f7c450a4155a)
|
||||
set(USD_HASH_TYPE MD5)
|
||||
set(USD_FILE usd-v${USD_VERSION}.tar.gz)
|
||||
|
||||
set(OIDN_VERSION 1.3.0)
|
||||
set(OIDN_VERSION 1.4.1)
|
||||
set(OIDN_URI https://github.com/OpenImageDenoise/oidn/releases/download/v${OIDN_VERSION}/oidn-${OIDN_VERSION}.src.tar.gz)
|
||||
set(OIDN_HASH 301a5a0958d375a942014df0679b9270)
|
||||
set(OIDN_HASH df4007b0ab93b1c41cdf223b075d01c0)
|
||||
set(OIDN_HASH_TYPE MD5)
|
||||
set(OIDN_FILE oidn-${OIDN_VERSION}.src.tar.gz)
|
||||
|
||||
@@ -444,10 +444,10 @@ set(LIBGLU_HASH 151aef599b8259efe9acd599c96ea2a3)
|
||||
set(LIBGLU_HASH_TYPE MD5)
|
||||
set(LIBGLU_FILE glu-${LIBGLU_VERSION}.tar.xz)
|
||||
|
||||
set(MESA_VERSION 20.3.4)
|
||||
set(MESA_VERSION 21.1.5)
|
||||
set(MESA_URI ftp://ftp.freedesktop.org/pub/mesa/mesa-${MESA_VERSION}.tar.xz)
|
||||
set(MESA_HASH 556338446aef8ae947a789b3e0b5e056)
|
||||
set(MESA_HASH_TYPE MD5)
|
||||
set(MESA_HASH 022c7293074aeeced2278c872db4fa693147c70f8595b076cf3f1ef81520766d)
|
||||
set(MESA_HASH_TYPE SHA256)
|
||||
set(MESA_FILE mesa-${MESA_VERSION}.tar.xz)
|
||||
|
||||
set(NASM_VERSION 2.15.02)
|
||||
@@ -456,25 +456,23 @@ set(NASM_HASH aded8b796c996a486a56e0515c83e414116decc3b184d88043480b32eb0a8589)
|
||||
set(NASM_HASH_TYPE SHA256)
|
||||
set(NASM_FILE nasm-${NASM_VERSION}.tar.gz)
|
||||
|
||||
set(XR_OPENXR_SDK_VERSION 1.0.14)
|
||||
set(XR_OPENXR_SDK_VERSION 1.0.17)
|
||||
set(XR_OPENXR_SDK_URI https://github.com/KhronosGroup/OpenXR-SDK/archive/release-${XR_OPENXR_SDK_VERSION}.tar.gz)
|
||||
set(XR_OPENXR_SDK_HASH 0df6b2fd6045423451a77ff6bc3e1a75)
|
||||
set(XR_OPENXR_SDK_HASH bf0fd8828837edff01047474e90013e1)
|
||||
set(XR_OPENXR_SDK_HASH_TYPE MD5)
|
||||
set(XR_OPENXR_SDK_FILE OpenXR-SDK-${XR_OPENXR_SDK_VERSION}.tar.gz)
|
||||
|
||||
if(BLENDER_PLATFORM_ARM)
|
||||
# Unreleased version with macOS arm support.
|
||||
set(ISPC_URI https://github.com/ispc/ispc/archive/f5949c055eb9eeb93696978a3da4bfb3a6a30b35.zip)
|
||||
set(ISPC_HASH d382fea18d01dbd0cd05d9e1ede36d7d)
|
||||
set(ISPC_HASH_TYPE MD5)
|
||||
set(ISPC_FILE f5949c055eb9eeb93696978a3da4bfb3a6a30b35.zip)
|
||||
else()
|
||||
set(ISPC_VERSION v1.14.1)
|
||||
set(ISPC_URI https://github.com/ispc/ispc/archive/${ISPC_VERSION}.tar.gz)
|
||||
set(ISPC_HASH 968fbc8dfd16a60ba4e32d2e0e03ea7a)
|
||||
set(ISPC_HASH_TYPE MD5)
|
||||
set(ISPC_FILE ispc-${ISPC_VERSION}.tar.gz)
|
||||
endif()
|
||||
set(WL_PROTOCOLS_VERSION 1.21)
|
||||
set(WL_PROTOCOLS_FILE wayland-protocols-${WL_PROTOCOLS_VERSION}.tar.gz)
|
||||
set(WL_PROTOCOLS_URI https://gitlab.freedesktop.org/wayland/wayland-protocols/-/archive/${WL_PROTOCOLS_VERSION}/${WL_PROTOCOLS_FILE})
|
||||
set(WL_PROTOCOLS_HASH af5ca07e13517cdbab33504492cef54a)
|
||||
set(WL_PROTOCOLS_HASH_TYPE MD5)
|
||||
|
||||
set(ISPC_VERSION v1.16.0)
|
||||
set(ISPC_URI https://github.com/ispc/ispc/archive/${ISPC_VERSION}.tar.gz)
|
||||
set(ISPC_HASH 2e3abedbc0ea9aaec17d6562c632454d)
|
||||
set(ISPC_HASH_TYPE MD5)
|
||||
set(ISPC_FILE ispc-${ISPC_VERSION}.tar.gz)
|
||||
|
||||
set(GMP_VERSION 6.2.0)
|
||||
set(GMP_URI https://gmplib.org/download/gmp/gmp-${GMP_VERSION}.tar.xz)
|
||||
@@ -494,5 +492,11 @@ set(HARU_HASH 4f916aa49c3069b3a10850013c507460)
|
||||
set(HARU_HASH_TYPE MD5)
|
||||
set(HARU_FILE libharu-${HARU_VERSION}.tar.gz)
|
||||
|
||||
set(ZSTD_VERSION 1.5.0)
|
||||
set(ZSTD_URI https://github.com/facebook/zstd/releases/download/v${ZSTD_VERSION}/zstd-${ZSTD_VERSION}.tar.gz)
|
||||
set(ZSTD_HASH 5194fbfa781fcf45b98c5e849651aa7b3b0a008c6b72d4a0db760f3002291e94)
|
||||
set(ZSTD_HASH_TYPE SHA256)
|
||||
set(ZSTD_FILE zstd-${ZSTD_VERSION}.tar.gz)
|
||||
|
||||
set(SSE2NEON_GIT https://github.com/DLTcollab/sse2neon.git)
|
||||
set(SSE2NEON_GIT_HASH fe5ff00bb8d19b327714a3c290f3e2ce81ba3525)
|
||||
|
27
build_files/build_environment/cmake/wayland_protocols.cmake
Normal file
27
build_files/build_environment/cmake/wayland_protocols.cmake
Normal file
@@ -0,0 +1,27 @@
|
||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
|
||||
ExternalProject_Add(external_wayland_protocols
|
||||
URL file://${PACKAGE_DIR}/${WL_PROTOCOLS_FILE}
|
||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||
URL_HASH ${WL_PROTOCOLS_HASH_TYPE}=${WL_PROTOCOLS_HASH}
|
||||
PREFIX ${BUILD_DIR}/wayland-protocols
|
||||
CONFIGURE_COMMAND meson --prefix ${LIBDIR}/wayland-protocols . ../external_wayland_protocols -Dtests=false
|
||||
BUILD_COMMAND ninja
|
||||
INSTALL_COMMAND ninja install
|
||||
)
|
51
build_files/build_environment/cmake/zstd.cmake
Normal file
51
build_files/build_environment/cmake/zstd.cmake
Normal file
@@ -0,0 +1,51 @@
|
||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ***** END GPL LICENSE BLOCK *****
|
||||
|
||||
set(ZSTD_EXTRA_ARGS
|
||||
-DZSTD_BUILD_PROGRAMS=OFF
|
||||
-DZSTD_BUILD_SHARED=OFF
|
||||
-DZSTD_BUILD_STATIC=ON
|
||||
-DZSTD_BUILD_TESTS=OFF
|
||||
-DZSTD_LEGACY_SUPPORT=OFF
|
||||
-DZSTD_LZ4_SUPPORT=OFF
|
||||
-DZSTD_LZMA_SUPPORT=OFF
|
||||
-DZSTD_MULTITHREAD_SUPPORT=ON
|
||||
-DZSTD_PROGRAMS_LINK_SHARED=OFF
|
||||
-DZSTD_USE_STATIC_RUNTIME=OFF
|
||||
-DZSTD_ZLIB_SUPPORT=OFF
|
||||
)
|
||||
|
||||
ExternalProject_Add(external_zstd
|
||||
URL file://${PACKAGE_DIR}/${ZSTD_FILE}
|
||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||
URL_HASH ${ZSTD_HASH_TYPE}=${ZSTD_HASH}
|
||||
PREFIX ${BUILD_DIR}/zstd
|
||||
SOURCE_SUBDIR build/cmake
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/zstd ${DEFAULT_CMAKE_FLAGS} ${ZSTD_EXTRA_ARGS}
|
||||
INSTALL_DIR ${LIBDIR}/zstd
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
if(BUILD_MODE STREQUAL Release)
|
||||
ExternalProject_Add_Step(external_zstd after_install
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/zstd/lib/zstd_static${LIBEXT} ${HARVEST_TARGET}/zstd/lib/zstd_static${LIBEXT}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/zstd/include/ ${HARVEST_TARGET}/zstd/include/
|
||||
DEPENDEES install
|
||||
)
|
||||
endif()
|
||||
endif()
|
File diff suppressed because it is too large
Load Diff
@@ -68,3 +68,34 @@
|
||||
+
|
||||
return ret;
|
||||
}
|
||||
--- a/libavcodec/rl.c
|
||||
+++ b/libavcodec/rl.c
|
||||
@@ -71,17 +71,19 @@
|
||||
av_cold void ff_rl_init_vlc(RLTable *rl, unsigned static_size)
|
||||
{
|
||||
int i, q;
|
||||
- VLC_TYPE table[1500][2] = {{0}};
|
||||
+ VLC_TYPE (*table)[2] = av_calloc(sizeof(VLC_TYPE), 1500 * 2);
|
||||
VLC vlc = { .table = table, .table_allocated = static_size };
|
||||
- av_assert0(static_size <= FF_ARRAY_ELEMS(table));
|
||||
+ av_assert0(static_size < 1500);
|
||||
init_vlc(&vlc, 9, rl->n + 1, &rl->table_vlc[0][1], 4, 2, &rl->table_vlc[0][0], 4, 2, INIT_VLC_USE_NEW_STATIC);
|
||||
|
||||
for (q = 0; q < 32; q++) {
|
||||
int qmul = q * 2;
|
||||
int qadd = (q - 1) | 1;
|
||||
|
||||
- if (!rl->rl_vlc[q])
|
||||
+ if (!rl->rl_vlc[q]){
|
||||
+ av_free(table);
|
||||
return;
|
||||
+ }
|
||||
|
||||
if (q == 0) {
|
||||
qmul = 1;
|
||||
@@ -113,4 +115,5 @@
|
||||
rl->rl_vlc[q][i].run = run;
|
||||
}
|
||||
}
|
||||
+ av_free(table);
|
||||
}
|
||||
|
@@ -1,27 +0,0 @@
|
||||
diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
|
||||
index ba2b1f4..b10f7df 100644
|
||||
--- a/numpy/distutils/system_info.py
|
||||
+++ b/numpy/distutils/system_info.py
|
||||
@@ -2164,8 +2164,8 @@ class accelerate_info(system_info):
|
||||
'accelerate' in libraries):
|
||||
if intel:
|
||||
args.extend(['-msse3'])
|
||||
- else:
|
||||
- args.extend(['-faltivec'])
|
||||
+# else:
|
||||
+# args.extend(['-faltivec'])
|
||||
args.extend([
|
||||
'-I/System/Library/Frameworks/vecLib.framework/Headers'])
|
||||
link_args.extend(['-Wl,-framework', '-Wl,Accelerate'])
|
||||
@@ -2174,8 +2174,8 @@ class accelerate_info(system_info):
|
||||
'veclib' in libraries):
|
||||
if intel:
|
||||
args.extend(['-msse3'])
|
||||
- else:
|
||||
- args.extend(['-faltivec'])
|
||||
+# else:
|
||||
+# args.extend(['-faltivec'])
|
||||
args.extend([
|
||||
'-I/System/Library/Frameworks/vecLib.framework/Headers'])
|
||||
link_args.extend(['-Wl,-framework', '-Wl,vecLib'])
|
||||
|
@@ -1,40 +0,0 @@
|
||||
diff -Naur oidn-1.3.0/cmake/FindTBB.cmake external_openimagedenoise/cmake/FindTBB.cmake
|
||||
--- oidn-1.3.0/cmake/FindTBB.cmake 2021-02-04 16:20:26 -0700
|
||||
+++ external_openimagedenoise/cmake/FindTBB.cmake 2021-02-12 09:35:53 -0700
|
||||
@@ -332,20 +332,22 @@
|
||||
${TBB_ROOT}/lib/${TBB_ARCH}/${TBB_VCVER}
|
||||
${TBB_ROOT}/lib
|
||||
)
|
||||
-
|
||||
# On Windows, also search the DLL so that the client may install it.
|
||||
file(GLOB DLL_NAMES
|
||||
${TBB_ROOT}/bin/${TBB_ARCH}/${TBB_VCVER}/${LIB_NAME}.dll
|
||||
${TBB_ROOT}/bin/${LIB_NAME}.dll
|
||||
+ ${TBB_ROOT}/lib/${LIB_NAME}.dll
|
||||
${TBB_ROOT}/redist/${TBB_ARCH}/${TBB_VCVER}/${LIB_NAME}.dll
|
||||
${TBB_ROOT}/redist/${TBB_ARCH}/${TBB_VCVER}/${LIB_NAME_GLOB1}.dll
|
||||
${TBB_ROOT}/redist/${TBB_ARCH}/${TBB_VCVER}/${LIB_NAME_GLOB2}.dll
|
||||
${TBB_ROOT}/../redist/${TBB_ARCH}/tbb/${TBB_VCVER}/${LIB_NAME}.dll
|
||||
${TBB_ROOT}/../redist/${TBB_ARCH}_win/tbb/${TBB_VCVER}/${LIB_NAME}.dll
|
||||
)
|
||||
- list(GET DLL_NAMES 0 DLL_NAME)
|
||||
- get_filename_component(${BIN_DIR_VAR} "${DLL_NAME}" DIRECTORY)
|
||||
- set(${DLL_VAR} "${DLL_NAME}" CACHE PATH "${COMPONENT_NAME} ${BUILD_CONFIG} dll path")
|
||||
+ if (DLL_NAMES)
|
||||
+ list(GET DLL_NAMES 0 DLL_NAME)
|
||||
+ get_filename_component(${BIN_DIR_VAR} "${DLL_NAME}" DIRECTORY)
|
||||
+ set(${DLL_VAR} "${DLL_NAME}" CACHE PATH "${COMPONENT_NAME} ${BUILD_CONFIG} dll path")
|
||||
+ endif()
|
||||
elseif(APPLE)
|
||||
set(LIB_PATHS ${TBB_ROOT}/lib)
|
||||
else()
|
||||
--- external_openimagedenoise/cmake/oidn_ispc.cmake 2021-02-15 17:29:34.000000000 +0100
|
||||
+++ external_openimagedenoise/cmake/oidn_ispc.cmake2 2021-02-15 17:29:28.000000000 +0100
|
||||
@@ -98,7 +98,7 @@
|
||||
elseif(OIDN_ARCH STREQUAL "ARM64")
|
||||
set(ISPC_ARCHITECTURE "aarch64")
|
||||
if(APPLE)
|
||||
- set(ISPC_TARGET_OS "--target-os=ios")
|
||||
+ set(ISPC_TARGET_OS "--target-os=macos")
|
||||
endif()
|
||||
endif()
|
@@ -34,24 +34,3 @@ diff -Naur orig/src/include/OpenImageIO/platform.h external_openimageio/src/incl
|
||||
# include <windows.h>
|
||||
#endif
|
||||
|
||||
diff -Naur orig/src/libutil/ustring.cpp external_openimageio/src/libutil/ustring.cpp
|
||||
--- orig/src/libutil/ustring.cpp 2020-05-11 05:43:52.000000000 +0200
|
||||
+++ external_openimageio/src/libutil/ustring.cpp 2020-11-26 12:06:08.000000000 +0100
|
||||
@@ -337,6 +337,8 @@
|
||||
// the std::string to make it point to our chars! In such a case, the
|
||||
// destructor will be careful not to allow a deallocation.
|
||||
|
||||
+ // Disable internal std::string for Apple silicon based Macs
|
||||
+#if !(defined(__APPLE__) && defined(__arm64__))
|
||||
#if defined(__GNUC__) && !defined(_LIBCPP_VERSION) \
|
||||
&& defined(_GLIBCXX_USE_CXX11_ABI) && _GLIBCXX_USE_CXX11_ABI
|
||||
// NEW gcc ABI
|
||||
@@ -382,7 +384,7 @@
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
-
|
||||
+#endif
|
||||
// Remaining cases - just assign the internal string. This may result
|
||||
// in double allocation for the chars. If you care about that, do
|
||||
// something special for your platform, much like we did for gcc and
|
@@ -1,18 +1,3 @@
|
||||
diff -Naur OpenShadingLanguage-Release-1.9.9/src/cmake/flexbison.cmake.rej external_osl/src/cmake/flexbison.cmake.rej
|
||||
--- OpenShadingLanguage-Release-1.9.9/src/cmake/flexbison.cmake.rej 1969-12-31 17:00:00 -0700
|
||||
+++ external_osl/src/cmake/flexbison.cmake.rej 2018-08-24 17:42:11 -0600
|
||||
@@ -0,0 +1,11 @@
|
||||
+--- src/cmake/flexbison.cmake 2018-05-01 16:39:02 -0600
|
||||
++++ src/cmake/flexbison.cmake 2018-08-24 10:24:03 -0600
|
||||
+@@ -77,7 +77,7 @@
|
||||
+ DEPENDS ${${compiler_headers}}
|
||||
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
|
||||
+ ADD_CUSTOM_COMMAND ( OUTPUT ${flexoutputcxx}
|
||||
+- COMMAND ${FLEX_EXECUTABLE} -o ${flexoutputcxx} "${CMAKE_CURRENT_SOURCE_DIR}/${flexsrc}"
|
||||
++ COMMAND ${FLEX_EXECUTABLE} ${FLEX_EXTRA_OPTIONS} -o ${flexoutputcxx} "${CMAKE_CURRENT_SOURCE_DIR}/${flexsrc}"
|
||||
+ MAIN_DEPENDENCY ${flexsrc}
|
||||
+ DEPENDS ${${compiler_headers}}
|
||||
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
|
||||
diff -Naur OpenShadingLanguage-Release-1.9.9/src/include/OSL/llvm_util.h external_osl/src/include/OSL/llvm_util.h
|
||||
--- OpenShadingLanguage-Release-1.9.9/src/include/OSL/llvm_util.h 2018-05-01 16:39:02 -0600
|
||||
+++ external_osl/src/include/OSL/llvm_util.h 2018-08-25 14:05:00 -0600
|
||||
@@ -63,19 +48,50 @@ diff -Naur org/CMakeLists.txt external_osl/CMakeLists.txt
|
||||
|
||||
set (OSL_NO_DEFAULT_TEXTURESYSTEM OFF CACHE BOOL "Do not use create a raw OIIO::TextureSystem")
|
||||
if (OSL_NO_DEFAULT_TEXTURESYSTEM)
|
||||
diff --git a/src/liboslexec/llvm_util.cpp b/src/liboslexec/llvm_util.cpp
|
||||
index 445f6400..3d468de2 100644
|
||||
--- a/src/liboslexec/llvm_util.cpp
|
||||
+++ b/src/liboslexec/llvm_util.cpp
|
||||
@@ -3430,8 +3430,9 @@ LLVM_Util::call_function (llvm::Value *func, cspan<llvm::Value *> args)
|
||||
#endif
|
||||
//llvm_gen_debug_printf (std::string("start ") + std::string(name));
|
||||
#if OSL_LLVM_VERSION >= 110
|
||||
- OSL_DASSERT(llvm::isa<llvm::Function>(func));
|
||||
- llvm::Value *r = builder().CreateCall(llvm::cast<llvm::Function>(func), llvm::ArrayRef<llvm::Value *>(args.data(), args.size()));
|
||||
+ llvm::Value* r = builder().CreateCall(
|
||||
+ llvm::cast<llvm::FunctionType>(func->getType()->getPointerElementType()), func,
|
||||
+ llvm::ArrayRef<llvm::Value*>(args.data(), args.size()));
|
||||
#else
|
||||
llvm::Value *r = builder().CreateCall (func, llvm::ArrayRef<llvm::Value *>(args.data(), args.size()));
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 990f50d69..46ef7351d 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -252,11 +252,9 @@ install (EXPORT OSL_EXPORTED_TARGETS
|
||||
FILE ${OSL_TARGETS_EXPORT_NAME}
|
||||
NAMESPACE ${PROJECT_NAME}::)
|
||||
|
||||
-
|
||||
-
|
||||
-
|
||||
-osl_add_all_tests()
|
||||
-
|
||||
+if (${PROJECT_NAME}_BUILD_TESTS AND NOT ${PROJECT_NAME}_IS_SUBPROJECT)
|
||||
+ osl_add_all_tests()
|
||||
+endif ()
|
||||
|
||||
if (NOT ${PROJECT_NAME}_IS_SUBPROJECT)
|
||||
include (packaging)
|
||||
diff -Naur external_osl_orig/src/cmake/externalpackages.cmake external_osl/src/cmake/externalpackages.cmake
|
||||
--- external_osl_orig/src/cmake/externalpackages.cmake 2021-06-01 13:44:18 -0600
|
||||
+++ external_osl/src/cmake/externalpackages.cmake 2021-06-28 07:44:32 -0600
|
||||
@@ -80,6 +80,7 @@
|
||||
|
||||
|
||||
checked_find_package (ZLIB REQUIRED) # Needed by several packages
|
||||
+checked_find_package (PNG REQUIRED) # Needed since OIIO needs it
|
||||
|
||||
# IlmBase & OpenEXR
|
||||
checked_find_package (OpenEXR REQUIRED
|
||||
diff -Naur external_osl_orig/src/liboslcomp/oslcomp.cpp external_osl/src/liboslcomp/oslcomp.cpp
|
||||
--- external_osl_orig/src/liboslcomp/oslcomp.cpp 2021-06-01 13:44:18 -0600
|
||||
+++ external_osl/src/liboslcomp/oslcomp.cpp 2021-06-28 09:11:06 -0600
|
||||
@@ -21,6 +21,13 @@
|
||||
#if !defined(__STDC_CONSTANT_MACROS)
|
||||
# define __STDC_CONSTANT_MACROS 1
|
||||
#endif
|
||||
+
|
||||
+// clang uses CALLBACK in its templates which causes issues if it is already defined
|
||||
+#ifdef _WIN32 && defined(CALLBACK)
|
||||
+# undef CALLBACK
|
||||
+#endif
|
||||
+
|
||||
+//
|
||||
#include <clang/Basic/TargetInfo.h>
|
||||
#include <clang/Frontend/CompilerInstance.h>
|
||||
#include <clang/Frontend/TextDiagnosticPrinter.h>
|
||||
|
@@ -79,6 +79,9 @@ set STAGING=%BUILD_DIR%\S
|
||||
rem for python module build
|
||||
set MSSdk=1
|
||||
set DISTUTILS_USE_SDK=1
|
||||
rem if you let pip pick its own build dirs, it'll stick it somewhere deep inside the user profile
|
||||
rem and cython will refuse to link due to a path that gets too long.
|
||||
set TMPDIR=c:\t\
|
||||
rem for python externals source to be shared between the various archs and compilers
|
||||
mkdir %BUILD_DIR%\downloads\externals
|
||||
|
||||
|
@@ -20,8 +20,24 @@ if(NOT CLANG_ROOT_DIR AND NOT $ENV{CLANG_ROOT_DIR} STREQUAL "")
|
||||
set(CLANG_ROOT_DIR $ENV{CLANG_ROOT_DIR})
|
||||
endif()
|
||||
|
||||
if(NOT LLVM_ROOT_DIR)
|
||||
if(DEFINED LLVM_VERSION)
|
||||
message(running llvm-config-${LLVM_VERSION})
|
||||
find_program(LLVM_CONFIG llvm-config-${LLVM_VERSION})
|
||||
endif()
|
||||
if(NOT LLVM_CONFIG)
|
||||
find_program(LLVM_CONFIG llvm-config)
|
||||
endif()
|
||||
|
||||
execute_process(COMMAND ${LLVM_CONFIG} --prefix
|
||||
OUTPUT_VARIABLE LLVM_ROOT_DIR
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
set(LLVM_ROOT_DIR ${LLVM_ROOT_DIR} CACHE PATH "Path to the LLVM installation")
|
||||
endif()
|
||||
|
||||
set(_CLANG_SEARCH_DIRS
|
||||
${CLANG_ROOT_DIR}
|
||||
${LLVM_ROOT_DIR}
|
||||
/opt/lib/clang
|
||||
)
|
||||
|
||||
|
@@ -472,8 +472,7 @@ if(NOT GFLAGS_FOUND)
|
||||
gflags_report_not_found(
|
||||
"Could not find gflags include directory, set GFLAGS_INCLUDE_DIR "
|
||||
"to directory containing gflags/gflags.h")
|
||||
endif(NOT GFLAGS_INCLUDE_DIR OR
|
||||
NOT EXISTS ${GFLAGS_INCLUDE_DIR})
|
||||
endif()
|
||||
|
||||
find_library(GFLAGS_LIBRARY NAMES gflags
|
||||
PATHS ${GFLAGS_LIBRARY_DIR_HINTS}
|
||||
@@ -484,8 +483,7 @@ if(NOT GFLAGS_FOUND)
|
||||
gflags_report_not_found(
|
||||
"Could not find gflags library, set GFLAGS_LIBRARY "
|
||||
"to full path to libgflags.")
|
||||
endif(NOT GFLAGS_LIBRARY OR
|
||||
NOT EXISTS ${GFLAGS_LIBRARY})
|
||||
endif()
|
||||
|
||||
# gflags typically requires a threading library (which is OS dependent), note
|
||||
# that this defines the CMAKE_THREAD_LIBS_INIT variable. If we are able to
|
||||
@@ -560,8 +558,7 @@ if(NOT GFLAGS_FOUND)
|
||||
gflags_report_not_found(
|
||||
"Caller defined GFLAGS_INCLUDE_DIR:"
|
||||
" ${GFLAGS_INCLUDE_DIR} does not contain gflags/gflags.h header.")
|
||||
endif(GFLAGS_INCLUDE_DIR AND
|
||||
NOT EXISTS ${GFLAGS_INCLUDE_DIR}/gflags/gflags.h)
|
||||
endif()
|
||||
# TODO: This regex for gflags library is pretty primitive, we use lowercase
|
||||
# for comparison to handle Windows using CamelCase library names, could
|
||||
# this check be better?
|
||||
@@ -571,8 +568,7 @@ if(NOT GFLAGS_FOUND)
|
||||
gflags_report_not_found(
|
||||
"Caller defined GFLAGS_LIBRARY: "
|
||||
"${GFLAGS_LIBRARY} does not match gflags.")
|
||||
endif(GFLAGS_LIBRARY AND
|
||||
NOT "${LOWERCASE_GFLAGS_LIBRARY}" MATCHES ".*gflags[^/]*")
|
||||
endif()
|
||||
|
||||
gflags_reset_find_library_prefix()
|
||||
|
||||
|
81
build_files/cmake/Modules/FindHIP.cmake
Normal file
81
build_files/cmake/Modules/FindHIP.cmake
Normal file
@@ -0,0 +1,81 @@
|
||||
# - Find HIP compiler
|
||||
#
|
||||
# This module defines
|
||||
# HIP_HIPCC_EXECUTABLE, the full path to the hipcc executable
|
||||
# HIP_VERSION, the HIP compiler version
|
||||
#
|
||||
# HIP_FOUND, if the HIP toolkit is found.
|
||||
|
||||
#=============================================================================
|
||||
# Copyright 2021 Blender Foundation.
|
||||
#
|
||||
# Distributed under the OSI-approved BSD 3-Clause License,
|
||||
# see accompanying file BSD-3-Clause-license.txt for details.
|
||||
#=============================================================================
|
||||
|
||||
# If HIP_ROOT_DIR was defined in the environment, use it.
|
||||
if(NOT HIP_ROOT_DIR AND NOT $ENV{HIP_ROOT_DIR} STREQUAL "")
|
||||
set(HIP_ROOT_DIR $ENV{HIP_ROOT_DIR})
|
||||
endif()
|
||||
|
||||
set(_hip_SEARCH_DIRS
|
||||
${HIP_ROOT_DIR}
|
||||
)
|
||||
|
||||
find_program(HIP_HIPCC_EXECUTABLE
|
||||
NAMES
|
||||
hipcc
|
||||
HINTS
|
||||
${_hip_SEARCH_DIRS}
|
||||
PATH_SUFFIXES
|
||||
bin
|
||||
)
|
||||
|
||||
if(HIP_HIPCC_EXECUTABLE AND NOT EXISTS ${HIP_HIPCC_EXECUTABLE})
|
||||
message(WARNING "Cached or directly specified hipcc executable does not exist.")
|
||||
set(HIP_FOUND FALSE)
|
||||
elseif(HIP_HIPCC_EXECUTABLE)
|
||||
set(HIP_FOUND TRUE)
|
||||
|
||||
set(HIP_VERSION_MAJOR 0)
|
||||
set(HIP_VERSION_MINOR 0)
|
||||
set(HIP_VERSION_PATCH 0)
|
||||
|
||||
# Get version from the output.
|
||||
execute_process(COMMAND ${HIP_HIPCC_EXECUTABLE} --version
|
||||
OUTPUT_VARIABLE HIP_VERSION_RAW
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
# Parse parts.
|
||||
if(HIP_VERSION_RAW MATCHES "HIP version: .*")
|
||||
# Strip the HIP prefix and get list of individual version components.
|
||||
string(REGEX REPLACE
|
||||
".*HIP version: ([.0-9]+).*" "\\1"
|
||||
HIP_SEMANTIC_VERSION "${HIP_VERSION_RAW}")
|
||||
string(REPLACE "." ";" HIP_VERSION_PARTS "${HIP_SEMANTIC_VERSION}")
|
||||
list(LENGTH HIP_VERSION_PARTS NUM_HIP_VERSION_PARTS)
|
||||
|
||||
# Extract components into corresponding variables.
|
||||
if(NUM_HIP_VERSION_PARTS GREATER 0)
|
||||
list(GET HIP_VERSION_PARTS 0 HIP_VERSION_MAJOR)
|
||||
endif()
|
||||
if(NUM_HIP_VERSION_PARTS GREATER 1)
|
||||
list(GET HIP_VERSION_PARTS 1 HIP_VERSION_MINOR)
|
||||
endif()
|
||||
if(NUM_HIP_VERSION_PARTS GREATER 2)
|
||||
list(GET HIP_VERSION_PARTS 2 HIP_VERSION_PATCH)
|
||||
endif()
|
||||
|
||||
# Unset temp variables.
|
||||
unset(NUM_HIP_VERSION_PARTS)
|
||||
unset(HIP_SEMANTIC_VERSION)
|
||||
unset(HIP_VERSION_PARTS)
|
||||
endif()
|
||||
|
||||
# Construct full semantic version.
|
||||
set(HIP_VERSION "${HIP_VERSION_MAJOR}.${HIP_VERSION_MINOR}.${HIP_VERSION_PATCH}")
|
||||
unset(HIP_VERSION_RAW)
|
||||
else()
|
||||
set(HIP_FOUND FALSE)
|
||||
endif()
|
@@ -40,7 +40,7 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(NanoVDB DEFAULT_MSG
|
||||
|
||||
IF(NANOVDB_FOUND)
|
||||
SET(NANOVDB_INCLUDE_DIRS ${NANOVDB_INCLUDE_DIR})
|
||||
ENDIF(NANOVDB_FOUND)
|
||||
ENDIF()
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
NANOVDB_INCLUDE_DIR
|
||||
|
@@ -46,7 +46,7 @@ SET(_opencollada_FIND_COMPONENTS
|
||||
)
|
||||
|
||||
# Fedora openCOLLADA package links these statically
|
||||
# note that order is important here ot it wont link
|
||||
# note that order is important here or it won't link
|
||||
SET(_opencollada_FIND_STATIC_COMPONENTS
|
||||
buffer
|
||||
ftoa
|
||||
|
@@ -33,11 +33,23 @@ FIND_PATH(OPTIX_INCLUDE_DIR
|
||||
include
|
||||
)
|
||||
|
||||
IF(EXISTS "${OPTIX_INCLUDE_DIR}/optix.h")
|
||||
FILE(STRINGS "${OPTIX_INCLUDE_DIR}/optix.h" _optix_version REGEX "^#define OPTIX_VERSION[ \t].*$")
|
||||
STRING(REGEX MATCHALL "[0-9]+" _optix_version ${_optix_version})
|
||||
|
||||
MATH(EXPR _optix_version_major "${_optix_version} / 10000")
|
||||
MATH(EXPR _optix_version_minor "(${_optix_version} % 10000) / 100")
|
||||
MATH(EXPR _optix_version_patch "${_optix_version} % 100")
|
||||
|
||||
SET(OPTIX_VERSION "${_optix_version_major}.${_optix_version_minor}.${_optix_version_patch}")
|
||||
ENDIF()
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set OPTIX_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OptiX DEFAULT_MSG
|
||||
OPTIX_INCLUDE_DIR)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OptiX
|
||||
REQUIRED_VARS OPTIX_INCLUDE_DIR
|
||||
VERSION_VAR OPTIX_VERSION)
|
||||
|
||||
IF(OPTIX_FOUND)
|
||||
SET(OPTIX_INCLUDE_DIRS ${OPTIX_INCLUDE_DIR})
|
||||
@@ -45,6 +57,7 @@ ENDIF()
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
OPTIX_INCLUDE_DIR
|
||||
OPTIX_VERSION
|
||||
)
|
||||
|
||||
UNSET(_optix_SEARCH_DIRS)
|
||||
|
@@ -44,7 +44,7 @@ SET(PYTHON_LINKFLAGS "-Xlinker -export-dynamic" CACHE STRING "Linker flags for p
|
||||
MARK_AS_ADVANCED(PYTHON_LINKFLAGS)
|
||||
|
||||
|
||||
# if the user passes these defines as args, we dont want to overwrite
|
||||
# if the user passes these defines as args, we don't want to overwrite
|
||||
SET(_IS_INC_DEF OFF)
|
||||
SET(_IS_INC_CONF_DEF OFF)
|
||||
SET(_IS_LIB_DEF OFF)
|
||||
@@ -143,7 +143,7 @@ IF((NOT _IS_INC_DEF) OR (NOT _IS_INC_CONF_DEF) OR (NOT _IS_LIB_DEF) OR (NOT _IS_
|
||||
SET(_PYTHON_ABI_FLAGS "${_CURRENT_ABI_FLAGS}")
|
||||
break()
|
||||
ELSE()
|
||||
# ensure we dont find values from 2 different ABI versions
|
||||
# ensure we don't find values from 2 different ABI versions
|
||||
IF(NOT _IS_INC_DEF)
|
||||
UNSET(PYTHON_INCLUDE_DIR CACHE)
|
||||
ENDIF()
|
||||
|
66
build_files/cmake/Modules/FindZstd.cmake
Normal file
66
build_files/cmake/Modules/FindZstd.cmake
Normal file
@@ -0,0 +1,66 @@
|
||||
# - Find Zstd library
|
||||
# Find the native Zstd includes and library
|
||||
# This module defines
|
||||
# ZSTD_INCLUDE_DIRS, where to find zstd.h, Set when
|
||||
# ZSTD_INCLUDE_DIR is found.
|
||||
# ZSTD_LIBRARIES, libraries to link against to use Zstd.
|
||||
# ZSTD_ROOT_DIR, The base directory to search for Zstd.
|
||||
# This can also be an environment variable.
|
||||
# ZSTD_FOUND, If false, do not try to use Zstd.
|
||||
#
|
||||
# also defined, but not for general use are
|
||||
# ZSTD_LIBRARY, where to find the Zstd library.
|
||||
|
||||
#=============================================================================
|
||||
# Copyright 2019 Blender Foundation.
|
||||
#
|
||||
# Distributed under the OSI-approved BSD License (the "License");
|
||||
# see accompanying file Copyright.txt for details.
|
||||
#
|
||||
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
# See the License for more information.
|
||||
#=============================================================================
|
||||
|
||||
# If ZSTD_ROOT_DIR was defined in the environment, use it.
|
||||
IF(NOT ZSTD_ROOT_DIR AND NOT $ENV{ZSTD_ROOT_DIR} STREQUAL "")
|
||||
SET(ZSTD_ROOT_DIR $ENV{ZSTD_ROOT_DIR})
|
||||
ENDIF()
|
||||
|
||||
SET(_zstd_SEARCH_DIRS
|
||||
${ZSTD_ROOT_DIR}
|
||||
)
|
||||
|
||||
FIND_PATH(ZSTD_INCLUDE_DIR
|
||||
NAMES
|
||||
zstd.h
|
||||
HINTS
|
||||
${_zstd_SEARCH_DIRS}
|
||||
PATH_SUFFIXES
|
||||
include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(ZSTD_LIBRARY
|
||||
NAMES
|
||||
zstd
|
||||
HINTS
|
||||
${_zstd_SEARCH_DIRS}
|
||||
PATH_SUFFIXES
|
||||
lib64 lib
|
||||
)
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set ZSTD_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Zstd DEFAULT_MSG
|
||||
ZSTD_LIBRARY ZSTD_INCLUDE_DIR)
|
||||
|
||||
IF(ZSTD_FOUND)
|
||||
SET(ZSTD_LIBRARIES ${ZSTD_LIBRARY})
|
||||
SET(ZSTD_INCLUDE_DIRS ${ZSTD_INCLUDE_DIR})
|
||||
ENDIF()
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
ZSTD_INCLUDE_DIR
|
||||
ZSTD_LIBRARY
|
||||
)
|
@@ -40,7 +40,7 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(sse2neon DEFAULT_MSG
|
||||
|
||||
IF(SSE2NEON_FOUND)
|
||||
SET(SSE2NEON_INCLUDE_DIRS ${SSE2NEON_INCLUDE_DIR})
|
||||
ENDIF(SSE2NEON_FOUND)
|
||||
ENDIF()
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
SSE2NEON_INCLUDE_DIR
|
||||
|
@@ -305,7 +305,7 @@ def file_check_arg_sizes(tu):
|
||||
for i, node_child in enumerate(children):
|
||||
children = list(node_child.get_children())
|
||||
|
||||
# skip if we dont have an index...
|
||||
# skip if we don't have an index...
|
||||
size_def = args_size_definition.get(i, -1)
|
||||
|
||||
if size_def == -1:
|
||||
@@ -354,7 +354,7 @@ def file_check_arg_sizes(tu):
|
||||
filepath # always the same but useful when running threaded
|
||||
))
|
||||
|
||||
# we dont really care what we are looking at, just scan entire file for
|
||||
# we don't really care what we are looking at, just scan entire file for
|
||||
# function calls.
|
||||
|
||||
def recursive_func_call_check(node):
|
||||
|
@@ -8,6 +8,9 @@ IGNORE_SOURCE = (
|
||||
# specific source files
|
||||
"extern/audaspace/",
|
||||
|
||||
# Use for `WIN32` only.
|
||||
"source/creator/blender_launcher_win32.c",
|
||||
|
||||
# specific source files
|
||||
"extern/bullet2/src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.cpp",
|
||||
"extern/bullet2/src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.cpp",
|
||||
|
@@ -82,7 +82,7 @@ def create_nb_project_main():
|
||||
make_exe = cmake_cache_var("CMAKE_MAKE_PROGRAM")
|
||||
make_exe_basename = os.path.basename(make_exe)
|
||||
|
||||
# --------------- NB specific
|
||||
# --------------- NetBeans specific.
|
||||
defines = [("%s=%s" % cdef) if cdef[1] else cdef[0] for cdef in defines]
|
||||
defines += [cdef.replace("#define", "").strip() for cdef in cmake_compiler_defines()]
|
||||
|
||||
|
@@ -24,6 +24,7 @@ import project_source_info
|
||||
import subprocess
|
||||
import sys
|
||||
import os
|
||||
import tempfile
|
||||
|
||||
from typing import (
|
||||
Any,
|
||||
@@ -35,7 +36,6 @@ USE_QUIET = (os.environ.get("QUIET", None) is not None)
|
||||
|
||||
CHECKER_IGNORE_PREFIX = [
|
||||
"extern",
|
||||
"intern/moto",
|
||||
]
|
||||
|
||||
CHECKER_BIN = "cppcheck"
|
||||
@@ -47,13 +47,19 @@ CHECKER_ARGS = [
|
||||
"--max-configs=1", # speeds up execution
|
||||
# "--check-config", # when includes are missing
|
||||
"--enable=all", # if you want sixty hundred pedantic suggestions
|
||||
|
||||
# Quiet output, otherwise all defines/includes are printed (overly verbose).
|
||||
# Only enable this for troubleshooting (if defines are not set as expected for example).
|
||||
"--quiet",
|
||||
|
||||
# NOTE: `--cppcheck-build-dir=<dir>` is added later as a temporary directory.
|
||||
]
|
||||
|
||||
if USE_QUIET:
|
||||
CHECKER_ARGS.append("--quiet")
|
||||
|
||||
|
||||
def main() -> None:
|
||||
def cppcheck() -> None:
|
||||
source_info = project_source_info.build_info(ignore_prefix_list=CHECKER_IGNORE_PREFIX)
|
||||
source_defines = project_source_info.build_defines_as_args()
|
||||
|
||||
@@ -78,7 +84,10 @@ def main() -> None:
|
||||
percent_str = "[" + ("%.2f]" % percent).rjust(7) + " %:"
|
||||
|
||||
sys.stdout.flush()
|
||||
sys.stdout.write("%s " % percent_str)
|
||||
sys.stdout.write("%s %s\n" % (
|
||||
percent_str,
|
||||
os.path.relpath(c, project_source_info.SOURCE_DIR)
|
||||
))
|
||||
|
||||
return subprocess.Popen(cmd)
|
||||
|
||||
@@ -90,5 +99,11 @@ def main() -> None:
|
||||
print("Finished!")
|
||||
|
||||
|
||||
def main() -> None:
|
||||
with tempfile.TemporaryDirectory() as temp_dir:
|
||||
CHECKER_ARGS.append("--cppcheck-build-dir=" + temp_dir)
|
||||
cppcheck()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
@@ -7,7 +7,6 @@
|
||||
set(WITH_ASSERT_ABORT ON CACHE BOOL "" FORCE)
|
||||
set(WITH_BUILDINFO OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_COMPILER_ASAN ON CACHE BOOL "" FORCE)
|
||||
set(WITH_CYCLES_DEBUG ON CACHE BOOL "" FORCE)
|
||||
set(WITH_CYCLES_NATIVE_ONLY ON CACHE BOOL "" FORCE)
|
||||
set(WITH_DOC_MANPAGE OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_GTESTS ON CACHE BOOL "" FORCE)
|
||||
|
@@ -29,6 +29,7 @@ set(WITH_IMAGE_OPENEXR ON CACHE BOOL "" FORCE)
|
||||
set(WITH_IMAGE_OPENJPEG ON CACHE BOOL "" FORCE)
|
||||
set(WITH_IMAGE_TIFF ON CACHE BOOL "" FORCE)
|
||||
set(WITH_INPUT_NDOF ON CACHE BOOL "" FORCE)
|
||||
set(WITH_INPUT_IME ON CACHE BOOL "" FORCE)
|
||||
set(WITH_INTERNATIONAL ON CACHE BOOL "" FORCE)
|
||||
set(WITH_LIBMV ON CACHE BOOL "" FORCE)
|
||||
set(WITH_LIBMV_SCHUR_SPECIALIZATIONS ON CACHE BOOL "" FORCE)
|
||||
|
@@ -9,6 +9,7 @@ set(WITH_INSTALL_PORTABLE ON CACHE BOOL "" FORCE)
|
||||
|
||||
set(WITH_ALEMBIC OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_AUDASPACE OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_BLENDER_THUMBNAILER OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_BOOST OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_BUILDINFO OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_BULLET OFF CACHE BOOL "" FORCE)
|
||||
|
@@ -30,6 +30,7 @@ set(WITH_IMAGE_OPENEXR ON CACHE BOOL "" FORCE)
|
||||
set(WITH_IMAGE_OPENJPEG ON CACHE BOOL "" FORCE)
|
||||
set(WITH_IMAGE_TIFF ON CACHE BOOL "" FORCE)
|
||||
set(WITH_INPUT_NDOF ON CACHE BOOL "" FORCE)
|
||||
set(WITH_INPUT_IME ON CACHE BOOL "" FORCE)
|
||||
set(WITH_INTERNATIONAL ON CACHE BOOL "" FORCE)
|
||||
set(WITH_LIBMV ON CACHE BOOL "" FORCE)
|
||||
set(WITH_LIBMV_SCHUR_SPECIALIZATIONS ON CACHE BOOL "" FORCE)
|
||||
|
@@ -208,7 +208,7 @@ function(blender_source_group
|
||||
)
|
||||
|
||||
# if enabled, use the sources directories as filters.
|
||||
if(WINDOWS_USE_VISUAL_STUDIO_SOURCE_FOLDERS)
|
||||
if(IDE_GROUP_SOURCES_IN_FOLDERS)
|
||||
foreach(_SRC ${sources})
|
||||
# remove ../'s
|
||||
get_filename_component(_SRC_DIR ${_SRC} REALPATH)
|
||||
@@ -240,8 +240,8 @@ function(blender_source_group
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
# if enabled, set the FOLDER property for visual studio projects
|
||||
if(WINDOWS_USE_VISUAL_STUDIO_PROJECT_FOLDERS)
|
||||
# if enabled, set the FOLDER property for the projects
|
||||
if(IDE_GROUP_PROJECTS_IN_FOLDERS)
|
||||
get_filename_component(FolderDir ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY)
|
||||
string(REPLACE ${CMAKE_SOURCE_DIR} "" FolderDir ${FolderDir})
|
||||
set_target_properties(${name} PROPERTIES FOLDER ${FolderDir})
|
||||
@@ -596,14 +596,6 @@ function(SETUP_LIBDIRS)
|
||||
link_directories(${GMP_LIBPATH})
|
||||
endif()
|
||||
|
||||
if(WITH_GHOST_WAYLAND)
|
||||
link_directories(
|
||||
${wayland-client_LIBRARY_DIRS}
|
||||
${wayland-egl_LIBRARY_DIRS}
|
||||
${xkbcommon_LIBRARY_DIRS}
|
||||
${wayland-cursor_LIBRARY_DIRS})
|
||||
endif()
|
||||
|
||||
if(WIN32 AND NOT UNIX)
|
||||
link_directories(${PTHREADS_LIBPATH})
|
||||
endif()
|
||||
@@ -702,7 +694,7 @@ macro(message_first_run)
|
||||
endmacro()
|
||||
|
||||
# when we have warnings as errors applied globally this
|
||||
# needs to be removed for some external libs which we dont maintain.
|
||||
# needs to be removed for some external libs which we don't maintain.
|
||||
|
||||
# utility macro
|
||||
macro(remove_cc_flag
|
||||
@@ -802,7 +794,7 @@ macro(remove_extra_strict_flags)
|
||||
endmacro()
|
||||
|
||||
# note, we can only append flags on a single file so we need to negate the options.
|
||||
# at the moment we cant shut up ffmpeg deprecations, so use this, but will
|
||||
# at the moment we can't shut up ffmpeg deprecations, so use this, but will
|
||||
# probably add more removals here.
|
||||
macro(remove_strict_c_flags_file
|
||||
filenames)
|
||||
@@ -971,14 +963,6 @@ macro(blender_project_hack_post)
|
||||
unset(_reset_standard_cflags_rel)
|
||||
unset(_reset_standard_cxxflags_rel)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# workaround for omission in cmake 2.8.4's GNU.cmake, fixed in 2.8.5
|
||||
if(CMAKE_COMPILER_IS_GNUCC)
|
||||
if(NOT DARWIN)
|
||||
set(CMAKE_INCLUDE_SYSTEM_FLAG_C "-isystem ")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
endmacro()
|
||||
|
||||
# pair of macros to allow libraries to be specify files to install, but to
|
||||
|
@@ -388,6 +388,10 @@ endif()
|
||||
|
||||
if(WITH_TBB)
|
||||
find_package(TBB)
|
||||
if(NOT TBB_FOUND)
|
||||
message(WARNING "TBB not found, disabling WITH_TBB")
|
||||
set(WITH_TBB OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(WITH_POTRACE)
|
||||
@@ -400,32 +404,16 @@ endif()
|
||||
|
||||
# CMake FindOpenMP doesn't know about AppleClang before 3.12, so provide custom flags.
|
||||
if(WITH_OPENMP)
|
||||
if(CMAKE_C_COMPILER_ID MATCHES "Clang" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "7.0")
|
||||
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||
# Use OpenMP from our precompiled libraries.
|
||||
message(STATUS "Using ${LIBDIR}/openmp for OpenMP")
|
||||
set(OPENMP_CUSTOM ON)
|
||||
set(OPENMP_FOUND ON)
|
||||
set(OpenMP_C_FLAGS "-Xclang -fopenmp -I'${LIBDIR}/openmp/include'")
|
||||
set(OpenMP_CXX_FLAGS "-Xclang -fopenmp -I'${LIBDIR}/openmp/include'")
|
||||
set(OpenMP_LINKER_FLAGS "-L'${LIBDIR}/openmp/lib' -lomp")
|
||||
|
||||
# Copy libomp.dylib to allow executables like datatoc and tests to work.
|
||||
# `@executable_path/../Resources/lib/` `LC_ID_DYLIB` is added by the deps builder.
|
||||
# For single config generator datatoc, tests etc.
|
||||
execute_process(
|
||||
COMMAND mkdir -p ${CMAKE_BINARY_DIR}/Resources/lib
|
||||
COMMAND cp -p ${LIBDIR}/openmp/lib/libomp.dylib ${CMAKE_BINARY_DIR}/Resources/lib/libomp.dylib
|
||||
)
|
||||
# For multi-config generator datatoc, etc.
|
||||
execute_process(
|
||||
COMMAND mkdir -p ${CMAKE_BINARY_DIR}/bin/Resources/lib
|
||||
COMMAND cp -p ${LIBDIR}/openmp/lib/libomp.dylib ${CMAKE_BINARY_DIR}/bin/Resources/lib/libomp.dylib
|
||||
)
|
||||
# For multi-config generator tests.
|
||||
execute_process(
|
||||
COMMAND mkdir -p ${CMAKE_BINARY_DIR}/bin/tests/Resources/lib
|
||||
COMMAND cp -p ${LIBDIR}/openmp/lib/libomp.dylib ${CMAKE_BINARY_DIR}/bin/tests/Resources/lib/libomp.dylib
|
||||
)
|
||||
set(OpenMP_LIBRARY_DIR "${LIBDIR}/openmp/lib/")
|
||||
set(OpenMP_LINKER_FLAGS "-L'${OpenMP_LIBRARY_DIR}' -lomp")
|
||||
set(OpenMP_LIBRARY "${OpenMP_LIBRARY_DIR}/libomp.dylib")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -453,6 +441,9 @@ if(WITH_HARU)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(ZSTD_ROOT_DIR ${LIBDIR}/zstd)
|
||||
find_package(Zstd REQUIRED)
|
||||
|
||||
if(EXISTS ${LIBDIR})
|
||||
without_system_libs_end()
|
||||
endif()
|
||||
@@ -476,10 +467,8 @@ else()
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -mdynamic-no-pic")
|
||||
endif()
|
||||
|
||||
if(${XCODE_VERSION} VERSION_EQUAL 5 OR ${XCODE_VERSION} VERSION_GREATER 5)
|
||||
# Xcode 5 is always using CLANG, which has too low template depth of 128 for libmv
|
||||
string(APPEND CMAKE_CXX_FLAGS " -ftemplate-depth=1024")
|
||||
endif()
|
||||
# Clang has too low template depth of 128 for libmv.
|
||||
string(APPEND CMAKE_CXX_FLAGS " -ftemplate-depth=1024")
|
||||
|
||||
# Avoid conflicts with Luxrender, and other plug-ins that may use the same
|
||||
# libraries as Blender with a different version or build options.
|
||||
@@ -509,3 +498,15 @@ if(WITH_COMPILER_CCACHE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# For binaries that are built but not installed (also not distributed) (datatoc,
|
||||
# makesdna, tests, etc.), we add an rpath to the OpenMP library dir through
|
||||
# CMAKE_BUILD_RPATH. This avoids having to make many copies of the dylib next to each binary.
|
||||
#
|
||||
# For the installed Python module and installed Blender executable, CMAKE_INSTALL_RPATH
|
||||
# is modified to find the dylib in an adjacent folder. Install step puts the libraries there.
|
||||
set(CMAKE_SKIP_BUILD_RPATH FALSE)
|
||||
list(APPEND CMAKE_BUILD_RPATH "${OpenMP_LIBRARY_DIR}")
|
||||
|
||||
set(CMAKE_SKIP_INSTALL_RPATH FALSE)
|
||||
list(APPEND CMAKE_INSTALL_RPATH "@loader_path/../Resources/${BLENDER_VERSION}/lib")
|
||||
|
@@ -99,6 +99,7 @@ endif()
|
||||
find_package_wrapper(JPEG REQUIRED)
|
||||
find_package_wrapper(PNG REQUIRED)
|
||||
find_package_wrapper(ZLIB REQUIRED)
|
||||
find_package_wrapper(Zstd REQUIRED)
|
||||
find_package_wrapper(Freetype REQUIRED)
|
||||
|
||||
if(WITH_PYTHON)
|
||||
@@ -457,6 +458,10 @@ endif()
|
||||
|
||||
if(WITH_TBB)
|
||||
find_package_wrapper(TBB)
|
||||
if(NOT TBB_FOUND)
|
||||
message(WARNING "TBB not found, disabling WITH_TBB")
|
||||
set(WITH_TBB OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(WITH_XR_OPENXR)
|
||||
@@ -575,17 +580,17 @@ if(WITH_GHOST_WAYLAND)
|
||||
pkg_check_modules(wayland-scanner REQUIRED wayland-scanner)
|
||||
pkg_check_modules(xkbcommon REQUIRED xkbcommon)
|
||||
pkg_check_modules(wayland-cursor REQUIRED wayland-cursor)
|
||||
pkg_check_modules(dbus REQUIRED dbus-1)
|
||||
|
||||
set(WITH_GL_EGL ON)
|
||||
|
||||
if(WITH_GHOST_WAYLAND)
|
||||
list(APPEND PLATFORM_LINKLIBS
|
||||
${wayland-client_LIBRARIES}
|
||||
${wayland-egl_LIBRARIES}
|
||||
${xkbcommon_LIBRARIES}
|
||||
${wayland-cursor_LIBRARIES}
|
||||
)
|
||||
endif()
|
||||
list(APPEND PLATFORM_LINKLIBS
|
||||
${wayland-client_LINK_LIBRARIES}
|
||||
${wayland-egl_LINK_LIBRARIES}
|
||||
${xkbcommon_LINK_LIBRARIES}
|
||||
${wayland-cursor_LINK_LIBRARIES}
|
||||
${dbus_LINK_LIBRARIES}
|
||||
)
|
||||
endif()
|
||||
|
||||
if(WITH_GHOST_X11)
|
||||
|
@@ -57,8 +57,6 @@ if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ${WINDOWS_USE_VISUAL_STUDIO_PROJECT_FOLDERS})
|
||||
|
||||
if(NOT WITH_PYTHON_MODULE)
|
||||
set_property(DIRECTORY PROPERTY VS_STARTUP_PROJECT blender)
|
||||
endif()
|
||||
@@ -153,8 +151,8 @@ if(MSVC_CLANG) # Clangs version of cl doesn't support all flags
|
||||
string(APPEND CMAKE_CXX_FLAGS " ${CXX_WARN_FLAGS} /nologo /J /Gd /EHsc -Wno-unused-command-line-argument -Wno-microsoft-enum-forward-reference ")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /nologo /J /Gd -Wno-unused-command-line-argument -Wno-microsoft-enum-forward-reference")
|
||||
else()
|
||||
string(APPEND CMAKE_CXX_FLAGS " /nologo /J /Gd /MP /EHsc /bigobj")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /nologo /J /Gd /MP /bigobj")
|
||||
string(APPEND CMAKE_CXX_FLAGS " /nologo /J /Gd /MP /EHsc /bigobj /Zc:inline")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /nologo /J /Gd /MP /bigobj /Zc:inline")
|
||||
endif()
|
||||
|
||||
# X64 ASAN is available and usable on MSVC 16.9 preview 4 and up)
|
||||
@@ -217,8 +215,8 @@ else()
|
||||
endif()
|
||||
|
||||
if(WITH_WINDOWS_PDB)
|
||||
set(PDB_INFO_OVERRIDE_FLAGS "${SYMBOL_FORMAT_RELEASE}")
|
||||
set(PDB_INFO_OVERRIDE_LINKER_FLAGS "/DEBUG /OPT:REF /OPT:ICF /INCREMENTAL:NO")
|
||||
set(PDB_INFO_OVERRIDE_FLAGS "${SYMBOL_FORMAT_RELEASE}")
|
||||
set(PDB_INFO_OVERRIDE_LINKER_FLAGS "/DEBUG /OPT:REF /OPT:ICF /INCREMENTAL:NO")
|
||||
endif()
|
||||
|
||||
string(APPEND CMAKE_CXX_FLAGS_DEBUG " /MDd ${SYMBOL_FORMAT}")
|
||||
@@ -261,8 +259,10 @@ if(NOT DEFINED LIBDIR)
|
||||
else()
|
||||
message(FATAL_ERROR "32 bit compiler detected, blender no longer provides pre-build libraries for 32 bit windows, please set the LIBDIR cmake variable to your own library folder")
|
||||
endif()
|
||||
# Can be 1910..1912
|
||||
if(MSVC_VERSION GREATER 1919)
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.30.30423)
|
||||
message(STATUS "Visual Studio 2022 detected.")
|
||||
set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc15)
|
||||
elseif(MSVC_VERSION GREATER 1919)
|
||||
message(STATUS "Visual Studio 2019 detected.")
|
||||
set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc15)
|
||||
elseif(MSVC_VERSION GREATER 1909)
|
||||
@@ -548,7 +548,6 @@ if(WITH_OPENIMAGEIO)
|
||||
set(OPENIMAGEIO_LIBRARIES ${OIIO_OPTIMIZED} ${OIIO_DEBUG})
|
||||
|
||||
set(OPENIMAGEIO_DEFINITIONS "-DUSE_TBB=0")
|
||||
set(OPENCOLORIO_DEFINITIONS "-DDOpenColorIO_SKIP_IMPORTS")
|
||||
set(OPENIMAGEIO_IDIFF "${OPENIMAGEIO}/bin/idiff.exe")
|
||||
add_definitions(-DOIIO_STATIC_DEFINE)
|
||||
add_definitions(-DOIIO_NO_SSE=1)
|
||||
@@ -594,7 +593,7 @@ if(WITH_OPENCOLORIO)
|
||||
debug ${OPENCOLORIO_LIBPATH}/libexpatdMD.lib
|
||||
debug ${OPENCOLORIO_LIBPATH}/pystring_d.lib
|
||||
)
|
||||
set(OPENCOLORIO_DEFINITIONS)
|
||||
set(OPENCOLORIO_DEFINITIONS "-DOpenColorIO_SKIP_IMPORTS")
|
||||
endif()
|
||||
|
||||
if(WITH_OPENVDB)
|
||||
@@ -675,10 +674,11 @@ if(WITH_SYSTEM_AUDASPACE)
|
||||
endif()
|
||||
|
||||
if(WITH_TBB)
|
||||
set(TBB_LIBRARIES optimized ${LIBDIR}/tbb/lib/tbb.lib debug ${LIBDIR}/tbb/lib/debug/tbb_debug.lib)
|
||||
set(TBB_LIBRARIES optimized ${LIBDIR}/tbb/lib/tbb.lib debug ${LIBDIR}/tbb/lib/tbb_debug.lib)
|
||||
set(TBB_INCLUDE_DIR ${LIBDIR}/tbb/include)
|
||||
set(TBB_INCLUDE_DIRS ${TBB_INCLUDE_DIR})
|
||||
if(WITH_TBB_MALLOC_PROXY)
|
||||
set(TBB_MALLOC_LIBRARIES optimized ${LIBDIR}/tbb/lib/tbbmalloc.lib debug ${LIBDIR}/tbb/lib/tbbmalloc_debug.lib)
|
||||
add_definitions(-DWITH_TBB_MALLOC)
|
||||
endif()
|
||||
endif()
|
||||
@@ -873,3 +873,6 @@ if(WITH_HARU)
|
||||
set(WITH_HARU OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(ZSTD_INCLUDE_DIRS ${LIBDIR}/zstd/include)
|
||||
set(ZSTD_LIBRARIES ${LIBDIR}/zstd/lib/zstd_static.lib)
|
||||
|
@@ -15,6 +15,15 @@ if(WITH_WINDOWS_BUNDLE_CRT)
|
||||
|
||||
include(InstallRequiredSystemLibraries)
|
||||
|
||||
# ucrtbase(d).dll cannot be in the manifest, due to the way windows 10 handles
|
||||
# redirects for this dll, for details see T88813.
|
||||
foreach(lib ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS})
|
||||
string(FIND ${lib} "ucrtbase" pos)
|
||||
if(NOT pos EQUAL -1)
|
||||
list(REMOVE_ITEM CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS ${lib})
|
||||
install(FILES ${lib} DESTINATION . COMPONENT Libraries)
|
||||
endif()
|
||||
endforeach()
|
||||
# Install the CRT to the blender.crt Sub folder.
|
||||
install(FILES ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION ./blender.crt COMPONENT Libraries)
|
||||
|
||||
|
@@ -243,7 +243,9 @@ def build_defines_as_args() -> List[str]:
|
||||
# use this module.
|
||||
def queue_processes(
|
||||
process_funcs: Sequence[Tuple[Callable[..., subprocess.Popen[Any]], Tuple[Any, ...]]],
|
||||
*,
|
||||
job_total: int =-1,
|
||||
sleep: float = 0.1,
|
||||
) -> None:
|
||||
""" Takes a list of function arg pairs, each function must return a process
|
||||
"""
|
||||
@@ -271,14 +273,20 @@ def queue_processes(
|
||||
|
||||
if len(processes) <= job_total:
|
||||
break
|
||||
else:
|
||||
time.sleep(0.1)
|
||||
time.sleep(sleep)
|
||||
|
||||
sys.stdout.flush()
|
||||
sys.stderr.flush()
|
||||
|
||||
processes.append(func(*args))
|
||||
|
||||
# Don't return until all jobs have finished.
|
||||
while 1:
|
||||
processes[:] = [p for p in processes if p.poll() is None]
|
||||
if not processes:
|
||||
break
|
||||
time.sleep(sleep)
|
||||
|
||||
|
||||
def main() -> None:
|
||||
if not os.path.exists(join(CMAKE_DIR, "CMakeCache.txt")):
|
||||
|
@@ -1,8 +1,10 @@
|
||||
Pipeline Config
|
||||
===============
|
||||
|
||||
This configuration file is used by buildbot new pipeline for the `update-code` step.
|
||||
The `yaml` configuration file is used by buildbot build pipeline `update-code` step.
|
||||
|
||||
It will soon be used by the ../utils/make_update.py script.
|
||||
The file allows to set branches or specific commits for both git submodules and svn artifacts. Can also define various build package versions for use by build workers. Especially useful in experimental and release branches.
|
||||
|
||||
Both buildbot and developers will eventually use the same configuration file.
|
||||
NOTE:
|
||||
* The configuration file is ```NOT``` used by the `../utils/make_update.py` script.
|
||||
* That will implemented in the future.
|
||||
|
@@ -1,87 +0,0 @@
|
||||
{
|
||||
"update-code":
|
||||
{
|
||||
"git" :
|
||||
{
|
||||
"submodules":
|
||||
[
|
||||
{ "path": "release/scripts/addons", "branch": "master", "commit_id": "HEAD" },
|
||||
{ "path": "release/scripts/addons_contrib", "branch": "master", "commit_id": "HEAD" },
|
||||
{ "path": "release/datafiles/locale", "branch": "master", "commit_id": "HEAD" },
|
||||
{ "path": "source/tools", "branch": "master", "commit_id": "HEAD" }
|
||||
]
|
||||
},
|
||||
"svn":
|
||||
{
|
||||
"tests": { "path": "lib/tests", "branch": "trunk", "commit_id": "HEAD" },
|
||||
"libraries":
|
||||
{
|
||||
"darwin-x86_64": { "path": "lib/darwin", "branch": "trunk", "commit_id": "HEAD" },
|
||||
"darwin-arm64": { "path": "lib/darwin_arm64", "branch": "trunk", "commit_id": "HEAD" },
|
||||
"linux-x86_64": { "path": "lib/linux_centos7_x86_64", "branch": "trunk", "commit_id": "HEAD" },
|
||||
"windows-amd64": { "path": "lib/win64_vc15", "branch": "trunk", "commit_id": "HEAD" }
|
||||
}
|
||||
}
|
||||
},
|
||||
"buildbot":
|
||||
{
|
||||
"gcc":
|
||||
{
|
||||
"version": "9.0"
|
||||
},
|
||||
"sdks":
|
||||
{
|
||||
"optix":
|
||||
{
|
||||
"version": "7.1.0"
|
||||
},
|
||||
"cuda10":
|
||||
{
|
||||
"version": "10.1"
|
||||
},
|
||||
"cuda11":
|
||||
{
|
||||
"version": "11.3"
|
||||
}
|
||||
},
|
||||
"cmake":
|
||||
{
|
||||
"default":
|
||||
{
|
||||
"version": "any",
|
||||
"overrides":
|
||||
{
|
||||
|
||||
}
|
||||
},
|
||||
"darwin-x86_64":
|
||||
{
|
||||
"overrides":
|
||||
{
|
||||
|
||||
}
|
||||
},
|
||||
"darwin-arm64":
|
||||
{
|
||||
"overrides":
|
||||
{
|
||||
|
||||
}
|
||||
},
|
||||
"linux-x86_64":
|
||||
{
|
||||
"overrides":
|
||||
{
|
||||
|
||||
}
|
||||
},
|
||||
"windows-amd64":
|
||||
{
|
||||
"overrides":
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
70
build_files/config/pipeline_config.yaml
Normal file
70
build_files/config/pipeline_config.yaml
Normal file
@@ -0,0 +1,70 @@
|
||||
#
|
||||
# Used by Buildbot build pipeline make_update.py script only for now
|
||||
# We intended to update the make_update.py in the branches to use this file eventually
|
||||
#
|
||||
update-code:
|
||||
git:
|
||||
submodules:
|
||||
- branch: master
|
||||
commit_id: HEAD
|
||||
path: release/scripts/addons
|
||||
- branch: master
|
||||
commit_id: HEAD
|
||||
path: release/scripts/addons_contrib
|
||||
- branch: master
|
||||
commit_id: HEAD
|
||||
path: release/datafiles/locale
|
||||
- branch: master
|
||||
commit_id: HEAD
|
||||
path: source/tools
|
||||
svn:
|
||||
libraries:
|
||||
darwin-arm64:
|
||||
branch: trunk
|
||||
commit_id: HEAD
|
||||
path: lib/darwin_arm64
|
||||
darwin-x86_64:
|
||||
branch: trunk
|
||||
commit_id: HEAD
|
||||
path: lib/darwin
|
||||
linux-x86_64:
|
||||
branch: trunk
|
||||
commit_id: HEAD
|
||||
path: lib/linux_centos7_x86_64
|
||||
windows-amd64:
|
||||
branch: trunk
|
||||
commit_id: HEAD
|
||||
path: lib/win64_vc15
|
||||
tests:
|
||||
branch: trunk
|
||||
commit_id: HEAD
|
||||
path: lib/tests
|
||||
benchmarks:
|
||||
branch: trunk
|
||||
commit_id: HEAD
|
||||
path: lib/benchmarks
|
||||
|
||||
#
|
||||
# Buildbot only configs
|
||||
#
|
||||
buildbot:
|
||||
gcc:
|
||||
version: '9.0.0'
|
||||
cuda10:
|
||||
version: '10.1.243'
|
||||
cuda11:
|
||||
version: '11.4.1'
|
||||
optix:
|
||||
version: '7.3.0'
|
||||
cmake:
|
||||
default:
|
||||
version: any
|
||||
overrides: {}
|
||||
darwin-arm64:
|
||||
overrides: {}
|
||||
darwin-x86_64:
|
||||
overrides: {}
|
||||
linux-x86_64:
|
||||
overrides: {}
|
||||
windows-amd64:
|
||||
overrides: {}
|
@@ -31,6 +31,7 @@ def parse_arguments():
|
||||
parser.add_argument("--no-submodules", action="store_true")
|
||||
parser.add_argument("--use-tests", action="store_true")
|
||||
parser.add_argument("--svn-command", default="svn")
|
||||
parser.add_argument("--svn-branch", default=None)
|
||||
parser.add_argument("--git-command", default="git")
|
||||
parser.add_argument("--use-centos-libraries", action="store_true")
|
||||
return parser.parse_args()
|
||||
@@ -46,7 +47,7 @@ def svn_update(args, release_version):
|
||||
svn_non_interactive = [args.svn_command, '--non-interactive']
|
||||
|
||||
lib_dirpath = os.path.join(get_blender_git_root(), '..', 'lib')
|
||||
svn_url = make_utils.svn_libraries_base_url(release_version)
|
||||
svn_url = make_utils.svn_libraries_base_url(release_version, args.svn_branch)
|
||||
|
||||
# Checkout precompiled libraries
|
||||
if sys.platform == 'darwin':
|
||||
@@ -170,26 +171,28 @@ def submodules_update(args, release_version, branch):
|
||||
sys.stderr.write("git not found, can't update code\n")
|
||||
sys.exit(1)
|
||||
|
||||
# Update submodules to latest master or appropriate release branch.
|
||||
if not release_version:
|
||||
branch = "master"
|
||||
# Update submodules to appropriate given branch,
|
||||
# falling back to master if none is given and/or found in a sub-repository.
|
||||
branch_fallback = "master"
|
||||
if not branch:
|
||||
branch = branch_fallback
|
||||
|
||||
submodules = [
|
||||
("release/scripts/addons", branch),
|
||||
("release/scripts/addons_contrib", branch),
|
||||
("release/datafiles/locale", branch),
|
||||
("source/tools", branch),
|
||||
("release/scripts/addons", branch, branch_fallback),
|
||||
("release/scripts/addons_contrib", branch, branch_fallback),
|
||||
("release/datafiles/locale", branch, branch_fallback),
|
||||
("source/tools", branch, branch_fallback),
|
||||
]
|
||||
|
||||
# Initialize submodules only if needed.
|
||||
for submodule_path, submodule_branch in submodules:
|
||||
for submodule_path, submodule_branch, submodule_branch_fallback in submodules:
|
||||
if not os.path.exists(os.path.join(submodule_path, ".git")):
|
||||
call([args.git_command, "submodule", "update", "--init", "--recursive"])
|
||||
break
|
||||
|
||||
# Checkout appropriate branch and pull changes.
|
||||
skip_msg = ""
|
||||
for submodule_path, submodule_branch in submodules:
|
||||
for submodule_path, submodule_branch, submodule_branch_fallback in submodules:
|
||||
cwd = os.getcwd()
|
||||
try:
|
||||
os.chdir(submodule_path)
|
||||
@@ -197,10 +200,20 @@ def submodules_update(args, release_version, branch):
|
||||
if msg:
|
||||
skip_msg += submodule_path + " skipped: " + msg + "\n"
|
||||
else:
|
||||
if make_utils.git_branch(args.git_command) != submodule_branch:
|
||||
call([args.git_command, "fetch", "origin"])
|
||||
call([args.git_command, "checkout", submodule_branch])
|
||||
call([args.git_command, "pull", "--rebase", "origin", submodule_branch])
|
||||
# Find a matching branch that exists.
|
||||
call([args.git_command, "fetch", "origin"])
|
||||
if make_utils.git_branch_exists(args.git_command, submodule_branch):
|
||||
pass
|
||||
elif make_utils.git_branch_exists(args.git_command, submodule_branch_fallback):
|
||||
submodule_branch = submodule_branch_fallback
|
||||
else:
|
||||
submodule_branch = None
|
||||
|
||||
# Switch to branch and pull.
|
||||
if submodule_branch:
|
||||
if make_utils.git_branch(args.git_command) != submodule_branch:
|
||||
call([args.git_command, "checkout", submodule_branch])
|
||||
call([args.git_command, "pull", "--rebase", "origin", submodule_branch])
|
||||
finally:
|
||||
os.chdir(cwd)
|
||||
|
||||
@@ -214,6 +227,10 @@ if __name__ == "__main__":
|
||||
|
||||
# Test if we are building a specific release version.
|
||||
branch = make_utils.git_branch(args.git_command)
|
||||
if branch == 'HEAD':
|
||||
sys.stderr.write('Blender git repository is in detached HEAD state, must be in a branch\n')
|
||||
sys.exit(1)
|
||||
|
||||
tag = make_utils.git_tag(args.git_command)
|
||||
release_version = make_utils.git_branch_release_version(branch, tag)
|
||||
|
||||
|
@@ -8,14 +8,19 @@ import subprocess
|
||||
import sys
|
||||
|
||||
|
||||
def call(cmd, exit_on_error=True):
|
||||
print(" ".join(cmd))
|
||||
def call(cmd, exit_on_error=True, silent=False):
|
||||
if not silent:
|
||||
print(" ".join(cmd))
|
||||
|
||||
# Flush to ensure correct order output on Windows.
|
||||
sys.stdout.flush()
|
||||
sys.stderr.flush()
|
||||
|
||||
retcode = subprocess.call(cmd)
|
||||
if silent:
|
||||
retcode = subprocess.call(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
||||
else:
|
||||
retcode = subprocess.call(cmd)
|
||||
|
||||
if exit_on_error and retcode != 0:
|
||||
sys.exit(retcode)
|
||||
return retcode
|
||||
@@ -38,6 +43,11 @@ def check_output(cmd, exit_on_error=True):
|
||||
return output.strip()
|
||||
|
||||
|
||||
def git_branch_exists(git_command, branch):
|
||||
return call([git_command, "rev-parse", "--verify", branch], exit_on_error=False, silent=True) == 0 or \
|
||||
call([git_command, "rev-parse", "--verify", "remotes/origin/" + branch], exit_on_error=False, silent=True) == 0
|
||||
|
||||
|
||||
def git_branch(git_command):
|
||||
# Get current branch name.
|
||||
try:
|
||||
@@ -70,9 +80,11 @@ def git_branch_release_version(branch, tag):
|
||||
return release_version
|
||||
|
||||
|
||||
def svn_libraries_base_url(release_version):
|
||||
def svn_libraries_base_url(release_version, branch=None):
|
||||
if release_version:
|
||||
svn_branch = "tags/blender-" + release_version + "-release"
|
||||
elif branch:
|
||||
svn_branch = "branches/" + branch
|
||||
else:
|
||||
svn_branch = "trunk"
|
||||
return "https://svn.blender.org/svnroot/bf-blender/" + svn_branch + "/lib/"
|
||||
|
@@ -1,9 +1,12 @@
|
||||
echo No explicit msvc version requested, autodetecting version.
|
||||
|
||||
call "%~dp0\detect_msvc2019.cmd"
|
||||
if %ERRORLEVEL% EQU 0 goto DetectionComplete
|
||||
|
||||
call "%~dp0\detect_msvc2017.cmd"
|
||||
if %ERRORLEVEL% EQU 0 goto DetectionComplete
|
||||
|
||||
call "%~dp0\detect_msvc2019.cmd"
|
||||
call "%~dp0\detect_msvc2022.cmd"
|
||||
if %ERRORLEVEL% EQU 0 goto DetectionComplete
|
||||
|
||||
echo Compiler Detection failed. Use verbose switch for more information.
|
||||
|
@@ -1,5 +1,6 @@
|
||||
if "%BUILD_VS_YEAR%"=="2017" set BUILD_VS_LIBDIRPOST=vc15
|
||||
if "%BUILD_VS_YEAR%"=="2019" set BUILD_VS_LIBDIRPOST=vc15
|
||||
if "%BUILD_VS_YEAR%"=="2022" set BUILD_VS_LIBDIRPOST=vc15
|
||||
|
||||
set BUILD_VS_SVNDIR=win64_%BUILD_VS_LIBDIRPOST%
|
||||
set BUILD_VS_LIBDIR="%BLENDER_DIR%..\lib\%BUILD_VS_SVNDIR%"
|
||||
|
@@ -19,10 +19,10 @@ if "%WITH_PYDEBUG%"=="1" (
|
||||
set PYDEBUG_CMAKE_ARGS=-DWINDOWS_PYTHON_DEBUG=On
|
||||
)
|
||||
|
||||
if "%BUILD_VS_YEAR%"=="2019" (
|
||||
set BUILD_PLATFORM_SELECT=-A %MSBUILD_PLATFORM%
|
||||
) else (
|
||||
if "%BUILD_VS_YEAR%"=="2017" (
|
||||
set BUILD_GENERATOR_POST=%WINDOWS_ARCH%
|
||||
) else (
|
||||
set BUILD_PLATFORM_SELECT=-A %MSBUILD_PLATFORM%
|
||||
)
|
||||
|
||||
set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -G "Visual Studio %BUILD_VS_VER% %BUILD_VS_YEAR%%BUILD_GENERATOR_POST%" %BUILD_PLATFORM_SELECT% %TESTS_CMAKE_ARGS% %CLANG_CMAKE_ARGS% %ASAN_CMAKE_ARGS% %PYDEBUG_CMAKE_ARGS%
|
||||
|
3
build_files/windows/detect_msvc2022.cmd
Normal file
3
build_files/windows/detect_msvc2022.cmd
Normal file
@@ -0,0 +1,3 @@
|
||||
set BUILD_VS_VER=17
|
||||
set BUILD_VS_YEAR=2022
|
||||
call "%~dp0\detect_msvc_vswhere.cmd"
|
34
build_files/windows/doc_py.cmd
Normal file
34
build_files/windows/doc_py.cmd
Normal file
@@ -0,0 +1,34 @@
|
||||
set SOURCEDIR=%BLENDER_DIR%/doc/python_api/sphinx-in
|
||||
set BUILDDIR=%BLENDER_DIR%/doc/python_api/sphinx-out
|
||||
if "%BF_LANG%" == "" set BF_LANG=en
|
||||
set SPHINXOPTS=-j auto -D language=%BF_LANG%
|
||||
|
||||
call "%~dp0\find_sphinx.cmd"
|
||||
|
||||
if EXIST "%SPHINX_BIN%" (
|
||||
goto detect_sphinx_done
|
||||
)
|
||||
|
||||
echo unable to locate sphinx-build, run "set sphinx_BIN=full_path_to_sphinx-build.exe"
|
||||
exit /b 1
|
||||
|
||||
:detect_sphinx_done
|
||||
|
||||
call "%~dp0\find_blender.cmd"
|
||||
|
||||
if EXIST "%BLENDER_BIN%" (
|
||||
goto detect_blender_done
|
||||
)
|
||||
|
||||
echo unable to locate blender, run "set BLENDER_BIN=full_path_to_blender.exe"
|
||||
exit /b 1
|
||||
|
||||
:detect_blender_done
|
||||
|
||||
%BLENDER_BIN% ^
|
||||
--background -noaudio --factory-startup ^
|
||||
--python %BLENDER_DIR%/doc/python_api/sphinx_doc_gen.py
|
||||
|
||||
"%SPHINX_BIN%" -b html %SPHINXOPTS% %O% %SOURCEDIR% %BUILDDIR%
|
||||
|
||||
:EOF
|
28
build_files/windows/find_blender.cmd
Normal file
28
build_files/windows/find_blender.cmd
Normal file
@@ -0,0 +1,28 @@
|
||||
REM First see if there is an environment variable set
|
||||
if EXIST "%BLENDER_BIN%" (
|
||||
goto detect_blender_done
|
||||
)
|
||||
|
||||
REM Check the build folder next, if ninja was used there will be no
|
||||
REM debug/release folder
|
||||
set BLENDER_BIN=%BUILD_DIR%\bin\blender.exe
|
||||
if EXIST "%BLENDER_BIN%" (
|
||||
goto detect_blender_done
|
||||
)
|
||||
|
||||
REM Check the release folder next
|
||||
set BLENDER_BIN=%BUILD_DIR%\bin\release\blender.exe
|
||||
if EXIST "%BLENDER_BIN%" (
|
||||
goto detect_blender_done
|
||||
)
|
||||
|
||||
REM Check the debug folder next
|
||||
set BLENDER_BIN=%BUILD_DIR%\bin\debug\blender.exe
|
||||
if EXIST "%BLENDER_BIN%" (
|
||||
goto detect_blender_done
|
||||
)
|
||||
|
||||
REM at this point, we don't know where blender is, clear the variable
|
||||
set BLENDER_BIN=
|
||||
|
||||
:detect_blender_done
|
@@ -3,7 +3,7 @@ for %%X in (svn.exe) do (set SVN=%%~$PATH:X)
|
||||
for %%X in (cmake.exe) do (set CMAKE=%%~$PATH:X)
|
||||
for %%X in (ctest.exe) do (set CTEST=%%~$PATH:X)
|
||||
for %%X in (git.exe) do (set GIT=%%~$PATH:X)
|
||||
set PYTHON=%BLENDER_DIR%\..\lib\win64_vc15\python\37\bin\python.exe
|
||||
set PYTHON=%BLENDER_DIR%\..\lib\win64_vc15\python\39\bin\python.exe
|
||||
if NOT "%verbose%" == "" (
|
||||
echo svn : "%SVN%"
|
||||
echo cmake : "%CMAKE%"
|
||||
|
21
build_files/windows/find_inkscape.cmd
Normal file
21
build_files/windows/find_inkscape.cmd
Normal file
@@ -0,0 +1,21 @@
|
||||
REM First see if there is an environment variable set
|
||||
if EXIST "%INKSCAPE_BIN%" (
|
||||
goto detect_inkscape_done
|
||||
)
|
||||
|
||||
REM Then see if inkscape is available in the path
|
||||
for %%X in (inkscape.exe) do (set INKSCAPE_BIN=%%~$PATH:X)
|
||||
if EXIST "%INKSCAPE_BIN%" (
|
||||
goto detect_inkscape_done
|
||||
)
|
||||
|
||||
REM Finally see if it is perhaps installed at the default location
|
||||
set INKSCAPE_BIN=%ProgramFiles%\Inkscape\bin\inkscape.exe
|
||||
if EXIST "%INKSCAPE_BIN%" (
|
||||
goto detect_inkscape_done
|
||||
)
|
||||
|
||||
REM If still not found clear the variable
|
||||
set INKSCAPE_BIN=
|
||||
|
||||
:detect_inkscape_done
|
23
build_files/windows/find_sphinx.cmd
Normal file
23
build_files/windows/find_sphinx.cmd
Normal file
@@ -0,0 +1,23 @@
|
||||
REM First see if there is an environment variable set
|
||||
if EXIST "%SPHINX_BIN%" (
|
||||
goto detect_sphinx_done
|
||||
)
|
||||
|
||||
REM Then see if inkscape is available in the path
|
||||
for %%X in (sphinx-build.exe) do (set SPHINX_BIN=%%~$PATH:X)
|
||||
if EXIST "%SPHINX_BIN%" (
|
||||
goto detect_sphinx_done
|
||||
)
|
||||
|
||||
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
|
||||
echo.installed, then set the SPHINX_BIN environment variable to point
|
||||
echo.to the full path of the 'sphinx-build' executable. Alternatively you
|
||||
echo.may add the Sphinx directory to PATH.
|
||||
echo.
|
||||
echo.If you don't have Sphinx installed, grab it from
|
||||
echo.http://sphinx-doc.org/
|
||||
|
||||
REM If still not found clear the variable
|
||||
set SPHINX_BIN=
|
||||
|
||||
:detect_sphinx_done
|
@@ -10,7 +10,7 @@ exit /b 1
|
||||
echo found clang-format in %CF_PATH%
|
||||
|
||||
if EXIST %PYTHON% (
|
||||
set PYTHON=%BLENDER_DIR%\..\lib\win64_vc15\python\37\bin\python.exe
|
||||
set PYTHON=%BLENDER_DIR%\..\lib\win64_vc15\python\39\bin\python.exe
|
||||
goto detect_python_done
|
||||
)
|
||||
|
||||
|
42
build_files/windows/icons.cmd
Normal file
42
build_files/windows/icons.cmd
Normal file
@@ -0,0 +1,42 @@
|
||||
if EXIST "%PYTHON%" (
|
||||
goto detect_python_done
|
||||
)
|
||||
|
||||
set PYTHON=%BLENDER_DIR%\..\lib\win64_vc15\python\39\bin\python.exe
|
||||
if EXIST %PYTHON% (
|
||||
goto detect_python_done
|
||||
)
|
||||
|
||||
echo python not found at %PYTHON%
|
||||
exit /b 1
|
||||
|
||||
:detect_python_done
|
||||
echo found python (%PYTHON%)
|
||||
|
||||
call "%~dp0\find_inkscape.cmd"
|
||||
|
||||
if EXIST "%INKSCAPE_BIN%" (
|
||||
goto detect_inkscape_done
|
||||
)
|
||||
|
||||
echo unable to locate inkscape, run "set inkscape_BIN=full_path_to_inkscape.exe"
|
||||
exit /b 1
|
||||
|
||||
:detect_inkscape_done
|
||||
|
||||
call "%~dp0\find_blender.cmd"
|
||||
|
||||
if EXIST "%BLENDER_BIN%" (
|
||||
goto detect_blender_done
|
||||
)
|
||||
|
||||
echo unable to locate blender, run "set BLENDER_BIN=full_path_to_blender.exe"
|
||||
exit /b 1
|
||||
|
||||
:detect_blender_done
|
||||
|
||||
%PYTHON% -B %BLENDER_DIR%\release\datafiles\blender_icons_update.py
|
||||
%PYTHON% -B %BLENDER_DIR%\release\datafiles\prvicons_update.py
|
||||
%PYTHON% -B %BLENDER_DIR%\release\datafiles\alert_icons_update.py
|
||||
|
||||
:EOF
|
29
build_files/windows/icons_geom.cmd
Normal file
29
build_files/windows/icons_geom.cmd
Normal file
@@ -0,0 +1,29 @@
|
||||
if EXIST %PYTHON% (
|
||||
goto detect_python_done
|
||||
)
|
||||
|
||||
set PYTHON=%BLENDER_DIR%\..\lib\win64_vc15\python\39\bin\python.exe
|
||||
if EXIST %PYTHON% (
|
||||
goto detect_python_done
|
||||
)
|
||||
|
||||
echo python not found at %PYTHON%
|
||||
exit /b 1
|
||||
|
||||
:detect_python_done
|
||||
echo found python (%PYTHON%)
|
||||
|
||||
call "%~dp0\find_blender.cmd"
|
||||
|
||||
if EXIST "%BLENDER_BIN%" (
|
||||
goto detect_blender_done
|
||||
)
|
||||
|
||||
echo unable to locate blender, run "set BLENDER_BIN=full_path_to_blender.exe"
|
||||
exit /b 1
|
||||
|
||||
:detect_blender_done
|
||||
|
||||
%PYTHON% -B %BLENDER_DIR%\release\datafiles\blender_icons_geom_update.py
|
||||
|
||||
:EOF
|
@@ -66,6 +66,14 @@ if NOT "%1" == "" (
|
||||
) else if "%1" == "2019b" (
|
||||
set BUILD_VS_YEAR=2019
|
||||
set VSWHERE_ARGS=-products Microsoft.VisualStudio.Product.BuildTools
|
||||
) else if "%1" == "2022" (
|
||||
set BUILD_VS_YEAR=2022
|
||||
) else if "%1" == "2022pre" (
|
||||
set BUILD_VS_YEAR=2022
|
||||
set VSWHERE_ARGS=-prerelease
|
||||
) else if "%1" == "2022b" (
|
||||
set BUILD_VS_YEAR=2022
|
||||
set VSWHERE_ARGS=-products Microsoft.VisualStudio.Product.BuildTools
|
||||
) else if "%1" == "packagename" (
|
||||
set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -DCPACK_OVERRIDE_PACKAGENAME="%2"
|
||||
shift /1
|
||||
@@ -99,6 +107,18 @@ if NOT "%1" == "" (
|
||||
set FORMAT=1
|
||||
set FORMAT_ARGS=%2 %3 %4 %5 %6 %7 %8 %9
|
||||
goto EOF
|
||||
) else if "%1" == "icons" (
|
||||
set ICONS=1
|
||||
goto EOF
|
||||
) else if "%1" == "icons_geom" (
|
||||
set ICONS_GEOM=1
|
||||
goto EOF
|
||||
) else if "%1" == "doc_py" (
|
||||
set DOC_PY=1
|
||||
goto EOF
|
||||
) else if "%1" == "svnfix" (
|
||||
set SVN_FIX=1
|
||||
goto EOF
|
||||
) else (
|
||||
echo Command "%1" unknown, aborting!
|
||||
goto ERR
|
||||
|
@@ -31,3 +31,6 @@ set PYDEBUG_CMAKE_ARGS=
|
||||
set FORMAT=
|
||||
set TEST=
|
||||
set BUILD_WITH_SCCACHE=
|
||||
set ICONS=
|
||||
set ICONS_GEOM=
|
||||
set DOC_PY=
|
||||
|
@@ -31,6 +31,10 @@ echo - 2019 ^(build with visual studio 2019^)
|
||||
echo - 2019pre ^(build with visual studio 2019 pre-release^)
|
||||
echo - 2019b ^(build with visual studio 2019 Build Tools^)
|
||||
|
||||
echo.
|
||||
echo Documentation Targets ^(Not associated with building^)
|
||||
echo - doc_py ^(Generate sphinx python api docs^)
|
||||
|
||||
echo.
|
||||
echo Experimental options
|
||||
echo - with_opengl_tests ^(enable both the render and draw opengl test suites^)
|
||||
|
26
build_files/windows/svn_fix.cmd
Normal file
26
build_files/windows/svn_fix.cmd
Normal file
@@ -0,0 +1,26 @@
|
||||
if "%BUILD_VS_YEAR%"=="2017" set BUILD_VS_LIBDIRPOST=vc15
|
||||
if "%BUILD_VS_YEAR%"=="2019" set BUILD_VS_LIBDIRPOST=vc15
|
||||
if "%BUILD_VS_YEAR%"=="2022" set BUILD_VS_LIBDIRPOST=vc15
|
||||
|
||||
set BUILD_VS_SVNDIR=win64_%BUILD_VS_LIBDIRPOST%
|
||||
set BUILD_VS_LIBDIR="%BLENDER_DIR%..\lib\%BUILD_VS_SVNDIR%"
|
||||
|
||||
echo Starting cleanup in %BUILD_VS_LIBDIR%.
|
||||
cd %BUILD_VS_LIBDIR%
|
||||
:RETRY
|
||||
"%SVN%" cleanup
|
||||
"%SVN%" update
|
||||
if errorlevel 1 (
|
||||
set /p LibRetry= "Error during update, retry? y/n"
|
||||
if /I "!LibRetry!"=="Y" (
|
||||
goto RETRY
|
||||
)
|
||||
echo.
|
||||
echo Error: Download of external libraries failed.
|
||||
echo This is needed for building, please manually run 'svn cleanup' and 'svn update' in
|
||||
echo %BUILD_VS_LIBDIR% , until this is resolved you CANNOT make a successful blender build
|
||||
echo.
|
||||
exit /b 1
|
||||
)
|
||||
echo Cleanup complete
|
||||
|
@@ -123,7 +123,7 @@ def Align(handle):
|
||||
class BlendFile:
|
||||
'''
|
||||
Reads a blendfile and store the header, all the fileblocks, and catalogue
|
||||
structs foound in the DNA fileblock
|
||||
structs found in the DNA fileblock
|
||||
|
||||
- BlendFile.Header (BlendFileHeader instance)
|
||||
- BlendFile.Blocks (list of BlendFileBlock instances)
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# Doxyfile 1.8.16
|
||||
# Doxyfile 1.9.1
|
||||
|
||||
# This file describes the settings to be used by the documentation system
|
||||
# doxygen (www.doxygen.org) for a project.
|
||||
@@ -38,7 +38,7 @@ PROJECT_NAME = Blender
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = "V3.0"
|
||||
PROJECT_NUMBER = V3.1
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
@@ -227,6 +227,14 @@ QT_AUTOBRIEF = NO
|
||||
|
||||
MULTILINE_CPP_IS_BRIEF = NO
|
||||
|
||||
# By default Python docstrings are displayed as preformatted text and doxygen's
|
||||
# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the
|
||||
# doxygen's special commands can be used and the contents of the docstring
|
||||
# documentation blocks is shown as doxygen documentation.
|
||||
# The default value is: YES.
|
||||
|
||||
PYTHON_DOCSTRING = YES
|
||||
|
||||
# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
|
||||
# documentation from any documented member that it re-implements.
|
||||
# The default value is: YES.
|
||||
@@ -263,12 +271,6 @@ TAB_SIZE = 4
|
||||
|
||||
ALIASES =
|
||||
|
||||
# This tag can be used to specify a number of word-keyword mappings (TCL only).
|
||||
# A mapping has the form "name=value". For example adding "class=itcl::class"
|
||||
# will allow you to use the command class in the itcl::class meaning.
|
||||
|
||||
TCL_SUBST =
|
||||
|
||||
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
|
||||
# only. Doxygen will then generate output that is more tailored for C. For
|
||||
# instance, some of the names that are used will be different. The list of all
|
||||
@@ -309,19 +311,22 @@ OPTIMIZE_OUTPUT_SLICE = NO
|
||||
# parses. With this tag you can assign which parser to use for a given
|
||||
# extension. Doxygen has a built-in mapping, but you can override or extend it
|
||||
# using this tag. The format is ext=language, where ext is a file extension, and
|
||||
# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
|
||||
# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice,
|
||||
# language is one of the parsers supported by doxygen: IDL, Java, JavaScript,
|
||||
# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice, VHDL,
|
||||
# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran:
|
||||
# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser
|
||||
# tries to guess whether the code is fixed or free formatted code, this is the
|
||||
# default for Fortran type files), VHDL, tcl. For instance to make doxygen treat
|
||||
# .inc files as Fortran files (default is PHP), and .f files as C (default is
|
||||
# Fortran), use: inc=Fortran f=C.
|
||||
# default for Fortran type files). For instance to make doxygen treat .inc files
|
||||
# as Fortran files (default is PHP), and .f files as C (default is Fortran),
|
||||
# use: inc=Fortran f=C.
|
||||
#
|
||||
# Note: For files without extension you can use no_extension as a placeholder.
|
||||
#
|
||||
# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
|
||||
# the files are not read by doxygen.
|
||||
# the files are not read by doxygen. When specifying no_extension you should add
|
||||
# * to the FILE_PATTERNS.
|
||||
#
|
||||
# Note see also the list of default file extension mappings.
|
||||
|
||||
EXTENSION_MAPPING =
|
||||
|
||||
@@ -455,6 +460,19 @@ TYPEDEF_HIDES_STRUCT = NO
|
||||
|
||||
LOOKUP_CACHE_SIZE = 3
|
||||
|
||||
# The NUM_PROC_THREADS specifies the number threads doxygen is allowed to use
|
||||
# during processing. When set to 0 doxygen will based this on the number of
|
||||
# cores available in the system. You can set it explicitly to a value larger
|
||||
# than 0 to get more control over the balance between CPU load and processing
|
||||
# speed. At this moment only the input processing can be done using multiple
|
||||
# threads. Since this is still an experimental feature the default is set to 1,
|
||||
# which efficively disables parallel processing. Please report any issues you
|
||||
# encounter. Generating dot graphs in parallel is controlled by the
|
||||
# DOT_NUM_THREADS setting.
|
||||
# Minimum value: 0, maximum value: 32, default value: 1.
|
||||
|
||||
NUM_PROC_THREADS = 1
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Build related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
@@ -518,6 +536,13 @@ EXTRACT_LOCAL_METHODS = NO
|
||||
|
||||
EXTRACT_ANON_NSPACES = NO
|
||||
|
||||
# If this flag is set to YES, the name of an unnamed parameter in a declaration
|
||||
# will be determined by the corresponding definition. By default unnamed
|
||||
# parameters remain unnamed in the output.
|
||||
# The default value is: YES.
|
||||
|
||||
RESOLVE_UNNAMED_PARAMS = YES
|
||||
|
||||
# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
|
||||
# undocumented members inside documented classes or files. If set to NO these
|
||||
# members will be included in the various overviews, but no documentation
|
||||
@@ -535,8 +560,8 @@ HIDE_UNDOC_MEMBERS = NO
|
||||
HIDE_UNDOC_CLASSES = NO
|
||||
|
||||
# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
|
||||
# (class|struct|union) declarations. If set to NO, these declarations will be
|
||||
# included in the documentation.
|
||||
# declarations. If set to NO, these declarations will be included in the
|
||||
# documentation.
|
||||
# The default value is: NO.
|
||||
|
||||
HIDE_FRIEND_COMPOUNDS = NO
|
||||
@@ -555,11 +580,18 @@ HIDE_IN_BODY_DOCS = NO
|
||||
|
||||
INTERNAL_DOCS = YES
|
||||
|
||||
# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
|
||||
# names in lower-case letters. If set to YES, upper-case letters are also
|
||||
# allowed. This is useful if you have classes or files whose names only differ
|
||||
# in case and if your file system supports case sensitive file names. Windows
|
||||
# (including Cygwin) ands Mac users are advised to set this option to NO.
|
||||
# With the correct setting of option CASE_SENSE_NAMES doxygen will better be
|
||||
# able to match the capabilities of the underlying filesystem. In case the
|
||||
# filesystem is case sensitive (i.e. it supports files in the same directory
|
||||
# whose names only differ in casing), the option must be set to YES to properly
|
||||
# deal with such files in case they appear in the input. For filesystems that
|
||||
# are not case sensitive the option should be be set to NO to properly deal with
|
||||
# output files written for symbols that only differ in casing, such as for two
|
||||
# classes, one named CLASS and the other named Class, and to also support
|
||||
# references to files without having to specify the exact matching casing. On
|
||||
# Windows (including Cygwin) and MacOS, users should typically set this option
|
||||
# to NO, whereas on Linux or other Unix flavors it should typically be set to
|
||||
# YES.
|
||||
# The default value is: system dependent.
|
||||
|
||||
CASE_SENSE_NAMES = YES
|
||||
@@ -798,7 +830,10 @@ WARN_IF_DOC_ERROR = YES
|
||||
WARN_NO_PARAMDOC = NO
|
||||
|
||||
# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
|
||||
# a warning is encountered.
|
||||
# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS
|
||||
# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but
|
||||
# at the end of the doxygen process doxygen will return with a non-zero status.
|
||||
# Possible values are: NO, YES and FAIL_ON_WARNINGS.
|
||||
# The default value is: NO.
|
||||
|
||||
WARN_AS_ERROR = NO
|
||||
@@ -840,8 +875,8 @@ INPUT = doxygen.main.h \
|
||||
# This tag can be used to specify the character encoding of the source files
|
||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
||||
# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
|
||||
# documentation (see: https://www.gnu.org/software/libiconv/) for the list of
|
||||
# possible encodings.
|
||||
# documentation (see:
|
||||
# https://www.gnu.org/software/libiconv/) for the list of possible encodings.
|
||||
# The default value is: UTF-8.
|
||||
|
||||
INPUT_ENCODING = UTF-8
|
||||
@@ -854,11 +889,15 @@ INPUT_ENCODING = UTF-8
|
||||
# need to set EXTENSION_MAPPING for the extension otherwise the files are not
|
||||
# read by doxygen.
|
||||
#
|
||||
# Note the list of default checked file patterns might differ from the list of
|
||||
# default file extension mappings.
|
||||
#
|
||||
# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
|
||||
# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
|
||||
# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,
|
||||
# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08,
|
||||
# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice.
|
||||
# *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C comment),
|
||||
# *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, *.vhdl,
|
||||
# *.ucf, *.qsf and *.ice.
|
||||
|
||||
FILE_PATTERNS =
|
||||
|
||||
@@ -1086,13 +1125,6 @@ VERBATIM_HEADERS = YES
|
||||
|
||||
ALPHABETICAL_INDEX = YES
|
||||
|
||||
# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
|
||||
# which the alphabetical index list will be split.
|
||||
# Minimum value: 1, maximum value: 20, default value: 5.
|
||||
# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
|
||||
|
||||
COLS_IN_ALPHA_INDEX = 5
|
||||
|
||||
# In case all classes in a project start with a common prefix, all classes will
|
||||
# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
|
||||
# can be used to specify a prefix (or a list of prefixes) that should be ignored
|
||||
@@ -1231,9 +1263,9 @@ HTML_TIMESTAMP = YES
|
||||
|
||||
# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML
|
||||
# documentation will contain a main index with vertical navigation menus that
|
||||
# are dynamically created via Javascript. If disabled, the navigation index will
|
||||
# are dynamically created via JavaScript. If disabled, the navigation index will
|
||||
# consists of multiple levels of tabs that are statically embedded in every HTML
|
||||
# page. Disable this option to support browsers that do not have Javascript,
|
||||
# page. Disable this option to support browsers that do not have JavaScript,
|
||||
# like the Qt help browser.
|
||||
# The default value is: YES.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
@@ -1263,10 +1295,11 @@ HTML_INDEX_NUM_ENTRIES = 100
|
||||
|
||||
# If the GENERATE_DOCSET tag is set to YES, additional index files will be
|
||||
# generated that can be used as input for Apple's Xcode 3 integrated development
|
||||
# environment (see: https://developer.apple.com/xcode/), introduced with OSX
|
||||
# 10.5 (Leopard). To create a documentation set, doxygen will generate a
|
||||
# Makefile in the HTML output directory. Running make will produce the docset in
|
||||
# that directory and running make install will install the docset in
|
||||
# environment (see:
|
||||
# https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To
|
||||
# create a documentation set, doxygen will generate a Makefile in the HTML
|
||||
# output directory. Running make will produce the docset in that directory and
|
||||
# running make install will install the docset in
|
||||
# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
|
||||
# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy
|
||||
# genXcode/_index.html for more information.
|
||||
@@ -1308,8 +1341,8 @@ DOCSET_PUBLISHER_NAME = Publisher
|
||||
# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
|
||||
# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
|
||||
# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
|
||||
# (see: https://www.microsoft.com/en-us/download/details.aspx?id=21138) on
|
||||
# Windows.
|
||||
# (see:
|
||||
# https://www.microsoft.com/en-us/download/details.aspx?id=21138) on Windows.
|
||||
#
|
||||
# The HTML Help Workshop contains a compiler that can convert all HTML output
|
||||
# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
|
||||
@@ -1339,7 +1372,7 @@ CHM_FILE = blender.chm
|
||||
HHC_LOCATION = "C:/Program Files (x86)/HTML Help Workshop/hhc.exe"
|
||||
|
||||
# The GENERATE_CHI flag controls if a separate .chi index file is generated
|
||||
# (YES) or that it should be included in the master .chm file (NO).
|
||||
# (YES) or that it should be included in the main .chm file (NO).
|
||||
# The default value is: NO.
|
||||
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
|
||||
|
||||
@@ -1384,7 +1417,8 @@ QCH_FILE =
|
||||
|
||||
# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
|
||||
# Project output. For more information please see Qt Help Project / Namespace
|
||||
# (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace).
|
||||
# (see:
|
||||
# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace).
|
||||
# The default value is: org.doxygen.Project.
|
||||
# This tag requires that the tag GENERATE_QHP is set to YES.
|
||||
|
||||
@@ -1392,8 +1426,8 @@ QHP_NAMESPACE = org.doxygen.Project
|
||||
|
||||
# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
|
||||
# Help Project output. For more information please see Qt Help Project / Virtual
|
||||
# Folders (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-
|
||||
# folders).
|
||||
# Folders (see:
|
||||
# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders).
|
||||
# The default value is: doc.
|
||||
# This tag requires that the tag GENERATE_QHP is set to YES.
|
||||
|
||||
@@ -1401,16 +1435,16 @@ QHP_VIRTUAL_FOLDER = doc
|
||||
|
||||
# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
|
||||
# filter to add. For more information please see Qt Help Project / Custom
|
||||
# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
|
||||
# filters).
|
||||
# Filters (see:
|
||||
# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters).
|
||||
# This tag requires that the tag GENERATE_QHP is set to YES.
|
||||
|
||||
QHP_CUST_FILTER_NAME =
|
||||
|
||||
# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
|
||||
# custom filter to add. For more information please see Qt Help Project / Custom
|
||||
# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
|
||||
# filters).
|
||||
# Filters (see:
|
||||
# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters).
|
||||
# This tag requires that the tag GENERATE_QHP is set to YES.
|
||||
|
||||
QHP_CUST_FILTER_ATTRS =
|
||||
@@ -1422,9 +1456,9 @@ QHP_CUST_FILTER_ATTRS =
|
||||
|
||||
QHP_SECT_FILTER_ATTRS =
|
||||
|
||||
# The QHG_LOCATION tag can be used to specify the location of Qt's
|
||||
# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
|
||||
# generated .qhp file.
|
||||
# The QHG_LOCATION tag can be used to specify the location (absolute path
|
||||
# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to
|
||||
# run qhelpgenerator on the generated .qhp file.
|
||||
# This tag requires that the tag GENERATE_QHP is set to YES.
|
||||
|
||||
QHG_LOCATION =
|
||||
@@ -1501,6 +1535,17 @@ TREEVIEW_WIDTH = 246
|
||||
|
||||
EXT_LINKS_IN_WINDOW = NO
|
||||
|
||||
# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg
|
||||
# tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see
|
||||
# https://inkscape.org) to generate formulas as SVG images instead of PNGs for
|
||||
# the HTML output. These images will generally look nicer at scaled resolutions.
|
||||
# Possible values are: png (the default) and svg (looks nicer but requires the
|
||||
# pdf2svg or inkscape tool).
|
||||
# The default value is: png.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
HTML_FORMULA_FORMAT = png
|
||||
|
||||
# Use this tag to change the font size of LaTeX formulas included as images in
|
||||
# the HTML documentation. When you change the font size after a successful
|
||||
# doxygen run you need to manually remove any form_*.png images from the HTML
|
||||
@@ -1521,8 +1566,14 @@ FORMULA_FONTSIZE = 10
|
||||
|
||||
FORMULA_TRANSPARENT = YES
|
||||
|
||||
# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands
|
||||
# to create new LaTeX commands to be used in formulas as building blocks. See
|
||||
# the section "Including formulas" for details.
|
||||
|
||||
FORMULA_MACROFILE =
|
||||
|
||||
# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
|
||||
# https://www.mathjax.org) which uses client side Javascript for the rendering
|
||||
# https://www.mathjax.org) which uses client side JavaScript for the rendering
|
||||
# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
|
||||
# installed or if you want to formulas look prettier in the HTML output. When
|
||||
# enabled you may also need to install MathJax separately and configure the path
|
||||
@@ -1534,7 +1585,7 @@ USE_MATHJAX = NO
|
||||
|
||||
# When MathJax is enabled you can set the default output format to be used for
|
||||
# the MathJax output. See the MathJax site (see:
|
||||
# http://docs.mathjax.org/en/latest/output.html) for more details.
|
||||
# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details.
|
||||
# Possible values are: HTML-CSS (which is slower, but has the best
|
||||
# compatibility), NativeMML (i.e. MathML) and SVG.
|
||||
# The default value is: HTML-CSS.
|
||||
@@ -1550,7 +1601,7 @@ MATHJAX_FORMAT = HTML-CSS
|
||||
# Content Delivery Network so you can quickly see the result without installing
|
||||
# MathJax. However, it is strongly recommended to install a local copy of
|
||||
# MathJax from https://www.mathjax.org before deployment.
|
||||
# The default value is: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/.
|
||||
# The default value is: https://cdn.jsdelivr.net/npm/mathjax@2.
|
||||
# This tag requires that the tag USE_MATHJAX is set to YES.
|
||||
|
||||
MATHJAX_RELPATH = http://www.mathjax.org/mathjax
|
||||
@@ -1564,7 +1615,8 @@ MATHJAX_EXTENSIONS =
|
||||
|
||||
# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
|
||||
# of code that will be used on startup of the MathJax code. See the MathJax site
|
||||
# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
|
||||
# (see:
|
||||
# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an
|
||||
# example see the documentation.
|
||||
# This tag requires that the tag USE_MATHJAX is set to YES.
|
||||
|
||||
@@ -1592,7 +1644,7 @@ MATHJAX_CODEFILE =
|
||||
SEARCHENGINE = NO
|
||||
|
||||
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
|
||||
# implemented using a web server instead of a web client using Javascript. There
|
||||
# implemented using a web server instead of a web client using JavaScript. There
|
||||
# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
|
||||
# setting. When disabled, doxygen will generate a PHP script for searching and
|
||||
# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
|
||||
@@ -1611,7 +1663,8 @@ SERVER_BASED_SEARCH = NO
|
||||
#
|
||||
# Doxygen ships with an example indexer (doxyindexer) and search engine
|
||||
# (doxysearch.cgi) which are based on the open source search engine library
|
||||
# Xapian (see: https://xapian.org/).
|
||||
# Xapian (see:
|
||||
# https://xapian.org/).
|
||||
#
|
||||
# See the section "External Indexing and Searching" for details.
|
||||
# The default value is: NO.
|
||||
@@ -1624,8 +1677,9 @@ EXTERNAL_SEARCH = NO
|
||||
#
|
||||
# Doxygen ships with an example indexer (doxyindexer) and search engine
|
||||
# (doxysearch.cgi) which are based on the open source search engine library
|
||||
# Xapian (see: https://xapian.org/). See the section "External Indexing and
|
||||
# Searching" for details.
|
||||
# Xapian (see:
|
||||
# https://xapian.org/). See the section "External Indexing and Searching" for
|
||||
# details.
|
||||
# This tag requires that the tag SEARCHENGINE is set to YES.
|
||||
|
||||
SEARCHENGINE_URL =
|
||||
@@ -1789,9 +1843,11 @@ LATEX_EXTRA_FILES =
|
||||
|
||||
PDF_HYPERLINKS = NO
|
||||
|
||||
# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
|
||||
# the PDF file directly from the LaTeX files. Set this option to YES, to get a
|
||||
# higher quality PDF documentation.
|
||||
# If the USE_PDFLATEX tag is set to YES, doxygen will use the engine as
|
||||
# specified with LATEX_CMD_NAME to generate the PDF file directly from the LaTeX
|
||||
# files. Set this option to YES, to get a higher quality PDF documentation.
|
||||
#
|
||||
# See also section LATEX_CMD_NAME for selecting the engine.
|
||||
# The default value is: YES.
|
||||
# This tag requires that the tag GENERATE_LATEX is set to YES.
|
||||
|
||||
@@ -2126,7 +2182,8 @@ INCLUDE_FILE_PATTERNS =
|
||||
# recursively expanded use the := operator instead of the = operator.
|
||||
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
|
||||
|
||||
PREDEFINED = BUILD_DATE
|
||||
PREDEFINED = BUILD_DATE \
|
||||
DOXYGEN=1
|
||||
|
||||
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
|
||||
# tag can be used to specify a list of macro names that should be expanded. The
|
||||
@@ -2303,10 +2360,32 @@ UML_LOOK = YES
|
||||
# but if the number exceeds 15, the total amount of fields shown is limited to
|
||||
# 10.
|
||||
# Minimum value: 0, maximum value: 100, default value: 10.
|
||||
# This tag requires that the tag HAVE_DOT is set to YES.
|
||||
# This tag requires that the tag UML_LOOK is set to YES.
|
||||
|
||||
UML_LIMIT_NUM_FIELDS = 10
|
||||
|
||||
# If the DOT_UML_DETAILS tag is set to NO, doxygen will show attributes and
|
||||
# methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS
|
||||
# tag is set to YES, doxygen will add type and arguments for attributes and
|
||||
# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, doxygen
|
||||
# will not generate fields with class member information in the UML graphs. The
|
||||
# class diagrams will look similar to the default class diagrams but using UML
|
||||
# notation for the relationships.
|
||||
# Possible values are: NO, YES and NONE.
|
||||
# The default value is: NO.
|
||||
# This tag requires that the tag UML_LOOK is set to YES.
|
||||
|
||||
DOT_UML_DETAILS = NO
|
||||
|
||||
# The DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters
|
||||
# to display on a single line. If the actual line length exceeds this threshold
|
||||
# significantly it will wrapped across multiple lines. Some heuristics are apply
|
||||
# to avoid ugly line breaks.
|
||||
# Minimum value: 0, maximum value: 1000, default value: 17.
|
||||
# This tag requires that the tag HAVE_DOT is set to YES.
|
||||
|
||||
DOT_WRAP_THRESHOLD = 17
|
||||
|
||||
# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
|
||||
# collaboration graphs will show the relations between templates and their
|
||||
# instances.
|
||||
@@ -2496,9 +2575,11 @@ DOT_MULTI_TARGETS = YES
|
||||
|
||||
GENERATE_LEGEND = YES
|
||||
|
||||
# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
|
||||
# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate
|
||||
# files that are used to generate the various graphs.
|
||||
#
|
||||
# Note: This setting is not only used for dot files but also for msc and
|
||||
# plantuml temporary files.
|
||||
# The default value is: YES.
|
||||
# This tag requires that the tag HAVE_DOT is set to YES.
|
||||
|
||||
DOT_CLEANUP = YES
|
||||
|
@@ -122,7 +122,7 @@ is a full-featured 3D application. It supports the entirety of the 3D pipeline -
|
||||
'''modeling, rigging, animation, simulation, rendering, compositing, motion tracking, and video editing.
|
||||
|
||||
Use Blender to create 3D images and animations, films and commercials, content for games, '''
|
||||
r'''architectural and industrial visualizatons, and scientific visualizations.
|
||||
r'''architectural and industrial visualizations, and scientific visualizations.
|
||||
|
||||
https://www.blender.org''')
|
||||
|
||||
|
@@ -14,7 +14,7 @@ sound = aud.Sound('music.ogg')
|
||||
# play the audio, this return a handle to control play/pause
|
||||
handle = device.play(sound)
|
||||
# if the audio is not too big and will be used often you can buffer it
|
||||
sound_buffered = aud.Sound.buffer(sound)
|
||||
sound_buffered = aud.Sound.cache(sound)
|
||||
handle_buffered = device.play(sound_buffered)
|
||||
|
||||
# stop the sounds (otherwise they play until their ends)
|
||||
|
@@ -12,6 +12,7 @@ such cases, lock the interface (Render → Lock Interface or
|
||||
Below is an example of a mesh that is altered from a handler:
|
||||
"""
|
||||
|
||||
|
||||
def frame_change_pre(scene):
|
||||
# A triangle that shifts in the z direction
|
||||
zshift = scene.frame_current * 0.1
|
||||
|
@@ -16,10 +16,12 @@ execution_queue = queue.Queue()
|
||||
def run_in_main_thread(function):
|
||||
execution_queue.put(function)
|
||||
|
||||
|
||||
def execute_queued_functions():
|
||||
while not execution_queue.empty():
|
||||
function = execution_queue.get()
|
||||
function()
|
||||
return 1.0
|
||||
|
||||
|
||||
bpy.app.timers.register(execute_queued_functions)
|
||||
|
@@ -31,11 +31,13 @@ owner = object()
|
||||
|
||||
subscribe_to = bpy.context.object.location
|
||||
|
||||
|
||||
def msgbus_callback(*args):
|
||||
# This will print:
|
||||
# Something changed! (1, 2, 3)
|
||||
print("Something changed!", args)
|
||||
|
||||
|
||||
bpy.msgbus.subscribe_rna(
|
||||
key=subscribe_to,
|
||||
owner=owner,
|
||||
|
@@ -0,0 +1,40 @@
|
||||
"""
|
||||
This method enables conversions between Local and Pose space for bones in
|
||||
the middle of updating the armature without having to update dependencies
|
||||
after each change, by manually carrying updated matrices in a recursive walk.
|
||||
"""
|
||||
|
||||
def set_pose_matrices(obj, matrix_map):
|
||||
"Assign pose space matrices of all bones at once, ignoring constraints."
|
||||
|
||||
def rec(pbone, parent_matrix):
|
||||
matrix = matrix_map[pbone.name]
|
||||
|
||||
## Instead of:
|
||||
# pbone.matrix = matrix
|
||||
# bpy.context.view_layer.update()
|
||||
|
||||
# Compute and assign local matrix, using the new parent matrix
|
||||
if pbone.parent:
|
||||
pbone.matrix_basis = pbone.bone.convert_local_to_pose(
|
||||
matrix,
|
||||
pbone.bone.matrix_local,
|
||||
parent_matrix=parent_matrix,
|
||||
parent_matrix_local=pbone.parent.bone.matrix_local,
|
||||
invert=True
|
||||
)
|
||||
else:
|
||||
pbone.matrix_basis = pbone.bone.convert_local_to_pose(
|
||||
matrix,
|
||||
pbone.bone.matrix_local,
|
||||
invert=True
|
||||
)
|
||||
|
||||
# Recursively process children, passing the new matrix through
|
||||
for child in pbone.children:
|
||||
rec(child, matrix)
|
||||
|
||||
# Scan all bone trees from their roots
|
||||
for pbone in obj.pose.bones:
|
||||
if not pbone.parent:
|
||||
rec(pbone, None)
|
@@ -44,7 +44,7 @@ class OBJECT_OT_object_to_curve(bpy.types.Operator):
|
||||
# Remove temporary curve.
|
||||
obj.to_curve_clear()
|
||||
# Invoke to_curve() with applying modifiers.
|
||||
curve_with_modifiers = obj.to_curve(depsgraph, apply_modifiers = True)
|
||||
curve_with_modifiers = obj.to_curve(depsgraph, apply_modifiers=True)
|
||||
self.report({'INFO'}, f"{len(curve_with_modifiers.splines)} splines in new curve with modifiers.")
|
||||
# Remove temporary curve.
|
||||
obj.to_curve_clear()
|
||||
|
@@ -21,6 +21,7 @@ batch = batch_for_shader(
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
def draw():
|
||||
shader.bind()
|
||||
shader.uniform_sampler("image", texture)
|
||||
|
@@ -29,7 +29,7 @@ with offscreen.bind():
|
||||
amount = 10
|
||||
for i in range(-amount, amount + 1):
|
||||
x_pos = i / amount
|
||||
draw_circle_2d((x_pos, 0.0), (1, 1, 1, 1), 0.5, 200)
|
||||
draw_circle_2d((x_pos, 0.0), (1, 1, 1, 1), 0.5, segments=200)
|
||||
|
||||
|
||||
# Drawing the generated texture in 3D space
|
||||
|
@@ -34,7 +34,9 @@ with offscreen.bind():
|
||||
for i in range(RING_AMOUNT):
|
||||
draw_circle_2d(
|
||||
(random.uniform(-1, 1), random.uniform(-1, 1)),
|
||||
(1, 1, 1, 1), random.uniform(0.1, 1), 20)
|
||||
(1, 1, 1, 1), random.uniform(0.1, 1),
|
||||
segments=20,
|
||||
)
|
||||
|
||||
buffer = fb.read_color(0, 0, WIDTH, HEIGHT, 4, 0, 'UBYTE')
|
||||
|
||||
|
@@ -31,7 +31,8 @@ def draw():
|
||||
context.space_data,
|
||||
context.region,
|
||||
view_matrix,
|
||||
projection_matrix)
|
||||
projection_matrix,
|
||||
do_color_management=True)
|
||||
|
||||
gpu.state.depth_mask_set(False)
|
||||
draw_texture_2d(offscreen.texture_color, (10, 10), WIDTH, HEIGHT)
|
||||
|
@@ -1,2 +1,13 @@
|
||||
Sphinx==3.5.3
|
||||
sphinx_rtd_theme==0.5.2
|
||||
sphinx==4.1.1
|
||||
|
||||
# Sphinx dependencies that are important
|
||||
Jinja2==3.0.1
|
||||
Pygments==2.10.0
|
||||
docutils==0.17.1
|
||||
snowballstemmer==2.1.0
|
||||
babel==2.9.1
|
||||
requests==2.26.0
|
||||
|
||||
# Only needed to match the theme used for the official documentation.
|
||||
# Without this theme, the default theme will be used.
|
||||
sphinx_rtd_theme==1.0.0
|
||||
|
@@ -254,6 +254,8 @@ else:
|
||||
"gpu.shader",
|
||||
"gpu.state",
|
||||
"gpu.texture",
|
||||
"gpu.platform",
|
||||
"gpu.capabilities",
|
||||
"gpu_extras",
|
||||
"idprop.types",
|
||||
"mathutils",
|
||||
@@ -1037,16 +1039,21 @@ context_type_map = {
|
||||
# context_member: (RNA type, is_collection)
|
||||
"active_annotation_layer": ("GPencilLayer", False),
|
||||
"active_bone": ("EditBone", False),
|
||||
"active_file": ("FileSelectEntry", False),
|
||||
"active_gpencil_frame": ("GreasePencilLayer", True),
|
||||
"active_gpencil_layer": ("GPencilLayer", True),
|
||||
"active_node": ("Node", False),
|
||||
"active_object": ("Object", False),
|
||||
"active_operator": ("Operator", False),
|
||||
"active_pose_bone": ("PoseBone", False),
|
||||
"active_sequence_strip": ("Sequence", False),
|
||||
"active_editable_fcurve": ("FCurve", False),
|
||||
"active_nla_strip": ("NlaStrip", False),
|
||||
"active_nla_track": ("NlaTrack", False),
|
||||
"annotation_data": ("GreasePencil", False),
|
||||
"annotation_data_owner": ("ID", False),
|
||||
"armature": ("Armature", False),
|
||||
"asset_library_ref": ("AssetLibraryReference", False),
|
||||
"bone": ("Bone", False),
|
||||
"brush": ("Brush", False),
|
||||
"camera": ("Camera", False),
|
||||
@@ -1071,6 +1078,7 @@ context_type_map = {
|
||||
"gpencil_data": ("GreasePencil", False),
|
||||
"gpencil_data_owner": ("ID", False),
|
||||
"hair": ("Hair", False),
|
||||
"id": ("ID", False),
|
||||
"image_paint_object": ("Object", False),
|
||||
"lattice": ("Lattice", False),
|
||||
"light": ("Light", False),
|
||||
@@ -1093,13 +1101,18 @@ context_type_map = {
|
||||
"scene": ("Scene", False),
|
||||
"sculpt_object": ("Object", False),
|
||||
"selectable_objects": ("Object", True),
|
||||
"selected_asset_files": ("FileSelectEntry", True),
|
||||
"selected_bones": ("EditBone", True),
|
||||
"selected_editable_bones": ("EditBone", True),
|
||||
"selected_editable_fcurves": ("FCurve", True),
|
||||
"selected_editable_keyframes": ("Keyframe", True),
|
||||
"selected_editable_objects": ("Object", True),
|
||||
"selected_editable_sequences": ("Sequence", True),
|
||||
"selected_ids": ("ID", True),
|
||||
"selected_files": ("FileSelectEntry", True),
|
||||
"selected_ids": ("ID", True),
|
||||
"selected_nla_strips": ("NlaStrip", True),
|
||||
"selected_movieclip_tracks": ("MovieTrackingTrack", True),
|
||||
"selected_nodes": ("Node", True),
|
||||
"selected_objects": ("Object", True),
|
||||
"selected_pose_bones": ("PoseBone", True),
|
||||
@@ -1113,6 +1126,7 @@ context_type_map = {
|
||||
"texture_slot": ("MaterialTextureSlot", False),
|
||||
"texture_user": ("ID", False),
|
||||
"texture_user_property": ("Property", False),
|
||||
"ui_list": ("UIList", False),
|
||||
"vertex_paint_object": ("Object", False),
|
||||
"view_layer": ("ViewLayer", False),
|
||||
"visible_bones": ("EditBone", True),
|
||||
@@ -1194,6 +1208,7 @@ def pycontext2sphinx(basepath):
|
||||
"text_context_dir",
|
||||
"clip_context_dir",
|
||||
"sequencer_context_dir",
|
||||
"file_context_dir",
|
||||
)
|
||||
|
||||
unique = set()
|
||||
@@ -1209,7 +1224,10 @@ def pycontext2sphinx(basepath):
|
||||
while char_array[i] is not None:
|
||||
member = ctypes.string_at(char_array[i]).decode(encoding="ascii")
|
||||
fw(".. data:: %s\n\n" % member)
|
||||
member_type, is_seq = context_type_map[member]
|
||||
try:
|
||||
member_type, is_seq = context_type_map[member]
|
||||
except KeyError:
|
||||
raise SystemExit("Error: context key %r not found in context_type_map; update %s" % (member, __file__)) from None
|
||||
fw(" :type: %s :class:`bpy.types.%s`\n\n" % ("sequence of " if is_seq else "", member_type))
|
||||
unique.add(member)
|
||||
i += 1
|
||||
@@ -1991,13 +2009,15 @@ def write_rst_importable_modules(basepath):
|
||||
"blf": "Font Drawing",
|
||||
"imbuf": "Image Buffer",
|
||||
"imbuf.types": "Image Buffer Types",
|
||||
"gpu": "GPU Shader Module",
|
||||
"gpu": "GPU Module",
|
||||
"gpu.types": "GPU Types",
|
||||
"gpu.matrix": "GPU Matrix Utilities",
|
||||
"gpu.select": "GPU Select Utilities",
|
||||
"gpu.shader": "GPU Shader Utilities",
|
||||
"gpu.state": "GPU State Utilities",
|
||||
"gpu.texture": "GPU Texture Utilities",
|
||||
"gpu.platform": "GPU Platform Utilities",
|
||||
"gpu.capabilities": "GPU Capabilities Utilities",
|
||||
"bmesh": "BMesh Module",
|
||||
"bmesh.ops": "BMesh Operators",
|
||||
"bmesh.types": "BMesh Types",
|
||||
|
7
extern/CMakeLists.txt
vendored
7
extern/CMakeLists.txt
vendored
@@ -67,9 +67,12 @@ endif()
|
||||
|
||||
if(WITH_CYCLES OR WITH_COMPOSITOR OR WITH_OPENSUBDIV)
|
||||
add_subdirectory(clew)
|
||||
if(WITH_CUDA_DYNLOAD)
|
||||
if((WITH_CYCLES_DEVICE_CUDA OR WITH_CYCLES_DEVICE_OPTIX) AND WITH_CUDA_DYNLOAD)
|
||||
add_subdirectory(cuew)
|
||||
endif()
|
||||
if(WITH_CYCLES_DEVICE_HIP AND WITH_HIP_DYNLOAD)
|
||||
add_subdirectory(hipew)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(WITH_GHOST_X11 AND WITH_GHOST_XDND)
|
||||
@@ -111,5 +114,5 @@ if(WITH_MOD_FLUID)
|
||||
endif()
|
||||
|
||||
if (WITH_COMPOSITOR)
|
||||
add_subdirectory(smaa_areatex)
|
||||
add_subdirectory(smaa_areatex)
|
||||
endif()
|
||||
|
8
extern/audaspace/CMakeLists.txt
vendored
8
extern/audaspace/CMakeLists.txt
vendored
@@ -129,6 +129,7 @@ set(SRC
|
||||
src/util/Barrier.cpp
|
||||
src/util/Buffer.cpp
|
||||
src/util/BufferReader.cpp
|
||||
src/util/RingBuffer.cpp
|
||||
src/util/StreamBuffer.cpp
|
||||
src/util/ThreadPool.cpp
|
||||
)
|
||||
@@ -152,6 +153,7 @@ set(PUBLIC_HDR
|
||||
include/devices/ThreadedDevice.h
|
||||
include/Exception.h
|
||||
include/file/File.h
|
||||
include/file/FileInfo.h
|
||||
include/file/FileManager.h
|
||||
include/file/FileWriter.h
|
||||
include/file/IFileInput.h
|
||||
@@ -244,6 +246,7 @@ set(PUBLIC_HDR
|
||||
include/util/BufferReader.h
|
||||
include/util/ILockable.h
|
||||
include/util/Math3D.h
|
||||
include/util/RingBuffer.h
|
||||
include/util/StreamBuffer.h
|
||||
include/util/ThreadPool.h
|
||||
)
|
||||
@@ -960,7 +963,10 @@ endif()
|
||||
if(BUILD_DEMOS)
|
||||
include_directories(${INCLUDE})
|
||||
|
||||
set(DEMOS audaplay audaconvert audaremap signalgen randsounds dynamicmusic playbackmanager)
|
||||
set(DEMOS audainfo audaplay audaconvert audaremap signalgen randsounds dynamicmusic playbackmanager)
|
||||
|
||||
add_executable(audainfo demos/audainfo.cpp)
|
||||
target_link_libraries(audainfo audaspace)
|
||||
|
||||
add_executable(audaplay demos/audaplay.cpp)
|
||||
target_link_libraries(audaplay audaspace)
|
||||
|
@@ -39,7 +39,7 @@ extern AUD_API void AUD_PlaybackManager_free(AUD_PlaybackManager* manager);
|
||||
* Plays a sound through the playback manager, adding it into a category.
|
||||
* \param manager The PlaybackManager object.
|
||||
* \param sound The sound to be played.
|
||||
* \param catKey The key of the category into which the sound will be added. If it doesn't exist a new one will be creatd.
|
||||
* \param catKey The key of the category into which the sound will be added. If it doesn't exist a new one will be created.
|
||||
*/
|
||||
extern AUD_API void AUD_PlaybackManager_play(AUD_PlaybackManager* manager, AUD_Sound* sound, unsigned int catKey);
|
||||
|
||||
|
46
extern/audaspace/bindings/C/AUD_Sound.cpp
vendored
46
extern/audaspace/bindings/C/AUD_Sound.cpp
vendored
@@ -94,6 +94,40 @@ AUD_API int AUD_Sound_getLength(AUD_Sound* sound)
|
||||
return (*sound)->createReader()->getLength();
|
||||
}
|
||||
|
||||
AUD_API int AUD_Sound_getFileStreams(AUD_Sound* sound, AUD_StreamInfo **stream_infos)
|
||||
{
|
||||
assert(sound);
|
||||
|
||||
std::shared_ptr<File> file = std::dynamic_pointer_cast<File>(*sound);
|
||||
|
||||
if(file)
|
||||
{
|
||||
try
|
||||
{
|
||||
auto streams = file->queryStreams();
|
||||
|
||||
size_t size = sizeof(AUD_StreamInfo) * streams.size();
|
||||
|
||||
if(!size)
|
||||
{
|
||||
*stream_infos = nullptr;
|
||||
return 0;
|
||||
}
|
||||
|
||||
*stream_infos = reinterpret_cast<AUD_StreamInfo*>(std::malloc(size));
|
||||
std::memcpy(*stream_infos, streams.data(), size);
|
||||
|
||||
return streams.size();
|
||||
}
|
||||
catch(Exception&)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
*stream_infos = nullptr;
|
||||
return 0;
|
||||
}
|
||||
|
||||
AUD_API sample_t* AUD_Sound_data(AUD_Sound* sound, int* length, AUD_Specs* specs)
|
||||
{
|
||||
assert(sound);
|
||||
@@ -252,6 +286,12 @@ AUD_API AUD_Sound* AUD_Sound_bufferFile(unsigned char* buffer, int size)
|
||||
return new AUD_Sound(new File(buffer, size));
|
||||
}
|
||||
|
||||
AUD_API AUD_Sound* AUD_Sound_bufferFileStream(unsigned char* buffer, int size, int stream)
|
||||
{
|
||||
assert(buffer);
|
||||
return new AUD_Sound(new File(buffer, size, stream));
|
||||
}
|
||||
|
||||
AUD_API AUD_Sound* AUD_Sound_cache(AUD_Sound* sound)
|
||||
{
|
||||
assert(sound);
|
||||
@@ -272,6 +312,12 @@ AUD_API AUD_Sound* AUD_Sound_file(const char* filename)
|
||||
return new AUD_Sound(new File(filename));
|
||||
}
|
||||
|
||||
AUD_API AUD_Sound* AUD_Sound_fileStream(const char* filename, int stream)
|
||||
{
|
||||
assert(filename);
|
||||
return new AUD_Sound(new File(filename, stream));
|
||||
}
|
||||
|
||||
AUD_API AUD_Sound* AUD_Sound_sawtooth(float frequency, AUD_SampleRate rate)
|
||||
{
|
||||
return new AUD_Sound(new Sawtooth(frequency, rate));
|
||||
|
27
extern/audaspace/bindings/C/AUD_Sound.h
vendored
27
extern/audaspace/bindings/C/AUD_Sound.h
vendored
@@ -36,7 +36,15 @@ extern AUD_API AUD_Specs AUD_Sound_getSpecs(AUD_Sound* sound);
|
||||
* \return The length of the sound in samples.
|
||||
* \note This function creates a reader from the sound and deletes it again.
|
||||
*/
|
||||
extern AUD_API int AUD_getLength(AUD_Sound* sound);
|
||||
extern AUD_API int AUD_Sound_getLength(AUD_Sound* sound);
|
||||
|
||||
/**
|
||||
* Retrieves the stream infos of a sound file.
|
||||
* \param sound The sound to retrieve from which must be a file sound.
|
||||
* \param infos A pointer to a AUD_StreamInfo array that will be allocated and must afterwards be freed by the caller.
|
||||
* \return The number of items in the infos array.
|
||||
*/
|
||||
extern AUD_API int AUD_Sound_getFileStreams(AUD_Sound* sound, AUD_StreamInfo** stream_infos);
|
||||
|
||||
/**
|
||||
* Reads a sound's samples into memory.
|
||||
@@ -89,6 +97,15 @@ extern AUD_API AUD_Sound* AUD_Sound_buffer(sample_t* data, int length, AUD_Specs
|
||||
*/
|
||||
extern AUD_API AUD_Sound* AUD_Sound_bufferFile(unsigned char* buffer, int size);
|
||||
|
||||
/**
|
||||
* Loads a sound file from a memory buffer.
|
||||
* \param buffer The buffer which contains the sound file.
|
||||
* \param size The size of the buffer.
|
||||
* \param stream The index of the audio stream within the file if it contains multiple audio streams.
|
||||
* \return A handle of the sound file.
|
||||
*/
|
||||
extern AUD_API AUD_Sound* AUD_Sound_bufferFileStream(unsigned char* buffer, int size, int stream);
|
||||
|
||||
/**
|
||||
* Caches a sound into a memory buffer.
|
||||
* \param sound The sound to cache.
|
||||
@@ -103,6 +120,14 @@ extern AUD_API AUD_Sound* AUD_Sound_cache(AUD_Sound* sound);
|
||||
*/
|
||||
extern AUD_API AUD_Sound* AUD_Sound_file(const char* filename);
|
||||
|
||||
/**
|
||||
* Loads a sound file.
|
||||
* \param filename The filename of the sound file.
|
||||
* \param stream The index of the audio stream within the file if it contains multiple audio streams.
|
||||
* \return A handle of the sound file.
|
||||
*/
|
||||
extern AUD_API AUD_Sound* AUD_Sound_fileStream(const char* filename, int stream);
|
||||
|
||||
/**
|
||||
* Creates a sawtooth sound.
|
||||
* \param frequency The frequency of the generated sawtooth sound.
|
||||
|
6
extern/audaspace/bindings/C/AUD_Special.cpp
vendored
6
extern/audaspace/bindings/C/AUD_Special.cpp
vendored
@@ -107,7 +107,7 @@ AUD_API AUD_SoundInfo AUD_getInfo(AUD_Sound* sound)
|
||||
AUD_API float* AUD_readSoundBuffer(const char* filename, float low, float high,
|
||||
float attack, float release, float threshold,
|
||||
int accumulate, int additive, int square,
|
||||
float sthreshold, double samplerate, int* length)
|
||||
float sthreshold, double samplerate, int* length, int stream)
|
||||
{
|
||||
Buffer buffer;
|
||||
DeviceSpecs specs;
|
||||
@@ -115,7 +115,7 @@ AUD_API float* AUD_readSoundBuffer(const char* filename, float low, float high,
|
||||
specs.rate = (SampleRate)samplerate;
|
||||
std::shared_ptr<ISound> sound;
|
||||
|
||||
std::shared_ptr<ISound> file = std::shared_ptr<ISound>(new File(filename));
|
||||
std::shared_ptr<ISound> file = std::shared_ptr<ISound>(new File(filename, stream));
|
||||
|
||||
int position = 0;
|
||||
|
||||
@@ -245,7 +245,7 @@ AUD_API int AUD_readSound(AUD_Sound* sound, float* buffer, int length, int sampl
|
||||
|
||||
buffer[i * 3] = min;
|
||||
buffer[i * 3 + 1] = max;
|
||||
buffer[i * 3 + 2] = sqrt(power) / len;
|
||||
buffer[i * 3 + 2] = std::sqrt(power / len);
|
||||
|
||||
if(overallmax < max)
|
||||
overallmax = max;
|
||||
|
2
extern/audaspace/bindings/C/AUD_Special.h
vendored
2
extern/audaspace/bindings/C/AUD_Special.h
vendored
@@ -37,7 +37,7 @@ extern AUD_API float* AUD_readSoundBuffer(const char* filename, float low, float
|
||||
float attack, float release, float threshold,
|
||||
int accumulate, int additive, int square,
|
||||
float sthreshold, double samplerate,
|
||||
int* length);
|
||||
int* length, int stream);
|
||||
|
||||
/**
|
||||
* Pauses a playing sound after a specific amount of time.
|
||||
|
13
extern/audaspace/bindings/C/AUD_Types.h
vendored
13
extern/audaspace/bindings/C/AUD_Types.h
vendored
@@ -177,3 +177,16 @@ typedef struct
|
||||
AUD_Specs specs;
|
||||
float length;
|
||||
} AUD_SoundInfo;
|
||||
|
||||
/// Specification of a sound source.
|
||||
typedef struct
|
||||
{
|
||||
/// Start time in seconds.
|
||||
double start;
|
||||
|
||||
/// Duration in seconds. May be estimated or 0 if unknown.
|
||||
double duration;
|
||||
|
||||
/// Audio data parameters.
|
||||
AUD_DeviceSpecs specs;
|
||||
} AUD_StreamInfo;
|
||||
|
14
extern/audaspace/bindings/python/PySound.cpp
vendored
14
extern/audaspace/bindings/python/PySound.cpp
vendored
@@ -89,10 +89,11 @@ Sound_new(PyTypeObject* type, PyObject* args, PyObject* kwds)
|
||||
self = (Sound*)type->tp_alloc(type, 0);
|
||||
if(self != nullptr)
|
||||
{
|
||||
static const char* kwlist[] = {"filename", nullptr};
|
||||
static const char* kwlist[] = {"filename", "stream", nullptr};
|
||||
const char* filename = nullptr;
|
||||
int stream = 0;
|
||||
|
||||
if(!PyArg_ParseTupleAndKeywords(args, kwds, "s:Sound", const_cast<char**>(kwlist), &filename))
|
||||
if(!PyArg_ParseTupleAndKeywords(args, kwds, "s|i:Sound", const_cast<char**>(kwlist), &filename, &stream))
|
||||
{
|
||||
Py_DECREF(self);
|
||||
return nullptr;
|
||||
@@ -100,7 +101,7 @@ Sound_new(PyTypeObject* type, PyObject* args, PyObject* kwds)
|
||||
|
||||
try
|
||||
{
|
||||
self->sound = new std::shared_ptr<ISound>(new File(filename));
|
||||
self->sound = new std::shared_ptr<ISound>(new File(filename, stream));
|
||||
}
|
||||
catch(Exception& e)
|
||||
{
|
||||
@@ -289,7 +290,7 @@ PyDoc_STRVAR(M_aud_Sound_buffer_doc,
|
||||
".. classmethod:: buffer(data, rate)\n\n"
|
||||
" Creates a sound from a data buffer.\n\n"
|
||||
" :arg data: The data as two dimensional numpy array.\n"
|
||||
" :type data: numpy.ndarray\n"
|
||||
" :type data: :class:`numpy.ndarray`\n"
|
||||
" :arg rate: The sample rate.\n"
|
||||
" :type rate: double\n"
|
||||
" :return: The created :class:`Sound` object.\n"
|
||||
@@ -407,8 +408,9 @@ static PyObject *
|
||||
Sound_file(PyTypeObject* type, PyObject* args)
|
||||
{
|
||||
const char* filename = nullptr;
|
||||
int stream = 0;
|
||||
|
||||
if(!PyArg_ParseTuple(args, "s:file", &filename))
|
||||
if(!PyArg_ParseTuple(args, "s|i:file", &filename, &stream))
|
||||
return nullptr;
|
||||
|
||||
Sound* self;
|
||||
@@ -418,7 +420,7 @@ Sound_file(PyTypeObject* type, PyObject* args)
|
||||
{
|
||||
try
|
||||
{
|
||||
self->sound = new std::shared_ptr<ISound>(new File(filename));
|
||||
self->sound = new std::shared_ptr<ISound>(new File(filename, stream));
|
||||
}
|
||||
catch(Exception& e)
|
||||
{
|
||||
|
2
extern/audaspace/bindings/python/setup.py.in
vendored
2
extern/audaspace/bindings/python/setup.py.in
vendored
@@ -1,4 +1,4 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
@@ -265,6 +265,12 @@ protected:
|
||||
*/
|
||||
void setSpecs(Specs specs);
|
||||
|
||||
/**
|
||||
* Sets the audio output specification of the device.
|
||||
* \param specs The output specification.
|
||||
*/
|
||||
void setSpecs(DeviceSpecs specs);
|
||||
|
||||
/**
|
||||
* Empty default constructor. To setup the device call the function create()
|
||||
* and to uninitialize call destroy().
|
||||
|
23
extern/audaspace/include/file/File.h
vendored
23
extern/audaspace/include/file/File.h
vendored
@@ -23,9 +23,11 @@
|
||||
*/
|
||||
|
||||
#include "ISound.h"
|
||||
#include "FileInfo.h"
|
||||
|
||||
#include <string>
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
AUD_NAMESPACE_BEGIN
|
||||
|
||||
@@ -48,6 +50,14 @@ private:
|
||||
*/
|
||||
std::shared_ptr<Buffer> m_buffer;
|
||||
|
||||
/**
|
||||
* The index of the stream within the file if it contains multiple.
|
||||
* The first audio stream in the file has index 0 and the index increments by one
|
||||
* for every other audio stream in the file. Other types of streams in the file
|
||||
* do not count.
|
||||
*/
|
||||
int m_stream;
|
||||
|
||||
// delete copy constructor and operator=
|
||||
File(const File&) = delete;
|
||||
File& operator=(const File&) = delete;
|
||||
@@ -57,16 +67,25 @@ public:
|
||||
* Creates a new sound.
|
||||
* The file is read from the file system using the given path.
|
||||
* \param filename The sound file path.
|
||||
* \param stream The index of the audio stream within the file if it contains multiple audio streams.
|
||||
*/
|
||||
File(std::string filename);
|
||||
File(std::string filename, int stream = 0);
|
||||
|
||||
/**
|
||||
* Creates a new sound.
|
||||
* The file is read from memory using the supplied buffer.
|
||||
* \param buffer The buffer to read from.
|
||||
* \param size The size of the buffer.
|
||||
* \param stream The index of the audio stream within the file if it contains multiple audio streams.
|
||||
*/
|
||||
File(const data_t* buffer, int size);
|
||||
File(const data_t* buffer, int size, int stream = 0);
|
||||
|
||||
/**
|
||||
* Queries the streams of the file.
|
||||
* \return A vector with as many streams as there are in the file.
|
||||
* \exception Exception Thrown if the file specified cannot be read.
|
||||
*/
|
||||
std::vector<StreamInfo> queryStreams();
|
||||
|
||||
virtual std::shared_ptr<IReader> createReader();
|
||||
};
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user