Compare commits
3514 Commits
simulation
...
modifier-p
Author | SHA1 | Date | |
---|---|---|---|
13de8b171e | |||
fcbd53c3b0 | |||
2d695367a7 | |||
a9dfad831b | |||
b0ac7a89b0 | |||
9b784668ae | |||
74ec37b70c | |||
1d0017089c | |||
3ea04d3e11 | |||
6fe32d7fd6 | |||
d62bbf4079 | |||
93c8955a72 | |||
a58dc25b07 | |||
cc26041d36 | |||
a7ea07c677 | |||
0852d13bbd | |||
044b824c9d | |||
eda58c47b8 | |||
4fefe3ac3b | |||
a71f073dfb | |||
75ce20a000 | |||
0ca0ad5318 | |||
84a0a6d16c | |||
f367f1e5a5 | |||
d12f6a90b1 | |||
d4315040ad | |||
146473f083 | |||
82f51fe913 | |||
df50104e1c | |||
fc8a7a44b2 | |||
edb4e553f5 | |||
2d1b560a4e | |||
a4bb4b6e65 | |||
48ca66cfe7 | |||
46e0ec05ef | |||
9e76a641af | |||
5ecc239c0a | |||
63a40ed422 | |||
d3f83d9f95 | |||
d1932a8ed6 | |||
819ebc9901 | |||
cb9de95d61 | |||
77789a1904 | |||
075156de9f | |||
69b67d4f07 | |||
53d1a729cc | |||
ee64b595da | |||
e1cc9aa7f2 | |||
b37fca650e | |||
0cb59866af | |||
4622434c34 | |||
![]() |
84a5bd9135 | ||
4e9efa80ca | |||
9d75f23566 | |||
37d68871b7 | |||
c23b1de2cf | |||
3ffb52d114 | |||
b7150183e7 | |||
8522b429b5 | |||
5620a09e0d | |||
f7c0f1b8b8 | |||
7d2b4ae9c6 | |||
128296129a | |||
74b0713d8a | |||
874a078d86 | |||
d68e29b62c | |||
9bb7d6ed68 | |||
d8678e02ec | |||
50258d55e7 | |||
7a0ad20e5f | |||
1355d9cc8c | |||
f88d59ecf8 | |||
0c4bc09092 | |||
70a27d0a63 | |||
f326b6a18e | |||
9f7d84b656 | |||
0a907657d4 | |||
b5846ebce7 | |||
6f96dfabe5 | |||
bf4198cdaf | |||
e3396d8bfc | |||
1c189aa70a | |||
335c1e48ee | |||
4f4141c8f4 | |||
6e53b28898 | |||
e54fb1b819 | |||
826769d1c7 | |||
34b4dca9f1 | |||
0e040ef3fb | |||
f71a2fc6c3 | |||
460c1d8e20 | |||
4d168e0b8c | |||
1f6d1213d2 | |||
11ba9eec70 | |||
917ab4fbf9 | |||
c175ff19d8 | |||
f50222ba2e | |||
b4ef87afb6 | |||
24904301e5 | |||
112c86fd5d | |||
281319653e | |||
ccbf858bb8 | |||
00961d062a | |||
dc6cee4724 | |||
8f25cfdbfd | |||
3e07d958f1 | |||
561a81eb24 | |||
f6524032ca | |||
a7de01aaa9 | |||
5f7007a962 | |||
1626c526f8 | |||
ab2b9821fc | |||
eb31037503 | |||
01132d4a83 | |||
5ff8a2ca0e | |||
b8afd4e8bb | |||
f0f666541e | |||
959267ffcc | |||
766b3037eb | |||
ee4732ca22 | |||
ce9a64c454 | |||
a99a8061ae | |||
6c6658ccc0 | |||
aed11c673e | |||
03a693922d | |||
5198cb1813 | |||
6c114a139b | |||
033b6a7fb4 | |||
9b3fda0357 | |||
a5e56efc98 | |||
18b57d3e2c | |||
9a3d54943a | |||
1800127355 | |||
cf3e617913 | |||
125acdf933 | |||
0eb969dd99 | |||
1d066050b6 | |||
5146034aa9 | |||
![]() |
7bd73f562a | ||
f5781384ae | |||
a39cc5ae4d | |||
b74cc23dc4 | |||
fc672ce8e2 | |||
60b8db587f | |||
f0047e6754 | |||
0f1361bbc3 | |||
5340556710 | |||
7949953b1e | |||
a77350cce2 | |||
69c9204026 | |||
26fb0d4258 | |||
c3e88fdd03 | |||
a943b65f1b | |||
4df20c058d | |||
2ee95e91f7 | |||
70ad18b94d | |||
b91b90f0dd | |||
b6764b9a31 | |||
76e9cdc90a | |||
b16a85fe0b | |||
9b099c8612 | |||
4e70e0e384 | |||
846dde590f | |||
0f64de6b9b | |||
e9659d0e6e | |||
859505a3da | |||
1270984e13 | |||
b77834ceb1 | |||
a8afe509da | |||
0ee98c654e | |||
abeda01ac6 | |||
67b17684e6 | |||
ff5d24f8be | |||
f797a5406d | |||
a6cd77bad1 | |||
0a41a85bf3 | |||
b78fb8b987 | |||
74fa600ede | |||
d850daf416 | |||
43294e5f49 | |||
60a786e711 | |||
5ed2ed28ab | |||
dc69747f72 | |||
e4e8259d39 | |||
2396daf921 | |||
a1d55bdd53 | |||
473aaa389c | |||
56da8dae67 | |||
0e6c648f3f | |||
7d32a259bf | |||
1c5479167f | |||
48075b2c05 | |||
ce7409fd13 | |||
5e55153c89 | |||
191edd224a | |||
f2d5c53966 | |||
e8b8e16b24 | |||
fe6be70875 | |||
e3a32a22bf | |||
0aa2c10ad1 | |||
8b347fc2cd | |||
fd63220a35 | |||
9e96c6d054 | |||
b2d1c4873f | |||
c7329da14b | |||
0b28f0410c | |||
b168c255aa | |||
ba5b303c88 | |||
1d72fc5a1a | |||
d71f9b9886 | |||
f2a0532111 | |||
15ed2f841c | |||
caca3d9c97 | |||
c7a2ed69be | |||
c604d2762f | |||
733a3e3a70 | |||
3da4724f72 | |||
fd061f61c7 | |||
3b4ef08d68 | |||
41866070d3 | |||
953c232db3 | |||
10b34ad697 | |||
5837de6879 | |||
7534bbfa34 | |||
1438c1cfd5 | |||
30395a491f | |||
c7c3908b8e | |||
0f32029522 | |||
78017916f7 | |||
465a9f65de | |||
1a23b0be97 | |||
f9892bd6cf | |||
244ed645e0 | |||
fe13f3db81 | |||
67a617e196 | |||
7aa47083d0 | |||
![]() |
e723ec04fb | ||
67b10fcc22 | |||
b94ab93dfb | |||
a4e0bccb87 | |||
0849af4591 | |||
86385d7ebd | |||
bd68312cb6 | |||
2cdfc1b4af | |||
fc1bb36668 | |||
26aa64b688 | |||
ef0ff4aaf2 | |||
dbb1f56e55 | |||
de9c04c287 | |||
51cd6d22c5 | |||
15a24f3d7f | |||
![]() |
211b6c29f7 | ||
96eab08755 | |||
b2dcff4c21 | |||
054923c860 | |||
47bdb28841 | |||
91cc1f38ae | |||
866e067d65 | |||
4184371fb0 | |||
df17ee202b | |||
![]() |
82e3bd4bbb | ||
![]() |
3c9f80c898 | ||
![]() |
dc8475ec6a | ||
cda1540858 | |||
![]() |
3384bb2c66 | ||
0e14eb7b31 | |||
75015f27ba | |||
d4f1efad00 | |||
3e4c8d48aa | |||
55f8758b87 | |||
59bfcd8c5d | |||
9b0543389b | |||
6f21137722 | |||
53cb1a32db | |||
3b6e223a03 | |||
f0df4d6c35 | |||
2749e6a639 | |||
2004f9a342 | |||
45b5f4e3df | |||
a5e9f024f2 | |||
2e52b3206c | |||
650dedfd10 | |||
a1f9eebc0b | |||
47eccac21c | |||
ee4bafc63a | |||
beef67d1df | |||
ea92f8207a | |||
e391b3e0fb | |||
a87eee65fc | |||
7fc0053c27 | |||
85098bdb89 | |||
071cc71fb0 | |||
dcdbcf1ec1 | |||
![]() |
ffb3365fb2 | ||
0465086223 | |||
52cc412e0f | |||
572c472754 | |||
4153606edd | |||
b08caeb92b | |||
ca09625dcc | |||
417ebc3845 | |||
bd3ab27410 | |||
1743326889 | |||
cdf0d95a50 | |||
6a70d7e09f | |||
9d9f35d946 | |||
5ef44dd83f | |||
9713df4e92 | |||
2c204432df | |||
e69f70e11f | |||
50994eace6 | |||
b18c2a3c41 | |||
eba3aa1837 | |||
b82cb0ad32 | |||
38cfcdd51b | |||
cb59ef1032 | |||
![]() |
0749cff957 | ||
![]() |
752139556f | ||
![]() |
bf34b0c8f4 | ||
0a00fbd265 | |||
21443056b7 | |||
43ec8c287f | |||
cecda64e2e | |||
bdda53fdb2 | |||
074d469165 | |||
ae2f21f378 | |||
ea516bed72 | |||
6aef27602a | |||
b724922f1a | |||
428c0f9ad5 | |||
c6957e50e8 | |||
81f817e7b4 | |||
17d8e7f833 | |||
de6c935261 | |||
![]() |
9c410c77eb | ||
59e793d3bd | |||
a8907e409a | |||
![]() |
c7280ce65b | ||
7881c251f3 | |||
![]() |
389d550412 | ||
18cda8be87 | |||
98c301d25e | |||
f58e76119a | |||
4f3e686cad | |||
8b63c6241d | |||
1d4bae8566 | |||
3778f168f6 | |||
5c54a609a9 | |||
91fb07f361 | |||
3cce8afe2c | |||
b0038b8d73 | |||
45dbc38a8b | |||
8d670546f9 | |||
31cf87a29e | |||
19f3f6cd85 | |||
c204e3348c | |||
9936e23b85 | |||
10966926ce | |||
520f08aa56 | |||
49bd44f5c8 | |||
81c33f0ba7 | |||
c71be9a552 | |||
946ae26349 | |||
c315e56434 | |||
89cd9f110b | |||
d4483b6d15 | |||
f18ed7ad89 | |||
![]() |
b5cfb23fa7 | ||
![]() |
adf9ff6359 | ||
![]() |
42dcb1090b | ||
![]() |
102a7ae2d9 | ||
![]() |
95e3356a27 | ||
d0e028a78e | |||
d5a92b188b | |||
fcccee0c33 | |||
14af27e63d | |||
4cb883b6b2 | |||
6f1056ae63 | |||
ba711824b3 | |||
347c191292 | |||
9d725fc0cf | |||
ec26260132 | |||
515e8e4f7c | |||
55598269d2 | |||
a574478d90 | |||
3d014fa815 | |||
63bcee81f6 | |||
2ee94c954d | |||
a9689737b3 | |||
664c608fb7 | |||
691a1e3357 | |||
![]() |
907cab45ff | ||
c93a88413d | |||
![]() |
43853d0528 | ||
![]() |
a86b5df005 | ||
![]() |
67795c90fc | ||
d1bc233ffe | |||
1d2b89304a | |||
![]() |
582d3153a1 | ||
7022c73249 | |||
8ec59757d1 | |||
654fde2dd2 | |||
e115b7b06d | |||
5510d5825b | |||
d1f4adab24 | |||
dbdb8a3355 | |||
5ec18ae4ab | |||
2deb6c5177 | |||
![]() |
1be79dc2a0 | ||
![]() |
155cd03599 | ||
![]() |
b8bcbaaf0e | ||
![]() |
82cbf93f20 | ||
![]() |
6cbb56418f | ||
![]() |
a099478cad | ||
3923062d13 | |||
a9073ccb68 | |||
ff1040c6fe | |||
59b730b643 | |||
c7a7dc743d | |||
bf690ecd39 | |||
68d6b73fde | |||
1335f2d272 | |||
806db47fd8 | |||
3d2f143000 | |||
4ddb7a33a4 | |||
5c8ccad652 | |||
122cb1aea8 | |||
16943c0146 | |||
d35a33ef72 | |||
cdcbcca25e | |||
d7282537f0 | |||
80d6421f28 | |||
0b793514fa | |||
79e529c5ec | |||
7e80aa7ca6 | |||
735119dd0f | |||
49c295813b | |||
28d9368538 | |||
efa4ae17f0 | |||
8cd17a9529 | |||
42cb1e3a2c | |||
c971731b8f | |||
38b50fe393 | |||
15bcfc5b19 | |||
12c42738f3 | |||
8e9fdd2f31 | |||
a444400900 | |||
1e0de7c2ea | |||
6a8193e505 | |||
ece54172d0 | |||
16aef5dc4a | |||
ad4cef38e3 | |||
614d70a87d | |||
717d968fb9 | |||
5d8515ed86 | |||
b5ef644ef6 | |||
444ca1a117 | |||
39cf673132 | |||
98197343e8 | |||
be03a756e5 | |||
0ff665e4ce | |||
4886a704b3 | |||
6fc9d106ad | |||
0d089ce881 | |||
4ab36c4393 | |||
57aae2a355 | |||
c81a5f58f8 | |||
67fe31d751 | |||
7c0bea0d65 | |||
![]() |
e490dc4346 | ||
bab5fbb66c | |||
1c3b2b5dd8 | |||
![]() |
ecc15c55d4 | ||
7836242065 | |||
355d129965 | |||
1f7a791a53 | |||
2e73e1390e | |||
7ed7901c00 | |||
43af0f4d16 | |||
6c1cf395f2 | |||
a739dc67ef | |||
e5458fa4e5 | |||
a8551f93e6 | |||
f772a4b8fa | |||
eb5422828a | |||
5171d86806 | |||
![]() |
de257b6366 | ||
00674c12cc | |||
18f33f293b | |||
9aea7dc7c6 | |||
9b0f65c4a6 | |||
5f63344e84 | |||
a2baf50242 | |||
1f223b9a1f | |||
78eae89c39 | |||
a1c9d42584 | |||
4102e7ed81 | |||
d8733539b7 | |||
f3cf29ac96 | |||
4114e89020 | |||
14b1c55e11 | |||
299682bde7 | |||
d3275178fe | |||
35bd596876 | |||
2299f6b5a7 | |||
e790f1a8dc | |||
23520cbd13 | |||
2a692e05c8 | |||
13e17cbd47 | |||
b44c3ac1e9 | |||
4835a09bb1 | |||
13b10ab852 | |||
fc2bb44e94 | |||
5a1ab3e9ae | |||
825d5c9992 | |||
2dd6d0ce4b | |||
49f59092e7 | |||
ecc395e473 | |||
77fdd189e4 | |||
495a98d623 | |||
4e8693ffcd | |||
5254ffa17b | |||
39aa122a0e | |||
4a9a8611f2 | |||
4464a9425b | |||
c19cc7ef81 | |||
6fbeded285 | |||
31cb4133b9 | |||
52c356c199 | |||
396bf6ca78 | |||
6d4dc22e17 | |||
28d81f7b24 | |||
9f1f7ba2bb | |||
f53ae843b3 | |||
ce0db0d329 | |||
2ba3214a21 | |||
7a51eb5340 | |||
219ce574b5 | |||
1b06d5742e | |||
ec0ba8e3b5 | |||
026eba8523 | |||
8b849f39e8 | |||
849f5bee19 | |||
b01d2ea72a | |||
e0ff032711 | |||
7a37db6125 | |||
deaff945d0 | |||
df8cbdc696 | |||
a8a6b3627a | |||
0270941b70 | |||
7e9480b6cd | |||
dc3f404a70 | |||
3c40d2485f | |||
1a60aba46f | |||
d65f60764b | |||
baa1886791 | |||
9ef272bae3 | |||
87e9557cd1 | |||
60bed34f16 | |||
1c467d77de | |||
528f0b95c4 | |||
41bb0548b0 | |||
9b9f84b317 | |||
5a842b3412 | |||
c15bb3b55f | |||
ffcb87813b | |||
dc429d5910 | |||
31f3e9082a | |||
f274b8c102 | |||
0700521833 | |||
5db2d9c82b | |||
f13b687551 | |||
0d0df683d9 | |||
6b8555e01c | |||
8e4c74292a | |||
f43bb98646 | |||
22462fed00 | |||
525fc36a80 | |||
2ddd9813ef | |||
157b9e78a4 | |||
93f60a4da5 | |||
f5cd06ed45 | |||
1f34a34fa5 | |||
6f8d99322c | |||
041e440649 | |||
b4613e0bca | |||
08c1f5bf33 | |||
86fa8dc7f7 | |||
ece8ecb4dd | |||
![]() |
e8dd8c2829 | ||
f27e122d95 | |||
e8209c36e6 | |||
45f17e10ec | |||
a958725f81 | |||
3bc15c097c | |||
43d33b3626 | |||
98689f51c0 | |||
cbd4b8ebb0 | |||
c75a665c44 | |||
06860ba29b | |||
a76e804309 | |||
1633a65d41 | |||
![]() |
0236863c6d | ||
920b698746 | |||
8ddcc7fd51 | |||
69e331201e | |||
![]() |
59aed2a255 | ||
f990b42504 | |||
f5c682045d | |||
4066c921fb | |||
c4edc6f3f7 | |||
a1a333a1e9 | |||
fbbc0229b8 | |||
b87d81be96 | |||
fe739f8c26 | |||
ce6fd6b6a2 | |||
![]() |
42f8d52401 | ||
8a971c9d91 | |||
09feff781c | |||
fb7cc1d275 | |||
3aacd8a4ab | |||
1b994a37f4 | |||
0e18ea5b9c | |||
e7076c6d95 | |||
7961d27fdf | |||
bda924385f | |||
8eca2b4a1b | |||
686eaad84c | |||
5094397dab | |||
e57458470d | |||
dde592e622 | |||
8f21f867e7 | |||
70c483e7db | |||
3cb6efd3ab | |||
1f6ef73f98 | |||
c732edbaa4 | |||
ce74df6248 | |||
7e4654e4ce | |||
1d8b4e4023 | |||
df14b11526 | |||
8b9ae6bc91 | |||
a39ca327bc | |||
de7d32bb7d | |||
56e40dd168 | |||
2fe615ab9f | |||
8a8c61190b | |||
0c9e73845c | |||
03d8783db0 | |||
376b69cbff | |||
2efd00d4d2 | |||
d15efbdc56 | |||
850fbe8547 | |||
c13bf40ab1 | |||
0ff663b6fc | |||
8d648e0972 | |||
fcfb87def9 | |||
f66bfb5a86 | |||
bbef6fe336 | |||
8ecfa6a828 | |||
b4a6418e2b | |||
522e6c0c06 | |||
e0efec00db | |||
d91adcf8b7 | |||
8a0840b0ee | |||
af3a55bb1b | |||
71fa460145 | |||
6d7dc2265f | |||
8bff3ec76b | |||
600fd1c6f0 | |||
29afadcb15 | |||
b9aa2acecd | |||
e2b87aabb6 | |||
1c79484d53 | |||
3a284a37fd | |||
ee44283393 | |||
2059b30ee2 | |||
4d613018ee | |||
e2d961809b | |||
140935ee7e | |||
e4e31e4f14 | |||
93b5682444 | |||
e15ffc0c54 | |||
796412dca0 | |||
8fe448b44d | |||
ccf43fe605 | |||
aa0e98d707 | |||
b44101950d | |||
c1545c9a9d | |||
717577d5fc | |||
e1050fb395 | |||
9897ef6a20 | |||
22c30219e7 | |||
d33c27d68b | |||
3a5a158362 | |||
707a4c355f | |||
eb57377f12 | |||
7d3bf5166d | |||
578b0c00ca | |||
3360db83c4 | |||
db6e267bfc | |||
ec86db82b0 | |||
5fe7605f3d | |||
f69ecce14b | |||
a296dff2c8 | |||
31137004ae | |||
bfdfa35e6e | |||
aa02a05bc7 | |||
dfe8195dfe | |||
8f050b6825 | |||
499c0229f7 | |||
4f622c9a08 | |||
e610964e89 | |||
183ba284f2 | |||
120e9924c1 | |||
33fc42bd65 | |||
5ca8875f69 | |||
3bced3b306 | |||
5267ce8e03 | |||
59cfb20fa1 | |||
8d63d7337c | |||
20c30534aa | |||
42d77fbea1 | |||
8e0a57f9bd | |||
c554f4e14f | |||
13125e0948 | |||
a5a069c272 | |||
0a19b8a5b4 | |||
a3bdbb5e5b | |||
d6cc16831a | |||
5201bc9dd4 | |||
e73d7d27dc | |||
7bb3d9787e | |||
61280e5af3 | |||
fa270a37e8 | |||
a4cbacacbf | |||
08b4faef01 | |||
a6c0874355 | |||
059f79bdd7 | |||
cfb7664d5b | |||
dd62d95687 | |||
7fcf2e7d4a | |||
813ff8913b | |||
338abd6f68 | |||
0c20fce2f2 | |||
![]() |
03fa66d274 | ||
46c35dc283 | |||
a95afed6de | |||
9ccc73ade8 | |||
![]() |
9ac4e4a1c7 | ||
cc485191e4 | |||
a6646fb0d0 | |||
8c4965f86d | |||
14278cd932 | |||
eb1cb7cb81 | |||
30cbbccc60 | |||
22998abe92 | |||
675ba2073d | |||
325307d82b | |||
4fa1fc29bd | |||
e5c5e25c68 | |||
82bda82ec4 | |||
25dea3e65e | |||
10528a5cd4 | |||
24e5c64ea2 | |||
cddfa7a449 | |||
b96ccb5126 | |||
f89b89fa7f | |||
291136eece | |||
888427cabb | |||
fc06c248ed | |||
ac8b36535e | |||
5fa58fb8a2 | |||
1151bcd53d | |||
f557198540 | |||
15bf81268c | |||
1afa97d547 | |||
7bd07c9f5a | |||
ff7a30d928 | |||
79a48c5676 | |||
7c9c8cee7b | |||
393050e8e5 | |||
497cd3d7dd | |||
c4ee94328f | |||
0bdb827bdf | |||
e0ae229acb | |||
afbe71342b | |||
06c57d3e7a | |||
8f10f9d5dc | |||
ae97a7ac10 | |||
38a8d3aff1 | |||
46a4a53824 | |||
35f9c3b9a4 | |||
20b94257dc | |||
31fc01eecb | |||
9bc7ea5496 | |||
fa116a9bbe | |||
2ad5131f77 | |||
22f68f85a4 | |||
54665233eb | |||
151fb62190 | |||
0d57ab611c | |||
6eb00fb02e | |||
0bd7e202fb | |||
cb8d8335b2 | |||
19413c4a82 | |||
48a5b1664a | |||
27cac4a102 | |||
121b2c0424 | |||
dcf67fdf7f | |||
27b23148fa | |||
6ede93bab3 | |||
18dd289e1a | |||
80b340b034 | |||
b487ef6116 | |||
b75ce05c3b | |||
b1492b76ba | |||
9796cb1661 | |||
f3edff2d7d | |||
005d04e145 | |||
a432cb2ad9 | |||
008e964940 | |||
470ed9f074 | |||
04d15f1625 | |||
52d8b3a014 | |||
a4b2734fe2 | |||
68ba154869 | |||
fd8d2ceafe | |||
815ffaa6c1 | |||
98e18c41b6 | |||
2a3797b109 | |||
ff144edd8c | |||
218579fa53 | |||
cfea716128 | |||
41825c7e0d | |||
9af72792a3 | |||
5c5a638b57 | |||
dde7a762c3 | |||
fe257cc384 | |||
a975cb9207 | |||
0abe5936b7 | |||
60a14bd8ef | |||
eefbd92981 | |||
6e577f8236 | |||
d86e97c757 | |||
49a5422500 | |||
deef89c17c | |||
1359bd34ce | |||
9063269462 | |||
1784982498 | |||
c14878923b | |||
eaf7d36d66 | |||
d9773edaa3 | |||
3ff8ca60e9 | |||
e5ace51295 | |||
e1c2eba4de | |||
abcb23f5a3 | |||
a8fc3c88ef | |||
7ff933089a | |||
c44d6fb987 | |||
0055aa994d | |||
a952f8dab0 | |||
001d70eb2b | |||
ecec6547c7 | |||
9632a06201 | |||
b14243be77 | |||
0f2c7f3864 | |||
0541906162 | |||
363f18c8b5 | |||
1cad0a627e | |||
d6e0b55b1c | |||
a269761ec1 | |||
b67f649077 | |||
266caa1820 | |||
998e26704b | |||
fe0036c586 | |||
2b36cf3118 | |||
86580c437b | |||
03659c2cf9 | |||
a5d394fad2 | |||
0a32f6c868 | |||
3a14c011f9 | |||
04517ee936 | |||
0ae64a9945 | |||
5f95912afc | |||
7049d2dc58 | |||
547f50b5e0 | |||
6398892121 | |||
f1cb11f0fa | |||
19d822c677 | |||
e60560bda0 | |||
559a8886d6 | |||
20c25bffda | |||
656692913b | |||
3c0fd51cf4 | |||
6a850f3cc8 | |||
c361f911f9 | |||
191c562f98 | |||
4ce1829289 | |||
c880e54a95 | |||
8d918fe0f2 | |||
f716bb3b71 | |||
516e1b4031 | |||
2efe77ca51 | |||
![]() |
3ced9c1c72 | ||
6716baa1f7 | |||
4ac748c099 | |||
5f31e5031c | |||
cc3d3a453e | |||
![]() |
33ce0cb5a1 | ||
461fee5328 | |||
5940485369 | |||
16d8a683be | |||
ea84c12a2b | |||
72492eb2a2 | |||
dc4983dfdd | |||
78e3b7c28d | |||
fa23e313f1 | |||
e585257063 | |||
bd80c21635 | |||
![]() |
b7386c66f9 | ||
ada03e8673 | |||
0909b564a9 | |||
c233271b0b | |||
97f50c71b9 | |||
fc4f2571ba | |||
a260d1cd69 | |||
16b9841fc1 | |||
236794d07a | |||
![]() |
7965c735f1 | ||
![]() |
c9360b239b | ||
08ac4d3d71 | |||
36d9f7e375 | |||
![]() |
eb23b39b7f | ||
![]() |
80fffba132 | ||
a88316b4a6 | |||
![]() |
7d38f50367 | ||
975c45df9a | |||
![]() |
f17e7e0b62 | ||
b0686af32b | |||
5d2e54af37 | |||
21e5a72798 | |||
13769bcbe5 | |||
9ebb3a386e | |||
fee46615f4 | |||
e22ea3dc0e | |||
de6a866114 | |||
0892ce85b2 | |||
cdc7a93c36 | |||
1cbc3a8f2b | |||
0cd9b1243c | |||
95a47ff226 | |||
1fadda344c | |||
4341b5b2fe | |||
27ef012ac7 | |||
db1099c0ae | |||
ec324d8741 | |||
879032d2ab | |||
2c61b7f354 | |||
88841559de | |||
e2eb47191d | |||
bd18ffe1f8 | |||
c8060a78fd | |||
a53917152e | |||
bd3c842c56 | |||
d62c98a02d | |||
b369d46eb7 | |||
71298a1da9 | |||
5ee71320c6 | |||
7b688a6b04 | |||
fd025b0b7a | |||
891b91928a | |||
16cc424bc5 | |||
2bc5c18714 | |||
5e96c43854 | |||
4da3044abc | |||
e4890fa564 | |||
c0e1bd815b | |||
58cc5c8573 | |||
3a896bb373 | |||
658b254e3e | |||
73f38f8db0 | |||
9ac5413ac0 | |||
c9048441f5 | |||
91ecab5000 | |||
2b5e301ea4 | |||
5445353095 | |||
95583a398c | |||
5b043b0724 | |||
c7f74863dd | |||
3a1426afbd | |||
e7d5e16af1 | |||
facc9bc878 | |||
5159b8e1ea | |||
54ea356240 | |||
4e32398668 | |||
ed4647b5d7 | |||
9db08b77e4 | |||
498bd0772e | |||
cbcc15bdaf | |||
2afb597572 | |||
b55c78a289 | |||
23fd95458c | |||
0790d90d02 | |||
2843af9357 | |||
099dd0690c | |||
61a3d55d06 | |||
eb27595ac4 | |||
6fbb01e641 | |||
cda25f8f38 | |||
d8274efcdb | |||
79511fca20 | |||
7415855042 | |||
adcc81341d | |||
e8e003ee8b | |||
8799fbbef8 | |||
7ff47680c6 | |||
3edfe352ee | |||
0e0ebdb65c | |||
75d0287cee | |||
8f4f3cce03 | |||
13130ca293 | |||
429841e5fd | |||
9253386dcb | |||
05dd9ca06c | |||
ce35cfd208 | |||
bf0a554114 | |||
f9d0f59bed | |||
50ef801a79 | |||
75e989dab6 | |||
5b86fe6f33 | |||
613715a994 | |||
be69f23b68 | |||
5873bd82da | |||
4930eb15f7 | |||
5ca1eb96c7 | |||
829dce524d | |||
a5eee1f935 | |||
bfdb27f494 | |||
80953aed33 | |||
122a3169e2 | |||
289242fef9 | |||
36e3847093 | |||
fc59febb1b | |||
94b9141c95 | |||
fc62a3366c | |||
13d0f74b80 | |||
8ce0c9111d | |||
5fd64c014f | |||
9996688b71 | |||
70b73732fe | |||
b1b93c2ef1 | |||
ef6610dec5 | |||
1606e732c2 | |||
ac1a6565df | |||
33f9fe3c62 | |||
f24e9bb038 | |||
be4b3c64ad | |||
25c67a65d6 | |||
8da7ab11cf | |||
fd271b6b24 | |||
c7651be1e1 | |||
dbc13a37ca | |||
08b4c9a815 | |||
82e8df01ac | |||
1b289029bb | |||
94cbfb71bc | |||
65574463fa | |||
e5bb02aaa4 | |||
f7715b3337 | |||
4d8ec4439f | |||
94934199e7 | |||
03727082e9 | |||
65381e220e | |||
2b7741003e | |||
973ab436f0 | |||
fffcb6e480 | |||
94734d6454 | |||
07fc240d72 | |||
06763eace7 | |||
cfbcc94451 | |||
0c1b1e734e | |||
a50c131a0d | |||
2008bcb0bb | |||
390d27548c | |||
e0b5a20231 | |||
f1f3381873 | |||
d896df3ccd | |||
c1d8eb01c5 | |||
f20133aeec | |||
![]() |
24140444f2 | ||
![]() |
849672a991 | ||
859eee7e15 | |||
21fdd00108 | |||
bbb5fa2a16 | |||
eaa21df505 | |||
![]() |
750b370c25 | ||
bff679f8f9 | |||
9947b1fda6 | |||
8770f35305 | |||
5852f97dc2 | |||
1e12468b84 | |||
542ff416e2 | |||
a692418bc2 | |||
8956e9e5f6 | |||
9618875b96 | |||
a116912fd6 | |||
e10eaaad13 | |||
acd5f5285e | |||
4deea4f4c5 | |||
b026965f80 | |||
508124b5be | |||
3c56746863 | |||
dfbb3d82f7 | |||
365e9cb6aa | |||
a1363f74bf | |||
e3861b949a | |||
15e71781b9 | |||
4e1a6b48e7 | |||
6f5bc1fc2b | |||
249ccab111 | |||
ccf97e1013 | |||
e407fdd9c4 | |||
bdcf2083a3 | |||
d63956d0e5 | |||
870e081bcd | |||
af8bd43e35 | |||
![]() |
27e3361eb5 | ||
![]() |
4d677ec90d | ||
8c6391a9b3 | |||
86a16e7381 | |||
76c64af00c | |||
815855b91b | |||
267e4d130a | |||
3d3a75fc2a | |||
ced4dfa349 | |||
a1593fa05b | |||
e82d8c60f0 | |||
![]() |
9a7c4e2d44 | ||
672a0af081 | |||
38732c74fc | |||
de53c039ad | |||
067587c51b | |||
1a382d0579 | |||
668867558e | |||
d6f48e21fc | |||
0e41305344 | |||
364780bce5 | |||
63849aac95 | |||
e3673fd869 | |||
f4d65b0d6e | |||
6222a9bf27 | |||
9bda322468 | |||
0461727553 | |||
51ac411ce8 | |||
4816b1f11d | |||
eaee2b4119 | |||
78296366df | |||
a1b3effd55 | |||
76e56e2ba7 | |||
f2178b7f97 | |||
633fee72d5 | |||
9be28095cb | |||
9b02415ec8 | |||
d06384aa41 | |||
00e99959d3 | |||
904249b4f3 | |||
cbc380d252 | |||
caae7fe9ef | |||
cf261540e6 | |||
7969a3384e | |||
6f985574b7 | |||
0d0dcfd643 | |||
2d30c4a35b | |||
e517734708 | |||
7d8c5d5623 | |||
be3c0862ba | |||
883dfda024 | |||
96f305c63d | |||
a1c2441390 | |||
cc1fb9d177 | |||
fc0842593f | |||
bedf3550b1 | |||
a9e822484c | |||
d359a84430 | |||
385559843e | |||
ebbaae625f | |||
![]() |
ce76e17584 | ||
470cdeeae0 | |||
ac9fe9c2c1 | |||
163f21db8c | |||
c3570ab51d | |||
d931981d24 | |||
f9d9bf41f6 | |||
18f833be29 | |||
d9a9e64e8c | |||
163a48f203 | |||
298356a9c0 | |||
32f7495e5a | |||
c532c6c109 | |||
fc3cc2ca3a | |||
3daf1b151b | |||
f10fb04162 | |||
b1c4db1fbe | |||
a2f4d7b8a3 | |||
2bb9a465e6 | |||
b4d50d3f07 | |||
34792f5e81 | |||
21dd3524c0 | |||
eefa82a022 | |||
7f5570ceff | |||
2a8ba9c08e | |||
7a4e045d8f | |||
c6cda3c09c | |||
e6dd29ce6e | |||
933c721ccb | |||
4d5af14852 | |||
04c04b6f4d | |||
05fafb05b1 | |||
b5eeef834f | |||
2f63e47931 | |||
5473f0c49d | |||
d1b2dd6492 | |||
ab122c73ba | |||
6400f54b4c | |||
b09189500d | |||
95f8f321b6 | |||
339c3e3473 | |||
cb8a197bc7 | |||
e39878b90e | |||
c59c318f33 | |||
82704ac3ed | |||
daf10d17f4 | |||
74c01afe22 | |||
7181342e62 | |||
d8c3aad800 | |||
b571516237 | |||
9b7754883b | |||
![]() |
1c0e22b982 | ||
![]() |
ed1fb242a8 | ||
![]() |
6e0540671c | ||
850a539c90 | |||
45adcc51b2 | |||
b9491476e5 | |||
8d1e3594fe | |||
18dbc8f5c1 | |||
4f846d9d2a | |||
2a2aa6abd0 | |||
45a77ba09d | |||
3fed85f9d2 | |||
ebd7e87f33 | |||
![]() |
04a3bdcc52 | ||
a834c819ee | |||
b1374a8ce9 | |||
1dced6d814 | |||
5cb143cc4c | |||
d2ee2abde7 | |||
05da8132d8 | |||
b0f3a53989 | |||
786ff13540 | |||
9605c26166 | |||
a5ffc6309e | |||
3bc3b58e4c | |||
43f601f1c4 | |||
c57f65c088 | |||
![]() |
668dd146f6 | ||
969d6b157e | |||
0f0f06645f | |||
b9bb752e0e | |||
5461c7526a | |||
578e976710 | |||
11d440f1a2 | |||
f90c93b2c3 | |||
7043f8b815 | |||
6fdbe25094 | |||
c98240139e | |||
09603401ca | |||
f14319e2d7 | |||
c0bbf1553f | |||
6fe3bbed34 | |||
61d35c06a1 | |||
9959322d6e | |||
4dc124f642 | |||
c6aa014d3a | |||
8b74d6673a | |||
![]() |
4af9578ab7 | ||
b0d6b03763 | |||
c0798cad02 | |||
c036ef1369 | |||
39ea222339 | |||
84eaaad94c | |||
c9ff8b5cd6 | |||
527c81c6f8 | |||
e6fab27d6a | |||
e8d028c0af | |||
6d3af8e647 | |||
9d8a583482 | |||
9535dbcee0 | |||
e7470c9dbe | |||
bb7a23bdff | |||
d97c83712c | |||
4e5a328e55 | |||
c54ced9f55 | |||
be498a21ed | |||
c4d50b9ed4 | |||
da48defcfa | |||
db09b57d4e | |||
65194dc71a | |||
f55e92107a | |||
8217fba8c5 | |||
9b8e0c6d0f | |||
75be3bc4b9 | |||
36ad59b550 | |||
d8133b3eb9 | |||
37b3f18fec | |||
6a32b744b4 | |||
ac6be6759e | |||
375a50dad9 | |||
8b5868cc15 | |||
1771c7e441 | |||
0c8b872188 | |||
41da5df29b | |||
4a38a12024 | |||
673f44fa16 | |||
1222f561a2 | |||
7b35a9818c | |||
df16c23832 | |||
0c928087a3 | |||
ba43c2a040 | |||
d8011902f4 | |||
133c2381ec | |||
b3553c0961 | |||
37182c369a | |||
194070e6f4 | |||
0a1fbfee2b | |||
31ba186983 | |||
079fc65e0a | |||
19ea4ba9c5 | |||
d1226a6d9d | |||
6ea71cb104 | |||
838e1f248d | |||
9adb81f584 | |||
9eb46d6c29 | |||
2addc868de | |||
411c5238a2 | |||
88b9505b84 | |||
fdebdfa320 | |||
a9ef6d5ad7 | |||
b048272825 | |||
b84c380aaa | |||
000fdd8a6e | |||
7b9d6ef2b6 | |||
33bdd91fb8 | |||
70fe988dc4 | |||
82f9ed9305 | |||
99ee1de094 | |||
57cfa8e2d0 | |||
331bf04fad | |||
bbfae8f184 | |||
a577291b03 | |||
ff8288ad1e | |||
fe891d581d | |||
2b7d5caae8 | |||
1a6119c8e4 | |||
6a0cb48149 | |||
a6380d063f | |||
ccaab72685 | |||
![]() |
5366eb89c6 | ||
0d65520f05 | |||
d388c1c524 | |||
76be35efb2 | |||
b64fdbfb98 | |||
6408cd00c5 | |||
7df51ca11a | |||
5ef94c9c41 | |||
1623fdb3bc | |||
719cff1414 | |||
cfdff4fb63 | |||
03b911dd87 | |||
e590199949 | |||
92d62148be | |||
c06a40006d | |||
83304e4c22 | |||
7212dbd7be | |||
bba11c68c4 | |||
447a7f510e | |||
433eaffd55 | |||
805a78e396 | |||
c7bc1e7778 | |||
06839379c5 | |||
9867d84628 | |||
6222f6a22c | |||
2e4d8aea50 | |||
75d676a089 | |||
![]() |
51aa0ea58f | ||
87602d886f | |||
![]() |
98990f6ba4 | ||
b52b5e15af | |||
9ca78c9bcc | |||
eddddceb8e | |||
716638458d | |||
d8f9baa063 | |||
342ef4e678 | |||
81b7dbc0a7 | |||
57d1db27c7 | |||
5b6ee80351 | |||
deed16e4b6 | |||
ab6afef863 | |||
17f03611ac | |||
9c2c697011 | |||
b22abd112d | |||
60741cfe18 | |||
b83a8d6fc4 | |||
f651548c2e | |||
75370684fa | |||
b523911e86 | |||
4cc8123377 | |||
2188175891 | |||
d49b148459 | |||
185e1d5395 | |||
ae049a6c6a | |||
aa72e3abf9 | |||
28bdf669a9 | |||
d7d140ec7f | |||
9a4844cfdb | |||
d1c0d77e18 | |||
![]() |
b2d850efc0 | ||
e28d2e5184 | |||
7ded7610ce | |||
47fea20dc8 | |||
d602af73d3 | |||
aff5e18adb | |||
ff1174e52c | |||
a6fbd4c9c8 | |||
b7117b5728 | |||
f7d98d3582 | |||
635754a876 | |||
5ee1c7f695 | |||
0cb53d4740 | |||
91877e71df | |||
7a809a7504 | |||
4d790516fb | |||
917d7a6cea | |||
29d40872c3 | |||
2beed7cbf7 | |||
ecb4861a78 | |||
b13e9f8147 | |||
03f4d20bcf | |||
![]() |
99cb6dbe65 | ||
1d63db2044 | |||
1960b8a361 | |||
713ad9d971 | |||
d8abef6d7c | |||
f90a716e68 | |||
7a2cd6f14b | |||
42cbeca9ec | |||
![]() |
8e08d80e52 | ||
f33ed9b0b4 | |||
481315be8b | |||
b7cd5ffe84 | |||
d44f323df5 | |||
71962eb62e | |||
2c88153ba6 | |||
d4de4ae278 | |||
a41c86bdce | |||
1de1dc4fe4 | |||
38456d3e82 | |||
31d3f034ab | |||
4612ca3ede | |||
f4b020eec3 | |||
f5237f7704 | |||
07237c9b7f | |||
1429fc674d | |||
21485e94aa | |||
c4a850b7c2 | |||
e7e6b02ed9 | |||
713b4c10a6 | |||
134619fabb | |||
f28875a998 | |||
d4c547b7bd | |||
6a7e9f2b76 | |||
dc0a564c06 | |||
9ee7fc15af | |||
4d63dfca4c | |||
6121c28501 | |||
7163e159c5 | |||
ea77584d36 | |||
41b45d9159 | |||
ae98a033c8 | |||
79269e4237 | |||
36bf067ddc | |||
7f4c4011ce | |||
328da12598 | |||
2b094be949 | |||
02c77e4e5c | |||
070bf01d37 | |||
52186a39af | |||
e1d4c3bc36 | |||
040e98dfc9 | |||
d8a3f3595a | |||
a18ad3c3b6 | |||
66e70fe299 | |||
c62aa8c0e7 | |||
4469d44ea2 | |||
02036767f2 | |||
d30f334e9b | |||
405180192a | |||
098b43769e | |||
faed15c2be | |||
2ba8002b36 | |||
57e8e174ff | |||
c5aa7f2c6e | |||
cf87438414 | |||
ec07b2f496 | |||
da0f59f55a | |||
6d49335137 | |||
00e0034b13 | |||
391b4dfd37 | |||
cd833d8879 | |||
33edd753dc | |||
d07dab0d61 | |||
a54c1f1e77 | |||
7f5367eaae | |||
57fc9ef717 | |||
080732ae5c | |||
b7bcd0a87c | |||
0ddf5860f5 | |||
6c4ef6159c | |||
0cfd2d6f4b | |||
c57e4418bb | |||
980cebc459 | |||
157f836493 | |||
2845b232a7 | |||
657188c1a2 | |||
08048f7cce | |||
fed5e0ca04 | |||
e07b245fe1 | |||
cedf9f5cb7 | |||
9a9ecad65f | |||
afeddd42e6 | |||
3af52c6ec3 | |||
839fe335d2 | |||
1e58255c40 | |||
![]() |
b3ac6d1348 | ||
770605312f | |||
601a1a3fda | |||
21ef8c4d44 | |||
af835ee6f8 | |||
3ea67e08fe | |||
cec9dbc997 | |||
05274ca829 | |||
d66aa52528 | |||
b443e1b7d4 | |||
8ef0a9fdea | |||
4d06c1c25b | |||
44ac789a3a | |||
cdd980cd56 | |||
d366658d2d | |||
c1e6865ee3 | |||
67bd6bbcdd | |||
05283f8c96 | |||
7dfa1b18c1 | |||
7bc4a436a0 | |||
475bd6b829 | |||
a72eed7dd5 | |||
c05ef1459c | |||
d575b72c16 | |||
69e8de434f | |||
6278b48ea1 | |||
37e08e526c | |||
9f090bac5c | |||
1c7317a6da | |||
9c65ac7311 | |||
7d85b6431f | |||
2c60221080 | |||
20100009f6 | |||
7d1bb2edfd | |||
8da80e7771 | |||
2db4a5bb9f | |||
2580fa1602 | |||
6cab53eaaa | |||
b21a3e7702 | |||
a7bd835644 | |||
![]() |
b9f422c4be | ||
18e9626e41 | |||
4adc68bdf8 | |||
9c2715ffda | |||
7acc8a5a92 | |||
0372121e17 | |||
a66162e1f6 | |||
3afa2e94ba | |||
90f01d5048 | |||
c7144d780d | |||
64e242244d | |||
4f639b893b | |||
612757b524 | |||
a8d684d87f | |||
ef1187387b | |||
e78470d954 | |||
33017e9529 | |||
4464b99465 | |||
854461002c | |||
eac08d6562 | |||
c055fbf557 | |||
24da365d1c | |||
4f1aa83683 | |||
65ab18bc59 | |||
2972b185a5 | |||
45e46267a8 | |||
fd0cb58122 | |||
133bf05b18 | |||
84e40ee846 | |||
6830307b94 | |||
ad01bab6c3 | |||
15081cf6df | |||
7951ec2641 | |||
ea75701529 | |||
a1b1f2acd4 | |||
94c514cf34 | |||
![]() |
af876b12f1 | ||
5f3990d69a | |||
fbae4c5ba3 | |||
2000c3ed7a | |||
0a7dd1ec49 | |||
a4df7f78a8 | |||
61f0941321 | |||
b0f207db15 | |||
5559edf3c7 | |||
995611640e | |||
4119e9c60b | |||
4fd005fefb | |||
6842958c9b | |||
b6592c83b5 | |||
8f289196cf | |||
7c782b8f27 | |||
536055e1ee | |||
3d7ac7feba | |||
b1037aa88f | |||
3c858246cd | |||
f346fd3212 | |||
7300e8a9fe | |||
fc1ea38c63 | |||
![]() |
bb1e794d58 | ||
![]() |
0da05720de | ||
![]() |
54eb701978 | ||
490c32c425 | |||
f9744e1153 | |||
f45d7e3fee | |||
e55a870430 | |||
25898b9799 | |||
13abd3784a | |||
d0d16eb7d3 | |||
![]() |
8a94903c09 | ||
0edf3f5680 | |||
c13ad410a6 | |||
576ecbd694 | |||
dea1c1b9eb | |||
a2de3d86de | |||
066b0248df | |||
05b94c9c54 | |||
8d8414cd21 | |||
f418eddf8e | |||
e54a206e15 | |||
78887318e2 | |||
53106934f9 | |||
2b95f2439e | |||
4ab85a3380 | |||
5d14463e1a | |||
c5f4d5e448 | |||
1f2b1d520f | |||
ebe0d7ca5e | |||
62f6255b47 | |||
fd10ac9aca | |||
a8441fc900 | |||
be5c9d45bd | |||
be00902082 | |||
246d59ff0f | |||
47ae0affc8 | |||
69b6c89842 | |||
ed32afd962 | |||
4542b50afc | |||
0de591ac39 | |||
1625b7c37c | |||
c2bf0c1d54 | |||
e8d3996e67 | |||
b0b6fb8a93 | |||
a8e89db291 | |||
9b56b2b2b9 | |||
d4ffd1d91f | |||
c1e4b369b0 | |||
001629a362 | |||
d2aa4ada50 | |||
d428cca124 | |||
9667f89e82 | |||
af0a042da7 | |||
826f6dd9ee | |||
d712f1f83a | |||
d0ff3434cf | |||
54e1b63567 | |||
ed4f33a7bd | |||
8f5a4a4da3 | |||
7d98dfd6bb | |||
0fbcb824d0 | |||
c03b6f6f0b | |||
40f2c92460 | |||
2467f4df79 | |||
4571ea1bdd | |||
53de2c3e4f | |||
5e04548500 | |||
869472b3f0 | |||
3b47f335c6 | |||
1fce2ea743 | |||
694c0547c2 | |||
6524aaf685 | |||
5afba30c69 | |||
1c84cd8198 | |||
a0652430d0 | |||
35ecfefaec | |||
8f51f60948 | |||
3a0af215b9 | |||
614621747e | |||
68cfce1519 | |||
8dedbb1747 | |||
6c0ddf1110 | |||
b900a5e452 | |||
6489f5a8ec | |||
83d9ba341e | |||
b785feb3d7 | |||
e812512e1d | |||
5491c045af | |||
101ec2f3b8 | |||
c3accabef9 | |||
c632396733 | |||
5c19f23635 | |||
1fb95a08f9 | |||
07c55e2543 | |||
2c34d44d28 | |||
e9d8259d13 | |||
c4cbb499d5 | |||
f6f4ab3ebf | |||
a68bd94d11 | |||
f7753bf97f | |||
a7e3bbabd2 | |||
6f8d5eaa28 | |||
d17b371a83 | |||
c3d8fa1301 | |||
726585cb37 | |||
821316b034 | |||
6c05aa60c4 | |||
22cf2572d9 | |||
0dfe30502a | |||
f9649e2bf1 | |||
f5b540593c | |||
de168b4115 | |||
878cd0e124 | |||
cdc399a055 | |||
45f8d1783b | |||
cf5147f69f | |||
138b0c970e | |||
0fe3e38b57 | |||
07ed64aae6 | |||
f148bd3795 | |||
6485d8b78a | |||
fdea3dd7e7 | |||
d19277c72f | |||
650f9cfe93 | |||
abdd4117b1 | |||
40e9dc638b | |||
06e3df4ce4 | |||
5cae44ef6d | |||
912ac457a6 | |||
9000ec3013 | |||
6a1056c6a8 | |||
28f7c80c46 | |||
6c9bebd827 | |||
a0fe22095e | |||
8d5ae15040 | |||
a47a975a55 | |||
6c9a882340 | |||
e5052e8bde | |||
9aeb475e99 | |||
c69a047b90 | |||
![]() |
aa09a46fd7 | ||
dfe22c2900 | |||
470f17f21c | |||
bc83fc9c04 | |||
b2cc2dda9c | |||
aba78caa11 | |||
8eeae02cb0 | |||
c7991bcefc | |||
3542c5eb72 | |||
21f811cb6d | |||
1998154ff4 | |||
0faeca806c | |||
4c7c8efd0b | |||
909d497107 | |||
39555526ae | |||
f7374737ef | |||
d882ec322a | |||
13e3a1c532 | |||
8845b27dce | |||
bc3aab3fa5 | |||
93e193399d | |||
38f4b95635 | |||
29e9506a7f | |||
3059353b38 | |||
0e52b91f97 | |||
805c52b1fd | |||
b08e18ff36 | |||
2d6ad88466 | |||
23919d2275 | |||
6505dd1985 | |||
ec14bee20d | |||
2de0cc5adc | |||
b4993a9032 | |||
f4ee9643ad | |||
![]() |
ad23b1e91d | ||
a93ed3bcb7 | |||
9528fa2c46 | |||
6f598ecc1a | |||
81d29a9f61 | |||
5fed9ac9b5 | |||
1c86912068 | |||
06a2ae281b | |||
c73d6162be | |||
49a29c9c76 | |||
7229f9a99e | |||
20da3ae1c5 | |||
a81b558d48 | |||
a02da85b55 | |||
55a2682348 | |||
18cc24ded7 | |||
b3f7eb4a07 | |||
9618bd9202 | |||
be7c51d076 | |||
749181ff4d | |||
e9c9e1c2c7 | |||
f0e8965090 | |||
ce82e9e64a | |||
c334020d8f | |||
838d452843 | |||
584f112548 | |||
3135791395 | |||
![]() |
7865185d98 | ||
665bf41f3c | |||
d1da2f0b9e | |||
7ff0f896e8 | |||
8dbbac43bb | |||
dcb45992bf | |||
aa2544793d | |||
b78f2675d7 | |||
915866f0d9 | |||
9f7bea6e83 | |||
e7acf17b74 | |||
8759813abd | |||
2b2d3c14fe | |||
8d53e59e32 | |||
1b01d10998 | |||
67593a41dd | |||
25e774422c | |||
bc71074d0a | |||
0247ee5f53 | |||
80446f237b | |||
eb4e3bbe68 | |||
5f5ec7b0ed | |||
005bba2a81 | |||
0e7871f9c3 | |||
0e6c56760c | |||
2a96e8be39 | |||
9d3b1d361d | |||
23bb42a06e | |||
b293517d7b | |||
30bfa991f8 | |||
9776b8a05e | |||
![]() |
28f667c7c4 | ||
7e72b74713 | |||
44a386b88c | |||
65aaa13a00 | |||
![]() |
35cbf3b5dc | ||
b5a46211f4 | |||
251234ad43 | |||
d290bdd42a | |||
a331d79900 | |||
76c1a91cfa | |||
6c4a7e0ac3 | |||
c1c97c3d4a | |||
2816b22b38 | |||
f12a66817d | |||
1760b8c59f | |||
d7f05fd445 | |||
5cc7e2ae16 | |||
![]() |
a39a6517af | ||
a0a59972e7 | |||
3cd147b49f | |||
f787b7f1ca | |||
aa369d9e4f | |||
f4636b0965 | |||
c45e1ef21b | |||
d9f542bbb0 | |||
94fb309372 | |||
dec9349a75 | |||
1f1520a045 | |||
89d49ae218 | |||
221a7002a9 | |||
bfdcb6bed6 | |||
1c62ba80b1 | |||
101f00e696 | |||
a444c7e0e2 | |||
d809a0260e | |||
fda754145a | |||
62103e7d42 | |||
746684519b | |||
f96a689b3b | |||
![]() |
8fd9516a71 | ||
110c148773 | |||
3aef74bc1f | |||
6fa3e4151e | |||
e8a6759c1d | |||
0fe8239470 | |||
a6c14faa06 | |||
76b3aac802 | |||
59d7fbb052 | |||
156319d2b3 | |||
842e817bf7 | |||
c3994aa443 | |||
f2acfb460f | |||
b7d603b41c | |||
cad1ddc1e8 | |||
2fc8daff10 | |||
1a2bca63ef | |||
a2f075b996 | |||
75ded99ff9 | |||
54ac90625f | |||
23c52d9584 | |||
e491573060 | |||
1f232e9ae9 | |||
f915549ee7 | |||
4ffa5e5703 | |||
398d0bf57e | |||
7fc60bff14 | |||
219049bb3b | |||
20614d331d | |||
460318257c | |||
6adb254bb0 | |||
d923fb784f | |||
74fcb531de | |||
27941b027b | |||
795a874d0b | |||
c565d0764f | |||
a250be980a | |||
96825403a6 | |||
95a018aa32 | |||
c87dd76937 | |||
330300659c | |||
493c623b13 | |||
adc6659de5 | |||
40d90456ea | |||
f8ca1da138 | |||
1b7ceb0aff | |||
53ff71725a | |||
b6279b7415 | |||
bd5f7f7429 | |||
e77821eeca | |||
774b61189c | |||
841b0c2bf5 | |||
42224bf623 | |||
03faffa10b | |||
f1f68b3f9a | |||
84eb739a0e | |||
19c7ef3067 | |||
cbd6c5735d | |||
0f0436c15e | |||
ab93e568eb | |||
0733bd0d64 | |||
55a385620e | |||
e46f4a7e45 | |||
ac943796d4 | |||
27e39cc533 | |||
87ef42419d | |||
66eee8ca6e | |||
187c65becb | |||
bc252b3b1a | |||
bdeb0c310b | |||
6b44e0e71a | |||
86309bd7f8 | |||
04111faf67 | |||
38031a4a24 | |||
d83b93c1e1 | |||
df7407e451 | |||
![]() |
1d4411d1fd | ||
16a350cd49 | |||
a22a7f78a4 | |||
47b85fb664 | |||
e7fcfe7d64 | |||
6fe7bb5754 | |||
5ede1bea5e | |||
cc24695be7 | |||
ce8808ec07 | |||
b36e8b0d55 | |||
352b72791a | |||
c9feac0afb | |||
77a8f89a50 | |||
![]() |
2909c0e56f | ||
![]() |
02caa87e52 | ||
4bbfa924ad | |||
7f9131bcc5 | |||
4566f08679 | |||
25f854552e | |||
c392903942 | |||
01ef0eba9a | |||
3679a1f601 | |||
f8b6a2faad | |||
062d7c8e96 | |||
b05dadea6b | |||
b39e9bfca0 | |||
7a9aa8ad27 | |||
b2a4eb75ab | |||
202bdf1e99 | |||
57cbedf602 | |||
759da271df | |||
1e7e94588d | |||
00b45c3dce | |||
0af8fcee76 | |||
0dc1873477 | |||
17db2e69e9 | |||
93f8363516 | |||
9ced07fa76 | |||
c3475ebe61 | |||
e654a7d67f | |||
d191723756 | |||
c9fd25b070 | |||
1ac55cad30 | |||
966431c2dc | |||
5588497639 | |||
fbe9ee62cd | |||
3e43c5f2cc | |||
5b14027f54 | |||
8383fc55d5 | |||
9029690a5d | |||
b374fcc98f | |||
8cb10c124e | |||
67ddf68dd9 | |||
e9bf624a49 | |||
db600fd639 | |||
2a68b41b7d | |||
e22e766cf8 | |||
81bb2a143c | |||
dac6091207 | |||
0438944b34 | |||
e3d575b376 | |||
d34c5eec19 | |||
![]() |
79a58eef05 | ||
a1420da027 | |||
a9dd6d004b | |||
816597d6da | |||
8a506b9660 | |||
dcb443416e | |||
7ef2dd8424 | |||
675d42dfc3 | |||
737a4309e8 | |||
cdd406f4bd | |||
13876d50ce | |||
3ea4d3dc07 | |||
70a6c737ec | |||
3468434b6b | |||
90d3fe1e4d | |||
ec263547b5 | |||
![]() |
5d9d246851 | ||
![]() |
502b8e0f08 | ||
a703bbb4d7 | |||
ef19cd395f | |||
0301aff285 | |||
e322f7a3a2 | |||
002752f021 | |||
1685f5824d | |||
bc0ed16537 | |||
d409ce1593 | |||
32cd853294 | |||
f0221ff667 | |||
e0d7b6c78d | |||
e08ac50a5c | |||
482334aa98 | |||
851baa40a1 | |||
03a931a876 | |||
7447c2ecaf | |||
d91078bb6e | |||
ed8184cff0 | |||
3b0d86d8b1 | |||
e9a3a1afd1 | |||
f49ffd7f1c | |||
11a6d840da | |||
![]() |
eb46b55e56 | ||
4dc534aa04 | |||
f250b1f5a0 | |||
ec574b5b09 | |||
b79a5bdd5a | |||
8f86da71fe | |||
fe513a5b61 | |||
7af84255c7 | |||
915fd3d088 | |||
debd8aab4a | |||
338232c294 | |||
f83ccbc673 | |||
549b854187 | |||
7d1c7a6485 | |||
![]() |
5fb4ff7711 | ||
![]() |
69a2af7e84 | ||
![]() |
b9ec9afce1 | ||
7de86ad61f | |||
0f6044610f | |||
d9db8f8b7c | |||
e21fdfc8e4 | |||
d6de81eed6 | |||
![]() |
54736d5058 | ||
![]() |
9ca1b721b4 | ||
8fcbbcf2e6 | |||
6547d9d3e2 | |||
![]() |
c1edbe7917 | ||
![]() |
bdf260a1b8 | ||
![]() |
04828b7d99 | ||
69419b5f00 | |||
ad3bcee081 | |||
![]() |
51e73e9956 | ||
530008df1d | |||
e17bee5b7f | |||
44b9f6a888 | |||
5e05db3419 | |||
0d4eefd231 | |||
1bb241437c | |||
92113e2da7 | |||
af91bbc221 | |||
e74535df08 | |||
5eac872627 | |||
adad62e8d6 | |||
1035184c15 | |||
f3a2f735a2 | |||
04f006ea9e | |||
47f46637be | |||
7dd8c889f1 | |||
f881ff129f | |||
f12589d335 | |||
bb9a282c7e | |||
21c658b718 | |||
bf49bb354f | |||
7fbd9b67af | |||
e90d8422d0 | |||
65f674b570 | |||
dc66fa5c9c | |||
d4ead6e639 | |||
00466e756e | |||
7bfb7450a2 | |||
de47bf69da | |||
b800a05c55 | |||
![]() |
50dd876fbf | ||
2ed2dd7b13 | |||
![]() |
cc9bee9162 | ||
![]() |
35b1cc806f | ||
b07e8a24f5 | |||
6e272b9ba4 | |||
![]() |
47084bac9f | ||
e6d9d5dcc1 | |||
571646ebc1 | |||
3bef5d15d8 | |||
0fa7e1efbe | |||
b2c2d7b7f1 | |||
9e0b44aae9 | |||
5f059c8751 | |||
9ce83acba4 | |||
a284ac3213 | |||
c128c65345 | |||
ad317a5ffd | |||
![]() |
5cf7283342 | ||
c19f37764d | |||
2e75172c45 | |||
2ec6eca518 | |||
e63d5f40ee | |||
71a333f56e | |||
68ba6378b5 | |||
c456671b53 | |||
0c9e47705d | |||
bbf1c83370 | |||
5081556bb5 | |||
5cabf1301a | |||
![]() |
77ca5ab6b0 | ||
5b79e0b80e | |||
e2003d9212 | |||
f16fcb5bd5 | |||
cdb0449e91 | |||
7fb4010137 | |||
513de8eaf6 | |||
db06fd9a01 | |||
2c19926cc2 | |||
01900f5e6c | |||
7714746e5c | |||
ce54157417 | |||
d20886e98d | |||
0a747cd4e3 | |||
aeb42cf8ab | |||
ddfec08514 | |||
85de07e64c | |||
5cc7036aa3 | |||
dfc62af147 | |||
a8036cc2a1 | |||
b0350d8310 | |||
ac01b80221 | |||
191a565600 | |||
1651a5e52c | |||
24dfb057bd | |||
2fecab55f9 | |||
a8d139ca20 | |||
50154a52cb | |||
e60ad2867a | |||
4f5c607622 | |||
![]() |
4f9a56cbc4 | ||
31690ad463 | |||
d6cefef98f | |||
0f95127d1a | |||
5bf61c9d74 | |||
26b9436975 | |||
61dafc1afb | |||
6fb4816956 | |||
d216a0b505 | |||
0c927243d0 | |||
475d7d073a | |||
ab8e7ffc64 | |||
5e0b359ac5 | |||
9a7f5f1bb4 | |||
9c5b054206 | |||
0b86943641 | |||
03dda57678 | |||
da48a8ef50 | |||
d3cda49d14 | |||
337a7ed292 | |||
3b0f241e72 | |||
5a33f291f4 | |||
9d1c9e86c4 | |||
fc4d2d1e16 | |||
f8347075d0 | |||
![]() |
1a3928f33c | ||
5ebbd8f672 | |||
184dbb396d | |||
d85e2beb67 | |||
d7273f087d | |||
![]() |
054950def9 | ||
![]() |
f3433fcd3b | ||
07bb7206c2 | |||
fb58cc8dc9 | |||
78f56d5582 | |||
![]() |
862ec82942 | ||
824f80a5d7 | |||
e4043bb908 | |||
bf68e1a547 | |||
40dbb7fc31 | |||
1974b5b903 | |||
c5500b6af8 | |||
27717c5d0a | |||
464752876f | |||
a7df9d6cdd | |||
98abcfdb9d | |||
bbeb31f4ce | |||
a6d8f6c0f3 | |||
a8bd385a5d | |||
17da3b5d82 | |||
80255e67e3 | |||
36746474fd | |||
b5e277ed05 | |||
ee5cec4a50 | |||
bd59781c66 | |||
820350ac80 | |||
18f1d80a6c | |||
4884d9cd52 | |||
beeb650940 | |||
0dcc4fd780 | |||
6c655d6a50 | |||
014a575129 | |||
7cca282052 | |||
1e889f2705 | |||
1239cab11f | |||
74fa8787d8 | |||
45b6f746a3 | |||
c13aa95eda | |||
cc53c9e476 | |||
8360bfb75c | |||
dd723f5f89 | |||
8d2128009d | |||
f405934fe3 | |||
bcf9daf155 | |||
cdfd743c93 | |||
d41d4d0593 | |||
2692ec06d1 | |||
4a6f715421 | |||
105b0b7f6a | |||
2328599e97 | |||
babb028b84 | |||
1f669db7ae | |||
5071288adb | |||
53a3e88175 | |||
f2792cff11 | |||
b0f229dd27 | |||
020d1e23ae | |||
63db01cd58 | |||
2bae660703 | |||
88ff68f011 | |||
34b28850bf | |||
91d7f5d246 | |||
fd487b1f4e | |||
ff2c67d7e8 | |||
c2cb87f897 | |||
a1ddb63329 | |||
7cafdc57e0 | |||
ea5a2efb57 | |||
![]() |
ea3e0b3e8c | ||
![]() |
d571d615a5 | ||
![]() |
3d8c57f4da | ||
![]() |
4e4bf241c8 | ||
c43473e884 | |||
![]() |
d478cc71dd | ||
a3c1605581 | |||
57468ae37e | |||
b0d565e5b6 | |||
35861a49ee | |||
bd45ec0b06 | |||
1c58311440 | |||
056ebb56b1 | |||
1ec2f8d1f2 | |||
161c13e12b | |||
1ee3def5d3 | |||
9d0f452076 | |||
a2243f1b51 | |||
5fc13d1112 | |||
968619d036 | |||
53981c7fb6 | |||
7b4b07a7dd | |||
274481620b | |||
98c289f5d8 | |||
6b58571813 | |||
a5184a82cb | |||
c5ed2eb95e | |||
e21fc05b35 | |||
02598e629e | |||
3a5c16f1c9 | |||
1de5cb6a31 | |||
3a65397473 | |||
5e0465e4ec | |||
4a83832120 | |||
ea78f9922e | |||
5892622d68 | |||
ee43cf5722 | |||
6feeede47f | |||
58e20b432a | |||
aaaa0a43af | |||
e953ada0bb | |||
c786f95871 | |||
7bc99fdb32 | |||
826e4ba99c | |||
d2a07c7b78 | |||
44e5f7a8cf | |||
c75aaf5329 | |||
624b231ec4 | |||
0aac74f18f | |||
c4def7992b | |||
9fca9b9953 | |||
49deda4ca2 | |||
cdbb61704d | |||
ffe599b4bd | |||
284d28acbc | |||
17193f6c76 | |||
a1eb5ec81c | |||
7c4391e6aa | |||
d14e768069 | |||
d54757e389 | |||
4e7c65035b | |||
e9b4d2ca68 | |||
10f0e003a9 | |||
e05552f7c4 | |||
29b87b5615 | |||
21a313eec2 | |||
50c747d234 | |||
71a52bbe2a | |||
60d873bd22 | |||
71b1ee940b | |||
![]() |
c544df997e | ||
![]() |
95f51bb01d | ||
3d439aa29b | |||
5dde5dd44e | |||
7e93d4eea3 | |||
2903fb6929 | |||
9ddbb03861 | |||
ded7af53b4 | |||
c03e5e7830 | |||
4e8532c145 | |||
cc0819aee1 | |||
ccaf6c7404 | |||
5d3c7d1218 | |||
f9c05f3fc0 | |||
2fc30978bc | |||
2a2d0d463a | |||
480ff89bf7 | |||
999134b7ca | |||
f1bf7bfa1b | |||
6526c3ced8 | |||
27a40b880e | |||
191ddaf577 | |||
92541ba2ad | |||
240fb4d8d1 | |||
0ca5b7b69b | |||
d0d20de183 | |||
0e7599bc15 | |||
0d0036cb53 | |||
43cc2f3195 | |||
e7458db4b4 | |||
172ac7896b | |||
9d4300b0c6 | |||
bae1c243ce | |||
aed38c2207 | |||
d9787141da | |||
3bd124d78e | |||
b47e8c1b94 | |||
e19f83294a | |||
29344fca44 | |||
fb22ae2387 | |||
23199693f9 | |||
2dc5d82ba8 | |||
f1573731bc | |||
19352bca16 | |||
7df787b2c1 | |||
3e8a818419 | |||
9fe0505db0 | |||
93806ba82b | |||
d37df1a39d | |||
adb989768d | |||
fa9e1a5873 | |||
f60d614c5f | |||
42a030ccac | |||
c0f481c7f2 | |||
2814a1316f | |||
25f72d1d17 | |||
505a19ed75 | |||
e455536943 | |||
a702b095a1 | |||
c4672ff3a8 | |||
fe98d8c0ea | |||
6fa904765a | |||
fce2c12ca6 | |||
b5233a4f74 | |||
4d5a9b7755 | |||
7c0e285948 | |||
cd9a64b9c0 | |||
3d9af1de8d | |||
c0d187d434 | |||
d0ba75544a | |||
94f986edd4 | |||
ecfae8a55b | |||
17931f3b51 | |||
f2f30db98d | |||
d38023f2f3 | |||
82774a9d24 | |||
d138cbfb47 | |||
b0c1184875 | |||
200cc531bd | |||
cfc8d73546 | |||
63922c5056 | |||
70b061b4fd | |||
bfdc42d990 | |||
d1011c9e64 | |||
3208454aa8 | |||
33ab613655 | |||
49289f31ff | |||
d8b0b8d3db | |||
ad85989a3f | |||
cff49e625f | |||
905c0269f3 | |||
![]() |
1a69384e76 | ||
80513d8574 | |||
82a8da0ec3 | |||
10c2254d41 | |||
7ec59cc7b7 | |||
b5253159b6 | |||
736f9f5a69 | |||
cecb25273e | |||
fe7ea8a24c | |||
a2a70cfc41 | |||
9aad06db88 | |||
973e1f9d9a | |||
05dcb007e1 | |||
600a627f6e | |||
04fe37f931 | |||
71e543c68b | |||
b18608f3e9 | |||
09071e2799 | |||
eae40c6c76 | |||
d52326bab3 | |||
c154f265de | |||
6f4dbb661f | |||
4ac54cf6b0 | |||
3221187dd5 | |||
c4ba0d1508 | |||
f4d70b686d | |||
2c5795618b | |||
0b75c41afe | |||
5699058e54 | |||
75f6e6b39e | |||
6eb409bb9c | |||
12628e0794 | |||
![]() |
b8d9b5e331 | ||
8b073594d9 | |||
34465a7fb0 | |||
868d4526a8 | |||
343a874831 | |||
9672605938 | |||
5159ba6b33 | |||
2aa938b0ae | |||
932f974532 | |||
1f745e2c72 | |||
e276558a50 | |||
b75a7c2f8f | |||
e6c732e0cb | |||
7c88968c89 | |||
3dad6294da | |||
f868d51bdd | |||
009dde69cd | |||
6cc4c68dad | |||
43f748a32f | |||
b26bebd59f | |||
88362565f6 | |||
f5e4f20dc1 | |||
fa8a3c8f26 | |||
7bffdab93c | |||
53d029d6da | |||
782e6ea4ed | |||
1c3ded12f4 | |||
06cb321f33 | |||
3ebebe62d7 | |||
8709a46e96 | |||
270b3d1a04 | |||
a9963669f9 | |||
6e7873e54a | |||
c4374bc919 | |||
25b2b6724d | |||
f047d47e24 | |||
5e176d67e1 | |||
d66519f197 | |||
d31f79a9bc | |||
1f065df03e | |||
ec351c7a65 | |||
e0dc4130fd | |||
358f8b484f | |||
e24553ca0f | |||
8d63135da3 | |||
254748c3e7 | |||
4f509db181 | |||
33a622cbf4 | |||
e790aa1f19 | |||
27b9f1f626 | |||
ee0d91df5d | |||
9532ce4605 | |||
80280acc93 | |||
ca0dcd830c | |||
186ac84210 | |||
60ff3a7daf | |||
f8c4f5e308 | |||
029a714fc7 | |||
59e001cbf6 | |||
![]() |
2ad0ae8dad | ||
7952274cf0 | |||
60d3a801db | |||
29eb891658 | |||
9bcc83a5d6 | |||
8d116e9956 | |||
b157abebe5 | |||
b7868c0b89 | |||
6a1f0c1eaa | |||
2d39e46f84 | |||
9b0d72aa3d | |||
18fc4155fd | |||
bcd3c3cb57 | |||
91604279c9 | |||
f9f0f44be8 | |||
e819f67500 | |||
74b5e5f6e1 | |||
da3cb514e5 | |||
042fab271f | |||
0062813c73 | |||
2d20d11b01 | |||
249c5663d8 | |||
5b88ab25bd | |||
6c036a65c9 | |||
38685b5a39 | |||
1c1a14dcdf | |||
f149d5e4b2 | |||
afe707cc3a | |||
b0bd9b4c70 | |||
39684e4554 | |||
17a409e223 | |||
b74e388617 | |||
155f917403 | |||
d8217ec6d0 | |||
039d619c76 | |||
24f8c8491d | |||
c1722a3a8c | |||
61f9bbbdea | |||
07add4b485 | |||
0f5c94bbd1 | |||
bdabb02ee6 | |||
b555b8dedc | |||
899bfdc412 | |||
520b7b2887 | |||
bd307afbbe | |||
2374237762 | |||
b5ec14af68 | |||
22677d8e1d | |||
f4982b555c | |||
2e60226f23 | |||
91b334b2f2 | |||
248873603f | |||
4c40468856 | |||
2c9e27f209 | |||
100896e080 | |||
6428da84ed | |||
af1e3b0270 | |||
9371c051b1 | |||
6f15bc3b52 | |||
1280f3c0ae | |||
a2d19c1f78 | |||
57d8bde088 | |||
a6a9a12e8f | |||
ef7229d69a | |||
cf258b02f4 | |||
d6e0d27816 | |||
3351a2655d | |||
513885a991 | |||
15cb567c8e | |||
6462ea2a8d | |||
7b347b225a | |||
ec3da20896 | |||
9ccaf9899e | |||
e252d2c990 | |||
6b24f7d87c | |||
086bfffe74 | |||
6c48a36962 | |||
a103d09df4 | |||
7d59f84708 | |||
b023c91118 | |||
bf3b0db785 | |||
0b57ecc665 | |||
a022cb8f62 | |||
bd74f5f7ab | |||
![]() |
5b8b6b4c1e | ||
![]() |
d8e2cc9f4d | ||
![]() |
a3d5b949d2 | ||
c6143da27c | |||
![]() |
fc37318fe7 | ||
![]() |
e8dd6128b5 | ||
b9faf53182 | |||
424fed3cc7 | |||
aec9e0e1b6 | |||
d5163e06c3 | |||
ac02c702e5 | |||
a24f52c51c | |||
a882debee0 | |||
7dbf7255c2 | |||
bdec24b40d | |||
f0e7dba4ff | |||
802be17ce7 | |||
4f4f08cee4 | |||
51ea1eea48 | |||
68c96b8bb2 | |||
a8bb0af673 | |||
10bd3fb4cb | |||
79b391f3a0 | |||
![]() |
e0030d53bc | ||
1f949121cd | |||
90aa771b30 | |||
d85026db15 | |||
a7110618ff | |||
![]() |
0c0170f77a | ||
9120191fe2 | |||
4c0cca78eb | |||
015c084bda | |||
7eacda5a2b | |||
0db055338a | |||
671d811323 | |||
![]() |
0a02c288aa | ||
![]() |
2632ba6703 | ||
31bd8e6bf3 | |||
7fd71c1694 | |||
70f56167d0 | |||
8a62fa9855 | |||
25e8550739 | |||
5ce41e6f57 | |||
![]() |
6e505a45a1 | ||
1bb7d42cf6 | |||
da91329291 | |||
b498edb189 | |||
e7af825ded | |||
![]() |
bd86edf116 | ||
![]() |
ba1f7acc3f | ||
3441862c96 | |||
96b3463e25 | |||
ff62481f65 | |||
d0b0a0a894 | |||
6eb1004d50 | |||
3b59c11182 | |||
95247b4b14 | |||
03ac301102 | |||
e1ee4dff8d | |||
c8b85d32c5 | |||
ed86f3edb6 | |||
5c74b0964b | |||
2f149ebbe9 | |||
![]() |
f1fb3eb975 | ||
![]() |
d663c9d8da | ||
![]() |
fcd6fac0a7 | ||
![]() |
02518be634 | ||
5cf6689019 | |||
b7666f27d3 | |||
![]() |
a921a4daad | ||
56e0249489 | |||
afb1a64ccb | |||
![]() |
d1972e50cb | ||
839f0cfa41 | |||
86c61ce64f | |||
58ea0d93f1 | |||
48ea173a7d | |||
99530ef4ed | |||
![]() |
a218be3080 | ||
a0437c3f73 | |||
f5ac118fb3 | |||
e000dcb849 | |||
458f50ba73 | |||
83947ea253 | |||
c286fa309e | |||
32bb848838 | |||
c32cf06e42 | |||
4ff3d5aded | |||
![]() |
7ed3ebbc6e | ||
![]() |
2e8fb95e7c | ||
0545a84729 | |||
![]() |
1ca1744c29 | ||
1b1c683f74 | |||
622e1591da | |||
a093112696 | |||
bd2b1a67a7 | |||
08b9b95147 | |||
90e8f94558 | |||
671b6d41c4 | |||
ef2bde11d2 | |||
a22471f1d1 | |||
f9590c8eaa | |||
c547d431eb | |||
e8dd96516c | |||
03b2fc1a61 | |||
fd262d3196 | |||
09b8cdb25e | |||
b2f04fce2d | |||
bae9553848 | |||
![]() |
eca52402bc | ||
b2b6099666 | |||
e990e55eba | |||
a9394aa48e | |||
38b211b581 | |||
0a34e5b300 | |||
33da997193 | |||
52cff88f72 | |||
a8e749f624 | |||
ffd26b420c | |||
7354f07ead | |||
ba8d819c9b | |||
366cb3a059 | |||
99e693d126 | |||
d554cf8dd9 | |||
6681a33a6f | |||
acd84ab105 | |||
d751491489 | |||
59aaba739d | |||
68e341e9d5 | |||
9070999c21 | |||
f48d15a861 | |||
e5f7b31dd4 | |||
04ab677761 | |||
035a3760af | |||
b4c05a9c89 | |||
567212c343 | |||
1587eb16d8 | |||
4c57f07a0f | |||
2bc791437e | |||
c3764fe1e8 | |||
188ccfb0dd | |||
e1c7549ac9 | |||
8e8fdf875d | |||
![]() |
27f29cdfba | ||
394a1373a0 | |||
bb26c1359e | |||
![]() |
26ef4fa85e | ||
f3ea8cd608 | |||
5801a016d4 | |||
2bec6f1f06 | |||
f8a4fb43fb | |||
266d243d8d | |||
d5c177bc90 | |||
a40f2c30ff | |||
7ac5c5b08c | |||
d626ced6f1 | |||
28c3d952db | |||
b67b414a85 | |||
b759857825 | |||
![]() |
88adfc7e54 | ||
28827b62f7 | |||
02f7a6b2bd | |||
ed44bb902d | |||
a6dd22d431 | |||
579447bd89 | |||
![]() |
6e4eb2be28 | ||
cd02495479 | |||
3d3a91103b | |||
![]() |
bb19d96bc5 | ||
15b0c76480 | |||
c46dcdf887 | |||
94b8166a8b | |||
d0d251b53b | |||
9c280630c9 | |||
cda81d5a4d | |||
e9629e3cfd | |||
1b5b6a5da8 | |||
765c82e92d | |||
b701af328a | |||
ed386507e1 | |||
58ac113b76 | |||
24b27ea231 | |||
![]() |
c95b522856 | ||
88a86c025c | |||
![]() |
241248223a | ||
![]() |
ee4645207f | ||
f9855800e0 | |||
7192a1bca3 | |||
0b116a84c9 | |||
6a5bd812b5 | |||
64982e213f | |||
bceb91ffd2 | |||
0710fb724b | |||
46c0da6e69 | |||
0c571db4ad | |||
95b6090afc | |||
ad7bb8e42c | |||
1e4f6b231c | |||
9e8afa8817 | |||
1e8dfe79c6 | |||
c589fdc8db | |||
44c6b6615b | |||
3033b2a044 | |||
ada28d3c65 | |||
c0544eedc6 | |||
0dbbb2eabf | |||
d924e31b42 | |||
a22cd6b6a9 | |||
9607e54985 | |||
3d9d132ccd | |||
a696053545 | |||
6777956005 | |||
db65a6e0fb | |||
0127e8522a | |||
36b55bee42 | |||
27553a2e4e | |||
d931aacef6 | |||
6cbf342cbb | |||
db4d264e70 | |||
3bab9b4868 | |||
b8574c7e56 | |||
86cc29d0cf | |||
![]() |
8ba9efb7d8 | ||
4fc45c7a2b | |||
cb560c01b6 | |||
85dc8d7477 | |||
35e3abb912 | |||
d2c3544c5c | |||
![]() |
45dbe0be69 | ||
![]() |
f974bf2cba | ||
a1322d7c95 | |||
![]() |
83f171b626 | ||
![]() |
c8b611b67f | ||
![]() |
da019efde9 | ||
817c38f715 | |||
4b74b35322 | |||
12b621059a | |||
0b7854323d | |||
e1b2ded7b2 | |||
3be7d74cba | |||
689606887f | |||
89b0465136 | |||
2be14e0ec4 | |||
2982c9ba0a | |||
9ace7e2439 | |||
42012493a8 | |||
91c1759956 | |||
cc516b82ef | |||
885caa4535 | |||
e793a47efb | |||
ccb731f2dd | |||
317a9cf835 | |||
6e39445f80 | |||
e839a25651 | |||
7e9575f7a1 | |||
b49dbb635a | |||
53674fb255 | |||
9dfc480ad1 | |||
ffb95baebe | |||
2d1cce8331 | |||
008aaaa378 | |||
![]() |
473316e246 | ||
![]() |
fd48ff1296 | ||
![]() |
fe045b2b77 | ||
d68d1da1f3 | |||
f4a60fd85c | |||
326ce2d625 | |||
07c4c86049 | |||
b62e1146e1 | |||
014e569258 | |||
ed4c47632f | |||
5bf09bbcdf | |||
f3e7c1e8c8 | |||
![]() |
f70241deba | ||
271231f58e | |||
348d2fa09e | |||
c8b4b4c0fa | |||
99be00fdb1 | |||
1935cd4027 | |||
a12ae67cf7 | |||
c102dfd43d | |||
6bfe7c7a02 | |||
9a116c7c2d | |||
ac74a843d2 | |||
1a502097c7 | |||
c9c08dc7c8 | |||
805c4ab6bc | |||
efb53f5181 | |||
b88ca3e6d1 | |||
9e382dd2a3 | |||
237ef0dcc7 | |||
7bde3f63dd | |||
19df67cd75 | |||
82fc81816e | |||
efdc93fcc6 | |||
52c0742560 | |||
d8897bed99 | |||
0af739ae8a | |||
e843d4e438 | |||
b81b127928 | |||
dd416681fb | |||
406026abba | |||
c3651adf89 | |||
7537cad576 | |||
![]() |
1162ba206d | ||
9d20f170c7 | |||
994eb1ec17 | |||
006025ead0 | |||
fd53b72871 | |||
b0a1cf2c9a | |||
8dcfd392e4 | |||
12720d8b9b | |||
35019443c0 | |||
084bf7daee | |||
82c51d0edb | |||
7ba403dc94 | |||
dc2df8307f | |||
406bfd4304 | |||
c9a8de1d70 | |||
3af51cacbf | |||
a7c660fe61 | |||
e09f0caff3 | |||
![]() |
ba3d49225c | ||
f1eb86c458 | |||
bf9c4af9bb | |||
07d5b8b023 | |||
6a0ddb4bb1 | |||
f958560a99 | |||
1504cb26b0 | |||
2518f60109 | |||
964375e36a | |||
![]() |
d374237d43 | ||
24e44143a1 | |||
628d799c85 | |||
c76d390c92 | |||
bf5151b2d2 | |||
a45c34ae8e | |||
17abae45f1 | |||
20456b52b4 | |||
b852db57ba | |||
![]() |
9ce3890950 | ||
8cb463f4ff | |||
3c1433b6f3 | |||
b2851dbe78 | |||
54c8770692 | |||
0b7841679e | |||
b02a25b7e1 | |||
055863d9c1 | |||
20d7c04305 | |||
7f3e84deb5 | |||
2ba3e6a02e | |||
90ce708ef0 | |||
b87997f59b | |||
ab430cfdfe | |||
67307e72ea | |||
47af235ba9 | |||
120a38ccbe | |||
e42f61dda8 | |||
bab0fd1308 | |||
e4077ea69d | |||
7941ea02f8 | |||
ba26adee0c | |||
f0856b1fda | |||
215e474a99 | |||
20f6700c88 | |||
d89e5fcaef | |||
37e7e1e77c | |||
a69c364746 | |||
5a664c6e98 | |||
35a29befb3 | |||
7df435325b | |||
01377fd229 | |||
868573451f | |||
f06a6e92bc | |||
![]() |
ac1dcdbf06 | ||
7a19a99675 | |||
cebff2ff30 | |||
7a7b392b54 | |||
22925d0dd3 | |||
8022fc3220 | |||
e53e17b8d6 | |||
b435bd2f31 | |||
59f5194265 | |||
b8feef59c8 | |||
5029b97d02 | |||
ecfb89280e | |||
37419bb3f6 | |||
4be4c06671 | |||
80edc0e972 | |||
aa60b9338a | |||
b037816980 | |||
4031d8bcb7 | |||
a210b8297f | |||
a816a067ed | |||
b7160f2f0a | |||
94bad2f30d | |||
cc53900baf | |||
428e65256e | |||
b8211a4d7c | |||
466171d0ef | |||
d50d410a70 | |||
bb89cc51ec | |||
f0b0524c5f | |||
117ccb56ad | |||
4b38eac4da | |||
60e3f690cb | |||
626b2bd071 | |||
acab745078 | |||
5260aaf3b1 | |||
7d56c425f8 | |||
dc99c3532a | |||
ebf3c87912 | |||
5ad16e6a11 | |||
4e26afe0ae | |||
110a35ef5a | |||
de30fda04e | |||
67704cb8aa | |||
6bcb6a0ea6 | |||
be76a37c91 | |||
5593efec01 | |||
93ac4709eb | |||
525bd62557 | |||
bc0a0cdf17 | |||
b0a1af4eb1 | |||
f36d98bb1d | |||
8622372256 | |||
48e0af52e6 | |||
4326d162ba | |||
![]() |
9075ec8269 | ||
db4298c6be | |||
cb19bb7f57 | |||
cf9b3310c0 | |||
91ca3c3c0b | |||
1ca582c651 | |||
3652870483 | |||
de9c7bae7b | |||
df032580c1 | |||
![]() |
54743dbf09 | ||
1f0b21e713 | |||
fa823f0af8 | |||
69eaa19340 | |||
b0271c6e40 | |||
53c03d4679 | |||
9dcd6ba3eb | |||
88fd2b1dd5 | |||
088b92b92c | |||
472534d16e | |||
2050baa139 | |||
c1290a1d1f | |||
649fdc7938 | |||
11e4827738 | |||
4669dfe2cc | |||
38ba022858 | |||
741888ce08 | |||
26bea849cf | |||
75be60a667 | |||
f130c5ddb6 | |||
5c427f4b17 | |||
63ee3db961 | |||
5929dd7129 | |||
85ea7dfc54 | |||
fe5933a972 | |||
37a07f812b | |||
16ed7aebf2 | |||
6c707aad6a | |||
4ba6a00afc | |||
8363e10ccc | |||
21f016f010 | |||
456595fd39 | |||
0c0895e3e6 | |||
d4d9ded09b | |||
![]() |
6ce709dceb | ||
1aebcdbb3a | |||
74855969e7 | |||
8751af6d19 | |||
27e0998a8a | |||
72461c09b4 | |||
372dcacbe4 | |||
e6d0a438ab | |||
6cf4861c3a | |||
d8aa613d94 | |||
ec3eeee46b | |||
5a169ae2f3 | |||
21821601f2 | |||
cbb854a98f | |||
33c6b269d1 | |||
12e64e5ec1 | |||
366d951b0c | |||
e9220d5cd0 | |||
![]() |
19b46b2fca | ||
200695dd89 | |||
a9c0ad53e2 | |||
a54e17e52d | |||
7dd0be9554 | |||
c476c36e40 | |||
f01bc597a8 | |||
9910803574 | |||
9ef7759bf0 | |||
e1698e3750 | |||
6a632f11c8 | |||
b198cef89f | |||
![]() |
b9f6d033be | ||
e1e772a802 | |||
c4beb518de | |||
![]() |
c8acb6dd6c | ||
f3a33a9298 | |||
4bee1e1c8c | |||
836b99ce49 | |||
6eeaecdd67 | |||
5cb2861420 | |||
68c0d77b0c | |||
8820ab41bd | |||
8b2072868d | |||
796683db8e | |||
b70a13fb66 | |||
476c0eab4a | |||
e1b70e9f9c | |||
f2c64517b5 | |||
d195deef5c | |||
![]() |
d0618570eb | ||
1c9829f351 | |||
15983243a4 | |||
4184f890fd | |||
f9cca12886 | |||
9c5a120ba2 | |||
fa09b900c2 | |||
0f1f751785 | |||
a6d7280b8e | |||
7c027f9480 | |||
be20bf2fc0 | |||
1619a5d8e9 | |||
dc8bb3f3a0 | |||
b37482bc3d | |||
e06888cf89 | |||
d55231e5a1 | |||
a52f6d7a31 | |||
a801487ef5 | |||
ca717f0489 | |||
212660f467 | |||
85cdf9a1b9 | |||
![]() |
915998111b | ||
982b498c22 | |||
dc3ff1db3f | |||
9f48852ba4 | |||
1aa7c4c28a | |||
![]() |
811569dc11 | ||
7b8ac04d86 | |||
5aa54207e1 | |||
5184328991 | |||
94a5b7a2e2 | |||
163e6b348f | |||
71712d828d | |||
c971e812d5 | |||
bf1b323b15 | |||
ec9b836d3b | |||
fbe81db29a | |||
9c5522f7c8 | |||
0133d66ada | |||
![]() |
4652f23fa3 | ||
84b94f9e7b | |||
![]() |
04e9ba7169 | ||
![]() |
2d8d30e17b | ||
![]() |
848a4f002d | ||
18e3615a68 | |||
0dfb4ac1ff | |||
e702c9a700 | |||
0030e6a2fc | |||
503d5c0c65 | |||
c65b9fb825 | |||
6eb76f6430 | |||
a540d16ee8 | |||
1131e33026 | |||
![]() |
a468368540 | ||
be2e41c397 | |||
6472a721f0 | |||
b080de79db | |||
e672cf11c3 | |||
3e9dbe7f62 | |||
c010290e75 | |||
214cc3c245 | |||
32fc22db56 | |||
![]() |
07bdbeda84 | ||
![]() |
aca222c3da | ||
![]() |
bada2dcafd | ||
![]() |
6f4612a7cc | ||
![]() |
da101eddef | ||
![]() |
8bc8713beb | ||
![]() |
58e6306b15 | ||
![]() |
5543572cd2 | ||
![]() |
1276380fd2 | ||
![]() |
3923738c8f | ||
324e24ee38 | |||
81c18c2507 | |||
29b405a327 | |||
3912a2a227 | |||
4d0d43ce8e | |||
dab1d14a51 | |||
6965bcc0c9 | |||
d43fbbb307 | |||
29f3af9527 | |||
dcb9312687 | |||
93f6369573 | |||
598ab525da | |||
ee5d7bc16b | |||
a922a097ef | |||
3a10c61a7d | |||
b9d1026ce0 | |||
b57d3afb76 | |||
613148ce5b | |||
0de5156a24 | |||
f881162f81 | |||
![]() |
bc6bbe5fac | ||
668b64380a | |||
014f78b5b5 | |||
0d05fd9b4c | |||
7f404f1c74 | |||
bc2343d5c3 | |||
52dc1ddaa0 | |||
62f238a65e | |||
5539b68009 | |||
9867a82072 | |||
6b49a9db52 | |||
db1d711458 | |||
7760cec5dc | |||
946d39f688 | |||
8a5a306a83 | |||
2534dffaa5 | |||
ef5c6361a5 | |||
0964865568 | |||
8fb1ea857f | |||
dcdcc23488 | |||
b31b44c223 | |||
afe6df1487 | |||
558f449f8c | |||
7177862313 | |||
13595c912c | |||
85424397b1 | |||
96e2bd8493 | |||
b2ee1770d4 | |||
b825a95ec3 | |||
f4936de918 | |||
a7fb567c18 | |||
ae6a5629a5 | |||
68b6d0302a | |||
57daecc2cf | |||
14d03af7ae | |||
d5572eacc5 | |||
b242cc6792 | |||
da7fcd3e52 | |||
8c21668ee1 | |||
bf6cf49133 | |||
eb522af4fe | |||
ff60dd8b18 | |||
f2f8c5b2bd | |||
40ac8250b2 | |||
926f52edf0 | |||
a16e4652e3 | |||
c60366c01f | |||
17f08cff6a | |||
69d4aec55f | |||
b201a67faa | |||
a5bbdd6998 | |||
b4f1edd98b | |||
a9ac87be36 | |||
f9c7442479 | |||
165daee7cb | |||
c8ac760c59 | |||
4102d67d32 | |||
2d5773d11a | |||
07c5ca7f2c | |||
b839a5d076 | |||
0b16b63d87 | |||
8bb0ac27dc | |||
50d5050e9c | |||
63bb2007d8 | |||
f0808b53ab | |||
15c834ebbf | |||
c08151c6fa | |||
98d562af52 | |||
24a37b3c03 | |||
e65f5c07b0 | |||
79558a581d | |||
e96b103536 | |||
297261eb90 | |||
9fa29fe765 | |||
![]() |
c72317943b | ||
7d61132807 | |||
d8491cb7c6 | |||
17e1fef85a | |||
c25f6e998b | |||
af5d2e38f7 | |||
7d9a5b7b10 | |||
abd33a3c0c | |||
2e7cfb86fe | |||
e6aa349c68 | |||
0b9c1c2b86 | |||
5be0e3430d | |||
73ef27f156 | |||
e97aed1e73 | |||
b15c658801 | |||
07d13be678 | |||
54ab8c6abd | |||
bba4a09b2f | |||
1af83aa2dd | |||
088636bc38 | |||
5229448c43 | |||
c19d2f2507 | |||
8574d68aa0 | |||
6c623b0e8c | |||
da30e9a104 | |||
310285b0c2 | |||
eed1beff88 | |||
38d6533f21 | |||
e56471bcd3 | |||
![]() |
84c9a99cca | ||
![]() |
3b1ef223ba | ||
4a3377fcf6 | |||
a874cfb858 | |||
c43725e189 | |||
88db9a17ce | |||
fe7528ee91 | |||
60c208e2d6 | |||
950a35e353 | |||
cd0a6ff5c4 | |||
4d3da4e1d0 | |||
![]() |
51e898324d | ||
4ccbbd3080 | |||
c328049535 | |||
6665ce8951 | |||
e5f98c79b0 | |||
a0ea0153c2 | |||
![]() |
ae223ff52b | ||
3da2dc8213 | |||
337e861486 | |||
6ab14d971c | |||
bd0f5fa71f | |||
55b465f976 | |||
1d18a2a5ec | |||
1da8ed2a97 | |||
2fb4de1f8c | |||
5b0f1e7649 | |||
a297a6c444 | |||
a5c4a44df6 | |||
3c74d45c9e | |||
8f1876b4f0 | |||
bf8a73b4a7 | |||
6958ec3f7f | |||
b32fd73b24 | |||
2a4f350940 | |||
765f2a1bca | |||
![]() |
a22573e243 | ||
e7f1de5e11 | |||
f4463cd865 | |||
d83c0969f6 | |||
6706ae5712 | |||
4bfa256ea4 | |||
4e597a5cff | |||
76d8e8693f | |||
![]() |
e4eede8318 | ||
9c62a8c8e5 | |||
a9dc1f6d00 | |||
fb330dd110 | |||
8931c4b18d | |||
0baae18375 | |||
38ed95fe8d | |||
89b10b8d42 | |||
a37dceb139 | |||
a5c984a57d | |||
d09c5bdc28 | |||
![]() |
14c9f64def | ||
31aefdeec5 | |||
059f3c1a7e | |||
![]() |
2841b2be39 | ||
![]() |
19785b96c4 | ||
![]() |
0c603cffd1 | ||
78383f7a9f | |||
daca00f187 | |||
b39273c071 | |||
4b2b5fe4b8 | |||
453be9cc8a | |||
c60e5211d7 | |||
594945eb01 | |||
1ba4aa37c9 | |||
ed29ff944a | |||
40343a76c5 | |||
ce2dc6ef2b | |||
582205c134 | |||
b454a12233 | |||
ee7034949f | |||
d6fd092495 | |||
73bd0ef12d | |||
8447f45f09 | |||
7a875922e7 | |||
29716abcd1 | |||
3e1aa6cbf3 | |||
a976fe42ef | |||
c549a9dd46 | |||
fe7c4fb4a2 | |||
5a77748e47 | |||
98c74c6a6e | |||
![]() |
409074aae5 | ||
![]() |
7b8db971d4 | ||
51bce18b6f | |||
f48b46860b | |||
360443a483 | |||
d8198b27df | |||
680b70f093 | |||
5de56f9596 | |||
cf93b65a65 | |||
![]() |
5afa4b1dc8 | ||
1648a79036 | |||
9c4523b1fd | |||
847c091ae8 | |||
493c99078a | |||
6fa4581d92 | |||
bd25df3d68 | |||
c930cd7450 | |||
94937984b0 | |||
e0ffb911a2 | |||
f78ca97cfc | |||
e9e4f6af9e | |||
eaf0528749 | |||
3db948cffe | |||
![]() |
ff0124418f | ||
fc7fdc5c4e | |||
![]() |
233158b555 | ||
![]() |
3c9956a3ac | ||
![]() |
a489d77c5b | ||
![]() |
c04c5ac4f6 | ||
f2557d137a | |||
![]() |
38058833f1 | ||
![]() |
6a6ccb26ec | ||
24ef1cf07e | |||
![]() |
821ecbe805 | ||
![]() |
0373e300ea | ||
22a8a3b214 | |||
cb8b424c6b | |||
a52eb7489f | |||
85f980c517 | |||
4a373afa5f | |||
793135e190 | |||
bc2ce31d79 | |||
21bdeb5cc0 | |||
af54bbd61c | |||
03e04d4db7 | |||
![]() |
fe3ce61528 | ||
0cea9353fd | |||
![]() |
27fa33c143 | ||
498397f7bd | |||
4c83e6bac0 | |||
94dcfe7a77 | |||
e8ab0137f8 | |||
e0f41d32c9 | |||
bcac081ad5 | |||
95d0e04ed1 | |||
![]() |
2269759fdf | ||
![]() |
e287122af6 | ||
![]() |
318112379d | ||
c60be37f3e | |||
da1140f75e | |||
7a8a074a30 | |||
![]() |
8e8b4ec3a3 | ||
1eb73d1596 | |||
944da82eaf | |||
feead324fd | |||
![]() |
d9c25f0192 | ||
9a855f94fc | |||
4c4d36c25e |
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"project_id" : "Blender",
|
||||
"conduit_uri" : "https://developer.blender.org/",
|
||||
"phabricator.uri" : "https://developer.blender.org/",
|
||||
"git.default-relative-commit" : "origin/master",
|
||||
"arc.land.update.default" : "rebase",
|
||||
"arc.land.onto.default" : "master"
|
||||
|
@@ -132,9 +132,7 @@ PenaltyBreakAssignment: 100
|
||||
|
||||
AllowShortFunctionsOnASingleLine: None
|
||||
|
||||
# Disable for now since it complicates initial migration tests,
|
||||
# TODO: look into enabling this in the future.
|
||||
SortIncludes: false
|
||||
SortIncludes: true
|
||||
|
||||
# Don't right align escaped newlines to the right because we have a wide default
|
||||
AlignEscapedNewlines: DontAlign
|
||||
@@ -193,6 +191,7 @@ ForEachMacros:
|
||||
- FOREACH_MAIN_ID_BEGIN
|
||||
- FOREACH_MAIN_LISTBASE_BEGIN
|
||||
- FOREACH_MAIN_LISTBASE_ID_BEGIN
|
||||
- FOREACH_MESH_BUFFER_CACHE
|
||||
- FOREACH_NODETREE_BEGIN
|
||||
- FOREACH_OBJECT_BEGIN
|
||||
- FOREACH_OBJECT_FLAG_BEGIN
|
||||
@@ -215,6 +214,7 @@ ForEachMacros:
|
||||
- GHASH_ITER_INDEX
|
||||
- GPU_SELECT_LOAD_IF_PICKSEL_LIST
|
||||
- GP_EDITABLE_STROKES_BEGIN
|
||||
- GP_EVALUATED_STROKES_BEGIN
|
||||
- GSET_FOREACH_BEGIN
|
||||
- GSET_ITER
|
||||
- GSET_ITER_INDEX
|
||||
@@ -238,7 +238,6 @@ ForEachMacros:
|
||||
- LISTBASE_FOREACH_BACKWARD
|
||||
- LISTBASE_FOREACH_MUTABLE
|
||||
- LISTBASE_FOREACH_BACKWARD_MUTABLE
|
||||
- MAN2D_ITER_AXES_BEGIN
|
||||
- MAN_ITER_AXES_BEGIN
|
||||
- NODE_INSTANCE_HASH_ITER
|
||||
- NODE_SOCKET_TYPES_BEGIN
|
||||
@@ -246,13 +245,22 @@ ForEachMacros:
|
||||
- NODE_TYPES_BEGIN
|
||||
- PIXEL_LOOPER_BEGIN
|
||||
- PIXEL_LOOPER_BEGIN_CHANNELS
|
||||
- RENDER_PASS_ITER_BEGIN
|
||||
- RNA_BEGIN
|
||||
- RNA_PROP_BEGIN
|
||||
- RNA_STRUCT_BEGIN
|
||||
- RNA_STRUCT_BEGIN_SKIP_RNA_TYPE
|
||||
- SCULPT_VERTEX_DUPLICATES_AND_NEIGHBORS_ITER_BEGIN
|
||||
- SCULPT_VERTEX_NEIGHBORS_ITER_BEGIN
|
||||
- SEQP_BEGIN
|
||||
- SEQ_BEGIN
|
||||
- SURFACE_QUAD_ITER_BEGIN
|
||||
- foreach
|
||||
- ED_screen_areas_iter
|
||||
- SLOT_PROBING_BEGIN
|
||||
- SET_SLOT_PROBING_BEGIN
|
||||
- MAP_SLOT_PROBING_BEGIN
|
||||
- VECTOR_SET_SLOT_PROBING_BEGIN
|
||||
|
||||
# Use once we bump the minimum version to version 8.
|
||||
# # Without this string literals that in-line 'STRINGIFY' behave strangely (a bug?).
|
||||
|
@@ -138,11 +138,6 @@ get_blender_version()
|
||||
#-----------------------------------------------------------------------------
|
||||
# Options
|
||||
|
||||
# First platform specific non-cached vars
|
||||
if(UNIX AND NOT (APPLE OR HAIKU))
|
||||
set(WITH_X11 ON)
|
||||
endif()
|
||||
|
||||
# Blender internal features
|
||||
option(WITH_BLENDER "Build blender (disable to build only the blender player)" ON)
|
||||
mark_as_advanced(WITH_BLENDER)
|
||||
@@ -180,6 +175,14 @@ option(WITH_BULLET "Enable Bullet (Physics Engine)" ON)
|
||||
option(WITH_SYSTEM_BULLET "Use the systems bullet library (currently unsupported due to missing features in upstream!)" )
|
||||
mark_as_advanced(WITH_SYSTEM_BULLET)
|
||||
option(WITH_OPENCOLORIO "Enable OpenColorIO color management" ON)
|
||||
if(APPLE)
|
||||
# There's no OpenXR runtime in sight for macOS, neither is code well
|
||||
# tested there -> disable it by default.
|
||||
option(WITH_XR_OPENXR "Enable VR features through the OpenXR specification" OFF)
|
||||
mark_as_advanced(WITH_XR_OPENXR)
|
||||
else()
|
||||
option(WITH_XR_OPENXR "Enable VR features through the OpenXR specification" ON)
|
||||
endif()
|
||||
|
||||
# Compositor
|
||||
option(WITH_COMPOSITOR "Enable the tile based nodal compositor" ON)
|
||||
@@ -199,7 +202,15 @@ mark_as_advanced(WITH_GHOST_DEBUG)
|
||||
option(WITH_GHOST_SDL "Enable building Blender against SDL for windowing rather than the native APIs" OFF)
|
||||
mark_as_advanced(WITH_GHOST_SDL)
|
||||
|
||||
if(WITH_X11)
|
||||
if(UNIX AND NOT (APPLE OR HAIKU))
|
||||
option(WITH_GHOST_X11 "Enable building Blender against X11 for windowing" ON)
|
||||
mark_as_advanced(WITH_GHOST_X11)
|
||||
|
||||
option(WITH_GHOST_WAYLAND "Enable building Blender against Wayland for windowing (under development)" OFF)
|
||||
mark_as_advanced(WITH_GHOST_WAYLAND)
|
||||
endif()
|
||||
|
||||
if(WITH_GHOST_X11)
|
||||
option(WITH_GHOST_XDND "Enable drag'n'drop support on X11 using XDND protocol" ON)
|
||||
endif()
|
||||
|
||||
@@ -224,7 +235,7 @@ if(UNIX AND NOT APPLE)
|
||||
mark_as_advanced(WITH_OPENMP_STATIC)
|
||||
endif()
|
||||
|
||||
if(WITH_X11)
|
||||
if(WITH_GHOST_X11)
|
||||
option(WITH_X11_XINPUT "Enable X11 Xinput (tablet support and unicode input)" ON)
|
||||
option(WITH_X11_XF86VMODE "Enable X11 video mode switching" ON)
|
||||
option(WITH_X11_XFIXES "Enable X11 XWayland cursor warping workaround" ON)
|
||||
@@ -270,7 +281,7 @@ option(WITH_ALEMBIC "Enable Alembic Support" ON)
|
||||
option(WITH_ALEMBIC_HDF5 "Enable Legacy Alembic Support (not officially supported)" OFF)
|
||||
|
||||
# Universal Scene Description support
|
||||
option(WITH_USD "Enable Universal Scene Description (USD) Support" OFF)
|
||||
option(WITH_USD "Enable Universal Scene Description (USD) Support" ON)
|
||||
|
||||
# 3D format support
|
||||
# Disable opencollada when we don't have precompiled libs
|
||||
@@ -311,6 +322,14 @@ mark_as_advanced(WITH_SYSTEM_GLOG)
|
||||
# Freestyle
|
||||
option(WITH_FREESTYLE "Enable Freestyle (advanced edges rendering)" ON)
|
||||
|
||||
# New object types
|
||||
option(WITH_NEW_OBJECT_TYPES "Enable new hair and pointcloud objects (use for development only, don't save in files)" OFF)
|
||||
mark_as_advanced(WITH_NEW_OBJECT_TYPES)
|
||||
|
||||
# New simulation data block
|
||||
option(WITH_NEW_SIMULATION_TYPE "Enable simulation data block (use for development only, don't save in files)" OFF)
|
||||
mark_as_advanced(WITH_NEW_SIMULATION_TYPE)
|
||||
|
||||
# Misc
|
||||
if(WIN32)
|
||||
option(WITH_INPUT_IME "Enable Input Method Editor (IME) for complex Asian character input" ON)
|
||||
@@ -417,6 +436,8 @@ endif()
|
||||
option(WITH_GTESTS "Enable GTest unit testing" OFF)
|
||||
option(WITH_OPENGL_RENDER_TESTS "Enable OpenGL render related unit testing (Experimental)" OFF)
|
||||
option(WITH_OPENGL_DRAW_TESTS "Enable OpenGL UI drawing related unit testing (Experimental)" OFF)
|
||||
set(TEST_PYTHON_EXE "" CACHE PATH "Python executable to run unit tests")
|
||||
mark_as_advanced(TEST_PYTHON_EXE)
|
||||
|
||||
# Documentation
|
||||
if(UNIX AND NOT APPLE)
|
||||
@@ -457,6 +478,8 @@ endif()
|
||||
if(CMAKE_COMPILER_IS_GNUCC)
|
||||
option(WITH_LINKER_GOLD "Use ld.gold linker which is usually faster than ld.bfd" ON)
|
||||
mark_as_advanced(WITH_LINKER_GOLD)
|
||||
option(WITH_LINKER_LLD "Use ld.lld linker which is usually faster than ld.gold" OFF)
|
||||
mark_as_advanced(WITH_LINKER_LLD)
|
||||
endif()
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||
@@ -520,6 +543,15 @@ if(WIN32)
|
||||
option(WITH_WINDOWS_BUNDLE_CRT "Bundle the C runtime for install free distribution." ON)
|
||||
mark_as_advanced(WITH_WINDOWS_BUNDLE_CRT)
|
||||
|
||||
option(WITH_WINDOWS_SCCACHE "Use sccache to speed up builds (Ninja builder only)" OFF)
|
||||
mark_as_advanced(WITH_WINDOWS_SCCACHE)
|
||||
|
||||
option(WITH_WINDOWS_PDB "Generate a pdb file for client side stacktraces" ON)
|
||||
mark_as_advanced(WITH_WINDOWS_PDB)
|
||||
|
||||
option(WITH_WINDOWS_STRIPPED_PDB "Use a stripped PDB file" On)
|
||||
mark_as_advanced(WITH_WINDOWS_STRIPPED_PDB)
|
||||
|
||||
endif()
|
||||
|
||||
# The following only works with the Ninja generator in CMake >= 3.0.
|
||||
@@ -596,12 +628,6 @@ if(WITH_PYTHON_MODULE AND WITH_PYTHON_INSTALL)
|
||||
message(FATAL_ERROR "WITH_PYTHON_MODULE requires WITH_PYTHON_INSTALL to be OFF")
|
||||
endif()
|
||||
|
||||
|
||||
# may as well build python module without a UI
|
||||
if(WITH_PYTHON_MODULE)
|
||||
set(WITH_HEADLESS ON)
|
||||
endif()
|
||||
|
||||
if(NOT WITH_PYTHON)
|
||||
set(WITH_CYCLES OFF)
|
||||
set(WITH_DRACO OFF)
|
||||
@@ -621,9 +647,10 @@ set_and_warn_dependency(WITH_BOOST WITH_OPENVDB OFF)
|
||||
set_and_warn_dependency(WITH_BOOST WITH_OPENCOLORIO OFF)
|
||||
set_and_warn_dependency(WITH_BOOST WITH_QUADRIFLOW OFF)
|
||||
set_and_warn_dependency(WITH_BOOST WITH_USD OFF)
|
||||
set_and_warn_dependency(WITH_BOOST WITH_ALEMBIC OFF)
|
||||
|
||||
if(WITH_BOOST AND NOT (WITH_CYCLES OR WITH_OPENIMAGEIO OR WITH_INTERNATIONAL OR
|
||||
WITH_OPENVDB OR WITH_OPENCOLORIO OR WITH_USD))
|
||||
WITH_OPENVDB OR WITH_OPENCOLORIO OR WITH_USD OR WITH_ALEMBIC))
|
||||
message(STATUS "No dependencies need 'WITH_BOOST' forcing WITH_BOOST=OFF")
|
||||
set(WITH_BOOST OFF)
|
||||
endif()
|
||||
@@ -633,6 +660,9 @@ set_and_warn_dependency(WITH_TBB WITH_OPENIMAGEDENOISE OFF)
|
||||
set_and_warn_dependency(WITH_TBB WITH_OPENVDB OFF)
|
||||
set_and_warn_dependency(WITH_TBB WITH_MOD_FLUID OFF)
|
||||
|
||||
# OpenVDB uses 'half' type from OpenEXR & fails to link without OpenEXR enabled.
|
||||
set_and_warn_dependency(WITH_IMAGE_OPENEXR WITH_OPENVDB OFF)
|
||||
|
||||
# auto enable openimageio for cycles
|
||||
if(WITH_CYCLES)
|
||||
set(WITH_OPENIMAGEIO ON)
|
||||
@@ -662,13 +692,15 @@ if(WITH_INSTALL_PORTABLE)
|
||||
endif()
|
||||
|
||||
if(WITH_GHOST_SDL OR WITH_HEADLESS)
|
||||
set(WITH_X11 OFF)
|
||||
set(WITH_GHOST_WAYLAND OFF)
|
||||
set(WITH_GHOST_X11 OFF)
|
||||
set(WITH_X11_XINPUT OFF)
|
||||
set(WITH_X11_XF86VMODE OFF)
|
||||
set(WITH_X11_XFIXES OFF)
|
||||
set(WITH_X11_ALPHA OFF)
|
||||
set(WITH_GHOST_XDND OFF)
|
||||
set(WITH_INPUT_IME OFF)
|
||||
set(WITH_XR_OPENXR OFF)
|
||||
endif()
|
||||
|
||||
if(WITH_CPU_SSE)
|
||||
@@ -1695,11 +1727,13 @@ if(FIRST_RUN)
|
||||
info_cfg_option(WITH_CYCLES)
|
||||
info_cfg_option(WITH_FREESTYLE)
|
||||
info_cfg_option(WITH_OPENCOLORIO)
|
||||
info_cfg_option(WITH_XR_OPENXR)
|
||||
info_cfg_option(WITH_OPENIMAGEDENOISE)
|
||||
info_cfg_option(WITH_OPENVDB)
|
||||
info_cfg_option(WITH_ALEMBIC)
|
||||
info_cfg_option(WITH_QUADRIFLOW)
|
||||
info_cfg_option(WITH_USD)
|
||||
info_cfg_option(WITH_TBB)
|
||||
|
||||
info_cfg_text("Compiler Options:")
|
||||
info_cfg_option(WITH_BUILDINFO)
|
||||
|
50
GNUmakefile
50
GNUmakefile
@@ -71,17 +71,6 @@ Testing Targets
|
||||
which are tagged to use the stricter formatting
|
||||
* test_deprecated:
|
||||
Checks for deprecation tags in our code which may need to be removed
|
||||
* test_style_c:
|
||||
Checks C/C++ conforms with blenders style guide:
|
||||
https://wiki.blender.org/wiki/Source/Code_Style
|
||||
* test_style_c_qtc:
|
||||
Same as test_style but outputs QtCreator tasks format
|
||||
* test_style_osl:
|
||||
Checks OpenShadingLanguage conforms with blenders style guide:
|
||||
https://wiki.blender.org/wiki/Source/Code_Style
|
||||
* test_style_osl_qtc:
|
||||
Checks OpenShadingLanguage conforms with blenders style guide:
|
||||
https://wiki.blender.org/wiki/Source/Code_Style
|
||||
|
||||
Static Source Code Checking
|
||||
Not associated with building Blender.
|
||||
@@ -402,45 +391,6 @@ test_cmake: .FORCE
|
||||
test_deprecated: .FORCE
|
||||
$(PYTHON) tests/check_deprecated.py
|
||||
|
||||
test_style_c: .FORCE
|
||||
# run our own checks on C/C++ style
|
||||
PYTHONIOENCODING=utf_8 $(PYTHON) \
|
||||
"$(BLENDER_DIR)/source/tools/check_source/check_style_c.py" \
|
||||
"$(BLENDER_DIR)/source/blender" \
|
||||
"$(BLENDER_DIR)/source/creator" \
|
||||
--no-length-check
|
||||
|
||||
test_style_c_qtc: .FORCE
|
||||
# run our own checks on C/C++ style
|
||||
USE_QTC_TASK=1 \
|
||||
PYTHONIOENCODING=utf_8 $(PYTHON) \
|
||||
"$(BLENDER_DIR)/source/tools/check_source/check_style_c.py" \
|
||||
"$(BLENDER_DIR)/source/blender" \
|
||||
"$(BLENDER_DIR)/source/creator" \
|
||||
--no-length-check \
|
||||
> \
|
||||
"$(BLENDER_DIR)/test_style.tasks"
|
||||
@echo "written: test_style.tasks"
|
||||
|
||||
|
||||
test_style_osl: .FORCE
|
||||
# run our own checks on C/C++ style
|
||||
PYTHONIOENCODING=utf_8 $(PYTHON) \
|
||||
"$(BLENDER_DIR)/source/tools/check_source/check_style_c.py" \
|
||||
"$(BLENDER_DIR)/intern/cycles/kernel/shaders" \
|
||||
"$(BLENDER_DIR)/release/scripts/templates_osl"
|
||||
|
||||
|
||||
test_style_osl_qtc: .FORCE
|
||||
# run our own checks on C/C++ style
|
||||
USE_QTC_TASK=1 \
|
||||
PYTHONIOENCODING=utf_8 $(PYTHON) \
|
||||
"$(BLENDER_DIR)/source/tools/check_source/check_style_c.py" \
|
||||
"$(BLENDER_DIR)/intern/cycles/kernel/shaders" \
|
||||
"$(BLENDER_DIR)/release/scripts/templates_osl" \
|
||||
> \
|
||||
"$(BLENDER_DIR)/test_style.tasks"
|
||||
@echo "written: test_style.tasks"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Project Files
|
||||
|
@@ -99,6 +99,7 @@ else()
|
||||
endif()
|
||||
include(cmake/openimagedenoise.cmake)
|
||||
include(cmake/embree.cmake)
|
||||
include(cmake/xr_openxr.cmake)
|
||||
|
||||
if(WITH_WEBP)
|
||||
include(cmake/webp.cmake)
|
||||
@@ -129,7 +130,6 @@ if(NOT WIN32 OR ENABLE_MINGW64)
|
||||
include(cmake/vpx.cmake)
|
||||
include(cmake/x264.cmake)
|
||||
include(cmake/xvidcore.cmake)
|
||||
include(cmake/faad.cmake)
|
||||
include(cmake/ffmpeg.cmake)
|
||||
include(cmake/fftw.cmake)
|
||||
include(cmake/sndfile.cmake)
|
||||
|
@@ -38,6 +38,7 @@ set(ALEMBIC_EXTRA_ARGS
|
||||
-DBoost_DEBUG=ON
|
||||
-DBOOST_ROOT=${LIBDIR}/boost
|
||||
-DBoost_NO_SYSTEM_PATHS=ON
|
||||
-DBoost_NO_BOOST_CMAKE=ON
|
||||
-DILMBASE_ROOT=${LIBDIR}/openexr
|
||||
-DALEMBIC_ILMBASE_INCLUDE_DIRECTORY=${LIBDIR}/openexr/include/OpenEXR
|
||||
-DALEMBIC_ILMBASE_HALF_LIB=${LIBDIR}/openexr/lib/${LIBPREFIX}Half${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||
|
@@ -25,6 +25,8 @@ if(UNIX AND NOT APPLE)
|
||||
set(BZIP2_CFLAGS "-fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64")
|
||||
set(BZIP2_CONFIGURE_ENV ${BZIP2_CONFIGURE_ENV} && export LDFLAGS=${BZIP2_LDFLAGS} && export CFLAGS=${BZIP2_CFLAGS}
|
||||
&& export PREFIX=${BZIP2_PREFIX})
|
||||
else()
|
||||
set(BZIP2_CONFIGURE_ENV ${CONFIGURE_ENV})
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(external_bzip2
|
||||
|
@@ -26,10 +26,20 @@ set(EMBREE_EXTRA_ARGS
|
||||
-DEMBREE_RAY_MASK=ON
|
||||
-DEMBREE_FILTER_FUNCTION=ON
|
||||
-DEMBREE_BACKFACE_CULLING=OFF
|
||||
-DEMBREE_TASKING_SYSTEM=INTERNAL
|
||||
-DEMBREE_MAX_ISA=AVX2
|
||||
-DEMBREE_TASKING_SYSTEM=TBB
|
||||
-DEMBREE_TBB_ROOT=${LIBDIR}/tbb
|
||||
-DTBB_STATIC_LIB=${TBB_STATIC_LIBRARY}
|
||||
)
|
||||
|
||||
if(TBB_STATIC_LIBRARY)
|
||||
set(EMBREE_EXTRA_ARGS
|
||||
${EMBREE_EXTRA_ARGS}
|
||||
-DEMBREE_TBB_LIBRARY_NAME=tbb_static
|
||||
-DEMBREE_TBBMALLOC_LIBRARY_NAME=tbbmalloc_static
|
||||
)
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
set(EMBREE_BUILD_DIR ${BUILD_MODE}/)
|
||||
else()
|
||||
@@ -44,6 +54,12 @@ ExternalProject_Add(external_embree
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/embree ${DEFAULT_CMAKE_FLAGS} ${EMBREE_EXTRA_ARGS}
|
||||
INSTALL_DIR ${LIBDIR}/embree
|
||||
)
|
||||
|
||||
add_dependencies(
|
||||
external_embree
|
||||
external_tbb
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
|
||||
if(BUILD_MODE STREQUAL Release)
|
||||
|
@@ -127,7 +127,6 @@ endif()
|
||||
add_dependencies(
|
||||
external_ffmpeg
|
||||
external_zlib
|
||||
external_faad
|
||||
external_openjpeg
|
||||
external_xvidcore
|
||||
external_x264
|
||||
|
@@ -19,8 +19,12 @@
|
||||
set(FFTW_EXTRA_ARGS)
|
||||
|
||||
if(WIN32)
|
||||
set(FFTW3_ENV set CFLAGS=-fno-stack-check -fno-stack-protector -mno-stack-arg-probe -fno-lto &&)
|
||||
set(FFTW3_PATCH_COMMAND ${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/fftw3/src/external_fftw3 < ${PATCH_DIR}/fftw3.diff)
|
||||
set(FFTW_EXTRA_ARGS --disable-static --enable-shared)
|
||||
set(FFTW_INSTALL install-strip)
|
||||
else()
|
||||
set(FFTW_EXTRA_ARGS --enable-static)
|
||||
set(FFTW_INSTALL install)
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(external_fftw3
|
||||
@@ -28,10 +32,10 @@ ExternalProject_Add(external_fftw3
|
||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||
URL_HASH MD5=${FFTW_HASH}
|
||||
PREFIX ${BUILD_DIR}/fftw3
|
||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && ${FFTW3_ENV} cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && ${CONFIGURE_COMMAND} --enable-static --prefix=${mingw_LIBDIR}/fftw3
|
||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && ${CONFIGURE_COMMAND} ${FFTW_EXTRA_ARGS} --prefix=${mingw_LIBDIR}/fftw3
|
||||
PATCH_COMMAND ${FFTW3_PATCH_COMMAND}
|
||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && make -j${MAKE_THREADS}
|
||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && make install
|
||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && make ${FFTW_INSTALL}
|
||||
INSTALL_DIR ${LIBDIR}/fftw3
|
||||
)
|
||||
|
||||
@@ -39,7 +43,8 @@ if(MSVC)
|
||||
set_target_properties(external_fftw3 PROPERTIES FOLDER Mingw)
|
||||
if(BUILD_MODE STREQUAL Release)
|
||||
ExternalProject_Add_Step(external_fftw3 after_install
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/lib/libfftw3.a ${HARVEST_TARGET}/fftw3/lib/libfftw.lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/lib/libfftw3.dll.a ${HARVEST_TARGET}/fftw3/lib/libfftw.lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/bin/libfftw3-3.dll ${HARVEST_TARGET}/fftw3/lib/libfftw3-3.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/include/fftw3.h ${HARVEST_TARGET}/fftw3/include/fftw3.h
|
||||
DEPENDEES install
|
||||
)
|
||||
|
@@ -31,10 +31,6 @@ if(BUILD_MODE STREQUAL Release)
|
||||
COMMAND # jpeg rename libfile + copy include
|
||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/jpg/lib/jpeg-static.lib ${HARVEST_TARGET}/jpeg/lib/libjpeg.lib &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/jpg/include/ ${HARVEST_TARGET}/jpeg/include/ &&
|
||||
# OpenImageIO
|
||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/include ${HARVEST_TARGET}/OpenImageIO/include &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/lib ${HARVEST_TARGET}/OpenImageIO/lib &&
|
||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/OpenImageIO/bin/idiff.exe ${HARVEST_TARGET}/OpenImageIO/bin/idiff.exe &&
|
||||
# png
|
||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/png/lib/libpng16_static.lib ${HARVEST_TARGET}/png/lib/libpng.lib &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/png/include/ ${HARVEST_TARGET}/png/include/ &&
|
||||
@@ -44,10 +40,6 @@ if(BUILD_MODE STREQUAL Release)
|
||||
# glew-> opengl
|
||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/glew/lib/libglew32.lib ${HARVEST_TARGET}/opengl/lib/glew.lib &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/glew/include/ ${HARVEST_TARGET}/opengl/include/ &&
|
||||
# sndfile
|
||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/sndfile/lib/libsndfile.dll.a ${HARVEST_TARGET}/sndfile/lib/libsndfile-1.lib &&
|
||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/sndfile/bin/libsndfile-1.dll ${HARVEST_TARGET}/sndfile/lib/libsndfile-1.dll &&
|
||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/sndfile/include/sndfile.h ${HARVEST_TARGET}/sndfile/include/sndfile.h &&
|
||||
# tiff
|
||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/tiff/lib/tiff.lib ${HARVEST_TARGET}/tiff/lib/libtiff.lib &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/tiff/include/ ${HARVEST_TARGET}/tiff/include/ &&
|
||||
@@ -59,9 +51,7 @@ endif()
|
||||
|
||||
if(BUILD_MODE STREQUAL Debug)
|
||||
add_custom_target(Harvest_Debug_Results
|
||||
# OpenImageIO
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimageio/lib/OpenImageIO.lib ${HARVEST_TARGET}/openimageio/lib/OpenImageIO_d.lib &&
|
||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/openimageio/lib/OpenImageIO_Util.lib ${HARVEST_TARGET}/openimageio/lib/OpenImageIO_Util_d.lib &&
|
||||
COMMAND
|
||||
# hdf5
|
||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/hdf5/lib ${HARVEST_TARGET}/hdf5/lib &&
|
||||
DEPENDS Package_Python
|
||||
@@ -161,6 +151,8 @@ harvest(opensubdiv/include opensubdiv/include "*.h")
|
||||
harvest(opensubdiv/lib opensubdiv/lib "*.a")
|
||||
harvest(openvdb/include/openvdb openvdb/include/openvdb "*.h")
|
||||
harvest(openvdb/lib openvdb/lib "*.a")
|
||||
harvest(xr_openxr_sdk/include/openxr xr_openxr_sdk/include/openxr "*.h")
|
||||
harvest(xr_openxr_sdk/lib xr_openxr_sdk/lib "*.a")
|
||||
harvest(osl/bin osl/bin "oslc")
|
||||
harvest(osl/include osl/include "*.h")
|
||||
harvest(osl/lib osl/lib "*.a")
|
||||
|
@@ -18,7 +18,7 @@
|
||||
|
||||
if(WIN32)
|
||||
# cmake for windows
|
||||
set(JPEG_EXTRA_ARGS -DNASM=${NASM_PATH} -DWITH_JPEG8=ON -DCMAKE_DEBUG_POSTFIX=d)
|
||||
set(JPEG_EXTRA_ARGS -DNASM=${NASM_PATH} -DWITH_JPEG8=ON -DCMAKE_DEBUG_POSTFIX=d -DWITH_CRT_DLL=On)
|
||||
|
||||
ExternalProject_Add(external_jpeg
|
||||
URL ${JPEG_URI}
|
||||
@@ -42,20 +42,17 @@ if(WIN32)
|
||||
set(JPEG_LIBRARY jpeg-staticd${LIBEXT})
|
||||
endif()
|
||||
else(WIN32)
|
||||
# autoconf for unix
|
||||
if(APPLE)
|
||||
set(JPEG_EXTRA_ARGS --host x86_64-apple-darwin --with-jpeg8)
|
||||
else()
|
||||
set(JPEG_EXTRA_ARGS --with-jpeg8)
|
||||
endif()
|
||||
# cmake for unix
|
||||
set(JPEG_EXTRA_ARGS
|
||||
-DWITH_JPEG8=ON
|
||||
-DENABLE_STATIC=ON
|
||||
-DENABLE_SHARED=OFF
|
||||
-DCMAKE_INSTALL_LIBDIR=${LIBDIR}/jpg/lib)
|
||||
|
||||
ExternalProject_Add(external_jpeg
|
||||
URL ${JPEG_URI}
|
||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||
URL_HASH MD5=${JPEG_HASH}
|
||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && autoreconf -fiv && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/jpg NASM=yasm ${JPEG_EXTRA_ARGS}
|
||||
BUILD_IN_SOURCE 1
|
||||
BUILD_COMMAND ${CONFIGURE_ENV} && make install
|
||||
PREFIX ${BUILD_DIR}/jpg
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/jpg ${DEFAULT_CMAKE_FLAGS} ${JPEG_EXTRA_ARGS}
|
||||
INSTALL_DIR ${LIBDIR}/jpg
|
||||
|
@@ -52,7 +52,6 @@ if(BUILD_MODE STREQUAL Release)
|
||||
PREFIX ${BUILD_DIR}/openal
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openal ${DEFAULT_CMAKE_FLAGS} ${OPENAL_EXTRA_ARGS}
|
||||
INSTALL_DIR ${LIBDIR}/openal
|
||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/openal/src/external_openal < ${PATCH_DIR}/openal.diff
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
|
@@ -21,7 +21,7 @@ set(OIDN_EXTRA_ARGS
|
||||
-DWITH_EXAMPLE=OFF
|
||||
-DWITH_TEST=OFF
|
||||
-DTBB_ROOT=${LIBDIR}/tbb
|
||||
-DTBB_STATIC_LIB=ON
|
||||
-DTBB_STATIC_LIB=${TBB_STATIC_LIBRARY}
|
||||
-DOIDN_STATIC_LIB=ON
|
||||
)
|
||||
|
||||
|
@@ -32,7 +32,7 @@ endif()
|
||||
|
||||
if(WIN32)
|
||||
set(PNG_LIBNAME libpng16_static${LIBEXT})
|
||||
set(OIIO_SIMD_FLAGS -DUSE_SIMD=sse2 -DOPJ_STATIC=1)
|
||||
set(OIIO_SIMD_FLAGS -DUSE_SIMD=sse2)
|
||||
set(OPENJPEG_POSTFIX _msvc)
|
||||
else()
|
||||
set(PNG_LIBNAME libpng${LIBEXT})
|
||||
@@ -49,23 +49,17 @@ endif()
|
||||
|
||||
if(MSVC)
|
||||
set(OPENJPEG_FLAGS
|
||||
-DOPENJPEG_HOME=${LIBDIR}/openjpeg_msvc
|
||||
-DOPENJPEG_INCLUDE_DIR=${LIBDIR}/openjpeg_msvc/include/openjpeg-${OPENJPEG_SHORT_VERSION}
|
||||
-DOPENJPEG_LIBRARY=${LIBDIR}/openjpeg_msvc/lib/openjp2${LIBEXT}
|
||||
-DOPENJPEG_LIBRARY_DEBUG=${LIBDIR}/openjpeg_msvc/lib/openjp2${LIBEXT}
|
||||
-DOpenJpeg_ROOT=${LIBDIR}/openjpeg_msvc
|
||||
)
|
||||
else()
|
||||
set(OPENJPEG_FLAGS
|
||||
-DOPENJPEG_INCLUDE_DIR=${LIBDIR}/openjpeg/include/openjpeg-${OPENJPEG_SHORT_VERSION}
|
||||
-DOPENJPEG_LIBRARY=${LIBDIR}/openjpeg/lib/${OPENJPEG_LIBRARY}
|
||||
-DOpenJpeg_ROOT=${LIBDIR}/openjpeg
|
||||
)
|
||||
endif()
|
||||
|
||||
set(OPENIMAGEIO_EXTRA_ARGS
|
||||
-DBUILDSTATIC=ON
|
||||
-DBUILD_SHARED_LIBS=OFF
|
||||
${OPENIMAGEIO_LINKSTATIC}
|
||||
-DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/openexr/
|
||||
-DOPENEXR_ILMIMF_LIBRARIES=${LIBDIR}/openexr/lib/IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||
-DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
|
||||
-DBoost_USE_MULTITHREADED=ON
|
||||
-DBoost_USE_STATIC_LIBS=ON
|
||||
@@ -73,7 +67,16 @@ set(OPENIMAGEIO_EXTRA_ARGS
|
||||
-DBOOST_ROOT=${LIBDIR}/boost
|
||||
-DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/
|
||||
-DBoost_NO_SYSTEM_PATHS=ON
|
||||
-DBoost_NO_BOOST_CMAKE=ON
|
||||
-OIIO_BUILD_CPP11=ON
|
||||
-DUSE_LIBSQUISH=OFF
|
||||
-DUSE_QT5=OFF
|
||||
-DUSE_NUKE=OFF
|
||||
-DUSE_OPENVDB=OFF
|
||||
-DUSE_BZIP2=OFF
|
||||
-DUSE_FREETYPE=OFF
|
||||
-DUSE_DCMTK=OFF
|
||||
-DUSE_LIBHEIF=OFF
|
||||
-DUSE_OPENGL=OFF
|
||||
-DUSE_TBB=OFF
|
||||
-DUSE_FIELD3D=OFF
|
||||
@@ -81,15 +84,12 @@ set(OPENIMAGEIO_EXTRA_ARGS
|
||||
-DUSE_PYTHON=OFF
|
||||
-DUSE_GIF=OFF
|
||||
-DUSE_OPENCV=OFF
|
||||
-DUSE_OPENSSL=OFF
|
||||
-DUSE_OPENJPEG=ON
|
||||
-DUSE_FFMPEG=OFF
|
||||
-DUSE_PTEX=OFF
|
||||
-DUSE_FREETYPE=OFF
|
||||
-DUSE_LIBRAW=OFF
|
||||
-DUSE_PYTHON=OFF
|
||||
-DUSE_PYTHON3=OFF
|
||||
-DUSE_OCIO=OFF
|
||||
-DUSE_OPENCOLORIO=OFF
|
||||
-DUSE_WEBP=${WITH_WEBP}
|
||||
-DOIIO_BUILD_TOOLS=${OIIO_TOOLS}
|
||||
-DOIIO_BUILD_TESTS=OFF
|
||||
@@ -103,17 +103,13 @@ set(OPENIMAGEIO_EXTRA_ARGS
|
||||
-DJPEG_LIBRARY=${LIBDIR}/jpg/lib/${JPEG_LIBRARY}
|
||||
-DJPEG_INCLUDE_DIR=${LIBDIR}/jpg/include
|
||||
${OPENJPEG_FLAGS}
|
||||
-DOCIO_PATH=${LIBDIR}/opencolorio/
|
||||
-DOpenEXR_USE_STATIC_LIBS=On
|
||||
-DOPENEXR_HOME=${LIBDIR}/openexr/
|
||||
-DILMBASE_INCLUDE_PATH=${LIBDIR}/openexr/
|
||||
-DILMBASE_PACKAGE_PREFIX=${LIBDIR}/openexr/
|
||||
-DILMBASE_INCLUDE_DIR=${LIBDIR}/openexr/include/
|
||||
-DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/
|
||||
-DOPENEXR_HALF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Half${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||
-DOPENEXR_IMATH_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Imath${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||
-DOPENEXR_ILMTHREAD_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmThread${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||
-DOPENEXR_IEX_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Iex${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||
-DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/
|
||||
-DOPENEXR_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||
-DSTOP_ON_WARNING=OFF
|
||||
${WEBP_FLAGS}
|
||||
@@ -125,27 +121,38 @@ ExternalProject_Add(external_openimageio
|
||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||
URL_HASH MD5=${OPENIMAGEIO_HASH}
|
||||
PREFIX ${BUILD_DIR}/openimageio
|
||||
PATCH_COMMAND
|
||||
${PATCH_CMD} -p 0 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/src/include < ${PATCH_DIR}/openimageio_gdi.diff &&
|
||||
${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/ < ${PATCH_DIR}/openimageio_static_libs.diff
|
||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/ < ${PATCH_DIR}/openimageio.diff
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openimageio ${DEFAULT_CMAKE_FLAGS} ${OPENIMAGEIO_EXTRA_ARGS}
|
||||
INSTALL_DIR ${LIBDIR}/openimageio
|
||||
)
|
||||
|
||||
add_dependencies(
|
||||
external_openimageio
|
||||
external_png external_zlib
|
||||
external_png
|
||||
external_zlib
|
||||
external_openexr
|
||||
external_jpeg
|
||||
external_boost
|
||||
external_tiff
|
||||
external_opencolorio
|
||||
external_openjpeg${OPENJPEG_POSTFIX}
|
||||
${WEBP_DEP}
|
||||
)
|
||||
if(NOT WIN32)
|
||||
add_dependencies(
|
||||
external_openimageio
|
||||
external_opencolorio_extra
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
if(BUILD_MODE STREQUAL Release)
|
||||
ExternalProject_Add_Step(external_openimageio after_install
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/include ${HARVEST_TARGET}/OpenImageIO/include
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/lib ${HARVEST_TARGET}/OpenImageIO/lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/OpenImageIO/bin/idiff.exe ${HARVEST_TARGET}/OpenImageIO/bin/idiff.exe
|
||||
|
||||
DEPENDEES install
|
||||
)
|
||||
endif()
|
||||
if(BUILD_MODE STREQUAL Debug)
|
||||
ExternalProject_Add_Step(external_openimageio after_install
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimageio/lib/OpenImageIO.lib ${HARVEST_TARGET}/openimageio/lib/OpenImageIO_d.lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimageio/lib/OpenImageIO_Util.lib ${HARVEST_TARGET}/openimageio/lib/OpenImageIO_Util_d.lib
|
||||
DEPENDEES install
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
@@ -36,7 +36,7 @@ if(WIN32)
|
||||
set(OPENSUBDIV_EXTRA_ARGS
|
||||
${OPENSUBDIV_EXTRA_ARGS}
|
||||
-DTBB_INCLUDE_DIR=${LIBDIR}/tbb/include
|
||||
-DTBB_LIBRARIES=${LIBDIR}/tbb/lib/tbb_static.lib
|
||||
-DTBB_LIBRARIES=${LIBDIR}/tbb/lib/tbb.lib
|
||||
-DCLEW_INCLUDE_DIR=${LIBDIR}/clew/include/CL
|
||||
-DCLEW_LIBRARY=${LIBDIR}/clew/lib/clew${LIBEXT}
|
||||
-DCUEW_INCLUDE_DIR=${LIBDIR}/cuew/include
|
||||
@@ -67,7 +67,7 @@ endif()
|
||||
ExternalProject_Add(external_opensubdiv
|
||||
URL ${OPENSUBDIV_URI}
|
||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||
URL_HASH MD5=${OPENSUBDIV_Hash}
|
||||
URL_HASH MD5=${OPENSUBDIV_HASH}
|
||||
PREFIX ${BUILD_DIR}/opensubdiv
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/opensubdiv -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${OPENSUBDIV_EXTRA_ARGS}
|
||||
INSTALL_DIR ${LIBDIR}/opensubdiv
|
||||
|
@@ -27,6 +27,7 @@ set(OPENVDB_EXTRA_ARGS
|
||||
-DBoost_USE_STATIC_RUNTIME=OFF
|
||||
-DBOOST_ROOT=${LIBDIR}/boost
|
||||
-DBoost_NO_SYSTEM_PATHS=ON
|
||||
-DBoost_NO_BOOST_CMAKE=ON
|
||||
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
||||
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
||||
-DBlosc_INCLUDE_DIR=${LIBDIR}/blosc/include/
|
||||
|
@@ -44,6 +44,7 @@ set(OSL_EXTRA_ARGS
|
||||
-DBOOST_ROOT=${LIBDIR}/boost
|
||||
-DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/
|
||||
-DBoost_NO_SYSTEM_PATHS=ON
|
||||
-DBoost_NO_BOOST_CMAKE=ON
|
||||
-DLLVM_DIRECTORY=${LIBDIR}/llvm
|
||||
-DLLVM_INCLUDES=${LIBDIR}/llvm/include
|
||||
-DLLVM_LIB_DIR=${LIBDIR}/llvm/lib
|
||||
|
@@ -25,7 +25,7 @@ set(PNG_EXTRA_ARGS
|
||||
ExternalProject_Add(external_png
|
||||
URL ${PNG_URI}
|
||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||
URL_HASH MD5=${PNG_HASH}
|
||||
URL_HASH SHA256=${PNG_HASH}
|
||||
PREFIX ${BUILD_DIR}/png
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/png ${DEFAULT_CMAKE_FLAGS} ${PNG_EXTRA_ARGS}
|
||||
INSTALL_DIR ${LIBDIR}/png
|
||||
|
@@ -24,7 +24,7 @@ if(WIN32)
|
||||
set(PTHREAD_CPPFLAGS "/I. /DHAVE_CONFIG_H ")
|
||||
endif()
|
||||
|
||||
set(PTHREADS_BUILD cd ${BUILD_DIR}/pthreads/src/external_pthreads/ && cd && nmake VC-static /e CPPFLAGS=${PTHREAD_CPPFLAGS} /e XLIBS=/NODEFAULTLIB:msvcr)
|
||||
set(PTHREADS_BUILD cd ${BUILD_DIR}/pthreads/src/external_pthreads/ && cd && nmake VC-static /e CPPFLAGS=${PTHREAD_CPPFLAGS})
|
||||
|
||||
ExternalProject_Add(external_pthreads
|
||||
URL ${PTHREADS_URI}
|
||||
@@ -32,6 +32,7 @@ if(WIN32)
|
||||
URL_HASH MD5=${PTHREADS_HASH}
|
||||
PREFIX ${BUILD_DIR}/pthreads
|
||||
CONFIGURE_COMMAND echo .
|
||||
PATCH_COMMAND COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/pthreads/src/external_pthreads < ${PATCH_DIR}/pthreads.diff
|
||||
BUILD_COMMAND ${PTHREADS_BUILD}
|
||||
INSTALL_COMMAND COMMAND
|
||||
${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/libpthreadVC3${LIBEXT} ${LIBDIR}/pthreads/lib/pthreadVC3${LIBEXT} &&
|
||||
|
@@ -60,3 +60,14 @@ if(UNIX)
|
||||
external_flac
|
||||
)
|
||||
endif()
|
||||
|
||||
if(BUILD_MODE STREQUAL Release AND WIN32)
|
||||
ExternalProject_Add_Step(external_sndfile after_install
|
||||
COMMAND lib /def:${BUILD_DIR}/sndfile/src/external_sndfile/src/libsndfile-1.def /machine:x64 /out:${BUILD_DIR}/sndfile/src/external_sndfile/src/libsndfile-1.lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/sndfile/bin/libsndfile-1.dll ${HARVEST_TARGET}/sndfile/lib/libsndfile-1.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/sndfile/src/external_sndfile/src/libsndfile-1.lib ${HARVEST_TARGET}/sndfile/lib/libsndfile-1.lib
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/sndfile/include/sndfile.h ${HARVEST_TARGET}/sndfile/include/sndfile.h
|
||||
|
||||
DEPENDEES install
|
||||
)
|
||||
endif()
|
||||
|
@@ -20,8 +20,10 @@ if(WIN32)
|
||||
-DTBB_BUILD_SHARED=On
|
||||
-DTBB_BUILD_TBBMALLOC=On
|
||||
-DTBB_BUILD_TBBMALLOC_PROXY=On
|
||||
-DTBB_BUILD_STATIC=On
|
||||
)
|
||||
-DTBB_BUILD_STATIC=Off
|
||||
)
|
||||
set(TBB_LIBRARY tbb)
|
||||
set(TBB_STATIC_LIBRARY Off)
|
||||
else()
|
||||
set(TBB_EXTRA_ARGS
|
||||
-DTBB_BUILD_SHARED=Off
|
||||
@@ -29,6 +31,8 @@ else()
|
||||
-DTBB_BUILD_TBBMALLOC_PROXY=Off
|
||||
-DTBB_BUILD_STATIC=On
|
||||
)
|
||||
set(TBB_LIBRARY tbb_static)
|
||||
set(TBB_STATIC_LIBRARY On)
|
||||
endif()
|
||||
|
||||
# CMake script for TBB from https://github.com/wjakob/tbb/blob/master/CMakeLists.txt
|
||||
@@ -46,7 +50,8 @@ ExternalProject_Add(external_tbb
|
||||
if(WIN32)
|
||||
if(BUILD_MODE STREQUAL Release)
|
||||
ExternalProject_Add_Step(external_tbb after_install
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb_static.lib ${HARVEST_TARGET}/tbb/lib/tbb.lib
|
||||
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/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/lib/tbbmalloc_proxy.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc_proxy.lib
|
||||
@@ -57,7 +62,12 @@ if(WIN32)
|
||||
endif()
|
||||
if(BUILD_MODE STREQUAL Debug)
|
||||
ExternalProject_Add_Step(external_tbb after_install
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb_static.lib ${HARVEST_TARGET}/tbb/lib/tbb_debug.lib
|
||||
# findtbb.cmake in some deps *NEEDS* to find tbb.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_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
|
||||
|
@@ -22,9 +22,11 @@ set(USD_EXTRA_ARGS
|
||||
-DBoost_USE_STATIC_LIBS=ON
|
||||
-DBoost_USE_STATIC_RUNTIME=OFF
|
||||
-DBOOST_ROOT=${LIBDIR}/boost
|
||||
-DBoost_NO_SYSTEM_PATHS=ON
|
||||
-DBoost_NO_BOOST_CMAKE=ON
|
||||
-DTBB_INCLUDE_DIRS=${LIBDIR}/tbb/include
|
||||
-DTBB_LIBRARIES=${LIBDIR}/tbb/lib/${LIBPREFIX}tbb_static${LIBEXT}
|
||||
-DTbb_TBB_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbb_static${LIBEXT}
|
||||
-DTBB_LIBRARIES=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
|
||||
-DTbb_TBB_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
|
||||
|
||||
# This is a preventative measure that avoids possible conflicts when add-ons
|
||||
# try to load another USD library into the same process space.
|
||||
|
@@ -20,17 +20,17 @@ set(ZLIB_VERSION 1.2.11)
|
||||
set(ZLIB_URI https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz)
|
||||
set(ZLIB_HASH 1c9f62f0778697a09d36121ead88e08e)
|
||||
|
||||
set(OPENAL_VERSION 1.18.2)
|
||||
set(OPENAL_VERSION 1.20.1)
|
||||
set(OPENAL_URI http://openal-soft.org/openal-releases/openal-soft-${OPENAL_VERSION}.tar.bz2)
|
||||
set(OPENAL_HASH d4eeb0889812e2fdeaa1843523d76190)
|
||||
set(OPENAL_HASH 556695068ce8375b89986083d810fd35)
|
||||
|
||||
set(PNG_VERSION 1.6.35)
|
||||
set(PNG_VERSION 1.6.37)
|
||||
set(PNG_URI http://prdownloads.sourceforge.net/libpng/libpng-${PNG_VERSION}.tar.xz)
|
||||
set(PNG_HASH 678b7e696a62a193ed3503b04bf449d6)
|
||||
set(PNG_HASH 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca)
|
||||
|
||||
set(JPEG_VERSION 1.5.3)
|
||||
set(JPEG_VERSION 2.0.4)
|
||||
set(JPEG_URI https://github.com/libjpeg-turbo/libjpeg-turbo/archive/${JPEG_VERSION}.tar.gz)
|
||||
set(JPEG_HASH 5b7549d440b86c98a517355c102d155e)
|
||||
set(JPEG_HASH 44c43e4a9fb352f47090804529317c88)
|
||||
|
||||
set(BOOST_VERSION 1.70.0)
|
||||
set(BOOST_VERSION_NODOTS 1_70_0)
|
||||
@@ -66,9 +66,9 @@ else()
|
||||
set(OPENEXR_VERSION_POSTFIX)
|
||||
endif()
|
||||
|
||||
set(FREETYPE_VERSION 2.10.1)
|
||||
set(FREETYPE_VERSION 2.10.2)
|
||||
set(FREETYPE_URI http://prdownloads.sourceforge.net/freetype/freetype-${FREETYPE_VERSION}.tar.gz)
|
||||
set(FREETYPE_HASH c50a3c9e5e62bdc938a6e1598a782947)
|
||||
set(FREETYPE_HASH b1cb620e4c875cd4d1bfa04945400945)
|
||||
|
||||
set(GLEW_VERSION 1.13.0)
|
||||
set(GLEW_URI http://prdownloads.sourceforge.net/glew/glew/${GLEW_VERSION}/glew-${GLEW_VERSION}.tgz)
|
||||
@@ -101,21 +101,21 @@ set(CUEW_GIT_UID 1744972026de9cf27c8a7dc39cf39cd83d5f922f)
|
||||
set(CUEW_URI https://github.com/CudaWrangler/cuew/archive/${CUEW_GIT_UID}.zip)
|
||||
set(CUEW_HASH 86760d62978ebfd96cd93f5aa1abaf4a)
|
||||
|
||||
set(OPENSUBDIV_VERSION v3_4_0_RC2)
|
||||
set(OPENSUBDIV_Hash f6a10ba9efaa82fde86fe65aad346319)
|
||||
set(OPENSUBDIV_VERSION v3_4_3)
|
||||
set(OPENSUBDIV_URI https://github.com/PixarAnimationStudios/OpenSubdiv/archive/${OPENSUBDIV_VERSION}.tar.gz)
|
||||
set(OPENSUBDIV_HASH 7bbfa275d021fb829e521df749160edb)
|
||||
|
||||
set(SDL_VERSION 2.0.8)
|
||||
set(SDL_VERSION 2.0.12)
|
||||
set(SDL_URI https://www.libsdl.org/release/SDL2-${SDL_VERSION}.tar.gz)
|
||||
set(SDL_HASH 3800d705cef742c6a634f202c37f263f)
|
||||
set(SDL_HASH 783b6f2df8ff02b19bb5ce492b99c8ff)
|
||||
|
||||
set(OPENCOLLADA_VERSION v1.6.68)
|
||||
set(OPENCOLLADA_URI https://github.com/KhronosGroup/OpenCOLLADA/archive/${OPENCOLLADA_VERSION}.tar.gz)
|
||||
set(OPENCOLLADA_HASH ee7dae874019fea7be11613d07567493)
|
||||
|
||||
set(OPENCOLORIO_VERSION 1.1.0)
|
||||
set(OPENCOLORIO_URI https://github.com/imageworks/OpenColorIO/archive/v${OPENCOLORIO_VERSION}.tar.gz)
|
||||
set(OPENCOLORIO_HASH 802d8f5b1d1fe316ec5f76511aa611b8)
|
||||
set(OPENCOLORIO_VERSION 1.1.1)
|
||||
set(OPENCOLORIO_URI https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v${OPENCOLORIO_VERSION}.tar.gz)
|
||||
set(OPENCOLORIO_HASH 23d8b9ac81599305539a5a8674b94a3d)
|
||||
|
||||
set(LLVM_VERSION 9.0.1)
|
||||
set(LLVM_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz)
|
||||
@@ -127,17 +127,17 @@ set(CLANG_HASH 13468e4a44940efef1b75e8641752f90)
|
||||
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(OPENIMAGEIO_VERSION 1.8.13)
|
||||
set(OPENIMAGEIO_VERSION 2.1.15.0)
|
||||
set(OPENIMAGEIO_URI https://github.com/OpenImageIO/oiio/archive/Release-${OPENIMAGEIO_VERSION}.tar.gz)
|
||||
set(OPENIMAGEIO_HASH f5526c3c9878029ee900d84856683f93)
|
||||
set(OPENIMAGEIO_HASH f03aa5e3ac4795af04771ee4146e9832)
|
||||
|
||||
set(TIFF_VERSION 4.0.9)
|
||||
set(TIFF_VERSION 4.1.0)
|
||||
set(TIFF_URI http://download.osgeo.org/libtiff/tiff-${TIFF_VERSION}.tar.gz)
|
||||
set(TIFF_HASH 54bad211279cc93eb4fca31ba9bfdc79)
|
||||
set(TIFF_HASH 2165e7aba557463acc0664e71a3ed424)
|
||||
|
||||
set(OSL_VERSION 1.10.9)
|
||||
set(OSL_VERSION 1.10.10)
|
||||
set(OSL_URI https://github.com/imageworks/OpenShadingLanguage/archive/Release-${OSL_VERSION}.tar.gz)
|
||||
set(OSL_HASH a94f1e8506f7e8f5e993653de5c5fa00)
|
||||
set(OSL_HASH 00dec08a93c8084e53848b9ad047889f)
|
||||
|
||||
set(PYTHON_VERSION 3.7.4)
|
||||
set(PYTHON_SHORT_VERSION 3.7)
|
||||
@@ -146,8 +146,8 @@ set(PYTHON_URI https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTH
|
||||
set(PYTHON_HASH d33e4aae66097051c2eca45ee3604803)
|
||||
|
||||
set(TBB_VERSION 2019_U9)
|
||||
set(TBB_URI https://github.com/01org/tbb/archive/${TBB_VERSION}.tar.gz)
|
||||
set(TBB_HASH 584edbec127c508f2cd5b6e79ad200fc)
|
||||
set(TBB_URI https://github.com/oneapi-src/oneTBB/archive/${TBB_VERSION}.tar.gz)
|
||||
set(TBB_HASH 26263622e9187212ec240dcf01b66207)
|
||||
|
||||
set(OPENVDB_VERSION 7.0.0)
|
||||
set(OPENVDB_URI https://github.com/dreamworksanimation/openvdb/archive/v${OPENVDB_VERSION}.tar.gz)
|
||||
@@ -168,9 +168,9 @@ set(LAME_VERSION 3.100)
|
||||
set(LAME_URI http://downloads.sourceforge.net/project/lame/lame/3.100/lame-${LAME_VERSION}.tar.gz)
|
||||
set(LAME_HASH 83e260acbe4389b54fe08e0bdbf7cddb)
|
||||
|
||||
set(OGG_VERSION 1.3.3)
|
||||
set(OGG_VERSION 1.3.4)
|
||||
set(OGG_URI http://downloads.xiph.org/releases/ogg/libogg-${OGG_VERSION}.tar.gz)
|
||||
set(OGG_HASH c2e8a485110b97550f453226ec644ebac6cb29d1caef2902c007edab4308d985)
|
||||
set(OGG_HASH fe5670640bd49e828d64d2879c31cb4dde9758681bb664f9bdbf159a01b0c76e)
|
||||
|
||||
set(VORBIS_VERSION 1.3.6)
|
||||
set(VORBIS_URI http://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VERSION}.tar.gz)
|
||||
@@ -180,47 +180,41 @@ set(THEORA_VERSION 1.1.1)
|
||||
set(THEORA_URI http://downloads.xiph.org/releases/theora/libtheora-${THEORA_VERSION}.tar.bz2)
|
||||
set(THEORA_HASH b6ae1ee2fa3d42ac489287d3ec34c5885730b1296f0801ae577a35193d3affbc)
|
||||
|
||||
set(FLAC_VERSION 1.3.2)
|
||||
set(FLAC_VERSION 1.3.3)
|
||||
set(FLAC_URI http://downloads.xiph.org/releases/flac/flac-${FLAC_VERSION}.tar.xz)
|
||||
set(FLAC_HASH 91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f)
|
||||
set(FLAC_HASH 213e82bd716c9de6db2f98bcadbc4c24c7e2efe8c75939a1a84e28539c4e1748)
|
||||
|
||||
set(VPX_VERSION 1.7.0)
|
||||
set(VPX_VERSION 1.8.2)
|
||||
set(VPX_URI https://github.com/webmproject/libvpx/archive/v${VPX_VERSION}/libvpx-v${VPX_VERSION}.tar.gz)
|
||||
set(VPX_HASH 1fec931eb5c94279ad219a5b6e0202358e94a93a90cfb1603578c326abfc1238)
|
||||
set(VPX_HASH 8735d9fcd1a781ae6917f28f239a8aa358ce4864ba113ea18af4bb2dc8b474ac)
|
||||
|
||||
set(OPUS_VERSION 1.3.1)
|
||||
set(OPUS_URI https://archive.mozilla.org/pub/opus/opus-${OPUS_VERSION}.tar.gz)
|
||||
set(OPUS_HASH 65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d)
|
||||
|
||||
set(X264_URI http://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20180811-2245-stable.tar.bz2)
|
||||
set(X264_HASH ae8a868a0e236a348b35d79f3ee80294b169d1195408b689f9851383661ed7aa)
|
||||
set(X264_URI https://code.videolan.org/videolan/x264/-/archive/master/x264-33f9e1474613f59392be5ab6a7e7abf60fa63622.tar.gz)
|
||||
set(X264_HASH 300dfb5b6c35722516f168868ce9419252a9e9eb77a05d82c9cede925b691bd6)
|
||||
|
||||
set(XVIDCORE_VERSION 1.3.5)
|
||||
set(XVIDCORE_URI http://downloads.xvid.org/downloads/xvidcore-${XVIDCORE_VERSION}.tar.gz)
|
||||
set(XVIDCORE_HASH 165ba6a2a447a8375f7b06db5a3c91810181f2898166e7c8137401d7fc894cf0)
|
||||
set(XVIDCORE_VERSION 1.3.7)
|
||||
set(XVIDCORE_URI https://downloads.xvid.com/downloads/xvidcore-${XVIDCORE_VERSION}.tar.gz)
|
||||
set(XVIDCORE_HASH abbdcbd39555691dd1c9b4d08f0a031376a3b211652c0d8b3b8aa9be1303ce2d)
|
||||
|
||||
# This has to be in sync with the version in blenders /extern folder.
|
||||
set(OPENJPEG_VERSION 2.3.0)
|
||||
set(OPENJPEG_VERSION 2.3.1)
|
||||
set(OPENJPEG_SHORT_VERSION 2.3)
|
||||
# Use slightly newer commit after release which includes a cmake fix
|
||||
set(OPENJPEG_URI https://github.com/uclouvain/openjpeg/archive/66297f07a43.zip)
|
||||
set(OPENJPEG_HASH 8242b18d908c7c42174e4231a741cfa7ce7c26b6ed5c9644feb9df7b3054310b)
|
||||
set(OPENJPEG_URI https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VERSION}.tar.gz)
|
||||
set(OPENJPEG_HASH 63f5a4713ecafc86de51bfad89cc07bb788e9bba24ebbf0c4ca637621aadb6a9)
|
||||
|
||||
set(FAAD_VERSION 2-2.8.8)
|
||||
set(FAAD_URI http://downloads.sourceforge.net/faac/faad${FAAD_VERSION}.tar.gz)
|
||||
set(FAAD_HASH 28f6116efdbe9378269f8a6221767d1f)
|
||||
|
||||
set(FFMPEG_VERSION 4.0.2)
|
||||
set(FFMPEG_VERSION 4.2.3)
|
||||
set(FFMPEG_URI http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2)
|
||||
set(FFMPEG_HASH 5576e8a22f80b6a336db39808f427cfb)
|
||||
set(FFMPEG_HASH 695fad11f3baf27784e24cb0e977b65a)
|
||||
|
||||
set(FFTW_VERSION 3.3.8)
|
||||
set(FFTW_URI http://www.fftw.org/fftw-${FFTW_VERSION}.tar.gz)
|
||||
set(FFTW_HASH 8aac833c943d8e90d51b697b27d4384d)
|
||||
|
||||
set(ICONV_VERSION 1.15)
|
||||
set(ICONV_VERSION 1.16)
|
||||
set(ICONV_URI http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz)
|
||||
set(ICONV_HASH ace8b5f2db42f7b3b3057585e80d9808)
|
||||
set(ICONV_HASH 7d2a800b952942bb2880efb00cfd524c)
|
||||
|
||||
set(LAPACK_VERSION 3.6.0)
|
||||
set(LAPACK_URI http://www.netlib.org/lapack/lapack-${LAPACK_VERSION}.tgz)
|
||||
@@ -267,9 +261,9 @@ set(LCMS_VERSION 2.9)
|
||||
set(LCMS_URI https://nchc.dl.sourceforge.net/project/lcms/lcms/${LCMS_VERSION}/lcms2-${LCMS_VERSION}.tar.gz)
|
||||
set(LCMS_HASH 8de1b7724f578d2995c8fdfa35c3ad0e)
|
||||
|
||||
set(PUGIXML_VERSION 1.9)
|
||||
set(PUGIXML_URI https://github.com/zeux/pugixml/archive/v1.9.tar.gz)
|
||||
set(PUGIXML_HASH 9346ca1dce2c48f1748c12fdac41a714)
|
||||
set(PUGIXML_VERSION 1.10)
|
||||
set(PUGIXML_URI https://github.com/zeux/pugixml/archive/v${PUGIXML_VERSION}.tar.gz)
|
||||
set(PUGIXML_HASH 0c208b0664c7fb822bf1b49ad035e8fd)
|
||||
|
||||
set(FLEXBISON_VERSION 2.5.5)
|
||||
set(FLEXBISON_URI http://prdownloads.sourceforge.net/winflexbison//win_flex_bison-2.5.5.zip)
|
||||
@@ -299,9 +293,9 @@ set(SQLITE_VERSION 3.24.0)
|
||||
set(SQLITE_URI https://www.sqlite.org/2018/sqlite-src-3240000.zip)
|
||||
set(SQLITE_HASH fb558c49ee21a837713c4f1e7e413309aabdd9c7)
|
||||
|
||||
set(EMBREE_VERSION 3.8.0)
|
||||
set(EMBREE_VERSION 3.10.0)
|
||||
set(EMBREE_URI https://github.com/embree/embree/archive/v${EMBREE_VERSION}.zip)
|
||||
set(EMBREE_HASH ac504d5426945fe25dec1267e0c39d52)
|
||||
set(EMBREE_HASH 4bbe29e7eaa46417efc75fc5f1e8eb87)
|
||||
|
||||
set(USD_VERSION 19.11)
|
||||
set(USD_URI https://github.com/PixarAnimationStudios/USD/archive/v${USD_VERSION}.tar.gz)
|
||||
@@ -318,3 +312,7 @@ set(LIBGLU_HASH 151aef599b8259efe9acd599c96ea2a3)
|
||||
set(MESA_VERSION 18.3.1)
|
||||
set(MESA_URI ftp://ftp.freedesktop.org/pub/mesa//mesa-${MESA_VERSION}.tar.xz)
|
||||
set(MESA_HASH d60828056d77bfdbae0970f9b15fb1be)
|
||||
|
||||
set(XR_OPENXR_SDK_VERSION 1.0.8)
|
||||
set(XR_OPENXR_SDK_URI https://github.com/KhronosGroup/OpenXR-SDK/archive/release-${XR_OPENXR_SDK_VERSION}.tar.gz)
|
||||
set(XR_OPENXR_SDK_HASH c6de63d2e0f9029aa58dfa97cad8ce07)
|
||||
|
@@ -18,9 +18,6 @@
|
||||
|
||||
if(WIN32)
|
||||
set(X264_EXTRA_ARGS --enable-win32thread --cross-prefix=${MINGW_HOST}- --host=${MINGW_HOST})
|
||||
set(X264_PATCH_CMD ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/x264/src/external_x264 < ${PATCH_DIR}/x264.diff)
|
||||
else()
|
||||
set(X264_PATCH_CMD echo .)
|
||||
endif()
|
||||
|
||||
|
||||
@@ -29,7 +26,6 @@ ExternalProject_Add(external_x264
|
||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||
URL_HASH SHA256=${X264_HASH}
|
||||
PREFIX ${BUILD_DIR}/x264
|
||||
PATCH_COMMAND ${X264_PATCH_CMD}
|
||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/x264/src/external_x264/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/x264
|
||||
--enable-static
|
||||
--enable-pic
|
||||
|
60
build_files/build_environment/cmake/xr_openxr.cmake
Normal file
60
build_files/build_environment/cmake/xr_openxr.cmake
Normal file
@@ -0,0 +1,60 @@
|
||||
# ***** 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 *****
|
||||
|
||||
|
||||
# Keep flags in sync with install_deps.sh ones in compile_XR_OpenXR_SDK()
|
||||
set(XR_OPENXR_SDK_EXTRA_ARGS
|
||||
-DBUILD_FORCE_GENERATION=OFF
|
||||
-DBUILD_LOADER=ON
|
||||
-DDYNAMIC_LOADER=OFF
|
||||
)
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
list(APPEND XR_OPENXR_SDK_EXTRA_ARGS
|
||||
-DBUILD_WITH_WAYLAND_HEADERS=OFF
|
||||
-DBUILD_WITH_XCB_HEADERS=OFF
|
||||
-DBUILD_WITH_XLIB_HEADERS=ON
|
||||
-DBUILD_WITH_SYSTEM_JSONCPP=OFF
|
||||
-DCMAKE_CXX_FLAGS=-DDISABLE_STD_FILESYSTEM=1
|
||||
)
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(external_xr_openxr_sdk
|
||||
URL ${XR_OPENXR_SDK_URI}
|
||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||
URL_HASH MD5=${XR_OPENXR_SDK_HASH}
|
||||
PREFIX ${BUILD_DIR}/xr_openxr_sdk
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/xr_openxr_sdk ${DEFAULT_CMAKE_FLAGS} ${XR_OPENXR_SDK_EXTRA_ARGS}
|
||||
INSTALL_DIR ${LIBDIR}/xr_openxr_sdk
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
if(BUILD_MODE STREQUAL Release)
|
||||
ExternalProject_Add_Step(external_xr_openxr_sdk after_install
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/xr_openxr_sdk/include/openxr ${HARVEST_TARGET}/xr_openxr_sdk/include/openxr
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/xr_openxr_sdk/lib ${HARVEST_TARGET}/xr_openxr_sdk/lib
|
||||
DEPENDEES install
|
||||
)
|
||||
endif()
|
||||
if(BUILD_MODE STREQUAL Debug)
|
||||
ExternalProject_Add_Step(external_xr_openxr_sdk after_install
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/xr_openxr_sdk/lib/openxr_loader.lib ${HARVEST_TARGET}/xr_openxr_sdk/lib/openxr_loader_d.lib
|
||||
DEPENDEES install
|
||||
)
|
||||
endif()
|
||||
endif()
|
File diff suppressed because it is too large
Load Diff
@@ -109,6 +109,9 @@ if (WIN32)
|
||||
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/src/tbbmalloc/${ARCH_PREFIX}-tbbmalloc-export.def
|
||||
COMMENT "Preprocessing tbbmalloc.def"
|
||||
)
|
||||
list(APPEND tbb_src ${CMAKE_CURRENT_SOURCE_DIR}/src/tbb/tbb_resource.rc)
|
||||
list(APPEND tbbmalloc_src ${CMAKE_CURRENT_SOURCE_DIR}/src/tbbmalloc/tbbmalloc.rc)
|
||||
list(APPEND tbbmalloc_proxy_src ${CMAKE_CURRENT_SOURCE_DIR}/src/tbbmalloc/tbbmalloc.rc)
|
||||
else()
|
||||
add_custom_command(OUTPUT tbb.def
|
||||
COMMAND ${CMAKE_CXX_COMPILER} -xc++ -E ${CMAKE_CURRENT_SOURCE_DIR}/src/tbb/${ARCH_PREFIX}-tbb-export.def -I ${CMAKE_CURRENT_SOURCE_DIR}/include -o tbb.def
|
||||
@@ -145,8 +148,12 @@ if (TBB_BUILD_SHARED)
|
||||
set_property(TARGET tbb APPEND PROPERTY LINK_FLAGS "-Wl,-version-script,${CMAKE_CURRENT_BINARY_DIR}/tbb.def")
|
||||
elseif(WIN32)
|
||||
set_property(TARGET tbb APPEND PROPERTY LINK_FLAGS "/DEF:${CMAKE_CURRENT_BINARY_DIR}/tbb.def")
|
||||
|
||||
endif()
|
||||
install(TARGETS tbb DESTINATION lib)
|
||||
if(WIN32)
|
||||
set_target_properties(tbb PROPERTIES OUTPUT_NAME "tbb$<$<CONFIG:Debug>:_debug>")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCC)
|
||||
@@ -196,7 +203,7 @@ if(TBB_BUILD_TBBMALLOC_PROXY)
|
||||
add_library(tbbmalloc_proxy SHARED ${tbbmalloc_proxy_src})
|
||||
set_property(TARGET tbbmalloc_proxy APPEND PROPERTY COMPILE_DEFINITIONS "__TBBMALLOC_BUILD=1")
|
||||
set_property(TARGET tbbmalloc_proxy APPEND_STRING PROPERTY COMPILE_FLAGS ${DISABLE_RTTI})
|
||||
link_libraries(tbbmalloc_proxy tbbmalloc)
|
||||
target_link_libraries(tbbmalloc_proxy tbbmalloc)
|
||||
install(TARGETS tbbmalloc_proxy DESTINATION lib)
|
||||
endif()
|
||||
endif()
|
||||
|
@@ -1,13 +0,0 @@
|
||||
diff -Naur external_openal_original/CMakeLists.txt external_openal/CMakeLists.txt
|
||||
--- external_openal_original/CMakeLists.txt 2016-01-24 20:12:39 -0700
|
||||
+++ external_openal/CMakeLists.txt 2018-06-02 12:16:52 -0600
|
||||
@@ -885,7 +885,8 @@
|
||||
OPTION(ALSOFT_REQUIRE_MMDEVAPI "Require MMDevApi backend" OFF)
|
||||
IF(HAVE_WINDOWS_H)
|
||||
# Check MMSystem backend
|
||||
- CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H -D_WIN32_WINNT=0x0502)
|
||||
+ set(CMAKE_REQUIRED_FLAGS "-D_WIN32_WINNT=0x0502")
|
||||
+ CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H)
|
||||
IF(HAVE_MMSYSTEM_H)
|
||||
CHECK_SHARED_FUNCTION_EXISTS(waveOutOpen "windows.h;mmsystem.h" winmm "" HAVE_LIBWINMM)
|
||||
IF(HAVE_LIBWINMM)
|
@@ -18,17 +18,6 @@ diff --git a/mkl-dnn/cmake/TBB.cmake b/mkl-dnn/cmake/TBB.cmake
|
||||
index 0711e699..c14210b6 100644
|
||||
--- a/mkl-dnn/cmake/TBB.cmake
|
||||
+++ b/mkl-dnn/cmake/TBB.cmake
|
||||
@@ -90,8 +90,8 @@ if(WIN32)
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
set(TBB_LIB_DIR ${TBB_ROOT}/lib/${TBB_ARCH}/${TBB_VCVER})
|
||||
- find_library(TBB_LIBRARY tbb PATHS ${TBB_LIB_DIR} ${TBB_ROOT}/lib NO_DEFAULT_PATH)
|
||||
- find_library(TBB_LIBRARY_MALLOC tbbmalloc PATHS ${TBB_LIB_DIR} ${TBB_ROOT}/lib NO_DEFAULT_PATH)
|
||||
+ find_library(TBB_LIBRARY tbb_static PATHS ${TBB_LIB_DIR} ${TBB_ROOT}/lib NO_DEFAULT_PATH)
|
||||
+ find_library(TBB_LIBRARY_MALLOC tbbmalloc_static PATHS ${TBB_LIB_DIR} ${TBB_ROOT}/lib NO_DEFAULT_PATH)
|
||||
endif()
|
||||
|
||||
else()
|
||||
@@ -138,13 +138,13 @@ else()
|
||||
set(TBB_LIBRARY_MALLOC TBB_LIBRARY_MALLOC-NOTFOUND)
|
||||
if(APPLE)
|
||||
|
36
build_files/build_environment/patches/openimageio.diff
Normal file
36
build_files/build_environment/patches/openimageio.diff
Normal file
@@ -0,0 +1,36 @@
|
||||
diff -Naur orig/CMakeLists.txt external_openimageio/CMakeLists.txt
|
||||
--- orig/CMakeLists.txt 2020-05-10 21:43:52 -0600
|
||||
+++ external_openimageio/CMakeLists.txt 2020-05-13 17:03:35 -0600
|
||||
@@ -170,7 +170,7 @@
|
||||
add_subdirectory (src/iinfo)
|
||||
add_subdirectory (src/maketx)
|
||||
add_subdirectory (src/oiiotool)
|
||||
- add_subdirectory (src/testtex)
|
||||
+ #add_subdirectory (src/testtex)
|
||||
add_subdirectory (src/iv)
|
||||
endif ()
|
||||
|
||||
diff -Naur orig/src/cmake/compiler.cmake external_openimageio/src/cmake/compiler.cmake
|
||||
--- orig/src/cmake/compiler.cmake 2020-05-10 21:43:52 -0600
|
||||
+++ external_openimageio/src/cmake/compiler.cmake 2020-05-13 17:02:54 -0600
|
||||
@@ -172,6 +172,7 @@
|
||||
add_definitions (-D_CRT_NONSTDC_NO_WARNINGS)
|
||||
add_definitions (-D_SCL_SECURE_NO_WARNINGS)
|
||||
add_definitions (-DJAS_WIN_MSVC_BUILD)
|
||||
+ add_definitions (-DOPJ_STATIC)
|
||||
endif (MSVC)
|
||||
|
||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD"
|
||||
diff -Naur orig/src/include/OpenImageIO/platform.h external_openimageio/src/include/OpenImageIO/platform.h
|
||||
--- orig/src/include/OpenImageIO/platform.h 2020-05-10 21:43:52 -0600
|
||||
+++ external_openimageio/src/include/OpenImageIO/platform.h 2020-05-13 17:04:36 -0600
|
||||
@@ -41,6 +41,9 @@
|
||||
# ifndef NOMINMAX
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
+# ifndef NOGDI
|
||||
+# define NOGDI
|
||||
+# endif
|
||||
# include <windows.h>
|
||||
#endif
|
||||
|
@@ -1,26 +0,0 @@
|
||||
Index: OpenImageIO/osdep.h
|
||||
===================================================================
|
||||
--- OpenImageIO/osdep.h (revision 61595)
|
||||
+++ OpenImageIO/osdep.h (working copy)
|
||||
@@ -34,6 +34,7 @@
|
||||
# define WIN32_LEAN_AND_MEAN
|
||||
# define VC_EXTRALEAN
|
||||
# define NOMINMAX
|
||||
+# define NOGDI
|
||||
# include <windows.h>
|
||||
#endif
|
||||
|
||||
Index: OpenImageIO/platform.h
|
||||
===================================================================
|
||||
--- OpenImageIO/platform.h (revision 61595)
|
||||
+++ OpenImageIO/platform.h (working copy)
|
||||
@@ -77,6 +77,9 @@
|
||||
# ifndef NOMINMAX
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
+# ifndef NOGDI
|
||||
+# define NOGDI
|
||||
+# endif
|
||||
# include <windows.h>
|
||||
#endif
|
||||
|
@@ -1,22 +0,0 @@
|
||||
diff -Naur external_openimageio.orig/src/cmake/compiler.cmake external_openimageio/src/cmake/compiler.cmake
|
||||
--- external_openimageio.orig/src/cmake/compiler.cmake 2018-07-31 23:45:19 -0600
|
||||
+++ external_openimageio/src/cmake/compiler.cmake 2018-08-16 12:50:12 -0600
|
||||
@@ -152,6 +152,7 @@
|
||||
add_definitions (-D_CRT_NONSTDC_NO_WARNINGS)
|
||||
add_definitions (-D_SCL_SECURE_NO_WARNINGS)
|
||||
add_definitions (-DJAS_WIN_MSVC_BUILD)
|
||||
+ add_definitions (-DOPJ_STATIC)
|
||||
endif (MSVC)
|
||||
|
||||
# Use ccache if found
|
||||
--- external_openimageio.orig/CMakeLists.txt 2018-07-31 23:45:19 -0600
|
||||
+++ external_openimageio/CMakeLists.txt 2018-08-17 15:22:56 -0600
|
||||
@@ -169,7 +169,7 @@
|
||||
add_subdirectory (src/iinfo)
|
||||
add_subdirectory (src/maketx)
|
||||
add_subdirectory (src/oiiotool)
|
||||
- add_subdirectory (src/testtex)
|
||||
+# add_subdirectory (src/testtex)
|
||||
add_subdirectory (src/iv)
|
||||
endif ()
|
||||
|
@@ -48,3 +48,22 @@ diff -Naur OpenShadingLanguage-Release-1.9.9/src/liboslexec/llvm_util.cpp extern
|
||||
|
||||
size_t
|
||||
LLVM_Util::total_jit_memory_held ()
|
||||
diff -Naur OpenShadingLanguage-Release-1.9.9/CMakeLists.txt external_osl/CMakeLists.txt
|
||||
--- orig/CMakeLists.txt 2020-01-27 16:22:31 -0700
|
||||
+++ external_osl/CMakeLists.txt 2020-05-13 18:04:52 -0600
|
||||
@@ -102,10 +102,11 @@
|
||||
set (OPTIX_EXTRA_LIBS CACHE STRING "Extra lib targets needed for OptiX")
|
||||
set (CUDA_TARGET_ARCH "sm_35" CACHE STRING "CUDA GPU architecture (e.g. sm_35)")
|
||||
|
||||
-# set (USE_OIIO_STATIC ON CACHE BOOL "If OIIO is built static")
|
||||
-# if (USE_OIIO_STATIC)
|
||||
-# add_definitions ("-DOIIO_STATIC_BUILD=1")
|
||||
-# endif ()
|
||||
+set (USE_OIIO_STATIC ON CACHE BOOL "If OIIO is built static")
|
||||
+if (USE_OIIO_STATIC)
|
||||
+ add_definitions ("-DOIIO_STATIC_BUILD=1")
|
||||
+ add_definitions ("-DOIIO_STATIC_DEFINE=1")
|
||||
+endif ()
|
||||
|
||||
set (OSL_NO_DEFAULT_TEXTURESYSTEM OFF CACHE BOOL "Do not use create a raw OIIO::TextureSystem")
|
||||
if (OSL_NO_DEFAULT_TEXTURESYSTEM)
|
@@ -1,13 +1,12 @@
|
||||
--- pthread.h.orig 2012-05-26 22:16:45 -0600
|
||||
+++ pthread.h 2016-04-01 09:20:36 -0600
|
||||
@@ -109,6 +109,10 @@
|
||||
/* Include everything */
|
||||
#endif
|
||||
diff -Naur orig/Makefile external_pthreads/Makefile
|
||||
--- orig/Makefile 2018-08-08 04:47:40 -0600
|
||||
+++ external_pthreads/Makefile 2020-05-09 11:20:28 -0600
|
||||
@@ -185,7 +185,7 @@
|
||||
@ $(MAKE) /E /nologo XCFLAGS="/MTd" EHFLAGS="$(VSEFLAGSD) /D__PTW32_STATIC_LIB /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_SEH pthreadVSE$(PTW32_VER_DEBUG).inlined_static_stamp
|
||||
|
||||
+#if _MSC_VER >= 1900
|
||||
+# define HAVE_STRUCT_TIMESPEC 1
|
||||
+#endif
|
||||
+
|
||||
#if defined(_UWIN)
|
||||
# define HAVE_STRUCT_TIMESPEC 1
|
||||
# define HAVE_SIGNAL_H 1
|
||||
VC-static:
|
||||
- @ $(MAKE) /E /nologo XCFLAGS="/MT" EHFLAGS="$(VCFLAGS) /D__PTW32_STATIC_LIB /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_C pthreadVC$(PTW32_VER).inlined_static_stamp
|
||||
+ @ $(MAKE) /E /nologo XCFLAGS="/MD" EHFLAGS="$(VCFLAGS) /D__PTW32_STATIC_LIB /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_C pthreadVC$(PTW32_VER).inlined_static_stamp
|
||||
|
||||
VC-static-debug:
|
||||
@ $(MAKE) /E /nologo XCFLAGS="/MTd" EHFLAGS="$(VCFLAGSD) /D__PTW32_STATIC_LIB /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_C pthreadVC$(PTW32_VER_DEBUG).inlined_static_stamp
|
||||
|
@@ -1,22 +0,0 @@
|
||||
--- x264-snapshot-20180811-2245-stable\configure 2018-08-11 14:45:05 -0600
|
||||
+++ external_x264\configure 2018-08-11 23:51:35 -0600
|
||||
@@ -396,7 +396,7 @@
|
||||
# list of all preprocessor HAVE values we can define
|
||||
CONFIG_HAVE="MALLOC_H ALTIVEC ALTIVEC_H MMX ARMV6 ARMV6T2 NEON BEOSTHREAD POSIXTHREAD WIN32THREAD THREAD LOG2F SWSCALE \
|
||||
LAVF FFMS GPAC AVS GPL VECTOREXT INTERLACED CPU_COUNT OPENCL THP LSMASH X86_INLINE_ASM AS_FUNC INTEL_DISPATCHER \
|
||||
- MSA MMAP WINRT VSX ARM_INLINE_ASM STRTOK_R BITDEPTH8 BITDEPTH10"
|
||||
+ MSA MMAP WINRT VSX ARM_INLINE_ASM BITDEPTH8 BITDEPTH10"
|
||||
|
||||
# parse options
|
||||
|
||||
@@ -1071,10 +1071,6 @@
|
||||
define HAVE_LOG2F
|
||||
fi
|
||||
|
||||
-if cc_check 'string.h' '' 'strtok_r(0, 0, 0);' ; then
|
||||
- define HAVE_STRTOK_R
|
||||
-fi
|
||||
-
|
||||
if [ "$SYS" != "WINDOWS" ] && cpp_check "sys/mman.h unistd.h" "" "defined(MAP_PRIVATE)"; then
|
||||
define HAVE_MMAP
|
||||
fi
|
@@ -78,23 +78,22 @@ class VersionInfo:
|
||||
blender_h = os.path.join(builder.blender_dir, "source", "blender", "blenkernel", "BKE_blender_version.h")
|
||||
|
||||
version_number = int(self._parse_header_file(blender_h, 'BLENDER_VERSION'))
|
||||
self.version = "%d.%d" % (version_number // 100, version_number % 100)
|
||||
self.version_char = self._parse_header_file(blender_h, 'BLENDER_VERSION_CHAR')
|
||||
version_number_patch = int(self._parse_header_file(blender_h, 'BLENDER_VERSION_PATCH'))
|
||||
version_numbers = (version_number // 100, version_number % 100, version_number_patch)
|
||||
self.short_version = "%d.%02d" % (version_numbers[0], version_numbers[1])
|
||||
self.version = "%d.%02d.%d" % version_numbers
|
||||
self.version_cycle = self._parse_header_file(blender_h, 'BLENDER_VERSION_CYCLE')
|
||||
self.version_cycle_number = self._parse_header_file(blender_h, 'BLENDER_VERSION_CYCLE_NUMBER')
|
||||
self.hash = self._parse_header_file(buildinfo_h, 'BUILD_HASH')[1:-1]
|
||||
|
||||
if self.version_cycle == "release":
|
||||
# Final release
|
||||
self.full_version = self.version + self.version_char
|
||||
self.full_version = self.version
|
||||
self.is_development_build = False
|
||||
elif self.version_cycle == "rc":
|
||||
# Release candidate
|
||||
version_cycle = self.version_cycle + self.version_cycle_number
|
||||
if len(self.version_char) == 0:
|
||||
self.full_version = self.version + version_cycle
|
||||
else:
|
||||
self.full_version = self.version + self.version_char + '-' + version_cycle
|
||||
self.full_version = self.version + version_cycle
|
||||
self.is_development_build = False
|
||||
else:
|
||||
# Development build
|
||||
|
@@ -7,9 +7,6 @@ message(STATUS "Building in CentOS 7 64bit environment")
|
||||
set(LIBDIR_NAME "linux_centos7_x86_64")
|
||||
set(WITH_CXX11_ABI OFF CACHE BOOL "" FORCE)
|
||||
|
||||
# Default to only build Blender
|
||||
set(WITH_BLENDER ON CACHE BOOL "" FORCE)
|
||||
|
||||
# ######## Linux-specific build options ########
|
||||
# Options which are specific to Linux-only platforms
|
||||
|
||||
@@ -20,12 +17,6 @@ set(WITH_DOC_MANPAGE OFF CACHE BOOL "" FORCE)
|
||||
|
||||
set(WITH_JACK_DYNLOAD ON CACHE BOOL "" FORCE)
|
||||
set(WITH_SDL_DYNLOAD ON CACHE BOOL "" FORCE)
|
||||
set(WITH_SYSTEM_GLEW OFF CACHE BOOL "" FORCE)
|
||||
|
||||
set(WITH_OPENMP_STATIC ON CACHE BOOL "" FORCE)
|
||||
|
||||
set(WITH_PYTHON_INSTALL_NUMPY ON CACHE BOOL "" FORCE)
|
||||
set(WITH_PYTHON_INSTALL_REQUESTS ON CACHE BOOL "" FORCE)
|
||||
|
||||
# ######## Release environment specific settings ########
|
||||
|
||||
@@ -33,13 +24,5 @@ set(LIBDIR "${CMAKE_CURRENT_LIST_DIR}/../../../../lib/${LIBDIR_NAME}" CACHE STRI
|
||||
|
||||
# Platform specific configuration, to ensure static linking against everything.
|
||||
|
||||
set(Boost_USE_STATIC_LIBS ON CACHE BOOL "" FORCE)
|
||||
|
||||
# We need to link OpenCOLLADA against PCRE library. Even though it is not installed
|
||||
# on /usr, we do not really care -- all we care is PCRE_FOUND be TRUE and its
|
||||
# library pointing to a valid one.
|
||||
set(PCRE_INCLUDE_DIR "/usr/include" CACHE STRING "" FORCE)
|
||||
set(PCRE_LIBRARY "${LIBDIR}/opencollada/lib/libpcre.a" CACHE STRING "" FORCE)
|
||||
|
||||
# Additional linking libraries
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-lrt -static-libstdc++ -no-pie" CACHE STRING "" FORCE)
|
||||
|
@@ -167,7 +167,7 @@ def pack_linux(builder):
|
||||
buildbot_utils.call(builder.command_prefix + ['strip', '--strip-all', blender_executable])
|
||||
|
||||
print("Stripping python...")
|
||||
py_target = os.path.join(builder.install_dir, info.version)
|
||||
py_target = os.path.join(builder.install_dir, info.short_version)
|
||||
buildbot_utils.call(builder.command_prefix + ['find', py_target, '-iname', '*.so', '-exec', 'strip', '-s', '{}', ';'])
|
||||
|
||||
# Construct package name
|
||||
|
@@ -104,6 +104,7 @@ FOREACH(COMPONENT ${_openexr_FIND_COMPONENTS})
|
||||
FIND_LIBRARY(OPENEXR_${UPPERCOMPONENT}_LIBRARY
|
||||
NAMES
|
||||
${COMPONENT}-${_openexr_libs_ver} ${COMPONENT}
|
||||
NAMES_PER_DIR
|
||||
HINTS
|
||||
${_openexr_SEARCH_DIRS}
|
||||
PATH_SUFFIXES
|
||||
|
@@ -95,7 +95,7 @@ FIND_LIBRARY(OPENIMAGEDENOISE_LIBRARY
|
||||
# handle the QUIETLY and REQUIRED arguments and set OPENIMAGEDENOISE_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OPENIMAGEDENOISE DEFAULT_MSG
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenImageDenoise DEFAULT_MSG
|
||||
OPENIMAGEDENOISE_LIBRARY OPENIMAGEDENOISE_INCLUDE_DIR)
|
||||
|
||||
IF(OPENIMAGEDENOISE_FOUND)
|
||||
|
@@ -43,6 +43,7 @@ FIND_PATH(USD_INCLUDE_DIR
|
||||
FIND_LIBRARY(USD_LIBRARY
|
||||
NAMES
|
||||
usd_m usd_ms
|
||||
NAMES_PER_DIR
|
||||
HINTS
|
||||
${_usd_SEARCH_DIRS}
|
||||
PATH_SUFFIXES
|
||||
|
73
build_files/cmake/Modules/FindXR-OpenXR-SDK.cmake
Normal file
73
build_files/cmake/Modules/FindXR-OpenXR-SDK.cmake
Normal file
@@ -0,0 +1,73 @@
|
||||
# - Find OpenXR-SDK libraries
|
||||
# Find the native OpenXR-SDK includes and libraries
|
||||
#
|
||||
# Note that there is a distinction between the OpenXR standard and the SDK. The
|
||||
# latter provides utilities to use the standard but is not part of it. Most
|
||||
# importantly, it contains C headers and a loader library, which manages
|
||||
# dynamic linking to OpenXR runtimes like Monado, Windows Mixed Reality or
|
||||
# Oculus. See the repository for more details:
|
||||
# https://github.com/KhronosGroup/OpenXR-SDK
|
||||
#
|
||||
# This module defines
|
||||
# XR_OPENXR_SDK_INCLUDE_DIRS, where to find OpenXR-SDK headers, Set when
|
||||
# XR_OPENXR_SDK_INCLUDE_DIR is found.
|
||||
# XR_OPENXR_SDK_LIBRARIES, libraries to link against to use OpenXR.
|
||||
# XR_OPENXR_SDK_ROOT_DIR, the base directory to search for OpenXR-SDK.
|
||||
# This can also be an environment variable.
|
||||
# XR_OPENXR_SDK_FOUND, if false, do not try to use OpenXR-SDK.
|
||||
#
|
||||
# also defined, but not for general use are
|
||||
# XR_OPENXR_SDK_LOADER_LIBRARY, where to find the OpenXR-SDK loader library.
|
||||
|
||||
#=============================================================================
|
||||
# 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 XR_OPENXR_SDK_ROOT_DIR was defined in the environment, use it.
|
||||
IF(NOT XR_OPENXR_SDK_ROOT_DIR AND NOT $ENV{XR_OPENXR_SDK_ROOT_DIR} STREQUAL "")
|
||||
SET(XR_OPENXR_SDK_ROOT_DIR $ENV{XR_OPENXR_SDK_ROOT_DIR})
|
||||
ENDIF()
|
||||
|
||||
SET(_xr_openxr_sdk_SEARCH_DIRS
|
||||
${XR_OPENXR_SDK_ROOT_DIR}
|
||||
/opt/lib/xr-openxr-sdk
|
||||
)
|
||||
|
||||
FIND_PATH(XR_OPENXR_SDK_INCLUDE_DIR
|
||||
NAMES
|
||||
openxr/openxr.h
|
||||
HINTS
|
||||
${_xr_openxr_sdk_SEARCH_DIRS}
|
||||
PATH_SUFFIXES
|
||||
include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(XR_OPENXR_SDK_LOADER_LIBRARY
|
||||
NAMES
|
||||
openxr_loader
|
||||
HINTS
|
||||
${_xr_openxr_sdk_SEARCH_DIRS}
|
||||
PATH_SUFFIXES
|
||||
lib64 lib
|
||||
)
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set XR_OPENXR_SDK_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(XR_OPENXR_SDK DEFAULT_MSG
|
||||
XR_OPENXR_SDK_LOADER_LIBRARY XR_OPENXR_SDK_INCLUDE_DIR)
|
||||
|
||||
IF(XR_OPENXR_SDK_FOUND)
|
||||
SET(XR_OPENXR_SDK_LIBRARIES ${XR_OPENXR_SDK_LOADER_LIBRARY})
|
||||
SET(XR_OPENXR_SDK_INCLUDE_DIRS ${XR_OPENXR_SDK_INCLUDE_DIR})
|
||||
ENDIF(XR_OPENXR_SDK_FOUND)
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
XR_OPENXR_SDK_INCLUDE_DIR
|
||||
XR_OPENXR_SDK_LOADER_LIBRARY
|
||||
)
|
@@ -66,6 +66,9 @@ macro(BLENDER_SRC_GTEST_EX)
|
||||
if(UNIX AND NOT APPLE)
|
||||
target_link_libraries(${TARGET_NAME} bf_intern_libc_compat)
|
||||
endif()
|
||||
if(WITH_TBB)
|
||||
target_link_libraries(${TARGET_NAME} ${TBB_LIBRARIES})
|
||||
endif()
|
||||
|
||||
get_property(GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
if(GENERATOR_IS_MULTI_CONFIG)
|
||||
|
@@ -61,3 +61,6 @@ if(UNIX AND NOT APPLE)
|
||||
set(WITH_X11_XINPUT ON CACHE BOOL "" FORCE)
|
||||
set(WITH_X11_XF86VMODE ON CACHE BOOL "" FORCE)
|
||||
endif()
|
||||
if(NOT APPLE)
|
||||
set(WITH_XR_OPENXR ON CACHE BOOL "" FORCE)
|
||||
endif()
|
||||
|
@@ -44,6 +44,7 @@ set(WITH_OPENAL OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_OPENCOLLADA OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_OPENCOLORIO OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_OPENIMAGEDENOISE OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_XR_OPENXR OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_OPENIMAGEIO OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_OPENMP OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_OPENSUBDIV OFF CACHE BOOL "" FORCE)
|
||||
@@ -51,6 +52,7 @@ set(WITH_OPENVDB OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_QUADRIFLOW OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_SDL OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_TBB OFF CACHE BOOL "" FORCE)
|
||||
set(WITH_USD OFF CACHE BOOL "" FORCE)
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
set(WITH_GHOST_XDND OFF CACHE BOOL "" FORCE)
|
||||
|
@@ -65,3 +65,6 @@ if(UNIX AND NOT APPLE)
|
||||
set(WITH_X11_XINPUT ON CACHE BOOL "" FORCE)
|
||||
set(WITH_X11_XF86VMODE ON CACHE BOOL "" FORCE)
|
||||
endif()
|
||||
if(NOT APPLE)
|
||||
set(WITH_XR_OPENXR ON CACHE BOOL "" FORCE)
|
||||
endif()
|
||||
|
@@ -122,7 +122,7 @@ function(target_link_libraries_optimized
|
||||
)
|
||||
|
||||
foreach(_LIB ${LIBS})
|
||||
target_link_libraries(${TARGET} optimized "${_LIB}")
|
||||
target_link_libraries(${TARGET} INTERFACE optimized "${_LIB}")
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
@@ -132,7 +132,7 @@ function(target_link_libraries_debug
|
||||
)
|
||||
|
||||
foreach(_LIB ${LIBS})
|
||||
target_link_libraries(${TARGET} debug "${_LIB}")
|
||||
target_link_libraries(${TARGET} INTERFACE debug "${_LIB}")
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
@@ -170,6 +170,7 @@ function(blender_include_dirs_sys
|
||||
endfunction()
|
||||
|
||||
function(blender_source_group
|
||||
name
|
||||
sources
|
||||
)
|
||||
|
||||
@@ -205,6 +206,13 @@ function(blender_source_group
|
||||
source_group("${GROUP_ID}" FILES ${_SRC})
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
# if enabled, set the FOLDER property for visual studio projects
|
||||
if(WINDOWS_USE_VISUAL_STUDIO_PROJECT_FOLDERS)
|
||||
get_filename_component(FolderDir ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY)
|
||||
string(REPLACE ${CMAKE_SOURCE_DIR} "" FolderDir ${FolderDir})
|
||||
set_target_properties(${name} PROPERTIES FOLDER ${FolderDir})
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
|
||||
@@ -295,11 +303,11 @@ function(blender_add_lib__impl
|
||||
set(next_library_mode "${library_lower}")
|
||||
else()
|
||||
if("${next_library_mode}" STREQUAL "optimized")
|
||||
target_link_libraries(${name} optimized ${library})
|
||||
target_link_libraries(${name} INTERFACE optimized ${library})
|
||||
elseif("${next_library_mode}" STREQUAL "debug")
|
||||
target_link_libraries(${name} debug ${library})
|
||||
target_link_libraries(${name} INTERFACE debug ${library})
|
||||
else()
|
||||
target_link_libraries(${name} ${library})
|
||||
target_link_libraries(${name} INTERFACE ${library})
|
||||
endif()
|
||||
set(next_library_mode "")
|
||||
endif()
|
||||
@@ -308,14 +316,7 @@ function(blender_add_lib__impl
|
||||
|
||||
# works fine without having the includes
|
||||
# listed is helpful for IDE's (QtCreator/MSVC)
|
||||
blender_source_group("${sources}")
|
||||
|
||||
# if enabled, set the FOLDER property for visual studio projects
|
||||
if(WINDOWS_USE_VISUAL_STUDIO_PROJECT_FOLDERS)
|
||||
get_filename_component(FolderDir ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY)
|
||||
string(REPLACE ${CMAKE_SOURCE_DIR} "" FolderDir ${FolderDir})
|
||||
set_target_properties(${name} PROPERTIES FOLDER ${FolderDir})
|
||||
endif()
|
||||
blender_source_group("${name}" "${sources}")
|
||||
|
||||
list_assert_duplicates("${sources}")
|
||||
list_assert_duplicates("${includes}")
|
||||
@@ -439,6 +440,14 @@ function(SETUP_LIBDIRS)
|
||||
link_directories(${HDF5_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()
|
||||
@@ -747,8 +756,7 @@ function(get_blender_version)
|
||||
# - BLENDER_VERSION (major.minor)
|
||||
# - BLENDER_VERSION_MAJOR
|
||||
# - BLENDER_VERSION_MINOR
|
||||
# - BLENDER_SUBVERSION (used for internal versioning mainly)
|
||||
# - BLENDER_VERSION_CHAR (a, b, c, ...or empty string)
|
||||
# - BLENDER_VERSION_PATCH
|
||||
# - BLENDER_VERSION_CYCLE (alpha, beta, rc, release)
|
||||
|
||||
# So cmake depends on BKE_blender.h, beware of inf-loops!
|
||||
@@ -758,25 +766,15 @@ function(get_blender_version)
|
||||
file(STRINGS ${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender_version.h _contents REGEX "^#define[ \t]+BLENDER_.*$")
|
||||
|
||||
string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION[ \t]+([0-9]+).*" "\\1" _out_version "${_contents}")
|
||||
string(REGEX REPLACE ".*#define[ \t]+BLENDER_SUBVERSION[ \t]+([0-9]+).*" "\\1" _out_subversion "${_contents}")
|
||||
string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION_CHAR[ \t]+([a-z]+).*" "\\1" _out_version_char "${_contents}")
|
||||
string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION_PATCH[ \t]+([0-9]+).*" "\\1" _out_version_patch "${_contents}")
|
||||
string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION_CYCLE[ \t]+([a-z]+).*" "\\1" _out_version_cycle "${_contents}")
|
||||
|
||||
if(NOT ${_out_version} MATCHES "[0-9]+")
|
||||
message(FATAL_ERROR "Version parsing failed for BLENDER_VERSION")
|
||||
endif()
|
||||
|
||||
if(NOT ${_out_subversion} MATCHES "[0-9]+")
|
||||
message(FATAL_ERROR "Version parsing failed for BLENDER_SUBVERSION")
|
||||
endif()
|
||||
|
||||
# clumsy regex, only single char are ok but it could be unset
|
||||
|
||||
string(LENGTH "${_out_version_char}" _out_version_char_len)
|
||||
if(NOT _out_version_char_len EQUAL 1)
|
||||
set(_out_version_char "")
|
||||
elseif(NOT ${_out_version_char} MATCHES "[a-z]+")
|
||||
message(FATAL_ERROR "Version parsing failed for BLENDER_VERSION_CHAR")
|
||||
if(NOT ${_out_version_patch} MATCHES "[0-9]+")
|
||||
message(FATAL_ERROR "Version parsing failed for BLENDER_VERSION_PATCH")
|
||||
endif()
|
||||
|
||||
if(NOT ${_out_version_cycle} MATCHES "[a-z]+")
|
||||
@@ -786,23 +784,11 @@ function(get_blender_version)
|
||||
math(EXPR _out_version_major "${_out_version} / 100")
|
||||
math(EXPR _out_version_minor "${_out_version} % 100")
|
||||
|
||||
# for packaging, alpha to numbers
|
||||
string(COMPARE EQUAL "${_out_version_char}" "" _out_version_char_empty)
|
||||
if(${_out_version_char_empty})
|
||||
set(_out_version_char_index "0")
|
||||
else()
|
||||
set(_char_ls a b c d e f g h i j k l m n o p q r s t u v w x y z)
|
||||
list(FIND _char_ls ${_out_version_char} _out_version_char_index)
|
||||
math(EXPR _out_version_char_index "${_out_version_char_index} + 1")
|
||||
endif()
|
||||
|
||||
# output vars
|
||||
set(BLENDER_VERSION "${_out_version_major}.${_out_version_minor}" PARENT_SCOPE)
|
||||
set(BLENDER_VERSION_MAJOR "${_out_version_major}" PARENT_SCOPE)
|
||||
set(BLENDER_VERSION_MINOR "${_out_version_minor}" PARENT_SCOPE)
|
||||
set(BLENDER_SUBVERSION "${_out_subversion}" PARENT_SCOPE)
|
||||
set(BLENDER_VERSION_CHAR "${_out_version_char}" PARENT_SCOPE)
|
||||
set(BLENDER_VERSION_CHAR_INDEX "${_out_version_char_index}" PARENT_SCOPE)
|
||||
set(BLENDER_VERSION_PATCH "${_out_version_patch}" PARENT_SCOPE)
|
||||
set(BLENDER_VERSION_CYCLE "${_out_version_cycle}" PARENT_SCOPE)
|
||||
|
||||
endfunction()
|
||||
@@ -946,7 +932,7 @@ function(data_to_c_simple
|
||||
set_source_files_properties(${_file_to} PROPERTIES GENERATED TRUE)
|
||||
endfunction()
|
||||
|
||||
# macro for converting pixmap directory to a png and then a c file
|
||||
# Function for converting pixmap directory to a '.png' and then a '.c' file.
|
||||
function(data_to_c_simple_icons
|
||||
path_from icon_prefix icon_names
|
||||
list_to_add
|
||||
@@ -1159,12 +1145,12 @@ macro(blender_precompile_headers target cpp header)
|
||||
endmacro()
|
||||
|
||||
macro(set_and_warn_dependency
|
||||
_dependency _setting _val)
|
||||
# when $_dependency is disabled, forces $_setting = $_val
|
||||
if(NOT ${${_dependency}} AND ${${_setting}})
|
||||
message(STATUS "'${_dependency}' is disabled: forcing 'set(${_setting} ${_val})'")
|
||||
set(${_setting} ${_val})
|
||||
endif()
|
||||
_dependency _setting _val)
|
||||
# when $_dependency is disabled, forces $_setting = $_val
|
||||
if(NOT ${${_dependency}} AND ${${_setting}})
|
||||
message(STATUS "'${_dependency}' is disabled: forcing 'set(${_setting} ${_val})'")
|
||||
set(${_setting} ${_val})
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(without_system_libs_begin)
|
||||
|
@@ -7,7 +7,7 @@ set(PROJECT_VENDOR "Blender Foundation")
|
||||
|
||||
set(MAJOR_VERSION ${BLENDER_VERSION_MAJOR})
|
||||
set(MINOR_VERSION ${BLENDER_VERSION_MINOR})
|
||||
set(PATCH_VERSION ${BLENDER_VERSION_CHAR_INDEX})
|
||||
set(PATCH_VERSION ${BLENDER_VERSION_PATCH})
|
||||
|
||||
set(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME})
|
||||
set(CPACK_PACKAGE_DESCRIPTION ${PROJECT_DESCRIPTION})
|
||||
|
@@ -222,12 +222,10 @@ if(WITH_OPENCOLLADA)
|
||||
-lMathMLSolver
|
||||
-lGeneratedSaxParser
|
||||
-lbuffer -lftoa -lUTF
|
||||
${OPENCOLLADA_LIBPATH}/libxml2.a
|
||||
)
|
||||
# PCRE is bundled with openCollada
|
||||
# set(PCRE ${LIBDIR}/pcre)
|
||||
# set(PCRE_LIBPATH ${PCRE}/lib)
|
||||
# PCRE and XML2 are bundled with OpenCollada.
|
||||
set(PCRE_LIBRARIES pcre)
|
||||
set(XML2_LIBRARIES xml2)
|
||||
endif()
|
||||
|
||||
if(WITH_SDL)
|
||||
@@ -411,11 +409,21 @@ if(WITH_OPENMP)
|
||||
|
||||
# Copy libomp.dylib to allow executables like datatoc and tests to work.
|
||||
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)
|
||||
COMMAND mkdir -p ${CMAKE_BINARY_DIR}/Resources/lib
|
||||
COMMAND cp -p ${LIBDIR}/openmp/lib/libomp.dylib ${CMAKE_BINARY_DIR}/Resources/lib/libomp.dylib
|
||||
)
|
||||
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)
|
||||
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
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(WITH_XR_OPENXR)
|
||||
find_package(OpenXR-SDK)
|
||||
if(NOT OPENXR_SDK_FOUND)
|
||||
message(WARNING "OpenXR-SDK was not found, disabling WITH_XR_OPENXR")
|
||||
set(WITH_XR_OPENXR OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -439,7 +447,9 @@ 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
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftemplate-depth=1024")
|
||||
endif()
|
||||
# Get rid of eventually clashes, we export some symbols explicitly as local
|
||||
|
||||
# Avoid conflicts with Luxrender, and other plug-ins that may use the same
|
||||
# libraries as Blender with a different version or build options.
|
||||
set(PLATFORM_LINKFLAGS
|
||||
"${PLATFORM_LINKFLAGS} -Xlinker -unexported_symbols_list -Xlinker '${CMAKE_SOURCE_DIR}/source/creator/osx_locals.map'"
|
||||
)
|
||||
|
@@ -20,10 +20,6 @@
|
||||
|
||||
# Xcode and system configuration for Apple.
|
||||
|
||||
# require newer cmake on osx because of version handling,
|
||||
# older cmake cannot handle 2 digit subversion!
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
|
||||
if(NOT CMAKE_OSX_ARCHITECTURES)
|
||||
set(CMAKE_OSX_ARCHITECTURES x86_64 CACHE STRING
|
||||
"Choose the architecture you want to build Blender for: i386, x86_64 or ppc"
|
||||
@@ -45,54 +41,98 @@ execute_process(
|
||||
OUTPUT_VARIABLE XCODE_CHECK OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
string(REPLACE "/Contents/Developer" "" XCODE_BUNDLE ${XCODE_CHECK}) # truncate to bundlepath in any case
|
||||
|
||||
if(${CMAKE_GENERATOR} MATCHES "Xcode")
|
||||
if(NOT ${CMAKE_GENERATOR} MATCHES "Xcode")
|
||||
# Unix makefile generator does not fill XCODE_VERSION var, so we get it with a command.
|
||||
# Note that `xcodebuild -version` gives output in two lines: first line will include
|
||||
# Xcode version, second one will include build number. We are only interested in the
|
||||
# former one. Here is an example of the output:
|
||||
# Xcode 11.4
|
||||
# Build version 11E146
|
||||
# The expected XCODE_VERSION in this case is 11.4.
|
||||
|
||||
# earlier xcode has no bundled developer dir, no sense in getting xcode path from
|
||||
if(${XCODE_VERSION} VERSION_GREATER 4.2)
|
||||
# reduce to XCode name without dp extension
|
||||
string(SUBSTRING "${XCODE_CHECK}" 14 6 DP_NAME)
|
||||
if(${DP_NAME} MATCHES Xcode5)
|
||||
set(XCODE_VERSION 5)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
##### cmake incompatibility with xcode 4.3 and higher #####
|
||||
if(${XCODE_VERSION} MATCHES '') # cmake fails due looking for xcode in the wrong path, thus will be empty var
|
||||
message(FATAL_ERROR "Xcode 4.3 and higher must be used with cmake 2.8-8 or higher")
|
||||
endif()
|
||||
### end cmake incompatibility with xcode 4.3 and higher ###
|
||||
|
||||
if(${XCODE_VERSION} VERSION_EQUAL 4 OR ${XCODE_VERSION} VERSION_GREATER 4 AND ${XCODE_VERSION} VERSION_LESS 4.3)
|
||||
# Xcode 4 defaults to the Apple LLVM Compiler.
|
||||
# Override the default compiler selection because Blender only compiles with gcc up to xcode 4.2
|
||||
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42")
|
||||
message(STATUS "Setting compiler to: " ${CMAKE_XCODE_ATTRIBUTE_GCC_VERSION})
|
||||
endif()
|
||||
else() # unix makefile generator does not fill XCODE_VERSION var, so we get it with a command
|
||||
execute_process(COMMAND xcodebuild -version OUTPUT_VARIABLE XCODE_VERS_BUILD_NR)
|
||||
string(SUBSTRING "${XCODE_VERS_BUILD_NR}" 6 3 XCODE_VERSION) # truncate away build-nr
|
||||
|
||||
# Convert output to a single line by replacling newlines with spaces.
|
||||
# This is needed because regex replace can not operate through the newline character
|
||||
# and applies substitutions for each individual lines.
|
||||
string(REPLACE "\n" " " XCODE_VERS_BUILD_NR_SINGLE_LINE "${XCODE_VERS_BUILD_NR}")
|
||||
|
||||
string(REGEX REPLACE "(.*)Xcode ([0-9\\.]+).*" "\\2" XCODE_VERSION "${XCODE_VERS_BUILD_NR_SINGLE_LINE}")
|
||||
|
||||
unset(XCODE_VERS_BUILD_NR)
|
||||
unset(XCODE_VERS_BUILD_NR_SINGLE_LINE)
|
||||
endif()
|
||||
|
||||
message(STATUS "Detected OS X ${OSX_SYSTEM} and Xcode ${XCODE_VERSION} at ${XCODE_BUNDLE}")
|
||||
|
||||
if(${XCODE_VERSION} VERSION_LESS 4.3)
|
||||
# use guaranteed existing sdk
|
||||
set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX${OSX_SYSTEM}.sdk CACHE PATH "" FORCE)
|
||||
else()
|
||||
# note: xcode-select path could be ambiguous,
|
||||
# cause /Applications/Xcode.app/Contents/Developer or /Applications/Xcode.app would be allowed
|
||||
# so i use a selfcomposed bundlepath here
|
||||
set(OSX_SYSROOT_PREFIX ${XCODE_BUNDLE}/Contents/Developer/Platforms/MacOSX.platform)
|
||||
message(STATUS "OSX_SYSROOT_PREFIX: " ${OSX_SYSROOT_PREFIX})
|
||||
set(OSX_DEVELOPER_PREFIX /Developer/SDKs/MacOSX${OSX_SYSTEM}.sdk) # use guaranteed existing sdk
|
||||
set(CMAKE_OSX_SYSROOT ${OSX_SYSROOT_PREFIX}/${OSX_DEVELOPER_PREFIX} CACHE PATH "" FORCE)
|
||||
if(${CMAKE_GENERATOR} MATCHES "Xcode")
|
||||
# to silence sdk not found warning, just overrides CMAKE_OSX_SYSROOT
|
||||
set(CMAKE_XCODE_ATTRIBUTE_SDKROOT macosx${OSX_SYSTEM})
|
||||
endif()
|
||||
# Older Xcode versions had different approach to the directory hiearchy.
|
||||
# Require newer Xcode which is also have better chances of being able to compile with the
|
||||
# required deployment target.
|
||||
#
|
||||
# NOTE: Xcode version 8.2 is the latest one which runs on macOS 10.11.
|
||||
if(${XCODE_VERSION} VERSION_LESS 8.2)
|
||||
message(FATAL_ERROR "Only Xcode version 8.2 and newer is supported")
|
||||
endif()
|
||||
|
||||
# note: xcode-select path could be ambiguous,
|
||||
# cause /Applications/Xcode.app/Contents/Developer or /Applications/Xcode.app would be allowed
|
||||
# so i use a selfcomposed bundlepath here
|
||||
set(OSX_SYSROOT_PREFIX ${XCODE_BUNDLE}/Contents/Developer/Platforms/MacOSX.platform)
|
||||
message(STATUS "OSX_SYSROOT_PREFIX: " ${OSX_SYSROOT_PREFIX})
|
||||
|
||||
# Collect list of OSX system versions which will be used to detect path to corresponding SDK.
|
||||
# Start with macOS SDK version reported by xcodebuild and include possible extra ones.
|
||||
#
|
||||
# The reason for need of extra ones is because it's possible that xcodebuild will report
|
||||
# SDK version in the full manner (aka major.minor.patch), but the actual path will only
|
||||
# include major.minor.
|
||||
#
|
||||
# This happens, for example, on macOS Catalina 10.15.4 and Xcode 11.4: xcodebuild on this
|
||||
# system outputs "10.15.4", but the actual SDK path is MacOSX10.15.sdk.
|
||||
#
|
||||
# This should be safe from picking wrong SDK version because (a) xcodebuild reports full semantic
|
||||
# SDK version, so such SDK does exist on the system. And if it doesn't exist with full version
|
||||
# in the path, what SDK is in the major.minor folder then.
|
||||
set(OSX_SDK_TEST_VERSIONS ${OSX_SYSTEM})
|
||||
if(OSX_SYSTEM MATCHES "([0-9]+)\\.([0-9]+)\\.([0-9]+)")
|
||||
string(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1.\\2" OSX_SYSTEM_NO_PATCH "${OSX_SYSTEM}")
|
||||
list(APPEND OSX_SDK_TEST_VERSIONS ${OSX_SYSTEM_NO_PATCH})
|
||||
unset(OSX_SYSTEM_NO_PATCH)
|
||||
endif()
|
||||
|
||||
# Loop through all possible versions and pick the first one which resolves to a valid SDK path.
|
||||
set(OSX_SDK_PATH)
|
||||
set(OSX_SDK_FOUND FALSE)
|
||||
set(OSX_SDK_PREFIX ${OSX_SYSROOT_PREFIX}/Developer/SDKs)
|
||||
set(OSX_SDKROOT)
|
||||
foreach(OSX_SDK_VERSION ${OSX_SDK_TEST_VERSIONS})
|
||||
set(CURRENT_OSX_SDK_PATH "${OSX_SDK_PREFIX}/MacOSX${OSX_SDK_VERSION}.sdk")
|
||||
if(EXISTS ${CURRENT_OSX_SDK_PATH})
|
||||
set(OSX_SDK_PATH "${CURRENT_OSX_SDK_PATH}")
|
||||
set(OSX_SDKROOT macosx${OSX_SDK_VERSION})
|
||||
set(OSX_SDK_FOUND TRUE)
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
unset(OSX_SDK_PREFIX)
|
||||
unset(OSX_SDK_TEST_VERSIONS)
|
||||
|
||||
if(NOT OSX_SDK_FOUND)
|
||||
message(FATAL_ERROR "Unable to find SDK for macOS version ${OSX_SYSTEM}")
|
||||
endif()
|
||||
|
||||
message(STATUS "Detected OSX_SYSROOT: ${OSX_SDK_PATH}")
|
||||
|
||||
set(CMAKE_OSX_SYSROOT ${OSX_SDK_PATH} CACHE PATH "" FORCE)
|
||||
unset(OSX_SDK_PATH)
|
||||
unset(OSX_SDK_FOUND)
|
||||
|
||||
if(${CMAKE_GENERATOR} MATCHES "Xcode")
|
||||
# to silence sdk not found warning, just overrides CMAKE_OSX_SYSROOT
|
||||
set(CMAKE_XCODE_ATTRIBUTE_SDKROOT ${OSX_SDKROOT})
|
||||
endif()
|
||||
unset(OSX_SDKROOT)
|
||||
|
||||
# 10.11 is our min. target, if you use higher sdk, weak linking happens
|
||||
if(CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||
if(${CMAKE_OSX_DEPLOYMENT_TARGET} VERSION_LESS 10.11)
|
||||
|
@@ -57,6 +57,7 @@ if(EXISTS ${LIBDIR})
|
||||
set(BOOST_ROOT ${LIBDIR}/boost)
|
||||
set(BOOST_LIBRARYDIR ${LIBDIR}/boost/lib)
|
||||
set(Boost_NO_SYSTEM_PATHS ON)
|
||||
set(OPENEXR_ROOT_DIR ${LIBDIR}/openexr)
|
||||
endif()
|
||||
|
||||
if(WITH_STATIC_LIBS)
|
||||
@@ -195,8 +196,14 @@ endif()
|
||||
if(WITH_OPENCOLLADA)
|
||||
find_package_wrapper(OpenCOLLADA)
|
||||
if(OPENCOLLADA_FOUND)
|
||||
if(WITH_STATIC_LIBS)
|
||||
# PCRE is bundled with OpenCollada without headers, so can't use
|
||||
# find_package reliably to detect it.
|
||||
set(PCRE_LIBRARIES ${LIBDIR}/opencollada/lib/libpcre.a)
|
||||
else()
|
||||
find_package_wrapper(PCRE)
|
||||
endif()
|
||||
find_package_wrapper(XML2)
|
||||
find_package_wrapper(PCRE)
|
||||
else()
|
||||
set(WITH_OPENCOLLADA OFF)
|
||||
endif()
|
||||
@@ -405,13 +412,6 @@ if(WITH_LLVM)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(WITH_LLVM OR WITH_SDL_DYNLOAD)
|
||||
# Fix for conflict with Mesa llvmpipe
|
||||
set(PLATFORM_LINKFLAGS
|
||||
"${PLATFORM_LINKFLAGS} -Wl,--version-script='${CMAKE_SOURCE_DIR}/source/creator/blender.map'"
|
||||
)
|
||||
endif()
|
||||
|
||||
if(WITH_OPENSUBDIV)
|
||||
find_package_wrapper(OpenSubdiv)
|
||||
|
||||
@@ -428,6 +428,14 @@ if(WITH_TBB)
|
||||
find_package_wrapper(TBB)
|
||||
endif()
|
||||
|
||||
if(WITH_XR_OPENXR)
|
||||
find_package(XR-OpenXR-SDK)
|
||||
if(NOT XR_OPENXR_SDK_FOUND)
|
||||
message(WARNING "OpenXR-SDK not found, disabling WITH_XR_OPENXR")
|
||||
set(WITH_XR_OPENXR OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(EXISTS ${LIBDIR})
|
||||
without_system_libs_end()
|
||||
endif()
|
||||
@@ -497,7 +505,27 @@ if(WITH_SYSTEM_AUDASPACE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(WITH_X11)
|
||||
if(WITH_GHOST_WAYLAND)
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(wayland-client REQUIRED wayland-client>=1.12)
|
||||
pkg_check_modules(wayland-egl REQUIRED wayland-egl)
|
||||
pkg_check_modules(wayland-scanner REQUIRED wayland-scanner)
|
||||
pkg_check_modules(xkbcommon REQUIRED xkbcommon)
|
||||
pkg_check_modules(wayland-cursor REQUIRED wayland-cursor)
|
||||
|
||||
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()
|
||||
endif()
|
||||
|
||||
if(WITH_GHOST_X11)
|
||||
find_package(X11 REQUIRED)
|
||||
|
||||
find_path(X11_XF86keysym_INCLUDE_PATH X11/XF86keysym.h ${X11_INC_SEARCH_PATH})
|
||||
@@ -568,6 +596,19 @@ if(CMAKE_COMPILER_IS_GNUCC)
|
||||
unset(LD_VERSION)
|
||||
endif()
|
||||
|
||||
if(WITH_LINKER_LLD)
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_C_COMPILER} -fuse-ld=lld -Wl,--version
|
||||
ERROR_QUIET OUTPUT_VARIABLE LD_VERSION)
|
||||
if("${LD_VERSION}" MATCHES "LLD")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fuse-ld=lld")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fuse-ld=lld")
|
||||
else()
|
||||
message(STATUS "LLD linker isn't available, using the default system linker.")
|
||||
endif()
|
||||
unset(LD_VERSION)
|
||||
endif()
|
||||
|
||||
# CLang is the same as GCC for now.
|
||||
elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||
set(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing")
|
||||
@@ -593,3 +634,16 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "Intel")
|
||||
set(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing")
|
||||
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -static-intel")
|
||||
endif()
|
||||
|
||||
# Avoid conflicts with Mesa llvmpipe, Luxrender, and other plug-ins that may
|
||||
# use the same libraries as Blender with a different version or build options.
|
||||
set(PLATFORM_LINKFLAGS
|
||||
"${PLATFORM_LINKFLAGS} -Wl,--version-script='${CMAKE_SOURCE_DIR}/source/creator/blender.map'"
|
||||
)
|
||||
|
||||
# Don't use position independent executable for portable install since file
|
||||
# browsers can't properly detect blender as an executable then. Still enabled
|
||||
# for non-portable installs as typically used by Linux distributions.
|
||||
if(WITH_INSTALL_PORTABLE)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -no-pie")
|
||||
endif()
|
||||
|
@@ -51,6 +51,10 @@ if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||
endif()
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} \"${CLANG_OPENMP_LIB}\"")
|
||||
endif()
|
||||
if(WITH_WINDOWS_STRIPPED_PDB)
|
||||
message(WARNING "stripped pdb not supported with clang, disabling..")
|
||||
set(WITH_WINDOWS_STRIPPED_PDB Off)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ${WINDOWS_USE_VISUAL_STUDIO_PROJECT_FOLDERS})
|
||||
@@ -107,12 +111,13 @@ endif()
|
||||
unset(_min_ver)
|
||||
|
||||
# needed for some MSVC installations
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /SAFESEH:NO")
|
||||
# 4099 : PDB 'filename' was not found with 'object/library'
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO /ignore:4099")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO /ignore:4099")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /SAFESEH:NO /ignore:4099")
|
||||
|
||||
list(APPEND PLATFORM_LINKLIBS
|
||||
ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 Comctl32
|
||||
ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 Comctl32 version
|
||||
advapi32 shfolder shell32 ole32 oleaut32 uuid psapi Dbghelp Shlwapi
|
||||
)
|
||||
|
||||
@@ -134,7 +139,12 @@ add_definitions(-D_ALLOW_KEYWORD_MACROS)
|
||||
# We want to support Windows 7 level ABI
|
||||
add_definitions(-D_WIN32_WINNT=0x601)
|
||||
include(build_files/cmake/platform/platform_win32_bundle_crt.cmake)
|
||||
remove_cc_flag("/MDd" "/MD")
|
||||
remove_cc_flag("/MDd" "/MD" "/Zi")
|
||||
|
||||
if(WITH_WINDOWS_PDB)
|
||||
set(PDB_INFO_OVERRIDE_FLAGS "/Z7")
|
||||
set(PDB_INFO_OVERRIDE_LINKER_FLAGS "/DEBUG /OPT:REF /OPT:ICF /INCREMENTAL:NO")
|
||||
endif()
|
||||
|
||||
if(MSVC_CLANG) # Clangs version of cl doesn't support all flags
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_WARN_FLAGS} /nologo /J /Gd /EHsc -Wno-unused-command-line-argument -Wno-microsoft-enum-forward-reference ")
|
||||
@@ -151,27 +161,42 @@ if(MSVC_VERSION GREATER 1911 AND NOT MSVC_CLANG)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:twoPhase-")
|
||||
endif()
|
||||
|
||||
if(WITH_WINDOWS_SCCACHE AND CMAKE_VS_MSBUILD_COMMAND)
|
||||
message(WARNING "Disabling sccache, sccache is not supported with msbuild")
|
||||
set(WITH_WINDOWS_SCCACHE Off)
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd /ZI")
|
||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MDd /ZI")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MD")
|
||||
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /MD")
|
||||
set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} /MD")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MD")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /MD")
|
||||
if(WITH_WINDOWS_SCCACHE)
|
||||
set(CMAKE_C_COMPILER_LAUNCHER sccache)
|
||||
set(CMAKE_CXX_COMPILER_LAUNCHER sccache)
|
||||
set(SYMBOL_FORMAT /Z7)
|
||||
else()
|
||||
unset(CMAKE_C_COMPILER_LAUNCHER)
|
||||
unset(CMAKE_CXX_COMPILER_LAUNCHER)
|
||||
set(SYMBOL_FORMAT /ZI)
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd ${SYMBOL_FORMAT}")
|
||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MDd ${SYMBOL_FORMAT}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD ${PDB_INFO_OVERRIDE_FLAGS}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MD ${PDB_INFO_OVERRIDE_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /MD ${PDB_INFO_OVERRIDE_FLAGS}")
|
||||
set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} /MD ${PDB_INFO_OVERRIDE_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MD ${SYMBOL_FORMAT}")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /MD ${SYMBOL_FORMAT}")
|
||||
unset(SYMBOL_FORMAT)
|
||||
# JMC is available on msvc 15.8 (1915) and up
|
||||
if(MSVC_VERSION GREATER 1914 AND NOT MSVC_CLANG)
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /JMC")
|
||||
endif()
|
||||
|
||||
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /SUBSYSTEM:CONSOLE /STACK:2097152 /INCREMENTAL:NO ")
|
||||
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /SUBSYSTEM:CONSOLE /STACK:2097152")
|
||||
set(PLATFORM_LINKFLAGS_RELEASE "/NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:msvcrtd.lib")
|
||||
set(PLATFORM_LINKFLAGS_DEBUG "${PLATFORM_LINKFLAGS_DEBUG} /IGNORE:4099 /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcmtd.lib")
|
||||
|
||||
# Ignore meaningless for us linker warnings.
|
||||
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /ignore:4049 /ignore:4217 /ignore:4221")
|
||||
set(PLATFORM_LINKFLAGS_RELEASE "${PLATFORM_LINKFLAGS} ${PDB_INFO_OVERRIDE_LINKER_FLAGS}")
|
||||
set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /ignore:4221")
|
||||
|
||||
if(CMAKE_CL_64)
|
||||
@@ -209,7 +234,7 @@ endif()
|
||||
|
||||
# Mark libdir as system headers with a lower warn level, to resolve some warnings
|
||||
# that we have very little control over
|
||||
if(MSVC_VERSION GREATER_EQUAL 1914 AND NOT MSVC_CLANG)
|
||||
if(MSVC_VERSION GREATER_EQUAL 1914 AND NOT MSVC_CLANG AND NOT WITH_WINDOWS_SCCACHE)
|
||||
add_compile_options(/experimental:external /external:templates- /external:I "${LIBDIR}" /external:W0)
|
||||
endif()
|
||||
|
||||
@@ -453,7 +478,7 @@ if(WITH_OPENIMAGEIO)
|
||||
set(OPENIMAGEIO_DEFINITIONS "-DUSE_TBB=0")
|
||||
set(OPENCOLORIO_DEFINITIONS "-DOCIO_STATIC_BUILD")
|
||||
set(OPENIMAGEIO_IDIFF "${OPENIMAGEIO}/bin/idiff.exe")
|
||||
add_definitions(-DOIIO_STATIC_BUILD)
|
||||
add_definitions(-DOIIO_STATIC_DEFINE)
|
||||
add_definitions(-DOIIO_NO_SSE=1)
|
||||
endif()
|
||||
|
||||
@@ -572,7 +597,7 @@ if(WITH_SYSTEM_AUDASPACE)
|
||||
endif()
|
||||
|
||||
if(WITH_TBB)
|
||||
set(TBB_LIBRARIES optimized ${LIBDIR}/tbb/lib/tbb.lib debug ${LIBDIR}/tbb/lib/tbb_debug.lib)
|
||||
set(TBB_LIBRARIES optimized ${LIBDIR}/tbb/lib/tbb.lib debug ${LIBDIR}/tbb/lib/debug/tbb_debug.lib)
|
||||
set(TBB_INCLUDE_DIR ${LIBDIR}/tbb/include)
|
||||
set(TBB_INCLUDE_DIRS ${TBB_INCLUDE_DIR})
|
||||
if(WITH_TBB_MALLOC_PROXY)
|
||||
@@ -669,10 +694,10 @@ if(WITH_USD)
|
||||
set(USD_INCLUDE_DIRS ${LIBDIR}/usd/include)
|
||||
set(USD_RELEASE_LIB ${LIBDIR}/usd/lib/libusd_m.lib)
|
||||
set(USD_DEBUG_LIB ${LIBDIR}/usd/lib/libusd_m_d.lib)
|
||||
set(USD_LIBRARY_DIR ${LIBDIR}/usd/lib/usd)
|
||||
set(USD_LIBRARY_DIR ${LIBDIR}/usd/lib)
|
||||
set(USD_LIBRARIES
|
||||
debug ${USD_DEBUG_LIB}
|
||||
optimized ${USD_RELEASE_LIB}
|
||||
debug ${USD_DEBUG_LIB}
|
||||
optimized ${USD_RELEASE_LIB}
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
@@ -713,3 +738,15 @@ if(WINDOWS_PYTHON_DEBUG)
|
||||
</Project>")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(WITH_XR_OPENXR)
|
||||
if(EXISTS ${LIBDIR}/xr_openxr_sdk)
|
||||
set(XR_OPENXR_SDK ${LIBDIR}/xr_openxr_sdk)
|
||||
set(XR_OPENXR_SDK_LIBPATH ${LIBDIR}/xr_openxr_sdk/lib)
|
||||
set(XR_OPENXR_SDK_INCLUDE_DIR ${XR_OPENXR_SDK}/include)
|
||||
set(XR_OPENXR_SDK_LIBRARIES optimized ${XR_OPENXR_SDK_LIBPATH}/openxr_loader.lib debug ${XR_OPENXR_SDK_LIBPATH}/openxr_loader_d.lib)
|
||||
else()
|
||||
message(WARNING "OpenXR-SDK was not found, disabling WITH_XR_OPENXR")
|
||||
set(WITH_XR_OPENXR OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
@@ -7,15 +7,14 @@ BASE_DIR="$PWD"
|
||||
|
||||
blender_srcdir=$(dirname -- $0)/../..
|
||||
blender_version=$(grep "BLENDER_VERSION\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
|
||||
blender_version_char=$(grep "BLENDER_VERSION_CHAR\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
|
||||
blender_version_patch=$(grep "BLENDER_VERSION_PATCH\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
|
||||
blender_version_cycle=$(grep "BLENDER_VERSION_CYCLE\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
|
||||
blender_subversion=$(grep "BLENDER_SUBVERSION\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
|
||||
|
||||
VERSION=$(expr $blender_version / 100).$(expr $blender_version % 100).$blender_version_patch
|
||||
if [ "$blender_version_cycle" = "release" ] ; then
|
||||
VERSION=$(expr $blender_version / 100).$(expr $blender_version % 100)$blender_version_char
|
||||
SUBMODULE_EXCLUDE="^\(release/scripts/addons_contrib\)$"
|
||||
else
|
||||
VERSION=$(expr $blender_version / 100).$(expr $blender_version % 100)_$blender_subversion
|
||||
VERSION=$VERSION-$blender_version_cycle
|
||||
SUBMODULE_EXCLUDE="^$" # dummy regex
|
||||
fi
|
||||
|
||||
|
@@ -6,9 +6,6 @@ if %ERRORLEVEL% EQU 0 goto DetectionComplete
|
||||
call "%~dp0\detect_msvc2019.cmd"
|
||||
if %ERRORLEVEL% EQU 0 goto DetectionComplete
|
||||
|
||||
call "%~dp0\detect_msvc2015.cmd"
|
||||
if %ERRORLEVEL% EQU 0 goto DetectionComplete
|
||||
|
||||
echo Compiler Detection failed. Use verbose switch for more information.
|
||||
exit /b 1
|
||||
|
||||
|
@@ -2,6 +2,11 @@ set BUILD_GENERATOR_POST=
|
||||
set BUILD_PLATFORM_SELECT=
|
||||
set MSBUILD_PLATFORM=x64
|
||||
|
||||
if "%BUILD_WITH_SCCACHE%"=="1" (
|
||||
echo sccache is only supported with ninja as the build system.
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
if "%WITH_CLANG%"=="1" (
|
||||
set CLANG_CMAKE_ARGS=-T"llvm"
|
||||
if "%WITH_ASAN%"=="1" (
|
||||
|
@@ -6,6 +6,13 @@ if %ERRORLEVEL% NEQ 0 (
|
||||
|
||||
set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -G "Ninja" %TESTS_CMAKE_ARGS% -DCMAKE_BUILD_TYPE=%BUILD_TYPE%
|
||||
|
||||
if "%BUILD_WITH_SCCACHE%"=="1" (
|
||||
set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -DWITH_WINDOWS_SCCACHE=On
|
||||
if NOT "%verbose%" == "" (
|
||||
echo Enabling sccache
|
||||
)
|
||||
)
|
||||
|
||||
if "%WITH_CLANG%" == "1" (
|
||||
set LLVM_DIR=
|
||||
for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LLVM\LLVM" /ve 2^>nul`) DO set LLVM_DIR=%%C
|
||||
|
@@ -1,3 +0,0 @@
|
||||
set BUILD_VS_VER=14
|
||||
set BUILD_VS_YEAR=2015
|
||||
call "%~dp0\detect_msvc_classic.cmd"
|
@@ -1,69 +0,0 @@
|
||||
if NOT "%verbose%" == "" (
|
||||
echo Detecting msvc %BUILD_VS_YEAR%
|
||||
)
|
||||
set KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\%BUILD_VS_VER%.0\Setup\VC"
|
||||
for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY %KEY_NAME% /v ProductDir 2^>nul`) DO set MSVC_VC_DIR=%%C
|
||||
if DEFINED MSVC_VC_DIR (
|
||||
if NOT "%verbose%" == "" (
|
||||
echo Visual Studio %BUILD_VS_YEAR% on Win64 detected at "%MSVC_VC_DIR%"
|
||||
)
|
||||
goto msvc_detect_finally
|
||||
)
|
||||
|
||||
REM Check 32 bits
|
||||
set KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\%BUILD_VS_VER%.0\Setup\VC"
|
||||
for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY %KEY_NAME% /v ProductDir 2^>nul`) DO set MSVC_VC_DIR=%%C
|
||||
if DEFINED MSVC_VC_DIR (
|
||||
if NOT "%verbose%" == "" (
|
||||
echo Visual Studio %BUILD_VS_YEAR% on Win32 detected at "%MSVC_VC_DIR%"
|
||||
)
|
||||
goto msvc_detect_finally
|
||||
)
|
||||
if NOT "%verbose%" == "" (
|
||||
echo Visual Studio %BUILD_VS_YEAR% not found.
|
||||
)
|
||||
goto FAIL
|
||||
:msvc_detect_finally
|
||||
set VCVARS=%MSVC_VC_DIR%\vcvarsall.bat
|
||||
if not exist "%VCVARS%" (
|
||||
echo "%VCVARS%" not found.
|
||||
goto FAIL
|
||||
)
|
||||
|
||||
call "%vcvars%" %BUILD_ARCH%
|
||||
|
||||
rem try msbuild
|
||||
msbuild /version > NUL
|
||||
if errorlevel 1 (
|
||||
if NOT "%verbose%" == "" (
|
||||
echo Visual Studio %BUILD_VS_YEAR% msbuild not found
|
||||
)
|
||||
goto FAIL
|
||||
)
|
||||
|
||||
if NOT "%verbose%" == "" (
|
||||
echo Visual Studio %BUILD_VS_YEAR% msbuild found
|
||||
)
|
||||
|
||||
REM try the c++ compiler
|
||||
cl 2> NUL 1>&2
|
||||
if errorlevel 1 (
|
||||
if NOT "%verbose%" == "" (
|
||||
echo Visual Studio %BUILD_VS_YEAR% C/C++ Compiler not found
|
||||
)
|
||||
goto FAIL
|
||||
)
|
||||
|
||||
if NOT "%verbose%" == "" (
|
||||
echo Visual Studio %BUILD_VS_YEAR% C/C++ Compiler found
|
||||
)
|
||||
goto DetectionComplete
|
||||
|
||||
:FAIL
|
||||
exit /b 1
|
||||
|
||||
:DetectionComplete
|
||||
if NOT "%verbose%" == "" (
|
||||
echo Visual Studio %BUILD_VS_YEAR% Detected successfully
|
||||
)
|
||||
exit /b 0
|
@@ -27,7 +27,13 @@ if NOT "%verbose%" == "" (
|
||||
|
||||
if "%VS_InstallDir%"=="" (
|
||||
if NOT "%verbose%" == "" (
|
||||
echo Visual Studio is detected but the "Desktop development with C++" workload has not been instlled
|
||||
echo.
|
||||
echo Visual Studio is detected but no suitable installation was found.
|
||||
echo.
|
||||
echo Check the "Desktop development with C++" workload has been installed.
|
||||
echo.
|
||||
echo If you are attempting to use either Visual Studio Preview version or the Visual C++ Build tools, Please see 'make help' on how to opt in to those toolsets.
|
||||
echo.
|
||||
goto FAIL
|
||||
)
|
||||
)
|
||||
|
@@ -66,8 +66,6 @@ if NOT "%1" == "" (
|
||||
) else if "%1" == "2019b" (
|
||||
set BUILD_VS_YEAR=2019
|
||||
set VSWHERE_ARGS=-products Microsoft.VisualStudio.Product.BuildTools
|
||||
) else if "%1" == "2015" (
|
||||
set BUILD_VS_YEAR=2015
|
||||
) else if "%1" == "packagename" (
|
||||
set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -DCPACK_OVERRIDE_PACKAGENAME="%2"
|
||||
shift /1
|
||||
@@ -88,6 +86,8 @@ if NOT "%1" == "" (
|
||||
set BUILD_UPDATE_ARGS="--no-libraries"
|
||||
) else if "%1" == "ninja" (
|
||||
SET BUILD_WITH_NINJA=1
|
||||
) else if "%1" == "sccache" (
|
||||
SET BUILD_WITH_SCCACHE=1
|
||||
) else if "%1" == "clean" (
|
||||
set MUST_CLEAN=1
|
||||
) else if "%1" == "verbose" (
|
||||
|
@@ -30,3 +30,4 @@ set WITH_PYDEBUG=
|
||||
set PYDEBUG_CMAKE_ARGS=
|
||||
set FORMAT=
|
||||
set TEST=
|
||||
set BUILD_WITH_SCCACHE=
|
||||
|
@@ -23,15 +23,17 @@ echo - with_tests ^(enable building unit tests^)
|
||||
echo - nobuildinfo ^(disable buildinfo^)
|
||||
echo - debug ^(Build an unoptimized debuggable build^)
|
||||
echo - packagename [newname] ^(override default cpack package name^)
|
||||
echo - buildir [newdir] ^(override default build folder^)
|
||||
echo - builddir [newdir] ^(override default build folder^)
|
||||
echo - 2017 ^(build with visual studio 2017^)
|
||||
echo - 2017pre ^(build with visual studio 2017 pre-release^)
|
||||
echo - 2017b ^(build with visual studio 2017 Build Tools^)
|
||||
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 Experimental options
|
||||
echo - with_opengl_tests ^(enable both the render and draw opengl test suites^)
|
||||
echo - 2015 ^(build with visual studio 2015^)
|
||||
echo - clang ^(enable building with clang^)
|
||||
echo - asan ^(enable asan when building with clang^)
|
||||
echo - ninja ^(enable building with ninja instead of msbuild^)
|
||||
|
@@ -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 = "V2.83"
|
||||
PROJECT_NUMBER = "V2.90"
|
||||
|
||||
# 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
|
||||
@@ -51,7 +51,7 @@ PROJECT_BRIEF =
|
||||
# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
|
||||
# the logo to the output directory.
|
||||
|
||||
PROJECT_LOGO = ../../release/freedesktop/icons/48x48/apps/blender.png
|
||||
PROJECT_LOGO = ../../release/freedesktop/icons/scalable/apps/blender.svg
|
||||
|
||||
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
|
||||
# into which the generated documentation will be written. If a relative path is
|
||||
@@ -1720,7 +1720,7 @@ COMPACT_LATEX = NO
|
||||
# The default value is: a4.
|
||||
# This tag requires that the tag GENERATE_LATEX is set to YES.
|
||||
|
||||
PAPER_TYPE = a4wide
|
||||
PAPER_TYPE = a4
|
||||
|
||||
# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
|
||||
# that should be included in the LaTeX output. The package can be specified just
|
||||
|
@@ -2,20 +2,20 @@
|
||||
Basic Sound Playback
|
||||
++++++++++++++++++++
|
||||
|
||||
This script shows how to use the classes: :class:`Device`, :class:`Factory` and
|
||||
This script shows how to use the classes: :class:`Device`, :class:`Sound` and
|
||||
:class:`Handle`.
|
||||
"""
|
||||
import aud
|
||||
|
||||
device = aud.device()
|
||||
device = aud.Device()
|
||||
# load sound file (it can be a video file with audio)
|
||||
factory = aud.Factory('music.ogg')
|
||||
sound = aud.Sound('music.ogg')
|
||||
|
||||
# play the audio, this return a handle to control play/pause
|
||||
handle = device.play(factory)
|
||||
handle = device.play(sound)
|
||||
# if the audio is not too big and will be used often you can buffer it
|
||||
factory_buffered = aud.Factory.buffer(factory)
|
||||
handle_buffered = device.play(factory_buffered)
|
||||
sound_buffered = aud.Sound.buffer(sound)
|
||||
handle_buffered = device.play(sound_buffered)
|
||||
|
||||
# stop the sounds (otherwise they play until their ends)
|
||||
handle.stop()
|
||||
|
44
doc/python_api/examples/bpy.msgbus.1.py
Normal file
44
doc/python_api/examples/bpy.msgbus.1.py
Normal file
@@ -0,0 +1,44 @@
|
||||
"""
|
||||
The message bus system can be used to receive notifications when properties of
|
||||
Blender datablocks are changed via the data API.
|
||||
|
||||
|
||||
Limitations
|
||||
-----------
|
||||
|
||||
The message bus system is triggered by updates via the RNA system. This means
|
||||
that the following updates will result in a notification on the message bus:
|
||||
|
||||
- Changes via the Python API, for example ``some_object.location.x += 3``.
|
||||
- Changes via the sliders, fields, and buttons in the user interface.
|
||||
|
||||
The following updates do **not** trigger message bus notifications:
|
||||
|
||||
- Moving objects in the 3D Viewport.
|
||||
- Changes performed by the animation system.
|
||||
|
||||
|
||||
Example Use
|
||||
-----------
|
||||
|
||||
Below is an example of subscription to changes in the active object's location.
|
||||
"""
|
||||
|
||||
import bpy
|
||||
|
||||
# Any Python object can act as the subscription's owner.
|
||||
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,
|
||||
args=(1, 2, 3),
|
||||
notify=msgbus_callback,
|
||||
)
|
6
doc/python_api/examples/bpy.msgbus.2.py
Normal file
6
doc/python_api/examples/bpy.msgbus.2.py
Normal file
@@ -0,0 +1,6 @@
|
||||
"""
|
||||
Some properties are converted to Python objects when you retrieve them. This
|
||||
needs to be avoided in order to create the subscription, by using
|
||||
``datablock.path_resolve("property_name", False)``:
|
||||
"""
|
||||
subscribe_to = bpy.context.object.path_resolve("name", False)
|
5
doc/python_api/examples/bpy.msgbus.3.py
Normal file
5
doc/python_api/examples/bpy.msgbus.3.py
Normal file
@@ -0,0 +1,5 @@
|
||||
"""
|
||||
It is also possible to create subscriptions on a property of all instances of a
|
||||
certain type:
|
||||
"""
|
||||
subscribe_to = (bpy.types.Object, "location")
|
@@ -6,7 +6,7 @@ bl_info = {
|
||||
"location": "SpaceBar Search -> Add-on Preferences Example",
|
||||
"description": "Example Add-on",
|
||||
"warning": "",
|
||||
"wiki_url": "",
|
||||
"doc_url": "",
|
||||
"tracker_url": "",
|
||||
"category": "Object",
|
||||
}
|
||||
|
@@ -119,4 +119,24 @@ Examples
|
||||
To try these examples, just copy them into Blenders text editor and execute them.
|
||||
To keep the examples relatively small, they just register a draw function that can't easily be removed anymore.
|
||||
Blender has to be restarted in order to delete the draw handlers.
|
||||
|
||||
3D Lines with Single Color
|
||||
--------------------------
|
||||
"""
|
||||
|
||||
import bpy
|
||||
import gpu
|
||||
from gpu_extras.batch import batch_for_shader
|
||||
|
||||
coords = [(1, 1, 1), (-2, 0, 0), (-2, -1, 3), (0, 1, 1)]
|
||||
shader = gpu.shader.from_builtin('3D_UNIFORM_COLOR')
|
||||
batch = batch_for_shader(shader, 'LINES', {"pos": coords})
|
||||
|
||||
|
||||
def draw():
|
||||
shader.bind()
|
||||
shader.uniform_float("color", (1, 1, 0, 1))
|
||||
batch.draw(shader)
|
||||
|
||||
|
||||
bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW')
|
||||
|
@@ -1,41 +1,65 @@
|
||||
"""
|
||||
Rendering the 3D View into a Texture
|
||||
------------------------------------
|
||||
Custom Shader for dotted 3D Line
|
||||
--------------------------------
|
||||
|
||||
The scene has to have a camera for this example to work.
|
||||
You could also make this independent of a specific camera,
|
||||
but Blender does not expose good functions to create view and projection matrices yet.
|
||||
In this example the arc length (distance to the first point on the line) is calculated in every vertex.
|
||||
Between the vertex and fragment shader that value is automatically interpolated
|
||||
for all points that will be visible on the screen.
|
||||
In the fragment shader the ``sin`` of the arc length is calculated.
|
||||
Based on the result a decision is made on whether the fragment should be drawn or not.
|
||||
"""
|
||||
import bpy
|
||||
import bgl
|
||||
import gpu
|
||||
from gpu_extras.presets import draw_texture_2d
|
||||
from random import random
|
||||
from mathutils import Vector
|
||||
from gpu_extras.batch import batch_for_shader
|
||||
|
||||
WIDTH = 512
|
||||
HEIGHT = 256
|
||||
vertex_shader = '''
|
||||
uniform mat4 u_ViewProjectionMatrix;
|
||||
|
||||
offscreen = gpu.types.GPUOffScreen(WIDTH, HEIGHT)
|
||||
in vec3 position;
|
||||
in float arcLength;
|
||||
|
||||
out float v_ArcLength;
|
||||
|
||||
void main()
|
||||
{
|
||||
v_ArcLength = arcLength;
|
||||
gl_Position = u_ViewProjectionMatrix * vec4(position, 1.0f);
|
||||
}
|
||||
'''
|
||||
|
||||
fragment_shader = '''
|
||||
uniform float u_Scale;
|
||||
|
||||
in float v_ArcLength;
|
||||
|
||||
void main()
|
||||
{
|
||||
if (step(sin(v_ArcLength * u_Scale), 0.5) == 1) discard;
|
||||
gl_FragColor = vec4(1.0);
|
||||
}
|
||||
'''
|
||||
|
||||
coords = [Vector((random(), random(), random())) * 5 for _ in range(5)]
|
||||
|
||||
arc_lengths = [0]
|
||||
for a, b in zip(coords[:-1], coords[1:]):
|
||||
arc_lengths.append(arc_lengths[-1] + (a - b).length)
|
||||
|
||||
shader = gpu.types.GPUShader(vertex_shader, fragment_shader)
|
||||
batch = batch_for_shader(
|
||||
shader, 'LINE_STRIP',
|
||||
{"position": coords, "arcLength": arc_lengths},
|
||||
)
|
||||
|
||||
|
||||
def draw():
|
||||
context = bpy.context
|
||||
scene = context.scene
|
||||
|
||||
view_matrix = scene.camera.matrix_world.inverted()
|
||||
|
||||
projection_matrix = scene.camera.calc_matrix_camera(
|
||||
context.evaluated_depsgraph_get(), x=WIDTH, y=HEIGHT)
|
||||
|
||||
offscreen.draw_view3d(
|
||||
scene,
|
||||
context.view_layer,
|
||||
context.space_data,
|
||||
context.region,
|
||||
view_matrix,
|
||||
projection_matrix)
|
||||
|
||||
bgl.glDisable(bgl.GL_DEPTH_TEST)
|
||||
draw_texture_2d(offscreen.color_texture, (10, 10), WIDTH, HEIGHT)
|
||||
shader.bind()
|
||||
matrix = bpy.context.region_data.perspective_matrix
|
||||
shader.uniform_float("u_ViewProjectionMatrix", matrix)
|
||||
shader.uniform_float("u_Scale", 10)
|
||||
batch.draw(shader)
|
||||
|
||||
|
||||
bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_PIXEL')
|
||||
bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW')
|
||||
|
@@ -1,65 +0,0 @@
|
||||
"""
|
||||
Custom Shader for dotted 3D Line
|
||||
--------------------------------
|
||||
|
||||
In this example the arc length (distance to the first point on the line) is calculated in every vertex.
|
||||
Between the vertex and fragment shader that value is automatically interpolated
|
||||
for all points that will be visible on the screen.
|
||||
In the fragment shader the ``sin`` of the arc length is calculated.
|
||||
Based on the result a decision is made on whether the fragment should be drawn or not.
|
||||
"""
|
||||
import bpy
|
||||
import gpu
|
||||
from random import random
|
||||
from mathutils import Vector
|
||||
from gpu_extras.batch import batch_for_shader
|
||||
|
||||
vertex_shader = '''
|
||||
uniform mat4 u_ViewProjectionMatrix;
|
||||
|
||||
in vec3 position;
|
||||
in float arcLength;
|
||||
|
||||
out float v_ArcLength;
|
||||
|
||||
void main()
|
||||
{
|
||||
v_ArcLength = arcLength;
|
||||
gl_Position = u_ViewProjectionMatrix * vec4(position, 1.0f);
|
||||
}
|
||||
'''
|
||||
|
||||
fragment_shader = '''
|
||||
uniform float u_Scale;
|
||||
|
||||
in float v_ArcLength;
|
||||
|
||||
void main()
|
||||
{
|
||||
if (step(sin(v_ArcLength * u_Scale), 0.5) == 1) discard;
|
||||
gl_FragColor = vec4(1.0);
|
||||
}
|
||||
'''
|
||||
|
||||
coords = [Vector((random(), random(), random())) * 5 for _ in range(5)]
|
||||
|
||||
arc_lengths = [0]
|
||||
for a, b in zip(coords[:-1], coords[1:]):
|
||||
arc_lengths.append(arc_lengths[-1] + (a - b).length)
|
||||
|
||||
shader = gpu.types.GPUShader(vertex_shader, fragment_shader)
|
||||
batch = batch_for_shader(
|
||||
shader, 'LINE_STRIP',
|
||||
{"position": coords, "arcLength": arc_lengths},
|
||||
)
|
||||
|
||||
|
||||
def draw():
|
||||
shader.bind()
|
||||
matrix = bpy.context.region_data.perspective_matrix
|
||||
shader.uniform_float("u_ViewProjectionMatrix", matrix)
|
||||
shader.uniform_float("u_Scale", 10)
|
||||
batch.draw(shader)
|
||||
|
||||
|
||||
bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW')
|
@@ -1,19 +1,45 @@
|
||||
"""
|
||||
3D Lines with Single Color
|
||||
--------------------------
|
||||
Triangle with Custom Shader
|
||||
---------------------------
|
||||
"""
|
||||
import bpy
|
||||
import gpu
|
||||
from gpu_extras.batch import batch_for_shader
|
||||
|
||||
coords = [(1, 1, 1), (-2, 0, 0), (-2, -1, 3), (0, 1, 1)]
|
||||
shader = gpu.shader.from_builtin('3D_UNIFORM_COLOR')
|
||||
batch = batch_for_shader(shader, 'LINES', {"pos": coords})
|
||||
vertex_shader = '''
|
||||
uniform mat4 viewProjectionMatrix;
|
||||
|
||||
in vec3 position;
|
||||
out vec3 pos;
|
||||
|
||||
void main()
|
||||
{
|
||||
pos = position;
|
||||
gl_Position = viewProjectionMatrix * vec4(position, 1.0f);
|
||||
}
|
||||
'''
|
||||
|
||||
fragment_shader = '''
|
||||
uniform float brightness;
|
||||
|
||||
in vec3 pos;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_FragColor = vec4(pos * brightness, 1.0);
|
||||
}
|
||||
'''
|
||||
|
||||
coords = [(1, 1, 1), (2, 0, 0), (-2, -1, 3)]
|
||||
shader = gpu.types.GPUShader(vertex_shader, fragment_shader)
|
||||
batch = batch_for_shader(shader, 'TRIS', {"position": coords})
|
||||
|
||||
|
||||
def draw():
|
||||
shader.bind()
|
||||
shader.uniform_float("color", (1, 1, 0, 1))
|
||||
matrix = bpy.context.region_data.perspective_matrix
|
||||
shader.uniform_float("viewProjectionMatrix", matrix)
|
||||
shader.uniform_float("brightness", 0.5)
|
||||
batch.draw(shader)
|
||||
|
||||
|
||||
|
@@ -1,45 +1,29 @@
|
||||
"""
|
||||
Triangle with Custom Shader
|
||||
---------------------------
|
||||
Wireframe Cube using Index Buffer
|
||||
---------------------------------
|
||||
"""
|
||||
import bpy
|
||||
import gpu
|
||||
from gpu_extras.batch import batch_for_shader
|
||||
|
||||
vertex_shader = '''
|
||||
uniform mat4 viewProjectionMatrix;
|
||||
coords = (
|
||||
(-1, -1, -1), (+1, -1, -1),
|
||||
(-1, +1, -1), (+1, +1, -1),
|
||||
(-1, -1, +1), (+1, -1, +1),
|
||||
(-1, +1, +1), (+1, +1, +1))
|
||||
|
||||
in vec3 position;
|
||||
out vec3 pos;
|
||||
indices = (
|
||||
(0, 1), (0, 2), (1, 3), (2, 3),
|
||||
(4, 5), (4, 6), (5, 7), (6, 7),
|
||||
(0, 4), (1, 5), (2, 6), (3, 7))
|
||||
|
||||
void main()
|
||||
{
|
||||
pos = position;
|
||||
gl_Position = viewProjectionMatrix * vec4(position, 1.0f);
|
||||
}
|
||||
'''
|
||||
|
||||
fragment_shader = '''
|
||||
uniform float brightness;
|
||||
|
||||
in vec3 pos;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_FragColor = vec4(pos * brightness, 1.0);
|
||||
}
|
||||
'''
|
||||
|
||||
coords = [(1, 1, 1), (2, 0, 0), (-2, -1, 3)]
|
||||
shader = gpu.types.GPUShader(vertex_shader, fragment_shader)
|
||||
batch = batch_for_shader(shader, 'TRIS', {"position": coords})
|
||||
shader = gpu.shader.from_builtin('3D_UNIFORM_COLOR')
|
||||
batch = batch_for_shader(shader, 'LINES', {"pos": coords}, indices=indices)
|
||||
|
||||
|
||||
def draw():
|
||||
shader.bind()
|
||||
matrix = bpy.context.region_data.perspective_matrix
|
||||
shader.uniform_float("viewProjectionMatrix", matrix)
|
||||
shader.uniform_float("brightness", 0.5)
|
||||
shader.uniform_float("color", (1, 0, 0, 1))
|
||||
batch.draw(shader)
|
||||
|
||||
|
||||
|
@@ -1,30 +1,39 @@
|
||||
"""
|
||||
Wireframe Cube using Index Buffer
|
||||
---------------------------------
|
||||
Mesh with Random Vertex Colors
|
||||
------------------------------
|
||||
"""
|
||||
import bpy
|
||||
import gpu
|
||||
import bgl
|
||||
import numpy as np
|
||||
from random import random
|
||||
from gpu_extras.batch import batch_for_shader
|
||||
|
||||
coords = (
|
||||
(-1, -1, -1), (+1, -1, -1),
|
||||
(-1, +1, -1), (+1, +1, -1),
|
||||
(-1, -1, +1), (+1, -1, +1),
|
||||
(-1, +1, +1), (+1, +1, +1))
|
||||
mesh = bpy.context.active_object.data
|
||||
mesh.calc_loop_triangles()
|
||||
|
||||
indices = (
|
||||
(0, 1), (0, 2), (1, 3), (2, 3),
|
||||
(4, 5), (4, 6), (5, 7), (6, 7),
|
||||
(0, 4), (1, 5), (2, 6), (3, 7))
|
||||
vertices = np.empty((len(mesh.vertices), 3), 'f')
|
||||
indices = np.empty((len(mesh.loop_triangles), 3), 'i')
|
||||
|
||||
shader = gpu.shader.from_builtin('3D_UNIFORM_COLOR')
|
||||
batch = batch_for_shader(shader, 'LINES', {"pos": coords}, indices=indices)
|
||||
mesh.vertices.foreach_get(
|
||||
"co", np.reshape(vertices, len(mesh.vertices) * 3))
|
||||
mesh.loop_triangles.foreach_get(
|
||||
"vertices", np.reshape(indices, len(mesh.loop_triangles) * 3))
|
||||
|
||||
vertex_colors = [(random(), random(), random(), 1) for _ in range(len(mesh.vertices))]
|
||||
|
||||
shader = gpu.shader.from_builtin('3D_SMOOTH_COLOR')
|
||||
batch = batch_for_shader(
|
||||
shader, 'TRIS',
|
||||
{"pos": vertices, "color": vertex_colors},
|
||||
indices=indices,
|
||||
)
|
||||
|
||||
|
||||
def draw():
|
||||
shader.bind()
|
||||
shader.uniform_float("color", (1, 0, 0, 1))
|
||||
bgl.glEnable(bgl.GL_DEPTH_TEST)
|
||||
batch.draw(shader)
|
||||
bgl.glDisable(bgl.GL_DEPTH_TEST)
|
||||
|
||||
|
||||
bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW')
|
||||
|
@@ -1,39 +1,26 @@
|
||||
"""
|
||||
Mesh with Random Vertex Colors
|
||||
------------------------------
|
||||
2D Rectangle
|
||||
------------
|
||||
"""
|
||||
import bpy
|
||||
import gpu
|
||||
import bgl
|
||||
import numpy as np
|
||||
from random import random
|
||||
from gpu_extras.batch import batch_for_shader
|
||||
|
||||
mesh = bpy.context.active_object.data
|
||||
mesh.calc_loop_triangles()
|
||||
vertices = (
|
||||
(100, 100), (300, 100),
|
||||
(100, 200), (300, 200))
|
||||
|
||||
vertices = np.empty((len(mesh.vertices), 3), 'f')
|
||||
indices = np.empty((len(mesh.loop_triangles), 3), 'i')
|
||||
indices = (
|
||||
(0, 1, 2), (2, 1, 3))
|
||||
|
||||
mesh.vertices.foreach_get(
|
||||
"co", np.reshape(vertices, len(mesh.vertices) * 3))
|
||||
mesh.loop_triangles.foreach_get(
|
||||
"vertices", np.reshape(indices, len(mesh.loop_triangles) * 3))
|
||||
|
||||
vertex_colors = [(random(), random(), random(), 1) for _ in range(len(mesh.vertices))]
|
||||
|
||||
shader = gpu.shader.from_builtin('3D_SMOOTH_COLOR')
|
||||
batch = batch_for_shader(
|
||||
shader, 'TRIS',
|
||||
{"pos": vertices, "color": vertex_colors},
|
||||
indices=indices,
|
||||
)
|
||||
shader = gpu.shader.from_builtin('2D_UNIFORM_COLOR')
|
||||
batch = batch_for_shader(shader, 'TRIS', {"pos": vertices}, indices=indices)
|
||||
|
||||
|
||||
def draw():
|
||||
bgl.glEnable(bgl.GL_DEPTH_TEST)
|
||||
shader.bind()
|
||||
shader.uniform_float("color", (0, 0.5, 0.5, 1.0))
|
||||
batch.draw(shader)
|
||||
bgl.glDisable(bgl.GL_DEPTH_TEST)
|
||||
|
||||
|
||||
bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW')
|
||||
bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_PIXEL')
|
||||
|
@@ -1,25 +1,36 @@
|
||||
"""
|
||||
2D Rectangle
|
||||
------------
|
||||
2D Image
|
||||
--------
|
||||
|
||||
To use this example you have to provide an image that should be displayed.
|
||||
"""
|
||||
import bpy
|
||||
import gpu
|
||||
import bgl
|
||||
from gpu_extras.batch import batch_for_shader
|
||||
|
||||
vertices = (
|
||||
(100, 100), (300, 100),
|
||||
(100, 200), (300, 200))
|
||||
IMAGE_NAME = "Untitled"
|
||||
image = bpy.data.images[IMAGE_NAME]
|
||||
|
||||
indices = (
|
||||
(0, 1, 2), (2, 1, 3))
|
||||
shader = gpu.shader.from_builtin('2D_IMAGE')
|
||||
batch = batch_for_shader(
|
||||
shader, 'TRI_FAN',
|
||||
{
|
||||
"pos": ((100, 100), (200, 100), (200, 200), (100, 200)),
|
||||
"texCoord": ((0, 0), (1, 0), (1, 1), (0, 1)),
|
||||
},
|
||||
)
|
||||
|
||||
shader = gpu.shader.from_builtin('2D_UNIFORM_COLOR')
|
||||
batch = batch_for_shader(shader, 'TRIS', {"pos": vertices}, indices=indices)
|
||||
if image.gl_load():
|
||||
raise Exception()
|
||||
|
||||
|
||||
def draw():
|
||||
bgl.glActiveTexture(bgl.GL_TEXTURE0)
|
||||
bgl.glBindTexture(bgl.GL_TEXTURE_2D, image.bindcode)
|
||||
|
||||
shader.bind()
|
||||
shader.uniform_float("color", (0, 0.5, 0.5, 1.0))
|
||||
shader.uniform_int("image", 0)
|
||||
batch.draw(shader)
|
||||
|
||||
|
||||
|
@@ -1,37 +1,86 @@
|
||||
"""
|
||||
2D Image
|
||||
--------
|
||||
Generate a texture using Offscreen Rendering
|
||||
--------------------------------------------
|
||||
|
||||
To use this example you have to provide an image that should be displayed.
|
||||
#. Create an :class:`gpu.types.GPUOffScreen` object.
|
||||
#. Draw some circles into it.
|
||||
#. Make a new shader for drawing a planar texture in 3D.
|
||||
#. Draw the generated texture using the new shader.
|
||||
"""
|
||||
import bpy
|
||||
import gpu
|
||||
import bgl
|
||||
from mathutils import Matrix
|
||||
from gpu_extras.batch import batch_for_shader
|
||||
from gpu_extras.presets import draw_circle_2d
|
||||
|
||||
IMAGE_NAME = "Untitled"
|
||||
image = bpy.data.images[IMAGE_NAME]
|
||||
# Create and fill offscreen
|
||||
##########################################
|
||||
|
||||
shader = gpu.shader.from_builtin('2D_IMAGE')
|
||||
offscreen = gpu.types.GPUOffScreen(512, 512)
|
||||
|
||||
with offscreen.bind():
|
||||
bgl.glClear(bgl.GL_COLOR_BUFFER_BIT)
|
||||
with gpu.matrix.push_pop():
|
||||
# reset matrices -> use normalized device coordinates [-1, 1]
|
||||
gpu.matrix.load_matrix(Matrix.Identity(4))
|
||||
gpu.matrix.load_projection_matrix(Matrix.Identity(4))
|
||||
|
||||
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)
|
||||
|
||||
|
||||
# Drawing the generated texture in 3D space
|
||||
#############################################
|
||||
|
||||
vertex_shader = '''
|
||||
uniform mat4 modelMatrix;
|
||||
uniform mat4 viewProjectionMatrix;
|
||||
|
||||
in vec2 position;
|
||||
in vec2 uv;
|
||||
|
||||
out vec2 uvInterp;
|
||||
|
||||
void main()
|
||||
{
|
||||
uvInterp = uv;
|
||||
gl_Position = viewProjectionMatrix * modelMatrix * vec4(position, 0.0, 1.0);
|
||||
}
|
||||
'''
|
||||
|
||||
fragment_shader = '''
|
||||
uniform sampler2D image;
|
||||
|
||||
in vec2 uvInterp;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_FragColor = texture(image, uvInterp);
|
||||
}
|
||||
'''
|
||||
|
||||
shader = gpu.types.GPUShader(vertex_shader, fragment_shader)
|
||||
batch = batch_for_shader(
|
||||
shader, 'TRI_FAN',
|
||||
{
|
||||
"pos": ((100, 100), (200, 100), (200, 200), (100, 200)),
|
||||
"texCoord": ((0, 0), (1, 0), (1, 1), (0, 1)),
|
||||
"position": ((-1, -1), (1, -1), (1, 1), (-1, 1)),
|
||||
"uv": ((0, 0), (1, 0), (1, 1), (0, 1)),
|
||||
},
|
||||
)
|
||||
|
||||
if image.gl_load():
|
||||
raise Exception()
|
||||
|
||||
|
||||
def draw():
|
||||
bgl.glActiveTexture(bgl.GL_TEXTURE0)
|
||||
bgl.glBindTexture(bgl.GL_TEXTURE_2D, image.bindcode)
|
||||
bgl.glBindTexture(bgl.GL_TEXTURE_2D, offscreen.color_texture)
|
||||
|
||||
shader.bind()
|
||||
shader.uniform_int("image", 0)
|
||||
shader.uniform_float("modelMatrix", Matrix.Translation((1, 2, 3)) @ Matrix.Scale(3, 4))
|
||||
shader.uniform_float("viewProjectionMatrix", bpy.context.region_data.perspective_matrix)
|
||||
shader.uniform_float("image", 0)
|
||||
batch.draw(shader)
|
||||
|
||||
|
||||
bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_PIXEL')
|
||||
bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW')
|
||||
|
@@ -1,23 +1,28 @@
|
||||
"""
|
||||
Generate a texture using Offscreen Rendering
|
||||
--------------------------------------------
|
||||
Copy Offscreen Rendering result back to RAM
|
||||
-------------------------------------------
|
||||
|
||||
#. Create an :class:`gpu.types.GPUOffScreen` object.
|
||||
#. Draw some circles into it.
|
||||
#. Make a new shader for drawing a planar texture in 3D.
|
||||
#. Draw the generated texture using the new shader.
|
||||
This will create a new image with the given name.
|
||||
If it already exists, it will override the existing one.
|
||||
|
||||
Currently almost all of the execution time is spent in the last line.
|
||||
In the future this will hopefully be solved by implementing the Python buffer protocol
|
||||
for :class:`bgl.Buffer` and :class:`bpy.types.Image.pixels` (aka ``bpy_prop_array``).
|
||||
"""
|
||||
import bpy
|
||||
import gpu
|
||||
import bgl
|
||||
import random
|
||||
from mathutils import Matrix
|
||||
from gpu_extras.batch import batch_for_shader
|
||||
from gpu_extras.presets import draw_circle_2d
|
||||
|
||||
# Create and fill offscreen
|
||||
##########################################
|
||||
IMAGE_NAME = "Generated Image"
|
||||
WIDTH = 512
|
||||
HEIGHT = 512
|
||||
RING_AMOUNT = 10
|
||||
|
||||
offscreen = gpu.types.GPUOffScreen(512, 512)
|
||||
|
||||
offscreen = gpu.types.GPUOffScreen(WIDTH, HEIGHT)
|
||||
|
||||
with offscreen.bind():
|
||||
bgl.glClear(bgl.GL_COLOR_BUFFER_BIT)
|
||||
@@ -26,61 +31,20 @@ with offscreen.bind():
|
||||
gpu.matrix.load_matrix(Matrix.Identity(4))
|
||||
gpu.matrix.load_projection_matrix(Matrix.Identity(4))
|
||||
|
||||
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)
|
||||
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)
|
||||
|
||||
buffer = bgl.Buffer(bgl.GL_BYTE, WIDTH * HEIGHT * 4)
|
||||
bgl.glReadBuffer(bgl.GL_BACK)
|
||||
bgl.glReadPixels(0, 0, WIDTH, HEIGHT, bgl.GL_RGBA, bgl.GL_UNSIGNED_BYTE, buffer)
|
||||
|
||||
offscreen.free()
|
||||
|
||||
|
||||
# Drawing the generated texture in 3D space
|
||||
#############################################
|
||||
|
||||
vertex_shader = '''
|
||||
uniform mat4 modelMatrix;
|
||||
uniform mat4 viewProjectionMatrix;
|
||||
|
||||
in vec2 position;
|
||||
in vec2 uv;
|
||||
|
||||
out vec2 uvInterp;
|
||||
|
||||
void main()
|
||||
{
|
||||
uvInterp = uv;
|
||||
gl_Position = viewProjectionMatrix * modelMatrix * vec4(position, 0.0, 1.0);
|
||||
}
|
||||
'''
|
||||
|
||||
fragment_shader = '''
|
||||
uniform sampler2D image;
|
||||
|
||||
in vec2 uvInterp;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_FragColor = texture(image, uvInterp);
|
||||
}
|
||||
'''
|
||||
|
||||
shader = gpu.types.GPUShader(vertex_shader, fragment_shader)
|
||||
batch = batch_for_shader(
|
||||
shader, 'TRI_FAN',
|
||||
{
|
||||
"position": ((-1, -1), (1, -1), (1, 1), (-1, 1)),
|
||||
"uv": ((0, 0), (1, 0), (1, 1), (0, 1)),
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
def draw():
|
||||
bgl.glActiveTexture(bgl.GL_TEXTURE0)
|
||||
bgl.glBindTexture(bgl.GL_TEXTURE_2D, offscreen.color_texture)
|
||||
|
||||
shader.bind()
|
||||
shader.uniform_float("modelMatrix", Matrix.Translation((1, 2, 3)) @ Matrix.Scale(3, 4))
|
||||
shader.uniform_float("viewProjectionMatrix", bpy.context.region_data.perspective_matrix)
|
||||
shader.uniform_float("image", 0)
|
||||
batch.draw(shader)
|
||||
|
||||
|
||||
bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW')
|
||||
if not IMAGE_NAME in bpy.data.images:
|
||||
bpy.data.images.new(IMAGE_NAME, WIDTH, HEIGHT)
|
||||
image = bpy.data.images[IMAGE_NAME]
|
||||
image.scale(WIDTH, HEIGHT)
|
||||
image.pixels = [v / 255 for v in buffer]
|
||||
|
@@ -1,50 +1,41 @@
|
||||
"""
|
||||
Copy Offscreen Rendering result back to RAM
|
||||
-------------------------------------------
|
||||
Rendering the 3D View into a Texture
|
||||
------------------------------------
|
||||
|
||||
This will create a new image with the given name.
|
||||
If it already exists, it will override the existing one.
|
||||
|
||||
Currently almost all of the execution time is spent in the last line.
|
||||
In the future this will hopefully be solved by implementing the Python buffer protocol
|
||||
for :class:`bgl.Buffer` and :class:`bpy.types.Image.pixels` (aka ``bpy_prop_array``).
|
||||
The scene has to have a camera for this example to work.
|
||||
You could also make this independent of a specific camera,
|
||||
but Blender does not expose good functions to create view and projection matrices yet.
|
||||
"""
|
||||
import bpy
|
||||
import gpu
|
||||
import bgl
|
||||
import random
|
||||
from mathutils import Matrix
|
||||
from gpu_extras.presets import draw_circle_2d
|
||||
import gpu
|
||||
from gpu_extras.presets import draw_texture_2d
|
||||
|
||||
IMAGE_NAME = "Generated Image"
|
||||
WIDTH = 512
|
||||
HEIGHT = 512
|
||||
RING_AMOUNT = 10
|
||||
|
||||
HEIGHT = 256
|
||||
|
||||
offscreen = gpu.types.GPUOffScreen(WIDTH, HEIGHT)
|
||||
|
||||
with offscreen.bind():
|
||||
bgl.glClear(bgl.GL_COLOR_BUFFER_BIT)
|
||||
with gpu.matrix.push_pop():
|
||||
# reset matrices -> use normalized device coordinates [-1, 1]
|
||||
gpu.matrix.load_matrix(Matrix.Identity(4))
|
||||
gpu.matrix.load_projection_matrix(Matrix.Identity(4))
|
||||
|
||||
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)
|
||||
def draw():
|
||||
context = bpy.context
|
||||
scene = context.scene
|
||||
|
||||
buffer = bgl.Buffer(bgl.GL_BYTE, WIDTH * HEIGHT * 4)
|
||||
bgl.glReadBuffer(bgl.GL_BACK)
|
||||
bgl.glReadPixels(0, 0, WIDTH, HEIGHT, bgl.GL_RGBA, bgl.GL_UNSIGNED_BYTE, buffer)
|
||||
view_matrix = scene.camera.matrix_world.inverted()
|
||||
|
||||
offscreen.free()
|
||||
projection_matrix = scene.camera.calc_matrix_camera(
|
||||
context.evaluated_depsgraph_get(), x=WIDTH, y=HEIGHT)
|
||||
|
||||
offscreen.draw_view3d(
|
||||
scene,
|
||||
context.view_layer,
|
||||
context.space_data,
|
||||
context.region,
|
||||
view_matrix,
|
||||
projection_matrix)
|
||||
|
||||
bgl.glDisable(bgl.GL_DEPTH_TEST)
|
||||
draw_texture_2d(offscreen.color_texture, (10, 10), WIDTH, HEIGHT)
|
||||
|
||||
|
||||
if not IMAGE_NAME in bpy.data.images:
|
||||
bpy.data.images.new(IMAGE_NAME, WIDTH, HEIGHT)
|
||||
image = bpy.data.images[IMAGE_NAME]
|
||||
image.scale(WIDTH, HEIGHT)
|
||||
image.pixels = [v / 255 for v in buffer]
|
||||
bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_PIXEL')
|
||||
|
@@ -1,2 +1,2 @@
|
||||
Sphinx==1.8.5
|
||||
sphinx_rtd_theme==0.4.3
|
||||
Sphinx==3.0.3
|
||||
sphinx_rtd_theme==0.5.0rc1
|
||||
|
@@ -205,15 +205,15 @@ Support Overview
|
||||
|
||||
* - Usage
|
||||
- :class:`bpy.types.MeshPolygon`
|
||||
- :class:`bpy.types.MeshTessFace`
|
||||
- :class:`bpy.types.MeshLoopTriangle`
|
||||
- :class:`bmesh.types.BMFace`
|
||||
* - Import/Create
|
||||
- Poor *(inflexible)*
|
||||
- Good *(supported as upgrade path)*
|
||||
- Unusable *(read-only)*.
|
||||
- Best
|
||||
* - Manipulate
|
||||
- Poor *(inflexible)*
|
||||
- Poor *(loses ngons)*
|
||||
- Unusable *(read-only)*.
|
||||
- Best
|
||||
* - Export/Output
|
||||
- Good *(ngon support)*
|
||||
|
@@ -253,7 +253,13 @@ Registering a class with Blender results in the class definition being loaded in
|
||||
where it becomes available alongside existing functionality.
|
||||
|
||||
Once this class is loaded you can access it from :mod:`bpy.types`,
|
||||
using the bl_idname rather than the classes original name.
|
||||
using the ``bl_idname`` rather than the classes original name.
|
||||
|
||||
.. note::
|
||||
|
||||
There are some exceptions to this for class names which aren't guarantee to be unique.
|
||||
In this case use: :func:`bpy.types.Struct.bl_rna_get_subclass`.
|
||||
|
||||
|
||||
When loading a class, Blender performs sanity checks making sure all required properties and functions are found,
|
||||
that properties have the correct type, and that functions have the right number of arguments.
|
||||
|
@@ -255,9 +255,9 @@ Examples:
|
||||
>>> bpy.ops.object.scale_apply()
|
||||
{'FINISHED'}
|
||||
|
||||
.. note::
|
||||
.. tip::
|
||||
|
||||
The menu item: :menuselection:`Help --> Operator Cheat Sheet`
|
||||
The :ref:`Operator Cheat Sheet <blender_manual:bpy.ops.wm.operator_cheat_sheet>`.
|
||||
gives a list of all operators and their default values in Python syntax, along with the generated docs.
|
||||
This is a good way to get an overview of all Blender's operators.
|
||||
|
||||
|
@@ -403,32 +403,21 @@ MODULE_GROUPING = {
|
||||
|
||||
# -------------------------------BLENDER----------------------------------------
|
||||
|
||||
blender_version_strings = [str(v) for v in bpy.app.version]
|
||||
is_release = bpy.app.version_cycle in {"rc", "release"}
|
||||
|
||||
# converting bytes to strings, due to T30154
|
||||
BLENDER_REVISION = str(bpy.app.build_hash, 'utf_8')
|
||||
|
||||
if is_release:
|
||||
# '2.62a'
|
||||
BLENDER_VERSION_DOTS = ".".join(blender_version_strings[:2]) + bpy.app.version_char
|
||||
else:
|
||||
# '2.62.1'
|
||||
BLENDER_VERSION_DOTS = ".".join(blender_version_strings)
|
||||
# '2.83.0 Beta' or '2.83.0' or '2.83.1'
|
||||
BLENDER_VERSION_DOTS = bpy.app.version_string
|
||||
|
||||
if BLENDER_REVISION != "Unknown":
|
||||
# '2.62a SHA1' (release) or '2.62.1 SHA1' (non-release)
|
||||
# SHA1 Git hash
|
||||
BLENDER_VERSION_HASH = BLENDER_REVISION
|
||||
else:
|
||||
# Fallback: Should not be used
|
||||
BLENDER_VERSION_HASH = "Hash Unknown"
|
||||
|
||||
if is_release:
|
||||
# '2_62a_release'
|
||||
BLENDER_VERSION_PATH = "%s%s_release" % ("_".join(blender_version_strings[:2]), bpy.app.version_char)
|
||||
else:
|
||||
# '2_62_1'
|
||||
BLENDER_VERSION_PATH = "_".join(blender_version_strings)
|
||||
# '2_83'
|
||||
BLENDER_VERSION_PATH = "%d_%d" % (bpy.app.version[0], bpy.app.version[1])
|
||||
|
||||
# --------------------------DOWNLOADABLE FILES----------------------------------
|
||||
|
||||
@@ -492,6 +481,11 @@ if _BPY_PROP_COLLECTION_FAKE:
|
||||
else:
|
||||
_BPY_PROP_COLLECTION_ID = "collection"
|
||||
|
||||
if _BPY_STRUCT_FAKE:
|
||||
bpy_struct = bpy.types.bpy_struct
|
||||
else:
|
||||
bpy_struct = None
|
||||
|
||||
|
||||
def escape_rst(text):
|
||||
""" Escape plain text which may contain characters used by RST.
|
||||
@@ -512,7 +506,7 @@ def is_struct_seq(value):
|
||||
|
||||
|
||||
def undocumented_message(module_name, type_name, identifier):
|
||||
return "Undocumented `contribute <https://developer.blender.org/T51061>`"
|
||||
return "Undocumented, consider `contributing <https://developer.blender.org/T51061>`__."
|
||||
|
||||
|
||||
def range_str(val):
|
||||
@@ -694,11 +688,13 @@ def py_descr2sphinx(ident, fw, descr, module_name, type_name, identifier):
|
||||
doc = undocumented_message(module_name, type_name, identifier)
|
||||
|
||||
if type(descr) == GetSetDescriptorType:
|
||||
fw(ident + ".. attribute:: %s\n\n" % identifier)
|
||||
fw(ident + ".. attribute:: %s\n" % identifier)
|
||||
fw(ident + " :noindex:\n\n")
|
||||
write_indented_lines(ident + " ", fw, doc, False)
|
||||
fw("\n")
|
||||
elif type(descr) == MemberDescriptorType: # same as above but use 'data'
|
||||
fw(ident + ".. data:: %s\n\n" % identifier)
|
||||
fw(ident + ".. data:: %s\n" % identifier)
|
||||
fw(ident + " :noindex:\n\n")
|
||||
write_indented_lines(ident + " ", fw, doc, False)
|
||||
fw("\n")
|
||||
elif type(descr) in {MethodDescriptorType, ClassMethodDescriptorType}:
|
||||
@@ -738,11 +734,14 @@ def pyprop2sphinx(ident, fw, identifier, py_prop):
|
||||
'''
|
||||
# readonly properties use "data" directive, variables use "attribute" directive
|
||||
if py_prop.fset is None:
|
||||
fw(ident + ".. data:: %s\n\n" % identifier)
|
||||
fw(ident + ".. data:: %s\n" % identifier)
|
||||
fw(ident + " :noindex:\n\n")
|
||||
else:
|
||||
fw(ident + ".. attribute:: %s\n\n" % identifier)
|
||||
fw(ident + ".. attribute:: %s\n" % identifier)
|
||||
fw(ident + " :noindex:\n\n")
|
||||
write_indented_lines(ident + " ", fw, py_prop.__doc__)
|
||||
if py_prop.fset is None:
|
||||
fw("\n")
|
||||
fw(ident + " (readonly)\n\n")
|
||||
else:
|
||||
fw("\n")
|
||||
@@ -908,7 +907,8 @@ def pymodule2sphinx(basepath, module_name, module, title):
|
||||
elif issubclass(value_type, (bool, int, float, str, tuple)):
|
||||
# constant, not much fun we can do here except to list it.
|
||||
# TODO, figure out some way to document these!
|
||||
fw(".. data:: %s\n\n" % attribute)
|
||||
fw(".. data:: %s\n" % attribute)
|
||||
fw(" :noindex:\n\n")
|
||||
write_indented_lines(" ", fw, "constant value %s" % repr(value), False)
|
||||
fw("\n")
|
||||
else:
|
||||
@@ -1052,6 +1052,7 @@ context_type_map = {
|
||||
"selected_editable_fcurves": ("FCurve", True),
|
||||
"selected_editable_objects": ("Object", True),
|
||||
"selected_editable_sequences": ("Sequence", True),
|
||||
"selected_nla_strips": ("NlaStrip", True),
|
||||
"selected_nodes": ("Node", True),
|
||||
"selected_objects": ("Object", True),
|
||||
"selected_pose_bones": ("PoseBone", True),
|
||||
@@ -1073,6 +1074,7 @@ context_type_map = {
|
||||
"visible_pose_bones": ("PoseBone", True),
|
||||
"visible_fcurves": ("FCurve", True),
|
||||
"weight_paint_object": ("Object", False),
|
||||
"volume": ("Volume", False),
|
||||
"world": ("World", False),
|
||||
}
|
||||
|
||||
@@ -1114,7 +1116,8 @@ def pycontext2sphinx(basepath):
|
||||
|
||||
type_descr = prop.get_type_description(
|
||||
class_fmt=":class:`bpy.types.%s`", collection_id=_BPY_PROP_COLLECTION_ID)
|
||||
fw(".. data:: %s\n\n" % prop.identifier)
|
||||
fw(".. data:: %s\n" % prop.identifier)
|
||||
fw(" :noindex:\n\n")
|
||||
if prop.description:
|
||||
fw(" %s\n\n" % prop.description)
|
||||
|
||||
@@ -1159,7 +1162,8 @@ def pycontext2sphinx(basepath):
|
||||
i = 0
|
||||
while char_array[i] is not None:
|
||||
member = ctypes.string_at(char_array[i]).decode(encoding="ascii")
|
||||
fw(".. data:: %s\n\n" % member)
|
||||
fw(".. data:: %s\n" % member)
|
||||
fw(" :noindex:\n\n")
|
||||
member_type, is_seq = context_type_map[member]
|
||||
fw(" :type: %s :class:`bpy.types.%s`\n\n" % ("sequence of " if is_seq else "", member_type))
|
||||
unique.add(member)
|
||||
@@ -1303,7 +1307,7 @@ def pyrna2sphinx(basepath):
|
||||
|
||||
fw(title_string(title, "="))
|
||||
|
||||
fw(".. module:: %s\n\n" % struct_module_name)
|
||||
fw(".. module:: %s.%s\n\n" % (struct_module_name, struct_id))
|
||||
|
||||
# docs first?, ok
|
||||
write_example_ref("", fw, "%s.%s" % (struct_module_name, struct_id))
|
||||
@@ -1362,9 +1366,11 @@ def pyrna2sphinx(basepath):
|
||||
type_descr = prop.get_type_description(class_fmt=":class:`%s`", collection_id=_BPY_PROP_COLLECTION_ID)
|
||||
# readonly properties use "data" directive, variables properties use "attribute" directive
|
||||
if 'readonly' in type_descr:
|
||||
fw(" .. data:: %s\n\n" % prop.identifier)
|
||||
fw(" .. data:: %s\n" % prop.identifier)
|
||||
fw(" :noindex:\n\n")
|
||||
else:
|
||||
fw(" .. attribute:: %s\n\n" % prop.identifier)
|
||||
fw(" .. attribute:: %s\n" % prop.identifier)
|
||||
fw(" :noindex:\n\n")
|
||||
if prop.description:
|
||||
fw(" %s\n\n" % prop.description)
|
||||
|
||||
@@ -1441,7 +1447,7 @@ def pyrna2sphinx(basepath):
|
||||
|
||||
if _BPY_STRUCT_FAKE:
|
||||
descr_items = [
|
||||
(key, descr) for key, descr in sorted(bpy.types.Struct.__bases__[0].__dict__.items())
|
||||
(key, descr) for key, descr in sorted(bpy_struct.__dict__.items())
|
||||
if not key.startswith("__")
|
||||
]
|
||||
|
||||
@@ -1457,9 +1463,6 @@ def pyrna2sphinx(basepath):
|
||||
for identifier, py_prop in base.get_py_properties():
|
||||
lines.append(" * :class:`%s.%s`\n" % (base.identifier, identifier))
|
||||
|
||||
for identifier, py_prop in base.get_py_properties():
|
||||
lines.append(" * :class:`%s.%s`\n" % (base.identifier, identifier))
|
||||
|
||||
if lines:
|
||||
fw(".. rubric:: Inherited Properties\n\n")
|
||||
|
||||
@@ -1483,6 +1486,8 @@ def pyrna2sphinx(basepath):
|
||||
lines.append(" * :class:`%s.%s`\n" % (base.identifier, func.identifier))
|
||||
for identifier, py_func in base.get_py_functions():
|
||||
lines.append(" * :class:`%s.%s`\n" % (base.identifier, identifier))
|
||||
for identifier, py_func in base.get_py_c_functions():
|
||||
lines.append(" * :class:`%s.%s`\n" % (base.identifier, identifier))
|
||||
|
||||
if lines:
|
||||
fw(".. rubric:: Inherited Functions\n\n")
|
||||
@@ -1535,7 +1540,7 @@ def pyrna2sphinx(basepath):
|
||||
|
||||
fw(title_string(class_name, "="))
|
||||
|
||||
fw(".. module:: %s\n" % class_module_name)
|
||||
fw(".. module:: %s.%s\n" % (class_module_name, class_name))
|
||||
fw("\n")
|
||||
|
||||
if use_subclasses:
|
||||
@@ -1570,7 +1575,7 @@ def pyrna2sphinx(basepath):
|
||||
|
||||
# write fake classes
|
||||
if _BPY_STRUCT_FAKE:
|
||||
class_value = bpy.types.Struct.__bases__[0]
|
||||
class_value = bpy_struct
|
||||
fake_bpy_type(
|
||||
"bpy.types", class_value, _BPY_STRUCT_FAKE,
|
||||
"built-in base class for all classes in bpy.types.", use_subclasses=True,
|
||||
@@ -1710,7 +1715,7 @@ class PatchedPythonDomain(PythonDomain):
|
||||
|
||||
fw("def setup(app):\n")
|
||||
fw(" app.add_stylesheet('css/theme_overrides.css')\n")
|
||||
fw(" app.override_domain(PatchedPythonDomain)\n\n")
|
||||
fw(" app.add_domain(PatchedPythonDomain, override=True)\n\n")
|
||||
|
||||
file.close()
|
||||
|
||||
@@ -1756,6 +1761,7 @@ def write_rst_contents(basepath):
|
||||
app_modules = (
|
||||
"bpy.context", # note: not actually a module
|
||||
"bpy.data", # note: not actually a module
|
||||
"bpy.msgbus", # note: not actually a module
|
||||
"bpy.ops",
|
||||
"bpy.types",
|
||||
|
||||
@@ -1846,6 +1852,29 @@ def write_rst_ops_index(basepath):
|
||||
file.close()
|
||||
|
||||
|
||||
def write_rst_msgbus(basepath):
|
||||
"""
|
||||
Write the rst files of bpy.msgbus module
|
||||
"""
|
||||
if 'bpy.msgbus' in EXCLUDE_MODULES:
|
||||
return
|
||||
|
||||
# Write the index.
|
||||
filepath = os.path.join(basepath, "bpy.msgbus.rst")
|
||||
file = open(filepath, "w", encoding="utf-8")
|
||||
fw = file.write
|
||||
fw(title_string("Message Bus (bpy.msgbus)", "="))
|
||||
write_example_ref("", fw, "bpy.msgbus")
|
||||
fw(".. toctree::\n")
|
||||
fw(" :glob:\n\n")
|
||||
fw(" bpy.msgbus.*\n\n")
|
||||
file.close()
|
||||
|
||||
# Write the contents.
|
||||
pymodule2sphinx(basepath, 'bpy.msgbus', bpy.msgbus, 'Message Bus')
|
||||
EXAMPLE_SET_USED.add("bpy.msgbus")
|
||||
|
||||
|
||||
def write_rst_data(basepath):
|
||||
'''
|
||||
Write the rst file of bpy.data module
|
||||
@@ -2000,6 +2029,7 @@ def rna2sphinx(basepath):
|
||||
write_rst_bpy(basepath) # bpy, disabled by default
|
||||
write_rst_types_index(basepath) # bpy.types
|
||||
write_rst_ops_index(basepath) # bpy.ops
|
||||
write_rst_msgbus(basepath) # bpy.msgbus
|
||||
pyrna2sphinx(basepath) # bpy.types.* and bpy.ops.*
|
||||
write_rst_data(basepath) # bpy.data
|
||||
write_rst_importable_modules(basepath)
|
||||
|
@@ -36,16 +36,10 @@ fi
|
||||
blender_srcdir=$(dirname -- $0)/../..
|
||||
blender_version_header="$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h"
|
||||
blender_version=$(grep "BLENDER_VERSION\s" "$blender_version_header" | awk '{print $3}')
|
||||
blender_version_char=$(grep "BLENDER_VERSION_CHAR\s" "$blender_version_header" | awk '{print $3}')
|
||||
blender_version_cycle=$(grep "BLENDER_VERSION_CYCLE\s" "$blender_version_header" | awk '{print $3}')
|
||||
blender_subversion=$(grep "BLENDER_SUBVERSION\s" "$blender_version_header" | awk '{print $3}')
|
||||
unset blender_version_header
|
||||
|
||||
if [ "$blender_version_cycle" = "release" ] ; then
|
||||
BLENDER_VERSION=$(expr $blender_version / 100)_$(expr $blender_version % 100)$blender_version_char"_release"
|
||||
else
|
||||
BLENDER_VERSION=$(expr $blender_version / 100)_$(expr $blender_version % 100)_$blender_subversion
|
||||
fi
|
||||
BLENDER_VERSION=$(expr $blender_version / 100)_$(expr $blender_version % 100)
|
||||
|
||||
SSH_UPLOAD_FULL=$SSH_UPLOAD/"blender_python_api_"$BLENDER_VERSION
|
||||
|
||||
|
@@ -127,11 +127,10 @@ def main():
|
||||
" f.write('%d\\n' % is_release)\n"
|
||||
" f.write('%d\\n' % is_beta)\n"
|
||||
" f.write('%s\\n' % branch)\n"
|
||||
" f.write('%d.%d%s\\n' % (bpy.app.version[0], bpy.app.version[1], bpy.app.version_char))\n"
|
||||
" f.write('%d.%d%s\\n' % (bpy.app.version[0], bpy.app.version[1], bpy.app.version_char)\n"
|
||||
" f.write('%d.%d\\n' % (bpy.app.version[0], bpy.app.version[1]))\n"
|
||||
" f.write('%d.%d\\n' % (bpy.app.version[0], bpy.app.version[1])\n"
|
||||
" if (is_release or is_beta) else '%s\\n' % branch)\n"
|
||||
" f.write('%d_%d%s_release' % (bpy.app.version[0], bpy.app.version[1], bpy.app.version_char)\n"
|
||||
" if is_release else '%d_%d_%d' % bpy.app.version)\n"
|
||||
" f.write('%d_%d' % (bpy.app.version[0], bpy.app.version[1]))\n"
|
||||
)
|
||||
get_ver_cmd = (args.blender, "--background", "-noaudio", "--factory-startup", "--python-exit-code", "1",
|
||||
"--python-expr", getver_script, "--", getver_file)
|
||||
|
2
extern/CMakeLists.txt
vendored
2
extern/CMakeLists.txt
vendored
@@ -72,7 +72,7 @@ if(WITH_CYCLES OR WITH_COMPOSITOR OR WITH_OPENSUBDIV)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(WITH_X11 AND WITH_GHOST_XDND)
|
||||
if(WITH_GHOST_X11 AND WITH_GHOST_XDND)
|
||||
add_subdirectory(xdnd)
|
||||
endif()
|
||||
|
||||
|
4
extern/audaspace/bindings/C/AUD_Device.cpp
vendored
4
extern/audaspace/bindings/C/AUD_Device.cpp
vendored
@@ -290,14 +290,14 @@ AUD_API AUD_Device* AUD_Device_getCurrent()
|
||||
return new AUD_Device(device);
|
||||
}
|
||||
|
||||
AUD_API void AUD_seekSynchronizer(AUD_Handle* handle, float time)
|
||||
AUD_API void AUD_seekSynchronizer(AUD_Handle* handle, double time)
|
||||
{
|
||||
auto synchronizer = DeviceManager::getDevice()->getSynchronizer();
|
||||
if(synchronizer)
|
||||
synchronizer->seek(*reinterpret_cast<std::shared_ptr<IHandle>*>(handle), time);
|
||||
}
|
||||
|
||||
AUD_API float AUD_getSynchronizerPosition(AUD_Handle* handle)
|
||||
AUD_API double AUD_getSynchronizerPosition(AUD_Handle* handle)
|
||||
{
|
||||
auto synchronizer = DeviceManager::getDevice()->getSynchronizer();
|
||||
if(synchronizer)
|
||||
|
4
extern/audaspace/bindings/C/AUD_Device.h
vendored
4
extern/audaspace/bindings/C/AUD_Device.h
vendored
@@ -221,14 +221,14 @@ extern AUD_API AUD_Device* AUD_Device_getCurrent();
|
||||
* \param handle Playback handle.
|
||||
* \param time Time in seconds to seek to.
|
||||
*/
|
||||
extern AUD_API void AUD_seekSynchronizer(AUD_Handle* handle, float time);
|
||||
extern AUD_API void AUD_seekSynchronizer(AUD_Handle* handle, double time);
|
||||
|
||||
/**
|
||||
* Returns the current sound scene playback time.
|
||||
* \param handle Playback handle.
|
||||
* \return The playback time in seconds.
|
||||
*/
|
||||
extern AUD_API float AUD_getSynchronizerPosition(AUD_Handle* handle);
|
||||
extern AUD_API double AUD_getSynchronizerPosition(AUD_Handle* handle);
|
||||
|
||||
/**
|
||||
* Starts the playback of jack transport if possible.
|
||||
|
@@ -101,14 +101,14 @@ AUD_API int AUD_DynamicMusic_pause(AUD_DynamicMusic* player)
|
||||
return (*player)->pause();
|
||||
}
|
||||
|
||||
AUD_API int AUD_DynamicMusic_seek(AUD_DynamicMusic* player, float position)
|
||||
AUD_API int AUD_DynamicMusic_seek(AUD_DynamicMusic* player, double position)
|
||||
{
|
||||
assert(player);
|
||||
|
||||
return (*player)->seek(position);
|
||||
}
|
||||
|
||||
AUD_API float AUD_DynamicMusic_getPosition(AUD_DynamicMusic* player)
|
||||
AUD_API double AUD_DynamicMusic_getPosition(AUD_DynamicMusic* player)
|
||||
{
|
||||
assert(player);
|
||||
|
||||
@@ -141,4 +141,4 @@ AUD_API int AUD_DynamicMusic_stop(AUD_DynamicMusic* player)
|
||||
assert(player);
|
||||
|
||||
return (*player)->stop();
|
||||
}
|
||||
}
|
||||
|
@@ -103,14 +103,14 @@ extern AUD_API int AUD_DynamicMusic_pause(AUD_DynamicMusic* player);
|
||||
* \param position The new position from which to play back, in seconds.
|
||||
* \return 0 if the seeking wasn't possible.
|
||||
*/
|
||||
extern AUD_API int AUD_DynamicMusic_seek(AUD_DynamicMusic* player, float position);
|
||||
extern AUD_API int AUD_DynamicMusic_seek(AUD_DynamicMusic* player, double position);
|
||||
|
||||
/**
|
||||
* Retrieves the position of the current scene of a dynamic music player.
|
||||
* \param player The DynamicMusic object.
|
||||
* \return The position of the current playing scene.
|
||||
*/
|
||||
extern AUD_API float AUD_DynamicMusic_getPosition(AUD_DynamicMusic* player);
|
||||
extern AUD_API double AUD_DynamicMusic_getPosition(AUD_DynamicMusic* player);
|
||||
|
||||
/**
|
||||
* Retrieves the volume of the current scene of a dynamic music player.
|
||||
@@ -142,4 +142,4 @@ extern AUD_API int AUD_DynamicMusic_stop(AUD_DynamicMusic* player);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
4
extern/audaspace/bindings/C/AUD_Handle.cpp
vendored
4
extern/audaspace/bindings/C/AUD_Handle.cpp
vendored
@@ -259,13 +259,13 @@ AUD_API int AUD_Handle_setPitch(AUD_Handle* handle, float value)
|
||||
return (*handle)->setPitch(value);
|
||||
}
|
||||
|
||||
AUD_API float AUD_Handle_getPosition(AUD_Handle* handle)
|
||||
AUD_API double AUD_Handle_getPosition(AUD_Handle* handle)
|
||||
{
|
||||
assert(handle);
|
||||
return (*handle)->getPosition();
|
||||
}
|
||||
|
||||
AUD_API int AUD_Handle_setPosition(AUD_Handle* handle, float value)
|
||||
AUD_API int AUD_Handle_setPosition(AUD_Handle* handle, double value)
|
||||
{
|
||||
assert(handle);
|
||||
return (*handle)->seek(value);
|
||||
|
4
extern/audaspace/bindings/C/AUD_Handle.h
vendored
4
extern/audaspace/bindings/C/AUD_Handle.h
vendored
@@ -211,14 +211,14 @@ extern AUD_API int AUD_Handle_setPitch(AUD_Handle* handle, float value);
|
||||
* param handle The handle to get the position from.
|
||||
* return The position of the handle.
|
||||
*/
|
||||
extern AUD_API float AUD_Handle_getPosition(AUD_Handle* handle);
|
||||
extern AUD_API double AUD_Handle_getPosition(AUD_Handle* handle);
|
||||
|
||||
/**
|
||||
* Sets the position of a handle.
|
||||
* param handle The handle to set the position from.
|
||||
* param value The new position to set.
|
||||
*/
|
||||
extern AUD_API int AUD_Handle_setPosition(AUD_Handle* handle, float value);
|
||||
extern AUD_API int AUD_Handle_setPosition(AUD_Handle* handle, double value);
|
||||
|
||||
/**
|
||||
* Retrieves the relative of a handle.
|
||||
|
4
extern/audaspace/bindings/C/AUD_Sequence.cpp
vendored
4
extern/audaspace/bindings/C/AUD_Sequence.cpp
vendored
@@ -41,7 +41,7 @@ AUD_API void AUD_Sequence_free(AUD_Sound* sequence)
|
||||
delete sequence;
|
||||
}
|
||||
|
||||
AUD_API AUD_SequenceEntry* AUD_Sequence_add(AUD_Sound* sequence, AUD_Sound* sound, float begin, float end, float skip)
|
||||
AUD_API AUD_SequenceEntry* AUD_Sequence_add(AUD_Sound* sequence, AUD_Sound* sound, double begin, double end, double skip)
|
||||
{
|
||||
if(!sound)
|
||||
return new AUD_SequenceEntry(((Sequence *)sequence->get())->add(AUD_Sound(), begin, end, skip));
|
||||
@@ -160,7 +160,7 @@ AUD_API void AUD_Sequence_setSpeedOfSound(AUD_Sound* sequence, float value)
|
||||
|
||||
|
||||
|
||||
AUD_API void AUD_SequenceEntry_move(AUD_SequenceEntry* entry, float begin, float end, float skip)
|
||||
AUD_API void AUD_SequenceEntry_move(AUD_SequenceEntry* entry, double begin, double end, double skip)
|
||||
{
|
||||
(*entry)->move(begin, end, skip);
|
||||
}
|
||||
|
4
extern/audaspace/bindings/C/AUD_Sequence.h
vendored
4
extern/audaspace/bindings/C/AUD_Sequence.h
vendored
@@ -55,7 +55,7 @@ extern AUD_API void AUD_Sequence_free(AUD_Sound* sequence);
|
||||
* \param skip How much seconds should be skipped at the beginning.
|
||||
* \return The entry added.
|
||||
*/
|
||||
extern AUD_API AUD_SequenceEntry* AUD_Sequence_add(AUD_Sound* sequence, AUD_Sound* sound, float begin, float end, float skip);
|
||||
extern AUD_API AUD_SequenceEntry* AUD_Sequence_add(AUD_Sound* sequence, AUD_Sound* sound, double begin, double end, double skip);
|
||||
|
||||
/**
|
||||
* Removes an entry from the scene.
|
||||
@@ -167,7 +167,7 @@ extern AUD_API void AUD_Sequence_setSpeedOfSound(AUD_Sound* sequence, float valu
|
||||
* \param end The new end time or a negative value if unknown.
|
||||
* \param skip How many seconds to skip at the beginning.
|
||||
*/
|
||||
extern AUD_API void AUD_SequenceEntry_move(AUD_SequenceEntry* entry, float begin, float end, float skip);
|
||||
extern AUD_API void AUD_SequenceEntry_move(AUD_SequenceEntry* entry, double begin, double end, double skip);
|
||||
|
||||
/**
|
||||
* Writes animation data to a sequenced entry.
|
||||
|
4
extern/audaspace/bindings/C/AUD_Special.cpp
vendored
4
extern/audaspace/bindings/C/AUD_Special.cpp
vendored
@@ -175,7 +175,7 @@ static void pauseSound(AUD_Handle* handle)
|
||||
(*handle)->pause();
|
||||
}
|
||||
|
||||
AUD_API AUD_Handle* AUD_pauseAfter(AUD_Handle* handle, float seconds)
|
||||
AUD_API AUD_Handle* AUD_pauseAfter(AUD_Handle* handle, double seconds)
|
||||
{
|
||||
auto device = DeviceManager::getDevice();
|
||||
|
||||
@@ -336,7 +336,7 @@ AUD_API const char* AUD_mixdown_per_channel(AUD_Sound* sound, unsigned int start
|
||||
}
|
||||
}
|
||||
|
||||
AUD_API AUD_Device* AUD_openMixdownDevice(AUD_DeviceSpecs specs, AUD_Sound* sequencer, float volume, float start)
|
||||
AUD_API AUD_Device* AUD_openMixdownDevice(AUD_DeviceSpecs specs, AUD_Sound* sequencer, float volume, double start)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
4
extern/audaspace/bindings/C/AUD_Special.h
vendored
4
extern/audaspace/bindings/C/AUD_Special.h
vendored
@@ -45,7 +45,7 @@ extern AUD_API float* AUD_readSoundBuffer(const char* filename, float low, float
|
||||
* \param seconds The time in seconds.
|
||||
* \return The silence handle.
|
||||
*/
|
||||
extern AUD_API AUD_Handle* AUD_pauseAfter(AUD_Handle* handle, float seconds);
|
||||
extern AUD_API AUD_Handle* AUD_pauseAfter(AUD_Handle* handle, double seconds);
|
||||
|
||||
/**
|
||||
* Reads a sound into a buffer for drawing at a specific sampling rate.
|
||||
@@ -101,7 +101,7 @@ extern AUD_API const char* AUD_mixdown_per_channel(AUD_Sound* sound, unsigned in
|
||||
* \param start The start time of the mixdown in the sound scene.
|
||||
* \return The read device for the mixdown.
|
||||
*/
|
||||
extern AUD_API AUD_Device* AUD_openMixdownDevice(AUD_DeviceSpecs specs, AUD_Sound* sequencer, float volume, float start);
|
||||
extern AUD_API AUD_Device* AUD_openMixdownDevice(AUD_DeviceSpecs specs, AUD_Sound* sequencer, float volume, double start);
|
||||
|
||||
/**
|
||||
* Initializes audio routines (FFMPEG/JACK if it is enabled).
|
||||
|
1
extern/audaspace/bindings/doc/device.rst
vendored
1
extern/audaspace/bindings/doc/device.rst
vendored
@@ -4,4 +4,5 @@ Device
|
||||
.. currentmodule:: aud
|
||||
.. autoclass:: Device
|
||||
:members:
|
||||
:noindex:
|
||||
|
||||
|
1
extern/audaspace/bindings/doc/handle.rst
vendored
1
extern/audaspace/bindings/doc/handle.rst
vendored
@@ -4,4 +4,5 @@ Handle
|
||||
.. currentmodule:: aud
|
||||
.. autoclass:: Handle
|
||||
:members:
|
||||
:noindex:
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user