Compare commits
2099 Commits
lineart-ob
...
temp-T9593
Author | SHA1 | Date | |
---|---|---|---|
314ccaa299 | |||
fab4b3f463 | |||
1bba4d0c78 | |||
546dfd6963 | |||
c4b32f1b29 | |||
b98a937db6 | |||
03173d63c0 | |||
9ef3736959 | |||
56bf92f0f6 | |||
b9c0eed206 | |||
fc06b4c033 | |||
52fa0c4251 | |||
4e9e44ad28 | |||
ba62e20af6 | |||
7cfea48752 | |||
b8605ee458 | |||
e0cc86978c | |||
f9a805164a | |||
![]() |
fcf1a9ff71 | ||
c76e1ecac6 | |||
59e1009f10 | |||
85ef8e1945 | |||
a91f9c2c01 | |||
f0ac55f519 | |||
![]() |
a26038ff38 | ||
![]() |
3063d90cfc | ||
eb7218de8d | |||
9a4927031d | |||
ed7dc4282c | |||
5c3dc52536 | |||
e3ef56ef91 | |||
5d6e7df4a8 | |||
a27024e36d | |||
97dd107070 | |||
051a341cf0 | |||
14980c9b3a | |||
f256201876 | |||
50f9c1c09c | |||
bddcb89cda | |||
28105caaa3 | |||
843ad51d18 | |||
34c701abbd | |||
3f657e7ef1 | |||
83c0f6ac37 | |||
5c790fd52b | |||
709e620977 | |||
378f65f7d9 | |||
3354ec3fb3 | |||
2a60b979cc | |||
2d041fc468 | |||
190ad73590 | |||
debb233787 | |||
fae68ec651 | |||
8ea5a5259d | |||
82fc8786ea | |||
0df574b55e | |||
6636edbb00 | |||
9d0777e514 | |||
da85245704 | |||
94323bb427 | |||
4b0e7fe511 | |||
26f721b516 | |||
e58e023e1a | |||
d9505831a4 | |||
db9e08a0d1 | |||
![]() |
1f0048cc2d | ||
faac25fefe | |||
![]() |
1a820680a1 | ||
9435ee8c65 | |||
7688f0ace7 | |||
c52a18abf8 | |||
883d8ea16c | |||
329efa23d0 | |||
31f0845b7e | |||
8f0907b797 | |||
d4099465cd | |||
b98d116257 | |||
7306aedca5 | |||
3dbe1b0160 | |||
7ff054c6d1 | |||
c46d4d9fad | |||
7f24d90f11 | |||
ce1d023667 | |||
598a26fd8a | |||
935ef06fd1 | |||
fdb854b932 | |||
![]() |
bd00324c26 | ||
322abb2e4b | |||
8c33a53b17 | |||
9145a4d08f | |||
780c0ea097 | |||
dfa5201763 | |||
7537369498 | |||
6e879c3998 | |||
242bfd28ce | |||
dccdc6213e | |||
8fb8a6529f | |||
c63569c0e0 | |||
abbc8333ac | |||
af6f3a4020 | |||
1c38bfdc6f | |||
004913dd95 | |||
3f5073a8e2 | |||
7be07a9d6e | |||
a720a4aabb | |||
c5d3846b10 | |||
cbb897070d | |||
148dcb3954 | |||
faa97de208 | |||
9dd27a2c87 | |||
929811df63 | |||
f4a9a3767e | |||
e86c2f7288 | |||
c355be6fae | |||
![]() |
4ffee9a48d | ||
ab444a80a2 | |||
69ee9ca90e | |||
01d7dedd74 | |||
9bb2afb55e | |||
5d9ade27de | |||
3c60d62dba | |||
d0e3388848 | |||
da00d62c49 | |||
56b218296c | |||
ce9b36cb7d | |||
1f47e3b49c | |||
b683a37824 | |||
5e5fe217ca | |||
41c10ac84a | |||
e7a21275c0 | |||
![]() |
4527dd1ce4 | ||
3ffc558341 | |||
0554537c3c | |||
bb8953ab49 | |||
5b7e7d67a5 | |||
4cba209edd | |||
ccbf9ee482 | |||
eff62ea8ab | |||
5d57d9f899 | |||
e4bf58e285 | |||
72b9e07cf2 | |||
dfa5bd689e | |||
c922b9e2c1 | |||
b872ad037a | |||
19c9b05441 | |||
18c0ec80c9 | |||
16264aebe6 | |||
3583392fc2 | |||
f06af89723 | |||
b1d3b14711 | |||
650a15fb9b | |||
bd7b181e10 | |||
df8d96ab66 | |||
276e419671 | |||
7e55ff15b0 | |||
3d3ba9ca8e | |||
cf64a1d73e | |||
90f4b35bc2 | |||
c15ae2e87b | |||
4206b30275 | |||
32e9c9802e | |||
6161ce6e5d | |||
982d6589a8 | |||
a69e5c2348 | |||
95055af668 | |||
![]() |
106d937a4e | ||
f18067aa03 | |||
a9696f04a0 | |||
fbcc00d10d | |||
c9795102c2 | |||
e7c58941b1 | |||
65166e145b | |||
66de653784 | |||
![]() |
79fe27b976 | ||
34e04ccde2 | |||
ef268c7893 | |||
![]() |
f00d9e80ae | ||
6bb703a9ee | |||
8bf9d482da | |||
58ccd8338e | |||
7c98632289 | |||
cfd087673d | |||
1cf64434ed | |||
6bd2c6789b | |||
df40e9d0aa | |||
e190b70946 | |||
e75f3e3feb | |||
90ccb71969 | |||
547efb6b1e | |||
![]() |
92d7f9ac56 | ||
416aef4e13 | |||
![]() |
0f22b5599a | ||
4a7e1c9209 | |||
c64d1b23df | |||
b544225202 | |||
acdc043c30 | |||
edbf04ff37 | |||
![]() |
5c726dd4ef | ||
c39e932631 | |||
2185943235 | |||
f7c6d3705d | |||
3cefa13770 | |||
feeb8310c8 | |||
b6c28002ac | |||
209f2b85d7 | |||
011327224e | |||
0ea282f746 | |||
![]() |
4593fb52cf | ||
![]() |
d23818fcd9 | ||
95964444c6 | |||
1516f7dcde | |||
6b508eb012 | |||
6dd8ceef2a | |||
![]() |
2ac5b55289 | ||
b708f45922 | |||
a5ac0375b0 | |||
45fb7a1db5 | |||
4a9f60ecd2 | |||
40f40e9931 | |||
70c6beeafb | |||
087e95d0fe | |||
a02992f131 | |||
302b04a5a3 | |||
c51b8ec863 | |||
43b65150ed | |||
930398d5b1 | |||
6b2dd3e314 | |||
b1163d2198 | |||
![]() |
66f826ae85 | ||
eaec01cad5 | |||
2d0877ed7e | |||
3283bc6367 | |||
f32d7dd0c8 | |||
68d037190f | |||
e1dc54c8fc | |||
6777c420db | |||
d94d7a5d8f | |||
45645936e9 | |||
c0e4532331 | |||
2d18dd9309 | |||
1c61db5346 | |||
![]() |
33be9c0885 | ||
c257443192 | |||
814f360c83 | |||
e127182065 | |||
75ad435ceb | |||
fde7d39051 | |||
![]() |
abfa09752f | ||
270ed1c716 | |||
b8064e3312 | |||
![]() |
bd6912930f | ||
614aa9d8ec | |||
f9f73473d6 | |||
ce5e1c84df | |||
b585872450 | |||
d5dcbabdd2 | |||
![]() |
4d982cbb5d | ||
0124de9d0e | |||
73e4c6e1f3 | |||
cbd0b7c7d0 | |||
c96f2778f0 | |||
dfea5e24ad | |||
58abcc1cd4 | |||
555fec7ffd | |||
c1ffea157c | |||
14b34361bc | |||
f9076f3869 | |||
33fc230ba2 | |||
![]() |
e6d50cdd43 | ||
ca9e1f6391 | |||
dd95deadf3 | |||
fd7c070861 | |||
40cd041f74 | |||
b8cc181808 | |||
![]() |
b910114384 | ||
381fe684e2 | |||
65f4f50640 | |||
7a44f62bdb | |||
317dfc1735 | |||
17a773cdce | |||
36348bf4fc | |||
8eef98710b | |||
![]() |
67e23b4b29 | ||
a571c74e10 | |||
31ebe8982e | |||
![]() |
6b35d9e6fb | ||
a2b9b9d3c4 | |||
f0a3d2beb2 | |||
6f7171525b | |||
![]() |
64a3a11e19 | ||
6243972319 | |||
![]() |
279e7dac7d | ||
83c2cbb880 | |||
36f5967b99 | |||
228d79b789 | |||
6de0f29950 | |||
151fc2fcd8 | |||
6a2c42a0d5 | |||
2b806cb955 | |||
ddc6b86a5b | |||
a617929683 | |||
3cf6516e7b | |||
![]() |
9130a60d3d | ||
7b6b740ace | |||
e1c0d18598 | |||
1cf05f17eb | |||
10a2c50733 | |||
3a8fa77c1f | |||
2b6c633b63 | |||
0e88c2fc59 | |||
30273b86c7 | |||
4c3b984b3d | |||
77f10fceb2 | |||
81c5b759d6 | |||
a646a4b47e | |||
be692cc4fe | |||
ef8bb8c0d5 | |||
22fc0cbd69 | |||
3237c6dbe8 | |||
b513c89e84 | |||
ba1e97f1c6 | |||
5606942c63 | |||
2967726a29 | |||
2a8afc142f | |||
9a0a4b0c0d | |||
12bde317f4 | |||
35d2a22846 | |||
fca94c5e0d | |||
f6290cd2a4 | |||
35da733e6b | |||
9b6e86ace1 | |||
![]() |
29755e1df8 | ||
f1d191120f | |||
ad8add5f0c | |||
2580d2bab5 | |||
77eadbede4 | |||
585d81ba2b | |||
![]() |
f748a81f25 | ||
7927ac2fbe | |||
79973494ec | |||
e08c932482 | |||
3323cd9c9a | |||
11f38f59e2 | |||
4c4e8cc926 | |||
70648683a2 | |||
cc09661c4e | |||
b3a713fffa | |||
9b5dda3b07 | |||
93de6b912f | |||
4919403c29 | |||
41a0411d79 | |||
b0fe0e6a30 | |||
0473462241 | |||
a5ff46e0fc | |||
dc64673f6e | |||
![]() |
56435b3268 | ||
![]() |
792bf82f11 | ||
9b775ebad7 | |||
6dde88c536 | |||
54182e4925 | |||
3e5a4d1412 | |||
633c2f07da | |||
2eba15d3e8 | |||
5c6ffd07e0 | |||
d1ea39aac7 | |||
1c83354c63 | |||
![]() |
c2a2f3553a | ||
b8403b065e | |||
e63799e791 | |||
b830263186 | |||
![]() |
091100bfd7 | ||
![]() |
2ae4397ec9 | ||
![]() |
57816a6435 | ||
![]() |
d8e9647ae2 | ||
d20bad914e | |||
e4f51b3a6e | |||
743a027862 | |||
1160a3a3f8 | |||
d2a3b99ff7 | |||
![]() |
532b33973b | ||
![]() |
328a911379 | ||
5c0d18f682 | |||
![]() |
b6a76243cd | ||
1cde1562e8 | |||
![]() |
9f4ec73101 | ||
6c3965c027 | |||
cebc5531e9 | |||
785931fc3c | |||
a3d0f77ded | |||
a7b91fc8bc | |||
31d80ddeaa | |||
![]() |
df2ab4e758 | ||
![]() |
5946ea938a | ||
f4d8382c86 | |||
75f0aaab3d | |||
b8289eb1b9 | |||
8fab580949 | |||
c08fda3a6b | |||
256cb68d33 | |||
d901f8b75b | |||
7140016838 | |||
d2f47017b9 | |||
9622dace3e | |||
![]() |
d90b320444 | ||
7f3af2aaee | |||
15bc3d260d | |||
d373206c3f | |||
3bb34fb7ee | |||
ee78c860b8 | |||
84fc086254 | |||
5d3df1c296 | |||
3df6e75a26 | |||
beaae4533a | |||
84315368ef | |||
697363545f | |||
e42c662723 | |||
1154b45526 | |||
4144a85bda | |||
d7fbc5708a | |||
95465606b3 | |||
a18c291435 | |||
3545d8a500 | |||
522dcc54af | |||
9f8cc1bc34 | |||
549f9a1178 | |||
df3a67fc52 | |||
f86722afc7 | |||
6a1cc0d855 | |||
3bb8b64c47 | |||
d2e4bd7995 | |||
af983a3eef | |||
06b212c446 | |||
![]() |
eca0c95d51 | ||
72a5bb8ba9 | |||
ff1883307f | |||
b73a52302e | |||
088157e447 | |||
e658c8851a | |||
f8cec1ff30 | |||
a76c1ddecc | |||
6e8217d35e | |||
![]() |
6ad9d8e224 | ||
91b5254598 | |||
cf8922ef57 | |||
b7e193cdad | |||
d48735cca2 | |||
575884b827 | |||
7bf306622e | |||
b8bd304bd4 | |||
7d030213b2 | |||
cf3238c1c7 | |||
ac4836af6a | |||
30f244d96f | |||
3c2a2a6c96 | |||
8a3ff496a7 | |||
498f079d2c | |||
881d1c9bc2 | |||
35b2b9b6e6 | |||
5c814e75f2 | |||
![]() |
600c391a65 | ||
3d3c0dfe30 | |||
5b5811c97b | |||
230f72347a | |||
![]() |
257b4d138c | ||
![]() |
33bad77043 | ||
524a9e3db8 | |||
5485057a27 | |||
0ea173165b | |||
9bae9d97b1 | |||
d86af60429 | |||
3c0162295f | |||
0d43117a40 | |||
23662a9a84 | |||
52b93c423d | |||
b8f489c65b | |||
133095fff4 | |||
18def163f8 | |||
f0b4aa5d59 | |||
8d61ca5815 | |||
2c1bffa286 | |||
24246d9870 | |||
![]() |
838c4a97f1 | ||
75489b5887 | |||
d54eb5ed20 | |||
510f3fe9a9 | |||
10981bc8c0 | |||
18960c08fd | |||
96764c3a1f | |||
9830603620 | |||
f59418fd92 | |||
5cda99ff52 | |||
c756d08b4a | |||
1152a437e0 | |||
0ff7a7b3b5 | |||
62346abc02 | |||
483bc6c9c1 | |||
e2975cb701 | |||
209bf7780e | |||
650d2f863d | |||
b6b5f317a3 | |||
23d2e77a54 | |||
69d3f41d75 | |||
6562a11c60 | |||
dc11e1164a | |||
947ece8d39 | |||
8b9469ec36 | |||
5a30fe29ef | |||
e0c966a3b9 | |||
49b068bc63 | |||
![]() |
e6eefdd402 | ||
dce03ecd5c | |||
798b49109b | |||
9bed68de13 | |||
36307d8fba | |||
1064bf58c3 | |||
b19751bee2 | |||
65b1b1cd34 | |||
a17f74ab34 | |||
0d644e6d06 | |||
9dd5c2a7ec | |||
1fed24de5a | |||
409c62aa61 | |||
02012b0cce | |||
fa99323f09 | |||
e6e9f1ac5a | |||
![]() |
2804497312 | ||
43ddfdb1a5 | |||
653100cd65 | |||
004d858138 | |||
7e89bbb2ff | |||
0a3650210f | |||
d3edb3cfc7 | |||
502089f275 | |||
298372fa06 | |||
f0fa90e156 | |||
fe988f6c7f | |||
60bf561d37 | |||
![]() |
2e33172719 | ||
15b4120064 | |||
41053deba4 | |||
2e6cd70473 | |||
216a2c0f37 | |||
c1a231f40b | |||
412c468893 | |||
7cc8f2743e | |||
e550e400cd | |||
ea39d808b5 | |||
fc79b17dce | |||
66483c58eb | |||
f5dae5844c | |||
9978689595 | |||
f7bfbc357c | |||
b83f33ffca | |||
4acbb84efa | |||
2770010224 | |||
08f5219d1c | |||
46f93ac6be | |||
04a75c90d5 | |||
20ba130315 | |||
a59fedb0bf | |||
6737f89e49 | |||
7a24fe372c | |||
f5e7221fbd | |||
b690f4c2e6 | |||
06780aa4e6 | |||
25f18e6c49 | |||
0f06de8072 | |||
58a67e6fb6 | |||
3012eca350 | |||
67254ea37c | |||
e772087ed6 | |||
c7942c31b2 | |||
ca9d65cc97 | |||
4e96d71ddb | |||
![]() |
d209629806 | ||
28f4fc664f | |||
4475c38c5c | |||
06e0776175 | |||
e903403b41 | |||
c654a92237 | |||
c1d295e905 | |||
e1f15e3b32 | |||
1b4f35f6a5 | |||
827fa81767 | |||
f001c85772 | |||
97f894881c | |||
74e9605455 | |||
6c31bd80e3 | |||
b5a5c24396 | |||
0bd6b3e5a0 | |||
f89ea052f7 | |||
9a063e85a5 | |||
67f5596f19 | |||
77b34a00f9 | |||
afde12e066 | |||
988fc24930 | |||
3b7ce70232 | |||
1c5f09e8a8 | |||
1243c2bdae | |||
40d700c6fb | |||
e2993719a8 | |||
5abe127b3d | |||
85fde25178 | |||
10850f0db9 | |||
19e0b60f3e | |||
5ada2afb6d | |||
434133a631 | |||
9634f7fae3 | |||
16f5d51109 | |||
c55dac9904 | |||
afe57c4001 | |||
37097ae62a | |||
3ac656d367 | |||
7a849678c9 | |||
07a5869cf6 | |||
ac2a56d7f3 | |||
019df1fa73 | |||
4c7b0804f8 | |||
cc4d46d91e | |||
9d7e731444 | |||
f24d32f791 | |||
922861c5dc | |||
add1da52ad | |||
9e622e1d02 | |||
f6268f921a | |||
717ab5aeae | |||
4d0f7c3dcd | |||
f5d0a40122 | |||
07341d7b32 | |||
9cad614ad5 | |||
![]() |
9670c649d8 | ||
a24a28db7b | |||
d83a418c45 | |||
28f852ccc3 | |||
00aa57594c | |||
178c184825 | |||
2601b9832d | |||
eb9fa052a1 | |||
6a11cd036c | |||
aebca2bd65 | |||
e6548c03f9 | |||
32ee2ffc7d | |||
14d1ad8dd8 | |||
6d726192be | |||
f37a37cafe | |||
41c7c744eb | |||
ed15900473 | |||
8a6cbcf386 | |||
0fddff027e | |||
a91c8d8efa | |||
62dece5c86 | |||
38bfa53081 | |||
0926495de4 | |||
a632260828 | |||
96f88511ee | |||
132e58610d | |||
3bdf1c11fb | |||
84906d47dc | |||
8b8fbffeea | |||
8a02696724 | |||
530f2abb9b | |||
4ff9c0f4e3 | |||
371fc68678 | |||
285a68b7bb | |||
![]() |
9c28f0eb37 | ||
![]() |
f69c565a33 | ||
fe4e646405 | |||
a3e7280bd8 | |||
8843705f65 | |||
d62e6f1225 | |||
1a71f9d2b8 | |||
cc1cc46099 | |||
17971b8a5b | |||
9e393fc2f1 | |||
![]() |
520be607e8 | ||
7a751327fa | |||
ca29376e00 | |||
b52760a023 | |||
fe746b2738 | |||
5b0e9bd975 | |||
6eea5f70e3 | |||
1af652d42e | |||
83fd3767d3 | |||
8d09a12414 | |||
1269bcce81 | |||
8edd1d8aa5 | |||
a1d2efd190 | |||
b3e0101a35 | |||
173a15bcda | |||
a857156578 | |||
3e7d977886 | |||
9fda233897 | |||
d39e0f9616 | |||
627d42cd56 | |||
ec493d79fa | |||
b568f445a5 | |||
391485f412 | |||
60442b0292 | |||
7974d2bff6 | |||
9c029a3eb0 | |||
![]() |
e62a33e572 | ||
ccf0d22e92 | |||
b69aad60bd | |||
![]() |
1203bd58be | ||
503bcaf1a2 | |||
f49efed953 | |||
3b7e314a28 | |||
d422715094 | |||
1456f30b02 | |||
2918a3a2a3 | |||
1e0e1ad20f | |||
2935b6a2ac | |||
3a8a44b3f9 | |||
16934c198a | |||
![]() |
4412e14708 | ||
4fc7e1a880 | |||
4637f3e83c | |||
58d350b489 | |||
dcbbdc89ea | |||
9ccc21dde3 | |||
4580c18c56 | |||
![]() |
b77494ec61 | ||
7c4826d971 | |||
99847cd642 | |||
b4d3ca624e | |||
263371dc4e | |||
243891104f | |||
af6a68217f | |||
ea182deeb9 | |||
b3101abcce | |||
56ede578e7 | |||
![]() |
7c511f1b47 | ||
14fc89f38f | |||
3a57f5a9cf | |||
f700aa67ac | |||
128aa7f3b0 | |||
3772dda4ab | |||
a094cdacf8 | |||
7eb2018a0b | |||
bb9647b703 | |||
3cd283a424 | |||
011d9cce19 | |||
bb34afac56 | |||
8589f60546 | |||
c7e4c43072 | |||
93a68f2a90 | |||
270a24cc64 | |||
545d469879 | |||
c4e11122c5 | |||
72ea37ae5f | |||
648350e456 | |||
d450a791c3 | |||
4e3ce04855 | |||
e37eebf16f | |||
899ec8b6b8 | |||
176d7bcc2e | |||
31da775ec2 | |||
![]() |
e90ba74d3e | ||
e230ccaf8c | |||
db5ffdd1a4 | |||
6572ad8620 | |||
a5190dce9d | |||
23f8fc38d9 | |||
9531eb24b3 | |||
8e02b53ae7 | |||
2681e480ea | |||
da45c12bef | |||
34f94a02f3 | |||
3fe7d049d2 | |||
5cc118fc09 | |||
7f7ed8e098 | |||
6b9a3be03d | |||
e7156be86e | |||
0b38b8dafa | |||
e73fd4f0c0 | |||
691ab3fc46 | |||
1a3ac2f750 | |||
5d9ebea15d | |||
12722bd354 | |||
2780c7e312 | |||
074010ad6d | |||
9d8fb80f21 | |||
4c4056579b | |||
d040e1da4f | |||
284a3431ae | |||
fa5cf5360c | |||
cf6c8ae01b | |||
6b84465352 | |||
0a2a8d702a | |||
3b51d9065c | |||
5c6053ccb1 | |||
![]() |
50976657ac | ||
4eb5163b18 | |||
16d329da28 | |||
9babe39de9 | |||
cf5529af12 | |||
e87082d8a7 | |||
379672ca0b | |||
9ad19b0453 | |||
c4701a027f | |||
1fb36e9a7c | |||
4a72b64c7b | |||
545b9ddc34 | |||
049e42ef20 | |||
c15e913df8 | |||
7f47f187c1 | |||
b5fe0f02be | |||
73d8015aa3 | |||
2b80bfe9d0 | |||
33f5e8f239 | |||
10488d54d9 | |||
91c44920dd | |||
3cd6ccd968 | |||
2d9c5f3dcf | |||
96a47af413 | |||
9e43a57d22 | |||
9580f23596 | |||
1174cdc914 | |||
9bb7de274d | |||
432c4c74eb | |||
![]() |
901791944d | ||
3ca76ae0e8 | |||
48bb144fea | |||
f4456a4d3c | |||
40ecf9d606 | |||
33eeed5b3c | |||
d73adfdc86 | |||
0f73a27b76 | |||
ef3f33dfd3 | |||
7afcfe111a | |||
604409b8c7 | |||
f60ac5068a | |||
fb08353f38 | |||
b450a8c851 | |||
68150b666c | |||
129ea355c8 | |||
bff9841465 | |||
a493956eaa | |||
a1e6245650 | |||
e72b86d3cb | |||
c667069a12 | |||
7dd0258d4a | |||
ae0b68e129 | |||
e0f3c23ac0 | |||
e9eae1b857 | |||
110c90b3cf | |||
d3b3d72303 | |||
e5ab1495e5 | |||
da7bc51210 | |||
38acd14fb7 | |||
71ce47a71d | |||
1bf35f1b19 | |||
61a7e5be18 | |||
4cab98f8be | |||
0f29f2c3e6 | |||
44bac4c8cc | |||
ca346d2176 | |||
54d076b20d | |||
46cb24e7c2 | |||
0e8d6c2828 | |||
65e7d49939 | |||
ee57afe7e1 | |||
12642bdeab | |||
b38a59881b | |||
6cee404914 | |||
75162ab8c2 | |||
79cee340a8 | |||
511a08585d | |||
b9f29a0f64 | |||
0f47506cde | |||
5c80bcf8c2 | |||
484ea573af | |||
dc389a6152 | |||
a1830859fa | |||
96f20ddc1e | |||
610619c203 | |||
a40b611128 | |||
f2cd7e08fe | |||
908dfd5e0d | |||
52cb24a779 | |||
3060b98842 | |||
a746cef825 | |||
d356a4f280 | |||
a5dcae0c64 | |||
3d66ee8c97 | |||
e37027634b | |||
4669178fc3 | |||
39c14f4e84 | |||
765c16bbd0 | |||
75ef51cc80 | |||
9301cc74ee | |||
344a8fb3d4 | |||
0d7e0ffdb5 | |||
e82141b6b4 | |||
247ceca629 | |||
18a17d4291 | |||
![]() |
a30e67813d | ||
a3a138b41b | |||
5fdd367786 | |||
![]() |
1ebc0ebdc0 | ||
993fd985f0 | |||
c338388354 | |||
c8058e51ee | |||
1c6b66c9cf | |||
94444aaadf | |||
fb86f3ee18 | |||
ed2a345402 | |||
7056c7520a | |||
ca59391704 | |||
![]() |
f523fb1dc9 | ||
![]() |
c8cef83fae | ||
b24e091c5a | |||
3f9376851b | |||
3437cf155e | |||
a5d9b3442d | |||
4267c6280a | |||
dd2ed1c55c | |||
fb62fcf071 | |||
e7544e3ce4 | |||
c1277c5d25 | |||
6856290514 | |||
cd6551d4eb | |||
fc1ae52994 | |||
de610d06a6 | |||
65bd9974d1 | |||
afd81e26af | |||
a9a4bcc3d1 | |||
a775389823 | |||
70171cdfdf | |||
6a59cf0530 | |||
1f85877263 | |||
![]() |
a8471459fd | ||
ec8365b9ed | |||
7f877ee042 | |||
fbeec91abf | |||
24e74f8bef | |||
ddebb0f783 | |||
bb0fc67582 | |||
2f77b2daac | |||
ce1dd44c68 | |||
![]() |
878a805ae8 | ||
f1c29b9bd3 | |||
fc3c589b18 | |||
a7bda30ca8 | |||
16746e8ec2 | |||
3c0d7152c8 | |||
cc4b6c6476 | |||
32bf6455a0 | |||
218f23935c | |||
86cfc30aac | |||
3152d68b70 | |||
93e4b15767 | |||
13373a6ccd | |||
49368c734b | |||
812a9728f8 | |||
314e5cb889 | |||
16166f69be | |||
5dfff02437 | |||
138a4846e2 | |||
86baf6e3ed | |||
3f1f4df3fd | |||
712b0496c1 | |||
967f96ee2e | |||
7b65086fdf | |||
da1dd98101 | |||
bd2f9a16fb | |||
![]() |
52c1f983cb | ||
b45f410b31 | |||
![]() |
74cf22c42c | ||
3a4f2131c2 | |||
9fef80c663 | |||
bf6aa5d63d | |||
abf8750dbc | |||
5b40c48f85 | |||
5417b8434a | |||
802f107e38 | |||
e5c65709a2 | |||
![]() |
8d53ead69b | ||
![]() |
f45a735aad | ||
84189a6340 | |||
f41c7723c9 | |||
5625a21fc7 | |||
da9e14b0b9 | |||
46456a59c4 | |||
7aad4d459e | |||
6d4f16a776 | |||
49032a8ca5 | |||
ae39abe7f3 | |||
fdc2b7bfa4 | |||
bf53956914 | |||
55e3930b25 | |||
d6badf6fde | |||
2a367689d4 | |||
38a2576ace | |||
790fe55c52 | |||
fdb1a7b5e1 | |||
374ce5dcb4 | |||
3131107ba3 | |||
ae5d3fa2d0 | |||
3f3d82cfe9 | |||
11480763b6 | |||
dc6fe73e70 | |||
a4a7af4732 | |||
f3c03982e5 | |||
6feca52349 | |||
f1df685f57 | |||
![]() |
1a516bb714 | ||
496394daad | |||
a337e7738f | |||
f381c31ac6 | |||
288e7d0af0 | |||
e8eb67bb04 | |||
841a354412 | |||
b0d2a435a1 | |||
a072a264b6 | |||
ef59c8295f | |||
c27be07d89 | |||
98b66dc040 | |||
![]() |
c980ed27f0 | ||
53f7c22022 | |||
332d87375d | |||
c64e9c6ae2 | |||
4949dd54eb | |||
cb3b9358bf | |||
6ec0f62e3f | |||
a4e7a5aa4f | |||
adaf92b4ab | |||
80e007fe8c | |||
c9a9763e36 | |||
aab947eb46 | |||
26c6ec5594 | |||
8f0612b781 | |||
08324ba2c1 | |||
e69f3d7db1 | |||
1ec01b2142 | |||
603d3c90a5 | |||
57b87feda1 | |||
d46647040d | |||
ceff1c2f65 | |||
ae73bd3d9e | |||
b0da080c2c | |||
7b778166db | |||
25d216724b | |||
cd412b4454 | |||
961db61fb8 | |||
bc3dbf109c | |||
463077a3d5 | |||
258f6cbf93 | |||
bfec666dbc | |||
a40a269062 | |||
10aa2fa902 | |||
2da7977e3e | |||
089175bb1f | |||
f29ff7fb7e | |||
2ca66d541a | |||
bc1eb513ab | |||
![]() |
cd77bf44d4 | ||
![]() |
d1340e1bb2 | ||
b84264fbc5 | |||
ec5b53a018 | |||
174c3ffb4a | |||
123f4db9bd | |||
2ea6a0dd4d | |||
e07b1b8316 | |||
cd968a3273 | |||
64a5a7ade1 | |||
5744e7d247 | |||
bb6f0b085e | |||
d55e1caa75 | |||
c968dae054 | |||
8eda776eef | |||
770510915c | |||
bdab538b30 | |||
a22ad7fbd3 | |||
2655f47ca3 | |||
b2e5fc72c8 | |||
8f79fa9c67 | |||
0d6dda4555 | |||
02c5ca2f22 | |||
9039fbaa9c | |||
917c096be6 | |||
ffa262c9f8 | |||
9e45af530a | |||
a8c81ffa83 | |||
14a5a91e0e | |||
54f357ed2a | |||
ec95f4a5df | |||
0e6d70fec9 | |||
d91711bc85 | |||
bc8e030a84 | |||
2b9dfff6f3 | |||
09b7e141d2 | |||
e4de0d28c4 | |||
bce37bc52a | |||
7542dc460f | |||
5565d79057 | |||
16fd5fa656 | |||
7f1a5f2567 | |||
![]() |
f4d31fbf6c | ||
85e3e3be5b | |||
aea59428eb | |||
63cf0d0890 | |||
![]() |
82d7234ed9 | ||
698e394e7e | |||
9bb4bf5748 | |||
3e4f84d10d | |||
eb5e7d0a31 | |||
469ee7ff15 | |||
09292b89c3 | |||
00506d7a86 | |||
2f2d13b8c6 | |||
eba6900b08 | |||
a833c7f4a5 | |||
f626fc27f9 | |||
3fe1079ecf | |||
2d67b375a1 | |||
62a2b92b6b | |||
a5409d2b59 | |||
f4101ba4a1 | |||
c4e5a7d59a | |||
f4a01c8a8b | |||
8f3847aef3 | |||
b81f1b8cf1 | |||
f93b237194 | |||
4418536f69 | |||
ad33e68348 | |||
1e882b8657 | |||
4d509fd6e1 | |||
c92f137a75 | |||
47b0ca85cd | |||
341f1e444f | |||
04ed96136b | |||
568b692bcf | |||
84e55e3dc2 | |||
d095fcd6b4 | |||
e222e19d82 | |||
fff8f969de | |||
fdb1f70468 | |||
9d9f2f1a03 | |||
45ed325443 | |||
84901adec5 | |||
dfb8c90324 | |||
0d73113452 | |||
029e6b5174 | |||
bf352df27a | |||
9b082da708 | |||
8d65895af8 | |||
de561280fc | |||
b215fe82e8 | |||
f8239cc9a0 | |||
cea37b3127 | |||
a89f829f12 | |||
019681b984 | |||
47c2a876bf | |||
d4cdae29c1 | |||
1d65f7ea91 | |||
b8bd20d7e0 | |||
![]() |
8e02b0d5d4 | ||
af7502dd9b | |||
d27f4e8493 | |||
f049591967 | |||
f61dd33f50 | |||
f68fb81064 | |||
838806be28 | |||
780ad443fd | |||
930e526cae | |||
42a6c226d0 | |||
c1dcc64750 | |||
74a34d95d6 | |||
a42307eb65 | |||
f600a2aa6d | |||
1a627d528c | |||
![]() |
89106a695a | ||
9e9895b055 | |||
65e13cc2d2 | |||
bc6965cb98 | |||
436a7ee651 | |||
2d5b91d6a0 | |||
eb13072399 | |||
f8ebb0e1d5 | |||
d0fabb318e | |||
f5b708d1cf | |||
29ca935eb8 | |||
4fc96e5000 | |||
24745e8d27 | |||
74420d95b3 | |||
e42e4e8568 | |||
c88de1594f | |||
f4cbfaded6 | |||
2e06c223cc | |||
5d0432a2ea | |||
a111aae415 | |||
ae11233b65 | |||
3ecc03c3d6 | |||
76b6741981 | |||
41feaa17f3 | |||
e9c3af3dd7 | |||
6730c11dd9 | |||
3e2017491a | |||
30e666f747 | |||
ae2d2c9361 | |||
b16eff2bb3 | |||
b3e53d6daa | |||
f4028630bf | |||
769cdccd0e | |||
22812579bb | |||
7ace6dc496 | |||
89ccff62d2 | |||
699944572f | |||
0fcfc4cc5b | |||
33c5adba62 | |||
9631bb1e17 | |||
ca780f4406 | |||
4fa743af85 | |||
683570c7fe | |||
80811c5638 | |||
790598fa60 | |||
fe4ae77ded | |||
c4c6ea7ea9 | |||
c34e3f0f19 | |||
28316e0810 | |||
8ca9ce0986 | |||
214e61fc2c | |||
47dbdf8dd5 | |||
14a893f20e | |||
b712dbe5de | |||
c56103356f | |||
2e70af5cd5 | |||
342e12d6d9 | |||
f517b3a295 | |||
708547ab06 | |||
136a06285f | |||
8fb2a61966 | |||
f937c186de | |||
3cd3a4abe3 | |||
1fcdb1ea28 | |||
e8e2bdaa86 | |||
c9ae9e1483 | |||
df8a9648e2 | |||
c536791f36 | |||
ba2c6c90fa | |||
a820ba0d36 | |||
418184d1c1 | |||
6f00b1500c | |||
9f8254fd34 | |||
369f652c80 | |||
2719869a2a | |||
c8edc458d1 | |||
88fbe94d70 | |||
77f2cb1686 | |||
5d1cab0c2f | |||
d7053ba030 | |||
0af772ef8a | |||
ffbeb34f5f | |||
c38187393a | |||
ebb492a389 | |||
df26f4f63a | |||
35e73aa347 | |||
![]() |
b48adbc9d7 | ||
b3b5d4cabb | |||
83349294b1 | |||
8fdd3aad9b | |||
0609b4bb49 | |||
8c9805fc62 | |||
939c2387a1 | |||
b759a3eac0 | |||
7a31229011 | |||
fb2ae6b8c5 | |||
9a4cb7a732 | |||
6d42cd8ff9 | |||
22bf263269 | |||
c6e3242e18 | |||
ff2d6c2ba8 | |||
c8b740cc00 | |||
![]() |
dbc439e41a | ||
dbb6016e94 | |||
200e63b0bf | |||
ed62b65474 | |||
3ad5510427 | |||
af6765a49c | |||
3ccdc362da | |||
46114f0a36 | |||
c7033bdf26 | |||
65fa34f63f | |||
f9ed31b15d | |||
4301b6c896 | |||
f752eaadbd | |||
c582a2dbd9 | |||
eddfa811da | |||
bdb5a50682 | |||
080e506e28 | |||
fcc3a68cac | |||
a4ed0f51c1 | |||
f4ff36431c | |||
f11401d32a | |||
51195c17ac | |||
210d0f1b80 | |||
c93f3b4596 | |||
1a740c2541 | |||
48c4c409b8 | |||
5c9ab3e003 | |||
77ddcc4717 | |||
7bbf101082 | |||
1660eff1a2 | |||
405d32bc80 | |||
8c4bd02b06 | |||
be84fe4ce1 | |||
205c6d8d08 | |||
6065fbb543 | |||
4be79da9a7 | |||
a2dacefb46 | |||
00af3e9472 | |||
b8c30fb80a | |||
c729ddd741 | |||
5973950b2a | |||
e9d7c05754 | |||
b66368f3fd | |||
![]() |
68d203af0b | ||
![]() |
f1beb3b3f6 | ||
b98175008f | |||
![]() |
00eb7594b1 | ||
0d80c4a2a6 | |||
9bd905e73f | |||
9df91654dc | |||
f1c27b383b | |||
29a3f43da5 | |||
![]() |
48754bc146 | ||
adf183eeae | |||
93bcfd19ba | |||
8c24e29338 | |||
cef36f4a95 | |||
717c150eb1 | |||
2397287a51 | |||
124aae91e2 | |||
7fc2804f45 | |||
84a7641563 | |||
1c70402c62 | |||
7b091fbb94 | |||
024f3ddf61 | |||
ee0c05e886 | |||
b8de9916ed | |||
e46a38942a | |||
3e989e8c8d | |||
b44cec0eca | |||
450a190095 | |||
901fc29df1 | |||
dcaaa5b6f4 | |||
b54abd7ede | |||
a46f34d9b3 | |||
f9751889df | |||
139a4b6a84 | |||
ea5bfedb49 | |||
e1c8ef551f | |||
c2bbd01b2f | |||
7c9b6cc380 | |||
ee363ee7b3 | |||
cf69652618 | |||
fa7224d8ed | |||
074c695a0d | |||
870ad7d05d | |||
ca2fb9bae9 | |||
8e717ce55a | |||
![]() |
5baa3ecda6 | ||
1e4cd98f0a | |||
8d43ee1b08 | |||
7c9c13cf83 | |||
908e6c7c4d | |||
3f952b3ca3 | |||
c2d2cd1468 | |||
a0748153b4 | |||
a80ad0a545 | |||
4680331749 | |||
6f3d155293 | |||
05b56d55e8 | |||
d6c4317f35 | |||
7533bee58b | |||
94ad77100c | |||
cbc024c3ca | |||
6e2270f3d3 | |||
e30ccb9a34 | |||
58555ccc7a | |||
8741cf2038 | |||
42d748be34 | |||
fa9e878e79 | |||
0d1b9eabf2 | |||
3e5cb7b23e | |||
b3938d2a36 | |||
113b8030ce | |||
470cbad51a | |||
427a2c920a | |||
906b9f55af | |||
c0df1cd1b3 | |||
1159b63a07 | |||
6044c6d09b | |||
c09cfdb251 | |||
![]() |
073139e329 | ||
992ae3f282 | |||
e4bb898e40 | |||
f3f7f8b37b | |||
17fc8db104 | |||
018acc5688 | |||
c5b67975cd | |||
d634194cac | |||
2c784f44cf | |||
766340856d | |||
d1f32b63eb | |||
32fd85e6f9 | |||
b24f204e91 | |||
ccd18691fc | |||
f2c7b56f0f | |||
3693e1d8e8 | |||
![]() |
c31f519954 | ||
d9effc1cc6 | |||
092cbacd8f | |||
65d44093c9 | |||
2e8089b6bf | |||
dea5d22da1 | |||
94a54ab554 | |||
9757b4efb1 | |||
f5077e057b | |||
207b0c2a0f | |||
dff11551de | |||
6f5d172d6c | |||
b04de6d180 | |||
77d3e6b439 | |||
6dcda1b9aa | |||
89306a3a05 | |||
87dd8dc740 | |||
993d17af90 | |||
66dada123c | |||
58fe38af9f | |||
a0e63bac02 | |||
81f23ad57a | |||
ca5f832fe9 | |||
0c9892020b | |||
![]() |
c21cc4dad5 | ||
9599c5415d | |||
cb5b33a627 | |||
31202ea628 | |||
0eb2244f0a | |||
59637cf073 | |||
14175043e5 | |||
1242e8b93c | |||
295b6e8230 | |||
3b0a08b793 | |||
51fdf4bdfc | |||
578771ae4d | |||
8d9d5da137 | |||
![]() |
502e1a44b9 | ||
3e782bba71 | |||
007184bcf2 | |||
59cd616534 | |||
8d528241a9 | |||
2001ee6251 | |||
fa114cc4a0 | |||
06a7afb528 | |||
a4382badb9 | |||
6599d2f03b | |||
e354ba701a | |||
3eb3d363e1 | |||
edd892166d | |||
007e95c259 | |||
a3f9862262 | |||
87978ff560 | |||
fbf92f5967 | |||
b9d02b9ced | |||
![]() |
eef98e66cf | ||
6bd270f3af | |||
8c233cfd78 | |||
5045968f24 | |||
61202f6f74 | |||
49173399f3 | |||
b765ea52af | |||
2f799f893e | |||
74a5fb734a | |||
30534deced | |||
2d9a6e4f68 | |||
be9800e8da | |||
b30cb05c14 | |||
![]() |
195986a719 | ||
8650c2b614 | |||
82a70ffe40 | |||
c0546ff953 | |||
0c5a7ca117 | |||
ec53e9fa69 | |||
ae683a22c6 | |||
87d74d03bf | |||
8e476c414c | |||
690ecaae20 | |||
067f0d40ae | |||
a652568570 | |||
2fa2612b06 | |||
42e275a7d4 | |||
8f1a11c35a | |||
17ab0342ac | |||
0091c97b32 | |||
f9e0b94c2f | |||
baf8ec2e54 | |||
046b45749c | |||
1bb7fda600 | |||
b47c5505aa | |||
74228e2cd2 | |||
81b797af66 | |||
28240f78ce | |||
![]() |
dcce4a59a0 | ||
![]() |
dc55e095e6 | ||
c171c99fa1 | |||
8852191b77 | |||
6f7959f55f | |||
3bc037a7eb | |||
9c2613d1b6 | |||
1dd1772419 | |||
0134ab4b56 | |||
6c679aca17 | |||
cd349dc402 | |||
c60b570841 | |||
d9d81cb1ff | |||
b4b85c5ce2 | |||
de71cdb35d | |||
4c3e91e5f5 | |||
9173dd24ad | |||
502c3d6c21 | |||
15021968c1 | |||
b38cd1bcbe | |||
4ffeb2d449 | |||
3893ba5d67 | |||
7849b56c3c | |||
061995775f | |||
a74a267767 | |||
77c0e79805 | |||
2a2e47b20c | |||
439f86ac89 | |||
08a39d32a9 | |||
11aa237858 | |||
bc256a4507 | |||
501ec81d3e | |||
![]() |
4bb90b8f4c | ||
ccb4e29873 | |||
e7464dffbc | |||
1c1e842879 | |||
a4c2060b91 | |||
b468255453 | |||
b6b94f878f | |||
7301547ca7 | |||
35594f4b92 | |||
10865c8f34 | |||
6e2b0a38f0 | |||
bfa1c077cb | |||
bda9a1b103 | |||
c2e26406c5 | |||
![]() |
f4827d08bc | ||
78f61bf8c1 | |||
c2737913db | |||
892562b7bf | |||
f9d7313bb7 | |||
686abf1850 | |||
e0e95f7895 | |||
9f8f35008c | |||
5823e749dc | |||
43e31d26a9 | |||
6f773b1a4f | |||
36e330bd9c | |||
865cdff426 | |||
17429fe5e5 | |||
82060c1697 | |||
95ff5e6d89 | |||
0f7da9a72f | |||
![]() |
719c86c0a6 | ||
b508999d8d | |||
b1b6994129 | |||
b8432c2c8e | |||
025959da23 | |||
![]() |
4ac6177b8d | ||
9913196470 | |||
b651754890 | |||
6b95e75d2f | |||
cc3c15fbdd | |||
![]() |
b96cdbcf7a | ||
![]() |
90298c24a2 | ||
78e7b20c0f | |||
90663acfd5 | |||
014cdd3441 | |||
9f2e995c3e | |||
3a035a4417 | |||
b28e261753 | |||
2a2261d7e1 | |||
23be3294ff | |||
98a04ed452 | |||
5e40c342ae | |||
aee8e49031 | |||
aae2ff49f5 | |||
92d0ed3000 | |||
![]() |
26d375467b | ||
![]() |
a7417ba845 | ||
a0a99fb252 | |||
f23f831e91 | |||
763b8f1423 | |||
dd2df5ceb0 | |||
2ba081f59b | |||
cdd2c8bd07 | |||
acafc7327e | |||
edc92f779e | |||
c7bffc8fa2 | |||
bdfee6d831 | |||
8f6f28a0dc | |||
f5428736a7 | |||
d02b8c1c3b | |||
![]() |
90042b7d79 | ||
b1517e26e2 | |||
![]() |
ce3dd12371 | ||
f3b56246d1 | |||
eac403b6e1 | |||
908976b09a | |||
84756b68e6 | |||
477066adee | |||
12a1fa9cf4 | |||
2c75857f9f | |||
ae9ef28126 | |||
62450e8485 | |||
![]() |
e58b18888c | ||
4a4f0a70eb | |||
693aa573db | |||
4dc6d14bdc | |||
11f3a388ed | |||
11a7da675f | |||
e1476ca310 | |||
929a210608 | |||
fcbd81fb0f | |||
1b566b70c1 | |||
e4931ab86d | |||
108963d508 | |||
75a051a6ab | |||
4fa71be89a | |||
26cda38985 | |||
26bc584e01 | |||
47ba541853 | |||
b891c72d2d | |||
b968e2bf48 | |||
6fa5d520b8 | |||
5b24291be1 | |||
48f7574716 | |||
1830a3dfb5 | |||
ad119d327e | |||
bff9bf728e | |||
611b82621d | |||
69c7ff1649 | |||
be0417d690 | |||
756710800c | |||
78fc5ea1c3 | |||
18bcd8321a | |||
622c4e4953 | |||
c7a345bd60 | |||
960a1ddd85 | |||
598917f49b | |||
7e02c90103 | |||
dbba5c4df9 | |||
b4fa74e812 | |||
09f769bde5 | |||
8d78c3152e | |||
a85df96b4f | |||
94533ca4b8 | |||
3505d948c6 | |||
9ebf8a0c35 | |||
060c5a7fa2 | |||
b4fb2a6980 | |||
8b54e05e33 | |||
eb837ba17e | |||
6513ce258f | |||
0f567ada9d | |||
ddbac88c08 | |||
836fbb90aa | |||
e33c15951b | |||
d0c2fd0570 | |||
d3c895fc41 | |||
777b72b5cb | |||
73fa571598 | |||
adbe71c3fa | |||
8960c6e060 | |||
![]() |
ed0964c976 | ||
f11dba8892 | |||
0fa1c65ee3 | |||
54f447ecde | |||
ac9ebc9de3 | |||
319a772b7f | |||
fc0f6d19ad | |||
5d7ee44406 | |||
1a98bec40e | |||
![]() |
82df48227b | ||
7d41e1ed40 | |||
60772baebf | |||
8ff5836766 | |||
b5c3885bf0 | |||
![]() |
d2271cf939 | ||
5559ea59a1 | |||
b5b6ae06f9 | |||
08daeb9472 | |||
03aba8046e | |||
8bd0ed6bd2 | |||
a0d139076c | |||
a52fbeadb1 | |||
54b293237e | |||
82bf11e73f | |||
dc1793e85b | |||
d86d7c935e | |||
5162135e14 | |||
3bdda67e50 | |||
cbeb8770cc | |||
48c0738d4a | |||
9ee9dd257f | |||
16011e34f0 | |||
7d7047058a | |||
![]() |
b31f5b8ce7 | ||
0f2cc50fc6 | |||
caeea212cf | |||
302584bd6e | |||
14d845192a | |||
e7ba34599c | |||
79e94caa6b | |||
5f8f436dca | |||
aa1fb4204d | |||
2d80f814cc | |||
7dc94155f6 | |||
0375720e28 | |||
aa21087d56 | |||
78e8fae346 | |||
b1cd3be0d0 | |||
f8c8abae38 | |||
0383047257 | |||
2a89509e45 | |||
10b1e993f4 | |||
8cb30c079d | |||
db63945c36 | |||
dc57ab8941 | |||
e86b62f195 | |||
5b2a6b6ebb | |||
502c707e0e | |||
![]() |
1d668b6356 | ||
281bcc1c1d | |||
94205e1d02 | |||
947f8ba300 | |||
04df0a3b8c | |||
2062116924 | |||
9fb98735ea | |||
f586c3ba21 | |||
5962db093f | |||
5f5e7ac317 | |||
11d075f07d | |||
![]() |
61e8310b75 | ||
46d7bcc068 | |||
a2e3005b42 | |||
2ea9d1fccf | |||
6b74c8e486 | |||
20f819d708 | |||
cd1044fb2b | |||
31bf70e35c | |||
cfdec85cd9 | |||
4824cad580 | |||
61b65e9c9b | |||
4196772ae8 | |||
3a002bff7a | |||
74dfb7ca23 | |||
a821a2db3d | |||
1fc95d829f | |||
f5dc675537 | |||
daa9edc9be | |||
fd98403211 | |||
8e71ba12e5 | |||
f80e4f0046 | |||
af2740abc0 | |||
00fb44797a | |||
cc0c4c17f0 | |||
1a6d0ec71c | |||
c09c3246eb | |||
3d96fd6fd6 | |||
56039e30c7 | |||
38a4d96a90 | |||
e4e5d7781e | |||
e62b5e867d | |||
ab7379ae62 | |||
4ee8dfa8b3 | |||
80c8a7dcb0 | |||
8810d0cecd | |||
e5a738af6d | |||
ecc2ec724e | |||
79d4740eda | |||
309b6319a0 | |||
![]() |
fd7384a751 | ||
![]() |
62ef1c08af | ||
0d9e22d43c | |||
b1e0be0d25 | |||
ab5d52a6db | |||
5188c14718 | |||
263f56ba49 | |||
4c3efb4320 | |||
e07ac34b3f | |||
![]() |
3d5f5c2d9a | ||
38394e1a32 | |||
d0948dfb17 | |||
b54c6a20aa | |||
1b0da28038 | |||
951fae3578 | |||
4f3b562506 | |||
0c80a0acd8 | |||
d1cbfc81bb | |||
da46ed9116 | |||
46b32c9d7b | |||
12baea1b8e | |||
8ece0816d9 | |||
f0f44fd92f | |||
a5644f9a28 | |||
aaab3c8ad4 | |||
f0118e9aca | |||
5e5e198bbe | |||
0676963809 | |||
2a7a01b339 | |||
aa34706aac | |||
3f0c09f6dd | |||
fc872d738e | |||
a330b9b0ea | |||
631506d9c3 | |||
eba06fee49 | |||
c87f6242b9 | |||
33518f9da1 | |||
30d1d4579e | |||
6cad9c7964 | |||
d02d1129f7 | |||
6861ef62a6 | |||
cc268238ea | |||
ba22aa8797 | |||
e59cc3a814 | |||
d33801e2bf | |||
1c992cc647 | |||
0dfb6eddc0 | |||
0c44b03b09 | |||
df0616bcd0 | |||
171851a6c8 | |||
![]() |
5ff931149b | ||
12217714c7 | |||
86b37748a7 | |||
6e5877c189 | |||
69a43069e8 | |||
![]() |
57b4efc250 | ||
fc40356ed8 | |||
a8e6ee17cc | |||
669349bfe4 | |||
b95601fa1a | |||
237857cc26 | |||
ac88123e29 | |||
5c92c04518 | |||
![]() |
2fc6563a59 | ||
eaa63c7d68 | |||
fc2c22e90c | |||
9b92ce9dc0 | |||
060a50a5f7 | |||
074a8558b7 | |||
3eb9b4dfbc | |||
a6f951b464 | |||
e0315a5ef0 | |||
1a8a69d318 | |||
3c7a6718dd | |||
4d464a946a | |||
d779b15485 | |||
f44a34fc55 | |||
3b7bce45d2 | |||
9ef727d3d4 | |||
0634bb24ee | |||
0c317e23bf | |||
5d84d9b0d6 | |||
2f49908a5e | |||
baae87ce86 | |||
473a2c83ea | |||
a7db7f88b0 | |||
1d9c050188 | |||
a323ada701 | |||
![]() |
7fd11d9c7f | ||
3d877c8a0d | |||
a111a0f1e1 | |||
a1b21a3503 | |||
d442782dbe | |||
62eb190d4e | |||
fcb0090842 | |||
65e7219706 | |||
cc8fe1a1cb | |||
7f0163118b | |||
720e19a833 | |||
9dadd8bdb1 | |||
0b5cf91b89 | |||
1e23304fbc | |||
9a25a34e42 | |||
4b96517e20 | |||
f38f12cbbc | |||
810f33d434 | |||
![]() |
708fabe3d7 | ||
8095875dff | |||
4b7ed584a8 | |||
d5f3351f55 | |||
308a12ac64 | |||
3d9f0280ff | |||
![]() |
1425b356b8 | ||
c722993ef1 | |||
5b1ec08f04 | |||
2d7957727c | |||
![]() |
fbc884d2a8 | ||
![]() |
bd327e3bf3 | ||
![]() |
110eb23005 | ||
4296c1fe25 | |||
099120e54a | |||
![]() |
024386bb89 | ||
f4718d52f3 | |||
16b6d4aeb3 | |||
44b318bd22 | |||
853713336f | |||
91bd63a196 | |||
22f5c05cb3 | |||
17769489d9 | |||
b1b153b88c | |||
4412cbc6d1 | |||
c9c95201d0 | |||
0ad73bb965 | |||
b0e47ffdcf | |||
77794b1a7b | |||
![]() |
16fe767d00 | ||
e8102aea13 | |||
37ede15e63 | |||
![]() |
eed8c2e655 | ||
198a763944 | |||
eb4b79c556 | |||
9e2d80c49e | |||
74a44e816c | |||
8399375098 | |||
52a5f68562 | |||
3558f565f1 | |||
0539208f97 | |||
e2cd5c6748 | |||
9c82c00b32 | |||
676198f57f | |||
c6ce2be496 | |||
b60f3fe6ad | |||
bfb4dcaa1a | |||
f3d5114c41 | |||
ce115a2786 | |||
69a720abb0 | |||
478eb3a0e6 | |||
c01e33d6ca | |||
163f6a17e4 | |||
08731d70bf | |||
c5a4159bee | |||
![]() |
db622b5a0b | ||
cdd4354c81 | |||
68ca12a7fc | |||
9a8669ac81 | |||
1f270cf99b | |||
b82de02e7c | |||
994da7077d | |||
83c8f996f1 | |||
5fe1624b0e | |||
8016d8a4bd | |||
296b261299 | |||
d8ef52ca47 | |||
3e7ee3f3bc | |||
ae94e36cfb | |||
9a53599180 | |||
7b16ddeb5a | |||
e9334c5df8 | |||
5c5ec837b3 | |||
96bdd65e74 | |||
db45292d8e | |||
b7458f909c | |||
![]() |
4e57b6ce77 | ||
6cf148227b | |||
2492d9852b | |||
e0e737b72b | |||
e3724d29ff | |||
802bc8e233 | |||
a28fd0ceb5 | |||
6d12bc9e91 | |||
a9d1b3d7e3 | |||
a32f447c54 | |||
c63a6d3057 | |||
0f583d9d60 | |||
07e2bd443e | |||
3221766820 | |||
a003547a37 | |||
3ea6dbfe73 | |||
98ad294d17 | |||
96834a7bac | |||
3b4b2bcb13 | |||
c20b99b70c | |||
a8331d8c9d | |||
2bc0e8d304 | |||
891268aa82 | |||
8e1b16534d | |||
2fd8fa8f84 | |||
42878ffc26 | |||
38eed4ada3 | |||
296d734344 | |||
185d9627b3 | |||
f431be224f | |||
845e2ed3a2 | |||
e99cb91530 | |||
d30f701e84 | |||
35dc4ba9e2 | |||
6963703801 | |||
2b3f7c6481 | |||
09710d5f2a | |||
26afa23b3b | |||
c2751f8a11 | |||
654bc35bc8 | |||
![]() |
0a86ab6639 | ||
![]() |
d2a01bb7cb | ||
0310638e94 | |||
ab032fba39 | |||
42368f2ef4 | |||
1640fbe7c6 | |||
7c55a7ccca | |||
b4a4004fb1 | |||
a2d32960b4 | |||
![]() |
c63d64a2ce | ||
416ef3b6b2 | |||
0efe581a5b | |||
29b9187b32 | |||
17eb8a9ceb | |||
dc7f88fd15 | |||
bba757ef81 | |||
a6504aa64b | |||
99fff90eab | |||
c486da0238 | |||
cfce5a32a7 | |||
6787cc13d4 | |||
bdc537e0a7 | |||
ac8beb4fda | |||
ff6098345a | |||
7f726b48ac | |||
![]() |
58be9708bf | ||
d8abac7357 | |||
e96623c19b | |||
b38491b407 | |||
5b87862ddc | |||
![]() |
8f05a547d5 | ||
984cd552f0 | |||
a7c65ef4cb | |||
75aa5ecbda | |||
fe43c17083 | |||
024a4da6b3 | |||
535c9308ef | |||
![]() |
50f0103059 | ||
9c279723da | |||
5179b8236b | |||
048c769774 | |||
![]() |
b226236b01 | ||
![]() |
d724d3ae58 | ||
![]() |
33d102e5b2 | ||
48f369d63a | |||
30acc5f9cd | |||
2547c3c70c | |||
![]() |
179100c021 | ||
ce95856f2d | |||
74b9c351b9 | |||
65e4c91bec | |||
9de3ed5c82 | |||
9a9a46df46 | |||
![]() |
e2d8b6dc06 | ||
f807e6effe | |||
f991f5ad51 | |||
f6d5d01715 | |||
b9799dfb8a | |||
aca083fbf3 | |||
75a9830d84 | |||
c196ca3740 | |||
0178e694b7 | |||
ed971a19fa | |||
![]() |
2882cbe685 | ||
2e3edb6995 | |||
298e9c7ebd | |||
01333cb47f | |||
c342b3cede | |||
4d9ddb4a77 | |||
7a943428de | |||
14f2d37ad1 | |||
b0c428c063 | |||
6f190f7f43 | |||
575ade22d4 | |||
![]() |
c6ed879f9a | ||
5fc488559c | |||
b719fa267a | |||
0c3d2461b7 | |||
![]() |
502f3debf9 | ||
![]() |
e16ff4132e | ||
2bd9cbe405 | |||
3cef9ebaf8 | |||
b67ccc333a | |||
4a03c5acf9 | |||
8d2da45f98 | |||
3a6813ea65 | |||
![]() |
56d1d19c88 | ||
604c33e694 | |||
b9c37608a9 | |||
7cb6fb0183 | |||
03ec505fa5 |
@@ -265,6 +265,7 @@ ForEachMacros:
|
|||||||
- SET_SLOT_PROBING_BEGIN
|
- SET_SLOT_PROBING_BEGIN
|
||||||
- MAP_SLOT_PROBING_BEGIN
|
- MAP_SLOT_PROBING_BEGIN
|
||||||
- VECTOR_SET_SLOT_PROBING_BEGIN
|
- VECTOR_SET_SLOT_PROBING_BEGIN
|
||||||
|
- WL_ARRAY_FOR_EACH
|
||||||
|
|
||||||
StatementMacros:
|
StatementMacros:
|
||||||
- PyObject_HEAD
|
- PyObject_HEAD
|
||||||
|
@@ -1,6 +1,8 @@
|
|||||||
# The warnings below are disabled because they are too pedantic and not worth fixing.
|
# The warnings below are disabled because they are too pedantic and not worth fixing.
|
||||||
# Some of them will be enabled as part of the Clang-Tidy task, see T78535.
|
# Some of them will be enabled as part of the Clang-Tidy task, see T78535.
|
||||||
|
|
||||||
|
# NOTE: No comments in the list below is allowed. Clang-tidy will ignore items after comments in the lists flag list.
|
||||||
|
# This is because the comment is not a valid list item and it will stop parsing flags if a list item is a comment.
|
||||||
Checks: >
|
Checks: >
|
||||||
-*,
|
-*,
|
||||||
readability-*,
|
readability-*,
|
||||||
@@ -14,10 +16,9 @@ Checks: >
|
|||||||
-readability-make-member-function-const,
|
-readability-make-member-function-const,
|
||||||
-readability-suspicious-call-argument,
|
-readability-suspicious-call-argument,
|
||||||
-readability-redundant-member-init,
|
-readability-redundant-member-init,
|
||||||
|
|
||||||
-readability-misleading-indentation,
|
-readability-misleading-indentation,
|
||||||
|
|
||||||
-readability-use-anyofallof,
|
-readability-use-anyofallof,
|
||||||
|
-readability-identifier-length,
|
||||||
|
|
||||||
-readability-function-cognitive-complexity,
|
-readability-function-cognitive-complexity,
|
||||||
|
|
||||||
@@ -35,6 +36,8 @@ Checks: >
|
|||||||
|
|
||||||
-bugprone-redundant-branch-condition,
|
-bugprone-redundant-branch-condition,
|
||||||
|
|
||||||
|
-bugprone-suspicious-include,
|
||||||
|
|
||||||
modernize-*,
|
modernize-*,
|
||||||
-modernize-use-auto,
|
-modernize-use-auto,
|
||||||
-modernize-use-trailing-return-type,
|
-modernize-use-trailing-return-type,
|
||||||
@@ -42,8 +45,6 @@ Checks: >
|
|||||||
-modernize-use-nodiscard,
|
-modernize-use-nodiscard,
|
||||||
-modernize-loop-convert,
|
-modernize-loop-convert,
|
||||||
-modernize-pass-by-value,
|
-modernize-pass-by-value,
|
||||||
# Cannot be enabled yet, because using raw string literals in tests breaks
|
|
||||||
# the windows compiler currently.
|
|
||||||
-modernize-raw-string-literal,
|
-modernize-raw-string-literal,
|
||||||
-modernize-return-braced-init-list
|
-modernize-return-braced-init-list
|
||||||
|
|
||||||
|
@@ -34,6 +34,15 @@ indent_style = space
|
|||||||
indent_size = 2
|
indent_size = 2
|
||||||
max_line_length = 99
|
max_line_length = 99
|
||||||
|
|
||||||
|
# Tom's Obvious Minimal Language
|
||||||
|
[*.toml]
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
insert_final_newline = true
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
max_line_length = 120
|
||||||
|
|
||||||
# reStructuredText
|
# reStructuredText
|
||||||
[*.rst]
|
[*.rst]
|
||||||
charset = utf-8
|
charset = utf-8
|
||||||
|
120
CMakeLists.txt
120
CMakeLists.txt
@@ -222,6 +222,17 @@ if(UNIX AND NOT (APPLE OR HAIKU))
|
|||||||
|
|
||||||
option(WITH_GHOST_WAYLAND "Enable building Blender against Wayland for windowing (under development)" OFF)
|
option(WITH_GHOST_WAYLAND "Enable building Blender against Wayland for windowing (under development)" OFF)
|
||||||
mark_as_advanced(WITH_GHOST_WAYLAND)
|
mark_as_advanced(WITH_GHOST_WAYLAND)
|
||||||
|
|
||||||
|
if (WITH_GHOST_WAYLAND)
|
||||||
|
option(WITH_GHOST_WAYLAND_LIBDECOR "Optionally build with LibDecor window decorations" OFF)
|
||||||
|
mark_as_advanced(WITH_GHOST_WAYLAND_LIBDECOR)
|
||||||
|
|
||||||
|
option(WITH_GHOST_WAYLAND_DBUS "Optionally build with DBUS support (used for Cursor themes). May hang on startup systems where DBUS is not used." OFF)
|
||||||
|
mark_as_advanced(WITH_GHOST_WAYLAND_DBUS)
|
||||||
|
|
||||||
|
option(WITH_GHOST_WAYLAND_DYNLOAD "Enable runtime dynamic WAYLAND libraries loading" OFF)
|
||||||
|
mark_as_advanced(WITH_GHOST_WAYLAND_DYNLOAD)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_GHOST_X11)
|
if(WITH_GHOST_X11)
|
||||||
@@ -255,19 +266,11 @@ if(WITH_GHOST_X11)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
option(WITH_SYSTEM_GLEW "Use GLEW OpenGL wrapper library provided by the operating system" OFF)
|
|
||||||
option(WITH_SYSTEM_GLES "Use OpenGL ES library provided by the operating system" ON)
|
|
||||||
option(WITH_SYSTEM_FREETYPE "Use the freetype library provided by the operating system" OFF)
|
option(WITH_SYSTEM_FREETYPE "Use the freetype library provided by the operating system" OFF)
|
||||||
else()
|
|
||||||
# not an option for other OS's
|
|
||||||
set(WITH_SYSTEM_GLEW OFF)
|
|
||||||
set(WITH_SYSTEM_GLES OFF)
|
|
||||||
set(WITH_SYSTEM_FREETYPE OFF)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
|
||||||
option(WITH_SYSTEM_EIGEN3 "Use the systems Eigen3 library" OFF)
|
option(WITH_SYSTEM_EIGEN3 "Use the systems Eigen3 library" OFF)
|
||||||
|
else()
|
||||||
|
set(WITH_SYSTEM_FREETYPE OFF)
|
||||||
|
set(WITH_SYSTEM_EIGEN3 OFF)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
@@ -284,7 +287,7 @@ option(WITH_IMAGE_TIFF "Enable LibTIFF Support" ON)
|
|||||||
option(WITH_IMAGE_DDS "Enable DDS Image Support" ON)
|
option(WITH_IMAGE_DDS "Enable DDS Image Support" ON)
|
||||||
option(WITH_IMAGE_CINEON "Enable CINEON and DPX Image Support" ON)
|
option(WITH_IMAGE_CINEON "Enable CINEON and DPX Image Support" ON)
|
||||||
option(WITH_IMAGE_HDR "Enable HDR Image Support" ON)
|
option(WITH_IMAGE_HDR "Enable HDR Image Support" ON)
|
||||||
option(WITH_IMAGE_WEBP "Enable WebP Image Support" OFF)
|
option(WITH_IMAGE_WEBP "Enable WebP Image Support" ON)
|
||||||
|
|
||||||
# Audio/Video format support
|
# Audio/Video format support
|
||||||
option(WITH_CODEC_AVI "Enable Blenders own AVI file support (raw/jpeg)" ON)
|
option(WITH_CODEC_AVI "Enable Blenders own AVI file support (raw/jpeg)" ON)
|
||||||
@@ -300,9 +303,12 @@ option(WITH_USD "Enable Universal Scene Description (USD) Suppor
|
|||||||
# 3D format support
|
# 3D format support
|
||||||
# Disable opencollada when we don't have precompiled libs
|
# Disable opencollada when we don't have precompiled libs
|
||||||
option(WITH_OPENCOLLADA "Enable OpenCollada Support (http://www.opencollada.org)" ON)
|
option(WITH_OPENCOLLADA "Enable OpenCollada Support (http://www.opencollada.org)" ON)
|
||||||
|
option(WITH_IO_WAVEFRONT_OBJ "Enable Wavefront-OBJ 3D file format support (*.obj)" ON)
|
||||||
|
option(WITH_IO_STL "Enable STL 3D file format support (*.stl)" ON)
|
||||||
|
option(WITH_IO_GPENCIL "Enable grease-pencil file format IO (*.svg, *.pdf)" ON)
|
||||||
|
|
||||||
# Sound output
|
# Sound output
|
||||||
option(WITH_SDL "Enable SDL for sound and joystick support" ON)
|
option(WITH_SDL "Enable SDL for sound" ON)
|
||||||
option(WITH_OPENAL "Enable OpenAL Support (http://www.openal.org)" ON)
|
option(WITH_OPENAL "Enable OpenAL Support (http://www.openal.org)" ON)
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
option(WITH_COREAUDIO "Enable CoreAudio for audio support on macOS" ON)
|
option(WITH_COREAUDIO "Enable CoreAudio for audio support on macOS" ON)
|
||||||
@@ -439,14 +445,9 @@ endif()
|
|||||||
|
|
||||||
# AMD HIP
|
# AMD HIP
|
||||||
if(NOT APPLE)
|
if(NOT APPLE)
|
||||||
if(WIN32)
|
|
||||||
option(WITH_CYCLES_DEVICE_HIP "Enable Cycles AMD HIP support" ON)
|
option(WITH_CYCLES_DEVICE_HIP "Enable Cycles AMD HIP support" ON)
|
||||||
else()
|
|
||||||
option(WITH_CYCLES_DEVICE_HIP "Enable Cycles AMD HIP support" OFF)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
option(WITH_CYCLES_HIP_BINARIES "Build Cycles AMD HIP binaries" OFF)
|
option(WITH_CYCLES_HIP_BINARIES "Build Cycles AMD HIP binaries" OFF)
|
||||||
set(CYCLES_HIP_BINARIES_ARCH gfx1010 gfx1011 gfx1012 gfx1030 gfx1031 gfx1032 gfx1034 CACHE STRING "AMD HIP architectures to build binaries for")
|
set(CYCLES_HIP_BINARIES_ARCH gfx900 gfx906 gfx90c gfx902 gfx1010 gfx1011 gfx1012 gfx1030 gfx1031 gfx1032 gfx1034 gfx1035 CACHE STRING "AMD HIP architectures to build binaries for")
|
||||||
mark_as_advanced(WITH_CYCLES_DEVICE_HIP)
|
mark_as_advanced(WITH_CYCLES_DEVICE_HIP)
|
||||||
mark_as_advanced(CYCLES_HIP_BINARIES_ARCH)
|
mark_as_advanced(CYCLES_HIP_BINARIES_ARCH)
|
||||||
endif()
|
endif()
|
||||||
@@ -456,6 +457,21 @@ if(APPLE)
|
|||||||
option(WITH_CYCLES_DEVICE_METAL "Enable Cycles Apple Metal compute support" ON)
|
option(WITH_CYCLES_DEVICE_METAL "Enable Cycles Apple Metal compute support" ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# oneAPI
|
||||||
|
if(NOT APPLE)
|
||||||
|
option(WITH_CYCLES_DEVICE_ONEAPI "Enable Cycles oneAPI compute support" OFF)
|
||||||
|
option(WITH_CYCLES_ONEAPI_BINARIES "Enable Ahead-Of-Time compilation for Cycles oneAPI device" OFF)
|
||||||
|
option(WITH_CYCLES_ONEAPI_SYCL_HOST_ENABLED "Enable use of SYCL host (CPU) device execution by oneAPI implementation. This option is for debugging purposes and impacts GPU execution." OFF)
|
||||||
|
|
||||||
|
# https://www.intel.com/content/www/us/en/develop/documentation/oneapi-dpcpp-cpp-compiler-dev-guide-and-reference/top/compilation/ahead-of-time-compilation.html
|
||||||
|
SET (CYCLES_ONEAPI_SPIR64_GEN_DEVICES "dg2" CACHE STRING "oneAPI Intel GPU architectures to build binaries for")
|
||||||
|
SET (CYCLES_ONEAPI_SYCL_TARGETS spir64 spir64_gen CACHE STRING "oneAPI targets to build AOT binaries for")
|
||||||
|
|
||||||
|
mark_as_advanced(WITH_CYCLES_ONEAPI_SYCL_HOST_ENABLED)
|
||||||
|
mark_as_advanced(CYCLES_ONEAPI_SPIR64_GEN_DEVICES)
|
||||||
|
mark_as_advanced(CYCLES_ONEAPI_SYCL_TARGETS)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Draw Manager
|
# Draw Manager
|
||||||
option(WITH_DRAW_DEBUG "Add extra debug capabilities to Draw Manager" OFF)
|
option(WITH_DRAW_DEBUG "Add extra debug capabilities to Draw Manager" OFF)
|
||||||
mark_as_advanced(WITH_DRAW_DEBUG)
|
mark_as_advanced(WITH_DRAW_DEBUG)
|
||||||
@@ -491,7 +507,7 @@ if((UNIX AND NOT APPLE) OR (CMAKE_GENERATOR MATCHES "^Visual Studio.+"))
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
option(WITH_BOOST "Enable features depending on boost" ON)
|
option(WITH_BOOST "Enable features depending on boost" ON)
|
||||||
option(WITH_TBB "Enable features depending on TBB (OpenVDB, OpenImageDenoise, sculpt multithreading)" ON)
|
option(WITH_TBB "Enable multithreading. TBB is also required for features such as Cycles, OpenVDB and USD" ON)
|
||||||
|
|
||||||
# TBB malloc is only supported on for windows currently
|
# TBB malloc is only supported on for windows currently
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@@ -520,16 +536,40 @@ endif()
|
|||||||
|
|
||||||
# OpenGL
|
# OpenGL
|
||||||
|
|
||||||
|
# Experimental EGL option.
|
||||||
|
option(WITH_GL_EGL "Use the EGL OpenGL system library instead of the platform specific OpenGL system library (CGL, GLX or WGL)" OFF)
|
||||||
|
mark_as_advanced(WITH_GL_EGL)
|
||||||
|
|
||||||
|
if(WITH_GHOST_WAYLAND)
|
||||||
|
# Wayland can only use EGL to create OpenGL contexts, not GLX.
|
||||||
|
set(WITH_GL_EGL ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(UNIX AND NOT APPLE)
|
||||||
|
if(WITH_GL_EGL)
|
||||||
|
# GLEW can only be built with either GLX or EGL support. Most binary distributions are
|
||||||
|
# built with GLX support and we have no automated way to detect this. So always build
|
||||||
|
# GLEW from source to be sure it has EGL support.
|
||||||
|
set(WITH_SYSTEM_GLEW OFF)
|
||||||
|
else()
|
||||||
|
option(WITH_SYSTEM_GLEW "Use GLEW OpenGL wrapper library provided by the operating system" OFF)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
option(WITH_SYSTEM_GLES "Use OpenGL ES library provided by the operating system" ON)
|
||||||
|
else()
|
||||||
|
# System GLEW and GLES not an option on other platforms.
|
||||||
|
set(WITH_SYSTEM_GLEW OFF)
|
||||||
|
set(WITH_SYSTEM_GLES OFF)
|
||||||
|
endif()
|
||||||
|
|
||||||
option(WITH_OPENGL "When off limits visibility of the opengl headers to just bf_gpu and gawain (temporary option for development purposes)" ON)
|
option(WITH_OPENGL "When off limits visibility of the opengl headers to just bf_gpu and gawain (temporary option for development purposes)" ON)
|
||||||
option(WITH_GLEW_ES "Switches to experimental copy of GLEW that has support for OpenGL ES. (temporary option for development purposes)" OFF)
|
option(WITH_GLEW_ES "Switches to experimental copy of GLEW that has support for OpenGL ES. (temporary option for development purposes)" OFF)
|
||||||
option(WITH_GL_EGL "Use the EGL OpenGL system library instead of the platform specific OpenGL system library (CGL, glX, or WGL)" OFF)
|
|
||||||
option(WITH_GL_PROFILE_ES20 "Support using OpenGL ES 2.0. (through either EGL or the AGL/WGL/XGL 'es20' profile)" OFF)
|
option(WITH_GL_PROFILE_ES20 "Support using OpenGL ES 2.0. (through either EGL or the AGL/WGL/XGL 'es20' profile)" OFF)
|
||||||
option(WITH_GPU_SHADER_BUILDER "Shader builder is a developer option enabling linting on GLSL during compilation" OFF)
|
option(WITH_GPU_SHADER_BUILDER "Shader builder is a developer option enabling linting on GLSL during compilation" OFF)
|
||||||
|
|
||||||
mark_as_advanced(
|
mark_as_advanced(
|
||||||
WITH_OPENGL
|
WITH_OPENGL
|
||||||
WITH_GLEW_ES
|
WITH_GLEW_ES
|
||||||
WITH_GL_EGL
|
|
||||||
WITH_GL_PROFILE_ES20
|
WITH_GL_PROFILE_ES20
|
||||||
WITH_GPU_SHADER_BUILDER
|
WITH_GPU_SHADER_BUILDER
|
||||||
)
|
)
|
||||||
@@ -770,6 +810,7 @@ endif()
|
|||||||
|
|
||||||
set_and_warn_dependency(WITH_PYTHON WITH_CYCLES OFF)
|
set_and_warn_dependency(WITH_PYTHON WITH_CYCLES OFF)
|
||||||
set_and_warn_dependency(WITH_PYTHON WITH_DRACO OFF)
|
set_and_warn_dependency(WITH_PYTHON WITH_DRACO OFF)
|
||||||
|
set_and_warn_dependency(WITH_PYTHON WITH_MOD_FLUID OFF)
|
||||||
|
|
||||||
if(WITH_DRACO AND NOT WITH_PYTHON_INSTALL)
|
if(WITH_DRACO AND NOT WITH_PYTHON_INSTALL)
|
||||||
message(STATUS "WITH_DRACO requires WITH_PYTHON_INSTALL to be ON, disabling WITH_DRACO for now")
|
message(STATUS "WITH_DRACO requires WITH_PYTHON_INSTALL to be ON, disabling WITH_DRACO for now")
|
||||||
@@ -786,7 +827,9 @@ 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_QUADRIFLOW OFF)
|
||||||
set_and_warn_dependency(WITH_BOOST WITH_USD OFF)
|
set_and_warn_dependency(WITH_BOOST WITH_USD OFF)
|
||||||
set_and_warn_dependency(WITH_BOOST WITH_ALEMBIC OFF)
|
set_and_warn_dependency(WITH_BOOST WITH_ALEMBIC OFF)
|
||||||
|
if(WITH_CYCLES)
|
||||||
set_and_warn_dependency(WITH_PUGIXML WITH_CYCLES_OSL OFF)
|
set_and_warn_dependency(WITH_PUGIXML WITH_CYCLES_OSL OFF)
|
||||||
|
endif()
|
||||||
set_and_warn_dependency(WITH_PUGIXML WITH_OPENIMAGEIO OFF)
|
set_and_warn_dependency(WITH_PUGIXML WITH_OPENIMAGEIO OFF)
|
||||||
|
|
||||||
if(WITH_BOOST AND NOT (WITH_CYCLES OR WITH_OPENIMAGEIO OR WITH_INTERNATIONAL OR
|
if(WITH_BOOST AND NOT (WITH_CYCLES OR WITH_OPENIMAGEIO OR WITH_INTERNATIONAL OR
|
||||||
@@ -811,6 +854,9 @@ set_and_warn_dependency(WITH_IMAGE_OPENEXR WITH_OPENCOLORIO OFF)
|
|||||||
# Haru needs `TIFFFaxBlackCodes` & `TIFFFaxWhiteCodes` symbols from TIFF.
|
# Haru needs `TIFFFaxBlackCodes` & `TIFFFaxWhiteCodes` symbols from TIFF.
|
||||||
set_and_warn_dependency(WITH_IMAGE_TIFF WITH_HARU OFF)
|
set_and_warn_dependency(WITH_IMAGE_TIFF WITH_HARU OFF)
|
||||||
|
|
||||||
|
# USD needs OpenSubDiv, since that is used by the Cycles Hydra render delegate.
|
||||||
|
set_and_warn_dependency(WITH_OPENSUBDIV WITH_USD OFF)
|
||||||
|
|
||||||
# auto enable openimageio for cycles
|
# auto enable openimageio for cycles
|
||||||
if(WITH_CYCLES)
|
if(WITH_CYCLES)
|
||||||
set(WITH_OPENIMAGEIO ON)
|
set(WITH_OPENIMAGEIO ON)
|
||||||
@@ -937,7 +983,10 @@ set(PLATFORM_CFLAGS)
|
|||||||
set(C_WARNINGS)
|
set(C_WARNINGS)
|
||||||
set(CXX_WARNINGS)
|
set(CXX_WARNINGS)
|
||||||
|
|
||||||
# for gcc -Wno-blah-blah
|
# NOTE: These flags are intended for situations where where it's impractical to
|
||||||
|
# suppress warnings by modifying the code or for code which is maintained externally.
|
||||||
|
# For GCC this typically means adding `-Wno-*` arguments to negate warnings
|
||||||
|
# that are useful in the general case.
|
||||||
set(C_REMOVE_STRICT_FLAGS)
|
set(C_REMOVE_STRICT_FLAGS)
|
||||||
set(CXX_REMOVE_STRICT_FLAGS)
|
set(CXX_REMOVE_STRICT_FLAGS)
|
||||||
|
|
||||||
@@ -1457,14 +1506,6 @@ if(WITH_LIBMV OR WITH_GTESTS OR (WITH_CYCLES AND WITH_CYCLES_LOGGING))
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
|
||||||
# Configure Ceres
|
|
||||||
|
|
||||||
if(WITH_LIBMV)
|
|
||||||
# We always have C++11 which includes unordered_map.
|
|
||||||
set(CERES_DEFINES "-DCERES_STD_UNORDERED_MAP;-DCERES_USE_CXX_THREADS")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Extra limits to number of jobs running in parallel for some kind os tasks.
|
# Extra limits to number of jobs running in parallel for some kind os tasks.
|
||||||
# Only supported by Ninja build system currently.
|
# Only supported by Ninja build system currently.
|
||||||
@@ -1541,7 +1582,6 @@ endif()
|
|||||||
if(CMAKE_COMPILER_IS_GNUCC)
|
if(CMAKE_COMPILER_IS_GNUCC)
|
||||||
|
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ALL -Wall)
|
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ALL -Wall)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_CAST_ALIGN -Wcast-align)
|
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_IMPLICIT_FUNCTION_DECLARATION -Werror=implicit-function-declaration)
|
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_IMPLICIT_FUNCTION_DECLARATION -Werror=implicit-function-declaration)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_RETURN_TYPE -Werror=return-type)
|
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_RETURN_TYPE -Werror=return-type)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_VLA -Werror=vla)
|
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_VLA -Werror=vla)
|
||||||
@@ -1626,6 +1666,18 @@ if(CMAKE_COMPILER_IS_GNUCC)
|
|||||||
ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_IMPLICIT_FALLTHROUGH -Wimplicit-fallthrough=5)
|
ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_IMPLICIT_FALLTHROUGH -Wimplicit-fallthrough=5)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------
|
||||||
|
# Suppress Strict Flags
|
||||||
|
#
|
||||||
|
# Exclude the following warnings from this list:
|
||||||
|
# - `-Wno-address`:
|
||||||
|
# This can give useful hints that point to bugs/misleading logic.
|
||||||
|
# - `-Wno-strict-prototypes`:
|
||||||
|
# No need to support older C-style prototypes.
|
||||||
|
#
|
||||||
|
# If code in `./extern/` needs to suppress these flags that can be done on a case-by-case basis.
|
||||||
|
|
||||||
# flags to undo strict flags
|
# flags to undo strict flags
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_DEPRECATED_DECLARATIONS -Wno-deprecated-declarations)
|
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_DEPRECATED_DECLARATIONS -Wno-deprecated-declarations)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_PARAMETER -Wno-unused-parameter)
|
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_PARAMETER -Wno-unused-parameter)
|
||||||
@@ -1681,6 +1733,9 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
|||||||
# ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNUSED_MACROS -Wunused-macros)
|
# ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNUSED_MACROS -Wunused-macros)
|
||||||
# ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNUSED_MACROS -Wunused-macros)
|
# ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNUSED_MACROS -Wunused-macros)
|
||||||
|
|
||||||
|
#----------------------
|
||||||
|
# Suppress Strict Flags
|
||||||
|
|
||||||
# flags to undo strict flags
|
# flags to undo strict flags
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_PARAMETER -Wno-unused-parameter)
|
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_PARAMETER -Wno-unused-parameter)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_VARIABLE -Wno-unused-variable)
|
ADD_CHECK_C_COMPILER_FLAG(C_REMOVE_STRICT_FLAGS C_WARN_NO_UNUSED_VARIABLE -Wno-unused-variable)
|
||||||
@@ -1746,6 +1801,7 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "MSVC")
|
|||||||
"/wd4828" # The file contains a character that is illegal
|
"/wd4828" # The file contains a character that is illegal
|
||||||
"/wd4996" # identifier was declared deprecated
|
"/wd4996" # identifier was declared deprecated
|
||||||
"/wd4661" # no suitable definition provided for explicit template instantiation request
|
"/wd4661" # no suitable definition provided for explicit template instantiation request
|
||||||
|
"/wd4848" # 'no_unique_address' is a vendor extension in C++17
|
||||||
# errors:
|
# errors:
|
||||||
"/we4013" # 'function' undefined; assuming extern returning int
|
"/we4013" # 'function' undefined; assuming extern returning int
|
||||||
"/we4133" # incompatible pointer types
|
"/we4133" # incompatible pointer types
|
||||||
|
28
GNUmakefile
28
GNUmakefile
@@ -120,7 +120,7 @@ Utilities
|
|||||||
Updates git and all submodules but not svn.
|
Updates git and all submodules but not svn.
|
||||||
|
|
||||||
* format:
|
* format:
|
||||||
Format source code using clang (uses PATHS if passed in). For example::
|
Format source code using clang-format & autopep8 (uses PATHS if passed in). For example::
|
||||||
|
|
||||||
make format PATHS="source/blender/blenlib source/blender/blenkernel"
|
make format PATHS="source/blender/blenlib source/blender/blenkernel"
|
||||||
|
|
||||||
@@ -130,6 +130,7 @@ Environment Variables
|
|||||||
* BUILD_DIR: Override default build path.
|
* BUILD_DIR: Override default build path.
|
||||||
* PYTHON: Use this for the Python command (used for checking tools).
|
* PYTHON: Use this for the Python command (used for checking tools).
|
||||||
* NPROCS: Number of processes to use building (auto-detect when omitted).
|
* NPROCS: Number of processes to use building (auto-detect when omitted).
|
||||||
|
* AUTOPEP8: Command used for Python code-formatting (used for the format target).
|
||||||
|
|
||||||
Documentation Targets
|
Documentation Targets
|
||||||
Not associated with building Blender.
|
Not associated with building Blender.
|
||||||
@@ -206,6 +207,27 @@ ifeq ($(OS_NCASE),darwin)
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Set the LIBDIR, an empty string when not found.
|
||||||
|
LIBDIR:=$(wildcard ../lib/${OS_NCASE}_${CPU})
|
||||||
|
ifeq (, $(LIBDIR))
|
||||||
|
LIBDIR:=$(wildcard ../lib/${OS_NCASE}_centos7_${CPU})
|
||||||
|
endif
|
||||||
|
ifeq (, $(LIBDIR))
|
||||||
|
LIBDIR:=$(wildcard ../lib/${OS_NCASE})
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Use the autopep8 module in ../lib/ (which can be executed via Python directly).
|
||||||
|
# Otherwise the "autopep8" command can be used.
|
||||||
|
ifndef AUTOPEP8
|
||||||
|
ifneq (, $(LIBDIR))
|
||||||
|
AUTOPEP8:=$(wildcard $(LIBDIR)/python/lib/python3.10/site-packages/autopep8.py)
|
||||||
|
endif
|
||||||
|
ifeq (, $(AUTOPEP8))
|
||||||
|
AUTOPEP8:=autopep8
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# additional targets for the build configuration
|
# additional targets for the build configuration
|
||||||
|
|
||||||
@@ -527,8 +549,8 @@ update_code: .FORCE
|
|||||||
@$(PYTHON) ./build_files/utils/make_update.py --no-libraries
|
@$(PYTHON) ./build_files/utils/make_update.py --no-libraries
|
||||||
|
|
||||||
format: .FORCE
|
format: .FORCE
|
||||||
@PATH="../lib/${OS_NCASE}_${CPU}/llvm/bin/:../lib/${OS_NCASE}_centos7_${CPU}/llvm/bin/:../lib/${OS_NCASE}/llvm/bin/:$(PATH)" \
|
@PATH="${LIBDIR}/llvm/bin/:$(PATH)" $(PYTHON) source/tools/utils_maintenance/clang_format_paths.py $(PATHS)
|
||||||
$(PYTHON) source/tools/utils_maintenance/clang_format_paths.py $(PATHS)
|
@$(PYTHON) source/tools/utils_maintenance/autopep8_format_paths.py --autopep8-command="$(AUTOPEP8)" $(PATHS)
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
@@ -30,8 +30,11 @@ cmake_minimum_required(VERSION 3.5)
|
|||||||
include(ExternalProject)
|
include(ExternalProject)
|
||||||
include(cmake/check_software.cmake)
|
include(cmake/check_software.cmake)
|
||||||
include(cmake/options.cmake)
|
include(cmake/options.cmake)
|
||||||
|
# versions.cmake needs to be included after options.cmake due to the BLENDER_PLATFORM_ARM variable being needed.
|
||||||
include(cmake/versions.cmake)
|
include(cmake/versions.cmake)
|
||||||
|
include(cmake/boost_build_options.cmake)
|
||||||
include(cmake/download.cmake)
|
include(cmake/download.cmake)
|
||||||
|
include(cmake/macros.cmake)
|
||||||
|
|
||||||
if(ENABLE_MINGW64)
|
if(ENABLE_MINGW64)
|
||||||
include(cmake/setup_mingw64.cmake)
|
include(cmake/setup_mingw64.cmake)
|
||||||
@@ -46,19 +49,16 @@ include(cmake/png.cmake)
|
|||||||
include(cmake/jpeg.cmake)
|
include(cmake/jpeg.cmake)
|
||||||
include(cmake/blosc.cmake)
|
include(cmake/blosc.cmake)
|
||||||
include(cmake/pthreads.cmake)
|
include(cmake/pthreads.cmake)
|
||||||
|
include(cmake/imath.cmake)
|
||||||
include(cmake/openexr.cmake)
|
include(cmake/openexr.cmake)
|
||||||
include(cmake/brotli.cmake)
|
include(cmake/brotli.cmake)
|
||||||
include(cmake/freetype.cmake)
|
include(cmake/freetype.cmake)
|
||||||
include(cmake/freeglut.cmake)
|
include(cmake/freeglut.cmake)
|
||||||
include(cmake/glew.cmake)
|
include(cmake/glew.cmake)
|
||||||
include(cmake/alembic.cmake)
|
include(cmake/alembic.cmake)
|
||||||
include(cmake/glfw.cmake)
|
|
||||||
include(cmake/clew.cmake)
|
|
||||||
include(cmake/cuew.cmake)
|
|
||||||
include(cmake/opensubdiv.cmake)
|
include(cmake/opensubdiv.cmake)
|
||||||
include(cmake/sdl.cmake)
|
include(cmake/sdl.cmake)
|
||||||
include(cmake/opencollada.cmake)
|
include(cmake/opencollada.cmake)
|
||||||
include(cmake/llvm.cmake)
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
include(cmake/openmp.cmake)
|
include(cmake/openmp.cmake)
|
||||||
endif()
|
endif()
|
||||||
@@ -75,8 +75,8 @@ endif()
|
|||||||
include(cmake/osl.cmake)
|
include(cmake/osl.cmake)
|
||||||
include(cmake/tbb.cmake)
|
include(cmake/tbb.cmake)
|
||||||
include(cmake/openvdb.cmake)
|
include(cmake/openvdb.cmake)
|
||||||
include(cmake/nanovdb.cmake)
|
|
||||||
include(cmake/python.cmake)
|
include(cmake/python.cmake)
|
||||||
|
include(cmake/llvm.cmake)
|
||||||
option(USE_PIP_NUMPY "Install NumPy using pip wheel instead of building from source" OFF)
|
option(USE_PIP_NUMPY "Install NumPy using pip wheel instead of building from source" OFF)
|
||||||
if(APPLE AND ("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64"))
|
if(APPLE AND ("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64"))
|
||||||
set(USE_PIP_NUMPY ON)
|
set(USE_PIP_NUMPY ON)
|
||||||
@@ -94,12 +94,24 @@ include(cmake/pugixml.cmake)
|
|||||||
include(cmake/ispc.cmake)
|
include(cmake/ispc.cmake)
|
||||||
include(cmake/openimagedenoise.cmake)
|
include(cmake/openimagedenoise.cmake)
|
||||||
include(cmake/embree.cmake)
|
include(cmake/embree.cmake)
|
||||||
|
include(cmake/fmt.cmake)
|
||||||
|
include(cmake/robinmap.cmake)
|
||||||
if(NOT APPLE)
|
if(NOT APPLE)
|
||||||
include(cmake/xr_openxr.cmake)
|
include(cmake/xr_openxr.cmake)
|
||||||
|
if(NOT WIN32 OR BUILD_MODE STREQUAL Release)
|
||||||
|
include(cmake/dpcpp.cmake)
|
||||||
|
include(cmake/dpcpp_deps.cmake)
|
||||||
|
endif()
|
||||||
|
if(NOT WIN32)
|
||||||
|
include(cmake/igc.cmake)
|
||||||
|
include(cmake/gmmlib.cmake)
|
||||||
|
include(cmake/ocloc.cmake)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# OpenColorIO and dependencies.
|
# OpenColorIO and dependencies.
|
||||||
include(cmake/expat.cmake)
|
include(cmake/expat.cmake)
|
||||||
|
include(cmake/pystring.cmake)
|
||||||
include(cmake/yamlcpp.cmake)
|
include(cmake/yamlcpp.cmake)
|
||||||
include(cmake/opencolorio.cmake)
|
include(cmake/opencolorio.cmake)
|
||||||
|
|
||||||
@@ -107,8 +119,9 @@ if(BLENDER_PLATFORM_ARM)
|
|||||||
include(cmake/sse2neon.cmake)
|
include(cmake/sse2neon.cmake)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_WEBP)
|
|
||||||
include(cmake/webp.cmake)
|
include(cmake/webp.cmake)
|
||||||
|
if(NOT APPLE)
|
||||||
|
include(cmake/level-zero.cmake)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT WIN32 OR ENABLE_MINGW64)
|
if(NOT WIN32 OR ENABLE_MINGW64)
|
||||||
|
@@ -1,30 +1,16 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
set(ALEMBIC_EXTRA_ARGS
|
set(ALEMBIC_EXTRA_ARGS
|
||||||
-DBUILDSTATIC=ON
|
-DImath_ROOT=${LIBDIR}/imath
|
||||||
-DLINKSTATIC=ON
|
-DUSE_PYALEMBIC=OFF
|
||||||
-DILMBASE_ROOT=${LIBDIR}/openexr
|
-DUSE_ARNOLD=OFF
|
||||||
-DALEMBIC_ILMBASE_INCLUDE_DIRECTORY=${LIBDIR}/openexr/include/OpenEXR
|
-DUSE_MAYA=OFF
|
||||||
-DALEMBIC_ILMBASE_HALF_LIB=${LIBDIR}/openexr/lib/${LIBPREFIX}Half${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
-DUSE_PRMAN=OFF
|
||||||
-DALEMBIC_ILMBASE_IMATH_LIB=${LIBDIR}/openexr/lib/${LIBPREFIX}Imath${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
-DUSE_HDF5=OFF
|
||||||
-DALEMBIC_ILMBASE_ILMTHREAD_LIB=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmThread${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
-DUSE_TESTS=OFF
|
||||||
-DALEMBIC_ILMBASE_IEX_LIB=${LIBDIR}/openexr/lib/${LIBPREFIX}Iex${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
|
||||||
-DALEMBIC_ILMBASE_IEXMATH_LIB=${LIBDIR}/openexr/lib/${LIBPREFIX}IexMath${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
|
||||||
-DUSE_PYILMBASE=0
|
|
||||||
-DUSE_PYALEMBIC=0
|
|
||||||
-DUSE_ARNOLD=0
|
|
||||||
-DUSE_MAYA=0
|
|
||||||
-DUSE_PRMAN=0
|
|
||||||
-DUSE_HDF5=Off
|
|
||||||
-DUSE_STATIC_HDF5=Off
|
|
||||||
-DUSE_TESTS=Off
|
|
||||||
-DALEMBIC_NO_OPENGL=1
|
|
||||||
-DUSE_BINARIES=ON
|
-DUSE_BINARIES=ON
|
||||||
-DALEMBIC_ILMBASE_LINK_STATIC=On
|
-DALEMBIC_ILMBASE_LINK_STATIC=OFF
|
||||||
-DALEMBIC_SHARED_LIBS=OFF
|
-DALEMBIC_SHARED_LIBS=OFF
|
||||||
-DGLUT_INCLUDE_DIR=""
|
|
||||||
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
|
||||||
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
|
||||||
)
|
)
|
||||||
|
|
||||||
ExternalProject_Add(external_alembic
|
ExternalProject_Add(external_alembic
|
||||||
@@ -55,6 +41,5 @@ endif()
|
|||||||
|
|
||||||
add_dependencies(
|
add_dependencies(
|
||||||
external_alembic
|
external_alembic
|
||||||
external_zlib
|
|
||||||
external_openexr
|
external_openexr
|
||||||
)
|
)
|
||||||
|
@@ -24,7 +24,6 @@ ExternalProject_Add(external_blosc
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${BLOSC_HASH_TYPE}=${BLOSC_HASH}
|
URL_HASH ${BLOSC_HASH_TYPE}=${BLOSC_HASH}
|
||||||
PREFIX ${BUILD_DIR}/blosc
|
PREFIX ${BUILD_DIR}/blosc
|
||||||
PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/blosc/src/external_blosc < ${PATCH_DIR}/blosc.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/blosc ${DEFAULT_CMAKE_FLAGS} ${BLOSC_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/blosc ${DEFAULT_CMAKE_FLAGS} ${BLOSC_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/blosc
|
INSTALL_DIR ${LIBDIR}/blosc
|
||||||
)
|
)
|
||||||
|
@@ -1,22 +1,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
set(BOOST_ADDRESS_MODEL 64)
|
|
||||||
|
|
||||||
if(BLENDER_PLATFORM_ARM)
|
|
||||||
set(BOOST_ARCHITECTURE arm)
|
|
||||||
else()
|
|
||||||
set(BOOST_ARCHITECTURE x86)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
if(MSVC_VERSION GREATER_EQUAL 1920) # 2019
|
|
||||||
set(BOOST_TOOLSET toolset=msvc-14.2)
|
|
||||||
set(BOOST_COMPILER_STRING -vc142)
|
|
||||||
else() # 2017
|
|
||||||
set(BOOST_TOOLSET toolset=msvc-14.1)
|
|
||||||
set(BOOST_COMPILER_STRING -vc141)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(BOOST_CONFIGURE_COMMAND bootstrap.bat)
|
set(BOOST_CONFIGURE_COMMAND bootstrap.bat)
|
||||||
set(BOOST_BUILD_COMMAND b2)
|
set(BOOST_BUILD_COMMAND b2)
|
||||||
set(BOOST_BUILD_OPTIONS runtime-link=shared )
|
set(BOOST_BUILD_OPTIONS runtime-link=shared )
|
||||||
@@ -36,11 +20,6 @@ else()
|
|||||||
set(BOOST_BUILD_COMMAND ./b2)
|
set(BOOST_BUILD_COMMAND ./b2)
|
||||||
set(BOOST_BUILD_OPTIONS cxxflags=${PLATFORM_CXXFLAGS} --disable-icu boost.locale.icu=off)
|
set(BOOST_BUILD_OPTIONS cxxflags=${PLATFORM_CXXFLAGS} --disable-icu boost.locale.icu=off)
|
||||||
set(BOOST_PATCH_COMMAND echo .)
|
set(BOOST_PATCH_COMMAND echo .)
|
||||||
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
|
|
||||||
set(BOOST_ADDRESS_MODEL 64)
|
|
||||||
else()
|
|
||||||
set(BOOST_ADDRESS_MODEL 32)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_BOOST_PYTHON)
|
if(WITH_BOOST_PYTHON)
|
||||||
|
@@ -0,0 +1,30 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
set(BOOST_ADDRESS_MODEL 64)
|
||||||
|
if(BLENDER_PLATFORM_ARM)
|
||||||
|
set(BOOST_ARCHITECTURE arm)
|
||||||
|
else()
|
||||||
|
set(BOOST_ARCHITECTURE x86)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
if(MSVC_VERSION GREATER_EQUAL 1920) # 2019
|
||||||
|
set(BOOST_TOOLSET toolset=msvc-14.2)
|
||||||
|
set(BOOST_COMPILER_STRING -vc142)
|
||||||
|
else() # 2017
|
||||||
|
set(BOOST_TOOLSET toolset=msvc-14.1)
|
||||||
|
set(BOOST_COMPILER_STRING -vc141)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(DEFAULT_BOOST_FLAGS
|
||||||
|
-DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
|
||||||
|
-DBoost_USE_MULTITHREADED=ON
|
||||||
|
-DBoost_USE_STATIC_LIBS=ON
|
||||||
|
-DBoost_USE_STATIC_RUNTIME=OFF
|
||||||
|
-DBOOST_ROOT=${LIBDIR}/boost
|
||||||
|
-DBoost_NO_SYSTEM_PATHS=ON
|
||||||
|
-DBoost_NO_BOOST_CMAKE=ON
|
||||||
|
-DBoost_ADDITIONAL_VERSIONS=${BOOST_VERSION_SHORT}
|
||||||
|
-DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/
|
||||||
|
)
|
@@ -56,10 +56,7 @@ if(UNIX)
|
|||||||
"On Debian and Ubuntu:\n"
|
"On Debian and Ubuntu:\n"
|
||||||
" apt install autoconf automake libtool yasm tcl ninja-build meson python3-mako\n"
|
" apt install autoconf automake libtool yasm tcl ninja-build meson python3-mako\n"
|
||||||
"\n"
|
"\n"
|
||||||
"On macOS Intel (with homebrew):\n"
|
"On macOS (with homebrew):\n"
|
||||||
" brew install autoconf automake bison libtool pkg-config yasm\n"
|
|
||||||
"\n"
|
|
||||||
"On macOS ARM (with homebrew):\n"
|
|
||||||
" brew install autoconf automake bison flex libtool pkg-config yasm\n"
|
" brew install autoconf automake bison flex libtool pkg-config yasm\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Other platforms:\n"
|
"Other platforms:\n"
|
||||||
|
@@ -1,12 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
set(CLEW_EXTRA_ARGS)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_clew
|
|
||||||
URL file://${PACKAGE_DIR}/${CLEW_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${CLEW_HASH_TYPE}=${CLEW_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/clew
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/clew -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${CLEW_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/clew
|
|
||||||
)
|
|
@@ -1,13 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
set(CUEW_EXTRA_ARGS)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_cuew
|
|
||||||
URL file://${PACKAGE_DIR}/${CUEW_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${CUEW_HASH_TYPE}=${CUEW_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/cuew
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/cuew/src/external_cuew < ${PATCH_DIR}/cuew.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/cuew -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${CUEW_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/cuew
|
|
||||||
)
|
|
@@ -39,10 +39,6 @@ download_source(FREETYPE)
|
|||||||
download_source(GLEW)
|
download_source(GLEW)
|
||||||
download_source(FREEGLUT)
|
download_source(FREEGLUT)
|
||||||
download_source(ALEMBIC)
|
download_source(ALEMBIC)
|
||||||
download_source(GLFW)
|
|
||||||
download_source(CLEW)
|
|
||||||
download_source(GLFW)
|
|
||||||
download_source(CUEW)
|
|
||||||
download_source(OPENSUBDIV)
|
download_source(OPENSUBDIV)
|
||||||
download_source(SDL)
|
download_source(SDL)
|
||||||
download_source(OPENCOLLADA)
|
download_source(OPENCOLLADA)
|
||||||
@@ -71,9 +67,7 @@ download_source(FFMPEG)
|
|||||||
download_source(FFTW)
|
download_source(FFTW)
|
||||||
download_source(ICONV)
|
download_source(ICONV)
|
||||||
download_source(SNDFILE)
|
download_source(SNDFILE)
|
||||||
if(WITH_WEBP)
|
|
||||||
download_source(WEBP)
|
download_source(WEBP)
|
||||||
endif()
|
|
||||||
download_source(SPNAV)
|
download_source(SPNAV)
|
||||||
download_source(JEMALLOC)
|
download_source(JEMALLOC)
|
||||||
download_source(XML2)
|
download_source(XML2)
|
||||||
@@ -102,3 +96,23 @@ download_source(HARU)
|
|||||||
download_source(ZSTD)
|
download_source(ZSTD)
|
||||||
download_source(FLEX)
|
download_source(FLEX)
|
||||||
download_source(BROTLI)
|
download_source(BROTLI)
|
||||||
|
download_source(FMT)
|
||||||
|
download_source(ROBINMAP)
|
||||||
|
download_source(IMATH)
|
||||||
|
download_source(PYSTRING)
|
||||||
|
download_source(LEVEL_ZERO)
|
||||||
|
download_source(DPCPP)
|
||||||
|
download_source(VCINTRINSICS)
|
||||||
|
download_source(OPENCLHEADERS)
|
||||||
|
download_source(ICDLOADER)
|
||||||
|
download_source(MP11)
|
||||||
|
download_source(SPIRV_HEADERS)
|
||||||
|
download_source(IGC)
|
||||||
|
download_source(IGC_LLVM)
|
||||||
|
download_source(IGC_OPENCL_CLANG)
|
||||||
|
download_source(IGC_VCINTRINSICS)
|
||||||
|
download_source(IGC_SPIRV_HEADERS)
|
||||||
|
download_source(IGC_SPIRV_TOOLS)
|
||||||
|
download_source(IGC_SPIRV_TRANSLATOR)
|
||||||
|
download_source(GMMLIB)
|
||||||
|
download_source(OCLOC)
|
||||||
|
107
build_files/build_environment/cmake/dpcpp.cmake
Normal file
107
build_files/build_environment/cmake/dpcpp.cmake
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
set(LLVM_GENERATOR "Ninja")
|
||||||
|
else()
|
||||||
|
set(LLVM_GENERATOR "Unix Makefiles")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(DPCPP_CONFIGURE_ARGS
|
||||||
|
# When external deps dpcpp needs are not found it will automatically
|
||||||
|
# download the during the configure stage using FetchContent. Given
|
||||||
|
# we need to keep an archive of all source used during build for compliance
|
||||||
|
# reasons it CANNOT download anything we do not know about. By setting
|
||||||
|
# this property to ON, all downloads are disabled, and we will have to
|
||||||
|
# provide the missing deps some other way, a build error beats a compliance
|
||||||
|
# violation
|
||||||
|
--cmake-opt FETCHCONTENT_FULLY_DISCONNECTED=ON
|
||||||
|
)
|
||||||
|
set(DPCPP_SOURCE_ROOT ${BUILD_DIR}/dpcpp/src/external_dpcpp/)
|
||||||
|
set(DPCPP_EXTRA_ARGS
|
||||||
|
# When external deps dpcpp needs are not found it will automatically
|
||||||
|
# download the during the configure stage using FetchContent. Given
|
||||||
|
# we need to keep an archive of all source used during build for compliance
|
||||||
|
# reasons it CANNOT download anything we do not know about. By setting
|
||||||
|
# this property to ON, all downloads are disabled, and we will have to
|
||||||
|
# provide the missing deps some other way, a build or configure error
|
||||||
|
# beats a compliance violation
|
||||||
|
-DFETCHCONTENT_FULLY_DISCONNECTED=ON
|
||||||
|
-DLLVMGenXIntrinsics_SOURCE_DIR=${BUILD_DIR}/vcintrinsics/src/external_vcintrinsics/
|
||||||
|
-DOpenCL_HEADERS=file://${PACKAGE_DIR}/${OPENCLHEADERS_FILE}
|
||||||
|
-DOpenCL_LIBRARY_SRC=file://${PACKAGE_DIR}/${ICDLOADER_FILE}
|
||||||
|
-DBOOST_MP11_SOURCE_DIR=${BUILD_DIR}/mp11/src/external_mp11/
|
||||||
|
-DLEVEL_ZERO_LIBRARY=${LIBDIR}/level-zero/lib/${LIBPREFIX}ze_loader${SHAREDLIBEXT}
|
||||||
|
-DLEVEL_ZERO_INCLUDE_DIR=${LIBDIR}/level-zero/include
|
||||||
|
-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=${BUILD_DIR}/spirvheaders/src/external_spirvheaders/
|
||||||
|
# Below here is copied from an invocation of buildbot/config.py
|
||||||
|
-DLLVM_ENABLE_ASSERTIONS=ON
|
||||||
|
-DLLVM_TARGETS_TO_BUILD=X86
|
||||||
|
-DLLVM_EXTERNAL_PROJECTS=sycl^^llvm-spirv^^opencl^^libdevice^^xpti^^xptifw
|
||||||
|
-DLLVM_EXTERNAL_SYCL_SOURCE_DIR=${DPCPP_SOURCE_ROOT}/sycl
|
||||||
|
-DLLVM_EXTERNAL_LLVM_SPIRV_SOURCE_DIR=${DPCPP_SOURCE_ROOT}/llvm-spirv
|
||||||
|
-DLLVM_EXTERNAL_XPTI_SOURCE_DIR=${DPCPP_SOURCE_ROOT}/xpti
|
||||||
|
-DXPTI_SOURCE_DIR=${DPCPP_SOURCE_ROOT}/xpti
|
||||||
|
-DLLVM_EXTERNAL_XPTIFW_SOURCE_DIR=${DPCPP_SOURCE_ROOT}/xptifw
|
||||||
|
-DLLVM_EXTERNAL_LIBDEVICE_SOURCE_DIR=${DPCPP_SOURCE_ROOT}/libdevice
|
||||||
|
-DLLVM_ENABLE_PROJECTS=clang^^sycl^^llvm-spirv^^opencl^^libdevice^^xpti^^xptifw
|
||||||
|
-DLIBCLC_TARGETS_TO_BUILD=
|
||||||
|
-DLIBCLC_GENERATE_REMANGLED_VARIANTS=OFF
|
||||||
|
-DSYCL_BUILD_PI_HIP_PLATFORM=AMD
|
||||||
|
-DLLVM_BUILD_TOOLS=ON
|
||||||
|
-DSYCL_ENABLE_WERROR=OFF
|
||||||
|
-DSYCL_INCLUDE_TESTS=ON
|
||||||
|
-DLLVM_ENABLE_DOXYGEN=OFF
|
||||||
|
-DLLVM_ENABLE_SPHINX=OFF
|
||||||
|
-DBUILD_SHARED_LIBS=OFF
|
||||||
|
-DSYCL_ENABLE_XPTI_TRACING=ON
|
||||||
|
-DLLVM_ENABLE_LLD=OFF
|
||||||
|
-DXPTI_ENABLE_WERROR=OFF
|
||||||
|
-DSYCL_CLANG_EXTRA_FLAGS=
|
||||||
|
-DSYCL_ENABLE_PLUGINS=level_zero
|
||||||
|
-DCMAKE_INSTALL_RPATH=\$ORIGIN
|
||||||
|
-DPython3_ROOT_DIR=${LIBDIR}/python/
|
||||||
|
-DPython3_EXECUTABLE=${PYTHON_BINARY}
|
||||||
|
-DPYTHON_EXECUTABLE=${PYTHON_BINARY}
|
||||||
|
)
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
list(APPEND DPCPP_EXTRA_ARGS -DPython3_FIND_REGISTRY=NEVER)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
ExternalProject_Add(external_dpcpp
|
||||||
|
URL file://${PACKAGE_DIR}/${DPCPP_FILE}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH ${DPCPP_HASH_TYPE}=${DPCPP_HASH}
|
||||||
|
PREFIX ${BUILD_DIR}/dpcpp
|
||||||
|
CMAKE_GENERATOR ${LLVM_GENERATOR}
|
||||||
|
SOURCE_SUBDIR llvm
|
||||||
|
LIST_SEPARATOR ^^
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/dpcpp ${DEFAULT_CMAKE_FLAGS} ${DPCPP_EXTRA_ARGS}
|
||||||
|
#CONFIGURE_COMMAND ${PYTHON_BINARY} ${BUILD_DIR}/dpcpp/src/external_dpcpp/buildbot/configure.py ${DPCPP_CONFIGURE_ARGS}
|
||||||
|
#BUILD_COMMAND echo "." #${PYTHON_BINARY} ${BUILD_DIR}/dpcpp/src/external_dpcpp/buildbot/compile.py
|
||||||
|
INSTALL_COMMAND ${CMAKE_COMMAND} --build . -- deploy-sycl-toolchain
|
||||||
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/dpcpp/src/external_dpcpp < ${PATCH_DIR}/dpcpp.diff
|
||||||
|
INSTALL_DIR ${LIBDIR}/dpcpp
|
||||||
|
)
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
external_dpcpp
|
||||||
|
external_python
|
||||||
|
external_python_site_packages
|
||||||
|
external_vcintrinsics
|
||||||
|
external_openclheaders
|
||||||
|
external_icdloader
|
||||||
|
external_mp11
|
||||||
|
external_level-zero
|
||||||
|
external_spirvheaders
|
||||||
|
)
|
||||||
|
|
||||||
|
if(BUILD_MODE STREQUAL Release AND WIN32)
|
||||||
|
ExternalProject_Add_Step(external_dpcpp after_install
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E rm -f ${LIBDIR}/dpcpp/bin/clang-cl.exe
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E rm -f ${LIBDIR}/dpcpp/bin/clang-cpp.exe
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E rm -f ${LIBDIR}/dpcpp/bin/clang.exe
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/dpcpp ${HARVEST_TARGET}/dpcpp
|
||||||
|
)
|
||||||
|
endif()
|
61
build_files/build_environment/cmake/dpcpp_deps.cmake
Normal file
61
build_files/build_environment/cmake/dpcpp_deps.cmake
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
# These are build time requirements for dpcpp
|
||||||
|
# We only have to unpack these dpcpp will build
|
||||||
|
# them.
|
||||||
|
|
||||||
|
ExternalProject_Add(external_vcintrinsics
|
||||||
|
URL file://${PACKAGE_DIR}/${VCINTRINSICS_FILE}
|
||||||
|
URL_HASH ${VCINTRINSICS_HASH_TYPE}=${VCINTRINSICS_HASH}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
PREFIX ${BUILD_DIR}/vcintrinsics
|
||||||
|
CONFIGURE_COMMAND echo .
|
||||||
|
BUILD_COMMAND echo .
|
||||||
|
INSTALL_COMMAND echo .
|
||||||
|
)
|
||||||
|
|
||||||
|
# opencl headers do not have to be unpacked, dpcpp will do it
|
||||||
|
# but it wouldn't hurt to do it anyway as an opertunity to validate
|
||||||
|
# the hash is correct.
|
||||||
|
ExternalProject_Add(external_openclheaders
|
||||||
|
URL file://${PACKAGE_DIR}/${OPENCLHEADERS_FILE}
|
||||||
|
URL_HASH ${OPENCLHEADERS_HASH_TYPE}=${OPENCLHEADERS_HASH}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
PREFIX ${BUILD_DIR}/openclheaders
|
||||||
|
CONFIGURE_COMMAND echo .
|
||||||
|
BUILD_COMMAND echo .
|
||||||
|
INSTALL_COMMAND echo .
|
||||||
|
)
|
||||||
|
|
||||||
|
# icdloader does not have to be unpacked, dpcpp will do it
|
||||||
|
# but it wouldn't hurt to do it anyway as an opertunity to validate
|
||||||
|
# the hash is correct.
|
||||||
|
ExternalProject_Add(external_icdloader
|
||||||
|
URL file://${PACKAGE_DIR}/${ICDLOADER_FILE}
|
||||||
|
URL_HASH ${ICDLOADER_HASH_TYPE}=${ICDLOADER_HASH}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
PREFIX ${BUILD_DIR}/icdloader
|
||||||
|
CONFIGURE_COMMAND echo .
|
||||||
|
BUILD_COMMAND echo .
|
||||||
|
INSTALL_COMMAND echo .
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_mp11
|
||||||
|
URL file://${PACKAGE_DIR}/${MP11_FILE}
|
||||||
|
URL_HASH ${MP11_HASH_TYPE}=${MP11_HASH}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
PREFIX ${BUILD_DIR}/mp11
|
||||||
|
CONFIGURE_COMMAND echo .
|
||||||
|
BUILD_COMMAND echo .
|
||||||
|
INSTALL_COMMAND echo .
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_spirvheaders
|
||||||
|
URL file://${PACKAGE_DIR}/${SPIRV_HEADERS_FILE}
|
||||||
|
URL_HASH ${SPIRV_HEADERS_HASH_TYPE}=${SPIRV_HEADERS_HASH}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
PREFIX ${BUILD_DIR}/spirvheaders
|
||||||
|
CONFIGURE_COMMAND echo .
|
||||||
|
BUILD_COMMAND echo .
|
||||||
|
INSTALL_COMMAND echo .
|
||||||
|
)
|
@@ -17,6 +17,16 @@ set(EMBREE_EXTRA_ARGS
|
|||||||
-DTBB_STATIC_LIB=${TBB_STATIC_LIBRARY}
|
-DTBB_STATIC_LIB=${TBB_STATIC_LIBRARY}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(BLENDER_PLATFORM_ARM)
|
||||||
|
set(EMBREE_EXTRA_ARGS
|
||||||
|
${EMBREE_EXTRA_ARGS}
|
||||||
|
-DEMBREE_MAX_ISA=NEON)
|
||||||
|
else()
|
||||||
|
set(EMBREE_EXTRA_ARGS
|
||||||
|
${EMBREE_EXTRA_ARGS}
|
||||||
|
-DEMBREE_MAX_ISA=AVX2)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(TBB_STATIC_LIBRARY)
|
if(TBB_STATIC_LIBRARY)
|
||||||
set(EMBREE_EXTRA_ARGS
|
set(EMBREE_EXTRA_ARGS
|
||||||
${EMBREE_EXTRA_ARGS}
|
${EMBREE_EXTRA_ARGS}
|
||||||
@@ -37,16 +47,6 @@ else()
|
|||||||
set(EMBREE_BUILD_DIR)
|
set(EMBREE_BUILD_DIR)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(BLENDER_PLATFORM_ARM)
|
|
||||||
ExternalProject_Add(external_embree
|
|
||||||
GIT_REPOSITORY ${EMBREE_ARM_GIT}
|
|
||||||
GIT_TAG "blender-arm"
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
PREFIX ${BUILD_DIR}/embree
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/embree ${DEFAULT_CMAKE_FLAGS} ${EMBREE_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/embree
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
ExternalProject_Add(external_embree
|
ExternalProject_Add(external_embree
|
||||||
URL file://${PACKAGE_DIR}/${EMBREE_FILE}
|
URL file://${PACKAGE_DIR}/${EMBREE_FILE}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
@@ -56,7 +56,6 @@ else()
|
|||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/embree ${DEFAULT_CMAKE_FLAGS} ${EMBREE_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/embree ${DEFAULT_CMAKE_FLAGS} ${EMBREE_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/embree
|
INSTALL_DIR ${LIBDIR}/embree
|
||||||
)
|
)
|
||||||
endif()
|
|
||||||
|
|
||||||
add_dependencies(
|
add_dependencies(
|
||||||
external_embree
|
external_embree
|
||||||
|
@@ -5,6 +5,8 @@ ExternalProject_Add(external_flex
|
|||||||
URL_HASH ${FLEX_HASH_TYPE}=${FLEX_HASH}
|
URL_HASH ${FLEX_HASH_TYPE}=${FLEX_HASH}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
PREFIX ${BUILD_DIR}/flex
|
PREFIX ${BUILD_DIR}/flex
|
||||||
|
# This patch fixes build with some versions of glibc (https://github.com/westes/flex/commit/24fd0551333e7eded87b64dd36062da3df2f6380)
|
||||||
|
PATCH_COMMAND ${PATCH_CMD} -d ${BUILD_DIR}/flex/src/external_flex < ${PATCH_DIR}/flex.diff
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flex/src/external_flex/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/flex
|
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flex/src/external_flex/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/flex
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flex/src/external_flex/ && make -j${MAKE_THREADS}
|
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flex/src/external_flex/ && make -j${MAKE_THREADS}
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flex/src/external_flex/ && make install
|
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flex/src/external_flex/ && make install
|
||||||
|
14
build_files/build_environment/cmake/fmt.cmake
Normal file
14
build_files/build_environment/cmake/fmt.cmake
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
set(FMT_EXTRA_ARGS
|
||||||
|
-DFMT_TEST=Off
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_fmt
|
||||||
|
URL file://${PACKAGE_DIR}/${FMT_FILE}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH ${FMT_HASH_TYPE}=${FMT_HASH}
|
||||||
|
PREFIX ${BUILD_DIR}/fmt
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/fmt ${DEFAULT_CMAKE_FLAGS} ${FMT_EXTRA_ARGS}
|
||||||
|
INSTALL_DIR ${LIBDIR}/fmt
|
||||||
|
)
|
@@ -1,12 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
set(GLFW_EXTRA_ARGS)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_glfw
|
|
||||||
URL file://${PACKAGE_DIR}/${GLFW_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${GLFW_HASH_TYPE}=${GLFW_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/glfw
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/glfw -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${GLFW_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/glfw
|
|
||||||
)
|
|
13
build_files/build_environment/cmake/gmmlib.cmake
Normal file
13
build_files/build_environment/cmake/gmmlib.cmake
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
set(GMMLIB_EXTRA_ARGS
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_gmmlib
|
||||||
|
URL file://${PACKAGE_DIR}/${GMMLIB_FILE}
|
||||||
|
URL_HASH ${GMMLIB_HASH_TYPE}=${GMMLIB_HASH}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
PREFIX ${BUILD_DIR}/gmmlib
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/gmmlib ${DEFAULT_CMAKE_FLAGS} ${GMMLIB_EXTRA_ARGS}
|
||||||
|
INSTALL_DIR ${LIBDIR}/gmmlib
|
||||||
|
)
|
@@ -14,8 +14,8 @@ if(WIN32)
|
|||||||
if(BUILD_MODE STREQUAL Release)
|
if(BUILD_MODE STREQUAL Release)
|
||||||
add_custom_target(Harvest_Release_Results
|
add_custom_target(Harvest_Release_Results
|
||||||
COMMAND # jpeg rename libfile + copy include
|
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 ${LIBDIR}/jpeg/lib/jpeg-static.lib ${HARVEST_TARGET}/jpeg/lib/libjpeg.lib &&
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/jpg/include/ ${HARVEST_TARGET}/jpeg/include/ &&
|
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/jpeg/include/ ${HARVEST_TARGET}/jpeg/include/ &&
|
||||||
# png
|
# png
|
||||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/png/lib/libpng16_static.lib ${HARVEST_TARGET}/png/lib/libpng.lib &&
|
${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/ &&
|
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/png/include/ ${HARVEST_TARGET}/png/include/ &&
|
||||||
@@ -67,6 +67,8 @@ harvest(brotli/include brotli/include "*.h")
|
|||||||
harvest(brotli/lib brotli/lib "*.a")
|
harvest(brotli/lib brotli/lib "*.a")
|
||||||
harvest(boost/include boost/include "*")
|
harvest(boost/include boost/include "*")
|
||||||
harvest(boost/lib boost/lib "*.a")
|
harvest(boost/lib boost/lib "*.a")
|
||||||
|
harvest(imath/include imath/include "*.h")
|
||||||
|
harvest(imath/lib imath/lib "*.a")
|
||||||
harvest(ffmpeg/include ffmpeg/include "*.h")
|
harvest(ffmpeg/include ffmpeg/include "*.h")
|
||||||
harvest(ffmpeg/lib ffmpeg/lib "*.a")
|
harvest(ffmpeg/lib ffmpeg/lib "*.a")
|
||||||
harvest(fftw3/include fftw3/include "*.h")
|
harvest(fftw3/include fftw3/include "*.h")
|
||||||
@@ -80,9 +82,13 @@ harvest(gmp/include gmp/include "*.h")
|
|||||||
harvest(gmp/lib gmp/lib "*.a")
|
harvest(gmp/lib gmp/lib "*.a")
|
||||||
harvest(jemalloc/include jemalloc/include "*.h")
|
harvest(jemalloc/include jemalloc/include "*.h")
|
||||||
harvest(jemalloc/lib jemalloc/lib "*.a")
|
harvest(jemalloc/lib jemalloc/lib "*.a")
|
||||||
harvest(jpg/include jpeg/include "*.h")
|
harvest(jpeg/include jpeg/include "*.h")
|
||||||
harvest(jpg/lib jpeg/lib "libjpeg.a")
|
harvest(jpeg/lib jpeg/lib "libjpeg.a")
|
||||||
harvest(lame/lib ffmpeg/lib "*.a")
|
harvest(lame/lib ffmpeg/lib "*.a")
|
||||||
|
if(NOT APPLE)
|
||||||
|
harvest(level-zero/include/level_zero level-zero/include/level_zero "*.h")
|
||||||
|
harvest(level-zero/lib level-zero/lib "*.so*")
|
||||||
|
endif()
|
||||||
harvest(llvm/bin llvm/bin "clang-format")
|
harvest(llvm/bin llvm/bin "clang-format")
|
||||||
if(BUILD_CLANG_TOOLS)
|
if(BUILD_CLANG_TOOLS)
|
||||||
harvest(llvm/bin llvm/bin "clang-tidy")
|
harvest(llvm/bin llvm/bin "clang-tidy")
|
||||||
@@ -135,13 +141,13 @@ harvest(openimagedenoise/include openimagedenoise/include "*")
|
|||||||
harvest(openimagedenoise/lib openimagedenoise/lib "*.a")
|
harvest(openimagedenoise/lib openimagedenoise/lib "*.a")
|
||||||
harvest(embree/include embree/include "*.h")
|
harvest(embree/include embree/include "*.h")
|
||||||
harvest(embree/lib embree/lib "*.a")
|
harvest(embree/lib embree/lib "*.a")
|
||||||
harvest(openjpeg/include/openjpeg-2.3 openjpeg/include "*.h")
|
harvest(openjpeg/include/openjpeg-${OPENJPEG_SHORT_VERSION} openjpeg/include "*.h")
|
||||||
harvest(openjpeg/lib openjpeg/lib "*.a")
|
harvest(openjpeg/lib openjpeg/lib "*.a")
|
||||||
harvest(opensubdiv/include opensubdiv/include "*.h")
|
harvest(opensubdiv/include opensubdiv/include "*.h")
|
||||||
harvest(opensubdiv/lib opensubdiv/lib "*.a")
|
harvest(opensubdiv/lib opensubdiv/lib "*.a")
|
||||||
harvest(openvdb/include/openvdb openvdb/include/openvdb "*.h")
|
harvest(openvdb/include/openvdb openvdb/include/openvdb "*.h")
|
||||||
|
harvest(openvdb/include/nanovdb openvdb/include/nanovdb "*.h")
|
||||||
harvest(openvdb/lib openvdb/lib "*.a")
|
harvest(openvdb/lib openvdb/lib "*.a")
|
||||||
harvest(nanovdb/nanovdb nanovdb/include/nanovdb "*.h")
|
|
||||||
harvest(xr_openxr_sdk/include/openxr xr_openxr_sdk/include/openxr "*.h")
|
harvest(xr_openxr_sdk/include/openxr xr_openxr_sdk/include/openxr "*.h")
|
||||||
harvest(xr_openxr_sdk/lib xr_openxr_sdk/lib "*.a")
|
harvest(xr_openxr_sdk/lib xr_openxr_sdk/lib "*.a")
|
||||||
harvest(osl/bin osl/bin "oslc")
|
harvest(osl/bin osl/bin "oslc")
|
||||||
@@ -169,9 +175,10 @@ harvest(tiff/lib tiff/lib "*.a")
|
|||||||
harvest(vorbis/lib ffmpeg/lib "*.a")
|
harvest(vorbis/lib ffmpeg/lib "*.a")
|
||||||
harvest(opus/lib ffmpeg/lib "*.a")
|
harvest(opus/lib ffmpeg/lib "*.a")
|
||||||
harvest(vpx/lib ffmpeg/lib "*.a")
|
harvest(vpx/lib ffmpeg/lib "*.a")
|
||||||
harvest(webp/lib ffmpeg/lib "*.a")
|
|
||||||
harvest(x264/lib ffmpeg/lib "*.a")
|
harvest(x264/lib ffmpeg/lib "*.a")
|
||||||
harvest(xvidcore/lib ffmpeg/lib "*.a")
|
harvest(xvidcore/lib ffmpeg/lib "*.a")
|
||||||
|
harvest(webp/lib webp/lib "*.a")
|
||||||
|
harvest(webp/include webp/include "*.h")
|
||||||
harvest(usd/include usd/include "*.h")
|
harvest(usd/include usd/include "*.h")
|
||||||
harvest(usd/lib/usd usd/lib/usd "*")
|
harvest(usd/lib/usd usd/lib/usd "*")
|
||||||
harvest(usd/plugin usd/plugin "*")
|
harvest(usd/plugin usd/plugin "*")
|
||||||
@@ -185,6 +192,10 @@ harvest(zstd/lib zstd/lib "*.a")
|
|||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
harvest(libglu/lib mesa/lib "*.so*")
|
harvest(libglu/lib mesa/lib "*.so*")
|
||||||
harvest(mesa/lib64 mesa/lib "*.so*")
|
harvest(mesa/lib64 mesa/lib "*.so*")
|
||||||
|
|
||||||
|
harvest(dpcpp dpcpp "*")
|
||||||
|
harvest(igc dpcpp/lib/igc "*")
|
||||||
|
harvest(ocloc dpcpp/lib/ocloc "*")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
126
build_files/build_environment/cmake/igc.cmake
Normal file
126
build_files/build_environment/cmake/igc.cmake
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
unpack_only(igc_vcintrinsics)
|
||||||
|
unpack_only(igc_spirv_headers)
|
||||||
|
unpack_only(igc_spirv_tools)
|
||||||
|
|
||||||
|
#
|
||||||
|
# igc_opencl_clang contains patches that need to be applied
|
||||||
|
# to external_igc_llvm and igc_spirv_translator, we unpack
|
||||||
|
# igc_opencl_clang first, then have the patch stages of
|
||||||
|
# external_igc_llvm and igc_spirv_translator apply them.
|
||||||
|
#
|
||||||
|
|
||||||
|
ExternalProject_Add(external_igc_opencl_clang
|
||||||
|
URL file://${PACKAGE_DIR}/${IGC_OPENCL_CLANG_FILE}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH ${IGC_OPENCL_CLANG_HASH_TYPE}=${IGC_OPENCL_CLANG_HASH}
|
||||||
|
PREFIX ${BUILD_DIR}/igc_opencl_clang
|
||||||
|
CONFIGURE_COMMAND echo .
|
||||||
|
BUILD_COMMAND echo .
|
||||||
|
INSTALL_COMMAND echo .
|
||||||
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/igc_opencl_clang/src/external_igc_opencl_clang/ < ${PATCH_DIR}/igc_opencl_clang.diff
|
||||||
|
)
|
||||||
|
|
||||||
|
set(IGC_OPENCL_CLANG_PATCH_DIR ${BUILD_DIR}/igc_opencl_clang/src/external_igc_opencl_clang/patches)
|
||||||
|
set(IGC_LLVM_SOURCE_DIR ${BUILD_DIR}/igc_llvm/src/external_igc_llvm)
|
||||||
|
set(IGC_SPIRV_TRANSLATOR_SOURCE_DIR ${BUILD_DIR}/igc_spirv_translator/src/external_igc_spirv_translator)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_igc_llvm
|
||||||
|
URL file://${PACKAGE_DIR}/${IGC_LLVM_FILE}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH ${IGC_LLVM_HASH_TYPE}=${IGC_LLVM_HASH}
|
||||||
|
PREFIX ${BUILD_DIR}/igc_llvm
|
||||||
|
CONFIGURE_COMMAND echo .
|
||||||
|
BUILD_COMMAND echo .
|
||||||
|
INSTALL_COMMAND echo .
|
||||||
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${IGC_LLVM_SOURCE_DIR} < ${IGC_OPENCL_CLANG_PATCH_DIR}/clang/0001-OpenCL-3.0-support.patch &&
|
||||||
|
${PATCH_CMD} -p 1 -d ${IGC_LLVM_SOURCE_DIR} < ${IGC_OPENCL_CLANG_PATCH_DIR}/clang/0002-Remove-__IMAGE_SUPPORT__-macro-for-SPIR.patch &&
|
||||||
|
${PATCH_CMD} -p 1 -d ${IGC_LLVM_SOURCE_DIR} < ${IGC_OPENCL_CLANG_PATCH_DIR}/clang/0003-Avoid-calling-ParseCommandLineOptions-in-BackendUtil.patch &&
|
||||||
|
${PATCH_CMD} -p 1 -d ${IGC_LLVM_SOURCE_DIR} < ${IGC_OPENCL_CLANG_PATCH_DIR}/clang/0004-OpenCL-support-cl_ext_float_atomics.patch &&
|
||||||
|
${PATCH_CMD} -p 1 -d ${IGC_LLVM_SOURCE_DIR} < ${IGC_OPENCL_CLANG_PATCH_DIR}/clang/0005-OpenCL-Add-cl_khr_integer_dot_product.patch &&
|
||||||
|
${PATCH_CMD} -p 1 -d ${IGC_LLVM_SOURCE_DIR} < ${IGC_OPENCL_CLANG_PATCH_DIR}/llvm/0001-Memory-leak-fix-for-Managed-Static-Mutex.patch &&
|
||||||
|
${PATCH_CMD} -p 1 -d ${IGC_LLVM_SOURCE_DIR} < ${IGC_OPENCL_CLANG_PATCH_DIR}/llvm/0002-Remove-repo-name-in-LLVM-IR.patch
|
||||||
|
)
|
||||||
|
add_dependencies(
|
||||||
|
external_igc_llvm
|
||||||
|
external_igc_opencl_clang
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_igc_spirv_translator
|
||||||
|
URL file://${PACKAGE_DIR}/${IGC_SPIRV_TRANSLATOR_FILE}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH ${IGC_SPIRV_TRANSLATOR_HASH_TYPE}=${IGC_SPIRV_TRANSLATOR_HASH}
|
||||||
|
PREFIX ${BUILD_DIR}/igc_spirv_translator
|
||||||
|
CONFIGURE_COMMAND echo .
|
||||||
|
BUILD_COMMAND echo .
|
||||||
|
INSTALL_COMMAND echo .
|
||||||
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${IGC_SPIRV_TRANSLATOR_SOURCE_DIR} < ${IGC_OPENCL_CLANG_PATCH_DIR}/spirv/0001-update-SPIR-V-headers-for-SPV_INTEL_split_barrier.patch &&
|
||||||
|
${PATCH_CMD} -p 1 -d ${IGC_SPIRV_TRANSLATOR_SOURCE_DIR} < ${IGC_OPENCL_CLANG_PATCH_DIR}/spirv/0002-Add-support-for-split-barriers-extension-SPV_INTEL_s.patch &&
|
||||||
|
${PATCH_CMD} -p 1 -d ${IGC_SPIRV_TRANSLATOR_SOURCE_DIR} < ${IGC_OPENCL_CLANG_PATCH_DIR}/spirv/0003-Support-cl_bf16_conversions.patch
|
||||||
|
)
|
||||||
|
add_dependencies(
|
||||||
|
external_igc_spirv_translator
|
||||||
|
external_igc_opencl_clang
|
||||||
|
)
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
set(IGC_GENERATOR "Ninja")
|
||||||
|
set(IGC_TARGET Windows64)
|
||||||
|
else()
|
||||||
|
set(IGC_GENERATOR "Unix Makefiles")
|
||||||
|
set(IGC_TARGET Linux64)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(IGC_EXTRA_ARGS
|
||||||
|
-DIGC_OPTION__ARCHITECTURE_TARGET=${IGC_TARGET}
|
||||||
|
-DIGC_OPTION__ARCHITECTURE_HOST=${IGC_TARGET}
|
||||||
|
)
|
||||||
|
|
||||||
|
if(UNIX AND NOT APPLE)
|
||||||
|
list(APPEND IGC_EXTRA_ARGS
|
||||||
|
-DFLEX_EXECUTABLE=${LIBDIR}/flex/bin/flex
|
||||||
|
-DFLEX_INCLUDE_DIR=${LIBDIR}/flex/include
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
ExternalProject_Add(external_igc
|
||||||
|
URL file://${PACKAGE_DIR}/${IGC_FILE}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH ${IGC_HASH_TYPE}=${IGC_HASH}
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/igc ${DEFAULT_CMAKE_FLAGS} ${IGC_EXTRA_ARGS}
|
||||||
|
|
||||||
|
# IGC is pretty set in its way where sub projects ought to live, for some it offers
|
||||||
|
# hooks to supply alternatives folders, other are just hardocded with no way to configure
|
||||||
|
# we symlink everything here, since it's less work than trying to convince the cmake
|
||||||
|
# scripts to accept alternative locations.
|
||||||
|
#
|
||||||
|
PATCH_COMMAND ${CMAKE_COMMAND} -E create_symlink ${BUILD_DIR}/igc_llvm/src/external_igc_llvm/ ${BUILD_DIR}/igc/src/llvm-project &&
|
||||||
|
${CMAKE_COMMAND} -E create_symlink ${BUILD_DIR}/igc_opencl_clang/src/external_igc_opencl_clang/ ${BUILD_DIR}/igc/src/llvm-project/llvm/projects/opencl-clang &&
|
||||||
|
${CMAKE_COMMAND} -E create_symlink ${BUILD_DIR}/igc_spirv_translator/src/external_igc_spirv_translator/ ${BUILD_DIR}/igc/src/llvm-project/llvm/projects/llvm-spirv &&
|
||||||
|
${CMAKE_COMMAND} -E create_symlink ${BUILD_DIR}/igc_spirv_tools/src/external_igc_spirv_tools/ ${BUILD_DIR}/igc/src/SPIRV-Tools &&
|
||||||
|
${CMAKE_COMMAND} -E create_symlink ${BUILD_DIR}/igc_spirv_headers/src/external_igc_spirv_headers/ ${BUILD_DIR}/igc/src/SPIRV-Headers &&
|
||||||
|
${CMAKE_COMMAND} -E create_symlink ${BUILD_DIR}/igc_vcintrinsics/src/external_igc_vcintrinsics/ ${BUILD_DIR}/igc/src/vc-intrinsics
|
||||||
|
PREFIX ${BUILD_DIR}/igc
|
||||||
|
INSTALL_DIR ${LIBDIR}/igc
|
||||||
|
INSTALL_COMMAND ${CMAKE_COMMAND} --install . --strip
|
||||||
|
CMAKE_GENERATOR ${IGC_GENERATOR}
|
||||||
|
)
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
external_igc
|
||||||
|
external_igc_vcintrinsics
|
||||||
|
external_igc_llvm
|
||||||
|
external_igc_opencl_clang
|
||||||
|
external_igc_vcintrinsics
|
||||||
|
external_igc_spirv_headers
|
||||||
|
external_igc_spirv_tools
|
||||||
|
external_igc_spirv_translator
|
||||||
|
)
|
||||||
|
|
||||||
|
if(UNIX AND NOT APPLE)
|
||||||
|
add_dependencies(
|
||||||
|
external_igc
|
||||||
|
external_flex
|
||||||
|
)
|
||||||
|
endif()
|
24
build_files/build_environment/cmake/imath.cmake
Normal file
24
build_files/build_environment/cmake/imath.cmake
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
set(IMATH_EXTRA_ARGS
|
||||||
|
-DBUILD_SHARED_LIBS=OFF
|
||||||
|
-DBUILD_TESTING=OFF
|
||||||
|
-DIMATH_LIB_SUFFIX=${OPENEXR_VERSION_BUILD_POSTFIX}
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_imath
|
||||||
|
URL file://${PACKAGE_DIR}/${IMATH_FILE}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH ${IMATH_HASH_TYPE}=${IMATH_HASH}
|
||||||
|
PREFIX ${BUILD_DIR}/imath
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/imath ${DEFAULT_CMAKE_FLAGS} ${IMATH_EXTRA_ARGS}
|
||||||
|
INSTALL_DIR ${LIBDIR}/imath
|
||||||
|
)
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
ExternalProject_Add_Step(external_imath after_install
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/imath/lib ${HARVEST_TARGET}/imath/lib
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/imath/include ${HARVEST_TARGET}/imath/include
|
||||||
|
DEPENDEES install
|
||||||
|
)
|
||||||
|
endif()
|
@@ -6,6 +6,7 @@ if(WIN32)
|
|||||||
-DBISON_EXECUTABLE=${LIBDIR}/flexbison/win_bison.exe
|
-DBISON_EXECUTABLE=${LIBDIR}/flexbison/win_bison.exe
|
||||||
-DM4_EXECUTABLE=${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/m4.exe
|
-DM4_EXECUTABLE=${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/m4.exe
|
||||||
-DARM_ENABLED=Off
|
-DARM_ENABLED=Off
|
||||||
|
-DPython3_FIND_REGISTRY=NEVER
|
||||||
)
|
)
|
||||||
elseif(APPLE)
|
elseif(APPLE)
|
||||||
# Use bison and flex installed via Homebrew.
|
# Use bison and flex installed via Homebrew.
|
||||||
@@ -27,7 +28,7 @@ elseif(UNIX)
|
|||||||
set(ISPC_EXTRA_ARGS_UNIX
|
set(ISPC_EXTRA_ARGS_UNIX
|
||||||
-DCMAKE_C_COMPILER=${LIBDIR}/llvm/bin/clang
|
-DCMAKE_C_COMPILER=${LIBDIR}/llvm/bin/clang
|
||||||
-DCMAKE_CXX_COMPILER=${LIBDIR}/llvm/bin/clang++
|
-DCMAKE_CXX_COMPILER=${LIBDIR}/llvm/bin/clang++
|
||||||
-DARM_ENABLED=Off
|
-DARM_ENABLED=${BLENDER_PLATFORM_ARM}
|
||||||
-DFLEX_EXECUTABLE=${LIBDIR}/flex/bin/flex
|
-DFLEX_EXECUTABLE=${LIBDIR}/flex/bin/flex
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
@@ -43,6 +44,8 @@ set(ISPC_EXTRA_ARGS
|
|||||||
-DISPC_INCLUDE_TESTS=Off
|
-DISPC_INCLUDE_TESTS=Off
|
||||||
-DCLANG_LIBRARY_DIR=${LIBDIR}/llvm/lib
|
-DCLANG_LIBRARY_DIR=${LIBDIR}/llvm/lib
|
||||||
-DCLANG_INCLUDE_DIRS=${LIBDIR}/llvm/include
|
-DCLANG_INCLUDE_DIRS=${LIBDIR}/llvm/include
|
||||||
|
-DPython3_ROOT_DIR=${LIBDIR}/python/
|
||||||
|
-DPython3_EXECUTABLE=${PYTHON_BINARY}
|
||||||
${ISPC_EXTRA_ARGS_WIN}
|
${ISPC_EXTRA_ARGS_WIN}
|
||||||
${ISPC_EXTRA_ARGS_APPLE}
|
${ISPC_EXTRA_ARGS_APPLE}
|
||||||
${ISPC_EXTRA_ARGS_UNIX}
|
${ISPC_EXTRA_ARGS_UNIX}
|
||||||
@@ -61,6 +64,7 @@ ExternalProject_Add(external_ispc
|
|||||||
add_dependencies(
|
add_dependencies(
|
||||||
external_ispc
|
external_ispc
|
||||||
ll
|
ll
|
||||||
|
external_python
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
@@ -2,44 +2,52 @@
|
|||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
# cmake for windows
|
# cmake for windows
|
||||||
set(JPEG_EXTRA_ARGS -DNASM=${NASM_PATH} -DWITH_JPEG8=ON -DCMAKE_DEBUG_POSTFIX=d -DWITH_CRT_DLL=On)
|
set(JPEG_EXTRA_ARGS
|
||||||
|
-DNASM=${NASM_PATH}
|
||||||
|
-DWITH_JPEG8=ON
|
||||||
|
-DCMAKE_DEBUG_POSTFIX=d
|
||||||
|
-DWITH_CRT_DLL=On
|
||||||
|
-DENABLE_SHARED=OFF
|
||||||
|
-DENABLE_STATIC=ON
|
||||||
|
)
|
||||||
|
|
||||||
ExternalProject_Add(external_jpeg
|
ExternalProject_Add(external_jpeg
|
||||||
URL file://${PACKAGE_DIR}/${JPEG_FILE}
|
URL file://${PACKAGE_DIR}/${JPEG_FILE}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${JPEG_HASH_TYPE}=${JPEG_HASH}
|
URL_HASH ${JPEG_HASH_TYPE}=${JPEG_HASH}
|
||||||
PREFIX ${BUILD_DIR}/jpg
|
PREFIX ${BUILD_DIR}/jpeg
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/jpg ${DEFAULT_CMAKE_FLAGS} ${JPEG_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/jpeg ${DEFAULT_CMAKE_FLAGS} ${JPEG_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/jpg
|
INSTALL_DIR ${LIBDIR}/jpeg
|
||||||
)
|
)
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_jpeg after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/jpg/lib/jpegd${LIBEXT} ${LIBDIR}/jpg/lib/jpeg${LIBEXT}
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
if(BUILD_MODE STREQUAL Release)
|
||||||
set(JPEG_LIBRARY jpeg-static${LIBEXT})
|
set(JPEG_LIBRARY jpeg-static${LIBEXT})
|
||||||
else()
|
else()
|
||||||
set(JPEG_LIBRARY jpeg-staticd${LIBEXT})
|
set(JPEG_LIBRARY jpeg-staticd${LIBEXT})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(BUILD_MODE STREQUAL Release)
|
||||||
|
ExternalProject_Add_Step(external_jpeg after_install
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/jpeg/lib/${JPEG_LIBRARY} ${LIBDIR}/jpeg/lib/jpeg${LIBEXT}
|
||||||
|
DEPENDEES install
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
else(WIN32)
|
else(WIN32)
|
||||||
# cmake for unix
|
# cmake for unix
|
||||||
set(JPEG_EXTRA_ARGS
|
set(JPEG_EXTRA_ARGS
|
||||||
-DWITH_JPEG8=ON
|
-DWITH_JPEG8=ON
|
||||||
-DENABLE_STATIC=ON
|
-DENABLE_STATIC=ON
|
||||||
-DENABLE_SHARED=OFF
|
-DENABLE_SHARED=OFF
|
||||||
-DCMAKE_INSTALL_LIBDIR=${LIBDIR}/jpg/lib)
|
-DCMAKE_INSTALL_LIBDIR=${LIBDIR}/jpeg/lib)
|
||||||
|
|
||||||
ExternalProject_Add(external_jpeg
|
ExternalProject_Add(external_jpeg
|
||||||
URL file://${PACKAGE_DIR}/${JPEG_FILE}
|
URL file://${PACKAGE_DIR}/${JPEG_FILE}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${JPEG_HASH_TYPE}=${JPEG_HASH}
|
URL_HASH ${JPEG_HASH_TYPE}=${JPEG_HASH}
|
||||||
PREFIX ${BUILD_DIR}/jpg
|
PREFIX ${BUILD_DIR}/jpeg
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/jpg ${DEFAULT_CMAKE_FLAGS} ${JPEG_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/jpeg ${DEFAULT_CMAKE_FLAGS} ${JPEG_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/jpg
|
INSTALL_DIR ${LIBDIR}/jpeg
|
||||||
)
|
)
|
||||||
|
|
||||||
set(JPEG_LIBRARY libjpeg${LIBEXT})
|
set(JPEG_LIBRARY libjpeg${LIBEXT})
|
||||||
|
21
build_files/build_environment/cmake/level-zero.cmake
Normal file
21
build_files/build_environment/cmake/level-zero.cmake
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
set(LEVEL_ZERO_EXTRA_ARGS
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_level-zero
|
||||||
|
URL file://${PACKAGE_DIR}/${LEVEL_ZERO_FILE}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH ${LEVEL_ZERO_HASH_TYPE}=${LEVEL_ZERO_HASH}
|
||||||
|
PREFIX ${BUILD_DIR}/level-zero
|
||||||
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/level-zero/src/external_level-zero < ${PATCH_DIR}/level-zero.diff
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/level-zero ${DEFAULT_CMAKE_FLAGS} ${LEVEL_ZERO_EXTRA_ARGS}
|
||||||
|
INSTALL_DIR ${LIBDIR}/level-zero
|
||||||
|
)
|
||||||
|
|
||||||
|
if(BUILD_MODE STREQUAL Release AND WIN32)
|
||||||
|
ExternalProject_Add_Step(external_level-zero after_install
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/level-zero ${HARVEST_TARGET}/level-zero
|
||||||
|
DEPENDEES install
|
||||||
|
)
|
||||||
|
endif()
|
@@ -25,11 +25,14 @@ set(LLVM_EXTRA_ARGS
|
|||||||
-DLLVM_BUILD_LLVM_C_DYLIB=OFF
|
-DLLVM_BUILD_LLVM_C_DYLIB=OFF
|
||||||
-DLLVM_ENABLE_UNWIND_TABLES=OFF
|
-DLLVM_ENABLE_UNWIND_TABLES=OFF
|
||||||
-DLLVM_ENABLE_PROJECTS=clang${LLVM_BUILD_CLANG_TOOLS_EXTRA}
|
-DLLVM_ENABLE_PROJECTS=clang${LLVM_BUILD_CLANG_TOOLS_EXTRA}
|
||||||
|
-DPython3_ROOT_DIR=${LIBDIR}/python/
|
||||||
|
-DPython3_EXECUTABLE=${PYTHON_BINARY}
|
||||||
${LLVM_XML2_ARGS}
|
${LLVM_XML2_ARGS}
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(LLVM_GENERATOR "Ninja")
|
set(LLVM_GENERATOR "Ninja")
|
||||||
|
list(APPEND LLVM_EXTRA_ARGS -DPython3_FIND_REGISTRY=NEVER)
|
||||||
else()
|
else()
|
||||||
set(LLVM_GENERATOR "Unix Makefiles")
|
set(LLVM_GENERATOR "Unix Makefiles")
|
||||||
endif()
|
endif()
|
||||||
@@ -74,3 +77,8 @@ if(APPLE)
|
|||||||
external_xml2
|
external_xml2
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
ll
|
||||||
|
external_python
|
||||||
|
)
|
||||||
|
18
build_files/build_environment/cmake/macros.cmake
Normal file
18
build_files/build_environment/cmake/macros.cmake
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
# shorthand to only unpack a certain dependency
|
||||||
|
macro(unpack_only name)
|
||||||
|
string(TOUPPER ${name} UPPER_NAME)
|
||||||
|
set(TARGET_FILE ${${UPPER_NAME}_FILE})
|
||||||
|
set(TARGET_HASH_TYPE ${${UPPER_NAME}_HASH_TYPE})
|
||||||
|
set(TARGET_HASH ${${UPPER_NAME}_HASH})
|
||||||
|
ExternalProject_Add(external_${name}
|
||||||
|
URL file://${PACKAGE_DIR}/${TARGET_FILE}
|
||||||
|
URL_HASH ${TARGET_HASH_TYPE}=${TARGET_HASH}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
PREFIX ${BUILD_DIR}/${name}
|
||||||
|
CONFIGURE_COMMAND echo .
|
||||||
|
BUILD_COMMAND echo .
|
||||||
|
INSTALL_COMMAND echo .
|
||||||
|
)
|
||||||
|
endmacro()
|
@@ -1,39 +0,0 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
set(NANOVDB_EXTRA_ARGS
|
|
||||||
# NanoVDB is header-only, so only need the install target
|
|
||||||
-DNANOVDB_BUILD_UNITTESTS=OFF
|
|
||||||
-DNANOVDB_BUILD_EXAMPLES=OFF
|
|
||||||
-DNANOVDB_BUILD_BENCHMARK=OFF
|
|
||||||
-DNANOVDB_BUILD_DOCS=OFF
|
|
||||||
-DNANOVDB_BUILD_TOOLS=OFF
|
|
||||||
-DNANOVDB_CUDA_KEEP_PTX=OFF
|
|
||||||
# Do not need to include any of the dependencies because of this
|
|
||||||
-DNANOVDB_USE_OPENVDB=OFF
|
|
||||||
-DNANOVDB_USE_OPENGL=OFF
|
|
||||||
-DNANOVDB_USE_OPENCL=OFF
|
|
||||||
-DNANOVDB_USE_CUDA=OFF
|
|
||||||
-DNANOVDB_USE_TBB=OFF
|
|
||||||
-DNANOVDB_USE_BLOSC=OFF
|
|
||||||
-DNANOVDB_USE_ZLIB=OFF
|
|
||||||
-DNANOVDB_USE_OPTIX=OFF
|
|
||||||
-DNANOVDB_ALLOW_FETCHCONTENT=OFF
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(nanovdb
|
|
||||||
URL file://${PACKAGE_DIR}/${NANOVDB_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${NANOVDB_HASH_TYPE}=${NANOVDB_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/nanovdb
|
|
||||||
SOURCE_SUBDIR nanovdb
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/nanovdb/src/nanovdb < ${PATCH_DIR}/nanovdb.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/nanovdb ${DEFAULT_CMAKE_FLAGS} ${NANOVDB_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/nanovdb
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
ExternalProject_Add_Step(nanovdb after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/nanovdb/nanovdb ${HARVEST_TARGET}/nanovdb/include/nanovdb
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
24
build_files/build_environment/cmake/ocloc.cmake
Normal file
24
build_files/build_environment/cmake/ocloc.cmake
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
set(OCLOC_EXTRA_ARGS
|
||||||
|
-DNEO_SKIP_UNIT_TESTS=1
|
||||||
|
-DNEO_BUILD_WITH_OCL=0
|
||||||
|
-DBUILD_WITH_L0=0
|
||||||
|
-DIGC_DIR=${LIBDIR}/igc
|
||||||
|
-DGMM_DIR=${LIBDIR}/gmmlib
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_ocloc
|
||||||
|
URL file://${PACKAGE_DIR}/${OCLOC_FILE}
|
||||||
|
URL_HASH ${OCLOC_HASH_TYPE}=${OCLOC_HASH}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
PREFIX ${BUILD_DIR}/ocloc
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/ocloc ${DEFAULT_CMAKE_FLAGS} ${OCLOC_EXTRA_ARGS}
|
||||||
|
INSTALL_DIR ${LIBDIR}/ocloc
|
||||||
|
)
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
external_ocloc
|
||||||
|
external_igc
|
||||||
|
external_gmmlib
|
||||||
|
)
|
@@ -11,13 +11,12 @@ set(OPENCOLORIO_EXTRA_ARGS
|
|||||||
-DOCIO_BUILD_GPU_TESTS=OFF
|
-DOCIO_BUILD_GPU_TESTS=OFF
|
||||||
-DOCIO_USE_SSE=ON
|
-DOCIO_USE_SSE=ON
|
||||||
|
|
||||||
# Manually build ext packages except for pystring, which does not have
|
-DOCIO_INSTALL_EXT_PACKAGES=NONE
|
||||||
# a CMake or autotools build system that we can easily use.
|
|
||||||
-DOCIO_INSTALL_EXT_PACKAGES=MISSING
|
|
||||||
-DHalf_ROOT=${LIBDIR}/openexr
|
|
||||||
-DHalf_STATIC_LIBRARY=ON
|
|
||||||
-Dexpat_ROOT=${LIBDIR}/expat
|
-Dexpat_ROOT=${LIBDIR}/expat
|
||||||
-Dyaml-cpp_ROOT=${LIBDIR}/yamlcpp
|
-Dyaml-cpp_ROOT=${LIBDIR}/yamlcpp
|
||||||
|
-Dpystring_ROOT=${LIBDIR}/pystring
|
||||||
|
-DImath_ROOT=${LIBDIR}/imath
|
||||||
)
|
)
|
||||||
|
|
||||||
if(BLENDER_PLATFORM_ARM)
|
if(BLENDER_PLATFORM_ARM)
|
||||||
@@ -30,7 +29,9 @@ endif()
|
|||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(OPENCOLORIO_EXTRA_ARGS
|
set(OPENCOLORIO_EXTRA_ARGS
|
||||||
${OPENCOLORIO_EXTRA_ARGS}
|
${OPENCOLORIO_EXTRA_ARGS}
|
||||||
-DOCIO_INLINES_HIDDEN=OFF
|
-Dexpat_LIBRARY=${LIBDIR}/expat/lib/libexpatMD
|
||||||
|
-Dyaml-cpp_LIBRARY=${LIBDIR}/expat/lib/libyaml-cppmd.lib
|
||||||
|
-DImath_LIBRARY=${LIBDIR}/imath/lib/imath${OPENEXR_VERSION_POSTFIX}
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
set(OPENCOLORIO_EXTRA_ARGS
|
set(OPENCOLORIO_EXTRA_ARGS
|
||||||
@@ -52,7 +53,8 @@ add_dependencies(
|
|||||||
external_opencolorio
|
external_opencolorio
|
||||||
external_yamlcpp
|
external_yamlcpp
|
||||||
external_expat
|
external_expat
|
||||||
external_openexr
|
external_imath
|
||||||
|
external_pystring
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@@ -62,7 +64,7 @@ if(WIN32)
|
|||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencolorio/lib ${HARVEST_TARGET}/opencolorio/lib
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencolorio/lib ${HARVEST_TARGET}/opencolorio/lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/yamlcpp/lib/libyaml-cppmd.lib ${HARVEST_TARGET}/opencolorio/lib/libyaml-cpp.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/yamlcpp/lib/libyaml-cppmd.lib ${HARVEST_TARGET}/opencolorio/lib/libyaml-cpp.lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/expat/lib/libexpatMD.lib ${HARVEST_TARGET}/opencolorio/lib/libexpatMD.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/expat/lib/libexpatMD.lib ${HARVEST_TARGET}/opencolorio/lib/libexpatMD.lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/opencolorio/src/external_opencolorio-build/ext/dist/lib/pystring.lib ${HARVEST_TARGET}/opencolorio/lib/pystring.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/pystring/lib/pystring.lib ${HARVEST_TARGET}/opencolorio/lib/pystring.lib
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
@@ -71,7 +73,7 @@ if(WIN32)
|
|||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencolorio/lib/Opencolorio.lib ${HARVEST_TARGET}/opencolorio/lib/OpencolorIO_d.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencolorio/lib/Opencolorio.lib ${HARVEST_TARGET}/opencolorio/lib/OpencolorIO_d.lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/yamlcpp/lib/libyaml-cppmdd.lib ${HARVEST_TARGET}/opencolorio/lib/libyaml-cpp_d.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/yamlcpp/lib/libyaml-cppmdd.lib ${HARVEST_TARGET}/opencolorio/lib/libyaml-cpp_d.lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/expat/lib/libexpatdMD.lib ${HARVEST_TARGET}/opencolorio/lib/libexpatdMD.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/expat/lib/libexpatdMD.lib ${HARVEST_TARGET}/opencolorio/lib/libexpatdMD.lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/opencolorio/src/external_opencolorio-build/ext/dist/lib/pystring.lib ${HARVEST_TARGET}/opencolorio/lib/pystring_d.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/pystring/lib/pystring.lib ${HARVEST_TARGET}/opencolorio/lib/pystring_d.lib
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
@@ -79,7 +81,7 @@ else()
|
|||||||
ExternalProject_Add_Step(external_opencolorio after_install
|
ExternalProject_Add_Step(external_opencolorio after_install
|
||||||
COMMAND cp ${LIBDIR}/yamlcpp/lib/libyaml-cpp.a ${LIBDIR}/opencolorio/lib/
|
COMMAND cp ${LIBDIR}/yamlcpp/lib/libyaml-cpp.a ${LIBDIR}/opencolorio/lib/
|
||||||
COMMAND cp ${LIBDIR}/expat/lib/libexpat.a ${LIBDIR}/opencolorio/lib/
|
COMMAND cp ${LIBDIR}/expat/lib/libexpat.a ${LIBDIR}/opencolorio/lib/
|
||||||
COMMAND cp ${BUILD_DIR}/opencolorio/src/external_opencolorio-build/ext/dist/lib/libpystring.a ${LIBDIR}/opencolorio/lib/
|
COMMAND cp ${LIBDIR}/pystring/lib/libpystring.a ${LIBDIR}/opencolorio/lib/
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -16,12 +16,10 @@ set(OPENEXR_EXTRA_ARGS
|
|||||||
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
||||||
-DBUILD_TESTING=OFF
|
-DBUILD_TESTING=OFF
|
||||||
-DOPENEXR_BUILD_BOTH_STATIC_SHARED=OFF
|
-DOPENEXR_BUILD_BOTH_STATIC_SHARED=OFF
|
||||||
-DILMBASE_BUILD_BOTH_STATIC_SHARED=OFF
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
-DBUILD_SHARED_LIBS=OFF
|
||||||
-DOPENEXR_BUILD_UTILS=OFF
|
-DOPENEXR_INSTALL_TOOLS=OFF
|
||||||
-DPYILMBASE_ENABLE=OFF
|
-DOPENEXR_INSTALL_EXAMPLES=OFF
|
||||||
-DOPENEXR_VIEWERS_ENABLE=OFF
|
-DImath_DIR=${LIBDIR}/imath/lib/cmake/Imath
|
||||||
-DILMBASE_LIB_SUFFIX=${OPENEXR_VERSION_BUILD_POSTFIX}
|
|
||||||
-DOPENEXR_LIB_SUFFIX=${OPENEXR_VERSION_BUILD_POSTFIX}
|
-DOPENEXR_LIB_SUFFIX=${OPENEXR_VERSION_BUILD_POSTFIX}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -8,6 +8,8 @@ set(OIDN_EXTRA_ARGS
|
|||||||
-DOIDN_STATIC_LIB=ON
|
-DOIDN_STATIC_LIB=ON
|
||||||
-DOIDN_STATIC_RUNTIME=OFF
|
-DOIDN_STATIC_RUNTIME=OFF
|
||||||
-DISPC_EXECUTABLE=${LIBDIR}/ispc/bin/ispc
|
-DISPC_EXECUTABLE=${LIBDIR}/ispc/bin/ispc
|
||||||
|
-DOIDN_FILTER_RTLIGHTMAP=OFF
|
||||||
|
-DPYTHON_EXECUTABLE=${PYTHON_BINARY}
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@@ -37,6 +39,7 @@ add_dependencies(
|
|||||||
external_openimagedenoise
|
external_openimagedenoise
|
||||||
external_tbb
|
external_tbb
|
||||||
external_ispc
|
external_ispc
|
||||||
|
external_python
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
@@ -23,35 +23,20 @@ else()
|
|||||||
set(OIIO_SIMD_FLAGS)
|
set(OIIO_SIMD_FLAGS)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_WEBP)
|
|
||||||
set(WEBP_ARGS
|
|
||||||
-DWEBP_INCLUDE_DIR=${LIBDIR}/webp/include
|
|
||||||
-DWEBP_LIBRARY=${LIBDIR}/webp/lib/${LIBPREFIX}webp${LIBEXT}
|
|
||||||
)
|
|
||||||
set(WEBP_DEP external_webp)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set(OPENJPEG_FLAGS
|
set(OPENJPEG_FLAGS
|
||||||
-DOpenJpeg_ROOT=${LIBDIR}/openjpeg_msvc
|
-DOpenJPEG_ROOT=${LIBDIR}/openjpeg_msvc
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
set(OPENJPEG_FLAGS
|
set(OPENJPEG_FLAGS
|
||||||
-DOpenJpeg_ROOT=${LIBDIR}/openjpeg
|
-DOpenJPEG_ROOT=${LIBDIR}/openjpeg
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(OPENIMAGEIO_EXTRA_ARGS
|
set(OPENIMAGEIO_EXTRA_ARGS
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
-DBUILD_SHARED_LIBS=OFF
|
||||||
${OPENIMAGEIO_LINKSTATIC}
|
${OPENIMAGEIO_LINKSTATIC}
|
||||||
-DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
|
${DEFAULT_BOOST_FLAGS}
|
||||||
-DBoost_USE_MULTITHREADED=ON
|
|
||||||
-DBoost_USE_STATIC_LIBS=ON
|
|
||||||
-DBoost_USE_STATIC_RUNTIME=OFF
|
|
||||||
-DBOOST_ROOT=${LIBDIR}/boost
|
|
||||||
-DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/
|
|
||||||
-DBoost_NO_SYSTEM_PATHS=ON
|
|
||||||
-DBoost_NO_BOOST_CMAKE=ON
|
|
||||||
-DUSE_LIBSQUISH=OFF
|
-DUSE_LIBSQUISH=OFF
|
||||||
-DUSE_QT5=OFF
|
-DUSE_QT5=OFF
|
||||||
-DUSE_NUKE=OFF
|
-DUSE_NUKE=OFF
|
||||||
@@ -62,7 +47,6 @@ set(OPENIMAGEIO_EXTRA_ARGS
|
|||||||
-DUSE_LIBHEIF=OFF
|
-DUSE_LIBHEIF=OFF
|
||||||
-DUSE_OPENGL=OFF
|
-DUSE_OPENGL=OFF
|
||||||
-DUSE_TBB=OFF
|
-DUSE_TBB=OFF
|
||||||
-DUSE_FIELD3D=OFF
|
|
||||||
-DUSE_QT=OFF
|
-DUSE_QT=OFF
|
||||||
-DUSE_PYTHON=OFF
|
-DUSE_PYTHON=OFF
|
||||||
-DUSE_GIF=OFF
|
-DUSE_GIF=OFF
|
||||||
@@ -73,7 +57,7 @@ set(OPENIMAGEIO_EXTRA_ARGS
|
|||||||
-DUSE_FREETYPE=OFF
|
-DUSE_FREETYPE=OFF
|
||||||
-DUSE_LIBRAW=OFF
|
-DUSE_LIBRAW=OFF
|
||||||
-DUSE_OPENCOLORIO=OFF
|
-DUSE_OPENCOLORIO=OFF
|
||||||
-DUSE_WEBP=${WITH_WEBP}
|
-DUSE_WEBP=ON
|
||||||
-DOIIO_BUILD_TOOLS=${OIIO_TOOLS}
|
-DOIIO_BUILD_TOOLS=${OIIO_TOOLS}
|
||||||
-DOIIO_BUILD_TESTS=OFF
|
-DOIIO_BUILD_TESTS=OFF
|
||||||
-DBUILD_TESTING=OFF
|
-DBUILD_TESTING=OFF
|
||||||
@@ -83,14 +67,9 @@ set(OPENIMAGEIO_EXTRA_ARGS
|
|||||||
-DPNG_PNG_INCLUDE_DIR=${LIBDIR}/png/include
|
-DPNG_PNG_INCLUDE_DIR=${LIBDIR}/png/include
|
||||||
-DTIFF_LIBRARY=${LIBDIR}/tiff/lib/${LIBPREFIX}tiff${LIBEXT}
|
-DTIFF_LIBRARY=${LIBDIR}/tiff/lib/${LIBPREFIX}tiff${LIBEXT}
|
||||||
-DTIFF_INCLUDE_DIR=${LIBDIR}/tiff/include
|
-DTIFF_INCLUDE_DIR=${LIBDIR}/tiff/include
|
||||||
-DJPEG_LIBRARY=${LIBDIR}/jpg/lib/${JPEG_LIBRARY}
|
-DJPEG_LIBRARY=${LIBDIR}/jpeg/lib/${JPEG_LIBRARY}
|
||||||
-DJPEG_INCLUDE_DIR=${LIBDIR}/jpg/include
|
-DJPEG_INCLUDE_DIR=${LIBDIR}/jpeg/include
|
||||||
${OPENJPEG_FLAGS}
|
${OPENJPEG_FLAGS}
|
||||||
-DOpenEXR_USE_STATIC_LIBS=On
|
|
||||||
-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_ILMTHREAD_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmThread${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||||
-DOPENEXR_IEX_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Iex${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
-DOPENEXR_IEX_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Iex${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||||
-DOPENEXR_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
-DOPENEXR_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||||
@@ -98,8 +77,14 @@ set(OPENIMAGEIO_EXTRA_ARGS
|
|||||||
-DUSE_EXTERNAL_PUGIXML=ON
|
-DUSE_EXTERNAL_PUGIXML=ON
|
||||||
-DPUGIXML_LIBRARY=${LIBDIR}/pugixml/lib/${LIBPREFIX}pugixml${LIBEXT}
|
-DPUGIXML_LIBRARY=${LIBDIR}/pugixml/lib/${LIBPREFIX}pugixml${LIBEXT}
|
||||||
-DPUGIXML_INCLUDE_DIR=${LIBDIR}/pugixml/include/
|
-DPUGIXML_INCLUDE_DIR=${LIBDIR}/pugixml/include/
|
||||||
${WEBP_FLAGS}
|
-DBUILD_MISSING_ROBINMAP=OFF
|
||||||
|
-DBUILD_MISSING_FMT=OFF
|
||||||
|
-DFMT_INCLUDE_DIR=${LIBDIR}/fmt/include/
|
||||||
|
-DRobinmap_ROOT=${LIBDIR}/robinmap
|
||||||
|
-DWebP_ROOT=${LIBDIR}/webp
|
||||||
${OIIO_SIMD_FLAGS}
|
${OIIO_SIMD_FLAGS}
|
||||||
|
-DOpenEXR_ROOT=${LIBDIR}/openexr
|
||||||
|
-DImath_ROOT=${LIBDIR}/imath
|
||||||
)
|
)
|
||||||
|
|
||||||
ExternalProject_Add(external_openimageio
|
ExternalProject_Add(external_openimageio
|
||||||
@@ -117,12 +102,15 @@ add_dependencies(
|
|||||||
external_png
|
external_png
|
||||||
external_zlib
|
external_zlib
|
||||||
external_openexr
|
external_openexr
|
||||||
|
external_imath
|
||||||
external_jpeg
|
external_jpeg
|
||||||
external_boost
|
external_boost
|
||||||
external_tiff
|
external_tiff
|
||||||
external_pugixml
|
external_pugixml
|
||||||
|
external_fmt
|
||||||
|
external_robinmap
|
||||||
external_openjpeg${OPENJPEG_POSTFIX}
|
external_openjpeg${OPENJPEG_POSTFIX}
|
||||||
${WEBP_DEP}
|
external_webp
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@@ -137,8 +125,8 @@ if(WIN32)
|
|||||||
endif()
|
endif()
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
if(BUILD_MODE STREQUAL Debug)
|
||||||
ExternalProject_Add_Step(external_openimageio after_install
|
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_d.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
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimageio/lib/OpenImageIO_Util_d.lib ${HARVEST_TARGET}/openimageio/lib/OpenImageIO_Util_d.lib
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -3,20 +3,24 @@
|
|||||||
# Note the encoder/decoder may use png/tiff/lcms system libraries, but the
|
# Note the encoder/decoder may use png/tiff/lcms system libraries, but the
|
||||||
# library itself does not depend on them, so should give no problems.
|
# library itself does not depend on them, so should give no problems.
|
||||||
|
|
||||||
set(OPENJPEG_EXTRA_ARGS -DBUILD_SHARED_LIBS=OFF)
|
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(OPENJPEG_EXTRA_ARGS -G "MSYS Makefiles" -DBUILD_PKGCONFIG_FILES=On)
|
set(OPENJPEG_EXTRA_ARGS -G "MSYS Makefiles" -DBUILD_PKGCONFIG_FILES=On)
|
||||||
else()
|
else()
|
||||||
set(OPENJPEG_EXTRA_ARGS ${DEFAULT_CMAKE_FLAGS})
|
set(OPENJPEG_EXTRA_ARGS ${DEFAULT_CMAKE_FLAGS})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set(OPENJPEG_EXTRA_ARGS
|
||||||
|
${OPENJPEG_EXTRA_ARGS}
|
||||||
|
-DBUILD_SHARED_LIBS=OFF
|
||||||
|
-DBUILD_CODEC=OFF
|
||||||
|
)
|
||||||
|
|
||||||
ExternalProject_Add(external_openjpeg
|
ExternalProject_Add(external_openjpeg
|
||||||
URL file://${PACKAGE_DIR}/${OPENJPEG_FILE}
|
URL file://${PACKAGE_DIR}/${OPENJPEG_FILE}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${OPENJPEG_HASH_TYPE}=${OPENJPEG_HASH}
|
URL_HASH ${OPENJPEG_HASH_TYPE}=${OPENJPEG_HASH}
|
||||||
PREFIX ${BUILD_DIR}/openjpeg
|
PREFIX ${BUILD_DIR}/openjpeg
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openjpeg/src/external_openjpeg-build && ${CMAKE_COMMAND} ${OPENJPEG_EXTRA_ARGS} -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openjpeg -DBUILD_SHARED_LIBS=Off -DBUILD_THIRDPARTY=OFF ${BUILD_DIR}/openjpeg/src/external_openjpeg
|
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openjpeg/src/external_openjpeg-build && ${CMAKE_COMMAND} ${OPENJPEG_EXTRA_ARGS} -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openjpeg ${BUILD_DIR}/openjpeg/src/external_openjpeg
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openjpeg/src/external_openjpeg-build/ && make -j${MAKE_THREADS}
|
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openjpeg/src/external_openjpeg-build/ && make -j${MAKE_THREADS}
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openjpeg/src/external_openjpeg-build/ && make install
|
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openjpeg/src/external_openjpeg-build/ && make install
|
||||||
INSTALL_DIR ${LIBDIR}/openjpeg
|
INSTALL_DIR ${LIBDIR}/openjpeg
|
||||||
|
@@ -1,19 +1,25 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
set(OPENSUBDIV_EXTRA_ARGS
|
set(OPENSUBDIV_EXTRA_ARGS
|
||||||
|
-DNO_LIB=OFF
|
||||||
-DNO_EXAMPLES=ON
|
-DNO_EXAMPLES=ON
|
||||||
|
-DNO_TUTORIALS=ON
|
||||||
-DNO_REGRESSION=ON
|
-DNO_REGRESSION=ON
|
||||||
-DNO_PYTHON=ON
|
|
||||||
-DNO_MAYA=ON
|
|
||||||
-DNO_PTEX=ON
|
-DNO_PTEX=ON
|
||||||
-DNO_DOC=ON
|
-DNO_DOC=ON
|
||||||
-DNO_CLEW=OFF
|
-DNO_OMP=ON
|
||||||
-DNO_OPENCL=OFF
|
-DNO_TBB=OFF
|
||||||
-DNO_TUTORIALS=ON
|
-DNO_CUDA=ON
|
||||||
-DGLEW_INCLUDE_DIR=${LIBDIR}/glew/include
|
-DNO_OPENCL=ON
|
||||||
-DGLEW_LIBRARY=${LIBDIR}/glew/lib/libGLEW${LIBEXT}
|
-DNO_CLEW=ON
|
||||||
-DGLFW_INCLUDE_DIR=${LIBDIR}/glfw/include
|
-DNO_OPENGL=OFF
|
||||||
-DGLFW_LIBRARIES=${LIBDIR}/glfw/lib/glfw3${LIBEXT}
|
-DNO_METAL=OFF
|
||||||
|
-DNO_DX=ON
|
||||||
|
-DNO_TESTS=ON
|
||||||
|
-DNO_GLTESTS=ON
|
||||||
|
-DNO_GLEW=ON
|
||||||
|
-DNO_GLFW=ON
|
||||||
|
-DNO_GLFW_X11=ON
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@@ -21,30 +27,12 @@ if(WIN32)
|
|||||||
${OPENSUBDIV_EXTRA_ARGS}
|
${OPENSUBDIV_EXTRA_ARGS}
|
||||||
-DTBB_INCLUDE_DIR=${LIBDIR}/tbb/include
|
-DTBB_INCLUDE_DIR=${LIBDIR}/tbb/include
|
||||||
-DTBB_LIBRARIES=${LIBDIR}/tbb/lib/tbb.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
|
|
||||||
-DCUEW_LIBRARY=${LIBDIR}/cuew/lib/cuew${LIBEXT}
|
|
||||||
)
|
|
||||||
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
|
|
||||||
set(OPENSUBDIV_EXTRA_ARGS
|
|
||||||
${OPENSUBDIV_EXTRA_ARGS}
|
|
||||||
-DNO_CUDA=OFF
|
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
set(OPENSUBDIV_EXTRA_ARGS
|
set(OPENSUBDIV_EXTRA_ARGS
|
||||||
${OPENSUBDIV_EXTRA_ARGS}
|
${OPENSUBDIV_EXTRA_ARGS}
|
||||||
-DNO_CUDA=ON
|
-DTBB_INCLUDE_DIR=${LIBDIR}/tbb/include
|
||||||
)
|
-DTBB_tbb_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbb_static${LIBEXT}
|
||||||
endif()
|
|
||||||
|
|
||||||
else()
|
|
||||||
set(OPENSUBDIV_EXTRA_ARGS
|
|
||||||
${OPENSUBDIV_EXTRA_ARGS}
|
|
||||||
-DNO_CUDA=ON
|
|
||||||
-DCUEW_INCLUDE_DIR=${LIBDIR}/cuew/include
|
|
||||||
-DCLEW_INCLUDE_DIR=${LIBDIR}/clew/include/CL
|
|
||||||
-DCLEW_LIBRARY=${LIBDIR}/clew/lib/static/${LIBPREFIX}clew${LIBEXT}
|
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -76,9 +64,5 @@ endif()
|
|||||||
|
|
||||||
add_dependencies(
|
add_dependencies(
|
||||||
external_opensubdiv
|
external_opensubdiv
|
||||||
external_glew
|
|
||||||
external_glfw
|
|
||||||
external_clew
|
|
||||||
external_cuew
|
|
||||||
external_tbb
|
external_tbb
|
||||||
)
|
)
|
||||||
|
@@ -13,6 +13,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(OPENVDB_EXTRA_ARGS
|
set(OPENVDB_EXTRA_ARGS
|
||||||
|
${DEFAULT_BOOST_FLAGS}
|
||||||
-DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
|
-DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
|
||||||
-DBoost_USE_MULTITHREADED=ON
|
-DBoost_USE_MULTITHREADED=ON
|
||||||
-DBoost_USE_STATIC_LIBS=ON
|
-DBoost_USE_STATIC_LIBS=ON
|
||||||
@@ -24,22 +25,20 @@ set(OPENVDB_EXTRA_ARGS
|
|||||||
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
||||||
-DBlosc_INCLUDE_DIR=${LIBDIR}/blosc/include/
|
-DBlosc_INCLUDE_DIR=${LIBDIR}/blosc/include/
|
||||||
-DBlosc_LIBRARY=${LIBDIR}/blosc/lib/libblosc${BLOSC_POST}${LIBEXT}
|
-DBlosc_LIBRARY=${LIBDIR}/blosc/lib/libblosc${BLOSC_POST}${LIBEXT}
|
||||||
-DOPENVDB_ENABLE_3_ABI_COMPATIBLE=OFF
|
-DBlosc_LIBRARY_RELEASE=${LIBDIR}/blosc/lib/libblosc${BLOSC_POST}${LIBEXT}
|
||||||
-DOPENVDB_BUILD_UNITTESTS=Off
|
-DBlosc_LIBRARY_DEBUG=${LIBDIR}/blosc/lib/libblosc${BLOSC_POST}${LIBEXT}
|
||||||
-DOPENVDB_BUILD_PYTHON_MODULE=Off
|
-DOPENVDB_BUILD_UNITTESTS=OFF
|
||||||
|
-DOPENVDB_BUILD_PYTHON_MODULE=OFF
|
||||||
|
-DOPENVDB_BUILD_NANOVDB=ON
|
||||||
|
-DNANOVDB_BUILD_TOOLS=OFF
|
||||||
-DBlosc_ROOT=${LIBDIR}/blosc/
|
-DBlosc_ROOT=${LIBDIR}/blosc/
|
||||||
-DTBB_ROOT=${LIBDIR}/tbb/
|
-DTBB_ROOT=${LIBDIR}/tbb/
|
||||||
-DOpenEXR_ROOT=${LIBDIR}/openexr
|
|
||||||
-DIlmBase_ROOT=${LIBDIR}/openexr
|
|
||||||
-DOPENEXR_LIBRARYDIR=${LIBDIR}/openexr/lib
|
|
||||||
# All libs live in openexr, even the ilmbase ones
|
|
||||||
-DILMBASE_LIBRARYDIR=${LIBDIR}/openexr/lib
|
|
||||||
-DOPENVDB_CORE_SHARED=${OPENVDB_SHARED}
|
-DOPENVDB_CORE_SHARED=${OPENVDB_SHARED}
|
||||||
-DOPENVDB_CORE_STATIC=${OPENVDB_STATIC}
|
-DOPENVDB_CORE_STATIC=${OPENVDB_STATIC}
|
||||||
-DOPENVDB_BUILD_BINARIES=Off
|
-DOPENVDB_BUILD_BINARIES=OFF
|
||||||
-DCMAKE_DEBUG_POSTFIX=_d
|
-DCMAKE_DEBUG_POSTFIX=_d
|
||||||
-DILMBASE_USE_STATIC_LIBS=On
|
-DBLOSC_USE_STATIC_LIBS=ON
|
||||||
-DOPENEXR_USE_STATIC_LIBS=On
|
-DUSE_NANOVDB=ON
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@@ -48,15 +47,6 @@ if(WIN32)
|
|||||||
# needs to link pthreads due to it being a blosc dependency
|
# needs to link pthreads due to it being a blosc dependency
|
||||||
set(OPENVDB_EXTRA_ARGS ${OPENVDB_EXTRA_ARGS}
|
set(OPENVDB_EXTRA_ARGS ${OPENVDB_EXTRA_ARGS}
|
||||||
-DCMAKE_CXX_STANDARD_LIBRARIES="${LIBDIR}/pthreads/lib/pthreadVC3.lib"
|
-DCMAKE_CXX_STANDARD_LIBRARIES="${LIBDIR}/pthreads/lib/pthreadVC3.lib"
|
||||||
-DUSE_EXR=On
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
# OpenVDB can't find the _static libraries automatically.
|
|
||||||
set(OPENVDB_EXTRA_ARGS ${OPENVDB_EXTRA_ARGS}
|
|
||||||
-DTbb_LIBRARIES=${LIBDIR}/tbb/lib/${LIBPREFIX}tbb_static${LIBEXT}
|
|
||||||
-DTbb_tbb_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbb_static${LIBEXT}
|
|
||||||
-DTbb_tbbmalloc_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbbmalloc_static${LIBEXT}
|
|
||||||
-DTbb_tbbmalloc_proxy_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbbmalloc_proxy_static${LIBEXT}
|
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -74,7 +64,6 @@ add_dependencies(
|
|||||||
openvdb
|
openvdb
|
||||||
external_tbb
|
external_tbb
|
||||||
external_boost
|
external_boost
|
||||||
external_openexr
|
|
||||||
external_zlib
|
external_zlib
|
||||||
external_blosc
|
external_blosc
|
||||||
)
|
)
|
||||||
@@ -82,7 +71,7 @@ add_dependencies(
|
|||||||
if(WIN32)
|
if(WIN32)
|
||||||
if(BUILD_MODE STREQUAL Release)
|
if(BUILD_MODE STREQUAL Release)
|
||||||
ExternalProject_Add_Step(openvdb after_install
|
ExternalProject_Add_Step(openvdb after_install
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openvdb/include/openvdb ${HARVEST_TARGET}/openvdb/include/openvdb
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openvdb/include ${HARVEST_TARGET}/openvdb/include
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/lib/openvdb.lib ${HARVEST_TARGET}/openvdb/lib/openvdb.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/lib/openvdb.lib ${HARVEST_TARGET}/openvdb/lib/openvdb.lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/bin/openvdb.dll ${HARVEST_TARGET}/openvdb/bin/openvdb.dll
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/bin/openvdb.dll ${HARVEST_TARGET}/openvdb/bin/openvdb.dll
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
|
@@ -3,7 +3,6 @@
|
|||||||
if(WIN32)
|
if(WIN32)
|
||||||
option(ENABLE_MINGW64 "Enable building of ffmpeg/iconv/libsndfile/fftw3 by installing mingw64" ON)
|
option(ENABLE_MINGW64 "Enable building of ffmpeg/iconv/libsndfile/fftw3 by installing mingw64" ON)
|
||||||
endif()
|
endif()
|
||||||
option(WITH_WEBP "Enable building of oiio with webp support" OFF)
|
|
||||||
option(WITH_BOOST_PYTHON "Enable building of boost with python support" OFF)
|
option(WITH_BOOST_PYTHON "Enable building of boost with python support" OFF)
|
||||||
cmake_host_system_information(RESULT NUM_CORES QUERY NUMBER_OF_LOGICAL_CORES)
|
cmake_host_system_information(RESULT NUM_CORES QUERY NUMBER_OF_LOGICAL_CORES)
|
||||||
set(MAKE_THREADS ${NUM_CORES} CACHE STRING "Number of threads to run make with")
|
set(MAKE_THREADS ${NUM_CORES} CACHE STRING "Number of threads to run make with")
|
||||||
@@ -39,32 +38,33 @@ message("BUILD_DIR = ${BUILD_DIR}")
|
|||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(PATCH_CMD ${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/patch.exe)
|
set(PATCH_CMD ${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/patch.exe)
|
||||||
set(LIBEXT ".lib")
|
set(LIBEXT ".lib")
|
||||||
|
set(SHAREDLIBEXT ".lib")
|
||||||
set(LIBPREFIX "")
|
set(LIBPREFIX "")
|
||||||
|
|
||||||
# For OIIO and OSL
|
# For OIIO and OSL
|
||||||
set(COMMON_DEFINES /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS)
|
set(COMMON_DEFINES /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS)
|
||||||
|
|
||||||
if(MSVC_VERSION GREATER 1909)
|
if(MSVC_VERSION GREATER 1909)
|
||||||
set(COMMON_MSVC_FLAGS "/Wv:18") #some deps with warnings as error aren't quite ready for dealing with the new 2017 warnings.
|
set(COMMON_MSVC_FLAGS "/Wv:18") #some deps with warnings as error aren't quite ready for dealing with the new 2017 warnings.
|
||||||
endif()
|
endif()
|
||||||
string(APPEND COMMON_MSVC_FLAGS " /bigobj")
|
string(APPEND COMMON_MSVC_FLAGS " /bigobj")
|
||||||
if(WITH_OPTIMIZED_DEBUG)
|
if(WITH_OPTIMIZED_DEBUG)
|
||||||
set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MDd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MDd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
else()
|
else()
|
||||||
set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MDd ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /D_DEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MDd ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /D_DEBUG /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
endif()
|
endif()
|
||||||
set(BLENDER_CMAKE_C_FLAGS_MINSIZEREL "/MD ${COMMON_MSVC_FLAGS} /O1 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_C_FLAGS_MINSIZEREL "/MD ${COMMON_MSVC_FLAGS} /O1 /Ob1 /D NDEBUG /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
set(BLENDER_CMAKE_C_FLAGS_RELEASE "/MD ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_C_FLAGS_RELEASE "/MD ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
set(BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO "/MD ${COMMON_MSVC_FLAGS} /Zi /O2 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO "/MD ${COMMON_MSVC_FLAGS} /Zi /O2 /Ob1 /D NDEBUG /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
|
|
||||||
if(WITH_OPTIMIZED_DEBUG)
|
if(WITH_OPTIMIZED_DEBUG)
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/MDd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/MDd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
else()
|
else()
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /D PLATFORM_WINDOWS /MTd ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /D PLATFORM_WINDOWS /MTd ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
endif()
|
endif()
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL "/MD /${COMMON_MSVC_FLAGS} /O1 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL "/MD /${COMMON_MSVC_FLAGS} /O1 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_RELEASE "/MD ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_CXX_FLAGS_RELEASE "/MD ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD ${COMMON_MSVC_FLAGS} /Zi /O2 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD ${COMMON_MSVC_FLAGS} /Zi /O2 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
|
|
||||||
set(PLATFORM_FLAGS)
|
set(PLATFORM_FLAGS)
|
||||||
set(PLATFORM_CXX_FLAGS)
|
set(PLATFORM_CXX_FLAGS)
|
||||||
@@ -97,6 +97,7 @@ if(WIN32)
|
|||||||
else()
|
else()
|
||||||
set(PATCH_CMD patch)
|
set(PATCH_CMD patch)
|
||||||
set(LIBEXT ".a")
|
set(LIBEXT ".a")
|
||||||
|
set(SHAREDLIBEXT ".so")
|
||||||
set(LIBPREFIX "lib")
|
set(LIBPREFIX "lib")
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
|
@@ -3,33 +3,15 @@
|
|||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(OSL_CMAKE_CXX_STANDARD_LIBRARIES "kernel32${LIBEXT} user32${LIBEXT} gdi32${LIBEXT} winspool${LIBEXT} shell32${LIBEXT} ole32${LIBEXT} oleaut32${LIBEXT} uuid${LIBEXT} comdlg32${LIBEXT} advapi32${LIBEXT} psapi${LIBEXT}")
|
set(OSL_CMAKE_CXX_STANDARD_LIBRARIES "kernel32${LIBEXT} user32${LIBEXT} gdi32${LIBEXT} winspool${LIBEXT} shell32${LIBEXT} ole32${LIBEXT} oleaut32${LIBEXT} uuid${LIBEXT} comdlg32${LIBEXT} advapi32${LIBEXT} psapi${LIBEXT}")
|
||||||
set(OSL_FLEX_BISON -DFLEX_EXECUTABLE=${LIBDIR}/flexbison/win_flex.exe -DBISON_EXECUTABLE=${LIBDIR}/flexbison/win_bison.exe)
|
set(OSL_FLEX_BISON -DFLEX_EXECUTABLE=${LIBDIR}/flexbison/win_flex.exe -DBISON_EXECUTABLE=${LIBDIR}/flexbison/win_bison.exe)
|
||||||
set(OSL_SIMD_FLAGS -DOIIO_NOSIMD=1 -DOIIO_SIMD=sse2)
|
|
||||||
else()
|
else()
|
||||||
set(OSL_CMAKE_CXX_STANDARD_LIBRARIES)
|
set(OSL_CMAKE_CXX_STANDARD_LIBRARIES)
|
||||||
set(OSL_FLEX_BISON)
|
set(OSL_FLEX_BISON)
|
||||||
set(OSL_OPENIMAGEIO_LIBRARY "${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO${LIBEXT};${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO_Util${LIBEXT};${LIBDIR}/png/lib/${LIBPREFIX}png16${LIBEXT};${LIBDIR}/jpg/lib/${LIBPREFIX}jpeg${LIBEXT};${LIBDIR}/tiff/lib/${LIBPREFIX}tiff${LIBEXT};${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}")
|
set(OSL_OPENIMAGEIO_LIBRARY "${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO${LIBEXT};${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO_Util${LIBEXT};${LIBDIR}/png/lib/${LIBPREFIX}png16${LIBEXT};${LIBDIR}/jpeg/lib/${LIBPREFIX}jpeg${LIBEXT};${LIBDIR}/tiff/lib/${LIBPREFIX}tiff${LIBEXT};${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(OSL_ILMBASE_CUSTOM_LIBRARIES "${LIBDIR}/openexr/lib/Imath${OPENEXR_VERSION_POSTFIX}.lib^^${LIBDIR}/openexr/lib/Half{OPENEXR_VERSION_POSTFIX}.lib^^${LIBDIR}/openexr/lib/IlmThread${OPENEXR_VERSION_POSTFIX}.lib^^${LIBDIR}/openexr/lib/Iex${OPENEXR_VERSION_POSTFIX}.lib")
|
|
||||||
|
|
||||||
set(OSL_EXTRA_ARGS
|
set(OSL_EXTRA_ARGS
|
||||||
-DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
|
${DEFAULT_BOOST_FLAGS}
|
||||||
-DBoost_USE_MULTITHREADED=ON
|
|
||||||
-DBoost_USE_STATIC_LIBS=ON
|
|
||||||
-DBoost_USE_STATIC_RUNTIME=OFF
|
|
||||||
-DBOOST_ROOT=${LIBDIR}/boost
|
|
||||||
-DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/
|
|
||||||
-DBoost_NO_SYSTEM_PATHS=ON
|
|
||||||
-DBoost_NO_BOOST_CMAKE=ON
|
|
||||||
-DOpenEXR_ROOT=${LIBDIR}/openexr/
|
-DOpenEXR_ROOT=${LIBDIR}/openexr/
|
||||||
-DIlmBase_ROOT=${LIBDIR}/openexr/
|
|
||||||
-DILMBASE_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}
|
|
||||||
-DOpenImageIO_ROOT=${LIBDIR}/openimageio/
|
-DOpenImageIO_ROOT=${LIBDIR}/openimageio/
|
||||||
-DOSL_BUILD_TESTS=OFF
|
-DOSL_BUILD_TESTS=OFF
|
||||||
-DOSL_BUILD_MATERIALX=OFF
|
-DOSL_BUILD_MATERIALX=OFF
|
||||||
@@ -49,10 +31,10 @@ set(OSL_EXTRA_ARGS
|
|||||||
-DUSE_QT=OFF
|
-DUSE_QT=OFF
|
||||||
-DUSE_Qt5=OFF
|
-DUSE_Qt5=OFF
|
||||||
-DINSTALL_DOCS=OFF
|
-DINSTALL_DOCS=OFF
|
||||||
${OSL_SIMD_FLAGS}
|
|
||||||
-Dpugixml_ROOT=${LIBDIR}/pugixml
|
-Dpugixml_ROOT=${LIBDIR}/pugixml
|
||||||
-DUSE_PYTHON=OFF
|
-DUSE_PYTHON=OFF
|
||||||
-DCMAKE_CXX_STANDARD=14
|
-DCMAKE_CXX_STANDARD=14
|
||||||
|
-DImath_ROOT=${LIBDIR}/imath
|
||||||
)
|
)
|
||||||
|
|
||||||
ExternalProject_Add(external_osl
|
ExternalProject_Add(external_osl
|
||||||
|
22
build_files/build_environment/cmake/pystring.cmake
Normal file
22
build_files/build_environment/cmake/pystring.cmake
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
set(PYSTRING_EXTRA_ARGS
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_pystring
|
||||||
|
URL file://${PACKAGE_DIR}/${PYSTRING_FILE}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH ${PYSTRING_HASH_TYPE}=${PYSTRING_HASH}
|
||||||
|
PREFIX ${BUILD_DIR}/pystring
|
||||||
|
PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_pystring.txt ${BUILD_DIR}/pystring/src/external_pystring/CMakeLists.txt
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/pystring ${DEFAULT_CMAKE_FLAGS} ${PYSTRING_EXTRA_ARGS}
|
||||||
|
INSTALL_DIR ${LIBDIR}/pystring
|
||||||
|
)
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
ExternalProject_Add_Step(external_pystring after_install
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/pystring/lib ${HARVEST_TARGET}/pystring/lib
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/pystring/include ${HARVEST_TARGET}/pystring/include
|
||||||
|
DEPENDEES install
|
||||||
|
)
|
||||||
|
endif()
|
@@ -15,7 +15,7 @@ ExternalProject_Add(external_python_site_packages
|
|||||||
CONFIGURE_COMMAND ${PIP_CONFIGURE_COMMAND}
|
CONFIGURE_COMMAND ${PIP_CONFIGURE_COMMAND}
|
||||||
BUILD_COMMAND ""
|
BUILD_COMMAND ""
|
||||||
PREFIX ${BUILD_DIR}/site_packages
|
PREFIX ${BUILD_DIR}/site_packages
|
||||||
INSTALL_COMMAND ${PYTHON_BINARY} -m pip install --no-cache-dir ${SITE_PACKAGES_EXTRA} cython==${CYTHON_VERSION} idna==${IDNA_VERSION} charset-normalizer==${CHARSET_NORMALIZER_VERSION} urllib3==${URLLIB3_VERSION} certifi==${CERTIFI_VERSION} requests==${REQUESTS_VERSION} zstandard==${ZSTANDARD_VERSION} --no-binary :all:
|
INSTALL_COMMAND ${PYTHON_BINARY} -m pip install --no-cache-dir ${SITE_PACKAGES_EXTRA} cython==${CYTHON_VERSION} idna==${IDNA_VERSION} charset-normalizer==${CHARSET_NORMALIZER_VERSION} urllib3==${URLLIB3_VERSION} certifi==${CERTIFI_VERSION} requests==${REQUESTS_VERSION} zstandard==${ZSTANDARD_VERSION} autopep8==${AUTOPEP8_VERSION} pycodestyle==${PYCODESTYLE_VERSION} toml==${TOML_VERSION} --no-binary :all:
|
||||||
)
|
)
|
||||||
|
|
||||||
if(USE_PIP_NUMPY)
|
if(USE_PIP_NUMPY)
|
||||||
|
13
build_files/build_environment/cmake/robinmap.cmake
Normal file
13
build_files/build_environment/cmake/robinmap.cmake
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
set(ROBINMAP_EXTRA_ARGS
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_robinmap
|
||||||
|
URL file://${PACKAGE_DIR}/${ROBINMAP_FILE}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH ${ROBINMAP_HASH_TYPE}=${ROBINMAP_HASH}
|
||||||
|
PREFIX ${BUILD_DIR}/robinmap
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/robinmap ${DEFAULT_CMAKE_FLAGS} ${ROBINMAP_EXTRA_ARGS}
|
||||||
|
INSTALL_DIR ${LIBDIR}/robinmap
|
||||||
|
)
|
@@ -1,11 +1,5 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
if(WITH_WEBP)
|
|
||||||
set(WITH_TIFF_WEBP ON)
|
|
||||||
else()
|
|
||||||
set(WITH_TIFF_WEBP OFF)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(TIFF_EXTRA_ARGS
|
set(TIFF_EXTRA_ARGS
|
||||||
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
||||||
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include
|
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include
|
||||||
@@ -14,7 +8,7 @@ set(TIFF_EXTRA_ARGS
|
|||||||
-Dlzma=OFF
|
-Dlzma=OFF
|
||||||
-Djbig=OFF
|
-Djbig=OFF
|
||||||
-Dzstd=OFF
|
-Dzstd=OFF
|
||||||
-Dwebp=${WITH_TIFF_WEBP}
|
-Dwebp=OFF
|
||||||
)
|
)
|
||||||
|
|
||||||
ExternalProject_Add(external_tiff
|
ExternalProject_Add(external_tiff
|
||||||
|
@@ -1,39 +1,72 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
# OIIO and OSL are statically linked for us, but USD doesn't know
|
||||||
|
set(USD_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DOIIO_STATIC_DEFINE /DOSL_STATIC_DEFINE")
|
||||||
|
if(BUILD_MODE STREQUAL Debug)
|
||||||
|
# USD does not look for debug libs, nor does it link them
|
||||||
|
# when building static, so this is just to keep find_package happy
|
||||||
|
# if we ever link dynamically on windows util will need to be linked as well.
|
||||||
|
set(USD_OIIO_CMAKE_DEFINES "-DOIIO_LIBRARIES=${LIBDIR}/openimageio/lib/OpenImageIO_d${LIBEXT}")
|
||||||
|
endif()
|
||||||
|
set(USD_PLATFORM_FLAGS
|
||||||
|
${USD_OIIO_CMAKE_DEFINES}
|
||||||
|
-DCMAKE_CXX_FLAGS=${USD_CXX_FLAGS}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(USD_EXTRA_ARGS
|
set(USD_EXTRA_ARGS
|
||||||
-DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
|
${DEFAULT_BOOST_FLAGS}
|
||||||
-DBoost_USE_MULTITHREADED=ON
|
${USD_PLATFORM_FLAGS}
|
||||||
-DBoost_USE_STATIC_LIBS=ON
|
# This is a preventative measure that avoids possible conflicts when add-ons
|
||||||
-DBoost_USE_STATIC_RUNTIME=OFF
|
# try to load another USD library into the same process space.
|
||||||
-DBOOST_ROOT=${LIBDIR}/boost
|
-DPXR_SET_INTERNAL_NAMESPACE=usdBlender
|
||||||
-DBoost_NO_SYSTEM_PATHS=ON
|
-DOPENSUBDIV_ROOT_DIR=${LIBDIR}/opensubdiv
|
||||||
-DBoost_NO_BOOST_CMAKE=ON
|
-DOpenImageIO_ROOT=${LIBDIR}/openimageio
|
||||||
|
-DOPENEXR_LIBRARIES=${LIBDIR}/imath/lib/imath${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||||
|
-DOPENEXR_INCLUDE_DIR=${LIBDIR}/imath/include
|
||||||
|
-DPXR_ENABLE_PYTHON_SUPPORT=OFF
|
||||||
|
-DPXR_BUILD_IMAGING=ON
|
||||||
|
-DPXR_BUILD_TESTS=OFF
|
||||||
|
-DPXR_BUILD_EXAMPLES=OFF
|
||||||
|
-DPXR_BUILD_TUTORIALS=OFF
|
||||||
|
-DPXR_ENABLE_HDF5_SUPPORT=OFF
|
||||||
|
-DPXR_ENABLE_MATERIALX_SUPPORT=OFF
|
||||||
|
-DPXR_ENABLE_OPENVDB_SUPPORT=OFF
|
||||||
|
-DPYTHON_EXECUTABLE=${PYTHON_BINARY}
|
||||||
|
-DPXR_BUILD_MONOLITHIC=ON
|
||||||
|
# OSL is an optional dependency of the Imaging module. However, since that
|
||||||
|
# module was included for its support for converting primitive shapes (sphere,
|
||||||
|
# cube, etc.) to geometry, it's not necessary. Disabling it will make it
|
||||||
|
# simpler to build Blender; currently only Cycles uses OSL.
|
||||||
|
-DPXR_ENABLE_OSL_SUPPORT=OFF
|
||||||
|
# GL support on Linux also links to X11 libraries. Enabling it would break
|
||||||
|
# headless or Wayland-only builds. OpenGL support would be useful if someone
|
||||||
|
# wants to work on a Hydra viewport in Blender; when that's actually being
|
||||||
|
# worked on, we could patch in a new PXR_ENABLE_X11_SUPPORT option (to
|
||||||
|
# separate OpenGL from X11) and contribute it upstream.
|
||||||
|
-DPXR_ENABLE_GL_SUPPORT=OFF
|
||||||
|
# Disable Metal since USD fails to build this when OpenGL is disabled.
|
||||||
|
-DPXR_ENABLE_METAL_SUPPORT=OFF
|
||||||
|
# OIIO is used for loading image textures in Hydra Storm / Embree renderers,
|
||||||
|
# which we don't use.
|
||||||
|
-DPXR_BUILD_OPENIMAGEIO_PLUGIN=OFF
|
||||||
|
# USD 22.03 does not support OCIO 2.x
|
||||||
|
# Tracking ticket https://github.com/PixarAnimationStudios/USD/issues/1386
|
||||||
|
-DPXR_BUILD_OPENCOLORIO_PLUGIN=OFF
|
||||||
|
-DPXR_ENABLE_PTEX_SUPPORT=OFF
|
||||||
|
-DPXR_BUILD_USD_TOOLS=OFF
|
||||||
|
-DCMAKE_DEBUG_POSTFIX=_d
|
||||||
|
-DBUILD_SHARED_LIBS=Off
|
||||||
|
# USD is hellbound on making a shared lib, unless you point this variable to a valid cmake file
|
||||||
|
# doesn't have to make sense, but as long as it points somewhere valid it will skip the shared lib.
|
||||||
|
-DPXR_MONOLITHIC_IMPORT=${BUILD_DIR}/usd/src/external_usd/cmake/defaults/Version.cmake
|
||||||
-DTBB_INCLUDE_DIRS=${LIBDIR}/tbb/include
|
-DTBB_INCLUDE_DIRS=${LIBDIR}/tbb/include
|
||||||
-DTBB_LIBRARIES=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
|
-DTBB_LIBRARIES=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
|
||||||
-DTbb_TBB_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
|
-DTbb_TBB_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
|
||||||
# USD wants the tbb debug lib set even when you are doing a release build
|
# USD wants the tbb debug lib set even when you are doing a release build
|
||||||
# Otherwise it will error out during the cmake configure phase.
|
# Otherwise it will error out during the cmake configure phase.
|
||||||
-DTBB_LIBRARIES_DEBUG=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
|
-DTBB_LIBRARIES_DEBUG=${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.
|
|
||||||
-DPXR_SET_INTERNAL_NAMESPACE=usdBlender
|
|
||||||
|
|
||||||
-DPXR_ENABLE_PYTHON_SUPPORT=OFF
|
|
||||||
-DPXR_BUILD_IMAGING=OFF
|
|
||||||
-DPXR_BUILD_TESTS=OFF
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
-DPYTHON_EXECUTABLE=${PYTHON_BINARY}
|
|
||||||
-DPXR_BUILD_MONOLITHIC=ON
|
|
||||||
|
|
||||||
# The PXR_BUILD_USD_TOOLS argument is patched-in by usd.diff. An upstream pull request
|
|
||||||
# can be found at https://github.com/PixarAnimationStudios/USD/pull/1048.
|
|
||||||
-DPXR_BUILD_USD_TOOLS=OFF
|
|
||||||
|
|
||||||
-DCMAKE_DEBUG_POSTFIX=_d
|
|
||||||
# USD is hellbound on making a shared lib, unless you point this variable to a valid cmake file
|
|
||||||
# doesn't have to make sense, but as long as it points somewhere valid it will skip the shared lib.
|
|
||||||
-DPXR_MONOLITHIC_IMPORT=${BUILD_DIR}/usd/src/external_usd/cmake/defaults/Version.cmake
|
|
||||||
)
|
)
|
||||||
|
|
||||||
ExternalProject_Add(external_usd
|
ExternalProject_Add(external_usd
|
||||||
@@ -50,37 +83,31 @@ add_dependencies(
|
|||||||
external_usd
|
external_usd
|
||||||
external_tbb
|
external_tbb
|
||||||
external_boost
|
external_boost
|
||||||
|
external_opensubdiv
|
||||||
)
|
)
|
||||||
|
|
||||||
# Since USD 21.11 the libraries are prefixed with "usd_", i.e. "libusd_m.a" became "libusd_usd_m.a".
|
# Since USD 21.11 the libraries are prefixed with "usd_", i.e. "libusd_m.a" became "libusd_usd_m.a".
|
||||||
# See https://github.com/PixarAnimationStudios/USD/blob/release/CHANGELOG.md#2111---2021-11-01
|
# See https://github.com/PixarAnimationStudios/USD/blob/release/CHANGELOG.md#2111---2021-11-01
|
||||||
|
if(NOT WIN32)
|
||||||
if (USD_VERSION VERSION_LESS 21.11)
|
if (USD_VERSION VERSION_LESS 21.11)
|
||||||
set(PXR_LIB_PREFIX "")
|
set(PXR_LIB_PREFIX "")
|
||||||
else()
|
else()
|
||||||
set(PXR_LIB_PREFIX "usd_")
|
set(PXR_LIB_PREFIX "usd_")
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
# USD currently demands python be available at build time
|
|
||||||
# and then proceeds not to use it, but still checks that the
|
|
||||||
# version of the interpreter it is not going to use is atleast 2.7
|
|
||||||
# so we need this dep currently since there is no system python
|
|
||||||
# on windows.
|
|
||||||
add_dependencies(
|
|
||||||
external_usd
|
|
||||||
external_python
|
|
||||||
)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
if(BUILD_MODE STREQUAL Release)
|
||||||
ExternalProject_Add_Step(external_usd after_install
|
ExternalProject_Add_Step(external_usd after_install
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/usd/ ${HARVEST_TARGET}/usd
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/usd/ ${HARVEST_TARGET}/usd
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/usd/src/external_usd-build/pxr/Release/${PXR_LIB_PREFIX}usd_m.lib ${HARVEST_TARGET}/usd/lib/lib${PXR_LIB_PREFIX}usd_m.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/usd/src/external_usd-build/pxr/Release/usd_usd_m.lib ${HARVEST_TARGET}/usd/lib/usd_usd_m.lib
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
if(BUILD_MODE STREQUAL Debug)
|
||||||
ExternalProject_Add_Step(external_usd after_install
|
ExternalProject_Add_Step(external_usd after_install
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/usd/lib ${HARVEST_TARGET}/usd/lib
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/usd/lib ${HARVEST_TARGET}/usd/lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/usd/src/external_usd-build/pxr/Debug/${PXR_LIB_PREFIX}usd_m_d.lib ${HARVEST_TARGET}/usd/lib/lib${PXR_LIB_PREFIX}usd_m_d.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/usd/src/external_usd-build/pxr/Debug/usd_usd_m_d.lib ${HARVEST_TARGET}/usd/lib/usd_usd_m_d.lib
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -1,14 +1,14 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
set(ZLIB_VERSION 1.2.11)
|
set(ZLIB_VERSION 1.2.12)
|
||||||
set(ZLIB_URI https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz)
|
set(ZLIB_URI https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz)
|
||||||
set(ZLIB_HASH 1c9f62f0778697a09d36121ead88e08e)
|
set(ZLIB_HASH 5fc414a9726be31427b440b434d05f78)
|
||||||
set(ZLIB_HASH_TYPE MD5)
|
set(ZLIB_HASH_TYPE MD5)
|
||||||
set(ZLIB_FILE zlib-${ZLIB_VERSION}.tar.gz)
|
set(ZLIB_FILE zlib-${ZLIB_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(OPENAL_VERSION 1.20.1)
|
set(OPENAL_VERSION 1.21.1)
|
||||||
set(OPENAL_URI http://openal-soft.org/openal-releases/openal-soft-${OPENAL_VERSION}.tar.bz2)
|
set(OPENAL_URI http://openal-soft.org/openal-releases/openal-soft-${OPENAL_VERSION}.tar.bz2)
|
||||||
set(OPENAL_HASH 556695068ce8375b89986083d810fd35)
|
set(OPENAL_HASH a936806ebd8de417b0ffd8cf3f48f456)
|
||||||
set(OPENAL_HASH_TYPE MD5)
|
set(OPENAL_HASH_TYPE MD5)
|
||||||
set(OPENAL_FILE openal-soft-${OPENAL_VERSION}.tar.bz2)
|
set(OPENAL_FILE openal-soft-${OPENAL_VERSION}.tar.bz2)
|
||||||
|
|
||||||
@@ -18,24 +18,24 @@ set(PNG_HASH 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca)
|
|||||||
set(PNG_HASH_TYPE SHA256)
|
set(PNG_HASH_TYPE SHA256)
|
||||||
set(PNG_FILE libpng-${PNG_VERSION}.tar.xz)
|
set(PNG_FILE libpng-${PNG_VERSION}.tar.xz)
|
||||||
|
|
||||||
set(JPEG_VERSION 2.0.4)
|
set(JPEG_VERSION 2.1.3)
|
||||||
set(JPEG_URI https://github.com/libjpeg-turbo/libjpeg-turbo/archive/${JPEG_VERSION}.tar.gz)
|
set(JPEG_URI https://github.com/libjpeg-turbo/libjpeg-turbo/archive/${JPEG_VERSION}.tar.gz)
|
||||||
set(JPEG_HASH 44c43e4a9fb352f47090804529317c88)
|
set(JPEG_HASH 627b980fad0573e08e4c3b80b290fc91)
|
||||||
set(JPEG_HASH_TYPE MD5)
|
set(JPEG_HASH_TYPE MD5)
|
||||||
set(JPEG_FILE libjpeg-turbo-${JPEG_VERSION}.tar.gz)
|
set(JPEG_FILE libjpeg-turbo-${JPEG_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(BOOST_VERSION 1.73.0)
|
set(BOOST_VERSION 1.78.0)
|
||||||
set(BOOST_VERSION_NODOTS 1_73_0)
|
set(BOOST_VERSION_SHORT 1.78)
|
||||||
set(BOOST_VERSION_NODOTS_SHORT 1_73)
|
set(BOOST_VERSION_NODOTS 1_78_0)
|
||||||
|
set(BOOST_VERSION_NODOTS_SHORT 1_78)
|
||||||
set(BOOST_URI https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION}/source/boost_${BOOST_VERSION_NODOTS}.tar.gz)
|
set(BOOST_URI https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION}/source/boost_${BOOST_VERSION_NODOTS}.tar.gz)
|
||||||
set(BOOST_HASH 4036cd27ef7548b8d29c30ea10956196)
|
set(BOOST_HASH c2f6428ac52b0e5a3c9b2e1d8cc832b5)
|
||||||
set(BOOST_HASH_TYPE MD5)
|
set(BOOST_HASH_TYPE MD5)
|
||||||
set(BOOST_FILE boost_${BOOST_VERSION_NODOTS}.tar.gz)
|
set(BOOST_FILE boost_${BOOST_VERSION_NODOTS}.tar.gz)
|
||||||
|
|
||||||
# Using old version as recommended by OpenVDB build documentation.
|
set(BLOSC_VERSION 1.21.1)
|
||||||
set(BLOSC_VERSION 1.5.0)
|
|
||||||
set(BLOSC_URI https://github.com/Blosc/c-blosc/archive/v${BLOSC_VERSION}.tar.gz)
|
set(BLOSC_URI https://github.com/Blosc/c-blosc/archive/v${BLOSC_VERSION}.tar.gz)
|
||||||
set(BLOSC_HASH 6e4a49c8c06f05aa543f3312cfce3d55)
|
set(BLOSC_HASH 134b55813b1dca57019d2a2dc1f7a923)
|
||||||
set(BLOSC_HASH_TYPE MD5)
|
set(BLOSC_HASH_TYPE MD5)
|
||||||
set(BLOSC_FILE blosc-${BLOSC_VERSION}.tar.gz)
|
set(BLOSC_FILE blosc-${BLOSC_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -45,12 +45,19 @@ set(PTHREADS_HASH f3bf81bb395840b3446197bcf4ecd653)
|
|||||||
set(PTHREADS_HASH_TYPE MD5)
|
set(PTHREADS_HASH_TYPE MD5)
|
||||||
set(PTHREADS_FILE pthreads4w-code-${PTHREADS_VERSION}.zip)
|
set(PTHREADS_FILE pthreads4w-code-${PTHREADS_VERSION}.zip)
|
||||||
|
|
||||||
set(OPENEXR_VERSION 2.5.5)
|
set(OPENEXR_VERSION 3.1.4)
|
||||||
set(OPENEXR_URI https://github.com/AcademySoftwareFoundation/openexr/archive/v${OPENEXR_VERSION}.tar.gz)
|
set(OPENEXR_URI https://github.com/AcademySoftwareFoundation/openexr/archive/v${OPENEXR_VERSION}.tar.gz)
|
||||||
set(OPENEXR_HASH 85e8a979092c9055d10ed103062d31a0)
|
set(OPENEXR_HASH e990be1ff765797bc2d93a8060e1c1f2)
|
||||||
set(OPENEXR_HASH_TYPE MD5)
|
set(OPENEXR_HASH_TYPE MD5)
|
||||||
set(OPENEXR_FILE openexr-${OPENEXR_VERSION}.tar.gz)
|
set(OPENEXR_FILE openexr-${OPENEXR_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(IMATH_VERSION 3.1.4)
|
||||||
|
set(IMATH_URI https://github.com/AcademySoftwareFoundation/Imath/archive/v${OPENEXR_VERSION}.tar.gz)
|
||||||
|
set(IMATH_HASH fddf14ec73e12c34e74c3c175e311a3f)
|
||||||
|
set(IMATH_HASH_TYPE MD5)
|
||||||
|
set(IMATH_FILE imath-${IMATH_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
# Openexr started appending _d on its own so now
|
# Openexr started appending _d on its own so now
|
||||||
# we need to tell the build the postfix is _s while
|
# we need to tell the build the postfix is _s while
|
||||||
@@ -85,42 +92,21 @@ set(FREEGLUT_HASH 90c3ca4dd9d51cf32276bc5344ec9754)
|
|||||||
set(FREEGLUT_HASH_TYPE MD5)
|
set(FREEGLUT_HASH_TYPE MD5)
|
||||||
set(FREEGLUT_FILE freeglut-${FREEGLUT_VERSION}.tar.gz)
|
set(FREEGLUT_FILE freeglut-${FREEGLUT_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(ALEMBIC_VERSION 1.7.16)
|
set(ALEMBIC_VERSION 1.8.3)
|
||||||
set(ALEMBIC_URI https://github.com/alembic/alembic/archive/${ALEMBIC_VERSION}.tar.gz)
|
set(ALEMBIC_URI https://github.com/alembic/alembic/archive/${ALEMBIC_VERSION}.tar.gz)
|
||||||
set(ALEMBIC_HASH effcc86e42fe6605588e3de57bde6677)
|
set(ALEMBIC_HASH 2cd8d6e5a3ac4a014e24a4b04f4fadf9)
|
||||||
set(ALEMBIC_HASH_TYPE MD5)
|
set(ALEMBIC_HASH_TYPE MD5)
|
||||||
set(ALEMBIC_FILE alembic-${ALEMBIC_VERSION}.tar.gz)
|
set(ALEMBIC_FILE alembic-${ALEMBIC_VERSION}.tar.gz)
|
||||||
|
|
||||||
# hash is for 3.1.2
|
set(OPENSUBDIV_VERSION v3_4_4)
|
||||||
set(GLFW_GIT_UID 30306e54705c3adae9fe082c816a3be71963485c)
|
|
||||||
set(GLFW_URI https://github.com/glfw/glfw/archive/${GLFW_GIT_UID}.zip)
|
|
||||||
set(GLFW_HASH 20cacb1613da7eeb092f3ac4f6b2b3d0)
|
|
||||||
set(GLFW_HASH_TYPE MD5)
|
|
||||||
set(GLFW_FILE glfw-${GLFW_GIT_UID}.zip)
|
|
||||||
|
|
||||||
# latest uid in git as of 2016-04-01
|
|
||||||
set(CLEW_GIT_UID 277db43f6cafe8b27c6f1055f69dc67da4aeb299)
|
|
||||||
set(CLEW_URI https://github.com/OpenCLWrangler/clew/archive/${CLEW_GIT_UID}.zip)
|
|
||||||
set(CLEW_HASH 2c699d10ed78362e71f56fae2a4c5f98)
|
|
||||||
set(CLEW_HASH_TYPE MD5)
|
|
||||||
set(CLEW_FILE clew-${CLEW_GIT_UID}.zip)
|
|
||||||
|
|
||||||
# latest uid in git as of 2016-04-01
|
|
||||||
set(CUEW_GIT_UID 1744972026de9cf27c8a7dc39cf39cd83d5f922f)
|
|
||||||
set(CUEW_URI https://github.com/CudaWrangler/cuew/archive/${CUEW_GIT_UID}.zip)
|
|
||||||
set(CUEW_HASH 86760d62978ebfd96cd93f5aa1abaf4a)
|
|
||||||
set(CUEW_HASH_TYPE MD5)
|
|
||||||
set(CUEW_FILE cuew-${CUEW_GIT_UID}.zip)
|
|
||||||
|
|
||||||
set(OPENSUBDIV_VERSION v3_4_3)
|
|
||||||
set(OPENSUBDIV_URI https://github.com/PixarAnimationStudios/OpenSubdiv/archive/${OPENSUBDIV_VERSION}.tar.gz)
|
set(OPENSUBDIV_URI https://github.com/PixarAnimationStudios/OpenSubdiv/archive/${OPENSUBDIV_VERSION}.tar.gz)
|
||||||
set(OPENSUBDIV_HASH 7bbfa275d021fb829e521df749160edb)
|
set(OPENSUBDIV_HASH 39ecc5caf0abebc943d1ce131855e76e)
|
||||||
set(OPENSUBDIV_HASH_TYPE MD5)
|
set(OPENSUBDIV_HASH_TYPE MD5)
|
||||||
set(OPENSUBDIV_FILE opensubdiv-${OPENSUBDIV_VERSION}.tar.gz)
|
set(OPENSUBDIV_FILE opensubdiv-${OPENSUBDIV_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(SDL_VERSION 2.0.12)
|
set(SDL_VERSION 2.0.20)
|
||||||
set(SDL_URI https://www.libsdl.org/release/SDL2-${SDL_VERSION}.tar.gz)
|
set(SDL_URI https://www.libsdl.org/release/SDL2-${SDL_VERSION}.tar.gz)
|
||||||
set(SDL_HASH 783b6f2df8ff02b19bb5ce492b99c8ff)
|
set(SDL_HASH a53acc02e1cca98c4123229069b67c9e)
|
||||||
set(SDL_HASH_TYPE MD5)
|
set(SDL_HASH_TYPE MD5)
|
||||||
set(SDL_FILE SDL2-${SDL_VERSION}.tar.gz)
|
set(SDL_FILE SDL2-${SDL_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -130,9 +116,9 @@ set(OPENCOLLADA_HASH ee7dae874019fea7be11613d07567493)
|
|||||||
set(OPENCOLLADA_HASH_TYPE MD5)
|
set(OPENCOLLADA_HASH_TYPE MD5)
|
||||||
set(OPENCOLLADA_FILE opencollada-${OPENCOLLADA_VERSION}.tar.gz)
|
set(OPENCOLLADA_FILE opencollada-${OPENCOLLADA_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(OPENCOLORIO_VERSION 2.0.0)
|
set(OPENCOLORIO_VERSION 2.1.1)
|
||||||
set(OPENCOLORIO_URI https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v${OPENCOLORIO_VERSION}.tar.gz)
|
set(OPENCOLORIO_URI https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v${OPENCOLORIO_VERSION}.tar.gz)
|
||||||
set(OPENCOLORIO_HASH 1a2e3478b6cd9a1549f24e1b2205e3f0)
|
set(OPENCOLORIO_HASH 604f562e073f23d88ce89ed4f7f709ba)
|
||||||
set(OPENCOLORIO_HASH_TYPE MD5)
|
set(OPENCOLORIO_HASH_TYPE MD5)
|
||||||
set(OPENCOLORIO_FILE OpenColorIO-${OPENCOLORIO_VERSION}.tar.gz)
|
set(OPENCOLORIO_FILE OpenColorIO-${OPENCOLORIO_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -155,21 +141,37 @@ set(OPENMP_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${
|
|||||||
set(OPENMP_HASH_TYPE MD5)
|
set(OPENMP_HASH_TYPE MD5)
|
||||||
set(OPENMP_FILE openmp-${OPENMP_VERSION}.src.tar.xz)
|
set(OPENMP_FILE openmp-${OPENMP_VERSION}.src.tar.xz)
|
||||||
|
|
||||||
set(OPENIMAGEIO_VERSION 2.2.15.1)
|
set(OPENIMAGEIO_VERSION v2.3.13.0)
|
||||||
set(OPENIMAGEIO_URI https://github.com/OpenImageIO/oiio/archive/Release-${OPENIMAGEIO_VERSION}.tar.gz)
|
set(OPENIMAGEIO_URI https://github.com/OpenImageIO/oiio/archive/refs/tags/${OPENIMAGEIO_VERSION}.tar.gz)
|
||||||
set(OPENIMAGEIO_HASH 3db5c5f0b3dc91597c75e5df09eb9072)
|
set(OPENIMAGEIO_HASH de45fb38501c4581062b522b53b6141c)
|
||||||
set(OPENIMAGEIO_HASH_TYPE MD5)
|
set(OPENIMAGEIO_HASH_TYPE MD5)
|
||||||
set(OPENIMAGEIO_FILE OpenImageIO-${OPENIMAGEIO_VERSION}.tar.gz)
|
set(OPENIMAGEIO_FILE OpenImageIO-${OPENIMAGEIO_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(TIFF_VERSION 4.1.0)
|
# 8.0.0 is currently oiio's preferred version although never versions may be available.
|
||||||
|
# the preferred version can be found in oiio's externalpackages.cmake
|
||||||
|
set(FMT_VERSION 8.0.0)
|
||||||
|
set(FMT_URI https://github.com/fmtlib/fmt/archive/refs/tags/${FMT_VERSION}.tar.gz)
|
||||||
|
set(FMT_HASH 7bce0e9e022e586b178b150002e7c2339994e3c2bbe44027e9abb0d60f9cce83)
|
||||||
|
set(FMT_HASH_TYPE SHA256)
|
||||||
|
set(FMT_FILE fmt-${FMT_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
# 0.6.2 is currently oiio's preferred version although never versions may be available.
|
||||||
|
# the preferred version can be found in oiio's externalpackages.cmake
|
||||||
|
set(ROBINMAP_VERSION v0.6.2)
|
||||||
|
set(ROBINMAP_URI https://github.com/Tessil/robin-map/archive/refs/tags/${ROBINMAP_VERSION}.tar.gz)
|
||||||
|
set(ROBINMAP_HASH c08ec4b1bf1c85eb0d6432244a6a89862229da1cb834f3f90fba8dc35d8c8ef1)
|
||||||
|
set(ROBINMAP_HASH_TYPE SHA256)
|
||||||
|
set(ROBINMAP_FILE robinmap-${ROBINMAP_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(TIFF_VERSION 4.3.0)
|
||||||
set(TIFF_URI http://download.osgeo.org/libtiff/tiff-${TIFF_VERSION}.tar.gz)
|
set(TIFF_URI http://download.osgeo.org/libtiff/tiff-${TIFF_VERSION}.tar.gz)
|
||||||
set(TIFF_HASH 2165e7aba557463acc0664e71a3ed424)
|
set(TIFF_HASH 0a2e4744d1426a8fc8211c0cdbc3a1b3)
|
||||||
set(TIFF_HASH_TYPE MD5)
|
set(TIFF_HASH_TYPE MD5)
|
||||||
set(TIFF_FILE tiff-${TIFF_VERSION}.tar.gz)
|
set(TIFF_FILE tiff-${TIFF_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(OSL_VERSION 1.11.14.1)
|
set(OSL_VERSION 1.11.17.0)
|
||||||
set(OSL_URI https://github.com/imageworks/OpenShadingLanguage/archive/Release-${OSL_VERSION}.tar.gz)
|
set(OSL_URI https://github.com/imageworks/OpenShadingLanguage/archive/Release-${OSL_VERSION}.tar.gz)
|
||||||
set(OSL_HASH 1abd7ce40481771a9fa937f19595d2f2)
|
set(OSL_HASH 63265472ce14548839ace2e21e401544)
|
||||||
set(OSL_HASH_TYPE MD5)
|
set(OSL_HASH_TYPE MD5)
|
||||||
set(OSL_FILE OpenShadingLanguage-${OSL_VERSION}.tar.gz)
|
set(OSL_FILE OpenShadingLanguage-${OSL_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -181,24 +183,18 @@ set(PYTHON_HASH 14e8c22458ed7779a1957b26cde01db9)
|
|||||||
set(PYTHON_HASH_TYPE MD5)
|
set(PYTHON_HASH_TYPE MD5)
|
||||||
set(PYTHON_FILE Python-${PYTHON_VERSION}.tar.xz)
|
set(PYTHON_FILE Python-${PYTHON_VERSION}.tar.xz)
|
||||||
|
|
||||||
set(TBB_VERSION 2020_U2)
|
set(TBB_VERSION 2020_U3)
|
||||||
set(TBB_URI https://github.com/oneapi-src/oneTBB/archive/${TBB_VERSION}.tar.gz)
|
set(TBB_URI https://github.com/oneapi-src/oneTBB/archive/${TBB_VERSION}.tar.gz)
|
||||||
set(TBB_HASH 1b711ae956524855088df3bbf5ec65dc)
|
set(TBB_HASH 55ec8df6eae5ed6364a47f0e671e460c)
|
||||||
set(TBB_HASH_TYPE MD5)
|
set(TBB_HASH_TYPE MD5)
|
||||||
set(TBB_FILE oneTBB-${TBB_VERSION}.tar.gz)
|
set(TBB_FILE oneTBB-${TBB_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(OPENVDB_VERSION 8.0.1)
|
set(OPENVDB_VERSION 9.0.0)
|
||||||
set(OPENVDB_URI https://github.com/AcademySoftwareFoundation/openvdb/archive/v${OPENVDB_VERSION}.tar.gz)
|
set(OPENVDB_URI https://github.com/AcademySoftwareFoundation/openvdb/archive/v${OPENVDB_VERSION}.tar.gz)
|
||||||
set(OPENVDB_HASH 01b490be16cc0e15c690f9a153c21461)
|
set(OPENVDB_HASH 684ce40c2f74f3a0c9cac530e1c7b07e)
|
||||||
set(OPENVDB_HASH_TYPE MD5)
|
set(OPENVDB_HASH_TYPE MD5)
|
||||||
set(OPENVDB_FILE openvdb-${OPENVDB_VERSION}.tar.gz)
|
set(OPENVDB_FILE openvdb-${OPENVDB_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(NANOVDB_GIT_UID dc37d8a631922e7bef46712947dc19b755f3e841)
|
|
||||||
set(NANOVDB_URI https://github.com/AcademySoftwareFoundation/openvdb/archive/${NANOVDB_GIT_UID}.tar.gz)
|
|
||||||
set(NANOVDB_HASH e7b9e863ec2f3b04ead171dec2322807)
|
|
||||||
set(NANOVDB_HASH_TYPE MD5)
|
|
||||||
set(NANOVDB_FILE nano-vdb-${NANOVDB_GIT_UID}.tar.gz)
|
|
||||||
|
|
||||||
set(IDNA_VERSION 3.3)
|
set(IDNA_VERSION 3.3)
|
||||||
set(CHARSET_NORMALIZER_VERSION 2.0.10)
|
set(CHARSET_NORMALIZER_VERSION 2.0.10)
|
||||||
set(URLLIB3_VERSION 1.26.8)
|
set(URLLIB3_VERSION 1.26.8)
|
||||||
@@ -208,6 +204,9 @@ set(CYTHON_VERSION 0.29.26)
|
|||||||
# The version of the zstd library used to build the Python package should match ZSTD_VERSION defined below.
|
# The version of the zstd library used to build the Python package should match ZSTD_VERSION defined below.
|
||||||
# At this time of writing, 0.17.0 was already released, but built against zstd 1.5.1, while we use 1.5.0.
|
# At this time of writing, 0.17.0 was already released, but built against zstd 1.5.1, while we use 1.5.0.
|
||||||
set(ZSTANDARD_VERSION 0.16.0)
|
set(ZSTANDARD_VERSION 0.16.0)
|
||||||
|
set(AUTOPEP8_VERSION 1.6.0)
|
||||||
|
set(PYCODESTYLE_VERSION 2.8.0)
|
||||||
|
set(TOML_VERSION 0.10.2)
|
||||||
|
|
||||||
set(NUMPY_VERSION 1.22.0)
|
set(NUMPY_VERSION 1.22.0)
|
||||||
set(NUMPY_SHORT_VERSION 1.22)
|
set(NUMPY_SHORT_VERSION 1.22)
|
||||||
@@ -222,15 +221,15 @@ set(LAME_HASH 83e260acbe4389b54fe08e0bdbf7cddb)
|
|||||||
set(LAME_HASH_TYPE MD5)
|
set(LAME_HASH_TYPE MD5)
|
||||||
set(LAME_FILE lame-${LAME_VERSION}.tar.gz)
|
set(LAME_FILE lame-${LAME_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(OGG_VERSION 1.3.4)
|
set(OGG_VERSION 1.3.5)
|
||||||
set(OGG_URI http://downloads.xiph.org/releases/ogg/libogg-${OGG_VERSION}.tar.gz)
|
set(OGG_URI http://downloads.xiph.org/releases/ogg/libogg-${OGG_VERSION}.tar.gz)
|
||||||
set(OGG_HASH fe5670640bd49e828d64d2879c31cb4dde9758681bb664f9bdbf159a01b0c76e)
|
set(OGG_HASH 0eb4b4b9420a0f51db142ba3f9c64b333f826532dc0f48c6410ae51f4799b664)
|
||||||
set(OGG_HASH_TYPE SHA256)
|
set(OGG_HASH_TYPE SHA256)
|
||||||
set(OGG_FILE libogg-${OGG_VERSION}.tar.gz)
|
set(OGG_FILE libogg-${OGG_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(VORBIS_VERSION 1.3.6)
|
set(VORBIS_VERSION 1.3.7)
|
||||||
set(VORBIS_URI http://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VERSION}.tar.gz)
|
set(VORBIS_URI http://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VERSION}.tar.gz)
|
||||||
set(VORBIS_HASH 6ed40e0241089a42c48604dc00e362beee00036af2d8b3f46338031c9e0351cb)
|
set(VORBIS_HASH 0e982409a9c3fc82ee06e08205b1355e5c6aa4c36bca58146ef399621b0ce5ab)
|
||||||
set(VORBIS_HASH_TYPE SHA256)
|
set(VORBIS_HASH_TYPE SHA256)
|
||||||
set(VORBIS_FILE libvorbis-${VORBIS_VERSION}.tar.gz)
|
set(VORBIS_FILE libvorbis-${VORBIS_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -240,15 +239,15 @@ set(THEORA_HASH b6ae1ee2fa3d42ac489287d3ec34c5885730b1296f0801ae577a35193d3affbc
|
|||||||
set(THEORA_HASH_TYPE SHA256)
|
set(THEORA_HASH_TYPE SHA256)
|
||||||
set(THEORA_FILE libtheora-${THEORA_VERSION}.tar.bz2)
|
set(THEORA_FILE libtheora-${THEORA_VERSION}.tar.bz2)
|
||||||
|
|
||||||
set(FLAC_VERSION 1.3.3)
|
set(FLAC_VERSION 1.3.4)
|
||||||
set(FLAC_URI http://downloads.xiph.org/releases/flac/flac-${FLAC_VERSION}.tar.xz)
|
set(FLAC_URI http://downloads.xiph.org/releases/flac/flac-${FLAC_VERSION}.tar.xz)
|
||||||
set(FLAC_HASH 213e82bd716c9de6db2f98bcadbc4c24c7e2efe8c75939a1a84e28539c4e1748)
|
set(FLAC_HASH 8ff0607e75a322dd7cd6ec48f4f225471404ae2730d0ea945127b1355155e737 )
|
||||||
set(FLAC_HASH_TYPE SHA256)
|
set(FLAC_HASH_TYPE SHA256)
|
||||||
set(FLAC_FILE flac-${FLAC_VERSION}.tar.xz)
|
set(FLAC_FILE flac-${FLAC_VERSION}.tar.xz)
|
||||||
|
|
||||||
set(VPX_VERSION 1.8.2)
|
set(VPX_VERSION 1.11.0)
|
||||||
set(VPX_URI https://github.com/webmproject/libvpx/archive/v${VPX_VERSION}/libvpx-v${VPX_VERSION}.tar.gz)
|
set(VPX_URI https://github.com/webmproject/libvpx/archive/v${VPX_VERSION}/libvpx-v${VPX_VERSION}.tar.gz)
|
||||||
set(VPX_HASH 8735d9fcd1a781ae6917f28f239a8aa358ce4864ba113ea18af4bb2dc8b474ac)
|
set(VPX_HASH 965e51c91ad9851e2337aebcc0f517440c637c506f3a03948062e3d5ea129a83)
|
||||||
set(VPX_HASH_TYPE SHA256)
|
set(VPX_HASH_TYPE SHA256)
|
||||||
set(VPX_FILE libvpx-v${VPX_VERSION}.tar.gz)
|
set(VPX_FILE libvpx-v${VPX_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -258,9 +257,9 @@ set(OPUS_HASH 65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d)
|
|||||||
set(OPUS_HASH_TYPE SHA256)
|
set(OPUS_HASH_TYPE SHA256)
|
||||||
set(OPUS_FILE opus-${OPUS_VERSION}.tar.gz)
|
set(OPUS_FILE opus-${OPUS_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(X264_VERSION 33f9e1474613f59392be5ab6a7e7abf60fa63622)
|
set(X264_VERSION 35fe20d1ba49918ec739a5b068c208ca82f977f7)
|
||||||
set(X264_URI https://code.videolan.org/videolan/x264/-/archive/${X264_VERSION}/x264-${X264_VERSION}.tar.gz)
|
set(X264_URI https://code.videolan.org/videolan/x264/-/archive/${X264_VERSION}/x264-${X264_VERSION}.tar.gz)
|
||||||
set(X264_HASH 5456450ee1ae02cd2328be3157367a232a0ab73315e8c8f80dab80469524f525)
|
set(X264_HASH bb4f7da03936b5a030ed5827133b58eb3f701d7e5dce32cca4ba6df93797d42e)
|
||||||
set(X264_HASH_TYPE SHA256)
|
set(X264_HASH_TYPE SHA256)
|
||||||
set(X264_FILE x264-${X264_VERSION}.tar.gz)
|
set(X264_FILE x264-${X264_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -270,22 +269,22 @@ set(XVIDCORE_HASH abbdcbd39555691dd1c9b4d08f0a031376a3b211652c0d8b3b8aa9be1303ce
|
|||||||
set(XVIDCORE_HASH_TYPE SHA256)
|
set(XVIDCORE_HASH_TYPE SHA256)
|
||||||
set(XVIDCORE_FILE xvidcore-${XVIDCORE_VERSION}.tar.gz)
|
set(XVIDCORE_FILE xvidcore-${XVIDCORE_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(OPENJPEG_VERSION 2.3.1)
|
set(OPENJPEG_VERSION 2.4.0)
|
||||||
set(OPENJPEG_SHORT_VERSION 2.3)
|
set(OPENJPEG_SHORT_VERSION 2.4)
|
||||||
set(OPENJPEG_URI https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VERSION}.tar.gz)
|
set(OPENJPEG_URI https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VERSION}.tar.gz)
|
||||||
set(OPENJPEG_HASH 63f5a4713ecafc86de51bfad89cc07bb788e9bba24ebbf0c4ca637621aadb6a9)
|
set(OPENJPEG_HASH 8702ba68b442657f11aaeb2b338443ca8d5fb95b0d845757968a7be31ef7f16d)
|
||||||
set(OPENJPEG_HASH_TYPE SHA256)
|
set(OPENJPEG_HASH_TYPE SHA256)
|
||||||
set(OPENJPEG_FILE openjpeg-v${OPENJPEG_VERSION}.tar.gz)
|
set(OPENJPEG_FILE openjpeg-v${OPENJPEG_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(FFMPEG_VERSION 4.4)
|
set(FFMPEG_VERSION 5.0)
|
||||||
set(FFMPEG_URI http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2)
|
set(FFMPEG_URI http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2)
|
||||||
set(FFMPEG_HASH 42093549751b582cf0f338a21a3664f52e0a9fbe0d238d3c992005e493607d0e)
|
set(FFMPEG_HASH c0130b8db2c763430fd1c6905288d61bc44ee0548ad5fcd2dfd650b88432bed9)
|
||||||
set(FFMPEG_HASH_TYPE SHA256)
|
set(FFMPEG_HASH_TYPE SHA256)
|
||||||
set(FFMPEG_FILE ffmpeg-${FFMPEG_VERSION}.tar.bz2)
|
set(FFMPEG_FILE ffmpeg-${FFMPEG_VERSION}.tar.bz2)
|
||||||
|
|
||||||
set(FFTW_VERSION 3.3.8)
|
set(FFTW_VERSION 3.3.10)
|
||||||
set(FFTW_URI http://www.fftw.org/fftw-${FFTW_VERSION}.tar.gz)
|
set(FFTW_URI http://www.fftw.org/fftw-${FFTW_VERSION}.tar.gz)
|
||||||
set(FFTW_HASH 8aac833c943d8e90d51b697b27d4384d)
|
set(FFTW_HASH 8ccbf6a5ea78a16dbc3e1306e234cc5c)
|
||||||
set(FFTW_HASH_TYPE MD5)
|
set(FFTW_HASH_TYPE MD5)
|
||||||
set(FFTW_FILE fftw-${FFTW_VERSION}.tar.gz)
|
set(FFTW_FILE fftw-${FFTW_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -301,9 +300,9 @@ set(SNDFILE_HASH 646b5f98ce89ac60cdb060fcd398247c)
|
|||||||
set(SNDFILE_HASH_TYPE MD5)
|
set(SNDFILE_HASH_TYPE MD5)
|
||||||
set(SNDFILE_FILE libsndfile-${SNDFILE_VERSION}.tar.gz)
|
set(SNDFILE_FILE libsndfile-${SNDFILE_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(WEBP_VERSION 0.6.1)
|
set(WEBP_VERSION 1.2.2)
|
||||||
set(WEBP_URI https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${WEBP_VERSION}.tar.gz)
|
set(WEBP_URI https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${WEBP_VERSION}.tar.gz)
|
||||||
set(WEBP_HASH b49ce9c3e3e9acae4d91bca44bb85a72)
|
set(WEBP_HASH b5e2e414a8adee4c25fe56b18dd9c549)
|
||||||
set(WEBP_HASH_TYPE MD5)
|
set(WEBP_HASH_TYPE MD5)
|
||||||
set(WEBP_FILE libwebp-${WEBP_VERSION}.tar.gz)
|
set(WEBP_FILE libwebp-${WEBP_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -338,9 +337,15 @@ set(YAMLCPP_HASH b45bf1089a382e81f6b661062c10d0c2)
|
|||||||
set(YAMLCPP_HASH_TYPE MD5)
|
set(YAMLCPP_HASH_TYPE MD5)
|
||||||
set(YAMLCPP_FILE yaml-cpp-${YAMLCPP_VERSION}.tar.gz)
|
set(YAMLCPP_FILE yaml-cpp-${YAMLCPP_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(EXPAT_VERSION 2_2_10)
|
set(PYSTRING_VERSION v1.1.3)
|
||||||
|
set(PYSTRING_URI https://codeload.github.com/imageworks/pystring/tar.gz/refs/tags/${PYSTRING_VERSION})
|
||||||
|
set(PYSTRING_HASH f2c68786b359f5e4e62bed53bc4fb86d)
|
||||||
|
set(PYSTRING_HASH_TYPE MD5)
|
||||||
|
set(PYSTRING_FILE pystring-${PYSTRING_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(EXPAT_VERSION 2_4_4)
|
||||||
set(EXPAT_URI https://github.com/libexpat/libexpat/archive/R_${EXPAT_VERSION}.tar.gz)
|
set(EXPAT_URI https://github.com/libexpat/libexpat/archive/R_${EXPAT_VERSION}.tar.gz)
|
||||||
set(EXPAT_HASH 7ca5f09959fcb9a57618368deb627b9f)
|
set(EXPAT_HASH 2d3e81dee94b452369dc6394ff0f8f98)
|
||||||
set(EXPAT_HASH_TYPE MD5)
|
set(EXPAT_HASH_TYPE MD5)
|
||||||
set(EXPAT_FILE libexpat-${EXPAT_VERSION}.tar.gz)
|
set(EXPAT_FILE libexpat-${EXPAT_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -405,22 +410,21 @@ set(SQLITE_HASH fb558c49ee21a837713c4f1e7e413309aabdd9c7)
|
|||||||
set(SQLITE_HASH_TYPE SHA1)
|
set(SQLITE_HASH_TYPE SHA1)
|
||||||
set(SQLITE_FILE sqlite-src-3240000.zip)
|
set(SQLITE_FILE sqlite-src-3240000.zip)
|
||||||
|
|
||||||
set(EMBREE_VERSION 3.10.0)
|
set(EMBREE_VERSION 3.13.3)
|
||||||
set(EMBREE_URI https://github.com/embree/embree/archive/v${EMBREE_VERSION}.zip)
|
set(EMBREE_URI https://github.com/embree/embree/archive/v${EMBREE_VERSION}.zip)
|
||||||
set(EMBREE_HASH 4bbe29e7eaa46417efc75fc5f1e8eb87)
|
set(EMBREE_HASH f62766ba54e48a2f327c3a22596e7133)
|
||||||
set(EMBREE_HASH_TYPE MD5)
|
set(EMBREE_HASH_TYPE MD5)
|
||||||
set(EMBREE_FILE embree-v${EMBREE_VERSION}.zip)
|
set(EMBREE_FILE embree-v${EMBREE_VERSION}.zip)
|
||||||
set(EMBREE_ARM_GIT https://github.com/brechtvl/embree.git)
|
|
||||||
|
|
||||||
set(USD_VERSION 21.02)
|
set(USD_VERSION 22.03)
|
||||||
set(USD_URI https://github.com/PixarAnimationStudios/USD/archive/v${USD_VERSION}.tar.gz)
|
set(USD_URI https://github.com/PixarAnimationStudios/USD/archive/v${USD_VERSION}.tar.gz)
|
||||||
set(USD_HASH 1dd1e2092d085ed393c1f7c450a4155a)
|
set(USD_HASH e0e441a05057692a83124a1195b09eed)
|
||||||
set(USD_HASH_TYPE MD5)
|
set(USD_HASH_TYPE MD5)
|
||||||
set(USD_FILE usd-v${USD_VERSION}.tar.gz)
|
set(USD_FILE usd-v${USD_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(OIDN_VERSION 1.4.1)
|
set(OIDN_VERSION 1.4.3)
|
||||||
set(OIDN_URI https://github.com/OpenImageDenoise/oidn/releases/download/v${OIDN_VERSION}/oidn-${OIDN_VERSION}.src.tar.gz)
|
set(OIDN_URI https://github.com/OpenImageDenoise/oidn/releases/download/v${OIDN_VERSION}/oidn-${OIDN_VERSION}.src.tar.gz)
|
||||||
set(OIDN_HASH df4007b0ab93b1c41cdf223b075d01c0)
|
set(OIDN_HASH 027093eaf5e8b4e45835b991137b38e6)
|
||||||
set(OIDN_HASH_TYPE MD5)
|
set(OIDN_HASH_TYPE MD5)
|
||||||
set(OIDN_FILE oidn-${OIDN_VERSION}.src.tar.gz)
|
set(OIDN_FILE oidn-${OIDN_VERSION}.src.tar.gz)
|
||||||
|
|
||||||
@@ -454,9 +458,9 @@ set(WL_PROTOCOLS_URI https://gitlab.freedesktop.org/wayland/wayland-protocols/-/
|
|||||||
set(WL_PROTOCOLS_HASH af5ca07e13517cdbab33504492cef54a)
|
set(WL_PROTOCOLS_HASH af5ca07e13517cdbab33504492cef54a)
|
||||||
set(WL_PROTOCOLS_HASH_TYPE MD5)
|
set(WL_PROTOCOLS_HASH_TYPE MD5)
|
||||||
|
|
||||||
set(ISPC_VERSION v1.16.0)
|
set(ISPC_VERSION v1.17.0)
|
||||||
set(ISPC_URI https://github.com/ispc/ispc/archive/${ISPC_VERSION}.tar.gz)
|
set(ISPC_URI https://github.com/ispc/ispc/archive/${ISPC_VERSION}.tar.gz)
|
||||||
set(ISPC_HASH 2e3abedbc0ea9aaec17d6562c632454d)
|
set(ISPC_HASH 4f476a3109332a77fe839a9014c60ca9)
|
||||||
set(ISPC_HASH_TYPE MD5)
|
set(ISPC_HASH_TYPE MD5)
|
||||||
set(ISPC_FILE ispc-${ISPC_VERSION}.tar.gz)
|
set(ISPC_FILE ispc-${ISPC_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -492,3 +496,140 @@ set(BROTLI_URI https://github.com/google/brotli/archive/refs/tags/${BROTLI_VERSI
|
|||||||
set(BROTLI_HASH f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46)
|
set(BROTLI_HASH f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46)
|
||||||
set(BROTLI_HASH_TYPE SHA256)
|
set(BROTLI_HASH_TYPE SHA256)
|
||||||
set(BROTLI_FILE brotli-${BROTLI_VERSION}.tar.gz)
|
set(BROTLI_FILE brotli-${BROTLI_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(LEVEL_ZERO_VERSION v1.7.15)
|
||||||
|
set(LEVEL_ZERO_URI https://github.com/oneapi-src/level-zero/archive/refs/tags/${LEVEL_ZERO_VERSION}.tar.gz)
|
||||||
|
set(LEVEL_ZERO_HASH c39bb05a8e5898aa6c444e1704105b93d3f1888b9c333f8e7e73825ffbfb2617)
|
||||||
|
set(LEVEL_ZERO_HASH_TYPE SHA256)
|
||||||
|
set(LEVEL_ZERO_FILE level-zero-${LEVEL_ZERO_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(DPCPP_VERSION 20220620)
|
||||||
|
set(DPCPP_URI https://github.com/intel/llvm/archive/refs/tags/sycl-nightly/${DPCPP_VERSION}.tar.gz)
|
||||||
|
set(DPCPP_HASH a5f41abd5229d28afa92cbd8a5d8d786ee698bf239f722929fd686276bad692c)
|
||||||
|
set(DPCPP_HASH_TYPE SHA256)
|
||||||
|
set(DPCPP_FILE DPCPP-${DPCPP_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
########################
|
||||||
|
### DPCPP DEPS BEGIN ###
|
||||||
|
########################
|
||||||
|
# The following deps are build time requirements for dpcpp, when possible
|
||||||
|
# the source in the dpcpp source tree for the version chosen is documented
|
||||||
|
# by each dep, these will only have to be downloaded and unpacked, dpcpp
|
||||||
|
# will take care of building them, unpack is being done in dpcpp_deps.cmake
|
||||||
|
|
||||||
|
# Source llvm/lib/SYCLLowerIR/CMakeLists.txt
|
||||||
|
set(VCINTRINSICS_VERSION 984bb27baacce6ee5c716c2e64845f2a1928025b)
|
||||||
|
set(VCINTRINSICS_URI https://github.com/intel/vc-intrinsics/archive/${VCINTRINSICS_VERSION}.tar.gz)
|
||||||
|
set(VCINTRINSICS_HASH abea415a15a0dd11fdc94dee8fb462910f2548311b787e02f42509789e1b0d7b)
|
||||||
|
set(VCINTRINSICS_HASH_TYPE SHA256)
|
||||||
|
set(VCINTRINSICS_FILE vc-intrinsics-${VCINTRINSICS_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
# Source opencl/CMakeLists.txt
|
||||||
|
set(OPENCLHEADERS_VERSION dcd5bede6859d26833cd85f0d6bbcee7382dc9b3)
|
||||||
|
set(OPENCLHEADERS_URI https://github.com/KhronosGroup/OpenCL-Headers/archive/${OPENCLHEADERS_VERSION}.tar.gz)
|
||||||
|
set(OPENCLHEADERS_HASH ca8090359654e94f2c41e946b7e9d826253d795ae809ce7c83a7d3c859624693)
|
||||||
|
set(OPENCLHEADERS_HASH_TYPE SHA256)
|
||||||
|
set(OPENCLHEADERS_FILE opencl_headers-${OPENCLHEADERS_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
# Source opencl/CMakeLists.txt
|
||||||
|
set(ICDLOADER_VERSION aec3952654832211636fc4af613710f80e203b0a)
|
||||||
|
set(ICDLOADER_URI https://github.com/KhronosGroup/OpenCL-ICD-Loader/archive/${ICDLOADER_VERSION}.tar.gz)
|
||||||
|
set(ICDLOADER_HASH e1880551d67bd8dc31d13de63b94bbfd6b1f315b6145dad1ffcd159b89bda93c)
|
||||||
|
set(ICDLOADER_HASH_TYPE SHA256)
|
||||||
|
set(ICDLOADER_FILE icdloader-${ICDLOADER_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
# Source sycl/cmake/modules/AddBoostMp11Headers.cmake
|
||||||
|
# Using external MP11 here, getting AddBoostMp11Headers.cmake to recognize
|
||||||
|
# our copy in boost directly was more trouble than it was worth.
|
||||||
|
set(MP11_VERSION 7bc4e1ae9b36ec8ee635c3629b59ec525bbe82b9)
|
||||||
|
set(MP11_URI https://github.com/boostorg/mp11/archive/${MP11_VERSION}.tar.gz)
|
||||||
|
set(MP11_HASH 071ee2bd3952ec89882edb3af25dd1816f6b61723f66e42eea32f4d02ceef426)
|
||||||
|
set(MP11_HASH_TYPE SHA256)
|
||||||
|
set(MP11_FILE mp11-${MP11_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
# Source llvm-spirv/CMakeLists.txt (repo)
|
||||||
|
# Source llvm-spirv/spirv-headers-tag.conf (hash)
|
||||||
|
set(SPIRV_HEADERS_VERSION 36c0c1596225e728bd49abb7ef56a3953e7ed468)
|
||||||
|
set(SPIRV_HEADERS_URI https://github.com/KhronosGroup/SPIRV-Headers/archive/${SPIRV_HEADERS_VERSION}.tar.gz)
|
||||||
|
set(SPIRV_HEADERS_HASH 7a5c89633f8740456fe8adee052033e134476d267411d1336c0cb1e587a9229a)
|
||||||
|
set(SPIRV_HEADERS_HASH_TYPE SHA256)
|
||||||
|
set(SPIRV_HEADERS_FILE SPIR-V-Headers-${SPIRV_HEADERS_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
######################
|
||||||
|
### DPCPP DEPS END ###
|
||||||
|
######################
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
### Intel Graphics Compiler DEPS BEGIN ###
|
||||||
|
##########################################
|
||||||
|
# The following deps are build time requirements for the intel graphics
|
||||||
|
# compiler, the versions used are taken from the following location
|
||||||
|
# https://github.com/intel/intel-graphics-compiler/releases
|
||||||
|
|
||||||
|
set(IGC_VERSION 1.0.11222)
|
||||||
|
set(IGC_URI https://github.com/intel/intel-graphics-compiler/archive/refs/tags/igc-${IGC_VERSION}.tar.gz)
|
||||||
|
set(IGC_HASH d92f0608dcbb52690855685f9447282e5c09c0ba98ae35fabf114fcf8b1e9fcf)
|
||||||
|
set(IGC_HASH_TYPE SHA256)
|
||||||
|
set(IGC_FILE igc-${IGC_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(IGC_LLVM_VERSION llvmorg-11.1.0)
|
||||||
|
set(IGC_LLVM_URI https://github.com/llvm/llvm-project/archive/refs/tags/${IGC_LLVM_VERSION}.tar.gz)
|
||||||
|
set(IGC_LLVM_HASH 53a0719f3f4b0388013cfffd7b10c7d5682eece1929a9553c722348d1f866e79)
|
||||||
|
set(IGC_LLVM_HASH_TYPE SHA256)
|
||||||
|
set(IGC_LLVM_FILE ${IGC_LLVM_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
# WARNING WARNING WARNING
|
||||||
|
#
|
||||||
|
# IGC_OPENCL_CLANG contains patches for some of its dependencies.
|
||||||
|
#
|
||||||
|
# Whenever IGC_OPENCL_CLANG_VERSION changes, one *MUST* inspect
|
||||||
|
# IGC_OPENCL_CLANG's patches folder and update igc.cmake to account for
|
||||||
|
# any added or removed patches.
|
||||||
|
#
|
||||||
|
# WARNING WARNING WARNING
|
||||||
|
|
||||||
|
set(IGC_OPENCL_CLANG_VERSION bbdd1587f577397a105c900be114b56755d1f7dc)
|
||||||
|
set(IGC_OPENCL_CLANG_URI https://github.com/intel/opencl-clang/archive/${IGC_OPENCL_CLANG_VERSION}.tar.gz)
|
||||||
|
set(IGC_OPENCL_CLANG_HASH d08315f1b0d8a6fef33de2b3e6aa7356534c324910634962c72523d970773efc)
|
||||||
|
set(IGC_OPENCL_CLANG_HASH_TYPE SHA256)
|
||||||
|
set(IGC_OPENCL_CLANG_FILE opencl-clang-${IGC_OPENCL_CLANG_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(IGC_VCINTRINSICS_VERSION v0.4.0)
|
||||||
|
set(IGC_VCINTRINSICS_URI https://github.com/intel/vc-intrinsics/archive/refs/tags/${IGC_VCINTRINSICS_VERSION}.tar.gz)
|
||||||
|
set(IGC_VCINTRINSICS_HASH c8b92682ad5031cf9d5b82a40e7d5c0e763cd9278660adbcaa69aab988e4b589)
|
||||||
|
set(IGC_VCINTRINSICS_HASH_TYPE SHA256)
|
||||||
|
set(IGC_VCINTRINSICS_FILE vc-intrinsics-${IGC_VCINTRINSICS_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(IGC_SPIRV_HEADERS_VERSION sdk-1.3.204.1)
|
||||||
|
set(IGC_SPIRV_HEADERS_URI https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/${IGC_SPIRV_HEADERS_VERSION}.tar.gz)
|
||||||
|
set(IGC_SPIRV_HEADERS_HASH 262864053968c217d45b24b89044a7736a32361894743dd6cfe788df258c746c)
|
||||||
|
set(IGC_SPIRV_HEADERS_HASH_TYPE SHA256)
|
||||||
|
set(IGC_SPIRV_HEADERS_FILE SPIR-V-Headers-${IGC_SPIRV_HEADERS_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(IGC_SPIRV_TOOLS_VERSION sdk-1.3.204.1)
|
||||||
|
set(IGC_SPIRV_TOOLS_URI https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/${IGC_SPIRV_TOOLS_VERSION}.tar.gz)
|
||||||
|
set(IGC_SPIRV_TOOLS_HASH 6e19900e948944243024aedd0a201baf3854b377b9cc7a386553bc103b087335)
|
||||||
|
set(IGC_SPIRV_TOOLS_HASH_TYPE SHA256)
|
||||||
|
set(IGC_SPIRV_TOOLS_FILE SPIR-V-Tools-${IGC_SPIRV_TOOLS_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(IGC_SPIRV_TRANSLATOR_VERSION 99420daab98998a7e36858befac9c5ed109d4920)
|
||||||
|
set(IGC_SPIRV_TRANSLATOR_URI https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/${IGC_SPIRV_TRANSLATOR_VERSION}.tar.gz)
|
||||||
|
set(IGC_SPIRV_TRANSLATOR_HASH 77dfb4ddb6bfb993535562c02ddea23f0a0d1c5a0258c1afe7e27c894ff783a8)
|
||||||
|
set(IGC_SPIRV_TRANSLATOR_HASH_TYPE SHA256)
|
||||||
|
set(IGC_SPIRV_TRANSLATOR_FILE SPIR-V-Translator-${IGC_SPIRV_TRANSLATOR_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
########################################
|
||||||
|
### Intel Graphics Compiler DEPS END ###
|
||||||
|
########################################
|
||||||
|
|
||||||
|
set(GMMLIB_VERSION intel-gmmlib-22.1.2)
|
||||||
|
set(GMMLIB_URI https://github.com/intel/gmmlib/archive/refs/tags/${GMMLIB_VERSION}.tar.gz)
|
||||||
|
set(GMMLIB_HASH 3b9a6d5e7e3f5748b3d0a2fb0e980ae943907fece0980bd9c0508e71c838e334)
|
||||||
|
set(GMMLIB_HASH_TYPE SHA256)
|
||||||
|
set(GMMLIB_FILE ${GMMLIB_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(OCLOC_VERSION 22.20.23198)
|
||||||
|
set(OCLOC_URI https://github.com/intel/compute-runtime/archive/refs/tags/${OCLOC_VERSION}.tar.gz)
|
||||||
|
set(OCLOC_HASH ab22b8bf2560a57fdd3def0e35a62ca75991406f959c0263abb00cd6cd9ae998)
|
||||||
|
set(OCLOC_HASH_TYPE SHA256)
|
||||||
|
set(OCLOC_FILE ocloc-${OCLOC_VERSION}.tar.gz)
|
||||||
|
@@ -4,9 +4,15 @@
|
|||||||
# library itself does not depend on them, so should give no problems.
|
# library itself does not depend on them, so should give no problems.
|
||||||
|
|
||||||
set(WEBP_EXTRA_ARGS
|
set(WEBP_EXTRA_ARGS
|
||||||
-DWEBP_HAVE_SSE2=ON
|
-DWEBP_BUILD_ANIM_UTILS=OFF
|
||||||
-DWEBP_HAVE_SSE41=OFF
|
-DWEBP_BUILD_CWEBP=OFF
|
||||||
-DWEBP_HAVE_AVX2=OFF
|
-DWEBP_BUILD_DWEBP=OFF
|
||||||
|
-DWEBP_BUILD_GIF2WEBP=OFF
|
||||||
|
-DWEBP_BUILD_IMG2WEBP=OFF
|
||||||
|
-DWEBP_BUILD_VWEBP=OFF
|
||||||
|
-DWEBP_BUILD_WEBPINFO=OFF
|
||||||
|
-DWEBP_BUILD_WEBPMUX=OFF
|
||||||
|
-DWEBP_BUILD_EXTRAS=OFF
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
@@ -37,10 +37,6 @@ graph[autosize = false, size = "25.7,8.3!", resolution = 300, overlap = false, s
|
|||||||
external_openimageio -- external_webp;
|
external_openimageio -- external_webp;
|
||||||
external_openimageio -- external_opencolorio_extra;
|
external_openimageio -- external_opencolorio_extra;
|
||||||
external_openmp -- external_clang;
|
external_openmp -- external_clang;
|
||||||
external_opensubdiv -- external_glew;
|
|
||||||
external_opensubdiv -- external_glfw;
|
|
||||||
external_opensubdiv -- external_clew;
|
|
||||||
external_opensubdiv -- external_cuew;
|
|
||||||
external_opensubdiv -- external_tbb;
|
external_opensubdiv -- external_tbb;
|
||||||
openvdb -- external_tbb;
|
openvdb -- external_tbb;
|
||||||
openvdb -- external_boost;
|
openvdb -- external_boost;
|
||||||
|
@@ -36,19 +36,19 @@ getopt \
|
|||||||
-o s:i:t:h \
|
-o s:i:t:h \
|
||||||
--long source:,install:,tmp:,info:,threads:,help,show-deps,no-sudo,no-build,no-confirm,\
|
--long source:,install:,tmp:,info:,threads:,help,show-deps,no-sudo,no-build,no-confirm,\
|
||||||
with-all,with-opencollada,with-jack,with-pulseaudio,with-embree,with-oidn,with-nanovdb,\
|
with-all,with-opencollada,with-jack,with-pulseaudio,with-embree,with-oidn,with-nanovdb,\
|
||||||
ver-ocio:,ver-oiio:,ver-llvm:,ver-osl:,ver-osd:,ver-openvdb:,ver-xr-openxr:,\
|
ver-ocio:,ver-oiio:,ver-llvm:,ver-osl:,ver-osd:,ver-openvdb:,ver-xr-openxr:,ver-level-zero:\
|
||||||
force-all,force-python,force-boost,force-tbb,\
|
force-all,force-python,force-boost,force-tbb,\
|
||||||
force-ocio,force-imath,force-openexr,force-oiio,force-llvm,force-osl,force-osd,force-openvdb,\
|
force-ocio,force-imath,force-openexr,force-oiio,force-llvm,force-osl,force-osd,force-openvdb,\
|
||||||
force-ffmpeg,force-opencollada,force-alembic,force-embree,force-oidn,force-usd,\
|
force-ffmpeg,force-opencollada,force-alembic,force-embree,force-oidn,force-usd,\
|
||||||
force-xr-openxr,\
|
force-xr-openxr,force-level-zero,\
|
||||||
build-all,build-python,build-boost,build-tbb,\
|
build-all,build-python,build-boost,build-tbb,\
|
||||||
build-ocio,build-imath,build-openexr,build-oiio,build-llvm,build-osl,build-osd,build-openvdb,\
|
build-ocio,build-imath,build-openexr,build-oiio,build-llvm,build-osl,build-osd,build-openvdb,\
|
||||||
build-ffmpeg,build-opencollada,build-alembic,build-embree,build-oidn,build-usd,\
|
build-ffmpeg,build-opencollada,build-alembic,build-embree,build-oidn,build-usd,\
|
||||||
build-xr-openxr,\
|
build-xr-openxr,build-level-zero,\
|
||||||
skip-python,skip-boost,skip-tbb,\
|
skip-python,skip-boost,skip-tbb,\
|
||||||
skip-ocio,skip-imath,skip-openexr,skip-oiio,skip-llvm,skip-osl,skip-osd,skip-openvdb,\
|
skip-ocio,skip-imath,skip-openexr,skip-oiio,skip-llvm,skip-osl,skip-osd,skip-openvdb,\
|
||||||
skip-ffmpeg,skip-opencollada,skip-alembic,skip-embree,skip-oidn,skip-usd,\
|
skip-ffmpeg,skip-opencollada,skip-alembic,skip-embree,skip-oidn,skip-usd,\
|
||||||
skip-xr-openxr \
|
skip-xr-openxr,skip-level-zero \
|
||||||
-- "$@" \
|
-- "$@" \
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -165,6 +165,9 @@ ARGUMENTS_INFO="\"COMMAND LINE ARGUMENTS:
|
|||||||
--ver-xr-openxr=<ver>
|
--ver-xr-openxr=<ver>
|
||||||
Force version of OpenXR-SDK.
|
Force version of OpenXR-SDK.
|
||||||
|
|
||||||
|
--ver-level-zero=<ver>
|
||||||
|
Force version of OneAPI Level Zero library.
|
||||||
|
|
||||||
Note about the --ver-foo options:
|
Note about the --ver-foo options:
|
||||||
It may not always work as expected (some libs are actually checked out from a git rev...), yet it might help
|
It may not always work as expected (some libs are actually checked out from a git rev...), yet it might help
|
||||||
to fix some build issues (like LLVM mismatch with the version used by your graphic system).
|
to fix some build issues (like LLVM mismatch with the version used by your graphic system).
|
||||||
@@ -226,6 +229,9 @@ ARGUMENTS_INFO="\"COMMAND LINE ARGUMENTS:
|
|||||||
--build-xr-openxr
|
--build-xr-openxr
|
||||||
Force the build of OpenXR-SDK.
|
Force the build of OpenXR-SDK.
|
||||||
|
|
||||||
|
--build-level-zero=<ver>
|
||||||
|
Force the build of OneAPI Level Zero library.
|
||||||
|
|
||||||
Note about the --build-foo options:
|
Note about the --build-foo options:
|
||||||
* They force the script to prefer building dependencies rather than using available packages.
|
* They force the script to prefer building dependencies rather than using available packages.
|
||||||
This may make things simpler and allow working around some distribution bugs, but on the other hand it will
|
This may make things simpler and allow working around some distribution bugs, but on the other hand it will
|
||||||
@@ -293,6 +299,9 @@ ARGUMENTS_INFO="\"COMMAND LINE ARGUMENTS:
|
|||||||
--force-xr-openxr
|
--force-xr-openxr
|
||||||
Force the rebuild of OpenXR-SDK.
|
Force the rebuild of OpenXR-SDK.
|
||||||
|
|
||||||
|
--force-level-zero=<ver>
|
||||||
|
Force the rebuild of OneAPI Level Zero library.
|
||||||
|
|
||||||
Note about the --force-foo options:
|
Note about the --force-foo options:
|
||||||
* They obviously only have an effect if those libraries are built by this script
|
* They obviously only have an effect if those libraries are built by this script
|
||||||
(i.e. if there is no available and satisfactory package)!
|
(i.e. if there is no available and satisfactory package)!
|
||||||
@@ -351,7 +360,10 @@ ARGUMENTS_INFO="\"COMMAND LINE ARGUMENTS:
|
|||||||
Unconditionally skip Universal Scene Description installation/building.
|
Unconditionally skip Universal Scene Description installation/building.
|
||||||
|
|
||||||
--skip-xr-openxr
|
--skip-xr-openxr
|
||||||
Unconditionally skip OpenXR-SDK installation/building.\""
|
Unconditionally skip OpenXR-SDK installation/building.
|
||||||
|
|
||||||
|
--skip-level-zero=<ver>
|
||||||
|
Unconditionally skip OneAPI Level Zero installation/building.\""
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
# Main Vars
|
# Main Vars
|
||||||
@@ -453,7 +465,7 @@ TBB_VERSION="2020"
|
|||||||
TBB_VERSION_SHORT="2020"
|
TBB_VERSION_SHORT="2020"
|
||||||
TBB_VERSION_UPDATE="_U3" # Used for source packages...
|
TBB_VERSION_UPDATE="_U3" # Used for source packages...
|
||||||
TBB_VERSION_MIN="2018"
|
TBB_VERSION_MIN="2018"
|
||||||
TBB_VERSION_MEX="2022"
|
TBB_VERSION_MEX="2021" # 2021 introduces 'oneTBB', which has lots of compatibility breakage with previous versions
|
||||||
TBB_FORCE_BUILD=false
|
TBB_FORCE_BUILD=false
|
||||||
TBB_FORCE_REBUILD=false
|
TBB_FORCE_REBUILD=false
|
||||||
TBB_SKIP=false
|
TBB_SKIP=false
|
||||||
@@ -539,10 +551,10 @@ ALEMBIC_FORCE_BUILD=false
|
|||||||
ALEMBIC_FORCE_REBUILD=false
|
ALEMBIC_FORCE_REBUILD=false
|
||||||
ALEMBIC_SKIP=false
|
ALEMBIC_SKIP=false
|
||||||
|
|
||||||
USD_VERSION="21.02"
|
USD_VERSION="22.03"
|
||||||
USD_VERSION_SHORT="21.02"
|
USD_VERSION_SHORT="22.03"
|
||||||
USD_VERSION_MIN="20.05"
|
USD_VERSION_MIN="20.05"
|
||||||
USD_VERSION_MEX="22.00"
|
USD_VERSION_MEX="23.00"
|
||||||
USD_FORCE_BUILD=false
|
USD_FORCE_BUILD=false
|
||||||
USD_FORCE_REBUILD=false
|
USD_FORCE_REBUILD=false
|
||||||
USD_SKIP=false
|
USD_SKIP=false
|
||||||
@@ -573,14 +585,13 @@ OIDN_SKIP=false
|
|||||||
|
|
||||||
ISPC_VERSION="1.17.0"
|
ISPC_VERSION="1.17.0"
|
||||||
|
|
||||||
FFMPEG_VERSION="4.4"
|
LEVEL_ZERO_VERSION="1.7.15"
|
||||||
FFMPEG_VERSION_SHORT="4.4"
|
LEVEL_ZERO_VERSION_SHORT="1.7"
|
||||||
FFMPEG_VERSION_MIN="3.0"
|
LEVEL_ZERO_VERSION_MIN="1.7"
|
||||||
FFMPEG_VERSION_MEX="5.0"
|
LEVEL_ZERO_VERSION_MEX="2.0"
|
||||||
FFMPEG_FORCE_BUILD=false
|
LEVEL_ZERO_FORCE_BUILD=false
|
||||||
FFMPEG_FORCE_REBUILD=false
|
LEVEL_ZERO_FORCE_REBUILD=false
|
||||||
FFMPEG_SKIP=false
|
LEVEL_ZERO_SKIP=false
|
||||||
_ffmpeg_list_sep=";"
|
|
||||||
|
|
||||||
XR_OPENXR_VERSION="1.0.22"
|
XR_OPENXR_VERSION="1.0.22"
|
||||||
XR_OPENXR_VERSION_SHORT="1.0"
|
XR_OPENXR_VERSION_SHORT="1.0"
|
||||||
@@ -590,6 +601,15 @@ XR_OPENXR_FORCE_BUILD=false
|
|||||||
XR_OPENXR_FORCE_REBUILD=false
|
XR_OPENXR_FORCE_REBUILD=false
|
||||||
XR_OPENXR_SKIP=false
|
XR_OPENXR_SKIP=false
|
||||||
|
|
||||||
|
FFMPEG_VERSION="5.0"
|
||||||
|
FFMPEG_VERSION_SHORT="5.0"
|
||||||
|
FFMPEG_VERSION_MIN="4.0"
|
||||||
|
FFMPEG_VERSION_MEX="6.0"
|
||||||
|
FFMPEG_FORCE_BUILD=false
|
||||||
|
FFMPEG_FORCE_REBUILD=false
|
||||||
|
FFMPEG_SKIP=false
|
||||||
|
_ffmpeg_list_sep=";"
|
||||||
|
|
||||||
# FFMPEG optional libs.
|
# FFMPEG optional libs.
|
||||||
VORBIS_USE=false
|
VORBIS_USE=false
|
||||||
VORBIS_DEV=""
|
VORBIS_DEV=""
|
||||||
@@ -615,9 +635,6 @@ MP3LAME_DEV=""
|
|||||||
OPENJPEG_USE=false
|
OPENJPEG_USE=false
|
||||||
OPENJPEG_DEV=""
|
OPENJPEG_DEV=""
|
||||||
|
|
||||||
# Whether to use system GLEW or not (OpenSubDiv needs recent glew to work).
|
|
||||||
NO_SYSTEM_GLEW=false
|
|
||||||
|
|
||||||
# Switch to english language, else some things (like check_package_DEB()) won't work!
|
# Switch to english language, else some things (like check_package_DEB()) won't work!
|
||||||
LANG_BACK=$LANG
|
LANG_BACK=$LANG
|
||||||
LANG=""
|
LANG=""
|
||||||
@@ -781,6 +798,12 @@ while true; do
|
|||||||
XR_OPENXR_VERSION_SHORT=$XR_OPENXR_VERSION
|
XR_OPENXR_VERSION_SHORT=$XR_OPENXR_VERSION
|
||||||
shift; shift; continue
|
shift; shift; continue
|
||||||
;;
|
;;
|
||||||
|
--ver-level-zero)
|
||||||
|
LEVEL_ZERO_VERSION="$2"
|
||||||
|
LEVEL_ZERO_VERSION_MIN=$LEVEL_ZERO_VERSION
|
||||||
|
LEVEL_ZERO_VERSION_SHORT=$LEVEL_ZERO_VERSION
|
||||||
|
shift; shift; continue
|
||||||
|
;;
|
||||||
--build-all)
|
--build-all)
|
||||||
PYTHON_FORCE_BUILD=true
|
PYTHON_FORCE_BUILD=true
|
||||||
BOOST_FORCE_BUILD=true
|
BOOST_FORCE_BUILD=true
|
||||||
@@ -800,6 +823,7 @@ while true; do
|
|||||||
ALEMBIC_FORCE_BUILD=true
|
ALEMBIC_FORCE_BUILD=true
|
||||||
USD_FORCE_BUILD=true
|
USD_FORCE_BUILD=true
|
||||||
XR_OPENXR_FORCE_BUILD=true
|
XR_OPENXR_FORCE_BUILD=true
|
||||||
|
LEVEL_ZERO_FORCE_BUILD=true
|
||||||
shift; continue
|
shift; continue
|
||||||
;;
|
;;
|
||||||
--build-python)
|
--build-python)
|
||||||
@@ -857,6 +881,9 @@ while true; do
|
|||||||
--build-xr-openxr)
|
--build-xr-openxr)
|
||||||
XR_OPENXR_FORCE_BUILD=true; shift; continue
|
XR_OPENXR_FORCE_BUILD=true; shift; continue
|
||||||
;;
|
;;
|
||||||
|
--build-level-zero)
|
||||||
|
LEVEL_ZERO_FORCE_BUILD=true; shift; continue
|
||||||
|
;;
|
||||||
--force-all)
|
--force-all)
|
||||||
PYTHON_FORCE_REBUILD=true
|
PYTHON_FORCE_REBUILD=true
|
||||||
BOOST_FORCE_REBUILD=true
|
BOOST_FORCE_REBUILD=true
|
||||||
@@ -876,6 +903,7 @@ while true; do
|
|||||||
ALEMBIC_FORCE_REBUILD=true
|
ALEMBIC_FORCE_REBUILD=true
|
||||||
USD_FORCE_REBUILD=true
|
USD_FORCE_REBUILD=true
|
||||||
XR_OPENXR_FORCE_REBUILD=true
|
XR_OPENXR_FORCE_REBUILD=true
|
||||||
|
LEVEL_ZERO_FORCE_REBUILD=true
|
||||||
shift; continue
|
shift; continue
|
||||||
;;
|
;;
|
||||||
--force-python)
|
--force-python)
|
||||||
@@ -933,6 +961,9 @@ while true; do
|
|||||||
--force-xr-openxr)
|
--force-xr-openxr)
|
||||||
XR_OPENXR_FORCE_REBUILD=true; shift; continue
|
XR_OPENXR_FORCE_REBUILD=true; shift; continue
|
||||||
;;
|
;;
|
||||||
|
--force-level-zero)
|
||||||
|
LEVEL_ZERO_FORCE_REBUILD=true; shift; continue
|
||||||
|
;;
|
||||||
--skip-python)
|
--skip-python)
|
||||||
PYTHON_SKIP=true; shift; continue
|
PYTHON_SKIP=true; shift; continue
|
||||||
;;
|
;;
|
||||||
@@ -987,6 +1018,9 @@ while true; do
|
|||||||
--skip-xr-openxr)
|
--skip-xr-openxr)
|
||||||
XR_OPENXR_SKIP=true; shift; continue
|
XR_OPENXR_SKIP=true; shift; continue
|
||||||
;;
|
;;
|
||||||
|
--skip-level-zero)
|
||||||
|
LEVEL_ZERO_SKIP=true; shift; continue
|
||||||
|
;;
|
||||||
--)
|
--)
|
||||||
# no more arguments to parse
|
# no more arguments to parse
|
||||||
break
|
break
|
||||||
@@ -1128,14 +1162,16 @@ OIDN_SOURCE=( "https://github.com/OpenImageDenoise/oidn/releases/download/v${OID
|
|||||||
|
|
||||||
ISPC_BINARY=( "https://github.com/ispc/ispc/releases/download/v${ISPC_VERSION}/ispc-v${ISPC_VERSION}-linux.tar.gz" )
|
ISPC_BINARY=( "https://github.com/ispc/ispc/releases/download/v${ISPC_VERSION}/ispc-v${ISPC_VERSION}-linux.tar.gz" )
|
||||||
|
|
||||||
FFMPEG_SOURCE=( "http://ffmpeg.org/releases/ffmpeg-$FFMPEG_VERSION.tar.bz2" )
|
|
||||||
|
|
||||||
XR_OPENXR_USE_REPO=false
|
XR_OPENXR_USE_REPO=false
|
||||||
XR_OPENXR_SOURCE=("https://github.com/KhronosGroup/OpenXR-SDK/archive/release-${XR_OPENXR_VERSION}.tar.gz")
|
XR_OPENXR_SOURCE=("https://github.com/KhronosGroup/OpenXR-SDK/archive/release-${XR_OPENXR_VERSION}.tar.gz")
|
||||||
XR_OPENXR_SOURCE_REPO=("https://github.com/KhronosGroup/OpenXR-SDK.git")
|
XR_OPENXR_SOURCE_REPO=("https://github.com/KhronosGroup/OpenXR-SDK.git")
|
||||||
XR_OPENXR_REPO_UID="458984d7f59d1ae6dc1b597d94b02e4f7132eaba"
|
XR_OPENXR_REPO_UID="458984d7f59d1ae6dc1b597d94b02e4f7132eaba"
|
||||||
XR_OPENXR_REPO_BRANCH="master"
|
XR_OPENXR_REPO_BRANCH="master"
|
||||||
|
|
||||||
|
LEVEL_ZERO_SOURCE=("https://github.com/oneapi-src/level-zero/archive/refs/tags/v${LEVEL_ZERO_VERSION}.tar.gz")
|
||||||
|
|
||||||
|
FFMPEG_SOURCE=( "http://ffmpeg.org/releases/ffmpeg-$FFMPEG_VERSION.tar.bz2" )
|
||||||
|
|
||||||
# C++11 is required now
|
# C++11 is required now
|
||||||
CXXFLAGS_BACK=$CXXFLAGS
|
CXXFLAGS_BACK=$CXXFLAGS
|
||||||
CXXFLAGS="$CXXFLAGS -std=c++11"
|
CXXFLAGS="$CXXFLAGS -std=c++11"
|
||||||
@@ -1154,7 +1190,7 @@ Those libraries should be available as packages in all recent distributions (opt
|
|||||||
* libx11, libxcursor, libxi, libxrandr, libxinerama (and other libx... as needed).
|
* libx11, libxcursor, libxi, libxrandr, libxinerama (and other libx... as needed).
|
||||||
* libwayland-client0, libwayland-cursor0, libwayland-egl1, libxkbcommon0, libdbus-1-3, libegl1 (Wayland)
|
* libwayland-client0, libwayland-cursor0, libwayland-egl1, libxkbcommon0, libdbus-1-3, libegl1 (Wayland)
|
||||||
* libsqlite3, libzstd, libbz2, libssl, libfftw3, libxml2, libtinyxml, yasm, libyaml-cpp, flex.
|
* libsqlite3, libzstd, libbz2, libssl, libfftw3, libxml2, libtinyxml, yasm, libyaml-cpp, flex.
|
||||||
* libsdl2, libglew, libpugixml, libpotrace, [libgmp], [libglewmx], fontconfig, [libharu/libhpdf].\""
|
* libsdl2, libglew, libpugixml, libpotrace, [libgmp], fontconfig, [libharu/libhpdf].\""
|
||||||
|
|
||||||
DEPS_SPECIFIC_INFO="\"BUILDABLE DEPENDENCIES:
|
DEPS_SPECIFIC_INFO="\"BUILDABLE DEPENDENCIES:
|
||||||
|
|
||||||
@@ -1187,7 +1223,8 @@ You may also want to build them yourself (optional ones are [between brackets]):
|
|||||||
* [OpenImageDenoise $OIDN_VERSION] (from $OIDN_SOURCE).
|
* [OpenImageDenoise $OIDN_VERSION] (from $OIDN_SOURCE).
|
||||||
* [Alembic $ALEMBIC_VERSION] (from $ALEMBIC_SOURCE).
|
* [Alembic $ALEMBIC_VERSION] (from $ALEMBIC_SOURCE).
|
||||||
* [Universal Scene Description $USD_VERSION] (from $USD_SOURCE).
|
* [Universal Scene Description $USD_VERSION] (from $USD_SOURCE).
|
||||||
* [OpenXR-SDK $XR_OPENXR_VERSION] (from $XR_OPENXR_SOURCE).\""
|
* [OpenXR-SDK $XR_OPENXR_VERSION] (from $XR_OPENXR_SOURCE).
|
||||||
|
* [OneAPI Level Zero $LEVEL_ZERO_VERSION] (from $LEVEL_ZERO_SOURCE).\""
|
||||||
|
|
||||||
if [ "$DO_SHOW_DEPS" = true ]; then
|
if [ "$DO_SHOW_DEPS" = true ]; then
|
||||||
PRINT ""
|
PRINT ""
|
||||||
@@ -1647,7 +1684,7 @@ compile_TBB() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# To be changed each time we make edits that would modify the compiled result!
|
# To be changed each time we make edits that would modify the compiled result!
|
||||||
tbb_magic=0
|
tbb_magic=1
|
||||||
_init_tbb
|
_init_tbb
|
||||||
|
|
||||||
# Force having own builds for the dependencies.
|
# Force having own builds for the dependencies.
|
||||||
@@ -2656,14 +2693,13 @@ compile_OSD() {
|
|||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
if [ -d $INST/tbb ]; then
|
|
||||||
cmake_d="$cmake_d $cmake_d -D TBB_LOCATION=$INST/tbb"
|
|
||||||
fi
|
|
||||||
cmake_d="-D CMAKE_BUILD_TYPE=Release"
|
cmake_d="-D CMAKE_BUILD_TYPE=Release"
|
||||||
|
if [ -d $INST/tbb ]; then
|
||||||
|
cmake_d="$cmake_d -D TBB_LOCATION=$INST/tbb"
|
||||||
|
fi
|
||||||
cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst"
|
cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst"
|
||||||
# ptex is only needed when nicholas bishop is ready
|
|
||||||
cmake_d="$cmake_d -D NO_PTEX=1"
|
cmake_d="$cmake_d -D NO_PTEX=1"
|
||||||
cmake_d="$cmake_d -D NO_CLEW=1 -D NO_CUDA=1 -D NO_OPENCL=1"
|
cmake_d="$cmake_d -D NO_CLEW=1 -D NO_CUDA=1 -D NO_OPENCL=1 -D NO_GLEW=1"
|
||||||
# maya plugin, docs, tutorials, regression tests and examples are not needed
|
# maya plugin, docs, tutorials, regression tests and examples are not needed
|
||||||
cmake_d="$cmake_d -D NO_MAYA=1 -D NO_DOC=1 -D NO_TUTORIALS=1 -D NO_REGRESSION=1 -DNO_EXAMPLES=1"
|
cmake_d="$cmake_d -D NO_MAYA=1 -D NO_DOC=1 -D NO_TUTORIALS=1 -D NO_REGRESSION=1 -DNO_EXAMPLES=1"
|
||||||
|
|
||||||
@@ -3286,7 +3322,7 @@ compile_Embree() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# To be changed each time we make edits that would modify the compiled results!
|
# To be changed each time we make edits that would modify the compiled results!
|
||||||
embree_magic=10
|
embree_magic=11
|
||||||
_init_embree
|
_init_embree
|
||||||
|
|
||||||
# Force having own builds for the dependencies.
|
# Force having own builds for the dependencies.
|
||||||
@@ -3346,7 +3382,7 @@ compile_Embree() {
|
|||||||
|
|
||||||
cmake_d="$cmake_d -D EMBREE_TASKING_SYSTEM=TBB"
|
cmake_d="$cmake_d -D EMBREE_TASKING_SYSTEM=TBB"
|
||||||
if [ -d $INST/tbb ]; then
|
if [ -d $INST/tbb ]; then
|
||||||
make_d="$make_d EMBREE_TBB_ROOT=$INST/tbb"
|
cmake_d="$cmake_d -D EMBREE_TBB_ROOT=$INST/tbb"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cmake $cmake_d ../
|
cmake $cmake_d ../
|
||||||
@@ -3485,7 +3521,7 @@ compile_OIDN() {
|
|||||||
install_ISPC
|
install_ISPC
|
||||||
|
|
||||||
# To be changed each time we make edits that would modify the compiled results!
|
# To be changed each time we make edits that would modify the compiled results!
|
||||||
oidn_magic=9
|
oidn_magic=10
|
||||||
_init_oidn
|
_init_oidn
|
||||||
|
|
||||||
# Force having own builds for the dependencies.
|
# Force having own builds for the dependencies.
|
||||||
@@ -3541,7 +3577,7 @@ compile_OIDN() {
|
|||||||
cmake_d="$cmake_d -D ISPC_DIR_HINT=$_ispc_path_bin"
|
cmake_d="$cmake_d -D ISPC_DIR_HINT=$_ispc_path_bin"
|
||||||
|
|
||||||
if [ -d $INST/tbb ]; then
|
if [ -d $INST/tbb ]; then
|
||||||
make_d="$make_d TBB_ROOT=$INST/tbb"
|
cmake_d="$cmake_d -D TBB_ROOT=$INST/tbb"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cmake $cmake_d ../
|
cmake $cmake_d ../
|
||||||
@@ -3822,6 +3858,103 @@ compile_XR_OpenXR_SDK() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------------------
|
||||||
|
# Build OneAPI Level Zero library.
|
||||||
|
|
||||||
|
_init_level_zero() {
|
||||||
|
_src=$SRC/level-zero-$LEVEL_ZERO_VERSION
|
||||||
|
_git=false
|
||||||
|
_inst=$INST/level-zero-$LEVEL_ZERO_VERSION_SHORT
|
||||||
|
_inst_shortcut=$INST/level-zero
|
||||||
|
}
|
||||||
|
|
||||||
|
_update_deps_level_zero() {
|
||||||
|
:
|
||||||
|
}
|
||||||
|
|
||||||
|
clean_Level_Zero() {
|
||||||
|
_init_level_zero
|
||||||
|
if [ -d $_inst ]; then
|
||||||
|
# Force rebuilding the dependencies if needed.
|
||||||
|
_update_deps_level_zero false true
|
||||||
|
fi
|
||||||
|
_clean
|
||||||
|
}
|
||||||
|
|
||||||
|
compile_Level_Zero() {
|
||||||
|
if [ "$NO_BUILD" = true ]; then
|
||||||
|
WARNING "--no-build enabled, Level Zero will not be compiled!"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# To be changed each time we make edits that would modify the compiled result!
|
||||||
|
level_zero_magic=1
|
||||||
|
_init_level_zero
|
||||||
|
|
||||||
|
# Force having own builds for the dependencies.
|
||||||
|
_update_deps_level_zero true false
|
||||||
|
|
||||||
|
# Clean install if needed!
|
||||||
|
magic_compile_check level-zero-$LEVEL_ZERO_VERSION $level_zero_magic
|
||||||
|
if [ $? -eq 1 -o "$LEVEL_ZERO_FORCE_REBUILD" = true ]; then
|
||||||
|
clean_Level_Zero
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d $_inst ]; then
|
||||||
|
INFO "Building Level-Zero-$LEVEL_ZERO_VERSION"
|
||||||
|
|
||||||
|
# Force rebuilding the dependencies.
|
||||||
|
_update_deps_level_zero true true
|
||||||
|
|
||||||
|
prepare_inst
|
||||||
|
|
||||||
|
if [ ! -d $_src ]; then
|
||||||
|
mkdir -p $SRC
|
||||||
|
|
||||||
|
download LEVEL_ZERO_SOURCE[@] "$_src.tar.gz"
|
||||||
|
INFO "Unpacking Level-Zero-$LEVEL_ZERO_VERSION"
|
||||||
|
tar -C $SRC -xf $_src.tar.gz
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $_src
|
||||||
|
|
||||||
|
# Always refresh the whole build!
|
||||||
|
if [ -d build ]; then
|
||||||
|
rm -rf build
|
||||||
|
fi
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
|
||||||
|
# Keep flags in sync with LEVEL_ZERO_EXTRA_ARGS in level-zero.cmake!
|
||||||
|
cmake_d="-D CMAKE_BUILD_TYPE=Release"
|
||||||
|
cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst"
|
||||||
|
|
||||||
|
cmake $cmake_d ..
|
||||||
|
|
||||||
|
make -j$THREADS && make install
|
||||||
|
make clean
|
||||||
|
|
||||||
|
if [ ! -d $_inst ]; then
|
||||||
|
ERROR "Level-Zero-$LEVEL_ZERO_VERSION failed to compile, exiting"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
magic_compile_set level-zero-$LEVEL_ZERO_VERSION $level_zero_magic
|
||||||
|
|
||||||
|
cd $CWD
|
||||||
|
INFO "Done compiling Level-Zero-$LEVEL_ZERO_VERSION!"
|
||||||
|
else
|
||||||
|
INFO "Own Level-Zero-$LEVEL_ZERO_VERSION is up to date, nothing to do!"
|
||||||
|
INFO "If you want to force rebuild of this lib, use the --force-level-zero option."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d $_inst ]; then
|
||||||
|
_create_inst_shortcut
|
||||||
|
fi
|
||||||
|
run_ldconfig "level-zero"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
# Install on DEB-like
|
# Install on DEB-like
|
||||||
|
|
||||||
@@ -3925,7 +4058,6 @@ install_DEB() {
|
|||||||
libopenal-dev libglew-dev yasm \
|
libopenal-dev libglew-dev yasm \
|
||||||
libsdl2-dev libfftw3-dev patch bzip2 libxml2-dev libtinyxml-dev libjemalloc-dev \
|
libsdl2-dev libfftw3-dev patch bzip2 libxml2-dev libtinyxml-dev libjemalloc-dev \
|
||||||
libgmp-dev libpugixml-dev libpotrace-dev libhpdf-dev libzstd-dev libpystring-dev"
|
libgmp-dev libpugixml-dev libpotrace-dev libhpdf-dev libzstd-dev libpystring-dev"
|
||||||
# libglewmx-dev (broken in deb testing currently...)
|
|
||||||
|
|
||||||
VORBIS_USE=true
|
VORBIS_USE=true
|
||||||
OGG_USE=true
|
OGG_USE=true
|
||||||
@@ -4034,7 +4166,7 @@ install_DEB() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check cmake/glew versions and disable features for older distros.
|
# Check cmake version and disable features for older distros.
|
||||||
# This is so Blender can at least compile.
|
# This is so Blender can at least compile.
|
||||||
PRINT ""
|
PRINT ""
|
||||||
_cmake=`get_package_version_DEB cmake`
|
_cmake=`get_package_version_DEB cmake`
|
||||||
@@ -4051,28 +4183,6 @@ install_DEB() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PRINT ""
|
|
||||||
_glew=`get_package_version_DEB libglew-dev`
|
|
||||||
if [ -z $_glew ]; then
|
|
||||||
# Stupid virtual package in Ubuntu 12.04 doesn't show version number...
|
|
||||||
_glew=`apt-cache showpkg libglew-dev|tail -n1|awk '{print $2}'|sed 's/-.*//'`
|
|
||||||
fi
|
|
||||||
version_ge $_glew "1.9.0"
|
|
||||||
if [ $? -eq 1 ]; then
|
|
||||||
version_ge $_glew "1.7.0"
|
|
||||||
if [ $? -eq 1 ]; then
|
|
||||||
WARNING "OpenSubdiv disabled because GLEW-$_glew is not enough"
|
|
||||||
WARNING "Blender will not use system GLEW library"
|
|
||||||
OSD_SKIP=true
|
|
||||||
NO_SYSTEM_GLEW=true
|
|
||||||
else
|
|
||||||
WARNING "OpenSubdiv will compile with GLEW-$_glew but with limited capability"
|
|
||||||
WARNING "Blender will not use system GLEW library"
|
|
||||||
NO_SYSTEM_GLEW=true
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
PRINT ""
|
PRINT ""
|
||||||
_do_compile_python=false
|
_do_compile_python=false
|
||||||
if [ "$PYTHON_SKIP" = true ]; then
|
if [ "$PYTHON_SKIP" = true ]; then
|
||||||
@@ -4458,6 +4568,18 @@ install_DEB() {
|
|||||||
PRINT ""
|
PRINT ""
|
||||||
compile_XR_OpenXR_SDK
|
compile_XR_OpenXR_SDK
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
PRINT ""
|
||||||
|
if [ "$LEVEL_ZERO_SKIP" = true ]; then
|
||||||
|
WARNING "Skipping Level Zero installation, as requested..."
|
||||||
|
elif [ "$LEVEL_ZERO_FORCE_BUILD" = true ]; then
|
||||||
|
INFO "Forced Level Zero building, as requested..."
|
||||||
|
compile_Level_Zero
|
||||||
|
else
|
||||||
|
# No package currently!
|
||||||
|
PRINT ""
|
||||||
|
compile_Level_Zero
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -5144,6 +5266,18 @@ install_RPM() {
|
|||||||
# No package currently!
|
# No package currently!
|
||||||
compile_XR_OpenXR_SDK
|
compile_XR_OpenXR_SDK
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
PRINT ""
|
||||||
|
if [ "$LEVEL_ZERO_SKIP" = true ]; then
|
||||||
|
WARNING "Skipping Level Zero installation, as requested..."
|
||||||
|
elif [ "$LEVEL_ZERO_FORCE_BUILD" = true ]; then
|
||||||
|
INFO "Forced Level Zero building, as requested..."
|
||||||
|
compile_Level_Zero
|
||||||
|
else
|
||||||
|
# No package currently!
|
||||||
|
PRINT ""
|
||||||
|
compile_Level_Zero
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -5721,6 +5855,18 @@ install_ARCH() {
|
|||||||
# No package currently!
|
# No package currently!
|
||||||
compile_XR_OpenXR_SDK
|
compile_XR_OpenXR_SDK
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
PRINT ""
|
||||||
|
if [ "$LEVEL_ZERO_SKIP" = true ]; then
|
||||||
|
WARNING "Skipping Level Zero installation, as requested..."
|
||||||
|
elif [ "$LEVEL_ZERO_FORCE_BUILD" = true ]; then
|
||||||
|
INFO "Forced Level Zero building, as requested..."
|
||||||
|
compile_Level_Zero
|
||||||
|
else
|
||||||
|
# No package currently!
|
||||||
|
PRINT ""
|
||||||
|
compile_Level_Zero
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -5895,6 +6041,14 @@ install_OTHER() {
|
|||||||
INFO "Forced OpenXR-SDK building, as requested..."
|
INFO "Forced OpenXR-SDK building, as requested..."
|
||||||
compile_XR_OpenXR_SDK
|
compile_XR_OpenXR_SDK
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
PRINT ""
|
||||||
|
if [ "$LEVEL_ZERO_SKIP" = true ]; then
|
||||||
|
WARNING "Skipping Level Zero installation, as requested..."
|
||||||
|
elif [ "$LEVEL_ZERO_FORCE_BUILD" = true ]; then
|
||||||
|
INFO "Forced Level Zero building, as requested..."
|
||||||
|
compile_Level_Zero
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
@@ -6109,12 +6263,6 @@ print_info() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$NO_SYSTEM_GLEW" = true ]; then
|
|
||||||
_1="-D WITH_SYSTEM_GLEW=OFF"
|
|
||||||
PRINT " $_1"
|
|
||||||
_buildargs="$_buildargs $_1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$FFMPEG_SKIP" = false ]; then
|
if [ "$FFMPEG_SKIP" = false ]; then
|
||||||
_1="-D WITH_CODEC_FFMPEG=ON"
|
_1="-D WITH_CODEC_FFMPEG=ON"
|
||||||
PRINT " $_1"
|
PRINT " $_1"
|
||||||
@@ -6137,6 +6285,18 @@ print_info() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Not yet available in Blender.
|
||||||
|
#~ if [ "$LEVEL_ZERO_SKIP" = false ]; then
|
||||||
|
#~ _1="-D WITH_LEVEL_ZERO=ON"
|
||||||
|
#~ PRINT " $_1"
|
||||||
|
#~ _buildargs="$_buildargs $_1"
|
||||||
|
#~ if [ -d $INST/level-zero ]; then
|
||||||
|
#~ _1="-D LEVEL_ZERO_ROOT_DIR=$INST/level-zero"
|
||||||
|
#~ PRINT " $_1"
|
||||||
|
#~ _buildargs="$_buildargs $_1"
|
||||||
|
#~ fi
|
||||||
|
#~ fi
|
||||||
|
|
||||||
PRINT ""
|
PRINT ""
|
||||||
PRINT "Or even simpler, just run (in your blender-source dir):"
|
PRINT "Or even simpler, just run (in your blender-source dir):"
|
||||||
PRINT " make -j$THREADS BUILD_CMAKE_ARGS=\"$_buildargs\""
|
PRINT " make -j$THREADS BUILD_CMAKE_ARGS=\"$_buildargs\""
|
||||||
|
@@ -0,0 +1,32 @@
|
|||||||
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
# Copyright Contributors to the OpenColorIO Project.
|
||||||
|
|
||||||
|
project(pystring)
|
||||||
|
|
||||||
|
cmake_minimum_required(VERSION 3.10)
|
||||||
|
|
||||||
|
set(HEADERS
|
||||||
|
pystring.h
|
||||||
|
)
|
||||||
|
|
||||||
|
set(SOURCES
|
||||||
|
pystring.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
add_library(${PROJECT_NAME} STATIC ${HEADERS} ${SOURCES})
|
||||||
|
|
||||||
|
if(UNIX)
|
||||||
|
set(pystring_CXX_FLAGS "${pystring_CXX_FLAGS} -fPIC")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||||
|
COMPILE_FLAGS "${PLATFORM_COMPILE_FLAGS} ${pystring_CXX_FLAGS}"
|
||||||
|
PUBLIC_HEADER "${HEADERS}"
|
||||||
|
)
|
||||||
|
|
||||||
|
install(TARGETS ${PROJECT_NAME}
|
||||||
|
RUNTIME DESTINATION bin
|
||||||
|
LIBRARY DESTINATION lib
|
||||||
|
ARCHIVE DESTINATION lib
|
||||||
|
PUBLIC_HEADER DESTINATION include/pystring
|
||||||
|
)
|
@@ -1,26 +0,0 @@
|
|||||||
--- CmakeLists.txt.orig 2015-12-31 03:46:41 -0700
|
|
||||||
+++ CMakeLists.txt 2016-04-01 13:28:33 -0600
|
|
||||||
@@ -22,3 +22,10 @@
|
|
||||||
|
|
||||||
add_executable(testcuew cuewTest/cuewTest.c include/cuew.h)
|
|
||||||
target_link_libraries(testcuew cuew ${CMAKE_DL_LIBS})
|
|
||||||
+
|
|
||||||
+install(TARGETS cuew
|
|
||||||
+ LIBRARY DESTINATION lib COMPONENT libraries
|
|
||||||
+ ARCHIVE DESTINATION lib/static COMPONENT libraries)
|
|
||||||
+
|
|
||||||
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/cuew.h
|
|
||||||
+ DESTINATION include/)
|
|
||||||
\ No newline at end of file
|
|
||||||
--- src/cuew.c 2016-04-01 13:41:43 -0600
|
|
||||||
+++ src/cuew.c 2016-04-01 13:41:11 -0600
|
|
||||||
@@ -15,7 +15,9 @@
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
+#if _MSC_VER < 1900
|
|
||||||
# define snprintf _snprintf
|
|
||||||
+#endif
|
|
||||||
# define popen _popen
|
|
||||||
# define pclose _pclose
|
|
||||||
# define _CRT_SECURE_NO_WARNINGS
|
|
54
build_files/build_environment/patches/dpcpp.diff
Normal file
54
build_files/build_environment/patches/dpcpp.diff
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
diff -Naur external_dpcpp.orig/sycl/source/CMakeLists.txt external_dpcpp/sycl/source/CMakeLists.txt
|
||||||
|
--- external_dpcpp.orig/sycl/source/CMakeLists.txt 2022-05-20 04:19:45.067771362 +0000
|
||||||
|
+++ external_dpcpp/sycl/source/CMakeLists.txt 2022-05-20 04:21:49.708025048 +0000
|
||||||
|
@@ -66,10 +66,10 @@
|
||||||
|
target_compile_options(${LIB_OBJ_NAME} PUBLIC
|
||||||
|
-fvisibility=hidden -fvisibility-inlines-hidden)
|
||||||
|
set(linker_script "${CMAKE_CURRENT_SOURCE_DIR}/ld-version-script.txt")
|
||||||
|
- set(abi_linker_script "${CMAKE_CURRENT_SOURCE_DIR}/abi_replacements_linux.txt")
|
||||||
|
- target_link_libraries(
|
||||||
|
- ${LIB_NAME} PRIVATE "-Wl,${abi_linker_script}")
|
||||||
|
- set_target_properties(${LIB_NAME} PROPERTIES LINK_DEPENDS ${abi_linker_script})
|
||||||
|
+# set(abi_linker_script "${CMAKE_CURRENT_SOURCE_DIR}/abi_replacements_linux.txt")
|
||||||
|
+# target_link_libraries(
|
||||||
|
+# ${LIB_NAME} PRIVATE "-Wl,${abi_linker_script}")
|
||||||
|
+# set_target_properties(${LIB_NAME} PROPERTIES LINK_DEPENDS ${abi_linker_script})
|
||||||
|
target_link_libraries(
|
||||||
|
${LIB_NAME} PRIVATE "-Wl,--version-script=${linker_script}")
|
||||||
|
set_target_properties(${LIB_NAME} PROPERTIES LINK_DEPENDS ${linker_script})
|
||||||
|
diff -Naur llvm-sycl-nightly-20220501.orig\opencl/CMakeLists.txt llvm-sycl-nightly-20220501\opencl/CMakeLists.txt
|
||||||
|
--- llvm-sycl-nightly-20220501.orig/opencl/CMakeLists.txt 2022-04-29 13:47:11 -0600
|
||||||
|
+++ llvm-sycl-nightly-20220501/opencl/CMakeLists.txt 2022-05-21 15:25:06 -0600
|
||||||
|
@@ -11,6 +11,11 @@
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
+# Blender code below is determined to use FetchContent_Declare
|
||||||
|
+# temporarily allow it (but feed it our downloaded tarball
|
||||||
|
+# in the OpenCL_HEADERS variable
|
||||||
|
+set(FETCHCONTENT_FULLY_DISCONNECTED OFF)
|
||||||
|
+
|
||||||
|
# Repo URLs
|
||||||
|
|
||||||
|
set(OCL_HEADERS_REPO
|
||||||
|
@@ -77,5 +82,6 @@
|
||||||
|
|
||||||
|
FetchContent_MakeAvailable(ocl-icd)
|
||||||
|
add_library(OpenCL-ICD ALIAS OpenCL)
|
||||||
|
+set(FETCHCONTENT_FULLY_DISCONNECTED ON)
|
||||||
|
|
||||||
|
add_subdirectory(opencl-aot)
|
||||||
|
diff -Naur llvm-sycl-nightly-20220208.orig/libdevice/cmake/modules/SYCLLibdevice.cmake llvm-sycl-nightly-20220208/libdevice/cmake/modules/SYCLLibdevice.cmake
|
||||||
|
--- llvm-sycl-nightly-20220208.orig/libdevice/cmake/modules/SYCLLibdevice.cmake 2022-02-08 09:17:24 -0700
|
||||||
|
+++ llvm-sycl-nightly-20220208/libdevice/cmake/modules/SYCLLibdevice.cmake 2022-05-24 11:35:51 -0600
|
||||||
|
@@ -36,7 +36,9 @@
|
||||||
|
add_custom_target(libsycldevice-obj)
|
||||||
|
add_custom_target(libsycldevice-spv)
|
||||||
|
|
||||||
|
-add_custom_target(libsycldevice DEPENDS
|
||||||
|
+# Blender: add ALL here otherwise this target will not build
|
||||||
|
+# and cause an error due to missing files during the install phase.
|
||||||
|
+add_custom_target(libsycldevice ALL DEPENDS
|
||||||
|
libsycldevice-obj
|
||||||
|
libsycldevice-spv)
|
||||||
|
|
@@ -12,3 +12,19 @@ diff -Naur orig/common/sys/platform.h external_embree/common/sys/platform.h
|
|||||||
#else
|
#else
|
||||||
#define dll_export __attribute__ ((visibility ("default")))
|
#define dll_export __attribute__ ((visibility ("default")))
|
||||||
#define dll_import
|
#define dll_import
|
||||||
|
diff --git orig/common/tasking/CMakeLists.txt external_embree/common/tasking/CMakeLists.txt
|
||||||
|
--- orig/common/tasking/CMakeLists.txt
|
||||||
|
+++ external_embree/common/tasking/CMakeLists.txt
|
||||||
|
@@ -27,7 +27,11 @@
|
||||||
|
else()
|
||||||
|
# If not found try getting older TBB via module (FindTBB.cmake)
|
||||||
|
unset(TBB_DIR CACHE)
|
||||||
|
- find_package(TBB 4.1 REQUIRED tbb)
|
||||||
|
+ if (TBB_STATIC_LIB)
|
||||||
|
+ find_package(TBB 4.1 REQUIRED tbb_static)
|
||||||
|
+ else()
|
||||||
|
+ find_package(TBB 4.1 REQUIRED tbb)
|
||||||
|
+ endif()
|
||||||
|
if (TBB_FOUND)
|
||||||
|
TARGET_LINK_LIBRARIES(tasking PUBLIC TBB)
|
||||||
|
TARGET_INCLUDE_DIRECTORIES(tasking PUBLIC "${TBB_INCLUDE_DIRS}")
|
||||||
|
15
build_files/build_environment/patches/flex.diff
Normal file
15
build_files/build_environment/patches/flex.diff
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index c6f12d644..3c977a4e3 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -25,8 +25,10 @@
|
||||||
|
# autoconf requirements and initialization
|
||||||
|
|
||||||
|
AC_INIT([the fast lexical analyser generator],[2.6.4],[flex-help@lists.sourceforge.net],[flex])
|
||||||
|
+AC_PREREQ([2.60])
|
||||||
|
AC_CONFIG_SRCDIR([src/scan.l])
|
||||||
|
AC_CONFIG_AUX_DIR([build-aux])
|
||||||
|
+AC_USE_SYSTEM_EXTENSIONS
|
||||||
|
LT_INIT
|
||||||
|
AM_INIT_AUTOMAKE([1.15 -Wno-portability foreign std-options dist-lzip parallel-tests subdir-objects])
|
||||||
|
AC_CONFIG_HEADER([src/config.h])
|
44
build_files/build_environment/patches/igc_opencl_clang.diff
Normal file
44
build_files/build_environment/patches/igc_opencl_clang.diff
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
diff -Naur external_igc_opencl_clang.orig/CMakeLists.txt external_igc_opencl_clang/CMakeLists.txt
|
||||||
|
--- external_igc_opencl_clang.orig/CMakeLists.txt 2022-03-16 05:51:10 -0600
|
||||||
|
+++ external_igc_opencl_clang/CMakeLists.txt 2022-05-23 10:40:09 -0600
|
||||||
|
@@ -126,22 +126,24 @@
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
-
|
||||||
|
- set(SPIRV_BASE_REVISION llvm_release_110)
|
||||||
|
- set(TARGET_BRANCH "ocl-open-110")
|
||||||
|
- get_filename_component(LLVM_MONOREPO_DIR ${LLVM_SOURCE_DIR} DIRECTORY)
|
||||||
|
- set(LLVM_PATCHES_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm
|
||||||
|
- ${CMAKE_CURRENT_SOURCE_DIR}/patches/clang)
|
||||||
|
- apply_patches(${LLVM_MONOREPO_DIR}
|
||||||
|
- "${LLVM_PATCHES_DIRS}"
|
||||||
|
- ${LLVM_BASE_REVISION}
|
||||||
|
- ${TARGET_BRANCH}
|
||||||
|
- ret)
|
||||||
|
- apply_patches(${SPIRV_SOURCE_DIR}
|
||||||
|
- ${CMAKE_CURRENT_SOURCE_DIR}/patches/spirv
|
||||||
|
- ${SPIRV_BASE_REVISION}
|
||||||
|
- ${TARGET_BRANCH}
|
||||||
|
- ret)
|
||||||
|
+ #
|
||||||
|
+ # Blender: Why apply these manually in igc.cmake
|
||||||
|
+ #
|
||||||
|
+ #set(SPIRV_BASE_REVISION llvm_release_110)
|
||||||
|
+ #set(TARGET_BRANCH "ocl-open-110")
|
||||||
|
+ #get_filename_component(LLVM_MONOREPO_DIR ${LLVM_SOURCE_DIR} DIRECTORY)
|
||||||
|
+ #set(LLVM_PATCHES_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm
|
||||||
|
+ # ${CMAKE_CURRENT_SOURCE_DIR}/patches/clang)
|
||||||
|
+ #apply_patches(${LLVM_MONOREPO_DIR}
|
||||||
|
+ # "${LLVM_PATCHES_DIRS}"
|
||||||
|
+ # ${LLVM_BASE_REVISION}
|
||||||
|
+ # ${TARGET_BRANCH}
|
||||||
|
+ # ret)
|
||||||
|
+ #apply_patches(${SPIRV_SOURCE_DIR}
|
||||||
|
+ # ${CMAKE_CURRENT_SOURCE_DIR}/patches/spirv
|
||||||
|
+ # ${SPIRV_BASE_REVISION}
|
||||||
|
+ # ${TARGET_BRANCH}
|
||||||
|
+ # ret)
|
||||||
|
endif(NOT USE_PREBUILT_LLVM)
|
||||||
|
|
||||||
|
#
|
@@ -1,43 +1,6 @@
|
|||||||
diff -Naur external_ispc/CMakeLists.txt external_ispc_fixed/CMakeLists.txt
|
diff -Naur ispc-1.17.0.org/CMakeLists.txt ispc-1.17.0/CMakeLists.txt
|
||||||
--- external_ispc/CMakeLists.txt 2020-04-23 17:29:06 -0600
|
--- ispc-1.17.0.org/CMakeLists.txt 2022-01-15 01:35:15 -0700
|
||||||
+++ external_ispc_fixed/CMakeLists.txt 2020-05-05 09:01:09 -0600
|
+++ ispc-1.17.0/CMakeLists.txt 2022-02-12 12:44:24 -0700
|
||||||
@@ -389,7 +389,7 @@
|
|
||||||
|
|
||||||
# Link against Clang libraries
|
|
||||||
foreach(clangLib ${CLANG_LIBRARY_LIST})
|
|
||||||
- find_library(${clangLib}Path NAMES ${clangLib} HINTS ${LLVM_LIBRARY_DIRS})
|
|
||||||
+ find_library(${clangLib}Path NAMES ${clangLib} HINTS ${LLVM_LIBRARY_DIRS} ${CLANG_LIBRARY_DIR})
|
|
||||||
list(APPEND CLANG_LIBRARY_FULL_PATH_LIST ${${clangLib}Path})
|
|
||||||
endforeach()
|
|
||||||
target_link_libraries(${PROJECT_NAME} ${CLANG_LIBRARY_FULL_PATH_LIST})
|
|
||||||
diff -Naur orig/CMakeLists.txt external_ispc/CMakeLists.txt
|
|
||||||
--- orig/CMakeLists.txt 2020-05-05 09:19:11 -0600
|
|
||||||
+++ external_ispc/CMakeLists.txt 2020-05-05 09:26:44 -0600
|
|
||||||
@@ -333,7 +333,7 @@
|
|
||||||
|
|
||||||
# Include directories
|
|
||||||
target_include_directories(${PROJECT_NAME} PRIVATE
|
|
||||||
- ${LLVM_INCLUDE_DIRS}
|
|
||||||
+ ${LLVM_INCLUDE_DIRS} ${CLANG_INCLUDE_DIRS}
|
|
||||||
${GENX_DEPS_DIR}/include
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/src
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR})
|
|
||||||
diff -Naur orig/cmake/GenerateBuiltins.cmake.txt external_ispc/cmake/GenerateBuiltins.cmake.txt
|
|
||||||
+++ orig/cmake/GenerateBuiltins.cmake 2020-05-25 13:32:40.830803821 +0200
|
|
||||||
+++ external_ispc/cmake/GenerateBuiltins.cmake 2020-05-25 13:32:40.830803821 +0200
|
|
||||||
@@ -97,6 +97,8 @@
|
|
||||||
|
|
||||||
if ("${bit}" STREQUAL "32" AND ${arch} STREQUAL "x86")
|
|
||||||
set(target_arch "i686")
|
|
||||||
+ # Blender: disable 32bit due to build issues on Linux and being unnecessary.
|
|
||||||
+ set(SKIP ON)
|
|
||||||
elseif ("${bit}" STREQUAL "64" AND ${arch} STREQUAL "x86")
|
|
||||||
set(target_arch "x86_64")
|
|
||||||
elseif ("${bit}" STREQUAL "32" AND ${arch} STREQUAL "arm")
|
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 46a8db8..f53beef 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -36,8 +36,12 @@
|
@@ -36,8 +36,12 @@
|
||||||
cmake_minimum_required(VERSION 3.13)
|
cmake_minimum_required(VERSION 3.13)
|
||||||
|
|
||||||
@@ -53,7 +16,25 @@ index 46a8db8..f53beef 100644
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(PROJECT_NAME ispc)
|
set(PROJECT_NAME ispc)
|
||||||
@@ -412,6 +416,29 @@ else()
|
@@ -443,7 +447,7 @@
|
||||||
|
|
||||||
|
# Include directories
|
||||||
|
target_include_directories(${PROJECT_NAME} PRIVATE
|
||||||
|
- ${LLVM_INCLUDE_DIRS}
|
||||||
|
+ ${LLVM_INCLUDE_DIRS} ${CLANG_INCLUDE_DIRS}
|
||||||
|
${XE_DEPS_DIR}/include
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/src
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR})
|
||||||
|
@@ -507,7 +511,7 @@
|
||||||
|
|
||||||
|
# Link against Clang libraries
|
||||||
|
foreach(clangLib ${CLANG_LIBRARY_LIST})
|
||||||
|
- find_library(${clangLib}Path NAMES ${clangLib} HINTS ${LLVM_LIBRARY_DIRS})
|
||||||
|
+ find_library(${clangLib}Path NAMES ${clangLib} HINTS ${LLVM_LIBRARY_DIRS} ${CLANG_LIBRARY_DIR})
|
||||||
|
list(APPEND CLANG_LIBRARY_FULL_PATH_LIST ${${clangLib}Path})
|
||||||
|
endforeach()
|
||||||
|
target_link_libraries(${PROJECT_NAME} ${CLANG_LIBRARY_FULL_PATH_LIST})
|
||||||
|
@@ -546,6 +550,29 @@
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -83,3 +64,15 @@ index 46a8db8..f53beef 100644
|
|||||||
# Build target for utility checking host ISA
|
# Build target for utility checking host ISA
|
||||||
if (ISPC_INCLUDE_UTILS)
|
if (ISPC_INCLUDE_UTILS)
|
||||||
add_executable(check_isa "")
|
add_executable(check_isa "")
|
||||||
|
diff -Naur ispc-1.17.0.org/cmake/GenerateBuiltins.cmake ispc-1.17.0/cmake/GenerateBuiltins.cmake
|
||||||
|
--- ispc-1.17.0.org/cmake/GenerateBuiltins.cmake 2022-01-15 01:35:15 -0700
|
||||||
|
+++ ispc-1.17.0/cmake/GenerateBuiltins.cmake 2022-02-12 12:44:24 -0700
|
||||||
|
@@ -124,6 +124,8 @@
|
||||||
|
|
||||||
|
if ("${bit}" STREQUAL "32" AND ${arch} STREQUAL "x86")
|
||||||
|
set(target_arch "i686")
|
||||||
|
+ # Blender: disable 32bit due to build issues on Linux and being unnecessary.
|
||||||
|
+ set(SKIP ON)
|
||||||
|
elseif ("${bit}" STREQUAL "64" AND ${arch} STREQUAL "x86")
|
||||||
|
set(target_arch "x86_64")
|
||||||
|
elseif ("${bit}" STREQUAL "32" AND ${arch} STREQUAL "arm")
|
||||||
|
13
build_files/build_environment/patches/level-zero.diff
Normal file
13
build_files/build_environment/patches/level-zero.diff
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
diff -Naur external_levelzero_org/CMakeLists.txt external_levelzero/CMakeLists.txt
|
||||||
|
--- external_levelzero_org/CMakeLists.txt 2022-03-07 13:22:11 -0700
|
||||||
|
+++ external_levelzero/CMakeLists.txt 2022-03-29 13:22:15 -0600
|
||||||
|
@@ -77,9 +77,6 @@
|
||||||
|
#enabling Control Flow Guard
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /guard:cf")
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /guard:cf")
|
||||||
|
- # enable Spectre Mitigation
|
||||||
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Qspectre")
|
||||||
|
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Qspectre")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
#CXX compiler support
|
@@ -1,374 +0,0 @@
|
|||||||
Index: nanovdb/nanovdb/NanoVDB.h
|
|
||||||
===================================================================
|
|
||||||
--- a/nanovdb/nanovdb/NanoVDB.h (revision 62751)
|
|
||||||
+++ b/nanovdb/nanovdb/NanoVDB.h (working copy)
|
|
||||||
@@ -152,8 +152,8 @@
|
|
||||||
|
|
||||||
#endif // __CUDACC_RTC__
|
|
||||||
|
|
||||||
-#ifdef __CUDACC__
|
|
||||||
-// Only define __hostdev__ when using NVIDIA CUDA compiler
|
|
||||||
+#if defined(__CUDACC__) || defined(__HIP__)
|
|
||||||
+// Only define __hostdev__ when using NVIDIA CUDA or HIP compiler
|
|
||||||
#define __hostdev__ __host__ __device__
|
|
||||||
#else
|
|
||||||
#define __hostdev__
|
|
||||||
@@ -461,7 +461,7 @@
|
|
||||||
/// Maximum floating-point values
|
|
||||||
template<typename T>
|
|
||||||
struct Maximum;
|
|
||||||
-#ifdef __CUDA_ARCH__
|
|
||||||
+#if defined(__CUDA_ARCH__) || defined(__HIP__)
|
|
||||||
template<>
|
|
||||||
struct Maximum<int>
|
|
||||||
{
|
|
||||||
@@ -1006,10 +1006,10 @@
|
|
||||||
using Vec3i = Vec3<int>;
|
|
||||||
|
|
||||||
/// @brief Return a single precision floating-point vector of this coordinate
|
|
||||||
-Vec3f Coord::asVec3s() const { return Vec3f(float(mVec[0]), float(mVec[1]), float(mVec[2])); }
|
|
||||||
+inline __hostdev__ Vec3f Coord::asVec3s() const { return Vec3f(float(mVec[0]), float(mVec[1]), float(mVec[2])); }
|
|
||||||
|
|
||||||
/// @brief Return a double precision floating-point vector of this coordinate
|
|
||||||
-Vec3d Coord::asVec3d() const { return Vec3d(double(mVec[0]), double(mVec[1]), double(mVec[2])); }
|
|
||||||
+inline __hostdev__ Vec3d Coord::asVec3d() const { return Vec3d(double(mVec[0]), double(mVec[1]), double(mVec[2])); }
|
|
||||||
|
|
||||||
// ----------------------------> Vec4 <--------------------------------------
|
|
||||||
|
|
||||||
@@ -1820,7 +1820,7 @@
|
|
||||||
}; // Map
|
|
||||||
|
|
||||||
template<typename Mat4T>
|
|
||||||
-void Map::set(const Mat4T& mat, const Mat4T& invMat, double taper)
|
|
||||||
+__hostdev__ void Map::set(const Mat4T& mat, const Mat4T& invMat, double taper)
|
|
||||||
{
|
|
||||||
float * mf = mMatF, *vf = mVecF;
|
|
||||||
float* mif = mInvMatF;
|
|
||||||
@@ -2170,7 +2170,7 @@
|
|
||||||
}; // Class Grid
|
|
||||||
|
|
||||||
template<typename TreeT>
|
|
||||||
-int Grid<TreeT>::findBlindDataForSemantic(GridBlindDataSemantic semantic) const
|
|
||||||
+__hostdev__ int Grid<TreeT>::findBlindDataForSemantic(GridBlindDataSemantic semantic) const
|
|
||||||
{
|
|
||||||
for (uint32_t i = 0, n = blindDataCount(); i < n; ++i)
|
|
||||||
if (blindMetaData(i).mSemantic == semantic)
|
|
||||||
@@ -2328,7 +2328,7 @@
|
|
||||||
}; // Tree class
|
|
||||||
|
|
||||||
template<typename RootT>
|
|
||||||
-void Tree<RootT>::extrema(ValueType& min, ValueType& max) const
|
|
||||||
+__hostdev__ void Tree<RootT>::extrema(ValueType& min, ValueType& max) const
|
|
||||||
{
|
|
||||||
min = this->root().valueMin();
|
|
||||||
max = this->root().valueMax();
|
|
||||||
@@ -2336,7 +2336,7 @@
|
|
||||||
|
|
||||||
template<typename RootT>
|
|
||||||
template<typename NodeT>
|
|
||||||
-const NodeT* Tree<RootT>::getNode(uint32_t i) const
|
|
||||||
+__hostdev__ const NodeT* Tree<RootT>::getNode(uint32_t i) const
|
|
||||||
{
|
|
||||||
static_assert(is_same<TreeNodeT<NodeT::LEVEL>, NodeT>::value, "Tree::getNode: unvalid node type");
|
|
||||||
NANOVDB_ASSERT(i < DataType::mCount[NodeT::LEVEL]);
|
|
||||||
@@ -2345,7 +2345,7 @@
|
|
||||||
|
|
||||||
template<typename RootT>
|
|
||||||
template<int LEVEL>
|
|
||||||
-const typename TreeNode<Tree<RootT>, LEVEL>::type* Tree<RootT>::getNode(uint32_t i) const
|
|
||||||
+__hostdev__ const typename TreeNode<Tree<RootT>, LEVEL>::type* Tree<RootT>::getNode(uint32_t i) const
|
|
||||||
{
|
|
||||||
NANOVDB_ASSERT(i < DataType::mCount[LEVEL]);
|
|
||||||
return reinterpret_cast<const TreeNodeT<LEVEL>*>(reinterpret_cast<const uint8_t*>(this) + DataType::mBytes[LEVEL]) + i;
|
|
||||||
@@ -2353,7 +2353,7 @@
|
|
||||||
|
|
||||||
template<typename RootT>
|
|
||||||
template<typename NodeT>
|
|
||||||
-NodeT* Tree<RootT>::getNode(uint32_t i)
|
|
||||||
+__hostdev__ NodeT* Tree<RootT>::getNode(uint32_t i)
|
|
||||||
{
|
|
||||||
static_assert(is_same<TreeNodeT<NodeT::LEVEL>, NodeT>::value, "Tree::getNode: invalid node type");
|
|
||||||
NANOVDB_ASSERT(i < DataType::mCount[NodeT::LEVEL]);
|
|
||||||
@@ -2362,7 +2362,7 @@
|
|
||||||
|
|
||||||
template<typename RootT>
|
|
||||||
template<int LEVEL>
|
|
||||||
-typename TreeNode<Tree<RootT>, LEVEL>::type* Tree<RootT>::getNode(uint32_t i)
|
|
||||||
+__hostdev__ typename TreeNode<Tree<RootT>, LEVEL>::type* Tree<RootT>::getNode(uint32_t i)
|
|
||||||
{
|
|
||||||
NANOVDB_ASSERT(i < DataType::mCount[LEVEL]);
|
|
||||||
return reinterpret_cast<TreeNodeT<LEVEL>*>(reinterpret_cast<uint8_t*>(this) + DataType::mBytes[LEVEL]) + i;
|
|
||||||
@@ -2370,7 +2370,7 @@
|
|
||||||
|
|
||||||
template<typename RootT>
|
|
||||||
template<typename NodeT>
|
|
||||||
-uint32_t Tree<RootT>::getNodeID(const NodeT& node) const
|
|
||||||
+__hostdev__ uint32_t Tree<RootT>::getNodeID(const NodeT& node) const
|
|
||||||
{
|
|
||||||
static_assert(is_same<TreeNodeT<NodeT::LEVEL>, NodeT>::value, "Tree::getNodeID: invalid node type");
|
|
||||||
const NodeT* first = reinterpret_cast<const NodeT*>(reinterpret_cast<const uint8_t*>(this) + DataType::mBytes[NodeT::LEVEL]);
|
|
||||||
@@ -2380,7 +2380,7 @@
|
|
||||||
|
|
||||||
template<typename RootT>
|
|
||||||
template<typename NodeT>
|
|
||||||
-uint32_t Tree<RootT>::getLinearOffset(const NodeT& node) const
|
|
||||||
+__hostdev__ uint32_t Tree<RootT>::getLinearOffset(const NodeT& node) const
|
|
||||||
{
|
|
||||||
return this->getNodeID(node) + DataType::mPFSum[NodeT::LEVEL];
|
|
||||||
}
|
|
||||||
@@ -3366,7 +3366,7 @@
|
|
||||||
}; // LeafNode class
|
|
||||||
|
|
||||||
template<typename ValueT, typename CoordT, template<uint32_t> class MaskT, uint32_t LOG2DIM>
|
|
||||||
-inline void LeafNode<ValueT, CoordT, MaskT, LOG2DIM>::updateBBox()
|
|
||||||
+inline __hostdev__ void LeafNode<ValueT, CoordT, MaskT, LOG2DIM>::updateBBox()
|
|
||||||
{
|
|
||||||
static_assert(LOG2DIM == 3, "LeafNode::updateBBox: only supports LOGDIM = 3!");
|
|
||||||
if (!this->isActive()) return;
|
|
||||||
Index: nanovdb/nanovdb/util/SampleFromVoxels.h
|
|
||||||
===================================================================
|
|
||||||
--- a/nanovdb/nanovdb/util/SampleFromVoxels.h (revision 62751)
|
|
||||||
+++ b/nanovdb/nanovdb/util/SampleFromVoxels.h (working copy)
|
|
||||||
@@ -22,7 +22,7 @@
|
|
||||||
#define NANOVDB_SAMPLE_FROM_VOXELS_H_HAS_BEEN_INCLUDED
|
|
||||||
|
|
||||||
// Only define __hostdev__ when compiling as NVIDIA CUDA
|
|
||||||
-#ifdef __CUDACC__
|
|
||||||
+#if defined(__CUDACC__) || defined(__HIP__)
|
|
||||||
#define __hostdev__ __host__ __device__
|
|
||||||
#else
|
|
||||||
#include <cmath> // for floor
|
|
||||||
@@ -136,7 +136,7 @@
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, true>::operator()(const Vec3T& xyz) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, true>::operator()(const Vec3T& xyz) const
|
|
||||||
{
|
|
||||||
const CoordT ijk = Round<CoordT>(xyz);
|
|
||||||
if (ijk != mPos) {
|
|
||||||
@@ -147,7 +147,7 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, true>::operator()(const CoordT& ijk) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, true>::operator()(const CoordT& ijk) const
|
|
||||||
{
|
|
||||||
if (ijk != mPos) {
|
|
||||||
mPos = ijk;
|
|
||||||
@@ -158,7 +158,7 @@
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, false>::operator()(const Vec3T& xyz) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, false>::operator()(const Vec3T& xyz) const
|
|
||||||
{
|
|
||||||
return mAcc.getValue(Round<CoordT>(xyz));
|
|
||||||
}
|
|
||||||
@@ -195,7 +195,7 @@
|
|
||||||
}; // TrilinearSamplerBase
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
-void TrilinearSampler<TreeOrAccT>::stencil(CoordT& ijk, ValueT (&v)[2][2][2]) const
|
|
||||||
+__hostdev__ void TrilinearSampler<TreeOrAccT>::stencil(CoordT& ijk, ValueT (&v)[2][2][2]) const
|
|
||||||
{
|
|
||||||
v[0][0][0] = mAcc.getValue(ijk); // i, j, k
|
|
||||||
|
|
||||||
@@ -224,7 +224,7 @@
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType TrilinearSampler<TreeOrAccT>::sample(const Vec3T<RealT> &uvw, const ValueT (&v)[2][2][2])
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType TrilinearSampler<TreeOrAccT>::sample(const Vec3T<RealT> &uvw, const ValueT (&v)[2][2][2])
|
|
||||||
{
|
|
||||||
#if 0
|
|
||||||
auto lerp = [](ValueT a, ValueT b, ValueT w){ return fma(w, b-a, a); };// = w*(b-a) + a
|
|
||||||
@@ -239,7 +239,7 @@
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-Vec3T<typename TreeOrAccT::ValueType> TrilinearSampler<TreeOrAccT>::gradient(const Vec3T<RealT> &uvw, const ValueT (&v)[2][2][2])
|
|
||||||
+__hostdev__ Vec3T<typename TreeOrAccT::ValueType> TrilinearSampler<TreeOrAccT>::gradient(const Vec3T<RealT> &uvw, const ValueT (&v)[2][2][2])
|
|
||||||
{
|
|
||||||
static_assert(std::is_floating_point<ValueT>::value, "TrilinearSampler::gradient requires a floating-point type");
|
|
||||||
#if 0
|
|
||||||
@@ -270,7 +270,7 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
-bool TrilinearSampler<TreeOrAccT>::zeroCrossing(const ValueT (&v)[2][2][2])
|
|
||||||
+__hostdev__ bool TrilinearSampler<TreeOrAccT>::zeroCrossing(const ValueT (&v)[2][2][2])
|
|
||||||
{
|
|
||||||
static_assert(std::is_floating_point<ValueT>::value, "TrilinearSampler::zeroCrossing requires a floating-point type");
|
|
||||||
const bool less = v[0][0][0] < ValueT(0);
|
|
||||||
@@ -363,7 +363,7 @@
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, true>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, true>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
this->cache(xyz);
|
|
||||||
return BaseT::sample(xyz, mVal);
|
|
||||||
@@ -370,7 +370,7 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, true>::operator()(const CoordT &ijk) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, true>::operator()(const CoordT &ijk) const
|
|
||||||
{
|
|
||||||
return ijk == mPos ? mVal[0][0][0] : BaseT::mAcc.getValue(ijk);
|
|
||||||
}
|
|
||||||
@@ -377,7 +377,7 @@
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-Vec3T<typename TreeOrAccT::ValueType> SampleFromVoxels<TreeOrAccT, 1, true>::gradient(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ Vec3T<typename TreeOrAccT::ValueType> SampleFromVoxels<TreeOrAccT, 1, true>::gradient(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
this->cache(xyz);
|
|
||||||
return BaseT::gradient(xyz, mVal);
|
|
||||||
@@ -393,7 +393,7 @@
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-void SampleFromVoxels<TreeOrAccT, 1, true>::cache(Vec3T<RealT>& xyz) const
|
|
||||||
+__hostdev__ void SampleFromVoxels<TreeOrAccT, 1, true>::cache(Vec3T<RealT>& xyz) const
|
|
||||||
{
|
|
||||||
CoordT ijk = Floor<CoordT>(xyz);
|
|
||||||
if (ijk != mPos) {
|
|
||||||
@@ -406,7 +406,7 @@
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, false>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, false>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
ValueT val[2][2][2];
|
|
||||||
CoordT ijk = Floor<CoordT>(xyz);
|
|
||||||
@@ -418,7 +418,7 @@
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, false>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, false>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
auto lerp = [](ValueT a, ValueT b, RealT w) { return a + ValueT(w) * (b - a); };
|
|
||||||
|
|
||||||
@@ -463,7 +463,7 @@
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-inline Vec3T<typename TreeOrAccT::ValueType> SampleFromVoxels<TreeOrAccT, 1, false>::gradient(Vec3T<RealT> xyz) const
|
|
||||||
+inline __hostdev__ Vec3T<typename TreeOrAccT::ValueType> SampleFromVoxels<TreeOrAccT, 1, false>::gradient(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
ValueT val[2][2][2];
|
|
||||||
CoordT ijk = Floor<CoordT>(xyz);
|
|
||||||
@@ -473,7 +473,7 @@
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-bool SampleFromVoxels<TreeOrAccT, 1, false>::zeroCrossing(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ bool SampleFromVoxels<TreeOrAccT, 1, false>::zeroCrossing(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
ValueT val[2][2][2];
|
|
||||||
CoordT ijk = Floor<CoordT>(xyz);
|
|
||||||
@@ -510,7 +510,7 @@
|
|
||||||
}; // TriquadraticSamplerBase
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
-void TriquadraticSampler<TreeOrAccT>::stencil(const CoordT &ijk, ValueT (&v)[3][3][3]) const
|
|
||||||
+__hostdev__ void TriquadraticSampler<TreeOrAccT>::stencil(const CoordT &ijk, ValueT (&v)[3][3][3]) const
|
|
||||||
{
|
|
||||||
CoordT p(ijk[0] - 1, 0, 0);
|
|
||||||
for (int dx = 0; dx < 3; ++dx, ++p[0]) {
|
|
||||||
@@ -526,7 +526,7 @@
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType TriquadraticSampler<TreeOrAccT>::sample(const Vec3T<RealT> &uvw, const ValueT (&v)[3][3][3])
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType TriquadraticSampler<TreeOrAccT>::sample(const Vec3T<RealT> &uvw, const ValueT (&v)[3][3][3])
|
|
||||||
{
|
|
||||||
auto kernel = [](const ValueT* value, double weight)->ValueT {
|
|
||||||
return weight * (weight * (0.5f * (value[0] + value[2]) - value[1]) +
|
|
||||||
@@ -545,7 +545,7 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
-bool TriquadraticSampler<TreeOrAccT>::zeroCrossing(const ValueT (&v)[3][3][3])
|
|
||||||
+__hostdev__ bool TriquadraticSampler<TreeOrAccT>::zeroCrossing(const ValueT (&v)[3][3][3])
|
|
||||||
{
|
|
||||||
static_assert(std::is_floating_point<ValueT>::value, "TrilinearSampler::zeroCrossing requires a floating-point type");
|
|
||||||
const bool less = v[0][0][0] < ValueT(0);
|
|
||||||
@@ -624,7 +624,7 @@
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, true>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, true>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
this->cache(xyz);
|
|
||||||
return BaseT::sample(xyz, mVal);
|
|
||||||
@@ -631,7 +631,7 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, true>::operator()(const CoordT &ijk) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, true>::operator()(const CoordT &ijk) const
|
|
||||||
{
|
|
||||||
return ijk == mPos ? mVal[1][1][1] : BaseT::mAcc.getValue(ijk);
|
|
||||||
}
|
|
||||||
@@ -646,7 +646,7 @@
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-void SampleFromVoxels<TreeOrAccT, 2, true>::cache(Vec3T<RealT>& xyz) const
|
|
||||||
+__hostdev__ void SampleFromVoxels<TreeOrAccT, 2, true>::cache(Vec3T<RealT>& xyz) const
|
|
||||||
{
|
|
||||||
CoordT ijk = Floor<CoordT>(xyz);
|
|
||||||
if (ijk != mPos) {
|
|
||||||
@@ -657,7 +657,7 @@
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, false>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, false>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
ValueT val[3][3][3];
|
|
||||||
CoordT ijk = Floor<CoordT>(xyz);
|
|
||||||
@@ -667,7 +667,7 @@
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-bool SampleFromVoxels<TreeOrAccT, 2, false>::zeroCrossing(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ bool SampleFromVoxels<TreeOrAccT, 2, false>::zeroCrossing(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
ValueT val[3][3][3];
|
|
||||||
CoordT ijk = Floor<CoordT>(xyz);
|
|
||||||
@@ -710,7 +710,7 @@
|
|
||||||
}; // TricubicSampler
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
-void TricubicSampler<TreeOrAccT>::stencil(const CoordT& ijk, ValueT (&C)[64]) const
|
|
||||||
+__hostdev__ void TricubicSampler<TreeOrAccT>::stencil(const CoordT& ijk, ValueT (&C)[64]) const
|
|
||||||
{
|
|
||||||
auto fetch = [&](int i, int j, int k) -> ValueT& { return C[((i + 1) << 4) + ((j + 1) << 2) + k + 1]; };
|
|
||||||
|
|
||||||
@@ -929,7 +929,7 @@
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 3, true>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 3, true>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
this->cache(xyz);
|
|
||||||
return BaseT::sample(xyz, mC);
|
|
||||||
@@ -937,7 +937,7 @@
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-void SampleFromVoxels<TreeOrAccT, 3, true>::cache(Vec3T<RealT>& xyz) const
|
|
||||||
+__hostdev__ void SampleFromVoxels<TreeOrAccT, 3, true>::cache(Vec3T<RealT>& xyz) const
|
|
||||||
{
|
|
||||||
CoordT ijk = Floor<CoordT>(xyz);
|
|
||||||
if (ijk != mPos) {
|
|
@@ -1,35 +1,16 @@
|
|||||||
diff -Naur openvdb-8.0.0/cmake/FindIlmBase.cmake openvdb/cmake/FindIlmBase.cmake
|
diff -ur openvdb-9.0.0/cmake/FindTBB.cmake openvdb/cmake/FindTBB.cmake
|
||||||
--- openvdb-8.0.0/cmake/FindIlmBase.cmake 2020-12-24 10:13:14 -0700
|
--- openvdb-9.0.0/cmake/FindTBB.cmake 2021-10-30 03:55:40.000000000 +0100
|
||||||
+++ openvdb/cmake/FindIlmBase.cmake 2021-02-05 12:07:49 -0700
|
+++ openvdb/cmake/FindTBB.cmake 2022-03-31 11:33:15.592329750 +0100
|
||||||
@@ -217,6 +217,12 @@
|
@@ -252,7 +252,8 @@
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
|
set(_TBB_LIB_NAME "${_TBB_LIB_NAME}${TBB_DEBUG_SUFFIX}")
|
||||||
endif()
|
endif()
|
||||||
list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES "${_IlmBase_Version_Suffix}.lib")
|
|
||||||
+ list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
|
- find_library(Tbb_${COMPONENT}_LIBRARY_${BUILD_TYPE} ${_TBB_LIB_NAME}
|
||||||
+ "_s.lib"
|
+ find_library(Tbb_${COMPONENT}_LIBRARY_${BUILD_TYPE}
|
||||||
+ )
|
+ NAMES ${_TBB_LIB_NAME} ${_TBB_LIB_NAME}_static
|
||||||
+ list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
|
${_FIND_TBB_ADDITIONAL_OPTIONS}
|
||||||
+ "_s_d.lib"
|
PATHS ${_TBB_LIBRARYDIR_SEARCH_DIRS}
|
||||||
+ )
|
PATH_SUFFIXES ${CMAKE_INSTALL_LIBDIR} lib64 lib
|
||||||
else()
|
|
||||||
if(ILMBASE_USE_STATIC_LIBS)
|
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
|
|
||||||
diff -Naur openvdb-8.0.0/cmake/FindOpenEXR.cmake openvdb/cmake/FindOpenEXR.cmake
|
|
||||||
--- openvdb-8.0.0/cmake/FindOpenEXR.cmake 2020-12-24 10:13:14 -0700
|
|
||||||
+++ openvdb/cmake/FindOpenEXR.cmake 2021-02-05 12:23:39 -0700
|
|
||||||
@@ -210,6 +210,12 @@
|
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
|
|
||||||
endif()
|
|
||||||
list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES "${_OpenEXR_Version_Suffix}.lib")
|
|
||||||
+ list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
|
|
||||||
+ "_s.lib"
|
|
||||||
+ )
|
|
||||||
+ list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
|
|
||||||
+ "_s_d.lib"
|
|
||||||
+ )
|
|
||||||
else()
|
|
||||||
if(OPENEXR_USE_STATIC_LIBS)
|
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
|
|
||||||
diff -Naur openvdb-8.0.0/openvdb/openvdb/CMakeLists.txt openvdb/openvdb/openvdb/CMakeLists.txt
|
diff -Naur openvdb-8.0.0/openvdb/openvdb/CMakeLists.txt openvdb/openvdb/openvdb/CMakeLists.txt
|
||||||
--- openvdb-8.0.0/openvdb/openvdb/CMakeLists.txt 2020-12-24 10:13:14 -0700
|
--- openvdb-8.0.0/openvdb/openvdb/CMakeLists.txt 2020-12-24 10:13:14 -0700
|
||||||
+++ openvdb/openvdb/openvdb/CMakeLists.txt 2021-02-05 11:18:33 -0700
|
+++ openvdb/openvdb/openvdb/CMakeLists.txt 2021-02-05 11:18:33 -0700
|
||||||
@@ -118,3 +99,321 @@ diff -Naur openvdb-8.0.0/openvdb/openvdb/version.rc.in openvdb/openvdb/openvdb/v
|
|||||||
+
|
+
|
||||||
+ END
|
+ END
|
||||||
+END
|
+END
|
||||||
|
diff --git a/nanovdb/nanovdb/NanoVDB.h b/nanovdb/nanovdb/NanoVDB.h
|
||||||
|
index cc2e54b77..703d2eabc 100644
|
||||||
|
--- a/nanovdb/nanovdb/NanoVDB.h
|
||||||
|
+++ b/nanovdb/nanovdb/NanoVDB.h
|
||||||
|
@@ -161,8 +161,8 @@ typedef unsigned long long uint64_t;
|
||||||
|
|
||||||
|
#endif // __CUDACC_RTC__
|
||||||
|
|
||||||
|
-#ifdef __CUDACC__
|
||||||
|
-// Only define __hostdev__ when using NVIDIA CUDA compiler
|
||||||
|
+#if defined(__CUDACC__) || defined(__HIP__)
|
||||||
|
+// Only define __hostdev__ when using NVIDIA CUDA or HIP compiler
|
||||||
|
#define __hostdev__ __host__ __device__
|
||||||
|
#else
|
||||||
|
#define __hostdev__
|
||||||
|
@@ -611,7 +611,7 @@ struct Delta<double>
|
||||||
|
/// Maximum floating-point values
|
||||||
|
template<typename T>
|
||||||
|
struct Maximum;
|
||||||
|
-#ifdef __CUDA_ARCH__
|
||||||
|
+#if defined(__CUDA_ARCH__) || defined(__HIP__)
|
||||||
|
template<>
|
||||||
|
struct Maximum<int>
|
||||||
|
{
|
||||||
|
@@ -1176,10 +1176,10 @@ using Vec3f = Vec3<float>;
|
||||||
|
using Vec3i = Vec3<int>;
|
||||||
|
|
||||||
|
/// @brief Return a single precision floating-point vector of this coordinate
|
||||||
|
-Vec3f Coord::asVec3s() const { return Vec3f(float(mVec[0]), float(mVec[1]), float(mVec[2])); }
|
||||||
|
+__hostdev__ inline Vec3f Coord::asVec3s() const { return Vec3f(float(mVec[0]), float(mVec[1]), float(mVec[2])); }
|
||||||
|
|
||||||
|
/// @brief Return a double precision floating-point vector of this coordinate
|
||||||
|
-Vec3d Coord::asVec3d() const { return Vec3d(double(mVec[0]), double(mVec[1]), double(mVec[2])); }
|
||||||
|
+__hostdev__ inline Vec3d Coord::asVec3d() const { return Vec3d(double(mVec[0]), double(mVec[1]), double(mVec[2])); }
|
||||||
|
|
||||||
|
// ----------------------------> Vec4 <--------------------------------------
|
||||||
|
|
||||||
|
@@ -2042,7 +2042,7 @@ struct Map
|
||||||
|
}; // Map
|
||||||
|
|
||||||
|
template<typename Mat4T>
|
||||||
|
-void Map::set(const Mat4T& mat, const Mat4T& invMat, double taper)
|
||||||
|
+__hostdev__ void Map::set(const Mat4T& mat, const Mat4T& invMat, double taper)
|
||||||
|
{
|
||||||
|
float * mf = mMatF, *vf = mVecF;
|
||||||
|
float* mif = mInvMatF;
|
||||||
|
@@ -2486,7 +2486,7 @@ class Grid : private GridData
|
||||||
|
}; // Class Grid
|
||||||
|
|
||||||
|
template<typename TreeT>
|
||||||
|
-int Grid<TreeT>::findBlindDataForSemantic(GridBlindDataSemantic semantic) const
|
||||||
|
+__hostdev__ int Grid<TreeT>::findBlindDataForSemantic(GridBlindDataSemantic semantic) const
|
||||||
|
{
|
||||||
|
for (uint32_t i = 0, n = this->blindDataCount(); i < n; ++i)
|
||||||
|
if (this->blindMetaData(i).mSemantic == semantic)
|
||||||
|
@@ -2671,7 +2671,7 @@ class Tree : private TreeData<RootT::LEVEL>
|
||||||
|
}; // Tree class
|
||||||
|
|
||||||
|
template<typename RootT>
|
||||||
|
-void Tree<RootT>::extrema(ValueType& min, ValueType& max) const
|
||||||
|
+__hostdev__ void Tree<RootT>::extrema(ValueType& min, ValueType& max) const
|
||||||
|
{
|
||||||
|
min = this->root().minimum();
|
||||||
|
max = this->root().maximum();
|
||||||
|
@@ -3880,7 +3880,7 @@ class LeafNode : private LeafData<BuildT, CoordT, MaskT, Log2Dim>
|
||||||
|
}; // LeafNode class
|
||||||
|
|
||||||
|
template<typename ValueT, typename CoordT, template<uint32_t> class MaskT, uint32_t LOG2DIM>
|
||||||
|
-inline void LeafNode<ValueT, CoordT, MaskT, LOG2DIM>::updateBBox()
|
||||||
|
+__hostdev__ inline void LeafNode<ValueT, CoordT, MaskT, LOG2DIM>::updateBBox()
|
||||||
|
{
|
||||||
|
static_assert(LOG2DIM == 3, "LeafNode::updateBBox: only supports LOGDIM = 3!");
|
||||||
|
if (!this->isActive()) return;
|
||||||
|
diff --git a/nanovdb/nanovdb/util/SampleFromVoxels.h b/nanovdb/nanovdb/util/SampleFromVoxels.h
|
||||||
|
index 852123dac..e779d66cf 100644
|
||||||
|
--- a/nanovdb/nanovdb/util/SampleFromVoxels.h
|
||||||
|
+++ b/nanovdb/nanovdb/util/SampleFromVoxels.h
|
||||||
|
@@ -22,7 +22,7 @@
|
||||||
|
#define NANOVDB_SAMPLE_FROM_VOXELS_H_HAS_BEEN_INCLUDED
|
||||||
|
|
||||||
|
// Only define __hostdev__ when compiling as NVIDIA CUDA
|
||||||
|
-#ifdef __CUDACC__
|
||||||
|
+#if defined(__CUDACC__) || defined(__HIP__)
|
||||||
|
#define __hostdev__ __host__ __device__
|
||||||
|
#else
|
||||||
|
#include <cmath> // for floor
|
||||||
|
@@ -136,7 +136,7 @@ class SampleFromVoxels<TreeOrAccT, 0, false>
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
template<typename Vec3T>
|
||||||
|
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, true>::operator()(const Vec3T& xyz) const
|
||||||
|
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, true>::operator()(const Vec3T& xyz) const
|
||||||
|
{
|
||||||
|
const CoordT ijk = Round<CoordT>(xyz);
|
||||||
|
if (ijk != mPos) {
|
||||||
|
@@ -147,7 +147,7 @@ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, true>::operator()
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, true>::operator()(const CoordT& ijk) const
|
||||||
|
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, true>::operator()(const CoordT& ijk) const
|
||||||
|
{
|
||||||
|
if (ijk != mPos) {
|
||||||
|
mPos = ijk;
|
||||||
|
@@ -158,7 +158,7 @@ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, true>::operator()
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
template<typename Vec3T>
|
||||||
|
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, false>::operator()(const Vec3T& xyz) const
|
||||||
|
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, false>::operator()(const Vec3T& xyz) const
|
||||||
|
{
|
||||||
|
return mAcc.getValue(Round<CoordT>(xyz));
|
||||||
|
}
|
||||||
|
@@ -195,7 +195,7 @@ class TrilinearSampler
|
||||||
|
}; // TrilinearSamplerBase
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
-void TrilinearSampler<TreeOrAccT>::stencil(CoordT& ijk, ValueT (&v)[2][2][2]) const
|
||||||
|
+__hostdev__ void TrilinearSampler<TreeOrAccT>::stencil(CoordT& ijk, ValueT (&v)[2][2][2]) const
|
||||||
|
{
|
||||||
|
v[0][0][0] = mAcc.getValue(ijk); // i, j, k
|
||||||
|
|
||||||
|
@@ -224,7 +224,7 @@ void TrilinearSampler<TreeOrAccT>::stencil(CoordT& ijk, ValueT (&v)[2][2][2]) co
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
template<typename RealT, template<typename...> class Vec3T>
|
||||||
|
-typename TreeOrAccT::ValueType TrilinearSampler<TreeOrAccT>::sample(const Vec3T<RealT> &uvw, const ValueT (&v)[2][2][2])
|
||||||
|
+__hostdev__ typename TreeOrAccT::ValueType TrilinearSampler<TreeOrAccT>::sample(const Vec3T<RealT> &uvw, const ValueT (&v)[2][2][2])
|
||||||
|
{
|
||||||
|
#if 0
|
||||||
|
auto lerp = [](ValueT a, ValueT b, ValueT w){ return fma(w, b-a, a); };// = w*(b-a) + a
|
||||||
|
@@ -239,7 +239,7 @@ typename TreeOrAccT::ValueType TrilinearSampler<TreeOrAccT>::sample(const Vec3T<
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
template<typename RealT, template<typename...> class Vec3T>
|
||||||
|
-Vec3T<typename TreeOrAccT::ValueType> TrilinearSampler<TreeOrAccT>::gradient(const Vec3T<RealT> &uvw, const ValueT (&v)[2][2][2])
|
||||||
|
+__hostdev__ Vec3T<typename TreeOrAccT::ValueType> TrilinearSampler<TreeOrAccT>::gradient(const Vec3T<RealT> &uvw, const ValueT (&v)[2][2][2])
|
||||||
|
{
|
||||||
|
static_assert(is_floating_point<ValueT>::value, "TrilinearSampler::gradient requires a floating-point type");
|
||||||
|
#if 0
|
||||||
|
@@ -270,7 +270,7 @@ Vec3T<typename TreeOrAccT::ValueType> TrilinearSampler<TreeOrAccT>::gradient(con
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
-bool TrilinearSampler<TreeOrAccT>::zeroCrossing(const ValueT (&v)[2][2][2])
|
||||||
|
+__hostdev__ bool TrilinearSampler<TreeOrAccT>::zeroCrossing(const ValueT (&v)[2][2][2])
|
||||||
|
{
|
||||||
|
static_assert(is_floating_point<ValueT>::value, "TrilinearSampler::zeroCrossing requires a floating-point type");
|
||||||
|
const bool less = v[0][0][0] < ValueT(0);
|
||||||
|
@@ -363,21 +363,21 @@ class SampleFromVoxels<TreeOrAccT, 1, true> : public TrilinearSampler<TreeOrAccT
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
template<typename RealT, template<typename...> class Vec3T>
|
||||||
|
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, true>::operator()(Vec3T<RealT> xyz) const
|
||||||
|
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, true>::operator()(Vec3T<RealT> xyz) const
|
||||||
|
{
|
||||||
|
this->cache(xyz);
|
||||||
|
return BaseT::sample(xyz, mVal);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, true>::operator()(const CoordT &ijk) const
|
||||||
|
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, true>::operator()(const CoordT &ijk) const
|
||||||
|
{
|
||||||
|
return ijk == mPos ? mVal[0][0][0] : BaseT::mAcc.getValue(ijk);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
template<typename RealT, template<typename...> class Vec3T>
|
||||||
|
-Vec3T<typename TreeOrAccT::ValueType> SampleFromVoxels<TreeOrAccT, 1, true>::gradient(Vec3T<RealT> xyz) const
|
||||||
|
+__hostdev__ Vec3T<typename TreeOrAccT::ValueType> SampleFromVoxels<TreeOrAccT, 1, true>::gradient(Vec3T<RealT> xyz) const
|
||||||
|
{
|
||||||
|
this->cache(xyz);
|
||||||
|
return BaseT::gradient(xyz, mVal);
|
||||||
|
@@ -393,7 +393,7 @@ __hostdev__ bool SampleFromVoxels<TreeOrAccT, 1, true>::zeroCrossing(Vec3T<RealT
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
template<typename RealT, template<typename...> class Vec3T>
|
||||||
|
-void SampleFromVoxels<TreeOrAccT, 1, true>::cache(Vec3T<RealT>& xyz) const
|
||||||
|
+__hostdev__ void SampleFromVoxels<TreeOrAccT, 1, true>::cache(Vec3T<RealT>& xyz) const
|
||||||
|
{
|
||||||
|
CoordT ijk = Floor<CoordT>(xyz);
|
||||||
|
if (ijk != mPos) {
|
||||||
|
@@ -406,7 +406,7 @@ void SampleFromVoxels<TreeOrAccT, 1, true>::cache(Vec3T<RealT>& xyz) const
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
template<typename RealT, template<typename...> class Vec3T>
|
||||||
|
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, false>::operator()(Vec3T<RealT> xyz) const
|
||||||
|
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, false>::operator()(Vec3T<RealT> xyz) const
|
||||||
|
{
|
||||||
|
ValueT val[2][2][2];
|
||||||
|
CoordT ijk = Floor<CoordT>(xyz);
|
||||||
|
@@ -418,7 +418,7 @@ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, false>::operator(
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
template<typename RealT, template<typename...> class Vec3T>
|
||||||
|
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, false>::operator()(Vec3T<RealT> xyz) const
|
||||||
|
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, false>::operator()(Vec3T<RealT> xyz) const
|
||||||
|
{
|
||||||
|
auto lerp = [](ValueT a, ValueT b, RealT w) { return a + ValueT(w) * (b - a); };
|
||||||
|
|
||||||
|
@@ -463,7 +463,7 @@ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, false>::operator(
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
template<typename RealT, template<typename...> class Vec3T>
|
||||||
|
-inline Vec3T<typename TreeOrAccT::ValueType> SampleFromVoxels<TreeOrAccT, 1, false>::gradient(Vec3T<RealT> xyz) const
|
||||||
|
+__hostdev__ inline Vec3T<typename TreeOrAccT::ValueType> SampleFromVoxels<TreeOrAccT, 1, false>::gradient(Vec3T<RealT> xyz) const
|
||||||
|
{
|
||||||
|
ValueT val[2][2][2];
|
||||||
|
CoordT ijk = Floor<CoordT>(xyz);
|
||||||
|
@@ -473,7 +473,7 @@ inline Vec3T<typename TreeOrAccT::ValueType> SampleFromVoxels<TreeOrAccT, 1, fal
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
template<typename RealT, template<typename...> class Vec3T>
|
||||||
|
-bool SampleFromVoxels<TreeOrAccT, 1, false>::zeroCrossing(Vec3T<RealT> xyz) const
|
||||||
|
+__hostdev__ bool SampleFromVoxels<TreeOrAccT, 1, false>::zeroCrossing(Vec3T<RealT> xyz) const
|
||||||
|
{
|
||||||
|
ValueT val[2][2][2];
|
||||||
|
CoordT ijk = Floor<CoordT>(xyz);
|
||||||
|
@@ -510,7 +510,7 @@ class TriquadraticSampler
|
||||||
|
}; // TriquadraticSamplerBase
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
-void TriquadraticSampler<TreeOrAccT>::stencil(const CoordT &ijk, ValueT (&v)[3][3][3]) const
|
||||||
|
+__hostdev__ void TriquadraticSampler<TreeOrAccT>::stencil(const CoordT &ijk, ValueT (&v)[3][3][3]) const
|
||||||
|
{
|
||||||
|
CoordT p(ijk[0] - 1, 0, 0);
|
||||||
|
for (int dx = 0; dx < 3; ++dx, ++p[0]) {
|
||||||
|
@@ -526,7 +526,7 @@ void TriquadraticSampler<TreeOrAccT>::stencil(const CoordT &ijk, ValueT (&v)[3][
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
template<typename RealT, template<typename...> class Vec3T>
|
||||||
|
-typename TreeOrAccT::ValueType TriquadraticSampler<TreeOrAccT>::sample(const Vec3T<RealT> &uvw, const ValueT (&v)[3][3][3])
|
||||||
|
+__hostdev__ typename TreeOrAccT::ValueType TriquadraticSampler<TreeOrAccT>::sample(const Vec3T<RealT> &uvw, const ValueT (&v)[3][3][3])
|
||||||
|
{
|
||||||
|
auto kernel = [](const ValueT* value, double weight)->ValueT {
|
||||||
|
return weight * (weight * (0.5f * (value[0] + value[2]) - value[1]) +
|
||||||
|
@@ -545,7 +545,7 @@ typename TreeOrAccT::ValueType TriquadraticSampler<TreeOrAccT>::sample(const Vec
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
-bool TriquadraticSampler<TreeOrAccT>::zeroCrossing(const ValueT (&v)[3][3][3])
|
||||||
|
+__hostdev__ bool TriquadraticSampler<TreeOrAccT>::zeroCrossing(const ValueT (&v)[3][3][3])
|
||||||
|
{
|
||||||
|
static_assert(is_floating_point<ValueT>::value, "TrilinearSampler::zeroCrossing requires a floating-point type");
|
||||||
|
const bool less = v[0][0][0] < ValueT(0);
|
||||||
|
@@ -624,14 +624,14 @@ class SampleFromVoxels<TreeOrAccT, 2, true> : public TriquadraticSampler<TreeOrA
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
template<typename RealT, template<typename...> class Vec3T>
|
||||||
|
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, true>::operator()(Vec3T<RealT> xyz) const
|
||||||
|
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, true>::operator()(Vec3T<RealT> xyz) const
|
||||||
|
{
|
||||||
|
this->cache(xyz);
|
||||||
|
return BaseT::sample(xyz, mVal);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, true>::operator()(const CoordT &ijk) const
|
||||||
|
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, true>::operator()(const CoordT &ijk) const
|
||||||
|
{
|
||||||
|
return ijk == mPos ? mVal[1][1][1] : BaseT::mAcc.getValue(ijk);
|
||||||
|
}
|
||||||
|
@@ -646,7 +646,7 @@ __hostdev__ bool SampleFromVoxels<TreeOrAccT, 2, true>::zeroCrossing(Vec3T<RealT
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
template<typename RealT, template<typename...> class Vec3T>
|
||||||
|
-void SampleFromVoxels<TreeOrAccT, 2, true>::cache(Vec3T<RealT>& xyz) const
|
||||||
|
+__hostdev__ void SampleFromVoxels<TreeOrAccT, 2, true>::cache(Vec3T<RealT>& xyz) const
|
||||||
|
{
|
||||||
|
CoordT ijk = Floor<CoordT>(xyz);
|
||||||
|
if (ijk != mPos) {
|
||||||
|
@@ -657,7 +657,7 @@ void SampleFromVoxels<TreeOrAccT, 2, true>::cache(Vec3T<RealT>& xyz) const
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
template<typename RealT, template<typename...> class Vec3T>
|
||||||
|
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, false>::operator()(Vec3T<RealT> xyz) const
|
||||||
|
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, false>::operator()(Vec3T<RealT> xyz) const
|
||||||
|
{
|
||||||
|
ValueT val[3][3][3];
|
||||||
|
CoordT ijk = Floor<CoordT>(xyz);
|
||||||
|
@@ -667,7 +667,7 @@ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, false>::operator(
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
template<typename RealT, template<typename...> class Vec3T>
|
||||||
|
-bool SampleFromVoxels<TreeOrAccT, 2, false>::zeroCrossing(Vec3T<RealT> xyz) const
|
||||||
|
+__hostdev__ bool SampleFromVoxels<TreeOrAccT, 2, false>::zeroCrossing(Vec3T<RealT> xyz) const
|
||||||
|
{
|
||||||
|
ValueT val[3][3][3];
|
||||||
|
CoordT ijk = Floor<CoordT>(xyz);
|
||||||
|
@@ -710,7 +710,7 @@ class TricubicSampler
|
||||||
|
}; // TricubicSampler
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
-void TricubicSampler<TreeOrAccT>::stencil(const CoordT& ijk, ValueT (&C)[64]) const
|
||||||
|
+__hostdev__ void TricubicSampler<TreeOrAccT>::stencil(const CoordT& ijk, ValueT (&C)[64]) const
|
||||||
|
{
|
||||||
|
auto fetch = [&](int i, int j, int k) -> ValueT& { return C[((i + 1) << 4) + ((j + 1) << 2) + k + 1]; };
|
||||||
|
|
||||||
|
@@ -929,7 +929,7 @@ class SampleFromVoxels<TreeOrAccT, 3, true> : public TricubicSampler<TreeOrAccT>
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
template<typename RealT, template<typename...> class Vec3T>
|
||||||
|
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 3, true>::operator()(Vec3T<RealT> xyz) const
|
||||||
|
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 3, true>::operator()(Vec3T<RealT> xyz) const
|
||||||
|
{
|
||||||
|
this->cache(xyz);
|
||||||
|
return BaseT::sample(xyz, mC);
|
||||||
|
@@ -937,7 +937,7 @@ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 3, true>::operator()
|
||||||
|
|
||||||
|
template<typename TreeOrAccT>
|
||||||
|
template<typename RealT, template<typename...> class Vec3T>
|
||||||
|
-void SampleFromVoxels<TreeOrAccT, 3, true>::cache(Vec3T<RealT>& xyz) const
|
||||||
|
+__hostdev__ void SampleFromVoxels<TreeOrAccT, 3, true>::cache(Vec3T<RealT>& xyz) const
|
||||||
|
{
|
||||||
|
CoordT ijk = Floor<CoordT>(xyz);
|
||||||
|
if (ijk != mPos) {
|
||||||
|
|
||||||
|
@@ -48,25 +48,6 @@ diff -Naur org/CMakeLists.txt external_osl/CMakeLists.txt
|
|||||||
|
|
||||||
set (OSL_NO_DEFAULT_TEXTURESYSTEM OFF CACHE BOOL "Do not use create a raw OIIO::TextureSystem")
|
set (OSL_NO_DEFAULT_TEXTURESYSTEM OFF CACHE BOOL "Do not use create a raw OIIO::TextureSystem")
|
||||||
if (OSL_NO_DEFAULT_TEXTURESYSTEM)
|
if (OSL_NO_DEFAULT_TEXTURESYSTEM)
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 990f50d69..46ef7351d 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -252,11 +252,9 @@ install (EXPORT OSL_EXPORTED_TARGETS
|
|
||||||
FILE ${OSL_TARGETS_EXPORT_NAME}
|
|
||||||
NAMESPACE ${PROJECT_NAME}::)
|
|
||||||
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-osl_add_all_tests()
|
|
||||||
-
|
|
||||||
+if (${PROJECT_NAME}_BUILD_TESTS AND NOT ${PROJECT_NAME}_IS_SUBPROJECT)
|
|
||||||
+ osl_add_all_tests()
|
|
||||||
+endif ()
|
|
||||||
|
|
||||||
if (NOT ${PROJECT_NAME}_IS_SUBPROJECT)
|
|
||||||
include (packaging)
|
|
||||||
diff -Naur external_osl_orig/src/cmake/externalpackages.cmake external_osl/src/cmake/externalpackages.cmake
|
diff -Naur external_osl_orig/src/cmake/externalpackages.cmake external_osl/src/cmake/externalpackages.cmake
|
||||||
--- external_osl_orig/src/cmake/externalpackages.cmake 2021-06-01 13:44:18 -0600
|
--- external_osl_orig/src/cmake/externalpackages.cmake 2021-06-01 13:44:18 -0600
|
||||||
+++ external_osl/src/cmake/externalpackages.cmake 2021-06-28 07:44:32 -0600
|
+++ external_osl/src/cmake/externalpackages.cmake 2021-06-28 07:44:32 -0600
|
||||||
|
@@ -10,217 +10,22 @@ diff -x .git -ur usd.orig/cmake/defaults/Packages.cmake external_usd/cmake/defau
|
|||||||
add_definitions(${TBB_DEFINITIONS})
|
add_definitions(${TBB_DEFINITIONS})
|
||||||
|
|
||||||
# --math
|
# --math
|
||||||
diff -Naur external_usd_base/cmake/macros/Public.cmake external_usd/cmake/macros/Public.cmake
|
|
||||||
--- external_usd_base/cmake/macros/Public.cmake 2019-10-24 14:39:53 -0600
|
|
||||||
+++ external_usd/cmake/macros/Public.cmake 2020-01-11 13:33:29 -0700
|
|
||||||
@@ -996,6 +996,12 @@
|
|
||||||
foreach(lib ${PXR_OBJECT_LIBS})
|
|
||||||
string(TOUPPER ${lib} uppercaseName)
|
|
||||||
list(APPEND exports "${uppercaseName}_EXPORTS=1")
|
|
||||||
+ # When building for blender, we do NOT want to export all symbols on windows.
|
|
||||||
+ # This is a dirty hack, but USD makes it impossible to do the right thing
|
|
||||||
+ # with the default options exposed.
|
|
||||||
+ if (WIN32)
|
|
||||||
+ list(APPEND exports "PXR_STATIC=1")
|
|
||||||
+ endif()
|
|
||||||
endforeach()
|
|
||||||
foreach(lib ${PXR_OBJECT_LIBS})
|
|
||||||
set(objects "${objects};\$<TARGET_OBJECTS:${lib}>")
|
|
||||||
diff -ru USD-20.11/pxr/base/tf/pxrLZ4/lz4.cpp external_usd/pxr/base/tf/pxrLZ4/lz4.cpp
|
|
||||||
--- USD-20.11/pxr/base/tf/pxrLZ4/lz4.cpp 2020-10-14 19:25:19.000000000 +0100
|
|
||||||
+++ external_usd/pxr/base/tf/pxrLZ4/lz4.cpp 2021-02-09 09:28:51.496190085 +0000
|
|
||||||
@@ -614,6 +614,15 @@
|
|
||||||
/*-************************************
|
|
||||||
* Internal Definitions used in Tests
|
|
||||||
**************************************/
|
|
||||||
+
|
|
||||||
+/*******************************************************************
|
|
||||||
+ * Disabled in Blender. The BLOSC library also exposes these
|
|
||||||
+ * functions, and this causes 'duplicate symbol' linker errors.
|
|
||||||
+ *
|
|
||||||
+ * This problem has been reported upstream at
|
|
||||||
+ * https://github.com/PixarAnimationStudios/USD/issues/1447
|
|
||||||
+ *
|
|
||||||
+ *******************************************************************
|
|
||||||
#if defined (__cplusplus)
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
@@ -627,6 +636,7 @@
|
|
||||||
#if defined (__cplusplus)
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
+********************************************************************/
|
|
||||||
|
|
||||||
/*-******************************
|
diff -Naur usd_orig/cmake/defaults/msvcdefaults.cmake external_usd/cmake/defaults/msvcdefaults.cmake
|
||||||
* Compression functions
|
--- usd_orig/cmake/defaults/msvcdefaults.cmake 2022-02-18 14:49:09 -0700
|
||||||
|
+++ external_usd/cmake/defaults/msvcdefaults.cmake 2022-03-14 11:41:50 -0600
|
||||||
|
@@ -120,9 +120,6 @@
|
||||||
|
# for all translation units.
|
||||||
|
set(_PXR_CXX_FLAGS "${_PXR_CXX_FLAGS} /bigobj")
|
||||||
|
|
||||||
From 442d087962f762deeb8b6e49a0955753fcf9aeb9 Mon Sep 17 00:00:00 2001
|
-# Enable PDB generation.
|
||||||
From: Tsahi Zidenberg <tsahee@amazon.com>
|
-set(_PXR_CXX_FLAGS "${_PXR_CXX_FLAGS} /Zi")
|
||||||
Date: Sun, 15 Nov 2020 15:18:24 +0000
|
-
|
||||||
Subject: [PATCH 1/2] stackTrace: support aarch64/linux
|
# Enable multiprocessor builds.
|
||||||
|
set(_PXR_CXX_FLAGS "${_PXR_CXX_FLAGS} /MP")
|
||||||
stacktrace calls syscall directly via assembler. Create compatible
|
set(_PXR_CXX_FLAGS "${_PXR_CXX_FLAGS} /Gm-")
|
||||||
aarch64 code.
|
|
||||||
---
|
|
||||||
pxr/base/arch/stackTrace.cpp | 30 ++++++++++++++++++++++++------
|
|
||||||
1 file changed, 24 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/pxr/base/arch/stackTrace.cpp b/pxr/base/arch/stackTrace.cpp
|
|
||||||
index dcc1dfd46..c11aabeb1 100644
|
|
||||||
--- a/pxr/base/arch/stackTrace.cpp
|
|
||||||
+++ b/pxr/base/arch/stackTrace.cpp
|
|
||||||
@@ -583,7 +583,6 @@ nonLockingLinux__execve (const char *file,
|
|
||||||
char *const argv[],
|
|
||||||
char *const envp[])
|
|
||||||
{
|
|
||||||
-#if defined(ARCH_BITS_64)
|
|
||||||
/*
|
|
||||||
* We make a direct system call here, because we can't find an
|
|
||||||
* execve which corresponds with the non-locking fork we call
|
|
||||||
@@ -594,7 +593,27 @@ nonLockingLinux__execve (const char *file,
|
|
||||||
* hangs in a threaded app. (We use the non-locking fork to get
|
|
||||||
* around problems with forking when we have had memory
|
|
||||||
* corruption.) whew.
|
|
||||||
- *
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+ unsigned long result;
|
|
||||||
+
|
|
||||||
+#if defined (__aarch64__)
|
|
||||||
+ {
|
|
||||||
+ register long __file_result asm ("x0") = (long)file;
|
|
||||||
+ register char* const* __argv asm ("x1") = argv;
|
|
||||||
+ register char* const* __envp asm ("x2") = envp;
|
|
||||||
+ register long __num_execve asm ("x8") = 221;
|
|
||||||
+ __asm__ __volatile__ (
|
|
||||||
+ "svc 0"
|
|
||||||
+ : "=r" (__file_result)
|
|
||||||
+ : "r"(__num_execve), "r" (__file_result), "r" (__argv), "r" (__envp)
|
|
||||||
+ : "memory"
|
|
||||||
+ );
|
|
||||||
+ result = __file_result;
|
|
||||||
+ }
|
|
||||||
+#elif defined(ARCH_CPU_INTEL) && defined(ARCH_BITS_64)
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
* %rdi, %rsi, %rdx, %rcx, %r8, %r9 are args 0-5
|
|
||||||
* syscall clobbers %rcx and %r11
|
|
||||||
*
|
|
||||||
@@ -603,7 +622,6 @@ nonLockingLinux__execve (const char *file,
|
|
||||||
* constraints to gcc.
|
|
||||||
*/
|
|
||||||
|
|
||||||
- unsigned long result;
|
|
||||||
__asm__ __volatile__ (
|
|
||||||
"mov %0, %%rdi \n\t"
|
|
||||||
"mov %%rcx, %%rsi \n\t"
|
|
||||||
@@ -614,6 +632,9 @@ nonLockingLinux__execve (const char *file,
|
|
||||||
: "0" (file), "c" (argv), "d" (envp)
|
|
||||||
: "memory", "cc", "r11"
|
|
||||||
);
|
|
||||||
+#else
|
|
||||||
+#error Unknown architecture
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (result >= 0xfffffffffffff000) {
|
|
||||||
errno = -result;
|
|
||||||
@@ -621,9 +642,6 @@ nonLockingLinux__execve (const char *file,
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
-#else
|
|
||||||
-#error Unknown architecture
|
|
||||||
-#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
From a1dffe02519bb3c6ccbbe8c6c58304da5db98995 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tsahi Zidenberg <tsahee@amazon.com>
|
|
||||||
Date: Sun, 15 Nov 2020 15:22:52 +0000
|
|
||||||
Subject: [PATCH 2/2] timing: support aarch64/linux
|
|
||||||
|
|
||||||
The aarch64 arch-timer is directly accessible to userspace via two
|
|
||||||
registers:
|
|
||||||
CNTVCT_EL0 - holds the current counter value
|
|
||||||
CNTFRQ_EL0 - holds the counter frequency (in Hz)
|
|
||||||
---
|
|
||||||
pxr/base/arch/timing.cpp | 6 ++++++
|
|
||||||
pxr/base/arch/timing.h | 6 +++++-
|
|
||||||
2 files changed, 11 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/pxr/base/arch/timing.cpp b/pxr/base/arch/timing.cpp
|
|
||||||
index 27ad58fed..9022950c1 100644
|
|
||||||
--- a/pxr/base/arch/timing.cpp
|
|
||||||
+++ b/pxr/base/arch/timing.cpp
|
|
||||||
@@ -59,6 +59,11 @@ ARCH_HIDDEN
|
|
||||||
void
|
|
||||||
Arch_InitTickTimer()
|
|
||||||
{
|
|
||||||
+#ifdef __aarch64__
|
|
||||||
+ uint64_t counter_hz;
|
|
||||||
+ __asm __volatile("mrs %0, CNTFRQ_EL0" : "=&r" (counter_hz));
|
|
||||||
+ Arch_NanosecondsPerTick = double(1e9) / double(counter_hz);
|
|
||||||
+#else
|
|
||||||
// NOTE: Normally ifstream would be cleaner, but it causes crashes when
|
|
||||||
// used in conjunction with DSOs and the Intel Compiler.
|
|
||||||
FILE *in;
|
|
||||||
@@ -135,6 +140,7 @@ Arch_InitTickTimer()
|
|
||||||
}
|
|
||||||
|
|
||||||
Arch_NanosecondsPerTick = double(1e9) / double(cpuHz);
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
#elif defined(ARCH_OS_WINDOWS)
|
|
||||||
|
|
||||||
diff --git a/pxr/base/arch/timing.h b/pxr/base/arch/timing.h
|
|
||||||
index 67ec0d15f..6dc3e85a0 100644
|
|
||||||
--- a/pxr/base/arch/timing.h
|
|
||||||
+++ b/pxr/base/arch/timing.h
|
|
||||||
@@ -36,7 +36,7 @@
|
|
||||||
/// \addtogroup group_arch_SystemFunctions
|
|
||||||
///@{
|
|
||||||
|
|
||||||
-#if defined(ARCH_OS_LINUX)
|
|
||||||
+#if defined(ARCH_OS_LINUX) && defined(ARCH_CPU_INTEL)
|
|
||||||
#include <x86intrin.h>
|
|
||||||
#elif defined(ARCH_OS_DARWIN)
|
|
||||||
#include <mach/mach_time.h>
|
|
||||||
@@ -69,6 +69,10 @@ ArchGetTickTime()
|
|
||||||
#elif defined(ARCH_CPU_INTEL)
|
|
||||||
// On Intel we'll use the rdtsc instruction.
|
|
||||||
return __rdtsc();
|
|
||||||
+#elif defined (__aarch64__)
|
|
||||||
+ uint64_t result;
|
|
||||||
+ __asm __volatile("mrs %0, CNTVCT_EL0" : "=&r" (result));
|
|
||||||
+ return result;
|
|
||||||
#else
|
|
||||||
#error Unknown architecture.
|
|
||||||
#endif
|
|
||||||
|
|
||||||
diff --git a/pxr/base/arch/demangle.cpp b/pxr/base/arch/demangle.cpp
|
|
||||||
index 67ec0d15f..6dc3e85a0 100644
|
|
||||||
--- a/pxr/base/arch/demangle.cpp
|
|
||||||
+++ b/pxr/base/arch/demangle.cpp
|
|
||||||
@@ -36,6 +36,7 @@
|
|
||||||
#if (ARCH_COMPILER_GCC_MAJOR == 3 && ARCH_COMPILER_GCC_MINOR >= 1) || \
|
|
||||||
ARCH_COMPILER_GCC_MAJOR > 3 || defined(ARCH_COMPILER_CLANG)
|
|
||||||
#define _AT_LEAST_GCC_THREE_ONE_OR_CLANG
|
|
||||||
+#include <cxxabi.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
PXR_NAMESPACE_OPEN_SCOPE
|
|
||||||
@@ -138,7 +139,6 @@
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(_AT_LEAST_GCC_THREE_ONE_OR_CLANG)
|
|
||||||
-#include <cxxabi.h>
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This routine doesn't work when you get to gcc3.4.
|
|
||||||
|
|
||||||
diff --git a/pxr/base/work/singularTask.h b/pxr/base/work/singularTask.h
|
diff --git a/pxr/base/work/singularTask.h b/pxr/base/work/singularTask.h
|
||||||
index 67ec0d15f..6dc3e85a0 100644
|
|
||||||
--- a/pxr/base/work/singularTask.h
|
--- a/pxr/base/work/singularTask.h
|
||||||
+++ b/pxr/base/work/singularTask.h
|
+++ b/pxr/base/work/singularTask.h
|
||||||
@@ -120,7 +120,7 @@
|
@@ -120,7 +120,7 @@
|
||||||
@@ -232,3 +37,66 @@ index 67ec0d15f..6dc3e85a0 100644
|
|||||||
do { _fn(); } while (
|
do { _fn(); } while (
|
||||||
!count.compare_exchange_strong(old, 0));
|
!count.compare_exchange_strong(old, 0));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
diff --git a/pxr/usd/sdr/shaderMetadataHelpers.h b/pxr/usd/sdr/shaderMetadataHelpers.h
|
||||||
|
--- a/pxr/usd/sdr/shaderMetadataHelpers.h
|
||||||
|
+++ b/pxr/usd/sdr/shaderMetadataHelpers.h
|
||||||
|
@@ -32,6 +32,8 @@
|
||||||
|
#include "pxr/base/tf/token.h"
|
||||||
|
#include "pxr/usd/sdr/declare.h"
|
||||||
|
|
||||||
|
+#include <limits>
|
||||||
|
+
|
||||||
|
PXR_NAMESPACE_OPEN_SCOPE
|
||||||
|
|
||||||
|
/// \namespace ShaderMetadataHelpers
|
||||||
|
|
||||||
|
diff --git a/pxr/base/arch/timing.h b/pxr/base/arch/timing.h
|
||||||
|
index 517561f..fda5a1f 100644
|
||||||
|
--- a/pxr/base/arch/timing.h
|
||||||
|
+++ b/pxr/base/arch/timing.h
|
||||||
|
@@ -91,6 +91,10 @@ ArchGetTickTime()
|
||||||
|
inline uint64_t
|
||||||
|
ArchGetStartTickTime()
|
||||||
|
{
|
||||||
|
+ // BLENDER: avoid using rdtsc instruction that is not supported on older CPUs.
|
||||||
|
+ return ArchGetTickTime();
|
||||||
|
+
|
||||||
|
+#if 0
|
||||||
|
uint64_t t;
|
||||||
|
#if defined (ARCH_OS_DARWIN)
|
||||||
|
return ArchGetTickTime();
|
||||||
|
@@ -123,6 +127,7 @@ ArchGetStartTickTime()
|
||||||
|
#error "Unsupported architecture."
|
||||||
|
#endif
|
||||||
|
return t;
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Get a "stop" tick time for measuring an interval of time. See
|
||||||
|
@@ -132,6 +137,10 @@ ArchGetStartTickTime()
|
||||||
|
inline uint64_t
|
||||||
|
ArchGetStopTickTime()
|
||||||
|
{
|
||||||
|
+ // BLENDER: avoid using rdtsc instruction that is not supported on older CPUs.
|
||||||
|
+ return ArchGetTickTime();
|
||||||
|
+
|
||||||
|
+#if 0
|
||||||
|
uint64_t t;
|
||||||
|
#if defined (ARCH_OS_DARWIN)
|
||||||
|
return ArchGetTickTime();
|
||||||
|
@@ -162,11 +171,11 @@ ArchGetStopTickTime()
|
||||||
|
#error "Unsupported architecture."
|
||||||
|
#endif
|
||||||
|
return t;
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
-#if defined (doxygen) || \
|
||||||
|
- (!defined(ARCH_OS_DARWIN) && defined(ARCH_CPU_INTEL) && \
|
||||||
|
- (defined(ARCH_COMPILER_CLANG) || defined(ARCH_COMPILER_GCC)))
|
||||||
|
+// BLENDER: avoid using rdtsc instruction that is not supported on older CPUs.
|
||||||
|
+#if 0
|
||||||
|
|
||||||
|
/// A simple timer class for measuring an interval of time using the
|
||||||
|
/// ArchTickTimer facilities.
|
||||||
|
@@ -46,6 +46,18 @@ if "%3" == "debug" set CMAKE_DEBUG_OPTIONS=-DWITH_OPTIMIZED_DEBUG=Off
|
|||||||
set dobuild=1
|
set dobuild=1
|
||||||
if "%4" == "nobuild" set dobuild=0
|
if "%4" == "nobuild" set dobuild=0
|
||||||
|
|
||||||
|
REM If Python is be available certain deps may try to
|
||||||
|
REM to use this over the version we build, to prevent that
|
||||||
|
REM make sure pythonw is NOT in the path. We look for pythonw.exe
|
||||||
|
REM since windows apparently ships a python.exe that just opens up
|
||||||
|
REM the windows store but does not ship any actual python files that
|
||||||
|
REM could cause issues.
|
||||||
|
for %%X in (pythonw.exe) do (set PYTHONW=%%~$PATH:X)
|
||||||
|
if EXIST "%PYTHONW%" (
|
||||||
|
echo PYTHON found at %PYTHONW% dependencies cannot be build with python available in the path
|
||||||
|
goto exit
|
||||||
|
)
|
||||||
|
|
||||||
set SOURCE_DIR=%~dp0\..
|
set SOURCE_DIR=%~dp0\..
|
||||||
set BUILD_DIR=%cd%\build
|
set BUILD_DIR=%cd%\build
|
||||||
set HARVEST_DIR=%BUILD_DIR%\output
|
set HARVEST_DIR=%BUILD_DIR%\output
|
||||||
@@ -98,8 +110,8 @@ echo %DATE% %TIME% : Start > %StatusFile%
|
|||||||
cmake -G "%CMAKE_BUILDER%" %CMAKE_BUILD_ARCH% -Thost=x64 %SOURCE_DIR% -DPACKAGE_DIR=%BUILD_DIR%/packages -DDOWNLOAD_DIR=%BUILD_DIR%/downloads -DBUILD_MODE=Release -DHARVEST_TARGET=%HARVEST_DIR%/%HARVESTROOT%%VSVER_SHORT%/
|
cmake -G "%CMAKE_BUILDER%" %CMAKE_BUILD_ARCH% -Thost=x64 %SOURCE_DIR% -DPACKAGE_DIR=%BUILD_DIR%/packages -DDOWNLOAD_DIR=%BUILD_DIR%/downloads -DBUILD_MODE=Release -DHARVEST_TARGET=%HARVEST_DIR%/%HARVESTROOT%%VSVER_SHORT%/
|
||||||
echo %DATE% %TIME% : Release Configuration done >> %StatusFile%
|
echo %DATE% %TIME% : Release Configuration done >> %StatusFile%
|
||||||
if "%dobuild%" == "1" (
|
if "%dobuild%" == "1" (
|
||||||
msbuild /m "ll.vcxproj" /p:Configuration=Release /fl /flp:logfile=BlenderDeps_llvm.log;Verbosity=normal
|
msbuild /m:1 "ll.vcxproj" /p:Configuration=Release /fl /flp:logfile=BlenderDeps_llvm.log;Verbosity=normal
|
||||||
msbuild /m "BlenderDependencies.sln" /p:Configuration=Release /fl /flp:logfile=BlenderDeps.log;Verbosity=minimal /verbosity:minimal
|
msbuild /m:1 "BlenderDependencies.sln" /p:Configuration=Release /fl /flp:logfile=BlenderDeps.log;Verbosity=minimal /verbosity:minimal
|
||||||
echo %DATE% %TIME% : Release Build done >> %StatusFile%
|
echo %DATE% %TIME% : Release Build done >> %StatusFile%
|
||||||
cmake --build . --target Harvest_Release_Results > Harvest_Release.txt
|
cmake --build . --target Harvest_Release_Results > Harvest_Release.txt
|
||||||
)
|
)
|
||||||
@@ -111,8 +123,8 @@ cd %Staging%\%BuildDir%%ARCH%D
|
|||||||
cmake -G "%CMAKE_BUILDER%" %CMAKE_BUILD_ARCH% -Thost=x64 %SOURCE_DIR% -DPACKAGE_DIR=%BUILD_DIR%/packages -DDOWNLOAD_DIR=%BUILD_DIR%/downloads -DCMAKE_BUILD_TYPE=Debug -DBUILD_MODE=Debug -DHARVEST_TARGET=%HARVEST_DIR%/%HARVESTROOT%%VSVER_SHORT%/ %CMAKE_DEBUG_OPTIONS%
|
cmake -G "%CMAKE_BUILDER%" %CMAKE_BUILD_ARCH% -Thost=x64 %SOURCE_DIR% -DPACKAGE_DIR=%BUILD_DIR%/packages -DDOWNLOAD_DIR=%BUILD_DIR%/downloads -DCMAKE_BUILD_TYPE=Debug -DBUILD_MODE=Debug -DHARVEST_TARGET=%HARVEST_DIR%/%HARVESTROOT%%VSVER_SHORT%/ %CMAKE_DEBUG_OPTIONS%
|
||||||
echo %DATE% %TIME% : Debug Configuration done >> %StatusFile%
|
echo %DATE% %TIME% : Debug Configuration done >> %StatusFile%
|
||||||
if "%dobuild%" == "1" (
|
if "%dobuild%" == "1" (
|
||||||
msbuild /m "ll.vcxproj" /p:Configuration=Debug /fl /flp:logfile=BlenderDeps_llvm.log;;Verbosity=normal
|
msbuild /m:1 "ll.vcxproj" /p:Configuration=Debug /fl /flp:logfile=BlenderDeps_llvm.log;;Verbosity=normal
|
||||||
msbuild /m "BlenderDependencies.sln" /p:Configuration=Debug /verbosity:n /fl /flp:logfile=BlenderDeps.log;;Verbosity=normal
|
msbuild /m:1 "BlenderDependencies.sln" /p:Configuration=Debug /verbosity:n /fl /flp:logfile=BlenderDeps.log;;Verbosity=normal
|
||||||
echo %DATE% %TIME% : Debug Build done >> %StatusFile%
|
echo %DATE% %TIME% : Debug Build done >> %StatusFile%
|
||||||
cmake --build . --target Harvest_Debug_Results> Harvest_Debug.txt
|
cmake --build . --target Harvest_Debug_Results> Harvest_Debug.txt
|
||||||
)
|
)
|
||||||
|
56
build_files/cmake/Modules/FindLevelZero.cmake
Normal file
56
build_files/cmake/Modules/FindLevelZero.cmake
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
# Copyright 2021-2022 Intel Corporation
|
||||||
|
|
||||||
|
# - Find Level Zero library
|
||||||
|
# Find Level Zero headers and libraries needed by oneAPI implementation
|
||||||
|
# This module defines
|
||||||
|
# LEVEL_ZERO_LIBRARY, libraries to link against in order to use L0.
|
||||||
|
# LEVEL_ZERO_INCLUDE_DIR, directories where L0 headers can be found.
|
||||||
|
# LEVEL_ZERO_ROOT_DIR, The base directory to search for L0 files.
|
||||||
|
# This can also be an environment variable.
|
||||||
|
# LEVEL_ZERO_FOUND, If false, then don't try to use L0.
|
||||||
|
|
||||||
|
IF(NOT LEVEL_ZERO_ROOT_DIR AND NOT $ENV{LEVEL_ZERO_ROOT_DIR} STREQUAL "")
|
||||||
|
SET(LEVEL_ZERO_ROOT_DIR $ENV{LEVEL_ZERO_ROOT_DIR})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
SET(_level_zero_search_dirs
|
||||||
|
${LEVEL_ZERO_ROOT_DIR}
|
||||||
|
/usr/lib
|
||||||
|
/usr/local/lib
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_LIBRARY(_LEVEL_ZERO_LIBRARY
|
||||||
|
NAMES
|
||||||
|
ze_loader
|
||||||
|
HINTS
|
||||||
|
${_level_zero_search_dirs}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
lib64 lib
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_PATH(_LEVEL_ZERO_INCLUDE_DIR
|
||||||
|
NAMES
|
||||||
|
level_zero/ze_api.h
|
||||||
|
HINTS
|
||||||
|
${_level_zero_search_dirs}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LevelZero DEFAULT_MSG _LEVEL_ZERO_LIBRARY _LEVEL_ZERO_INCLUDE_DIR)
|
||||||
|
|
||||||
|
IF(LevelZero_FOUND)
|
||||||
|
SET(LEVEL_ZERO_LIBRARY ${_LEVEL_ZERO_LIBRARY})
|
||||||
|
SET(LEVEL_ZERO_INCLUDE_DIR ${_LEVEL_ZERO_INCLUDE_DIR} ${_LEVEL_ZERO_INCLUDE_PARENT_DIR})
|
||||||
|
SET(LEVEL_ZERO_FOUND TRUE)
|
||||||
|
ELSE()
|
||||||
|
SET(LEVEL_ZERO_FOUND FALSE)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
MARK_AS_ADVANCED(
|
||||||
|
LEVEL_ZERO_LIBRARY
|
||||||
|
LEVEL_ZERO_INCLUDE_DIR
|
||||||
|
)
|
@@ -85,9 +85,9 @@ STRING(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _openexr_libs_ver ${OPENE
|
|||||||
IF(OPENEXR_VERSION VERSION_GREATER_EQUAL "3.0.0")
|
IF(OPENEXR_VERSION VERSION_GREATER_EQUAL "3.0.0")
|
||||||
SET(_openexr_FIND_COMPONENTS
|
SET(_openexr_FIND_COMPONENTS
|
||||||
Iex
|
Iex
|
||||||
IlmThread
|
|
||||||
OpenEXR
|
OpenEXR
|
||||||
OpenEXRCore
|
OpenEXRCore
|
||||||
|
IlmThread
|
||||||
)
|
)
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(_openexr_FIND_COMPONENTS
|
SET(_openexr_FIND_COMPONENTS
|
||||||
|
@@ -175,7 +175,9 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonLibsUnix DEFAULT_MSG
|
|||||||
IF(PYTHONLIBSUNIX_FOUND)
|
IF(PYTHONLIBSUNIX_FOUND)
|
||||||
# Assign cache items
|
# Assign cache items
|
||||||
SET(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR} ${PYTHON_INCLUDE_CONFIG_DIR})
|
SET(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR} ${PYTHON_INCLUDE_CONFIG_DIR})
|
||||||
|
IF(NOT WITH_PYTHON_MODULE)
|
||||||
SET(PYTHON_LIBRARIES ${PYTHON_LIBRARY})
|
SET(PYTHON_LIBRARIES ${PYTHON_LIBRARY})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
FIND_FILE(PYTHON_SITE_PACKAGES
|
FIND_FILE(PYTHON_SITE_PACKAGES
|
||||||
NAMES
|
NAMES
|
||||||
|
88
build_files/cmake/Modules/FindSYCL.cmake
Normal file
88
build_files/cmake/Modules/FindSYCL.cmake
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
# Copyright 2021-2022 Intel Corporation
|
||||||
|
|
||||||
|
# - Find SYCL library
|
||||||
|
# Find the native SYCL header and libraries needed by oneAPI implementation
|
||||||
|
# This module defines
|
||||||
|
# SYCL_COMPILER, compiler which will be used for compilation of SYCL code
|
||||||
|
# SYCL_LIBRARY, libraries to link against in order to use SYCL.
|
||||||
|
# SYCL_INCLUDE_DIR, directories where SYCL headers can be found
|
||||||
|
# SYCL_ROOT_DIR, The base directory to search for SYCL files.
|
||||||
|
# This can also be an environment variable.
|
||||||
|
# SYCL_FOUND, If false, then don't try to use SYCL.
|
||||||
|
|
||||||
|
IF(NOT SYCL_ROOT_DIR AND NOT $ENV{SYCL_ROOT_DIR} STREQUAL "")
|
||||||
|
SET(SYCL_ROOT_DIR $ENV{SYCL_ROOT_DIR})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
SET(_sycl_search_dirs
|
||||||
|
${SYCL_ROOT_DIR}
|
||||||
|
/usr/lib
|
||||||
|
/usr/local/lib
|
||||||
|
/opt/intel/oneapi/compiler/latest/linux/
|
||||||
|
C:/Program\ Files\ \(x86\)/Intel/oneAPI/compiler/latest/windows
|
||||||
|
)
|
||||||
|
|
||||||
|
# Find DPC++ compiler.
|
||||||
|
# Since the compiler name is possibly conflicting with the system-wide
|
||||||
|
# CLang start with looking for either dpcpp or clang binary in the given
|
||||||
|
# list of search paths only. If that fails, try to look for a system-wide
|
||||||
|
# dpcpp binary.
|
||||||
|
FIND_PROGRAM(SYCL_COMPILER
|
||||||
|
NAMES
|
||||||
|
dpcpp
|
||||||
|
clang++
|
||||||
|
HINTS
|
||||||
|
${_sycl_search_dirs}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
bin
|
||||||
|
NO_CMAKE_FIND_ROOT_PATH
|
||||||
|
NAMES_PER_DIR
|
||||||
|
)
|
||||||
|
|
||||||
|
# NOTE: No clang++ here so that we do not pick up a system-wide CLang
|
||||||
|
# compiler.
|
||||||
|
if(NOT SYCL_COMPILER)
|
||||||
|
FIND_PROGRAM(SYCL_COMPILER
|
||||||
|
NAMES
|
||||||
|
dpcpp
|
||||||
|
HINTS
|
||||||
|
${_sycl_search_dirs}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
bin
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
FIND_LIBRARY(SYCL_LIBRARY
|
||||||
|
NAMES
|
||||||
|
sycl
|
||||||
|
HINTS
|
||||||
|
${_sycl_search_dirs}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
lib64 lib
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_PATH(SYCL_INCLUDE_DIR
|
||||||
|
NAMES
|
||||||
|
CL/sycl.hpp
|
||||||
|
HINTS
|
||||||
|
${_sycl_search_dirs}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
include
|
||||||
|
include/sycl
|
||||||
|
)
|
||||||
|
|
||||||
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SYCL DEFAULT_MSG SYCL_LIBRARY SYCL_INCLUDE_DIR)
|
||||||
|
|
||||||
|
IF(SYCL_FOUND)
|
||||||
|
get_filename_component(_SYCL_INCLUDE_PARENT_DIR ${SYCL_INCLUDE_DIR} DIRECTORY)
|
||||||
|
SET(SYCL_INCLUDE_DIR ${SYCL_INCLUDE_DIR} ${_SYCL_INCLUDE_PARENT_DIR})
|
||||||
|
ELSE()
|
||||||
|
SET(SYCL_SYCL_FOUND FALSE)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
MARK_AS_ADVANCED(
|
||||||
|
_SYCL_INCLUDE_PARENT_DIR
|
||||||
|
)
|
@@ -64,6 +64,7 @@ ENDIF()
|
|||||||
MARK_AS_ADVANCED(
|
MARK_AS_ADVANCED(
|
||||||
USD_INCLUDE_DIR
|
USD_INCLUDE_DIR
|
||||||
USD_LIBRARY_DIR
|
USD_LIBRARY_DIR
|
||||||
|
USD_LIBRARY
|
||||||
)
|
)
|
||||||
|
|
||||||
UNSET(_usd_SEARCH_DIRS)
|
UNSET(_usd_SEARCH_DIRS)
|
||||||
|
@@ -74,4 +74,9 @@ ENDIF()
|
|||||||
MARK_AS_ADVANCED(
|
MARK_AS_ADVANCED(
|
||||||
WEBP_INCLUDE_DIR
|
WEBP_INCLUDE_DIR
|
||||||
WEBP_LIBRARY_DIR
|
WEBP_LIBRARY_DIR
|
||||||
|
|
||||||
|
# Generated names.
|
||||||
|
WEBP_WEBPDEMUX_LIBRARY
|
||||||
|
WEBP_WEBPMUX_LIBRARY
|
||||||
|
WEBP_WEBP_LIBRARY
|
||||||
)
|
)
|
||||||
|
@@ -1,8 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
# <pep8 compliant>
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Example linux usage
|
Example linux usage
|
||||||
python3 ~/blender-git/blender/build_files/cmake/cmake_netbeans_project.py ~/blender-git/cmake
|
python3 ~/blender-git/blender/build_files/cmake/cmake_netbeans_project.py ~/blender-git/cmake
|
||||||
|
@@ -1,8 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
# <pep8 compliant>
|
|
||||||
|
|
||||||
r"""
|
r"""
|
||||||
Example Linux usage:
|
Example Linux usage:
|
||||||
python ~/blender-git/blender/build_files/cmake/cmake_qtcreator_project.py --build-dir ~/blender-git/cmake
|
python ~/blender-git/blender/build_files/cmake/cmake_qtcreator_project.py --build-dir ~/blender-git/cmake
|
||||||
|
@@ -1,8 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
# <pep8 compliant>
|
|
||||||
|
|
||||||
import project_source_info
|
import project_source_info
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
@@ -1,8 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
# <pep8 compliant>
|
|
||||||
|
|
||||||
import project_source_info
|
import project_source_info
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
@@ -1,8 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
# <pep8 compliant>
|
|
||||||
|
|
||||||
CHECKER_IGNORE_PREFIX = [
|
CHECKER_IGNORE_PREFIX = [
|
||||||
"extern",
|
"extern",
|
||||||
"intern/moto",
|
"intern/moto",
|
||||||
|
@@ -1,8 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
# <pep8 compliant>
|
|
||||||
|
|
||||||
CHECKER_IGNORE_PREFIX = [
|
CHECKER_IGNORE_PREFIX = [
|
||||||
"extern",
|
"extern",
|
||||||
"intern/moto",
|
"intern/moto",
|
||||||
|
@@ -1,8 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
# <pep8 compliant>
|
|
||||||
|
|
||||||
CHECKER_IGNORE_PREFIX = [
|
CHECKER_IGNORE_PREFIX = [
|
||||||
"extern",
|
"extern",
|
||||||
"intern/moto",
|
"intern/moto",
|
||||||
|
@@ -30,6 +30,7 @@ set(WITH_IMAGE_HDR ON CACHE BOOL "" FORCE)
|
|||||||
set(WITH_IMAGE_OPENEXR ON CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_OPENEXR ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_OPENJPEG ON CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_OPENJPEG ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_TIFF ON CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_TIFF ON CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_IMAGE_WEBP ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_INPUT_NDOF ON CACHE BOOL "" FORCE)
|
set(WITH_INPUT_NDOF ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_INPUT_IME ON CACHE BOOL "" FORCE)
|
set(WITH_INPUT_IME ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_INTERNATIONAL ON CACHE BOOL "" FORCE)
|
set(WITH_INTERNATIONAL ON CACHE BOOL "" FORCE)
|
||||||
|
@@ -34,8 +34,12 @@ set(WITH_IMAGE_HDR OFF CACHE BOOL "" FORCE)
|
|||||||
set(WITH_IMAGE_OPENEXR OFF CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_OPENEXR OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_OPENJPEG OFF CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_OPENJPEG OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_TIFF OFF CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_TIFF OFF CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_IMAGE_WEBP OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_INPUT_NDOF OFF CACHE BOOL "" FORCE)
|
set(WITH_INPUT_NDOF OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_INTERNATIONAL OFF CACHE BOOL "" FORCE)
|
set(WITH_INTERNATIONAL OFF CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_IO_STL OFF CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_IO_WAVEFRONT_OBJ OFF CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_IO_GPENCIL OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_JACK OFF CACHE BOOL "" FORCE)
|
set(WITH_JACK OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_LIBMV OFF CACHE BOOL "" FORCE)
|
set(WITH_LIBMV OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_LLVM OFF CACHE BOOL "" FORCE)
|
set(WITH_LLVM OFF CACHE BOOL "" FORCE)
|
||||||
|
@@ -31,6 +31,7 @@ set(WITH_IMAGE_HDR ON CACHE BOOL "" FORCE)
|
|||||||
set(WITH_IMAGE_OPENEXR ON CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_OPENEXR ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_OPENJPEG ON CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_OPENJPEG ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_IMAGE_TIFF ON CACHE BOOL "" FORCE)
|
set(WITH_IMAGE_TIFF ON CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_IMAGE_WEBP ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_INPUT_NDOF ON CACHE BOOL "" FORCE)
|
set(WITH_INPUT_NDOF ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_INPUT_IME ON CACHE BOOL "" FORCE)
|
set(WITH_INPUT_IME ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_INTERNATIONAL ON CACHE BOOL "" FORCE)
|
set(WITH_INTERNATIONAL ON CACHE BOOL "" FORCE)
|
||||||
@@ -70,6 +71,7 @@ if(NOT WIN32)
|
|||||||
endif()
|
endif()
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(WITH_WASAPI ON CACHE BOOL "" FORCE)
|
set(WITH_WASAPI ON CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_CYCLES_DEVICE_ONEAPI ON CACHE BOOL "" FORCE)
|
||||||
endif()
|
endif()
|
||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
set(WITH_DOC_MANPAGE ON CACHE BOOL "" FORCE)
|
set(WITH_DOC_MANPAGE ON CACHE BOOL "" FORCE)
|
||||||
@@ -77,6 +79,11 @@ if(UNIX AND NOT APPLE)
|
|||||||
set(WITH_PULSEAUDIO ON CACHE BOOL "" FORCE)
|
set(WITH_PULSEAUDIO ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_X11_XINPUT ON CACHE BOOL "" FORCE)
|
set(WITH_X11_XINPUT ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_X11_XF86VMODE ON CACHE BOOL "" FORCE)
|
set(WITH_X11_XF86VMODE ON CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
|
# Disable oneAPI on Linux for the time being.
|
||||||
|
# The AoT compilation takes too long to be used officially in the buildbot CI/CD and the JIT
|
||||||
|
# compilation has ABI compatibility issues when running builds made on centOS on Ubuntu.
|
||||||
|
set(WITH_CYCLES_DEVICE_ONEAPI OFF CACHE BOOL "" FORCE)
|
||||||
endif()
|
endif()
|
||||||
if(NOT APPLE)
|
if(NOT APPLE)
|
||||||
set(WITH_XR_OPENXR ON CACHE BOOL "" FORCE)
|
set(WITH_XR_OPENXR ON CACHE BOOL "" FORCE)
|
||||||
@@ -85,4 +92,7 @@ if(NOT APPLE)
|
|||||||
set(WITH_CYCLES_CUDA_BINARIES ON CACHE BOOL "" FORCE)
|
set(WITH_CYCLES_CUDA_BINARIES ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_CYCLES_CUBIN_COMPILER OFF CACHE BOOL "" FORCE)
|
set(WITH_CYCLES_CUBIN_COMPILER OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_CYCLES_HIP_BINARIES ON CACHE BOOL "" FORCE)
|
set(WITH_CYCLES_HIP_BINARIES ON CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
|
# Disable AoT kernels compilations until buildbot can deliver them in a reasonabel time.
|
||||||
|
set(WITH_CYCLES_ONEAPI_BINARIES OFF CACHE BOOL "" FORCE)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -71,6 +71,7 @@ set(CMAKE_PREFIX_PATH ${LIB_SUBDIRS})
|
|||||||
# Find precompiled libraries, and avoid system or user-installed ones.
|
# Find precompiled libraries, and avoid system or user-installed ones.
|
||||||
|
|
||||||
if(EXISTS ${LIBDIR})
|
if(EXISTS ${LIBDIR})
|
||||||
|
include(platform_old_libs_update)
|
||||||
without_system_libs_begin()
|
without_system_libs_begin()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -214,7 +215,12 @@ if(WITH_SDL)
|
|||||||
find_package(SDL2)
|
find_package(SDL2)
|
||||||
set(SDL_INCLUDE_DIR ${SDL2_INCLUDE_DIRS})
|
set(SDL_INCLUDE_DIR ${SDL2_INCLUDE_DIRS})
|
||||||
set(SDL_LIBRARY ${SDL2_LIBRARIES})
|
set(SDL_LIBRARY ${SDL2_LIBRARIES})
|
||||||
string(APPEND PLATFORM_LINKFLAGS " -framework ForceFeedback -framework GameController -framework CoreHaptics")
|
string(APPEND PLATFORM_LINKFLAGS " -framework ForceFeedback -framework GameController")
|
||||||
|
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
|
||||||
|
# The minimum macOS version of the libraries makes it so this is included in SDL on arm64
|
||||||
|
# but not x86_64.
|
||||||
|
string(APPEND PLATFORM_LINKFLAGS " -framework CoreHaptics")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(PNG_ROOT ${LIBDIR}/png)
|
set(PNG_ROOT ${LIBDIR}/png)
|
||||||
|
46
build_files/cmake/platform/platform_old_libs_update.cmake
Normal file
46
build_files/cmake/platform/platform_old_libs_update.cmake
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
# Copyright 2022 Blender Foundation. All rights reserved.
|
||||||
|
|
||||||
|
# Auto update existing CMake caches for new libraries
|
||||||
|
|
||||||
|
function(unset_cache_variables pattern)
|
||||||
|
get_cmake_property(_cache_variables CACHE_VARIABLES)
|
||||||
|
foreach (_cache_variable ${_cache_variables})
|
||||||
|
if("${_cache_variable}" MATCHES "${pattern}")
|
||||||
|
unset(${_cache_variable} CACHE)
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
# Detect update from 3.1 to 3.2 libs.
|
||||||
|
if(UNIX AND
|
||||||
|
DEFINED OPENEXR_VERSION AND
|
||||||
|
OPENEXR_VERSION VERSION_LESS "3.0.0" AND
|
||||||
|
EXISTS ${LIBDIR}/imath)
|
||||||
|
message(STATUS "Auto updating CMake configuration for Blender 3.2 libraries")
|
||||||
|
|
||||||
|
unset_cache_variables("^OPENIMAGEIO")
|
||||||
|
unset_cache_variables("^OPENEXR")
|
||||||
|
unset_cache_variables("^IMATH")
|
||||||
|
unset_cache_variables("^PNG")
|
||||||
|
unset_cache_variables("^USD")
|
||||||
|
unset_cache_variables("^WEBP")
|
||||||
|
unset_cache_variables("^NANOVDB")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Automatically set WebP on/off depending if libraries are available.
|
||||||
|
if(EXISTS ${LIBDIR}/webp)
|
||||||
|
if(WITH_OPENIMAGEIO)
|
||||||
|
set(WITH_IMAGE_WEBP ON CACHE BOOL "" FORCE)
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
set(WITH_IMAGE_WEBP OFF)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# NanoVDB moved into openvdb.
|
||||||
|
if(UNIX AND DEFINED NANOVDB_INCLUDE_DIR)
|
||||||
|
if(NOT EXISTS ${NANOVDB_INCLUDE_DIR} AND
|
||||||
|
EXISTS ${LIBDIR}/openvdb/include/nanovdb)
|
||||||
|
unset_cache_variables("^NANOVDB")
|
||||||
|
endif()
|
||||||
|
endif()
|
@@ -38,13 +38,22 @@ if(EXISTS ${LIBDIR})
|
|||||||
message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}")
|
message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}")
|
||||||
|
|
||||||
file(GLOB LIB_SUBDIRS ${LIBDIR}/*)
|
file(GLOB LIB_SUBDIRS ${LIBDIR}/*)
|
||||||
|
|
||||||
# Ignore Mesa software OpenGL libraries, they are not intended to be
|
# Ignore Mesa software OpenGL libraries, they are not intended to be
|
||||||
# linked against but to optionally override at runtime.
|
# linked against but to optionally override at runtime.
|
||||||
list(REMOVE_ITEM LIB_SUBDIRS ${LIBDIR}/mesa)
|
list(REMOVE_ITEM LIB_SUBDIRS ${LIBDIR}/mesa)
|
||||||
|
|
||||||
|
# Ignore DPC++ as it contains its own copy of LLVM/CLang which we do
|
||||||
|
# not need to be ever discovered for the Blender linking.
|
||||||
|
list(REMOVE_ITEM LIB_SUBDIRS ${LIBDIR}/dpcpp)
|
||||||
|
|
||||||
# NOTE: Make sure "proper" compiled zlib comes first before the one
|
# NOTE: Make sure "proper" compiled zlib comes first before the one
|
||||||
# which is a part of OpenCollada. They have different ABI, and we
|
# which is a part of OpenCollada. They have different ABI, and we
|
||||||
# do need to use the official one.
|
# do need to use the official one.
|
||||||
set(CMAKE_PREFIX_PATH ${LIBDIR}/zlib ${LIB_SUBDIRS})
|
set(CMAKE_PREFIX_PATH ${LIBDIR}/zlib ${LIB_SUBDIRS})
|
||||||
|
|
||||||
|
include(platform_old_libs_update)
|
||||||
|
|
||||||
set(WITH_STATIC_LIBS ON)
|
set(WITH_STATIC_LIBS ON)
|
||||||
# OpenMP usually can't be statically linked into shared libraries,
|
# OpenMP usually can't be statically linked into shared libraries,
|
||||||
# due to not being compiled with position independent code.
|
# due to not being compiled with position independent code.
|
||||||
@@ -268,6 +277,18 @@ if(WITH_CYCLES AND WITH_CYCLES_OSL)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(WITH_CYCLES_DEVICE_ONEAPI)
|
||||||
|
set(CYCLES_LEVEL_ZERO ${LIBDIR}/level-zero CACHE PATH "Path to Level Zero installation")
|
||||||
|
if(EXISTS ${CYCLES_LEVEL_ZERO} AND NOT LEVEL_ZERO_ROOT_DIR)
|
||||||
|
set(LEVEL_ZERO_ROOT_DIR ${CYCLES_LEVEL_ZERO})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(CYCLES_SYCL ${LIBDIR}/dpcpp CACHE PATH "Path to DPC++ and SYCL installation")
|
||||||
|
if(EXISTS ${CYCLES_SYCL} AND NOT SYCL_ROOT_DIR)
|
||||||
|
set(SYCL_ROOT_DIR ${CYCLES_SYCL})
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WITH_OPENVDB)
|
if(WITH_OPENVDB)
|
||||||
find_package_wrapper(OpenVDB)
|
find_package_wrapper(OpenVDB)
|
||||||
find_package_wrapper(Blosc)
|
find_package_wrapper(Blosc)
|
||||||
@@ -373,6 +394,7 @@ if(WITH_IMAGE_WEBP)
|
|||||||
find_package_wrapper(WebP)
|
find_package_wrapper(WebP)
|
||||||
if(NOT WEBP_FOUND)
|
if(NOT WEBP_FOUND)
|
||||||
set(WITH_IMAGE_WEBP OFF)
|
set(WITH_IMAGE_WEBP OFF)
|
||||||
|
message(WARNING "WebP not found, disabling WITH_IMAGE_WEBP")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -394,6 +416,9 @@ if(WITH_OPENIMAGEIO)
|
|||||||
if(WITH_IMAGE_OPENEXR)
|
if(WITH_IMAGE_OPENEXR)
|
||||||
list(APPEND OPENIMAGEIO_LIBRARIES "${OPENEXR_LIBRARIES}")
|
list(APPEND OPENIMAGEIO_LIBRARIES "${OPENEXR_LIBRARIES}")
|
||||||
endif()
|
endif()
|
||||||
|
if(WITH_IMAGE_WEBP)
|
||||||
|
list(APPEND OPENIMAGEIO_LIBRARIES "${WEBP_LIBRARIES}")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT OPENIMAGEIO_FOUND)
|
if(NOT OPENIMAGEIO_FOUND)
|
||||||
set(WITH_OPENIMAGEIO OFF)
|
set(WITH_OPENIMAGEIO OFF)
|
||||||
@@ -606,17 +631,42 @@ if(WITH_GHOST_WAYLAND)
|
|||||||
pkg_check_modules(wayland-scanner REQUIRED wayland-scanner)
|
pkg_check_modules(wayland-scanner REQUIRED wayland-scanner)
|
||||||
pkg_check_modules(xkbcommon REQUIRED xkbcommon)
|
pkg_check_modules(xkbcommon REQUIRED xkbcommon)
|
||||||
pkg_check_modules(wayland-cursor REQUIRED wayland-cursor)
|
pkg_check_modules(wayland-cursor REQUIRED wayland-cursor)
|
||||||
|
|
||||||
|
if(WITH_GHOST_WAYLAND_DBUS)
|
||||||
pkg_check_modules(dbus REQUIRED dbus-1)
|
pkg_check_modules(dbus REQUIRED dbus-1)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(WITH_GL_EGL ON)
|
if(WITH_GHOST_WAYLAND_LIBDECOR)
|
||||||
|
pkg_check_modules(libdecor REQUIRED libdecor-0>=0.1)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
list(APPEND PLATFORM_LINKLIBS
|
||||||
|
${xkbcommon_LINK_LIBRARIES}
|
||||||
|
)
|
||||||
|
|
||||||
|
if(NOT WITH_GHOST_WAYLAND_DYNLOAD)
|
||||||
list(APPEND PLATFORM_LINKLIBS
|
list(APPEND PLATFORM_LINKLIBS
|
||||||
${wayland-client_LINK_LIBRARIES}
|
${wayland-client_LINK_LIBRARIES}
|
||||||
${wayland-egl_LINK_LIBRARIES}
|
${wayland-egl_LINK_LIBRARIES}
|
||||||
${xkbcommon_LINK_LIBRARIES}
|
|
||||||
${wayland-cursor_LINK_LIBRARIES}
|
${wayland-cursor_LINK_LIBRARIES}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WITH_GHOST_WAYLAND_DBUS)
|
||||||
|
list(APPEND PLATFORM_LINKLIBS
|
||||||
${dbus_LINK_LIBRARIES}
|
${dbus_LINK_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
add_definitions(-DWITH_GHOST_WAYLAND_DBUS)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WITH_GHOST_WAYLAND_LIBDECOR)
|
||||||
|
if(NOT WITH_GHOST_WAYLAND_DYNLOAD)
|
||||||
|
list(APPEND PLATFORM_LINKLIBS
|
||||||
|
${libdecor_LIBRARIES}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
add_definitions(-DWITH_GHOST_WAYLAND_LIBDECOR)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_GHOST_X11)
|
if(WITH_GHOST_X11)
|
||||||
|
@@ -104,7 +104,7 @@ string(APPEND CMAKE_MODULE_LINKER_FLAGS " /SAFESEH:NO /ignore:4099")
|
|||||||
list(APPEND PLATFORM_LINKLIBS
|
list(APPEND PLATFORM_LINKLIBS
|
||||||
ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 Comctl32 version
|
ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 Comctl32 version
|
||||||
advapi32 shfolder shell32 ole32 oleaut32 uuid psapi Dbghelp Shlwapi
|
advapi32 shfolder shell32 ole32 oleaut32 uuid psapi Dbghelp Shlwapi
|
||||||
pathcch Shcore
|
pathcch Shcore Dwmapi
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WITH_INPUT_IME)
|
if(WITH_INPUT_IME)
|
||||||
@@ -262,6 +262,8 @@ if(NOT EXISTS "${LIBDIR}/")
|
|||||||
message(FATAL_ERROR "\n\nWindows requires pre-compiled libs at: '${LIBDIR}'. Please run `make update` in the blender source folder to obtain them.")
|
message(FATAL_ERROR "\n\nWindows requires pre-compiled libs at: '${LIBDIR}'. Please run `make update` in the blender source folder to obtain them.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
include(platform_old_libs_update)
|
||||||
|
|
||||||
if(CMAKE_GENERATOR MATCHES "^Visual Studio.+" AND # Only supported in the VS IDE
|
if(CMAKE_GENERATOR MATCHES "^Visual Studio.+" AND # Only supported in the VS IDE
|
||||||
MSVC_VERSION GREATER_EQUAL 1924 AND # Supported for 16.4+
|
MSVC_VERSION GREATER_EQUAL 1924 AND # Supported for 16.4+
|
||||||
WITH_CLANG_TIDY # And Clang Tidy needs to be on
|
WITH_CLANG_TIDY # And Clang Tidy needs to be on
|
||||||
@@ -343,6 +345,7 @@ if(WITH_FFTW3)
|
|||||||
set(FFTW3_LIBPATH ${FFTW3}/lib)
|
set(FFTW3_LIBPATH ${FFTW3}/lib)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(WITH_IMAGE_WEBP)
|
||||||
windows_find_package(WebP)
|
windows_find_package(WebP)
|
||||||
if(NOT WEBP_FOUND)
|
if(NOT WEBP_FOUND)
|
||||||
if(EXISTS ${LIBDIR}/webp)
|
if(EXISTS ${LIBDIR}/webp)
|
||||||
@@ -350,6 +353,10 @@ if(NOT WEBP_FOUND)
|
|||||||
set(WEBP_ROOT_DIR ${LIBDIR}/webp)
|
set(WEBP_ROOT_DIR ${LIBDIR}/webp)
|
||||||
set(WEBP_LIBRARIES ${LIBDIR}/webp/lib/webp.lib ${LIBDIR}/webp/lib/webpdemux.lib ${LIBDIR}/webp/lib/webpmux.lib)
|
set(WEBP_LIBRARIES ${LIBDIR}/webp/lib/webp.lib ${LIBDIR}/webp/lib/webpdemux.lib ${LIBDIR}/webp/lib/webpmux.lib)
|
||||||
set(WEBP_FOUND ON)
|
set(WEBP_FOUND ON)
|
||||||
|
else()
|
||||||
|
message(STATUS "WITH_IMAGE_WEBP is ON but WEBP libraries are not found, setting WITH_IMAGE_WEBP=OFF")
|
||||||
|
set(WITH_IMAGE_WEBP OFF)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -414,15 +421,47 @@ if(WITH_CODEC_FFMPEG)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_IMAGE_OPENEXR)
|
if(WITH_IMAGE_OPENEXR)
|
||||||
windows_find_package(OpenEXR REQUIRED)
|
# Imath and OpenEXR have a single combined build option and include and library variables
|
||||||
if(NOT OpenEXR_FOUND)
|
# used by the rest of the build system.
|
||||||
|
set(IMATH_ROOT_DIR ${LIBDIR}/imath)
|
||||||
|
set(IMATH_VERSION "3.14")
|
||||||
|
windows_find_package(IMATH REQUIRED)
|
||||||
|
if(NOT IMATH_FOUND)
|
||||||
|
set(IMATH ${LIBDIR}/imath)
|
||||||
|
set(IMATH_INCLUDE_DIR ${IMATH}/include)
|
||||||
|
set(IMATH_INCLUDE_DIRS ${IMATH_INCLUDE_DIR} ${IMATH}/include/Imath)
|
||||||
|
set(IMATH_LIBPATH ${IMATH}/lib)
|
||||||
|
set(IMATH_LIBRARIES
|
||||||
|
optimized ${IMATH_LIBPATH}/Imath_s.lib
|
||||||
|
debug ${IMATH_LIBPATH}/Imath_s_d.lib
|
||||||
|
)
|
||||||
|
endif()
|
||||||
set(OPENEXR_ROOT_DIR ${LIBDIR}/openexr)
|
set(OPENEXR_ROOT_DIR ${LIBDIR}/openexr)
|
||||||
set(OPENEXR_VERSION "2.1")
|
set(OPENEXR_VERSION "3.14")
|
||||||
|
windows_find_package(OPENEXR REQUIRED)
|
||||||
|
if(NOT OpenEXR_FOUND)
|
||||||
warn_hardcoded_paths(OpenEXR)
|
warn_hardcoded_paths(OpenEXR)
|
||||||
set(OPENEXR ${LIBDIR}/openexr)
|
set(OPENEXR ${LIBDIR}/openexr)
|
||||||
set(OPENEXR_INCLUDE_DIR ${OPENEXR}/include)
|
set(OPENEXR_INCLUDE_DIR ${OPENEXR}/include)
|
||||||
set(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR}/include/OpenEXR)
|
set(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${IMATH_INCLUDE_DIRS} ${OPENEXR}/include/OpenEXR)
|
||||||
set(OPENEXR_LIBPATH ${OPENEXR}/lib)
|
set(OPENEXR_LIBPATH ${OPENEXR}/lib)
|
||||||
|
# Check if the 3.x library name exists
|
||||||
|
# if not assume this is a 2.x library folder
|
||||||
|
if(EXISTS "${OPENEXR_LIBPATH}/OpenEXR_s.lib")
|
||||||
|
set(OPENEXR_LIBRARIES
|
||||||
|
optimized ${OPENEXR_LIBPATH}/Iex_s.lib
|
||||||
|
optimized ${OPENEXR_LIBPATH}/IlmThread_s.lib
|
||||||
|
optimized ${OPENEXR_LIBPATH}/OpenEXR_s.lib
|
||||||
|
optimized ${OPENEXR_LIBPATH}/OpenEXRCore_s.lib
|
||||||
|
optimized ${OPENEXR_LIBPATH}/OpenEXRUtil_s.lib
|
||||||
|
debug ${OPENEXR_LIBPATH}/Iex_s_d.lib
|
||||||
|
debug ${OPENEXR_LIBPATH}/IlmThread_s_d.lib
|
||||||
|
debug ${OPENEXR_LIBPATH}/OpenEXR_s_d.lib
|
||||||
|
debug ${OPENEXR_LIBPATH}/OpenEXRCore_s_d.lib
|
||||||
|
debug ${OPENEXR_LIBPATH}/OpenEXRUtil_s_d.lib
|
||||||
|
${IMATH_LIBRARIES}
|
||||||
|
)
|
||||||
|
else()
|
||||||
set(OPENEXR_LIBRARIES
|
set(OPENEXR_LIBRARIES
|
||||||
optimized ${OPENEXR_LIBPATH}/Iex_s.lib
|
optimized ${OPENEXR_LIBPATH}/Iex_s.lib
|
||||||
optimized ${OPENEXR_LIBPATH}/Half_s.lib
|
optimized ${OPENEXR_LIBPATH}/Half_s.lib
|
||||||
@@ -437,6 +476,7 @@ if(WITH_IMAGE_OPENEXR)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WITH_IMAGE_TIFF)
|
if(WITH_IMAGE_TIFF)
|
||||||
# Try to find tiff first then complain and set static and maybe wrong paths
|
# Try to find tiff first then complain and set static and maybe wrong paths
|
||||||
@@ -500,8 +540,14 @@ if(WITH_BOOST)
|
|||||||
if(NOT BOOST_VERSION)
|
if(NOT BOOST_VERSION)
|
||||||
message(FATAL_ERROR "Unable to determine Boost version")
|
message(FATAL_ERROR "Unable to determine Boost version")
|
||||||
endif()
|
endif()
|
||||||
|
set(BOOST_POSTFIX "vc142-mt-x64-${BOOST_VERSION}.lib")
|
||||||
|
set(BOOST_DEBUG_POSTFIX "vc142-mt-gd-x64-${BOOST_VERSION}.lib")
|
||||||
|
if(NOT EXISTS ${BOOST_LIBPATH}/libboost_date_time-${BOOST_POSTFIX})
|
||||||
|
# If the new library names do not exist fall back to the old ones
|
||||||
|
# to ease the transition period between the libs.
|
||||||
set(BOOST_POSTFIX "vc141-mt-x64-${BOOST_VERSION}.lib")
|
set(BOOST_POSTFIX "vc141-mt-x64-${BOOST_VERSION}.lib")
|
||||||
set(BOOST_DEBUG_POSTFIX "vc141-mt-gd-x64-${BOOST_VERSION}.lib")
|
set(BOOST_DEBUG_POSTFIX "vc141-mt-gd-x64-${BOOST_VERSION}.lib")
|
||||||
|
endif()
|
||||||
set(BOOST_LIBRARIES
|
set(BOOST_LIBRARIES
|
||||||
optimized ${BOOST_LIBPATH}/libboost_date_time-${BOOST_POSTFIX}
|
optimized ${BOOST_LIBPATH}/libboost_date_time-${BOOST_POSTFIX}
|
||||||
optimized ${BOOST_LIBPATH}/libboost_filesystem-${BOOST_POSTFIX}
|
optimized ${BOOST_LIBPATH}/libboost_filesystem-${BOOST_POSTFIX}
|
||||||
@@ -545,7 +591,6 @@ if(WITH_OPENIMAGEIO)
|
|||||||
set(OIIO_DEBUG debug ${OPENIMAGEIO_LIBPATH}/OpenImageIO_d.lib debug ${OPENIMAGEIO_LIBPATH}/OpenImageIO_Util_d.lib)
|
set(OIIO_DEBUG debug ${OPENIMAGEIO_LIBPATH}/OpenImageIO_d.lib debug ${OPENIMAGEIO_LIBPATH}/OpenImageIO_Util_d.lib)
|
||||||
set(OPENIMAGEIO_LIBRARIES ${OIIO_OPTIMIZED} ${OIIO_DEBUG})
|
set(OPENIMAGEIO_LIBRARIES ${OIIO_OPTIMIZED} ${OIIO_DEBUG})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(OPENIMAGEIO_DEFINITIONS "-DUSE_TBB=0")
|
set(OPENIMAGEIO_DEFINITIONS "-DUSE_TBB=0")
|
||||||
set(OPENIMAGEIO_IDIFF "${OPENIMAGEIO}/bin/idiff.exe")
|
set(OPENIMAGEIO_IDIFF "${OPENIMAGEIO}/bin/idiff.exe")
|
||||||
add_definitions(-DOIIO_STATIC_DEFINE)
|
add_definitions(-DOIIO_STATIC_DEFINE)
|
||||||
@@ -575,6 +620,7 @@ if(WITH_LLVM)
|
|||||||
message(WARNING "LLVM debug libs not present on this system. Using release libs for debug builds.")
|
message(WARNING "LLVM debug libs not present on this system. Using release libs for debug builds.")
|
||||||
set(LLVM_LIBRARY ${LLVM_LIBRARY_OPTIMIZED})
|
set(LLVM_LIBRARY ${LLVM_LIBRARY_OPTIMIZED})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_OPENCOLORIO)
|
if(WITH_OPENCOLORIO)
|
||||||
@@ -594,7 +640,6 @@ if(WITH_OPENCOLORIO)
|
|||||||
debug ${OPENCOLORIO_LIBPATH}/pystring_d.lib
|
debug ${OPENCOLORIO_LIBPATH}/pystring_d.lib
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(OPENCOLORIO_DEFINITIONS "-DOpenColorIO_SKIP_IMPORTS")
|
set(OPENCOLORIO_DEFINITIONS "-DOpenColorIO_SKIP_IMPORTS")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -606,14 +651,21 @@ if(WITH_OPENVDB)
|
|||||||
set(OPENVDB_INCLUDE_DIRS ${OPENVDB}/include)
|
set(OPENVDB_INCLUDE_DIRS ${OPENVDB}/include)
|
||||||
set(OPENVDB_LIBRARIES optimized ${OPENVDB_LIBPATH}/openvdb.lib debug ${OPENVDB_LIBPATH}/openvdb_d.lib )
|
set(OPENVDB_LIBRARIES optimized ${OPENVDB_LIBPATH}/openvdb.lib debug ${OPENVDB_LIBPATH}/openvdb_d.lib )
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(OPENVDB_DEFINITIONS -DNOMINMAX -D_USE_MATH_DEFINES)
|
set(OPENVDB_DEFINITIONS -DNOMINMAX -D_USE_MATH_DEFINES)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_NANOVDB)
|
if(WITH_NANOVDB)
|
||||||
|
set(NANOVDB ${LIBDIR}/openvdb)
|
||||||
|
set(NANOVDB_INCLUDE_DIR ${NANOVDB}/include)
|
||||||
|
if(NOT EXISTS "${NANOVDB_INCLUDE_DIR}/nanovdb")
|
||||||
|
# When not found, could be an older lib folder with where nanovdb
|
||||||
|
# had its own lib folder, to ease the transition period, fall back
|
||||||
|
# to that copy if the copy in openvdb is not found.
|
||||||
set(NANOVDB ${LIBDIR}/nanoVDB)
|
set(NANOVDB ${LIBDIR}/nanoVDB)
|
||||||
set(NANOVDB_INCLUDE_DIR ${NANOVDB}/include)
|
set(NANOVDB_INCLUDE_DIR ${NANOVDB}/include)
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
if(WITH_OPENIMAGEDENOISE)
|
if(WITH_OPENIMAGEDENOISE)
|
||||||
set(OPENIMAGEDENOISE ${LIBDIR}/OpenImageDenoise)
|
set(OPENIMAGEDENOISE ${LIBDIR}/OpenImageDenoise)
|
||||||
@@ -640,7 +692,12 @@ endif()
|
|||||||
|
|
||||||
if(WITH_IMAGE_OPENJPEG)
|
if(WITH_IMAGE_OPENJPEG)
|
||||||
set(OPENJPEG ${LIBDIR}/openjpeg)
|
set(OPENJPEG ${LIBDIR}/openjpeg)
|
||||||
|
set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include/openjpeg-2.4)
|
||||||
|
if(NOT EXISTS "${OPENJPEG_INCLUDE_DIRS}")
|
||||||
|
# when not found, could be an older lib folder with openjpeg 2.3
|
||||||
|
# to ease the transition period, fall back if 2.4 is not found.
|
||||||
set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include/openjpeg-2.3)
|
set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include/openjpeg-2.3)
|
||||||
|
endif()
|
||||||
set(OPENJPEG_LIBRARIES ${OPENJPEG}/lib/openjp2.lib)
|
set(OPENJPEG_LIBRARIES ${OPENJPEG}/lib/openjp2.lib)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -783,9 +840,16 @@ if(WITH_USD)
|
|||||||
windows_find_package(USD)
|
windows_find_package(USD)
|
||||||
if(NOT USD_FOUND)
|
if(NOT USD_FOUND)
|
||||||
set(USD_INCLUDE_DIRS ${LIBDIR}/usd/include)
|
set(USD_INCLUDE_DIRS ${LIBDIR}/usd/include)
|
||||||
|
set(USD_RELEASE_LIB ${LIBDIR}/usd/lib/usd_usd_m.lib)
|
||||||
|
set(USD_DEBUG_LIB ${LIBDIR}/usd/lib/usd_usd_m_d.lib)
|
||||||
|
set(USD_LIBRARY_DIR ${LIBDIR}/usd/lib)
|
||||||
|
# Older USD had different filenames, if the new ones are
|
||||||
|
# not found see if the older ones exist, to ease the
|
||||||
|
# transition period while landing libs.
|
||||||
|
if(NOT EXISTS "${USD_RELEASE_LIB}")
|
||||||
set(USD_RELEASE_LIB ${LIBDIR}/usd/lib/libusd_m.lib)
|
set(USD_RELEASE_LIB ${LIBDIR}/usd/lib/libusd_m.lib)
|
||||||
set(USD_DEBUG_LIB ${LIBDIR}/usd/lib/libusd_m_d.lib)
|
set(USD_DEBUG_LIB ${LIBDIR}/usd/lib/libusd_m_d.lib)
|
||||||
set(USD_LIBRARY_DIR ${LIBDIR}/usd/lib)
|
endif()
|
||||||
set(USD_LIBRARIES
|
set(USD_LIBRARIES
|
||||||
debug ${USD_DEBUG_LIB}
|
debug ${USD_DEBUG_LIB}
|
||||||
optimized ${USD_RELEASE_LIB}
|
optimized ${USD_RELEASE_LIB}
|
||||||
@@ -886,3 +950,6 @@ endif()
|
|||||||
|
|
||||||
set(ZSTD_INCLUDE_DIRS ${LIBDIR}/zstd/include)
|
set(ZSTD_INCLUDE_DIRS ${LIBDIR}/zstd/include)
|
||||||
set(ZSTD_LIBRARIES ${LIBDIR}/zstd/lib/zstd_static.lib)
|
set(ZSTD_LIBRARIES ${LIBDIR}/zstd/lib/zstd_static.lib)
|
||||||
|
|
||||||
|
set(LEVEL_ZERO_ROOT_DIR ${LIBDIR}/level_zero)
|
||||||
|
set(SYCL_ROOT_DIR ${LIBDIR}/dpcpp)
|
||||||
|
@@ -1,8 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
# <pep8 compliant>
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Module for accessing project file data for Blender.
|
Module for accessing project file data for Blender.
|
||||||
|
|
||||||
@@ -170,7 +168,7 @@ def cmake_advanced_info() -> Union[Tuple[List[str], List[Tuple[str, str]]], Tupl
|
|||||||
project_path = create_eclipse_project()
|
project_path = create_eclipse_project()
|
||||||
|
|
||||||
if not exists(project_path):
|
if not exists(project_path):
|
||||||
print("Generating Eclipse Prokect File Failed: %r not found" % project_path)
|
print("Generating Eclipse Project File Failed: %r not found" % project_path)
|
||||||
return None, None
|
return None, None
|
||||||
|
|
||||||
from xml.dom.minidom import parse
|
from xml.dom.minidom import parse
|
||||||
|
@@ -1,7 +1,5 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
# <pep8 compliant>
|
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
"build_info",
|
"build_info",
|
||||||
"SOURCE_DIR",
|
"SOURCE_DIR",
|
||||||
|
@@ -54,6 +54,8 @@ buildbot:
|
|||||||
version: '10.1.243'
|
version: '10.1.243'
|
||||||
cuda11:
|
cuda11:
|
||||||
version: '11.4.1'
|
version: '11.4.1'
|
||||||
|
hip:
|
||||||
|
version: '5.2.21440'
|
||||||
optix:
|
optix:
|
||||||
version: '7.3.0'
|
version: '7.3.0'
|
||||||
cmake:
|
cmake:
|
||||||
|
@@ -1,8 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
# <pep8 compliant>
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
|
@@ -3,13 +3,10 @@ for %%X in (svn.exe) do (set SVN=%%~$PATH:X)
|
|||||||
for %%X in (cmake.exe) do (set CMAKE=%%~$PATH:X)
|
for %%X in (cmake.exe) do (set CMAKE=%%~$PATH:X)
|
||||||
for %%X in (ctest.exe) do (set CTEST=%%~$PATH:X)
|
for %%X in (ctest.exe) do (set CTEST=%%~$PATH:X)
|
||||||
for %%X in (git.exe) do (set GIT=%%~$PATH:X)
|
for %%X in (git.exe) do (set GIT=%%~$PATH:X)
|
||||||
REM For python, default on 39 but if that does not exist also check
|
REM For python, default on 310 but if that does not exist also check
|
||||||
REM the 310,311 and 312 folders to see if those are there, it checks
|
REM the 311, 312 and finally 39 folders to see if those are there, it checks
|
||||||
REM this far ahead to ensure good lib folder compatibility in the future.
|
REM this far ahead to ensure good lib folder compatibility in the future
|
||||||
set PYTHON=%BLENDER_DIR%\..\lib\win64_vc15\python\39\bin\python.exe
|
REM it falls back to 3.9 just incase it is a very old lib folder.
|
||||||
if EXIST %PYTHON% (
|
|
||||||
goto detect_python_done
|
|
||||||
)
|
|
||||||
set PYTHON=%BLENDER_DIR%\..\lib\win64_vc15\python\310\bin\python.exe
|
set PYTHON=%BLENDER_DIR%\..\lib\win64_vc15\python\310\bin\python.exe
|
||||||
if EXIST %PYTHON% (
|
if EXIST %PYTHON% (
|
||||||
goto detect_python_done
|
goto detect_python_done
|
||||||
@@ -22,6 +19,10 @@ set PYTHON=%BLENDER_DIR%\..\lib\win64_vc15\python\312\bin\python.exe
|
|||||||
if EXIST %PYTHON% (
|
if EXIST %PYTHON% (
|
||||||
goto detect_python_done
|
goto detect_python_done
|
||||||
)
|
)
|
||||||
|
set PYTHON=%BLENDER_DIR%\..\lib\win64_vc15\python\39\bin\python.exe
|
||||||
|
if EXIST %PYTHON% (
|
||||||
|
goto detect_python_done
|
||||||
|
)
|
||||||
|
|
||||||
if NOT EXIST %PYTHON% (
|
if NOT EXIST %PYTHON% (
|
||||||
echo Warning: Python not found, there is likely an issue with the library folder
|
echo Warning: Python not found, there is likely an issue with the library folder
|
||||||
|
@@ -411,7 +411,7 @@ def main():
|
|||||||
# read blend header from blend file
|
# read blend header from blend file
|
||||||
log.info("2: read file:")
|
log.info("2: read file:")
|
||||||
|
|
||||||
if not dir in sys.path:
|
if dir not in sys.path:
|
||||||
sys.path.append(dir)
|
sys.path.append(dir)
|
||||||
import BlendFileReader
|
import BlendFileReader
|
||||||
|
|
||||||
|
@@ -38,7 +38,7 @@ PROJECT_NAME = Blender
|
|||||||
# could be handy for archiving the generated documentation or if some version
|
# could be handy for archiving the generated documentation or if some version
|
||||||
# control system is used.
|
# control system is used.
|
||||||
|
|
||||||
PROJECT_NUMBER = V3.2
|
PROJECT_NUMBER = V3.3
|
||||||
|
|
||||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
# 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
|
# for a project that appears at the top of each page and should give viewer a
|
||||||
|
@@ -11,8 +11,6 @@ where <path-to-blender> is the path to the Blender executable,
|
|||||||
and <output-filename> is where to write the generated man page.
|
and <output-filename> is where to write the generated man page.
|
||||||
'''
|
'''
|
||||||
|
|
||||||
# <pep8 compliant>
|
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
|
@@ -10,7 +10,7 @@ Notes:
|
|||||||
|
|
||||||
- Temporary context overrides may be nested, when this is done, members will be added to the existing overrides.
|
- Temporary context overrides may be nested, when this is done, members will be added to the existing overrides.
|
||||||
|
|
||||||
- Context members are restored outside the scope of the context.
|
- Context members are restored outside the scope of the context-manager.
|
||||||
The only exception to this is when the data is no longer available.
|
The only exception to this is when the data is no longer available.
|
||||||
|
|
||||||
In the event windowing data was removed (for example), the state of the context is left as-is.
|
In the event windowing data was removed (for example), the state of the context is left as-is.
|
||||||
|
46
doc/python_api/examples/bpy.types.Image.py
Normal file
46
doc/python_api/examples/bpy.types.Image.py
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
"""
|
||||||
|
Image Data
|
||||||
|
++++++++++
|
||||||
|
|
||||||
|
The Image data-block is a shallow wrapper around image or video file(s)
|
||||||
|
(on disk, as packed data, or generated).
|
||||||
|
|
||||||
|
All actual data like the pixel buffer, size, resolution etc. is
|
||||||
|
cached in an :class:`imbuf.types.ImBuf` image buffer (or several buffers
|
||||||
|
in some cases, like UDIM textures, multi-views, animations...).
|
||||||
|
|
||||||
|
Several properties and functions of the Image data-block are then actually
|
||||||
|
using/modifying its image buffer, and not the Image data-block itself.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
One key limitation is that image buffers are not shared between different
|
||||||
|
Image data-blocks, and they are not duplicated when copying an image.
|
||||||
|
|
||||||
|
So until a modified image buffer is saved on disk, duplicating its Image
|
||||||
|
data-block will not propagate the underlying buffer changes to the new Image.
|
||||||
|
|
||||||
|
|
||||||
|
This example script generates an Image data-block with a given size,
|
||||||
|
change its first pixel, rescale it, and duplicates the image.
|
||||||
|
|
||||||
|
The duplicated image still has the same size and colors as the original image
|
||||||
|
at its creation, all editing in the original image's buffer is 'lost' in its copy.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import bpy
|
||||||
|
|
||||||
|
image_src = bpy.data.images.new('src', 1024, 102)
|
||||||
|
print(image_src.size)
|
||||||
|
print(image_src.pixels[0:4])
|
||||||
|
|
||||||
|
image_src.scale(1024, 720)
|
||||||
|
image_src.pixels[0:4] = (0.5, 0.5, 0.5, 0.5)
|
||||||
|
image_src.update()
|
||||||
|
print(image_src.size)
|
||||||
|
print(image_src.pixels[0:4])
|
||||||
|
|
||||||
|
image_dest = image_src.copy()
|
||||||
|
image_dest.update()
|
||||||
|
print(image_dest.size)
|
||||||
|
print(image_dest.pixels[0:4])
|
@@ -29,3 +29,36 @@ def draw():
|
|||||||
|
|
||||||
|
|
||||||
bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_PIXEL')
|
bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_PIXEL')
|
||||||
|
|
||||||
|
"""
|
||||||
|
3D Image
|
||||||
|
--------
|
||||||
|
|
||||||
|
Similar to the 2D Image shader, but works with 3D positions for the image vertices.
|
||||||
|
To use this example you have to provide an image that should be displayed.
|
||||||
|
"""
|
||||||
|
import bpy
|
||||||
|
import gpu
|
||||||
|
from gpu_extras.batch import batch_for_shader
|
||||||
|
|
||||||
|
IMAGE_NAME = "Untitled"
|
||||||
|
image = bpy.data.images[IMAGE_NAME]
|
||||||
|
texture = gpu.texture.from_image(image)
|
||||||
|
|
||||||
|
shader = gpu.shader.from_builtin('3D_IMAGE')
|
||||||
|
batch = batch_for_shader(
|
||||||
|
shader, 'TRIS',
|
||||||
|
{
|
||||||
|
"pos": ((0, 0, 0), (0, 1, 1), (1, 1, 1), (1, 1, 1), (1, 0, 0), (0, 0, 0)),
|
||||||
|
"texCoord": ((0, 0), (0, 1), (1, 1), (1, 1), (1, 0), (0, 0)),
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def draw():
|
||||||
|
shader.bind()
|
||||||
|
shader.uniform_sampler("image", texture)
|
||||||
|
batch.draw(shader)
|
||||||
|
|
||||||
|
|
||||||
|
bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW')
|
||||||
|
@@ -43,7 +43,7 @@ with offscreen.bind():
|
|||||||
offscreen.free()
|
offscreen.free()
|
||||||
|
|
||||||
|
|
||||||
if not IMAGE_NAME in bpy.data.images:
|
if IMAGE_NAME not in bpy.data.images:
|
||||||
bpy.data.images.new(IMAGE_NAME, WIDTH, HEIGHT)
|
bpy.data.images.new(IMAGE_NAME, WIDTH, HEIGHT)
|
||||||
image = bpy.data.images[IMAGE_NAME]
|
image = bpy.data.images[IMAGE_NAME]
|
||||||
image.scale(WIDTH, HEIGHT)
|
image.scale(WIDTH, HEIGHT)
|
||||||
|
@@ -1,12 +1,12 @@
|
|||||||
sphinx==4.1.1
|
sphinx==5.0.1
|
||||||
|
|
||||||
# Sphinx dependencies that are important
|
# Sphinx dependencies that are important
|
||||||
Jinja2==3.0.1
|
Jinja2==3.1.2
|
||||||
Pygments==2.10.0
|
Pygments==2.12.0
|
||||||
docutils==0.17.1
|
docutils==0.17.1
|
||||||
snowballstemmer==2.1.0
|
snowballstemmer==2.2.0
|
||||||
babel==2.9.1
|
babel==2.10.1
|
||||||
requests==2.26.0
|
requests==2.27.1
|
||||||
|
|
||||||
# Only needed to match the theme used for the official documentation.
|
# Only needed to match the theme used for the official documentation.
|
||||||
# Without this theme, the default theme will be used.
|
# Without this theme, the default theme will be used.
|
||||||
|
@@ -4,6 +4,12 @@ OpenGL Wrapper (bgl)
|
|||||||
|
|
||||||
.. module:: bgl
|
.. module:: bgl
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
This module is deprecated and will be removed in a future release,
|
||||||
|
when OpenGL is replaced by Metal and Vulkan.
|
||||||
|
Use the graphics API independent :mod:`gpu` module instead.
|
||||||
|
|
||||||
This module wraps OpenGL constants and functions, making them available from
|
This module wraps OpenGL constants and functions, making them available from
|
||||||
within Blender Python.
|
within Blender Python.
|
||||||
|
|
||||||
|
@@ -40,15 +40,6 @@ As well as pep8 we have additional conventions used for Blender Python scripts:
|
|||||||
- pep8 also defines that lines should not exceed 79 characters,
|
- pep8 also defines that lines should not exceed 79 characters,
|
||||||
we have decided that this is too restrictive so it is optional per script.
|
we have decided that this is too restrictive so it is optional per script.
|
||||||
|
|
||||||
Periodically we run checks for pep8 compliance on Blender scripts,
|
|
||||||
for scripts to be included in this check add this line as a comment at the top of the script:
|
|
||||||
|
|
||||||
``# <pep8 compliant>``
|
|
||||||
|
|
||||||
To enable line length checks use this instead:
|
|
||||||
|
|
||||||
``# <pep8-80 compliant>``
|
|
||||||
|
|
||||||
|
|
||||||
User Interface Layout
|
User Interface Layout
|
||||||
=====================
|
=====================
|
||||||
|
@@ -1,7 +1,5 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
# <pep8 compliant>
|
|
||||||
|
|
||||||
# This is a quite stupid script which extracts bmesh api docs from
|
# This is a quite stupid script which extracts bmesh api docs from
|
||||||
# 'bmesh_opdefines.c' in order to avoid having to add a lot of introspection
|
# 'bmesh_opdefines.c' in order to avoid having to add a lot of introspection
|
||||||
# data access into the api.
|
# data access into the api.
|
||||||
|
@@ -1,61 +1,111 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
# <pep8 compliant>
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Dump the python API into a text file so we can generate changelogs.
|
---------------
|
||||||
|
|
||||||
output from this tool should be added into "doc/python_api/rst/change_log.rst"
|
Dump the python API into a JSON file, or generate changelogs from those JSON API dumps.
|
||||||
|
|
||||||
# dump api blender_version.py in CWD
|
Typically, changelog output from this tool should be added into "doc/python_api/rst/change_log.rst"
|
||||||
blender --background --python doc/python_api/sphinx_changelog_gen.py -- --dump
|
|
||||||
|
|
||||||
# create changelog
|
API dump files are saved together with the generated API doc on the server, with a general index file.
|
||||||
|
This way the changelog generation simply needs to re-download the previous version's dump for the diffing process.
|
||||||
|
|
||||||
|
---------------
|
||||||
|
|
||||||
|
# Dump api blender_version.json in CWD:
|
||||||
blender --background --factory-startup --python doc/python_api/sphinx_changelog_gen.py -- \
|
blender --background --factory-startup --python doc/python_api/sphinx_changelog_gen.py -- \
|
||||||
--api_from blender_2_63_0.py \
|
--indexpath="path/to/api/docs/api_dump_index.json" \
|
||||||
--api_to blender_2_64_0.py \
|
dump --filepath-out="path/to/api/docs/<version>/api_dump.json"
|
||||||
--api_out changes.rst
|
|
||||||
|
|
||||||
|
# Create changelog:
|
||||||
|
blender --background --factory-startup --python doc/python_api/sphinx_changelog_gen.py -- \
|
||||||
|
--indexpath="path/to/api/docs/api_dump_index.json" \
|
||||||
|
changelog --filepath-out doc/python_api/rst/change_log.rst
|
||||||
|
|
||||||
# Api comparison can also run without blender
|
# Api comparison can also run without blender,
|
||||||
|
# will by default generate changeloig between the last two available versions listed in the index,
|
||||||
|
# unless input files are provided explicitely:
|
||||||
python doc/python_api/sphinx_changelog_gen.py -- \
|
python doc/python_api/sphinx_changelog_gen.py -- \
|
||||||
--api_from blender_api_2_63_0.py \
|
--indexpath="path/to/api/docs/api_dump_index.json" \
|
||||||
--api_to blender_api_2_64_0.py \
|
changelog --filepath-in-from blender_api_2_63_0.json \
|
||||||
--api_out changes.rst
|
--filepath-in-to blender_api_2_64_0.json \
|
||||||
|
--filepath-out changes.rst
|
||||||
|
|
||||||
# Save the latest API dump in this folder, renaming it with its revision.
|
--------------
|
||||||
# This way the next person updating it doesn't need to build an old Blender only for that
|
|
||||||
|
|
||||||
"""
|
API dump index format:
|
||||||
|
|
||||||
# format
|
{[version_main, version_sub]: "<version>/api_dump.json", ...
|
||||||
'''
|
}
|
||||||
|
|
||||||
|
API dump format:
|
||||||
|
|
||||||
|
[
|
||||||
|
[version_main, vserion_sub, version_path],
|
||||||
{"module.name":
|
{"module.name":
|
||||||
{"parent.class":
|
{"parent.class":
|
||||||
{"basic_type", "member_name":
|
{"basic_type", "member_name":
|
||||||
("Name", type, range, length, default, descr, f_args, f_arg_types, f_ret_types)}, ...
|
["Name", type, range, length, default, descr, f_args, f_arg_types, f_ret_types]}, ...
|
||||||
}, ...
|
}, ...
|
||||||
}
|
}
|
||||||
'''
|
]
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
api_names = "basic_type" "name", "type", "range", "length", "default", "descr", "f_args", "f_arg_types", "f_ret_types"
|
api_names = "basic_type" "name", "type", "range", "length", "default", "descr", "f_args", "f_arg_types", "f_ret_types"
|
||||||
|
|
||||||
API_BASIC_TYPE = 0
|
API_BASIC_TYPE = 0
|
||||||
API_F_ARGS = 7
|
API_F_ARGS = 7
|
||||||
|
|
||||||
|
|
||||||
def api_dunp_fname():
|
def api_version():
|
||||||
|
try:
|
||||||
import bpy
|
import bpy
|
||||||
return "blender_api_%s.py" % "_".join([str(i) for i in bpy.app.version])
|
except:
|
||||||
|
return None, None
|
||||||
|
version = tuple(bpy.app.version[:2])
|
||||||
|
version_key = "%d.%d" % (version[0], version[1])
|
||||||
|
return version, version_key
|
||||||
|
|
||||||
|
|
||||||
def api_dump():
|
def api_version_previous_in_index(index, version):
|
||||||
dump = {}
|
print("Searching for previous version to %s in %r" % (version, index))
|
||||||
dump_module = dump["bpy.types"] = {}
|
version_prev = (version[0], version[1])
|
||||||
|
while True:
|
||||||
|
version_prev = (version_prev[0], version_prev[1] - 1)
|
||||||
|
if version_prev[1] < 0:
|
||||||
|
version_prev = (version_prev[0] - 1, 99)
|
||||||
|
if version_prev[0] < 0:
|
||||||
|
return None, None
|
||||||
|
version_prev_key = "%d.%d" % (version_prev[0], version_prev[1])
|
||||||
|
if version_prev_key in index:
|
||||||
|
print("Found previous version %s: %r" % (version_prev, index[version_prev_key]))
|
||||||
|
return version_prev, version_prev_key
|
||||||
|
|
||||||
|
|
||||||
|
class JSONEncoderAPIDump(json.JSONEncoder):
|
||||||
|
def default(self, o):
|
||||||
|
if o is ...:
|
||||||
|
return "..."
|
||||||
|
if isinstance(o, set):
|
||||||
|
return tuple(o)
|
||||||
|
return json.JSONEncoder.default(self, o)
|
||||||
|
|
||||||
|
|
||||||
|
def api_dump(args):
|
||||||
import rna_info
|
import rna_info
|
||||||
import inspect
|
import inspect
|
||||||
|
|
||||||
|
version, version_key = api_version()
|
||||||
|
if version is None:
|
||||||
|
raise(ValueError("API dumps can only be generated from within Blender."))
|
||||||
|
|
||||||
|
dump = {}
|
||||||
|
dump_module = dump["bpy.types"] = {}
|
||||||
|
|
||||||
struct = rna_info.BuildRNAInfo()[0]
|
struct = rna_info.BuildRNAInfo()[0]
|
||||||
for struct_id, struct_info in sorted(struct.items()):
|
for struct_id, struct_info in sorted(struct.items()):
|
||||||
|
|
||||||
@@ -157,17 +207,25 @@ def api_dump():
|
|||||||
)
|
)
|
||||||
del funcs
|
del funcs
|
||||||
|
|
||||||
import pprint
|
filepath_out = args.filepath_out
|
||||||
|
with open(filepath_out, 'w', encoding='utf-8') as file_handle:
|
||||||
|
json.dump((version, dump), file_handle, cls=JSONEncoderAPIDump)
|
||||||
|
|
||||||
filename = api_dunp_fname()
|
indexpath = args.indexpath
|
||||||
filehandle = open(filename, 'w', encoding='utf-8')
|
rootpath = os.path.dirname(indexpath)
|
||||||
tot = filehandle.write(pprint.pformat(dump, width=1))
|
if os.path.exists(indexpath):
|
||||||
filehandle.close()
|
with open(indexpath, 'r', encoding='utf-8') as file_handle:
|
||||||
print("%s, %d bytes written" % (filename, tot))
|
index = json.load(file_handle)
|
||||||
|
else:
|
||||||
|
index = {}
|
||||||
|
index[version_key] = os.path.relpath(filepath_out, rootpath)
|
||||||
|
with open(indexpath, 'w', encoding='utf-8') as file_handle:
|
||||||
|
json.dump(index, file_handle)
|
||||||
|
|
||||||
|
print("API version %s dumped into %r, and index %r has been updated" % (version_key, filepath_out, indexpath))
|
||||||
|
|
||||||
|
|
||||||
def compare_props(a, b, fuzz=0.75):
|
def compare_props(a, b, fuzz=0.75):
|
||||||
|
|
||||||
# must be same basic_type, function != property
|
# must be same basic_type, function != property
|
||||||
if a[0] != b[0]:
|
if a[0] != b[0]:
|
||||||
return False
|
return False
|
||||||
@@ -182,15 +240,44 @@ def compare_props(a, b, fuzz=0.75):
|
|||||||
return ((tot / totlen) >= fuzz)
|
return ((tot / totlen) >= fuzz)
|
||||||
|
|
||||||
|
|
||||||
def api_changelog(api_from, api_to, api_out):
|
def api_changelog(args):
|
||||||
|
indexpath = args.indexpath
|
||||||
|
filepath_in_from = args.filepath_in_from
|
||||||
|
filepath_in_to = args.filepath_in_to
|
||||||
|
filepath_out = args.filepath_out
|
||||||
|
|
||||||
file_handle = open(api_from, 'r', encoding='utf-8')
|
rootpath = os.path.dirname(indexpath)
|
||||||
dict_from = eval(file_handle.read())
|
|
||||||
file_handle.close()
|
|
||||||
|
|
||||||
file_handle = open(api_to, 'r', encoding='utf-8')
|
version, version_key = api_version()
|
||||||
dict_to = eval(file_handle.read())
|
if version is None and (filepath_in_from is None or filepath_in_to is None):
|
||||||
file_handle.close()
|
raise(ValueError("API dumps files must be given when ran outside of Blender."))
|
||||||
|
|
||||||
|
with open(indexpath, 'r', encoding='utf-8') as file_handle:
|
||||||
|
index = json.load(file_handle)
|
||||||
|
|
||||||
|
if filepath_in_to is None:
|
||||||
|
filepath_in_to = index.get(version_key, None)
|
||||||
|
if filepath_in_to is None:
|
||||||
|
raise(ValueError("Cannot find API dump file for Blender version " + str(version) + " in index file."))
|
||||||
|
|
||||||
|
print("Found to file: %r" % filepath_in_to)
|
||||||
|
|
||||||
|
if filepath_in_from is None:
|
||||||
|
version_from, version_from_key = api_version_previous_in_index(index, version)
|
||||||
|
if version_from is None:
|
||||||
|
raise(ValueError("No previous version of Blender could be found in the index."))
|
||||||
|
filepath_in_from = index.get(version_from_key, None)
|
||||||
|
if filepath_in_from is None:
|
||||||
|
raise(ValueError("Cannot find API dump file for previous Blender version " + str(version_from) + " in index file."))
|
||||||
|
|
||||||
|
print("Found from file: %r" % filepath_in_from)
|
||||||
|
|
||||||
|
with open(os.path.join(rootpath, filepath_in_from), 'r', encoding='utf-8') as file_handle:
|
||||||
|
_, dict_from = json.load(file_handle)
|
||||||
|
|
||||||
|
with open(os.path.join(rootpath, filepath_in_to), 'r', encoding='utf-8') as file_handle:
|
||||||
|
dump_version, dict_to = json.load(file_handle)
|
||||||
|
assert(tuple(dump_version) == version)
|
||||||
|
|
||||||
api_changes = []
|
api_changes = []
|
||||||
|
|
||||||
@@ -251,11 +338,22 @@ def api_changelog(api_from, api_to, api_out):
|
|||||||
|
|
||||||
# also document function argument changes
|
# also document function argument changes
|
||||||
|
|
||||||
fout = open(api_out, 'w', encoding='utf-8')
|
with open(filepath_out, 'w', encoding='utf-8') as fout:
|
||||||
fw = fout.write
|
fw = fout.write
|
||||||
# print(api_changes)
|
|
||||||
|
|
||||||
# :class:`bpy_struct.id_data`
|
# Write header.
|
||||||
|
fw(""
|
||||||
|
":tocdepth: 2\n"
|
||||||
|
"\n"
|
||||||
|
"Blender API Change Log\n"
|
||||||
|
"**********************\n"
|
||||||
|
"\n"
|
||||||
|
".. note, this document is auto generated by sphinx_changelog_gen.py\n"
|
||||||
|
"\n"
|
||||||
|
"\n"
|
||||||
|
"%s to %s\n"
|
||||||
|
"============\n"
|
||||||
|
"\n" % (version_from_key, version_key))
|
||||||
|
|
||||||
def write_title(title, title_char):
|
def write_title(title, title_char):
|
||||||
fw("%s\n%s\n\n" % (title, title_char * len(title)))
|
fw("%s\n%s\n\n" % (title, title_char * len(title)))
|
||||||
@@ -291,22 +389,14 @@ def api_changelog(api_from, api_to, api_out):
|
|||||||
fw("* :class:`%s.%s.%s` (%s), *was (%s)*\n" % (mod_id, class_name, func_id, args_new, args_old))
|
fw("* :class:`%s.%s.%s` (%s), *was (%s)*\n" % (mod_id, class_name, func_id, args_new, args_old))
|
||||||
fw("\n")
|
fw("\n")
|
||||||
|
|
||||||
fout.close()
|
print("Written: %r" % filepath_out)
|
||||||
|
|
||||||
print("Written: %r" % api_out)
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main(argv=None):
|
||||||
import sys
|
import sys
|
||||||
import os
|
|
||||||
|
|
||||||
try:
|
|
||||||
import argparse
|
import argparse
|
||||||
except ImportError:
|
|
||||||
print("Old Blender, just dumping")
|
|
||||||
api_dump()
|
|
||||||
return
|
|
||||||
|
|
||||||
|
if argv is None:
|
||||||
argv = sys.argv
|
argv = sys.argv
|
||||||
|
|
||||||
if "--" not in argv:
|
if "--" not in argv:
|
||||||
@@ -318,42 +408,42 @@ def main():
|
|||||||
usage_text = "Run blender in background mode with this script: "
|
usage_text = "Run blender in background mode with this script: "
|
||||||
"blender --background --factory-startup --python %s -- [options]" % os.path.basename(__file__)
|
"blender --background --factory-startup --python %s -- [options]" % os.path.basename(__file__)
|
||||||
|
|
||||||
epilog = "Run this before releases"
|
parser = argparse.ArgumentParser(description=usage_text,
|
||||||
|
epilog=__doc__,
|
||||||
parser = argparse.ArgumentParser(description=usage_text, epilog=epilog)
|
formatter_class=argparse.RawDescriptionHelpFormatter)
|
||||||
|
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--dump", dest="dump", action='store_true',
|
"--indexpath", dest="indexpath", metavar='FILE', required=True,
|
||||||
help="When set the api will be dumped into blender_version.py")
|
help="Path of the JSON file containing the index of all available API dumps.")
|
||||||
|
|
||||||
parser.add_argument(
|
parser_commands = parser.add_subparsers(required=True)
|
||||||
"--api_from", dest="api_from", metavar='FILE',
|
|
||||||
help="File to compare from (previous version)")
|
|
||||||
parser.add_argument(
|
|
||||||
"--api_to", dest="api_to", metavar='FILE',
|
|
||||||
help="File to compare from (current)")
|
|
||||||
parser.add_argument(
|
|
||||||
"--api_out", dest="api_out", metavar='FILE',
|
|
||||||
help="Output sphinx changelog")
|
|
||||||
|
|
||||||
args = parser.parse_args(argv) # In this example we won't use the args
|
parser_dump = parser_commands.add_parser('dump', help="Dump the current Blender Python API into a JSON file.")
|
||||||
|
parser_dump.add_argument(
|
||||||
|
"--filepath-out", dest="filepath_out", metavar='FILE', required=True,
|
||||||
|
help="Path of the JSON file containing the dump of the API.")
|
||||||
|
parser_dump.set_defaults(func=api_dump)
|
||||||
|
|
||||||
if not argv:
|
parser_changelog = parser_commands.add_parser(
|
||||||
print("No args given!")
|
'changelog',
|
||||||
parser.print_help()
|
help="Generate the RST changelog page based on two Blender Python API JSON dumps.",
|
||||||
return
|
)
|
||||||
|
|
||||||
if args.dump:
|
parser_changelog.add_argument(
|
||||||
api_dump()
|
"--filepath-in-from", dest="filepath_in_from", metavar='FILE', default=None,
|
||||||
else:
|
help="JSON dump file to compare from (typically, previous version). "
|
||||||
if args.api_from and args.api_to and args.api_out:
|
"If not given, will be automatically determined from current Blender version and index file.")
|
||||||
api_changelog(args.api_from, args.api_to, args.api_out)
|
parser_changelog.add_argument(
|
||||||
else:
|
"--filepath-in-to", dest="filepath_in_to", metavar='FILE', default=None,
|
||||||
print("Error: --api_from/api_to/api_out args needed")
|
help="JSON dump file to compare to (typically, current version). "
|
||||||
parser.print_help()
|
"If not given, will be automatically determined from current Blender version and index file.")
|
||||||
return
|
parser_changelog.add_argument(
|
||||||
|
"--filepath-out", dest="filepath_out", metavar='FILE', required=True,
|
||||||
|
help="Output sphinx changelog RST file.")
|
||||||
|
parser_changelog.set_defaults(func=api_changelog)
|
||||||
|
|
||||||
print("batch job finished, exiting")
|
args = parser.parse_args(argv)
|
||||||
|
|
||||||
|
args.func(args)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user