Compare commits
1831 Commits
temp-ui-cp
...
temp-usd-m
Author | SHA1 | Date | |
---|---|---|---|
9c7554bdcb | |||
715acf758c | |||
cfe828b452 | |||
4cc94679dd | |||
![]() |
39f63c8c08 | ||
d4f7f1dfe4 | |||
a76b5d3a07 | |||
59b9a88a35 | |||
4126284e46 | |||
1fd0c80725 | |||
5215543280 | |||
1e449bee21 | |||
5040c39d1a | |||
a3e6cb5dab | |||
fe0a219b5b | |||
09498264f6 | |||
2e7ff5acac | |||
46c34ba1f6 | |||
d02f863b18 | |||
d851c91856 | |||
a6dcf6e6cb | |||
818c16ef1f | |||
750e278fd1 | |||
85f8ba9db7 | |||
1ac80e8338 | |||
6dc88682ea | |||
36937e523a | |||
0fa34aa0ec | |||
e928dd300b | |||
dc46465490 | |||
1d7bf4f826 | |||
![]() |
526f2273c6 | ||
bb9eb262d4 | |||
1f615690e6 | |||
6a0b1eae8c | |||
cb77865c21 | |||
7dbf2e2e95 | |||
dacd93c11e | |||
c92c52f0c9 | |||
dfacaf4f40 | |||
0dfc102531 | |||
1e794d9a92 | |||
684789c815 | |||
72a85d976a | |||
8d20db0594 | |||
64f83f80c6 | |||
9b7d71cec2 | |||
64e4aede7f | |||
675717eb79 | |||
c2a5c592fe | |||
0e1a6f6033 | |||
d42c803f5b | |||
218a909dec | |||
bea1eff3a5 | |||
d5c60fb685 | |||
9fecf1f8b8 | |||
99e71ec1f2 | |||
4f19e99cb1 | |||
147c75b831 | |||
0d9fbfe7fe | |||
da0c182a61 | |||
dd171f7743 | |||
b68bac7ced | |||
173a8f4ac9 | |||
164f591033 | |||
83a6642045 | |||
158f87203e | |||
d92c28582a | |||
d165d6aa2a | |||
5f3c97b999 | |||
afd6358fc0 | |||
701f90c677 | |||
9f4ee75c9b | |||
2e19aa1399 | |||
918cf6cd77 | |||
af8941e6a8 | |||
f828ecf4ba | |||
86b3073c9e | |||
2a7440176e | |||
6ea3fdebc8 | |||
77963ff778 | |||
f0669ff8ba | |||
3f40962414 | |||
32149f8d7a | |||
91346755ce | |||
a02fa6c40d | |||
10354b043f | |||
c7456272b1 | |||
77aa9e8809 | |||
d33960aead | |||
085c854b2a | |||
82867753cf | |||
232e02282e | |||
b9fa32cccd | |||
197eee6e04 | |||
e732580fcc | |||
158f809dcb | |||
19ea673260 | |||
b723a398f3 | |||
0f708fa2e3 | |||
6478eb565a | |||
fefc6a73b3 | |||
9f4edf8c2a | |||
ce44953933 | |||
343bb4a5a3 | |||
efabe81c91 | |||
0e6da74e98 | |||
8a32d56056 | |||
7351f533e0 | |||
5c4e1ed578 | |||
6f8c441950 | |||
d411be8a99 | |||
fae661a1ab | |||
923152d180 | |||
0ea15a6fbb | |||
284cdbb6cf | |||
bad2c3b9ef | |||
88f9c55f7f | |||
dc9f7fe64f | |||
![]() |
5d30c3994e | ||
51ceeb506f | |||
01480229b1 | |||
b77c82e2bb | |||
c2c62c3618 | |||
a8d951abdd | |||
4cbe0bff34 | |||
48d9363fa7 | |||
8ac3096e24 | |||
2ee9c12a23 | |||
2d351e9ee3 | |||
7e0e07657c | |||
5c8edbd99b | |||
2cfc4d7644 | |||
bc0d3c91b1 | |||
50918d44fb | |||
![]() |
1649921791 | ||
50dfd5f501 | |||
bfa7f9db0e | |||
b8e15a4a84 | |||
7ca651d182 | |||
3bed78ff59 | |||
22edf04458 | |||
666c2ea012 | |||
ca183993a5 | |||
0e196bab76 | |||
f222fe6a3a | |||
8b35db914e | |||
1883e782cb | |||
7effc6ffc4 | |||
f3d7de709f | |||
3c8f7b1a64 | |||
0381fe7bfe | |||
5f842ef336 | |||
5b110548eb | |||
9fd71d470e | |||
94d280fc3f | |||
9103978952 | |||
9c03a1c92f | |||
a0f5240089 | |||
0ab3ac7a41 | |||
a1282ab015 | |||
f0361cada6 | |||
43f308f216 | |||
aab707ab70 | |||
4ed8a360e9 | |||
4d3bfb3f41 | |||
d781e52ee0 | |||
09eb4fe19a | |||
6aa1b5d031 | |||
5c994d7846 | |||
53b057aa09 | |||
e817cff009 | |||
41ddd3d732 | |||
f5552d759c | |||
f01bf82480 | |||
8d9d16fb53 | |||
349350b304 | |||
cb5318b651 | |||
bd6b0bac88 | |||
3002670332 | |||
f086cf3cea | |||
2609ca2b8e | |||
![]() |
7e8153b07d | ||
622cad7073 | |||
44daeaae7d | |||
db8b5a2316 | |||
dbca0cc9d5 | |||
e4f77c1a6c | |||
![]() |
e27c89c7c7 | ||
af5706c960 | |||
a99022e22d | |||
d5af895419 | |||
![]() |
8703db393b | ||
![]() |
f152159101 | ||
d3500c482f | |||
3a1583972a | |||
6dcfb6df9c | |||
b0b9e746fa | |||
8be3fcab7e | |||
d20f992322 | |||
a38d99e0b2 | |||
75db4c082b | |||
![]() |
2d994de77c | ||
961d99d3a4 | |||
430cc9d7bf | |||
a3551ed878 | |||
288b13b252 | |||
85b2bce037 | |||
c7b601c79e | |||
81f8d74f6d | |||
9c14039a8f | |||
363aff2ad0 | |||
39e0bbfa55 | |||
8fe4f3b756 | |||
![]() |
a86f657692 | ||
8adebaeb7c | |||
773a36d2f8 | |||
cc623ee7b0 | |||
deaddbdcff | |||
f2538c7173 | |||
4bd3b02984 | |||
7beb487e9a | |||
9ad3a85f8b | |||
![]() |
654e1e901b | ||
![]() |
46c9f7702a | ||
![]() |
be0912a402 | ||
![]() |
0a3df611e7 | ||
![]() |
6d297c35c8 | ||
329eeacc66 | |||
2627635ff3 | |||
d6b6050e5b | |||
731c3efd97 | |||
9f5c17f4af | |||
4fcc9f5e7e | |||
7de1a4d1d8 | |||
d3949a4fdb | |||
b642dc7bc7 | |||
501352ef05 | |||
3420c47900 | |||
![]() |
a094f30a74 | ||
3d6ceb737d | |||
b7034e7280 | |||
a97607dcfa | |||
f1314f3d5b | |||
d6cd7d1138 | |||
b2196ebe28 | |||
1a13940ef8 | |||
62fc001979 | |||
![]() |
06305e5ca8 | ||
789e549dba | |||
ab9c34e7e7 | |||
90f36fc50e | |||
73000c792d | |||
0220bdc2d5 | |||
b454416927 | |||
6590a288b0 | |||
23506622a5 | |||
7f958217ad | |||
dc79281223 | |||
1195933ada | |||
a1c01e0c06 | |||
fcc1166821 | |||
d204830107 | |||
ebe8f8ce71 | |||
![]() |
19b63b932d | ||
af0d378177 | |||
96e37affe5 | |||
5a9d2b872e | |||
0f51b5b599 | |||
cc23b6abd6 | |||
3c8c0f1094 | |||
d335db09e0 | |||
ab3e1809b6 | |||
a45a881534 | |||
9565ea0724 | |||
2fb0c20f53 | |||
307113d744 | |||
11d8965da1 | |||
c468aeefb5 | |||
266d8de687 | |||
27e2b32a06 | |||
023277359f | |||
b5e00a1482 | |||
f31ad5d98b | |||
52de84b0db | |||
ca99a59605 | |||
![]() |
fdc81be213 | ||
fc2a64e21a | |||
7208938707 | |||
2a19810f97 | |||
04aab7d516 | |||
fe5d54d3d0 | |||
c2c6707919 | |||
c1b85103fe | |||
49ad91b5ab | |||
bbc18673f3 | |||
d77b87eb93 | |||
644d54a193 | |||
6c66f3e2b3 | |||
d92edca862 | |||
![]() |
e1ee86b63c | ||
199233eee1 | |||
5d9971bc63 | |||
99520a79b6 | |||
e2c3bff78b | |||
96ea0dd458 | |||
31a6400279 | |||
d82ffb9787 | |||
a4868f2058 | |||
9b86741ae7 | |||
c105c49407 | |||
19fe5caf87 | |||
5a97b282e9 | |||
e515f81318 | |||
345dded146 | |||
3750e7ef0b | |||
0a9520ce84 | |||
11a9578a19 | |||
2995165148 | |||
fa9fc59b56 | |||
ce42906b89 | |||
1cb04af1df | |||
6de43f6f04 | |||
a837604d44 | |||
59b7aec9a2 | |||
5021f10e65 | |||
c1e5359eba | |||
a71ae981c7 | |||
![]() |
a504058dee | ||
![]() |
f3bd5458a3 | ||
9f866a92dc | |||
3d765f6527 | |||
59aefaf3d0 | |||
d44d165e8a | |||
d8cd8a0852 | |||
b7e178cb7d | |||
6b8fa899ca | |||
57efef2635 | |||
91263a8b8b | |||
79c82fc1c5 | |||
b18b53eae0 | |||
4f1800d70a | |||
6c8c8c20c7 | |||
27b4916b1a | |||
ea8fd343eb | |||
f359a39d11 | |||
129093fbce | |||
87a923fdb6 | |||
f4deed288b | |||
c79b55fc05 | |||
ad083f925c | |||
ce13d0d326 | |||
1a50f814e6 | |||
![]() |
aca9c131fc | ||
d4d4efd3d3 | |||
62dd0855a9 | |||
![]() |
596ee79a9f | ||
dea924a91f | |||
0da74d3ee9 | |||
411345757c | |||
a36c1cabce | |||
084dd110c9 | |||
![]() |
6dde185dc4 | ||
![]() |
57552f52b2 | ||
d0f55aa671 | |||
2ff08d6d9c | |||
be8778355a | |||
3649c05f57 | |||
![]() |
db87e2a638 | ||
![]() |
75c772391d | ||
90e9406866 | |||
ad146bd17a | |||
11de4aa0ce | |||
042775ad48 | |||
e497da5fda | |||
52ed8bcb27 | |||
90253ad2e7 | |||
b2534fb866 | |||
904357d67a | |||
89aae4ac82 | |||
fe5c3a0ab3 | |||
4e9c6929c1 | |||
3a9e589142 | |||
d7e914270f | |||
cef03c867b | |||
8336de03a6 | |||
9facc5067a | |||
![]() |
328772f2d9 | ||
f5e76aa39e | |||
0050d6d399 | |||
8343e841fd | |||
179605bd2d | |||
000e722c7d | |||
e99ae0a75d | |||
b67b84bd5d | |||
4635dd6aed | |||
2590de913d | |||
46c68c46a5 | |||
3d7697b325 | |||
138b3815e5 | |||
1fd1d24265 | |||
073cf46b2e | |||
75d6228583 | |||
![]() |
454057f9df | ||
79f70e48eb | |||
d5b026a16c | |||
0cce653892 | |||
71d7c919c0 | |||
b3fd169259 | |||
2b4bafeac6 | |||
6c8db7c22b | |||
34a6591a07 | |||
d76004f48f | |||
742c2e46bb | |||
e735bf02cb | |||
647cffc001 | |||
![]() |
3e90390918 | ||
cdef135f6f | |||
![]() |
9a4c54e8b0 | ||
d6c9cd445c | |||
![]() |
3b4486424a | ||
f19f50d288 | |||
1fd54204b0 | |||
c412c38f0d | |||
3b17d6c619 | |||
f210842a72 | |||
6d79bc0073 | |||
f7dd7d5454 | |||
4a768a7857 | |||
a42f307915 | |||
ef39d85d7c | |||
564673b8ea | |||
c1beaea80f | |||
f5d94f97e4 | |||
fa57c691f6 | |||
feae1c7d05 | |||
6e0d58a68a | |||
9ad051140c | |||
![]() |
2f9346bc0a | ||
f954029e97 | |||
405b08e00d | |||
e744673268 | |||
ffe45ad87a | |||
![]() |
69288daa74 | ||
12ca26afc2 | |||
ef3225b9da | |||
e27d1d9bb6 | |||
b898e00edc | |||
72c012ab4a | |||
7416021bf7 | |||
6c310acccc | |||
821dee6de4 | |||
adcb0edca0 | |||
9c71f5807f | |||
0c2b2cdb78 | |||
d3967ce27c | |||
b51034b9ca | |||
b8cb962fb2 | |||
d446809f96 | |||
c5d9938adc | |||
1ad11355a3 | |||
0f52aa0954 | |||
5cc9f07d5c | |||
361ebe98d5 | |||
789ab9b92a | |||
a73a2d345f | |||
e56f284843 | |||
30b34735e3 | |||
e308b891c8 | |||
fdcb55b285 | |||
ce25e3e581 | |||
b1c8889396 | |||
ae80a6696f | |||
6899474615 | |||
62743dde11 | |||
0931d91ab6 | |||
3956c4738f | |||
813425877b | |||
6e4e5f6484 | |||
10a06dfd11 | |||
21eff2c0ac | |||
4815d0706f | |||
246485b213 | |||
33edef15ed | |||
cf332e896f | |||
c16bd34316 | |||
a36e2a9b64 | |||
74aa960398 | |||
1c90f8209d | |||
6279042d21 | |||
36a82314a0 | |||
67c48314ba | |||
0ad4d07f10 | |||
f72969f377 | |||
42f8f98ee1 | |||
79ba1a1ac8 | |||
f24b9a7943 | |||
7fc395354c | |||
15575b953d | |||
b6b6e47e1d | |||
8afcecdf1f | |||
fe8bf5e0c7 | |||
e49e5f6f08 | |||
ba982119cd | |||
![]() |
84c25fdcaa | ||
![]() |
139fb38d4f | ||
![]() |
1c672f3d1d | ||
![]() |
0ba5954bb2 | ||
8e56ded86d | |||
![]() |
cd2926fb05 | ||
![]() |
48b82a6ea3 | ||
b44a8f6749 | |||
6043ed9e62 | |||
59ee5add12 | |||
607b814096 | |||
e0c8fa4ab9 | |||
f5c081dafc | |||
64dbfe714b | |||
eca4b991d8 | |||
ab0be6ec24 | |||
c68d4bf839 | |||
93a840360a | |||
4bef5f3df7 | |||
e2006f15a9 | |||
3a2899cc31 | |||
b544199c56 | |||
537db96fb7 | |||
00ac2ddca2 | |||
4fcbfcfc96 | |||
c2a28f9f6c | |||
96dfa68e5f | |||
3f1886d0b7 | |||
8d98d5c402 | |||
f2bb044fdb | |||
3d6fd2906b | |||
50387964b6 | |||
0b17d171d7 | |||
cbd15d387f | |||
65f68ee023 | |||
6aa29549e8 | |||
b5bb38400f | |||
25864d3dfc | |||
![]() |
68625431d5 | ||
2ea47e0def | |||
6a22230db4 | |||
a82c12ae32 | |||
453724894e | |||
244c87dd68 | |||
37dfce550f | |||
60ea01aa30 | |||
f31f7e3ef0 | |||
70ca15670d | |||
d650162ecd | |||
c07fdad03d | |||
c8a10c43b1 | |||
c006ba83e0 | |||
d79abb5d4f | |||
b6278c5a96 | |||
31a505d1a5 | |||
453e47eb42 | |||
5218391701 | |||
127eb2e328 | |||
85908e9edf | |||
d072764809 | |||
244522d6cb | |||
884e14ac93 | |||
721bd5e6cf | |||
bbc35fef25 | |||
1e8cc72f85 | |||
844cca9984 | |||
06c836c911 | |||
6672b5373f | |||
92734d868b | |||
b73814c65c | |||
d0010d48c7 | |||
a0706d6cf0 | |||
ebb519652c | |||
1184501d5c | |||
fcb0425f64 | |||
da21e035d3 | |||
4fa6ce0973 | |||
0e35d5c095 | |||
8a6c6a5dc5 | |||
8b5c2d9ef1 | |||
9889918fd4 | |||
05bdef7ce6 | |||
241d87e9f4 | |||
203ab983ce | |||
bbeb37696d | |||
79053a6ff7 | |||
2ab72f6db8 | |||
fe552bf236 | |||
670b3c5013 | |||
190d66b51e | |||
baf69b064b | |||
7db00d4ef7 | |||
8d63293c46 | |||
9233b609eb | |||
dfd63bf1e4 | |||
e12498e44e | |||
4cfa4f7551 | |||
76673e5fcf | |||
38a45e46bc | |||
d3ea931647 | |||
f71bfe4655 | |||
![]() |
fa67b84c34 | ||
9066f2e043 | |||
![]() |
e270a198a5 | ||
![]() |
08b3426df9 | ||
e7af2503c5 | |||
2a41e0822a | |||
12a3de96bb | |||
![]() |
25ce705617 | ||
90c6674f28 | |||
9b7c2cca3d | |||
![]() |
7f81d18ffe | ||
203bacbe4a | |||
320757bc61 | |||
a3c38667f0 | |||
eb657633ed | |||
2907227db2 | |||
71b5799852 | |||
93d84e87b2 | |||
3f627c38a2 | |||
41b33f8968 | |||
![]() |
cac6b6f388 | ||
66595e29e2 | |||
bc502f3b19 | |||
66dee44088 | |||
8b7d2d8eb2 | |||
978a7459f1 | |||
c2120b8c4f | |||
9676dce317 | |||
163d4aa094 | |||
83f9218801 | |||
6c4e3a9e51 | |||
d3aaa7d523 | |||
e4e91bf830 | |||
8707cab70b | |||
9ccec5715e | |||
e8d1d1486e | |||
6f206f713e | |||
c412d2dcfe | |||
534214e65c | |||
9e5ada315f | |||
df74a9b624 | |||
e6be3f96d8 | |||
9c54f2655d | |||
efe51f0220 | |||
493e3230b4 | |||
21b3689fb9 | |||
cf50a3eabc | |||
6e6ae17335 | |||
973db6b5c1 | |||
2c2178549b | |||
c1d360f7fb | |||
60d9de767d | |||
ca3e19f4c5 | |||
9e5e2aa775 | |||
07af7e2266 | |||
988bc3dddf | |||
1c470dbd72 | |||
b380d25053 | |||
fd2bf32dc7 | |||
44dd3308a5 | |||
9179362e7b | |||
![]() |
d45ad0acd3 | ||
bdb34c9804 | |||
737e7a63b1 | |||
301119619c | |||
dcb37959d4 | |||
17768b3df1 | |||
d42d4e339f | |||
85ea74ad77 | |||
df54561233 | |||
d76a0e98ba | |||
665732115e | |||
1d253b6652 | |||
34326fec02 | |||
543bf28fb1 | |||
400f022989 | |||
873794b196 | |||
d411de96f7 | |||
0e89d24318 | |||
50105b2952 | |||
f8b11528b2 | |||
7df5d7c7a7 | |||
![]() |
e144af1f7c | ||
f8328ec172 | |||
8b660e1cbf | |||
b510508513 | |||
03fab057f1 | |||
2c6ed49c03 | |||
![]() |
8082b96a75 | ||
962c3cf6b1 | |||
9789835db8 | |||
7241ab6ede | |||
647a7da17d | |||
6769acbbba | |||
7026096099 | |||
6d12d43a05 | |||
39c6953462 | |||
6f6cc269a4 | |||
e0e6afb766 | |||
93ca4eeec1 | |||
![]() |
c55767b32e | ||
a219507d57 | |||
b82f7814c4 | |||
c66da0b267 | |||
a84a8a528d | |||
debd912bef | |||
8cc558814d | |||
![]() |
154d3e95f8 | ||
5320372c34 | |||
![]() |
9a1f0443cb | ||
ff814ec5f6 | |||
5cbc8ce3b1 | |||
a294c35370 | |||
6a7ecec6e1 | |||
cc5fefffe6 | |||
2467becade | |||
eeb6a3dc05 | |||
33c30af742 | |||
![]() |
b038662887 | ||
28db19433e | |||
945d108ab8 | |||
6da7436cce | |||
6d07b459f2 | |||
e1aef2e87e | |||
87bb14ab5f | |||
8b5d5cbf06 | |||
0a7c485b66 | |||
bec86c5d15 | |||
8c7df5fa72 | |||
82bd020a30 | |||
fc9c818531 | |||
cc332264ae | |||
1a79bdfbf1 | |||
ff15edc6ab | |||
72cc68e299 | |||
50980981e3 | |||
8625495b1c | |||
aea26830dc | |||
8126d92073 | |||
92773761d3 | |||
325105ee6f | |||
3a3d9488a1 | |||
4160da187c | |||
326e1eeb56 | |||
![]() |
e35053d369 | ||
b55b671955 | |||
0a21a554d5 | |||
dc99c09daa | |||
a5c3f5b0bc | |||
2c910cb70a | |||
cb92ff7b2d | |||
ef68a37e5d | |||
4961e5f91d | |||
ba71419891 | |||
046d1a414b | |||
761e6b1b78 | |||
d4e638baac | |||
2fb829a2de | |||
bc3da3ad41 | |||
daedf19315 | |||
c158dd560e | |||
0c2a3054ba | |||
bbe7183cd3 | |||
b599820418 | |||
b2746876f2 | |||
![]() |
063caae72e | ||
![]() |
589d1be147 | ||
16fc928068 | |||
c5f9bf95cd | |||
ed178f5ff5 | |||
ea1c31a244 | |||
09a26f26e8 | |||
eeff49a3b1 | |||
![]() |
3590e263e0 | ||
![]() |
b9177014b6 | ||
0349a6e6e0 | |||
2b4bf586ad | |||
2b32a2c3b2 | |||
442b08aac0 | |||
ff86573d72 | |||
88e9826529 | |||
4d1f12212b | |||
5029f3e483 | |||
ad01cdd7fc | |||
3b761901b6 | |||
a6b6f5db10 | |||
5d07b0e6da | |||
8f7bb812c4 | |||
866b24ac88 | |||
cff2807aff | |||
d3e8d63a8c | |||
68c6fc6d38 | |||
f88e788569 | |||
d8d20e0e59 | |||
86464cfcef | |||
28d38e876f | |||
bd7a1d5de6 | |||
32812c2cc2 | |||
8367f2bffc | |||
494c3ba063 | |||
12a26b8fe3 | |||
9f283bee7e | |||
bd9602036a | |||
50d6af1e0e | |||
dd9e1eded0 | |||
![]() |
30c90f0ad0 | ||
5bc71f22a2 | |||
d397ecae32 | |||
8a3a1a0c14 | |||
db688b62f9 | |||
9b8c2f91f6 | |||
df5ebd348b | |||
3a98dc6812 | |||
09a5443f20 | |||
66af16571d | |||
35e54b52e6 | |||
250eda36b8 | |||
fddb76e9af | |||
![]() |
597aecc016 | ||
387fc9b40b | |||
c6b4bd407e | |||
6f38ce5a40 | |||
b7f5e4b1b6 | |||
ed66321996 | |||
dad9f45561 | |||
aaaa75f906 | |||
![]() |
6c774feba2 | ||
6ef8db35e7 | |||
485ab42075 | |||
d48f95d31c | |||
fdcbad37be | |||
1af62cb3bf | |||
05ddc7daa2 | |||
13450c2d22 | |||
92449e634f | |||
63b9a57f8b | |||
39c30f6983 | |||
c41601becd | |||
317a5f61f0 | |||
7bf75231e8 | |||
71ca339fe0 | |||
b314d92e7d | |||
3b476d020a | |||
ec2046c38d | |||
![]() |
891fe70d7f | ||
1f9e90bb1c | |||
08b2d04021 | |||
8d2f4ddb2f | |||
385bd0c4e9 | |||
f5179830a7 | |||
ca45c2dc59 | |||
29a41ed6c2 | |||
589cbbf0e3 | |||
b3f664f8fb | |||
b5390a4aee | |||
f3df7b4fbd | |||
4887401789 | |||
63c985e0f7 | |||
59ce3b8f6b | |||
02226e9069 | |||
0e0139b304 | |||
4546e35c92 | |||
d8e01150d6 | |||
95696d09bc | |||
56a97ba816 | |||
e7a554e551 | |||
d11f3267cd | |||
73a2c79c07 | |||
891b973029 | |||
![]() |
d3f626b535 | ||
![]() |
ed8f3dc9c7 | ||
![]() |
b1d2ea3e1b | ||
710f8164b4 | |||
d8750aa1da | |||
5f9a48ed59 | |||
![]() |
d4c085c17d | ||
ef78811ac7 | |||
e22247a965 | |||
2895c67086 | |||
c4d4db39dc | |||
a2ea32a600 | |||
eedcf1876a | |||
a5b27f9858 | |||
577442a26f | |||
b3146200a8 | |||
380db3edb3 | |||
1bbf1ed03c | |||
1942d55c07 | |||
1a8675b48d | |||
ed1df2ce2b | |||
125b283589 | |||
f7e9bc65ab | |||
e756b0fea0 | |||
01efcb3de2 | |||
5fa694ffe1 | |||
ba9f0d5a15 | |||
73594f4c9c | |||
8f44c37f5c | |||
da2dccca61 | |||
56216e2a62 | |||
11ecde6a5a | |||
940fd87e77 | |||
67e1b52568 | |||
302cb349c7 | |||
34b24fb602 | |||
ddb30c4a02 | |||
e9cb96d16e | |||
8a16523bf1 | |||
e1df731c91 | |||
a3ac91da27 | |||
5cc793912e | |||
![]() |
3b37538975 | ||
2752a88478 | |||
87fd798ae3 | |||
![]() |
a3a60e9647 | ||
e0d70e6a9d | |||
d05909a70c | |||
0bf8b98437 | |||
cc78fd4e93 | |||
![]() |
5eab813fc0 | ||
![]() |
825f01b7b5 | ||
ae7163007d | |||
d49b850399 | |||
006e905957 | |||
3337838b49 | |||
bd36c712b9 | |||
8556741183 | |||
1229b96652 | |||
42b88c0088 | |||
![]() |
fc9c39e320 | ||
5c4d11d709 | |||
b6c74b4c6f | |||
280502e630 | |||
8d0c98740a | |||
14fc02f91d | |||
706b13959e | |||
cb7f97891d | |||
00a20aec07 | |||
bc5337a05a | |||
4fb0eb3a6e | |||
0796210c8d | |||
87f7b630b5 | |||
084b52bcd8 | |||
7d712dcd0b | |||
0fb12a9c2e | |||
![]() |
59ce7bf5a9 | ||
8a65e33d41 | |||
b099e9924e | |||
74c4977aea | |||
d1810d11f4 | |||
2a5104e368 | |||
![]() |
a5d4c63e86 | ||
3819a9b15a | |||
25e28f518c | |||
862d08bb97 | |||
a318f3b8d6 | |||
2ffd08e952 | |||
4813c37ae2 | |||
fdc918c32c | |||
58b6c91d36 | |||
963600ddc0 | |||
![]() |
200a114e15 | ||
![]() |
76a68649c1 | ||
![]() |
34fa369b48 | ||
d7598c8081 | |||
bfb0b1decc | |||
77c3e0895d | |||
7690872ce4 | |||
93fc352cfa | |||
168091a1d6 | |||
![]() |
a7cc6e015c | ||
496d736adc | |||
![]() |
433d436b84 | ||
224d26fd33 | |||
83f519b7c1 | |||
58f1e62871 | |||
2540a52f91 | |||
![]() |
77c3e67d3d | ||
![]() |
fbc2c4c331 | ||
20b2d6fc71 | |||
![]() |
22fec7b1a4 | ||
79837c5ed4 | |||
78f28b55d3 | |||
14d7cd46ba | |||
![]() |
1c7c1480d1 | ||
1beaec46b8 | |||
86a471efe7 | |||
c9ab76db5c | |||
f9ddfffd6f | |||
d28588f31e | |||
32b861b14a | |||
eb7ac996cc | |||
65d8da97b8 | |||
bd2d7a4a81 | |||
![]() |
77e8e73ed9 | ||
cdd07ddb93 | |||
cbd12e730a | |||
50dbedf0d8 | |||
c26616b2c1 | |||
80639a93a8 | |||
03abc38624 | |||
1d636f5e05 | |||
8b1edff6b5 | |||
858fffc2df | |||
7355d64f2b | |||
e091291b5b | |||
a6355a4542 | |||
ecd4533615 | |||
760f2636c0 | |||
380132300e | |||
0c0cdb8010 | |||
c82311bb8e | |||
88748e5cbc | |||
8dbfbac928 | |||
1a9cf9c745 | |||
30753f7692 | |||
0f8487f640 | |||
101d04f41f | |||
e438e8e04e | |||
2e0cf17f94 | |||
896ad9d5d0 | |||
aad8f1a41b | |||
0f2b1f9ec9 | |||
fd068e92f1 | |||
e39ca9d1e3 | |||
75cd1fdc0a | |||
9a18a9bfce | |||
0e5dab0831 | |||
bc2220733a | |||
0c30873d82 | |||
e550d8c8fd | |||
13ad68d100 | |||
0bc0e3f9f7 | |||
9144b110ee | |||
b386932dbb | |||
6eb1c98b15 | |||
c74acb62b9 | |||
90f194616b | |||
ebec9eb75e | |||
0efb79fb74 | |||
adb4dd911b | |||
4ae8c52a95 | |||
94155fb6ff | |||
da4e2fe7fe | |||
eaef8d50bc | |||
46c1cddabd | |||
9d2ab1f8d3 | |||
153e1dc31a | |||
68906c605f | |||
a4e843c250 | |||
7e5a7928ca | |||
4924f8cffd | |||
3277879085 | |||
8007f7e74f | |||
![]() |
614704f90c | ||
![]() |
17d66fe79e | ||
f891ddd98d | |||
3340cc8102 | |||
9cef74f58b | |||
c8741a3c03 | |||
81935098f1 | |||
83b103fd2f | |||
dba2d82846 | |||
c744d5453f | |||
a09accb496 | |||
5dcce58510 | |||
4d39b6b3f4 | |||
363e5e28ee | |||
2652029f3b | |||
31f2242691 | |||
b6ca942e47 | |||
47b9ed2409 | |||
887105c4c9 | |||
2bd8c67d10 | |||
![]() |
f53bb93af9 | ||
7e4f988072 | |||
cc48610d2c | |||
72b4f91914 | |||
8c194e1ba6 | |||
4e027fdde6 | |||
9e332b113b | |||
6347562fb0 | |||
c9b06505d8 | |||
3176b113e4 | |||
8c6fe60844 | |||
921fc1e44c | |||
91368f7b7d | |||
d7dad425c0 | |||
6aad3c7297 | |||
87594726ab | |||
b6a11ae7d5 | |||
a2cf9a8647 | |||
3adbe82e07 | |||
dce7917717 | |||
a9cb66b856 | |||
204de8c6db | |||
![]() |
997eb77fd4 | ||
![]() |
5206d72dca | ||
![]() |
a7cec5a4db | ||
7911954b40 | |||
6b9825e6f7 | |||
7be5ca63ae | |||
cb93433a56 | |||
87cf495860 | |||
9e0feec0d3 | |||
32b1947be2 | |||
09ba00974f | |||
00b3f863b8 | |||
8fab53c023 | |||
e1180bfdb2 | |||
14667de65b | |||
4701421dbe | |||
014d0a8ede | |||
fea60eccbf | |||
![]() |
a44c128482 | ||
b024577452 | |||
2838d9324d | |||
![]() |
a521960fdd | ||
a8aae66f0e | |||
834ca5d682 | |||
fb8778a28c | |||
f803a0a95b | |||
![]() |
15c433d7d5 | ||
![]() |
d9510f02c8 | ||
![]() |
a7ad2dea62 | ||
7d2dbe7849 | |||
dc30c9971d | |||
4d22a517c9 | |||
e4e17cf1df | |||
b617ddc004 | |||
0bcfe2788d | |||
cef5841e12 | |||
b621483659 | |||
f4b03031e8 | |||
b492dc3579 | |||
fa3ca9afdb | |||
908c539219 | |||
8fe1499796 | |||
688086e01f | |||
8bbf823716 | |||
d0348bcb8a | |||
51e2ce7df5 | |||
![]() |
3535670ff1 | ||
![]() |
7ff47f7a94 | ||
b015fc4247 | |||
fd9a1d62f5 | |||
![]() |
fcddb7cda7 | ||
4c295276f0 | |||
40e5954e39 | |||
fb7f12dc40 | |||
6383ed9956 | |||
![]() |
cc13934442 | ||
99fcfdd9fb | |||
7907803694 | |||
adc92cc23e | |||
ddd24186d9 | |||
![]() |
dedca2c994 | ||
3efb31ee31 | |||
![]() |
b3464fe152 | ||
![]() |
df1fe18ed7 | ||
![]() |
2712265598 | ||
844b6e3982 | |||
105c0aa5b6 | |||
edb5dcaa31 | |||
![]() |
b93025db59 | ||
9837a32822 | |||
194cc8410b | |||
c2a8d8b18d | |||
4ae0da1bbc | |||
5fe297df48 | |||
9f575ece39 | |||
![]() |
81f425a36f | ||
1a986f7eba | |||
4cb2204d3a | |||
288d4c9545 | |||
923f394485 | |||
c3cc8d2f6a | |||
67318b1977 | |||
1eb90ee519 | |||
7d7e90ca68 | |||
d59f6ffdcb | |||
f0ac5e8aec | |||
50c7eb14f4 | |||
8666791b2e | |||
17e266cd55 | |||
0beb358a69 | |||
5a761a47e1 | |||
8709a51fa9 | |||
28511ac6cf | |||
c18055ba5c | |||
e07c5a14c9 | |||
0cc573c8c4 | |||
a0a7db9f70 | |||
02c8ce449e | |||
68ba311c5c | |||
dc8355cfe2 | |||
025570c44e | |||
2ac6e26c25 | |||
6797de4e10 | |||
067fe443d8 | |||
6d3cc9c38a | |||
347c82be6d | |||
7c85f11c42 | |||
4254810e50 | |||
4352ac0558 | |||
c9288ab41f | |||
a43e498878 | |||
5ffcd8779e | |||
3aca0bc66a | |||
6ced6c9545 | |||
ea731f42db | |||
d77a6849e6 | |||
![]() |
9e94135f17 | ||
bea5fe6505 | |||
a8530d31c2 | |||
c9eb583460 | |||
599c0db3ff | |||
9a25c48f08 | |||
3334ff0e32 | |||
c37e07bc01 | |||
ba89f640fe | |||
79a34758f5 | |||
f2945f3895 | |||
8b2afe93b4 | |||
ba7afbe3a1 | |||
0079460dc7 | |||
a6c30e1a0c | |||
75c2e81103 | |||
841020dba2 | |||
![]() |
edfef62371 | ||
e58f5422c3 | |||
2c22795dfd | |||
3d29bbcc38 | |||
6514bb05ea | |||
b1494bcea7 | |||
ae886596a0 | |||
![]() |
7608ebe44a | ||
ef35247ee1 | |||
62f8d0d8c8 | |||
c6ff8eb837 | |||
6546113f1e | |||
970f4c2f9f | |||
bd04e80c09 | |||
d2aebf10fa | |||
51759e6595 | |||
9fe1db1d2b | |||
0e1440eefd | |||
e0ef5f3602 | |||
ba347d7c9e | |||
69d1ddd4c6 | |||
e5f139e99d | |||
9e47db4f43 | |||
7571222a69 | |||
657a5f205a | |||
18cc1b1108 | |||
d715573aea | |||
b147af2b7e | |||
5da11e22de | |||
0240b89599 | |||
c969a533f9 | |||
230744d6fd | |||
b13a92a238 | |||
530b232309 | |||
7766a20b8f | |||
36ca1312c4 | |||
e0fbeb6e7b | |||
2dd27d5f06 | |||
e476afff41 | |||
d173a52f56 | |||
2d21fc3f5d | |||
f167e366da | |||
918df11a1a | |||
c725a53e89 | |||
a3a9459050 | |||
56237f33a1 | |||
![]() |
4121e32edd | ||
![]() |
a501a2dbff | ||
8c14992db2 | |||
![]() |
7efba6c59a | ||
d33758755b | |||
77a4ab3ccf | |||
![]() |
c5f5046efd | ||
9fd834fbb3 | |||
eae1be548d | |||
edc59cefb6 | |||
f879c20f72 | |||
![]() |
d9192aaa6d | ||
![]() |
b0cc8e8dde | ||
ecfcf1b97b | |||
2221cfc044 | |||
d88ebd31d6 | |||
f0dc4d67e5 | |||
45dbd69296 | |||
8daaf71688 | |||
fe3110a285 | |||
f4912e7f5b | |||
a243a9dc79 | |||
c30fdb9cf5 | |||
dba7837d44 | |||
8930395912 | |||
4263919270 | |||
fd36221930 | |||
![]() |
b848de7546 | ||
ad39c0f312 | |||
396816faac | |||
491fc5cace | |||
1324db0ad1 | |||
5025a3833a | |||
![]() |
4710582f8f | ||
93a629f147 | |||
76aba51a21 | |||
b1b5b48d53 | |||
75ad8da1ea | |||
27eea5e69e | |||
ae7ef8bcc6 | |||
f613614fce | |||
a55163c880 | |||
23b776e5b3 | |||
9f1d7d930d | |||
939b63bcd6 | |||
6f9cfb037a | |||
8ee020d11f | |||
29f342774c | |||
bdd34f4fa2 | |||
2c5a525d64 | |||
31ba4dd82e | |||
b50c475cd2 | |||
0a5e8a6342 | |||
246df68095 | |||
ea7570989d | |||
0cd56b7a36 | |||
9579e3eef2 | |||
85a743e08b | |||
e8c7866608 | |||
a14a152024 | |||
8f5df25f33 | |||
e6e57cebec | |||
adb49ffa24 | |||
cfcc728de6 | |||
b751c28f78 | |||
9f11129d28 | |||
2761f7c4a5 | |||
6ce95c34ae | |||
dd6f7c1318 | |||
982fb66fb1 | |||
17a20ed7fe | |||
485c5abedc | |||
ab1c36ad3f | |||
57090a4b72 | |||
e41abf9e26 | |||
4ee2504eff | |||
9437abdbce | |||
b08301c865 | |||
f56488c20f | |||
e378bd70ed | |||
42def76831 | |||
e4f9c50928 | |||
95a792a633 | |||
f53bd17836 | |||
312e42708f | |||
18abc2feaa | |||
![]() |
f95de78ca2 | ||
6a47862215 | |||
54aec4629e | |||
d72c7eefd1 | |||
014ffc4615 | |||
85d92afbd4 | |||
dbd3822329 | |||
db68e2d4d3 | |||
d17858cb37 | |||
baf8b3bb88 | |||
![]() |
3e1152428d | ||
![]() |
9c0d822737 | ||
719513dd9f | |||
40bc5aa7e5 | |||
8c11c04448 | |||
2bb47e03f7 | |||
9e9ebcdd72 | |||
f06d7c98db | |||
0485baaf98 | |||
9338ab1d62 | |||
178eb5bac5 | |||
05bf5c4e0e | |||
19491e5fc0 | |||
b2bee8416b | |||
c2ca30ea24 | |||
f6b67f92a1 | |||
fe30856d83 | |||
eac8e820f2 | |||
6ce3e0495a | |||
![]() |
19d90c7a33 | ||
![]() |
a9cc10b5bb | ||
![]() |
a3251e66a7 | ||
![]() |
538d4cc998 | ||
![]() |
fc5f7a1e2d | ||
![]() |
ad05b78d09 | ||
07b67894e8 | |||
3552f5d83c | |||
019b930d6b | |||
d5bcc1ef16 | |||
d17db1d11a | |||
46993958fd | |||
b000fc308b | |||
bcbd13201a | |||
874319a344 | |||
c85ca5e365 | |||
0a56198139 | |||
9a7fa1b3e9 | |||
34722fa8a0 | |||
c20e456ee0 | |||
bdd196661e | |||
595b302231 | |||
255c7f26af | |||
83b78b1976 | |||
50ef008c61 | |||
5ee116d448 | |||
0d21b9e2da | |||
fa27a5d066 | |||
a45284b855 | |||
7c5b7713f1 | |||
a55c356a1c | |||
bf1791ba92 | |||
122d6d67e6 | |||
f06a1368bb | |||
6fb4ca1eec | |||
9785f84dd2 | |||
9b57a2ac6a | |||
f898190362 | |||
c50e25c5f0 | |||
237fd48d01 | |||
![]() |
2e61c446ac | ||
![]() |
359d98423e | ||
![]() |
9ec20f2ede | ||
![]() |
a83f2834c7 | ||
18a91ecee7 | |||
3d00ac2961 | |||
ba523bd010 | |||
a92f2931ce | |||
ce4c16b7e2 | |||
ce961c4c2e | |||
![]() |
2744ee2262 | ||
3608af24fd | |||
![]() |
d90a2b0ab7 | ||
6b8bb26c45 | |||
2efdbeb58b | |||
570acac795 | |||
01fb8a555b | |||
62434a9d21 | |||
b20e89f69c | |||
508815cc71 | |||
009047ee0a | |||
8e46ef2fa5 | |||
a84384a56f | |||
4dbb8e96c2 | |||
![]() |
a21d948fd7 | ||
96e1684a9d | |||
3780a40265 | |||
a132b068bc | |||
a0dc062816 | |||
cb45b0bb2a | |||
a5d391919c | |||
04693f9074 | |||
4e3494b588 | |||
81b9a475d3 | |||
8410e7f857 | |||
a63a41177d | |||
c082ebfaa5 | |||
![]() |
be5afe9987 | ||
3494ba3815 | |||
fedef4c13a | |||
bf18032977 | |||
c2dc65dfa4 | |||
bbfb074155 | |||
f68634a379 | |||
![]() |
07d3a3962a | ||
![]() |
937130a294 | ||
ec04870091 | |||
f627abea2d | |||
![]() |
d70ef8dbf1 | ||
904cab0418 | |||
![]() |
d68c47ff34 | ||
53ef52f165 | |||
![]() |
96b6ea9ee6 | ||
0361afb165 | |||
d384ad38bc | |||
2ffc9b72ad | |||
f423c4191f | |||
d8ffb4655c | |||
388bbc3290 | |||
6d27a2ff76 | |||
20883841c7 | |||
70375c96d5 | |||
ebff39d5bb | |||
2dc51fccb8 | |||
4d05a000cb | |||
f8ddf16e5a | |||
cc1ba74ce2 | |||
0b85d6a030 | |||
dcd4eb4c25 | |||
0e90896cba | |||
a5f9f7e2fc | |||
a459018a99 | |||
c1d4105005 | |||
ff324ab716 | |||
fd9b197226 | |||
3124241256 | |||
48b5dcdbe8 | |||
de9f32a666 | |||
38e1b92b7a | |||
7d99c51e17 | |||
bc9548da80 | |||
![]() |
31ccf79011 | ||
658220e815 | |||
64541b242a | |||
87582d95df | |||
995f757049 | |||
16b6116b9d | |||
8f213e7436 | |||
37b02b0432 | |||
adea6681c0 | |||
212b054bb3 | |||
6428c847fd | |||
67dd652557 | |||
979930f8b6 | |||
997ff54d30 | |||
31943d1313 | |||
ea14c48c09 | |||
979b295154 | |||
d486f33d63 | |||
f68e50a263 | |||
7465aa8965 | |||
26f66e1423 | |||
db54b99ee1 | |||
ed0125afe5 | |||
a16ef95ff6 | |||
f450d39ada | |||
644afda7eb | |||
7a12934f1e | |||
e29068aaed | |||
![]() |
587a1b16ae | ||
294e41477b | |||
0808eaf44e | |||
5270610b29 | |||
1af8ddf69f | |||
c82749c0c0 | |||
2ce6ac462b | |||
ca2ca0ce5d | |||
f646a4f22c | |||
ee89f213de | |||
0731d78d00 | |||
ccae00c9e2 | |||
83077d3683 | |||
44ab02fc5c | |||
42b51bf6a9 | |||
9cb061f4f0 | |||
0dee238c8c | |||
2b914a2ecb | |||
cc6bdac921 | |||
997e143a50 | |||
9719fd6964 | |||
![]() |
18e386613c | ||
ce16fa0f4c | |||
2155bdd500 | |||
1c26341464 | |||
ab4926bcff | |||
948f13a8e7 | |||
71071a25a0 | |||
2a33875065 | |||
0302ab4e02 | |||
6b7119f9ed | |||
99dc90accc | |||
5b8e2ebd97 | |||
c5e71cebaa | |||
ab8946f957 | |||
3d9f4012dc | |||
e2f6fb5d35 | |||
2bce3c0ac4 | |||
e028662f78 | |||
6a7917162c | |||
79498d4463 | |||
ea86ec200a | |||
b8c7e93a65 | |||
d57f68616a | |||
6d22aa2f84 | |||
198460f6a4 | |||
caac5686c5 | |||
3d5a4fbcc2 | |||
88c6d824e7 | |||
39615cd3b7 | |||
5f0120cd35 | |||
0197b524e4 | |||
46f991dbae | |||
6b0e769d14 | |||
09ee781a67 | |||
587b213fe1 | |||
4d5e8b7caa | |||
e78cd27565 | |||
b768a2bf2f | |||
8842a8c4c3 | |||
90ea1b7643 | |||
fefe7ddf39 | |||
2466b2e43c | |||
730fd0a257 | |||
4c1b250e17 | |||
25501983bb | |||
009f7de619 | |||
![]() |
b132e3b3ce | ||
b5ebc9bb24 | |||
a179246e1f | |||
f95768d1e0 | |||
5e4dcb8cf0 | |||
1a2e2dcddc | |||
5c580ff457 | |||
9f3b0e41bb | |||
3cebc58936 | |||
4aac5b92c1 | |||
65393add52 | |||
918282d391 | |||
7151c2dc3e | |||
1017b493ed | |||
fde628ddb3 | |||
8fa5206ab0 | |||
222b64fcdc | |||
b25c301c15 | |||
396b407c7d | |||
ac51d331df | |||
db1728096a | |||
31b3b07ad7 | |||
f37e8c2e96 | |||
692474ccf9 | |||
b582028b12 | |||
39c9164ea1 | |||
ccc9eef1b9 | |||
f68da703a5 | |||
cfaca0d9ab | |||
2165136740 | |||
b78b6e3cd7 | |||
7cdcb76815 | |||
507b724056 | |||
0b13e7ce0f | |||
![]() |
c17d7ddabe | ||
![]() |
5c1cc79cf4 | ||
429771fed5 | |||
![]() |
18de712257 | ||
313c2e9105 | |||
19dc2157cd | |||
249acdf529 | |||
![]() |
133dde41bb | ||
ae081b2de1 | |||
d602d4f15f | |||
5ce72bba7e | |||
b99cdf7472 | |||
b7d27ce914 | |||
cb7e36cfa5 | |||
6c4c09b2df | |||
98670cfe82 | |||
68a0846021 | |||
3f9febcabf | |||
412fdc9698 | |||
9f753e5649 | |||
8fa8cea8e0 | |||
d7f124f06f | |||
71f9fbcf35 | |||
85d9f12339 | |||
7b08298927 | |||
01f4b9b32d | |||
57613630c7 | |||
fdf1837120 | |||
eae2917fde | |||
2b639f671f | |||
2b85151a32 | |||
863cd1ea8e | |||
e97443478e | |||
4067e6bc41 | |||
3d1594417b | |||
6fdddae2b0 | |||
01a38c2be9 | |||
0ed4865fd0 | |||
0ad8f3ff58 | |||
1fc5dc3bf3 | |||
48143ab001 | |||
b1cc2a48f2 | |||
2e1a479e29 | |||
d1d2946f59 | |||
07200eaa85 | |||
745851e26b | |||
1bacd09abb | |||
719ad4f93f | |||
9bdde6ca96 | |||
6d52975019 | |||
7540842ca7 | |||
ca5062071c | |||
008070e16c | |||
1a34bbc27c | |||
da363d831b | |||
bbb389589a | |||
56ae4089eb | |||
7e7c6bc468 | |||
b0bf10889b | |||
33ce83984d | |||
33b3645d97 | |||
9eb1d62ba6 | |||
![]() |
c47b6978e3 | ||
19bb30baf6 | |||
5758d114c1 | |||
d96859c5b1 | |||
7a9fce28c0 | |||
70041ced14 | |||
6e26d0645e | |||
0940719b5a | |||
baba5d2214 | |||
653e3e2689 | |||
bcabd04e32 | |||
a059b1b0f1 | |||
99c5146e9a | |||
4ed649352f | |||
c02ec74405 | |||
143e74c0b8 | |||
e010890e82 | |||
95003c99d9 | |||
d961119563 | |||
57a20b6d52 | |||
5b4efaeeb3 | |||
3a65d2f591 | |||
5a504a0d9d | |||
ea384fc096 | |||
6cd441fdac | |||
41733a9c08 | |||
3ccf4a3944 | |||
b0bcdcdbef | |||
179008f57a | |||
c935a06edb | |||
b0810f788c | |||
ee56c46c15 | |||
5d481d9e55 | |||
![]() |
9fa4ceb340 | ||
![]() |
42485b01d2 | ||
![]() |
beeeb6da30 | ||
3f5dfbf681 | |||
3a41e0f611 | |||
828525b268 | |||
4ecc7cf14a | |||
e47c75aa6e | |||
136ea84d9a | |||
162f0dcb2f | |||
1aff91b1a7 | |||
b43bdd8ba2 | |||
86ade3df56 | |||
90f1d1f4b6 | |||
4d8c634820 | |||
0f7433a4c8 | |||
f428fe774b | |||
7e0fb88a68 | |||
4fa478c724 | |||
784ea87375 | |||
75064c7024 | |||
ae342e00ca | |||
471636ffcd | |||
cf8cf884d1 | |||
f8e871168a | |||
50a3004328 | |||
a067e59004 | |||
61a9ee88a3 | |||
69251411bc | |||
fb1f756bd1 | |||
90e1c892b7 | |||
19fa05d37c | |||
95185f6e7e | |||
219a71a427 | |||
5156e12a0a | |||
5e54c0cbf1 | |||
095f016fc0 | |||
1dfe4938cd | |||
3f3910966a | |||
a61fdcd349 | |||
9a2680a626 | |||
a37e7e682f | |||
833df7ebc1 | |||
b665ae266d | |||
1770d462cc | |||
1417bf6525 | |||
df1edf2934 | |||
fa2de72f86 | |||
9374a3dbf0 | |||
0869c6b46d | |||
1d5d49775c | |||
9d39948871 | |||
06022f7891 | |||
7aa4b6f93f | |||
69c2c9de0f | |||
900ddd763a | |||
00aa4252c5 | |||
8f17cb2052 | |||
82964294a5 | |||
d742007c8e | |||
2b3f5cb965 | |||
18320355ea | |||
a9c8425de8 | |||
2b6306c1ea | |||
1e13fc105a | |||
803f19b413 | |||
d9ca13066f | |||
8ca67ef025 | |||
8ef0925c83 | |||
27c6f3fca5 | |||
7345fe7c8c | |||
f796b72cf5 | |||
da766dd71c | |||
f71ad78dc1 | |||
85172cb5e1 | |||
e2a783f8eb | |||
265df7b3a6 | |||
f1828d3430 | |||
1496105327 | |||
3f2a1fa87c | |||
63dfc81631 | |||
5724b0dd41 | |||
f42ca488d2 | |||
eb747dbc66 | |||
8513cc6e44 | |||
ffa078a079 | |||
0562c8b250 | |||
182443da4b | |||
2e32a0871f | |||
baeeb1488e | |||
d143e8ff75 |
@@ -61,17 +61,17 @@ ContinuationIndentWidth: 4
|
|||||||
# This tries to match Blender's style as much as possible. One
|
# This tries to match Blender's style as much as possible. One
|
||||||
BreakBeforeBraces: Custom
|
BreakBeforeBraces: Custom
|
||||||
BraceWrapping: {
|
BraceWrapping: {
|
||||||
AfterClass: 'false'
|
AfterClass: 'false',
|
||||||
AfterControlStatement: 'false'
|
AfterControlStatement: 'false',
|
||||||
AfterEnum : 'false'
|
AfterEnum : 'false',
|
||||||
AfterFunction : 'true'
|
AfterFunction : 'true',
|
||||||
AfterNamespace : 'false'
|
AfterNamespace : 'false',
|
||||||
AfterStruct : 'false'
|
AfterStruct : 'false',
|
||||||
AfterUnion : 'false'
|
AfterUnion : 'false',
|
||||||
BeforeCatch : 'true'
|
BeforeCatch : 'true',
|
||||||
BeforeElse : 'true'
|
BeforeElse : 'true',
|
||||||
IndentBraces : 'false'
|
IndentBraces : 'false',
|
||||||
AfterObjCDeclaration: 'true'
|
AfterObjCDeclaration: 'true',
|
||||||
}
|
}
|
||||||
|
|
||||||
# For switch statements, indent the cases.
|
# For switch statements, indent the cases.
|
||||||
@@ -236,6 +236,8 @@ ForEachMacros:
|
|||||||
- LOOP_UNSELECTED_POINTS
|
- LOOP_UNSELECTED_POINTS
|
||||||
- LOOP_VISIBLE_KEYS
|
- LOOP_VISIBLE_KEYS
|
||||||
- LOOP_VISIBLE_POINTS
|
- LOOP_VISIBLE_POINTS
|
||||||
|
- LIGHT_FOREACH_BEGIN_DIRECTIONAL
|
||||||
|
- LIGHT_FOREACH_BEGIN_LOCAL
|
||||||
- LISTBASE_CIRCULAR_BACKWARD_BEGIN
|
- LISTBASE_CIRCULAR_BACKWARD_BEGIN
|
||||||
- LISTBASE_CIRCULAR_FORWARD_BEGIN
|
- LISTBASE_CIRCULAR_FORWARD_BEGIN
|
||||||
- LISTBASE_FOREACH
|
- LISTBASE_FOREACH
|
||||||
|
5
.gitea/default_merge_message/REBASE_TEMPLATE.md
Normal file
5
.gitea/default_merge_message/REBASE_TEMPLATE.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
${CommitTitle}
|
||||||
|
|
||||||
|
${CommitBody}
|
||||||
|
|
||||||
|
Pull Request #${PullRequestIndex}
|
3
.gitea/default_merge_message/SQUASH_TEMPLATE.md
Normal file
3
.gitea/default_merge_message/SQUASH_TEMPLATE.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
${PullRequestTitle}
|
||||||
|
|
||||||
|
Pull Request #${PullRequestIndex}
|
44
.gitea/issue_template/bug.yaml
Normal file
44
.gitea/issue_template/bug.yaml
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
name: Bug Report
|
||||||
|
about: File a bug report
|
||||||
|
labels:
|
||||||
|
- "type::Report"
|
||||||
|
- "status::Needs Triage"
|
||||||
|
- "priority::Normal"
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
### Instructions
|
||||||
|
First time reporting? See [tips](https://wiki.blender.org/wiki/Process/Bug_Reports).
|
||||||
|
|
||||||
|
* Use **Help > Report a Bug** in Blender to fill system information and exact Blender version.
|
||||||
|
* Test [daily builds](https://builder.blender.org/) to verify if the issue is already fixed.
|
||||||
|
* Test [previous versions](https://download.blender.org/release/) to find an older working version.
|
||||||
|
* For feature requests, feedback, questions or build issues, see [communication channels](https://wiki.blender.org/wiki/Communication/Contact#User_Feedback_and_Requests).
|
||||||
|
* If there are multiple bugs, make multiple bug reports.
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: body
|
||||||
|
attributes:
|
||||||
|
label: "Description"
|
||||||
|
hide_label: true
|
||||||
|
value: |
|
||||||
|
**System Information**
|
||||||
|
Operating system:
|
||||||
|
Graphics card:
|
||||||
|
|
||||||
|
**Blender Version**
|
||||||
|
Broken: (example: 2.80, edbf15d3c044, master, 2018-11-28, as found on the splash screen)
|
||||||
|
Worked: (newest version of Blender that worked as expected)
|
||||||
|
|
||||||
|
**Short description of error**
|
||||||
|
|
||||||
|
**Exact steps for others to reproduce the error**
|
||||||
|
Based on the default startup or an attached .blend file (as simple as possible).
|
||||||
|
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
### Help the developers
|
||||||
|
|
||||||
|
Bug fixing is important, the developers will handle reports swiftly. For that reason, carefully provide exact steps and a **small and simple .blend file** to reproduce the problem. You do your half of the work, then we do our half!
|
1
.gitea/issue_template/config.yaml
Normal file
1
.gitea/issue_template/config.yaml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
blank_issues_enabled: false
|
10
.gitea/issue_template/design.yaml
Normal file
10
.gitea/issue_template/design.yaml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
name: Design
|
||||||
|
about: Create a design task (for developers only)
|
||||||
|
labels:
|
||||||
|
- "type::Design"
|
||||||
|
body:
|
||||||
|
- type: textarea
|
||||||
|
id: body
|
||||||
|
attributes:
|
||||||
|
label: "Description"
|
||||||
|
hide_label: true
|
10
.gitea/issue_template/todo.yaml
Normal file
10
.gitea/issue_template/todo.yaml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
name: To Do
|
||||||
|
about: Create a to do task (for developers only)
|
||||||
|
labels:
|
||||||
|
- "type::To Do"
|
||||||
|
body:
|
||||||
|
- type: textarea
|
||||||
|
id: body
|
||||||
|
attributes:
|
||||||
|
label: "Description"
|
||||||
|
hide_label: true
|
17
.gitea/pull_request_template.yaml
Normal file
17
.gitea/pull_request_template.yaml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
name: Pull Request
|
||||||
|
about: Contribute code to Blender
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
### Instructions
|
||||||
|
|
||||||
|
Guides to [contributing code](https://wiki.blender.org/index.php/Dev:Doc/Process/Contributing_Code) and effective [code review](https://wiki.blender.org/index.php/Dev:Doc/Tools/Code_Review).
|
||||||
|
|
||||||
|
By submitting code here, you agree that the code is (compatible with) GNU GPL v2 or later.
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: body
|
||||||
|
attributes:
|
||||||
|
label: "Description"
|
||||||
|
hide_label: true
|
3
.github/pull_request_template.md
vendored
3
.github/pull_request_template.md
vendored
@@ -1,5 +1,4 @@
|
|||||||
This repository is only used as a mirror of git.blender.org. Blender development happens on
|
This repository is only used as a mirror. Blender development happens on projects.blender.org.
|
||||||
https://developer.blender.org.
|
|
||||||
|
|
||||||
To get started with contributing code, please see:
|
To get started with contributing code, please see:
|
||||||
https://wiki.blender.org/wiki/Process/Contributing_Code
|
https://wiki.blender.org/wiki/Process/Contributing_Code
|
||||||
|
3
.github/stale.yml
vendored
3
.github/stale.yml
vendored
@@ -15,8 +15,7 @@ staleLabel: stale
|
|||||||
# Comment to post when closing a stale Issue or Pull Request.
|
# Comment to post when closing a stale Issue or Pull Request.
|
||||||
closeComment: >
|
closeComment: >
|
||||||
This issue has been automatically closed, because this repository is only
|
This issue has been automatically closed, because this repository is only
|
||||||
used as a mirror of git.blender.org. Blender development happens on
|
used as a mirror. Blender development happens on projects.blender.org.
|
||||||
developer.blender.org.
|
|
||||||
|
|
||||||
To get started contributing code, please read:
|
To get started contributing code, please read:
|
||||||
https://wiki.blender.org/wiki/Process/Contributing_Code
|
https://wiki.blender.org/wiki/Process/Contributing_Code
|
||||||
|
8
.gitmodules
vendored
8
.gitmodules
vendored
@@ -1,20 +1,20 @@
|
|||||||
[submodule "release/scripts/addons"]
|
[submodule "release/scripts/addons"]
|
||||||
path = release/scripts/addons
|
path = release/scripts/addons
|
||||||
url = ../blender-addons.git
|
url = ../blender-addons.git
|
||||||
branch = master
|
branch = main
|
||||||
ignore = all
|
ignore = all
|
||||||
[submodule "release/scripts/addons_contrib"]
|
[submodule "release/scripts/addons_contrib"]
|
||||||
path = release/scripts/addons_contrib
|
path = release/scripts/addons_contrib
|
||||||
url = ../blender-addons-contrib.git
|
url = ../blender-addons-contrib.git
|
||||||
branch = master
|
branch = main
|
||||||
ignore = all
|
ignore = all
|
||||||
[submodule "release/datafiles/locale"]
|
[submodule "release/datafiles/locale"]
|
||||||
path = release/datafiles/locale
|
path = release/datafiles/locale
|
||||||
url = ../blender-translations.git
|
url = ../blender-translations.git
|
||||||
branch = master
|
branch = main
|
||||||
ignore = all
|
ignore = all
|
||||||
[submodule "source/tools"]
|
[submodule "source/tools"]
|
||||||
path = source/tools
|
path = source/tools
|
||||||
url = ../blender-dev-tools.git
|
url = ../blender-dev-tools.git
|
||||||
branch = master
|
branch = main
|
||||||
ignore = all
|
ignore = all
|
||||||
|
164
CMakeLists.txt
164
CMakeLists.txt
@@ -117,15 +117,19 @@ enable_testing()
|
|||||||
# Keep in sync with: https://wiki.blender.org/wiki/Building_Blender
|
# Keep in sync with: https://wiki.blender.org/wiki/Building_Blender
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCC)
|
if(CMAKE_COMPILER_IS_GNUCC)
|
||||||
if("${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "9.3.1")
|
if("${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "11.0.0")
|
||||||
message(FATAL_ERROR "The minimum supported version of GCC is 9.3.1")
|
message(FATAL_ERROR "The minimum supported version of GCC is 11.0.0, found ${CMAKE_C_COMPILER_VERSION}")
|
||||||
endif()
|
endif()
|
||||||
elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||||
if(CMAKE_COMPILER_IS_GNUCC AND ("${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "8.0"))
|
if(CMAKE_COMPILER_IS_GNUCC AND ("${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "8.0"))
|
||||||
message(FATAL_ERROR "The minimum supported version of CLANG is 8.0")
|
message(FATAL_ERROR "The minimum supported version of CLANG is 8.0, found ${CMAKE_C_COMPILER_VERSION}")
|
||||||
endif()
|
endif()
|
||||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES MSVC)
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES MSVC)
|
||||||
if(MSVC_VERSION VERSION_LESS "1928")
|
if(MSVC_VERSION VERSION_LESS "1928")
|
||||||
|
# MSVC_VERSION is an internal version number, it doesn't map to something
|
||||||
|
# the end user would recognize as a version. Because of this, for MSVC we do
|
||||||
|
# not show the found number. When using our make.bat the actual VS version
|
||||||
|
# will be displayed on the console before starting the build, anyway.
|
||||||
message(FATAL_ERROR "The minimum supported version of MSVC is 2019 (16.9.16)")
|
message(FATAL_ERROR "The minimum supported version of MSVC is 2019 (16.9.16)")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
@@ -163,14 +167,26 @@ get_blender_version()
|
|||||||
option(WITH_BLENDER "Build blender (disable to build only the blender player)" ON)
|
option(WITH_BLENDER "Build blender (disable to build only the blender player)" ON)
|
||||||
mark_as_advanced(WITH_BLENDER)
|
mark_as_advanced(WITH_BLENDER)
|
||||||
|
|
||||||
if(APPLE)
|
if(WIN32)
|
||||||
# In future, can be used with `quicklookthumbnailing/qlthumbnailreply` to create file
|
option(WITH_BLENDER_THUMBNAILER "\
|
||||||
# thumbnails for say Finder. Turn it off for now.
|
Build \"BlendThumb.dll\" helper for Windows explorer integration to support extracting \
|
||||||
option(WITH_BLENDER_THUMBNAILER "Build \"blender-thumbnailer\" thumbnail extraction utility" OFF)
|
thumbnails from `.blend` files."
|
||||||
elseif(WIN32)
|
ON
|
||||||
option(WITH_BLENDER_THUMBNAILER "Build \"BlendThumb.dll\" helper for Windows explorer integration" ON)
|
)
|
||||||
else()
|
else()
|
||||||
option(WITH_BLENDER_THUMBNAILER "Build \"blender-thumbnailer\" thumbnail extraction utility" ON)
|
set(_option_default ON)
|
||||||
|
if(APPLE)
|
||||||
|
# In future, can be used with `quicklookthumbnailing/qlthumbnailreply`
|
||||||
|
# to create file thumbnails for say Finder.
|
||||||
|
# Turn it off for now, even though it can build on APPLE, it's not likely to be useful.
|
||||||
|
set(_option_default OFF)
|
||||||
|
endif()
|
||||||
|
option(WITH_BLENDER_THUMBNAILER "\
|
||||||
|
Build stand-alone \"blender-thumbnailer\" command-line thumbnail extraction utility, \
|
||||||
|
intended for use by file-managers to extract PNG images from `.blend` files."
|
||||||
|
${_option_default}
|
||||||
|
)
|
||||||
|
unset(_option_default)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
option(WITH_INTERNATIONAL "Enable I18N (International fonts and text)" ON)
|
option(WITH_INTERNATIONAL "Enable I18N (International fonts and text)" ON)
|
||||||
@@ -210,14 +226,19 @@ option(WITH_BULLET "Enable Bullet (Physics Engine)" ON)
|
|||||||
option(WITH_SYSTEM_BULLET "Use the systems bullet library (currently unsupported due to missing features in upstream!)" )
|
option(WITH_SYSTEM_BULLET "Use the systems bullet library (currently unsupported due to missing features in upstream!)" )
|
||||||
mark_as_advanced(WITH_SYSTEM_BULLET)
|
mark_as_advanced(WITH_SYSTEM_BULLET)
|
||||||
option(WITH_OPENCOLORIO "Enable OpenColorIO color management" ON)
|
option(WITH_OPENCOLORIO "Enable OpenColorIO color management" ON)
|
||||||
|
|
||||||
|
set(_option_default ON)
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
# There's no OpenXR runtime in sight for macOS, neither is code well
|
# There's no OpenXR runtime in sight for macOS, neither is code well
|
||||||
# tested there -> disable it by default.
|
# tested there -> disable it by default.
|
||||||
option(WITH_XR_OPENXR "Enable VR features through the OpenXR specification" OFF)
|
set(_option_default OFF)
|
||||||
mark_as_advanced(WITH_XR_OPENXR)
|
|
||||||
else()
|
|
||||||
option(WITH_XR_OPENXR "Enable VR features through the OpenXR specification" ON)
|
|
||||||
endif()
|
endif()
|
||||||
|
option(WITH_XR_OPENXR "Enable VR features through the OpenXR specification" ${_option_default})
|
||||||
|
if(APPLE)
|
||||||
|
mark_as_advanced(WITH_XR_OPENXR)
|
||||||
|
endif()
|
||||||
|
unset(_option_default)
|
||||||
|
|
||||||
option(WITH_GMP "Enable features depending on GMP (Exact Boolean)" ON)
|
option(WITH_GMP "Enable features depending on GMP (Exact Boolean)" ON)
|
||||||
|
|
||||||
# Compositor
|
# Compositor
|
||||||
@@ -330,6 +351,9 @@ option(WITH_ALEMBIC "Enable Alembic Support" ON)
|
|||||||
# Universal Scene Description support
|
# Universal Scene Description support
|
||||||
option(WITH_USD "Enable Universal Scene Description (USD) Support" ON)
|
option(WITH_USD "Enable Universal Scene Description (USD) Support" ON)
|
||||||
|
|
||||||
|
# MaterialX
|
||||||
|
option(WITH_MATERIALX "Enable MaterialX Support" OFF)
|
||||||
|
|
||||||
# 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)
|
||||||
@@ -346,11 +370,12 @@ else()
|
|||||||
set(WITH_COREAUDIO OFF)
|
set(WITH_COREAUDIO OFF)
|
||||||
endif()
|
endif()
|
||||||
if(NOT WIN32)
|
if(NOT WIN32)
|
||||||
|
set(_option_default ON)
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
option(WITH_JACK "Enable JACK Support (http://www.jackaudio.org)" OFF)
|
set(_option_default OFF)
|
||||||
else()
|
|
||||||
option(WITH_JACK "Enable JACK Support (http://www.jackaudio.org)" ON)
|
|
||||||
endif()
|
endif()
|
||||||
|
option(WITH_JACK "Enable JACK Support (http://www.jackaudio.org)" ${_option_default})
|
||||||
|
unset(_option_default)
|
||||||
option(WITH_JACK_DYNLOAD "Enable runtime dynamic JACK libraries loading" OFF)
|
option(WITH_JACK_DYNLOAD "Enable runtime dynamic JACK libraries loading" OFF)
|
||||||
else()
|
else()
|
||||||
set(WITH_JACK OFF)
|
set(WITH_JACK OFF)
|
||||||
@@ -392,6 +417,26 @@ mark_as_advanced(WITH_SYSTEM_GLOG)
|
|||||||
# Freestyle
|
# Freestyle
|
||||||
option(WITH_FREESTYLE "Enable Freestyle (advanced edges rendering)" ON)
|
option(WITH_FREESTYLE "Enable Freestyle (advanced edges rendering)" ON)
|
||||||
|
|
||||||
|
# Libraries.
|
||||||
|
if(UNIX AND NOT APPLE)
|
||||||
|
# Optionally build without pre-compiled libraries.
|
||||||
|
# NOTE: this could be supported on all platforms however in practice UNIX is the only platform
|
||||||
|
# that has good support for detecting installed libraries.
|
||||||
|
option(WITH_LIBS_PRECOMPILED "\
|
||||||
|
Detect and link against pre-compiled libraries (typically found under \"../lib/\"). \
|
||||||
|
Disabling this option will use the system libraries although cached paths \
|
||||||
|
that point to pre-compiled libraries will be left as-is."
|
||||||
|
ON
|
||||||
|
)
|
||||||
|
mark_as_advanced(WITH_LIBS_PRECOMPILED)
|
||||||
|
|
||||||
|
option(WITH_STATIC_LIBS "Try to link with static libraries, as much as possible, to make blender more portable across distributions" OFF)
|
||||||
|
if(WITH_STATIC_LIBS)
|
||||||
|
option(WITH_BOOST_ICU "Boost uses ICU library (required for linking with static Boost built with libicu)." OFF)
|
||||||
|
mark_as_advanced(WITH_BOOST_ICU)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
# Misc
|
# Misc
|
||||||
if(WIN32 OR APPLE)
|
if(WIN32 OR APPLE)
|
||||||
option(WITH_INPUT_IME "Enable Input Method Editor (IME) for complex Asian character input" ON)
|
option(WITH_INPUT_IME "Enable Input Method Editor (IME) for complex Asian character input" ON)
|
||||||
@@ -399,11 +444,6 @@ endif()
|
|||||||
option(WITH_INPUT_NDOF "Enable NDOF input devices (SpaceNavigator and friends)" ON)
|
option(WITH_INPUT_NDOF "Enable NDOF input devices (SpaceNavigator and friends)" ON)
|
||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
option(WITH_INSTALL_PORTABLE "Install redistributable runtime, otherwise install into CMAKE_INSTALL_PREFIX" ON)
|
option(WITH_INSTALL_PORTABLE "Install redistributable runtime, otherwise install into CMAKE_INSTALL_PREFIX" ON)
|
||||||
option(WITH_STATIC_LIBS "Try to link with static libraries, as much as possible, to make blender more portable across distributions" OFF)
|
|
||||||
if(WITH_STATIC_LIBS)
|
|
||||||
option(WITH_BOOST_ICU "Boost uses ICU library (required for linking with static Boost built with libicu)." OFF)
|
|
||||||
mark_as_advanced(WITH_BOOST_ICU)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
option(WITH_PYTHON_INSTALL "Copy system python into the blender install folder" ON)
|
option(WITH_PYTHON_INSTALL "Copy system python into the blender install folder" ON)
|
||||||
@@ -498,12 +538,14 @@ endif()
|
|||||||
if(NOT APPLE)
|
if(NOT APPLE)
|
||||||
option(WITH_CYCLES_DEVICE_ONEAPI "Enable Cycles oneAPI compute support" OFF)
|
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_BINARIES "Enable Ahead-Of-Time compilation for Cycles oneAPI device" OFF)
|
||||||
|
option(WITH_CYCLES_ONEAPI_HOST_TASK_EXECUTION "Switch target of oneAPI implementation from SYCL devices to Host Task (single thread on CPU). This option is only for debugging purposes." 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
|
# 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
|
||||||
# acm-g10 is the target for the first Intel Arc Alchemist GPUs.
|
# acm-g10 is the target for the first Intel Arc Alchemist GPUs.
|
||||||
set(CYCLES_ONEAPI_SPIR64_GEN_DEVICES "acm-g10" CACHE STRING "oneAPI Intel GPU architectures to build binaries for")
|
set(CYCLES_ONEAPI_SPIR64_GEN_DEVICES "acm-g10" 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")
|
set(CYCLES_ONEAPI_SYCL_TARGETS spir64 spir64_gen CACHE STRING "oneAPI targets to build AOT binaries for")
|
||||||
|
|
||||||
|
mark_as_advanced(WITH_CYCLES_ONEAPI_HOST_TASK_EXECUTION)
|
||||||
mark_as_advanced(CYCLES_ONEAPI_SPIR64_GEN_DEVICES)
|
mark_as_advanced(CYCLES_ONEAPI_SPIR64_GEN_DEVICES)
|
||||||
mark_as_advanced(CYCLES_ONEAPI_SYCL_TARGETS)
|
mark_as_advanced(CYCLES_ONEAPI_SYCL_TARGETS)
|
||||||
endif()
|
endif()
|
||||||
@@ -583,23 +625,21 @@ mark_as_advanced(
|
|||||||
|
|
||||||
# Vulkan
|
# Vulkan
|
||||||
option(WITH_VULKAN_BACKEND "Enable Vulkan as graphics backend (only for development)" OFF)
|
option(WITH_VULKAN_BACKEND "Enable Vulkan as graphics backend (only for development)" OFF)
|
||||||
|
option(WITH_VULKAN_GUARDEDALLOC "Use guardedalloc for host allocations done inside Vulkan (development option)" OFF)
|
||||||
mark_as_advanced(
|
mark_as_advanced(
|
||||||
WITH_VULKAN_BACKEND
|
WITH_VULKAN_BACKEND
|
||||||
|
WITH_VULKAN_GUARDEDALLOC
|
||||||
)
|
)
|
||||||
|
|
||||||
# Metal
|
# Metal
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
option(WITH_METAL_BACKEND "Use Metal for graphics instead of (or as well as) OpenGL on macOS." OFF)
|
option(WITH_METAL_BACKEND "Use Metal for graphics instead of (or as well as) OpenGL on macOS." ON)
|
||||||
mark_as_advanced(WITH_METAL_BACKEND)
|
mark_as_advanced(WITH_METAL_BACKEND)
|
||||||
else()
|
else()
|
||||||
set(WITH_METAL_BACKEND OFF)
|
set(WITH_METAL_BACKEND OFF)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_METAL_BACKEND)
|
|
||||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version" FORCE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
getDefaultWindowsPrefixBase(CMAKE_GENERIC_PROGRAM_FILES)
|
getDefaultWindowsPrefixBase(CMAKE_GENERIC_PROGRAM_FILES)
|
||||||
set(CPACK_INSTALL_PREFIX ${CMAKE_GENERIC_PROGRAM_FILES}/${})
|
set(CPACK_INSTALL_PREFIX ${CMAKE_GENERIC_PROGRAM_FILES}/${})
|
||||||
@@ -746,11 +786,6 @@ if("${CMAKE_GENERATOR}" MATCHES "Ninja")
|
|||||||
mark_as_advanced(WITH_NINJA_POOL_JOBS)
|
mark_as_advanced(WITH_NINJA_POOL_JOBS)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
|
||||||
option(WITH_CXX11_ABI "Use native C++11 ABI of compiler" ON)
|
|
||||||
mark_as_advanced(WITH_CXX11_ABI)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Installation process.
|
# Installation process.
|
||||||
set(POSTINSTALL_SCRIPT "" CACHE FILEPATH "Run given CMake script after installation process")
|
set(POSTINSTALL_SCRIPT "" CACHE FILEPATH "Run given CMake script after installation process")
|
||||||
mark_as_advanced(POSTINSTALL_SCRIPT)
|
mark_as_advanced(POSTINSTALL_SCRIPT)
|
||||||
@@ -832,27 +867,17 @@ endif()
|
|||||||
# enable boost for cycles, audaspace or i18n
|
# enable boost for cycles, audaspace or i18n
|
||||||
# otherwise if the user disabled
|
# otherwise if the user disabled
|
||||||
|
|
||||||
set_and_warn_dependency(WITH_BOOST WITH_CYCLES OFF)
|
|
||||||
set_and_warn_dependency(WITH_BOOST WITH_INTERNATIONAL OFF)
|
set_and_warn_dependency(WITH_BOOST WITH_INTERNATIONAL OFF)
|
||||||
set_and_warn_dependency(WITH_BOOST WITH_OPENVDB OFF)
|
set_and_warn_dependency(WITH_BOOST WITH_OPENVDB OFF)
|
||||||
set_and_warn_dependency(WITH_BOOST WITH_OPENCOLORIO OFF)
|
|
||||||
set_and_warn_dependency(WITH_BOOST WITH_QUADRIFLOW OFF)
|
set_and_warn_dependency(WITH_BOOST WITH_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)
|
|
||||||
if(WITH_CYCLES)
|
if(WITH_CYCLES)
|
||||||
|
set_and_warn_dependency(WITH_BOOST WITH_CYCLES_OSL OFF)
|
||||||
set_and_warn_dependency(WITH_PUGIXML WITH_CYCLES_OSL OFF)
|
set_and_warn_dependency(WITH_PUGIXML WITH_CYCLES_OSL OFF)
|
||||||
endif()
|
endif()
|
||||||
set_and_warn_dependency(WITH_PUGIXML WITH_OPENIMAGEIO OFF)
|
|
||||||
|
|
||||||
if(WITH_BOOST AND NOT (WITH_CYCLES OR WITH_OPENIMAGEIO OR WITH_INTERNATIONAL OR
|
|
||||||
WITH_OPENVDB OR WITH_OPENCOLORIO OR WITH_USD OR WITH_ALEMBIC))
|
|
||||||
message(STATUS "No dependencies need 'WITH_BOOST' forcing WITH_BOOST=OFF")
|
|
||||||
set(WITH_BOOST OFF)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set_and_warn_dependency(WITH_TBB WITH_CYCLES OFF)
|
set_and_warn_dependency(WITH_TBB WITH_CYCLES OFF)
|
||||||
set_and_warn_dependency(WITH_TBB WITH_USD OFF)
|
set_and_warn_dependency(WITH_TBB WITH_USD OFF)
|
||||||
set_and_warn_dependency(WITH_TBB WITH_OPENIMAGEDENOISE OFF)
|
|
||||||
set_and_warn_dependency(WITH_TBB WITH_OPENVDB OFF)
|
set_and_warn_dependency(WITH_TBB WITH_OPENVDB OFF)
|
||||||
set_and_warn_dependency(WITH_TBB WITH_MOD_FLUID OFF)
|
set_and_warn_dependency(WITH_TBB WITH_MOD_FLUID OFF)
|
||||||
|
|
||||||
@@ -861,14 +886,10 @@ set_and_warn_dependency(WITH_OPENVDB WITH_NANOVDB OFF)
|
|||||||
|
|
||||||
# OpenVDB and OpenColorIO uses 'half' type from OpenEXR
|
# OpenVDB and OpenColorIO uses 'half' type from OpenEXR
|
||||||
set_and_warn_dependency(WITH_IMAGE_OPENEXR WITH_OPENVDB OFF)
|
set_and_warn_dependency(WITH_IMAGE_OPENEXR WITH_OPENVDB OFF)
|
||||||
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)
|
||||||
@@ -882,17 +903,6 @@ else()
|
|||||||
set(WITH_CYCLES_OSL OFF)
|
set(WITH_CYCLES_OSL OFF)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# auto enable openimageio linking dependencies
|
|
||||||
if(WITH_OPENIMAGEIO)
|
|
||||||
set(WITH_IMAGE_OPENEXR ON)
|
|
||||||
set(WITH_IMAGE_TIFF ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# auto enable alembic linking dependencies
|
|
||||||
if(WITH_ALEMBIC)
|
|
||||||
set(WITH_IMAGE_OPENEXR ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# don't store paths to libs for portable distribution
|
# don't store paths to libs for portable distribution
|
||||||
if(WITH_INSTALL_PORTABLE)
|
if(WITH_INSTALL_PORTABLE)
|
||||||
set(CMAKE_SKIP_BUILD_RPATH TRUE)
|
set(CMAKE_SKIP_BUILD_RPATH TRUE)
|
||||||
@@ -1018,6 +1028,8 @@ set(PLATFORM_LINKLIBS "")
|
|||||||
# - CMAKE_EXE_LINKER_FLAGS_DEBUG
|
# - CMAKE_EXE_LINKER_FLAGS_DEBUG
|
||||||
set(PLATFORM_LINKFLAGS "")
|
set(PLATFORM_LINKFLAGS "")
|
||||||
set(PLATFORM_LINKFLAGS_DEBUG "")
|
set(PLATFORM_LINKFLAGS_DEBUG "")
|
||||||
|
set(PLATFORM_LINKFLAGS_RELEASE "")
|
||||||
|
set(PLATFORM_LINKFLAGS_EXECUTABLE "")
|
||||||
|
|
||||||
if(NOT CMAKE_BUILD_TYPE MATCHES "Release")
|
if(NOT CMAKE_BUILD_TYPE MATCHES "Release")
|
||||||
if(WITH_COMPILER_ASAN)
|
if(WITH_COMPILER_ASAN)
|
||||||
@@ -1095,14 +1107,6 @@ if(WITH_CYCLES)
|
|||||||
"Configure OIIO or disable WITH_CYCLES"
|
"Configure OIIO or disable WITH_CYCLES"
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
if(NOT WITH_BOOST)
|
|
||||||
message(
|
|
||||||
FATAL_ERROR
|
|
||||||
"Cycles requires WITH_BOOST, the library may not have been found. "
|
|
||||||
"Configure BOOST or disable WITH_CYCLES"
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WITH_CYCLES_OSL)
|
if(WITH_CYCLES_OSL)
|
||||||
if(NOT WITH_LLVM)
|
if(NOT WITH_LLVM)
|
||||||
message(
|
message(
|
||||||
@@ -1239,13 +1243,6 @@ if(WITH_OPENGL)
|
|||||||
add_definitions(-DWITH_OPENGL)
|
add_definitions(-DWITH_OPENGL)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
|
||||||
# Configure Vulkan.
|
|
||||||
|
|
||||||
if(WITH_VULKAN_BACKEND)
|
|
||||||
list(APPEND BLENDER_GL_LIBRARIES ${VULKAN_LIBRARIES})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Configure Metal
|
# Configure Metal
|
||||||
|
|
||||||
@@ -1295,12 +1292,14 @@ endif()
|
|||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Configure Bullet
|
# Configure Bullet
|
||||||
|
|
||||||
if(WITH_BULLET AND WITH_SYSTEM_BULLET)
|
if(WITH_BULLET)
|
||||||
|
if(WITH_SYSTEM_BULLET)
|
||||||
find_package(Bullet)
|
find_package(Bullet)
|
||||||
set_and_warn_library_found("Bullet" BULLET_FOUND WITH_BULLET)
|
set_and_warn_library_found("Bullet" BULLET_FOUND WITH_BULLET)
|
||||||
else()
|
else()
|
||||||
set(BULLET_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/extern/bullet2/src")
|
set(BULLET_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/extern/bullet2/src")
|
||||||
# set(BULLET_LIBRARIES "")
|
set(BULLET_LIBRARIES "extern_bullet")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
@@ -1460,6 +1459,9 @@ if(CMAKE_COMPILER_IS_GNUCC)
|
|||||||
add_check_c_compiler_flag(C_WARNINGS C_WARN_TYPE_LIMITS -Wtype-limits)
|
add_check_c_compiler_flag(C_WARNINGS C_WARN_TYPE_LIMITS -Wtype-limits)
|
||||||
add_check_c_compiler_flag(C_WARNINGS C_WARN_FORMAT_SIGN -Wformat-signedness)
|
add_check_c_compiler_flag(C_WARNINGS C_WARN_FORMAT_SIGN -Wformat-signedness)
|
||||||
add_check_c_compiler_flag(C_WARNINGS C_WARN_RESTRICT -Wrestrict)
|
add_check_c_compiler_flag(C_WARNINGS C_WARN_RESTRICT -Wrestrict)
|
||||||
|
# Useful but too many false positives and inconvenient to suppress each occurrence.
|
||||||
|
add_check_c_compiler_flag(C_WARNINGS C_WARN_NO_STRINGOP_OVERREAD -Wno-stringop-overread)
|
||||||
|
add_check_c_compiler_flag(C_WARNINGS C_WARN_NO_STRINGOP_OVERFLOW -Wno-stringop-overflow)
|
||||||
|
|
||||||
# C-only.
|
# C-only.
|
||||||
add_check_c_compiler_flag(C_WARNINGS C_WARN_NO_NULL -Wnonnull)
|
add_check_c_compiler_flag(C_WARNINGS C_WARN_NO_NULL -Wnonnull)
|
||||||
@@ -1499,6 +1501,9 @@ if(CMAKE_COMPILER_IS_GNUCC)
|
|||||||
add_check_cxx_compiler_flag(CXX_WARNINGS CXX_WARN_RESTRICT -Wrestrict)
|
add_check_cxx_compiler_flag(CXX_WARNINGS CXX_WARN_RESTRICT -Wrestrict)
|
||||||
add_check_cxx_compiler_flag(CXX_WARNINGS CXX_WARN_NO_SUGGEST_OVERRIDE -Wno-suggest-override)
|
add_check_cxx_compiler_flag(CXX_WARNINGS CXX_WARN_NO_SUGGEST_OVERRIDE -Wno-suggest-override)
|
||||||
add_check_cxx_compiler_flag(CXX_WARNINGS CXX_WARN_UNINITIALIZED -Wuninitialized)
|
add_check_cxx_compiler_flag(CXX_WARNINGS CXX_WARN_UNINITIALIZED -Wuninitialized)
|
||||||
|
# Useful but too many false positives and inconvenient to suppress each occurrence.
|
||||||
|
add_check_cxx_compiler_flag(CXX_WARNINGS CXX_WARN_NO_STRINGOP_OVERREAD -Wno-stringop-overread)
|
||||||
|
add_check_cxx_compiler_flag(CXX_WARNINGS CXX_WARN_NO_STRINGOP_OVERFLOW -Wno-stringop-overflow)
|
||||||
|
|
||||||
# causes too many warnings
|
# causes too many warnings
|
||||||
if(NOT APPLE)
|
if(NOT APPLE)
|
||||||
@@ -1718,12 +1723,6 @@ if(
|
|||||||
string(APPEND CMAKE_C_FLAGS " -std=gnu11")
|
string(APPEND CMAKE_C_FLAGS " -std=gnu11")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
|
||||||
if(NOT WITH_CXX11_ABI)
|
|
||||||
string(APPEND PLATFORM_CFLAGS " -D_GLIBCXX_USE_CXX11_ABI=0")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WITH_COMPILER_SHORT_FILE_MACRO)
|
if(WITH_COMPILER_SHORT_FILE_MACRO)
|
||||||
# Use '-fmacro-prefix-map' for Clang and GCC (MSVC doesn't support this).
|
# Use '-fmacro-prefix-map' for Clang and GCC (MSVC doesn't support this).
|
||||||
add_check_c_compiler_flag(C_PREFIX_MAP_FLAGS C_MACRO_PREFIX_MAP -fmacro-prefix-map=foo=bar)
|
add_check_c_compiler_flag(C_PREFIX_MAP_FLAGS C_MACRO_PREFIX_MAP -fmacro-prefix-map=foo=bar)
|
||||||
@@ -1920,6 +1919,7 @@ if(FIRST_RUN)
|
|||||||
info_cfg_option(WITH_QUADRIFLOW)
|
info_cfg_option(WITH_QUADRIFLOW)
|
||||||
info_cfg_option(WITH_TBB)
|
info_cfg_option(WITH_TBB)
|
||||||
info_cfg_option(WITH_USD)
|
info_cfg_option(WITH_USD)
|
||||||
|
info_cfg_option(WITH_MATERIALX)
|
||||||
info_cfg_option(WITH_XR_OPENXR)
|
info_cfg_option(WITH_XR_OPENXR)
|
||||||
|
|
||||||
info_cfg_text("Compiler Options:")
|
info_cfg_text("Compiler Options:")
|
||||||
|
19
GNUmakefile
19
GNUmakefile
@@ -71,6 +71,13 @@ Static Source Code Checking
|
|||||||
* check_mypy: Checks all Python scripts using mypy,
|
* check_mypy: Checks all Python scripts using mypy,
|
||||||
see: source/tools/check_source/check_mypy_config.py scripts which are included.
|
see: source/tools/check_source/check_mypy_config.py scripts which are included.
|
||||||
|
|
||||||
|
Documentation Checking
|
||||||
|
|
||||||
|
* check_wiki_file_structure:
|
||||||
|
Check the WIKI documentation for the source-tree's file structure
|
||||||
|
matches Blender's source-code.
|
||||||
|
See: https://wiki.blender.org/wiki/Source/File_Structure
|
||||||
|
|
||||||
Spell Checkers
|
Spell Checkers
|
||||||
This runs the spell checker from the developer tools repositor.
|
This runs the spell checker from the developer tools repositor.
|
||||||
|
|
||||||
@@ -211,7 +218,7 @@ endif
|
|||||||
# Set the LIBDIR, an empty string when not found.
|
# Set the LIBDIR, an empty string when not found.
|
||||||
LIBDIR:=$(wildcard ../lib/${OS_NCASE}_${CPU})
|
LIBDIR:=$(wildcard ../lib/${OS_NCASE}_${CPU})
|
||||||
ifeq (, $(LIBDIR))
|
ifeq (, $(LIBDIR))
|
||||||
LIBDIR:=$(wildcard ../lib/${OS_NCASE}_centos7_${CPU})
|
LIBDIR:=$(wildcard ../lib/${OS_NCASE}_${CPU}_glibc_228)
|
||||||
endif
|
endif
|
||||||
ifeq (, $(LIBDIR))
|
ifeq (, $(LIBDIR))
|
||||||
LIBDIR:=$(wildcard ../lib/${OS_NCASE})
|
LIBDIR:=$(wildcard ../lib/${OS_NCASE})
|
||||||
@@ -292,7 +299,11 @@ else
|
|||||||
ifneq ("$(wildcard $(DEPS_BUILD_DIR)/build.ninja)","")
|
ifneq ("$(wildcard $(DEPS_BUILD_DIR)/build.ninja)","")
|
||||||
DEPS_BUILD_COMMAND:=ninja
|
DEPS_BUILD_COMMAND:=ninja
|
||||||
else
|
else
|
||||||
|
ifeq ($(OS), Darwin)
|
||||||
DEPS_BUILD_COMMAND:=make -s
|
DEPS_BUILD_COMMAND:=make -s
|
||||||
|
else
|
||||||
|
DEPS_BUILD_COMMAND:="$(BLENDER_DIR)/build_files/build_environment/linux/make_deps_wrapper.sh" -s
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -391,7 +402,7 @@ endif
|
|||||||
|
|
||||||
deps: .FORCE
|
deps: .FORCE
|
||||||
@echo
|
@echo
|
||||||
@echo Configuring dependencies in \"$(DEPS_BUILD_DIR)\"
|
@echo Configuring dependencies in \"$(DEPS_BUILD_DIR)\", install to \"$(DEPS_INSTALL_DIR)\"
|
||||||
|
|
||||||
@cmake -H"$(DEPS_SOURCE_DIR)" \
|
@cmake -H"$(DEPS_SOURCE_DIR)" \
|
||||||
-B"$(DEPS_BUILD_DIR)" \
|
-B"$(DEPS_BUILD_DIR)" \
|
||||||
@@ -481,6 +492,10 @@ check_smatch: .FORCE
|
|||||||
check_mypy: .FORCE
|
check_mypy: .FORCE
|
||||||
@$(PYTHON) "$(BLENDER_DIR)/source/tools/check_source/check_mypy.py"
|
@$(PYTHON) "$(BLENDER_DIR)/source/tools/check_source/check_mypy.py"
|
||||||
|
|
||||||
|
check_wiki_file_structure: .FORCE
|
||||||
|
@PYTHONIOENCODING=utf_8 $(PYTHON) \
|
||||||
|
"$(BLENDER_DIR)/source/tools/check_wiki/check_wiki_file_structure.py"
|
||||||
|
|
||||||
check_spelling_py: .FORCE
|
check_spelling_py: .FORCE
|
||||||
@cd "$(BUILD_DIR)" ; \
|
@cd "$(BUILD_DIR)" ; \
|
||||||
PYTHONIOENCODING=utf_8 $(PYTHON) \
|
PYTHONIOENCODING=utf_8 $(PYTHON) \
|
||||||
|
38
README.md
Normal file
38
README.md
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<!--
|
||||||
|
Keep this document short & concise,
|
||||||
|
linking to external resources instead of including content in-line.
|
||||||
|
See 'release/text/readme.html' for the end user read-me.
|
||||||
|
-->
|
||||||
|
|
||||||
|
Blender
|
||||||
|
=======
|
||||||
|
|
||||||
|
Blender is the free and open source 3D creation suite.
|
||||||
|
It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing,
|
||||||
|
motion tracking and video editing.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Project Pages
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- [Main Website](http://www.blender.org)
|
||||||
|
- [Reference Manual](https://docs.blender.org/manual/en/latest/index.html)
|
||||||
|
- [User Community](https://www.blender.org/community/)
|
||||||
|
|
||||||
|
Development
|
||||||
|
-----------
|
||||||
|
|
||||||
|
- [Build Instructions](https://wiki.blender.org/wiki/Building_Blender)
|
||||||
|
- [Code Review & Bug Tracker](https://projects.blender.org)
|
||||||
|
- [Developer Forum](https://devtalk.blender.org)
|
||||||
|
- [Developer Documentation](https://wiki.blender.org)
|
||||||
|
|
||||||
|
|
||||||
|
License
|
||||||
|
-------
|
||||||
|
|
||||||
|
Blender as a whole is licensed under the GNU General Public License, Version 3.
|
||||||
|
Individual files may have a different, but compatible license.
|
||||||
|
|
||||||
|
See [blender.org/about/license](https://www.blender.org/about/license) for details.
|
@@ -26,7 +26,9 @@
|
|||||||
|
|
||||||
project("BlenderDependencies")
|
project("BlenderDependencies")
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
if(POLICY CMP0135)
|
||||||
|
cmake_policy(SET CMP0135 NEW) # CMake 3.24+ Set the date/time for extracted files to time of extraction
|
||||||
|
endif()
|
||||||
include(ExternalProject)
|
include(ExternalProject)
|
||||||
include(cmake/check_software.cmake)
|
include(cmake/check_software.cmake)
|
||||||
include(cmake/options.cmake)
|
include(cmake/options.cmake)
|
||||||
@@ -42,7 +44,7 @@ if(ENABLE_MINGW64)
|
|||||||
else()
|
else()
|
||||||
set(mingw_LIBDIR ${LIBDIR})
|
set(mingw_LIBDIR ${LIBDIR})
|
||||||
endif()
|
endif()
|
||||||
|
include(cmake/ssl.cmake)
|
||||||
include(cmake/zlib.cmake)
|
include(cmake/zlib.cmake)
|
||||||
include(cmake/zstd.cmake)
|
include(cmake/zstd.cmake)
|
||||||
include(cmake/openal.cmake)
|
include(cmake/openal.cmake)
|
||||||
@@ -66,18 +68,16 @@ endif()
|
|||||||
if(UNIX)
|
if(UNIX)
|
||||||
include(cmake/nasm.cmake)
|
include(cmake/nasm.cmake)
|
||||||
endif()
|
endif()
|
||||||
include(cmake/openimageio.cmake)
|
|
||||||
include(cmake/tiff.cmake)
|
include(cmake/tiff.cmake)
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
include(cmake/flexbison.cmake)
|
include(cmake/flexbison.cmake)
|
||||||
elseif(UNIX AND NOT APPLE)
|
elseif(UNIX AND NOT APPLE)
|
||||||
include(cmake/flex.cmake)
|
include(cmake/flex.cmake)
|
||||||
endif()
|
endif()
|
||||||
include(cmake/osl.cmake)
|
|
||||||
include(cmake/tbb.cmake)
|
include(cmake/tbb.cmake)
|
||||||
include(cmake/openvdb.cmake)
|
|
||||||
include(cmake/python.cmake)
|
include(cmake/python.cmake)
|
||||||
include(cmake/llvm.cmake)
|
include(cmake/llvm.cmake)
|
||||||
|
include(cmake/osl.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)
|
||||||
@@ -86,7 +86,10 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
include(cmake/python_site_packages.cmake)
|
include(cmake/python_site_packages.cmake)
|
||||||
include(cmake/package_python.cmake)
|
include(cmake/package_python.cmake)
|
||||||
|
include(cmake/openimageio.cmake)
|
||||||
include(cmake/usd.cmake)
|
include(cmake/usd.cmake)
|
||||||
|
include(cmake/materialx.cmake)
|
||||||
|
include(cmake/openvdb.cmake)
|
||||||
include(cmake/potrace.cmake)
|
include(cmake/potrace.cmake)
|
||||||
include(cmake/haru.cmake)
|
include(cmake/haru.cmake)
|
||||||
# Boost needs to be included after `python.cmake` due to the PYTHON_BINARY variable being needed.
|
# Boost needs to be included after `python.cmake` due to the PYTHON_BINARY variable being needed.
|
||||||
@@ -100,6 +103,8 @@ include(cmake/fmt.cmake)
|
|||||||
include(cmake/robinmap.cmake)
|
include(cmake/robinmap.cmake)
|
||||||
include(cmake/xml2.cmake)
|
include(cmake/xml2.cmake)
|
||||||
|
|
||||||
|
include(cmake/fribidi.cmake)
|
||||||
|
include(cmake/harfbuzz.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)
|
if(NOT WIN32 OR BUILD_MODE STREQUAL Release)
|
||||||
@@ -117,6 +122,7 @@ endif()
|
|||||||
include(cmake/expat.cmake)
|
include(cmake/expat.cmake)
|
||||||
include(cmake/pystring.cmake)
|
include(cmake/pystring.cmake)
|
||||||
include(cmake/yamlcpp.cmake)
|
include(cmake/yamlcpp.cmake)
|
||||||
|
include(cmake/minizipng.cmake)
|
||||||
include(cmake/opencolorio.cmake)
|
include(cmake/opencolorio.cmake)
|
||||||
|
|
||||||
if(BLENDER_PLATFORM_ARM)
|
if(BLENDER_PLATFORM_ARM)
|
||||||
@@ -164,7 +170,6 @@ if(UNIX)
|
|||||||
include(cmake/bzip2.cmake)
|
include(cmake/bzip2.cmake)
|
||||||
include(cmake/ffi.cmake)
|
include(cmake/ffi.cmake)
|
||||||
include(cmake/lzma.cmake)
|
include(cmake/lzma.cmake)
|
||||||
include(cmake/ssl.cmake)
|
|
||||||
include(cmake/sqlite.cmake)
|
include(cmake/sqlite.cmake)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -176,6 +181,9 @@ if(UNIX AND NOT APPLE)
|
|||||||
include(cmake/wayland.cmake)
|
include(cmake/wayland.cmake)
|
||||||
include(cmake/wayland_libdecor.cmake)
|
include(cmake/wayland_libdecor.cmake)
|
||||||
endif()
|
endif()
|
||||||
|
include(cmake/shaderc_deps.cmake)
|
||||||
|
include(cmake/shaderc.cmake)
|
||||||
|
include(cmake/vulkan.cmake)
|
||||||
|
include(cmake/pybind11.cmake)
|
||||||
include(cmake/harvest.cmake)
|
include(cmake/harvest.cmake)
|
||||||
include(cmake/cve_check.cmake)
|
include(cmake/cve_check.cmake)
|
||||||
|
@@ -17,6 +17,7 @@ ExternalProject_Add(external_alembic
|
|||||||
URL file://${PACKAGE_DIR}/${ALEMBIC_FILE}
|
URL file://${PACKAGE_DIR}/${ALEMBIC_FILE}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${ALEMBIC_HASH_TYPE}=${ALEMBIC_HASH}
|
URL_HASH ${ALEMBIC_HASH_TYPE}=${ALEMBIC_HASH}
|
||||||
|
CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR}
|
||||||
PREFIX ${BUILD_DIR}/alembic
|
PREFIX ${BUILD_DIR}/alembic
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/alembic -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${ALEMBIC_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/alembic -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${ALEMBIC_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/alembic
|
INSTALL_DIR ${LIBDIR}/alembic
|
||||||
@@ -41,6 +42,5 @@ endif()
|
|||||||
|
|
||||||
add_dependencies(
|
add_dependencies(
|
||||||
external_alembic
|
external_alembic
|
||||||
external_openexr
|
|
||||||
external_imath
|
external_imath
|
||||||
)
|
)
|
||||||
|
@@ -38,19 +38,3 @@ if(WIN32)
|
|||||||
external_pthreads
|
external_pthreads
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_blosc after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/blosc/lib/libblosc.lib ${HARVEST_TARGET}/blosc/lib/libblosc.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/blosc/include/ ${HARVEST_TARGET}/blosc/include/
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_blosc after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/blosc/lib/libblosc_d.lib ${HARVEST_TARGET}/blosc/lib/libblosc_d.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
@@ -3,8 +3,18 @@
|
|||||||
if(WIN32)
|
if(WIN32)
|
||||||
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)
|
||||||
set(BOOST_HARVEST_CMD ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/boost/lib/ ${HARVEST_TARGET}/boost/lib/ )
|
if(BUILD_MODE STREQUAL Debug)
|
||||||
|
list(APPEND BOOST_BUILD_OPTIONS python-debugging=on variant=debug)
|
||||||
|
if(WITH_OPTIMIZED_DEBUG)
|
||||||
|
list(APPEND BOOST_BUILD_OPTIONS debug-symbols=off)
|
||||||
|
else()
|
||||||
|
list(APPEND BOOST_BUILD_OPTIONS debug-symbols=on)
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
list(APPEND BOOST_BUILD_OPTIONS variant=release)
|
||||||
|
endif()
|
||||||
|
set(BOOST_HARVEST_CMD ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/boost/lib/ ${HARVEST_TARGET}/boost/lib/)
|
||||||
if(BUILD_MODE STREQUAL Release)
|
if(BUILD_MODE STREQUAL Release)
|
||||||
set(BOOST_HARVEST_CMD ${BOOST_HARVEST_CMD} && ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/boost/include/boost-${BOOST_VERSION_NODOTS_SHORT}/ ${HARVEST_TARGET}/boost/include/)
|
set(BOOST_HARVEST_CMD ${BOOST_HARVEST_CMD} && ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/boost/include/boost-${BOOST_VERSION_NODOTS_SHORT}/ ${HARVEST_TARGET}/boost/include/)
|
||||||
endif()
|
endif()
|
||||||
@@ -13,28 +23,24 @@ elseif(APPLE)
|
|||||||
set(BOOST_BUILD_COMMAND ./b2)
|
set(BOOST_BUILD_COMMAND ./b2)
|
||||||
set(BOOST_BUILD_OPTIONS toolset=clang-darwin cxxflags=${PLATFORM_CXXFLAGS} linkflags=${PLATFORM_LDFLAGS} visibility=global --disable-icu boost.locale.icu=off)
|
set(BOOST_BUILD_OPTIONS toolset=clang-darwin cxxflags=${PLATFORM_CXXFLAGS} linkflags=${PLATFORM_LDFLAGS} visibility=global --disable-icu boost.locale.icu=off)
|
||||||
set(BOOST_HARVEST_CMD echo .)
|
set(BOOST_HARVEST_CMD echo .)
|
||||||
set(BOOST_PATCH_COMMAND echo .)
|
|
||||||
else()
|
else()
|
||||||
set(BOOST_HARVEST_CMD echo .)
|
set(BOOST_HARVEST_CMD echo .)
|
||||||
set(BOOST_CONFIGURE_COMMAND ./bootstrap.sh)
|
set(BOOST_CONFIGURE_COMMAND ./bootstrap.sh)
|
||||||
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 .)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_BOOST_PYTHON)
|
set(JAM_FILE ${BUILD_DIR}/boost.user-config.jam)
|
||||||
set(JAM_FILE ${BUILD_DIR}/boost.user-config.jam)
|
configure_file(${PATCH_DIR}/boost.user.jam.in ${JAM_FILE})
|
||||||
configure_file(${PATCH_DIR}/boost.user.jam.in ${JAM_FILE})
|
set(BOOST_PYTHON_OPTIONS
|
||||||
set(BOOST_PYTHON_OPTIONS
|
|
||||||
--with-python
|
--with-python
|
||||||
--user-config=${JAM_FILE}
|
--user-config=${JAM_FILE}
|
||||||
)
|
)
|
||||||
if(WIN32 AND BUILD_MODE STREQUAL Debug)
|
if(WIN32 AND BUILD_MODE STREQUAL Debug)
|
||||||
set(BOOST_PYTHON_OPTIONS
|
set(BOOST_PYTHON_OPTIONS
|
||||||
${BOOST_PYTHON_OPTIONS}
|
${BOOST_PYTHON_OPTIONS}
|
||||||
define=BOOST_DEBUG_PYTHON
|
define=BOOST_DEBUG_PYTHON
|
||||||
)
|
)
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(BOOST_OPTIONS
|
set(BOOST_OPTIONS
|
||||||
@@ -64,17 +70,15 @@ ExternalProject_Add(external_boost
|
|||||||
URL_HASH ${BOOST_HASH_TYPE}=${BOOST_HASH}
|
URL_HASH ${BOOST_HASH_TYPE}=${BOOST_HASH}
|
||||||
PREFIX ${BUILD_DIR}/boost
|
PREFIX ${BUILD_DIR}/boost
|
||||||
UPDATE_COMMAND ""
|
UPDATE_COMMAND ""
|
||||||
PATCH_COMMAND ${BOOST_PATCH_COMMAND}
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/boost/src/external_boost < ${PATCH_DIR}/boost.diff
|
||||||
CONFIGURE_COMMAND ${BOOST_CONFIGURE_COMMAND}
|
CONFIGURE_COMMAND ${BOOST_CONFIGURE_COMMAND}
|
||||||
BUILD_COMMAND ${BOOST_BUILD_COMMAND} ${BOOST_BUILD_OPTIONS} -j${MAKE_THREADS} architecture=${BOOST_ARCHITECTURE} address-model=${BOOST_ADDRESS_MODEL} link=static threading=multi ${BOOST_OPTIONS} --prefix=${LIBDIR}/boost install
|
BUILD_COMMAND ${BOOST_BUILD_COMMAND} ${BOOST_BUILD_OPTIONS} -j${MAKE_THREADS} architecture=${BOOST_ARCHITECTURE} address-model=${BOOST_ADDRESS_MODEL} link=shared threading=multi ${BOOST_OPTIONS} --prefix=${LIBDIR}/boost install
|
||||||
BUILD_IN_SOURCE 1
|
BUILD_IN_SOURCE 1
|
||||||
INSTALL_COMMAND "${BOOST_HARVEST_CMD}"
|
INSTALL_COMMAND "${BOOST_HARVEST_CMD}"
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WITH_BOOST_PYTHON)
|
add_dependencies(
|
||||||
add_dependencies(
|
|
||||||
external_boost
|
external_boost
|
||||||
external_python
|
external_python
|
||||||
external_numpy
|
external_numpy
|
||||||
)
|
)
|
||||||
endif()
|
|
||||||
|
@@ -20,11 +20,12 @@ endif()
|
|||||||
set(DEFAULT_BOOST_FLAGS
|
set(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=OFF
|
||||||
-DBoost_USE_STATIC_RUNTIME=OFF
|
-DBoost_USE_STATIC_RUNTIME=OFF
|
||||||
-DBOOST_ROOT=${LIBDIR}/boost
|
-DBOOST_ROOT=${LIBDIR}/boost
|
||||||
-DBoost_NO_SYSTEM_PATHS=ON
|
-DBoost_NO_SYSTEM_PATHS=ON
|
||||||
-DBoost_NO_BOOST_CMAKE=ON
|
-DBoost_NO_BOOST_CMAKE=ON
|
||||||
-DBoost_ADDITIONAL_VERSIONS=${BOOST_VERSION_SHORT}
|
-DBoost_ADDITIONAL_VERSIONS=${BOOST_VERSION_SHORT}
|
||||||
-DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/
|
-DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/
|
||||||
|
-DBoost_USE_DEBUG_PYTHON=On
|
||||||
)
|
)
|
||||||
|
@@ -12,13 +12,18 @@ if(UNIX)
|
|||||||
automake
|
automake
|
||||||
bison
|
bison
|
||||||
${_libtoolize_name}
|
${_libtoolize_name}
|
||||||
meson
|
|
||||||
ninja
|
ninja
|
||||||
pkg-config
|
pkg-config
|
||||||
tclsh
|
tclsh
|
||||||
yasm
|
yasm
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(APPLE)
|
||||||
|
list(APPEND _required_software dos2unix)
|
||||||
|
else()
|
||||||
|
list(APPEND _required_software patchelf)
|
||||||
|
endif()
|
||||||
|
|
||||||
foreach(_software ${_required_software})
|
foreach(_software ${_required_software})
|
||||||
find_program(_software_find NAMES ${_software})
|
find_program(_software_find NAMES ${_software})
|
||||||
if(NOT _software_find)
|
if(NOT _software_find)
|
||||||
@@ -46,10 +51,10 @@ if(UNIX)
|
|||||||
" ${_software_missing}\n"
|
" ${_software_missing}\n"
|
||||||
"\n"
|
"\n"
|
||||||
"On Debian and Ubuntu:\n"
|
"On Debian and Ubuntu:\n"
|
||||||
" apt install autoconf automake bison libtool yasm tcl ninja-build meson python3-mako\n"
|
" apt install autoconf automake bison libtool yasm tcl ninja-build meson python3-mako patchelf\n"
|
||||||
"\n"
|
"\n"
|
||||||
"On macOS (with homebrew):\n"
|
"On macOS (with homebrew):\n"
|
||||||
" brew install autoconf automake bison flex libtool meson ninja pkg-config yasm\n"
|
" brew install autoconf automake bison dos2unix flex libtool meson ninja pkg-config yasm\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Other platforms:\n"
|
"Other platforms:\n"
|
||||||
" Install equivalent packages.\n")
|
" Install equivalent packages.\n")
|
||||||
|
@@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
set(SBOMCONTENTS)
|
set(SBOMCONTENTS)
|
||||||
get_cmake_property(_variableNames VARIABLES)
|
get_cmake_property(_variableNames VARIABLES)
|
||||||
foreach (_variableName ${_variableNames})
|
foreach(_variableName ${_variableNames})
|
||||||
if(_variableName MATCHES "CPE$")
|
if(_variableName MATCHES "CPE$")
|
||||||
string(REPLACE ":" ";" CPE_LIST ${${_variableName}})
|
string(REPLACE ":" ";" CPE_LIST ${${_variableName}})
|
||||||
string(REPLACE "_CPE" "_ID" CPE_DEPNAME ${_variableName})
|
string(REPLACE "_CPE" "_ID" CPE_DEPNAME ${_variableName})
|
||||||
|
@@ -16,23 +16,24 @@ function(download_source dep)
|
|||||||
endif()
|
endif()
|
||||||
# Validate all required variables are set and give an explicit error message
|
# Validate all required variables are set and give an explicit error message
|
||||||
# rather than CMake erroring out later on with a more ambigious error.
|
# rather than CMake erroring out later on with a more ambigious error.
|
||||||
if (NOT DEFINED TARGET_FILE)
|
if(NOT DEFINED TARGET_FILE)
|
||||||
message(FATAL_ERROR "${dep}_FILE variable not set")
|
message(FATAL_ERROR "${dep}_FILE variable not set")
|
||||||
endif()
|
endif()
|
||||||
if (NOT DEFINED TARGET_HASH)
|
if(NOT DEFINED TARGET_HASH)
|
||||||
message(FATAL_ERROR "${dep}_HASH variable not set")
|
message(FATAL_ERROR "${dep}_HASH variable not set")
|
||||||
endif()
|
endif()
|
||||||
if (NOT DEFINED TARGET_HASH_TYPE)
|
if(NOT DEFINED TARGET_HASH_TYPE)
|
||||||
message(FATAL_ERROR "${dep}_HASH_TYPE variable not set")
|
message(FATAL_ERROR "${dep}_HASH_TYPE variable not set")
|
||||||
endif()
|
endif()
|
||||||
if (NOT DEFINED TARGET_URI)
|
if(NOT DEFINED TARGET_URI)
|
||||||
message(FATAL_ERROR "${dep}_URI variable not set")
|
message(FATAL_ERROR "${dep}_URI variable not set")
|
||||||
endif()
|
endif()
|
||||||
set(TARGET_FILE ${PACKAGE_DIR}/${TARGET_FILE})
|
set(TARGET_FILE ${PACKAGE_DIR}/${TARGET_FILE})
|
||||||
message("Checking source : ${dep} (${TARGET_FILE})")
|
message("Checking source : ${dep} (${TARGET_FILE})")
|
||||||
if(NOT EXISTS ${TARGET_FILE})
|
if(NOT EXISTS ${TARGET_FILE})
|
||||||
message("Checking source : ${dep} - source not found downloading from ${TARGET_URI}")
|
message("Checking source : ${dep} - source not found downloading from ${TARGET_URI}")
|
||||||
file(DOWNLOAD ${TARGET_URI} ${TARGET_FILE}
|
file(
|
||||||
|
DOWNLOAD ${TARGET_URI} ${TARGET_FILE}
|
||||||
TIMEOUT 1800 # seconds
|
TIMEOUT 1800 # seconds
|
||||||
EXPECTED_HASH ${TARGET_HASH_TYPE}=${TARGET_HASH}
|
EXPECTED_HASH ${TARGET_HASH_TYPE}=${TARGET_HASH}
|
||||||
TLS_VERIFY ON
|
TLS_VERIFY ON
|
||||||
@@ -42,11 +43,11 @@ function(download_source dep)
|
|||||||
if(EXISTS ${TARGET_FILE})
|
if(EXISTS ${TARGET_FILE})
|
||||||
# Sometimes the download fails, but that is not a
|
# Sometimes the download fails, but that is not a
|
||||||
# fail condition for "file(DOWNLOAD" it will warn about
|
# fail condition for "file(DOWNLOAD" it will warn about
|
||||||
# a crc mismatch and just carry on, we need to explicitly
|
# a CRC mismatch and just carry on, we need to explicitly
|
||||||
# catch this and remove the bogus 0 byte file so we can
|
# catch this and remove the bogus 0 byte file so we can
|
||||||
# retry without having to go find the file and manually
|
# retry without having to go find the file and manually
|
||||||
# delete it.
|
# delete it.
|
||||||
file (SIZE ${TARGET_FILE} TARGET_SIZE)
|
file(SIZE ${TARGET_FILE} TARGET_SIZE)
|
||||||
if(${TARGET_SIZE} EQUAL 0)
|
if(${TARGET_SIZE} EQUAL 0)
|
||||||
file(REMOVE ${TARGET_FILE})
|
file(REMOVE ${TARGET_FILE})
|
||||||
message(FATAL_ERROR "for ${TARGET_FILE} file size 0, download likely failed, deleted...")
|
message(FATAL_ERROR "for ${TARGET_FILE} file size 0, download likely failed, deleted...")
|
||||||
@@ -87,6 +88,7 @@ download_source(OPENSUBDIV)
|
|||||||
download_source(SDL)
|
download_source(SDL)
|
||||||
download_source(OPENCOLLADA)
|
download_source(OPENCOLLADA)
|
||||||
download_source(OPENCOLORIO)
|
download_source(OPENCOLORIO)
|
||||||
|
download_source(MINIZIPNG)
|
||||||
download_source(LLVM)
|
download_source(LLVM)
|
||||||
download_source(OPENMP)
|
download_source(OPENMP)
|
||||||
download_source(OPENIMAGEIO)
|
download_source(OPENIMAGEIO)
|
||||||
@@ -125,6 +127,7 @@ download_source(SSL)
|
|||||||
download_source(SQLITE)
|
download_source(SQLITE)
|
||||||
download_source(EMBREE)
|
download_source(EMBREE)
|
||||||
download_source(USD)
|
download_source(USD)
|
||||||
|
download_source(MATERIALX)
|
||||||
download_source(OIDN)
|
download_source(OIDN)
|
||||||
download_source(LIBGLU)
|
download_source(LIBGLU)
|
||||||
download_source(MESA)
|
download_source(MESA)
|
||||||
@@ -163,3 +166,12 @@ download_source(IGC_SPIRV_TRANSLATOR)
|
|||||||
download_source(GMMLIB)
|
download_source(GMMLIB)
|
||||||
download_source(OCLOC)
|
download_source(OCLOC)
|
||||||
download_source(AOM)
|
download_source(AOM)
|
||||||
|
download_source(FRIBIDI)
|
||||||
|
download_source(HARFBUZZ)
|
||||||
|
download_source(SHADERC)
|
||||||
|
download_source(SHADERC_SPIRV_TOOLS)
|
||||||
|
download_source(SHADERC_SPIRV_HEADERS)
|
||||||
|
download_source(SHADERC_GLSLANG)
|
||||||
|
download_source(VULKAN_HEADERS)
|
||||||
|
download_source(VULKAN_LOADER)
|
||||||
|
download_source(PYBIND11)
|
||||||
|
@@ -1,5 +1,9 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
# LLVM does not switch over to cpp17 until llvm 16 and building ealier versions with
|
||||||
|
# MSVC is leading to some crashes in ISPC. Switch back to their default on all platforms
|
||||||
|
# for now.
|
||||||
|
string(REPLACE "-DCMAKE_CXX_STANDARD=17" " " DPCPP_CMAKE_FLAGS "${DEFAULT_CMAKE_FLAGS}")
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(LLVM_GENERATOR "Ninja")
|
set(LLVM_GENERATOR "Ninja")
|
||||||
@@ -79,7 +83,7 @@ ExternalProject_Add(external_dpcpp
|
|||||||
CMAKE_GENERATOR ${LLVM_GENERATOR}
|
CMAKE_GENERATOR ${LLVM_GENERATOR}
|
||||||
SOURCE_SUBDIR llvm
|
SOURCE_SUBDIR llvm
|
||||||
LIST_SEPARATOR ^^
|
LIST_SEPARATOR ^^
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/dpcpp ${DEFAULT_CMAKE_FLAGS} ${DPCPP_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/dpcpp ${DPCPP_CMAKE_FLAGS} ${DPCPP_EXTRA_ARGS}
|
||||||
# CONFIGURE_COMMAND
|
# CONFIGURE_COMMAND
|
||||||
# ${PYTHON_BINARY}
|
# ${PYTHON_BINARY}
|
||||||
# ${BUILD_DIR}/dpcpp/src/external_dpcpp/buildbot/configure.py ${DPCPP_CONFIGURE_ARGS}
|
# ${BUILD_DIR}/dpcpp/src/external_dpcpp/buildbot/configure.py ${DPCPP_CONFIGURE_ARGS}
|
||||||
|
@@ -15,10 +15,11 @@ set(EMBREE_EXTRA_ARGS
|
|||||||
-DTBB_ROOT=${LIBDIR}/tbb
|
-DTBB_ROOT=${LIBDIR}/tbb
|
||||||
)
|
)
|
||||||
|
|
||||||
if (NOT BLENDER_PLATFORM_ARM)
|
if(NOT BLENDER_PLATFORM_ARM)
|
||||||
set(EMBREE_EXTRA_ARGS
|
set(EMBREE_EXTRA_ARGS
|
||||||
${EMBREE_EXTRA_ARGS}
|
${EMBREE_EXTRA_ARGS}
|
||||||
-DEMBREE_MAX_ISA=AVX2)
|
-DEMBREE_MAX_ISA=AVX2
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(TBB_STATIC_LIBRARY)
|
if(TBB_STATIC_LIBRARY)
|
||||||
@@ -63,6 +64,6 @@ if(WIN32)
|
|||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/tasking.lib ${HARVEST_TARGET}/embree/lib/tasking_d.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/tasking.lib ${HARVEST_TARGET}/embree/lib/tasking_d.lib
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
@@ -10,7 +10,7 @@ ExternalProject_Add(external_epoxy
|
|||||||
URL_HASH ${EPOXY_HASH_TYPE}=${EPOXY_HASH}
|
URL_HASH ${EPOXY_HASH_TYPE}=${EPOXY_HASH}
|
||||||
PREFIX ${BUILD_DIR}/epoxy
|
PREFIX ${BUILD_DIR}/epoxy
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/epoxy/src/external_epoxy/ < ${PATCH_DIR}/epoxy.diff
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/epoxy/src/external_epoxy/ < ${PATCH_DIR}/epoxy.diff
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && meson setup --prefix ${LIBDIR}/epoxy --default-library ${EPOXY_LIB_TYPE} --libdir lib ${BUILD_DIR}/epoxy/src/external_epoxy-build ${BUILD_DIR}/epoxy/src/external_epoxy -Dtests=false
|
CONFIGURE_COMMAND ${CONFIGURE_ENV} && ${MESON} setup --prefix ${LIBDIR}/epoxy --default-library ${EPOXY_LIB_TYPE} --libdir lib ${BUILD_DIR}/epoxy/src/external_epoxy-build ${BUILD_DIR}/epoxy/src/external_epoxy -Dtests=false
|
||||||
BUILD_COMMAND ninja
|
BUILD_COMMAND ninja
|
||||||
INSTALL_COMMAND ninja install
|
INSTALL_COMMAND ninja install
|
||||||
)
|
)
|
||||||
@@ -23,3 +23,9 @@ if(BUILD_MODE STREQUAL Release AND WIN32)
|
|||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
external_epoxy
|
||||||
|
# Needed for `MESON`.
|
||||||
|
external_python_site_packages
|
||||||
|
)
|
||||||
|
@@ -1,9 +1,55 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
set(FFMPEG_CFLAGS "-I${mingw_LIBDIR}/lame/include -I${mingw_LIBDIR}/openjpeg/include/ -I${mingw_LIBDIR}/ogg/include -I${mingw_LIBDIR}/vorbis/include -I${mingw_LIBDIR}/theora/include -I${mingw_LIBDIR}/opus/include -I${mingw_LIBDIR}/vpx/include -I${mingw_LIBDIR}/x264/include -I${mingw_LIBDIR}/xvidcore/include -I${mingw_LIBDIR}/zlib/include -I${mingw_LIBDIR}/aom/include")
|
if(WIN32)
|
||||||
set(FFMPEG_LDFLAGS "-L${mingw_LIBDIR}/lame/lib -L${mingw_LIBDIR}/openjpeg/lib -L${mingw_LIBDIR}/ogg/lib -L${mingw_LIBDIR}/vorbis/lib -L${mingw_LIBDIR}/theora/lib -L${mingw_LIBDIR}/opus/lib -L${mingw_LIBDIR}/vpx/lib -L${mingw_LIBDIR}/x264/lib -L${mingw_LIBDIR}/xvidcore/lib -L${mingw_LIBDIR}/zlib/lib -L${mingw_LIBDIR}/aom/lib")
|
set(temp_LIBDIR ${mingw_LIBDIR})
|
||||||
set(FFMPEG_EXTRA_FLAGS --pkg-config-flags=--static --extra-cflags=${FFMPEG_CFLAGS} --extra-ldflags=${FFMPEG_LDFLAGS})
|
else()
|
||||||
set(FFMPEG_ENV PKG_CONFIG_PATH=${mingw_LIBDIR}/openjpeg/lib/pkgconfig:${mingw_LIBDIR}/x264/lib/pkgconfig:${mingw_LIBDIR}/vorbis/lib/pkgconfig:${mingw_LIBDIR}/ogg/lib/pkgconfig:${mingw_LIBDIR}:${mingw_LIBDIR}/vpx/lib/pkgconfig:${mingw_LIBDIR}/theora/lib/pkgconfig:${mingw_LIBDIR}/openjpeg/lib/pkgconfig:${mingw_LIBDIR}/opus/lib/pkgconfig:${mingw_LIBDIR}/aom/lib/pkgconfig:)
|
set(temp_LIBDIR ${LIBDIR})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(FFMPEG_CFLAGS "\
|
||||||
|
-I${temp_LIBDIR}/lame/include \
|
||||||
|
-I${temp_LIBDIR}/openjpeg/include/ \
|
||||||
|
-I${temp_LIBDIR}/ogg/include \
|
||||||
|
-I${temp_LIBDIR}/vorbis/include \
|
||||||
|
-I${temp_LIBDIR}/theora/include \
|
||||||
|
-I${temp_LIBDIR}/opus/include \
|
||||||
|
-I${temp_LIBDIR}/vpx/include \
|
||||||
|
-I${temp_LIBDIR}/x264/include \
|
||||||
|
-I${temp_LIBDIR}/xvidcore/include \
|
||||||
|
-I${temp_LIBDIR}/zlib/include \
|
||||||
|
-I${temp_LIBDIR}/aom/include"
|
||||||
|
)
|
||||||
|
set(FFMPEG_LDFLAGS "\
|
||||||
|
-L${temp_LIBDIR}/lame/lib \
|
||||||
|
-L${temp_LIBDIR}/openjpeg/lib \
|
||||||
|
-L${temp_LIBDIR}/ogg/lib \
|
||||||
|
-L${temp_LIBDIR}/vorbis/lib \
|
||||||
|
-L${temp_LIBDIR}/theora/lib \
|
||||||
|
-L${temp_LIBDIR}/opus/lib \
|
||||||
|
-L${temp_LIBDIR}/vpx/lib \
|
||||||
|
-L${temp_LIBDIR}/x264/lib \
|
||||||
|
-L${temp_LIBDIR}/xvidcore/lib \
|
||||||
|
-L${temp_LIBDIR}/zlib/lib \
|
||||||
|
-L${temp_LIBDIR}/aom/lib"
|
||||||
|
)
|
||||||
|
set(FFMPEG_EXTRA_FLAGS
|
||||||
|
--pkg-config-flags=--static
|
||||||
|
--extra-cflags=${FFMPEG_CFLAGS}
|
||||||
|
--extra-ldflags=${FFMPEG_LDFLAGS}
|
||||||
|
)
|
||||||
|
set(FFMPEG_ENV "PKG_CONFIG_PATH=\
|
||||||
|
${temp_LIBDIR}/openjpeg/lib/pkgconfig:\
|
||||||
|
${temp_LIBDIR}/x264/lib/pkgconfig:\
|
||||||
|
${temp_LIBDIR}/vorbis/lib/pkgconfig:\
|
||||||
|
${temp_LIBDIR}/ogg/lib/pkgconfig:\
|
||||||
|
${temp_LIBDIR}/vpx/lib/pkgconfig:\
|
||||||
|
${temp_LIBDIR}/theora/lib/pkgconfig:\
|
||||||
|
${temp_LIBDIR}/openjpeg/lib/pkgconfig:\
|
||||||
|
${temp_LIBDIR}/opus/lib/pkgconfig:\
|
||||||
|
${temp_LIBDIR}/aom/lib/pkgconfig"
|
||||||
|
)
|
||||||
|
|
||||||
|
unset(temp_LIBDIR)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(FFMPEG_ENV set ${FFMPEG_ENV} &&)
|
set(FFMPEG_ENV set ${FFMPEG_ENV} &&)
|
||||||
|
@@ -1,7 +1,8 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
set(FMT_EXTRA_ARGS
|
set(FMT_EXTRA_ARGS
|
||||||
-DFMT_TEST=Off
|
-DFMT_TEST=OFF
|
||||||
|
-DFMT_DOC=OFF
|
||||||
)
|
)
|
||||||
|
|
||||||
ExternalProject_Add(external_fmt
|
ExternalProject_Add(external_fmt
|
||||||
|
@@ -32,6 +32,10 @@ add_dependencies(
|
|||||||
if(BUILD_MODE STREQUAL Release AND WIN32)
|
if(BUILD_MODE STREQUAL Release AND WIN32)
|
||||||
ExternalProject_Add_Step(external_freetype after_install
|
ExternalProject_Add_Step(external_freetype after_install
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/freetype ${HARVEST_TARGET}/freetype
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/freetype ${HARVEST_TARGET}/freetype
|
||||||
|
# harfbuzz *NEEDS* to find freetype.lib and will not be conviced to take alternative names so just give it
|
||||||
|
# what it wants.
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/freetype/lib/freetype2st.lib ${LIBDIR}/freetype/lib/freetype.lib
|
||||||
|
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
31
build_files/build_environment/cmake/fribidi.cmake
Normal file
31
build_files/build_environment/cmake/fribidi.cmake
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
set(CONFIGURE_ENV ${CONFIGURE_ENV_MSVC})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
ExternalProject_Add(external_fribidi
|
||||||
|
URL file://${PACKAGE_DIR}/${FRIBIDI_FILE}
|
||||||
|
URL_HASH ${FRIBIDI_HASH_TYPE}=${FRIBIDI_HASH}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
PREFIX ${BUILD_DIR}/fribidi
|
||||||
|
CONFIGURE_COMMAND ${MESON} setup --prefix ${LIBDIR}/fribidi -Ddocs=false --default-library static --libdir lib ${BUILD_DIR}/fribidi/src/external_fribidi-build ${BUILD_DIR}/fribidi/src/external_fribidi
|
||||||
|
BUILD_COMMAND ninja
|
||||||
|
INSTALL_COMMAND ninja install
|
||||||
|
INSTALL_DIR ${LIBDIR}/fribidi
|
||||||
|
)
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
external_fribidi
|
||||||
|
external_python
|
||||||
|
# Needed for `MESON`.
|
||||||
|
external_python_site_packages
|
||||||
|
)
|
||||||
|
|
||||||
|
if(BUILD_MODE STREQUAL Release AND WIN32)
|
||||||
|
ExternalProject_Add_Step(external_fribidi after_install
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/fribidi/include ${HARVEST_TARGET}/fribidi/include
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fribidi/lib/libfribidi.a ${HARVEST_TARGET}/fribidi/lib/libfribidi.lib
|
||||||
|
DEPENDEES install
|
||||||
|
)
|
||||||
|
endif()
|
@@ -22,6 +22,14 @@ elseif(UNIX AND NOT APPLE)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Boolean crashes with Arm assembly, see #103423.
|
||||||
|
if(BLENDER_PLATFORM_ARM)
|
||||||
|
set(GMP_OPTIONS
|
||||||
|
${GMP_OPTIONS}
|
||||||
|
--disable-assembly
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
ExternalProject_Add(external_gmp
|
ExternalProject_Add(external_gmp
|
||||||
URL file://${PACKAGE_DIR}/${GMP_FILE}
|
URL file://${PACKAGE_DIR}/${GMP_FILE}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
@@ -45,14 +53,16 @@ if(BUILD_MODE STREQUAL Release AND WIN32)
|
|||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/gmp/bin/libgmp-10.dll ${HARVEST_TARGET}/gmp/lib/libgmp-10.dll
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/gmp/bin/libgmp-10.dll ${HARVEST_TARGET}/gmp/lib/libgmp-10.dll
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-10.lib ${HARVEST_TARGET}/gmp/lib/libgmp-10.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-10.lib ${HARVEST_TARGET}/gmp/lib/libgmp-10.lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/gmp/include ${HARVEST_TARGET}/gmp/include
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/gmp/include ${HARVEST_TARGET}/gmp/include
|
||||||
|
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Debug AND WIN32)
|
if(BUILD_MODE STREQUAL Debug AND WIN32)
|
||||||
ExternalProject_Add_Step(external_gmp after_install
|
ExternalProject_Add_Step(external_gmp after_install
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-3.dll.def ${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-10.def
|
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-3.dll.def ${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-10.def
|
||||||
COMMAND lib /def:${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-10.def /machine:x64 /out:${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-10.lib
|
COMMAND lib /def:${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-10.def /machine:x64 /out:${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-10.lib
|
||||||
|
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
61
build_files/build_environment/cmake/harfbuzz.cmake
Normal file
61
build_files/build_environment/cmake/harfbuzz.cmake
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
set(HARFBUZZ_CONFIGURE_ENV ${CONFIGURE_ENV_MSVC})
|
||||||
|
set(HARFBUZZ_PKG_ENV FREETYPE_DIR=${LIBDIR}/freetype)
|
||||||
|
else()
|
||||||
|
set(HARFBUZZ_CONFIGURE_ENV ${CONFIGURE_ENV})
|
||||||
|
set(HARFBUZZ_PKG_ENV "PKG_CONFIG_PATH=\
|
||||||
|
${LIBDIR}/freetype/lib/pkgconfig:\
|
||||||
|
${LIBDIR}/brotli/lib/pkgconfig:\
|
||||||
|
${LIBDIR}/lib/python3.10/pkgconfig:\
|
||||||
|
$PKG_CONFIG_PATH"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(HARFBUZZ_EXTRA_OPTIONS
|
||||||
|
-Dtests=disabled
|
||||||
|
-Dfreetype=enabled
|
||||||
|
-Dglib=disabled
|
||||||
|
-Dgobject=disabled
|
||||||
|
# Only used for command line utilities,
|
||||||
|
# disable as this would add an addition & unnecessary build-dependency.
|
||||||
|
-Dcairo=disabled
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_harfbuzz
|
||||||
|
URL file://${PACKAGE_DIR}/${HARFBUZZ_FILE}
|
||||||
|
URL_HASH ${HARFBUZZ_HASH_TYPE}=${HARFBUZZ_HASH}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
PREFIX ${BUILD_DIR}/harfbuzz
|
||||||
|
|
||||||
|
CONFIGURE_COMMAND ${HARFBUZZ_CONFIGURE_ENV} &&
|
||||||
|
${CMAKE_COMMAND} -E env ${HARFBUZZ_PKG_ENV}
|
||||||
|
${MESON} setup
|
||||||
|
--prefix ${LIBDIR}/harfbuzz ${HARFBUZZ_EXTRA_OPTIONS}
|
||||||
|
--default-library static
|
||||||
|
--libdir lib
|
||||||
|
${BUILD_DIR}/harfbuzz/src/external_harfbuzz-build
|
||||||
|
${BUILD_DIR}/harfbuzz/src/external_harfbuzz
|
||||||
|
|
||||||
|
BUILD_COMMAND ninja
|
||||||
|
INSTALL_COMMAND ninja install
|
||||||
|
INSTALL_DIR ${LIBDIR}/harfbuzz
|
||||||
|
)
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
external_harfbuzz
|
||||||
|
external_python
|
||||||
|
external_freetype
|
||||||
|
# Needed for `MESON`.
|
||||||
|
external_python_site_packages
|
||||||
|
)
|
||||||
|
|
||||||
|
if(BUILD_MODE STREQUAL Release AND WIN32)
|
||||||
|
ExternalProject_Add_Step(external_harfbuzz after_install
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/harfbuzz/include ${HARVEST_TARGET}/harfbuzz/include
|
||||||
|
# We do not use the subset API currently, so copying only the main library will suffice for now
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/harfbuzz/lib/libharfbuzz.a ${HARVEST_TARGET}/harfbuzz/lib/libharfbuzz.lib
|
||||||
|
DEPENDEES install
|
||||||
|
)
|
||||||
|
endif()
|
@@ -13,15 +13,16 @@ 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 lib-file + copy include.
|
||||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/jpeg/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}/jpeg/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/ &&
|
||||||
# freeglut-> opengl
|
# FREEGLUT -> OPENGL.
|
||||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/freeglut/lib/freeglut_static.lib ${HARVEST_TARGET}/opengl/lib/freeglut_static.lib &&
|
${CMAKE_COMMAND} -E copy ${LIBDIR}/freeglut/lib/freeglut_static.lib ${HARVEST_TARGET}/opengl/lib/freeglut_static.lib &&
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/freeglut/include/ ${HARVEST_TARGET}/opengl/include/ &&
|
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/freeglut/include/ ${HARVEST_TARGET}/opengl/include/ &&
|
||||||
|
|
||||||
DEPENDS
|
DEPENDS
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
@@ -52,19 +53,82 @@ else()
|
|||||||
PATTERN "cmake" EXCLUDE
|
PATTERN "cmake" EXCLUDE
|
||||||
PATTERN "__pycache__" EXCLUDE
|
PATTERN "__pycache__" EXCLUDE
|
||||||
PATTERN "tests" EXCLUDE
|
PATTERN "tests" EXCLUDE
|
||||||
|
PATTERN "meson*" EXCLUDE
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
# Set rpath on shared libraries to $ORIGIN since all will be installed in the same
|
||||||
|
# lib folder, and remove any absolute paths.
|
||||||
|
#
|
||||||
|
# Ideally this would be done as part of the Blender build since it makes assumptions
|
||||||
|
# about where the files will be installed. However it would add patchelf as a new
|
||||||
|
# dependency for building.
|
||||||
|
#
|
||||||
|
# Also removes versioned symlinks, which give errors with macOS notarization.
|
||||||
|
if(APPLE)
|
||||||
|
set(set_rpath_cmd python3 ${CMAKE_CURRENT_SOURCE_DIR}/darwin/set_rpath.py @loader_path)
|
||||||
|
else()
|
||||||
|
set(set_rpath_cmd patchelf --set-rpath $ORIGIN)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
function(harvest_rpath_lib from to pattern)
|
||||||
|
harvest(${from} ${to} ${pattern})
|
||||||
|
|
||||||
|
install(CODE "\
|
||||||
|
cmake_policy(SET CMP0009 NEW)\n
|
||||||
|
file(GLOB_RECURSE shared_libs ${HARVEST_TARGET}/${to}/${pattern}) \n
|
||||||
|
foreach(f \${shared_libs}) \n
|
||||||
|
if(IS_SYMLINK \${f})\n
|
||||||
|
if(APPLE)\n
|
||||||
|
file(REMOVE_RECURSE \${f})
|
||||||
|
endif()\n
|
||||||
|
else()\n
|
||||||
|
execute_process(COMMAND ${set_rpath_cmd} \${f}) \n
|
||||||
|
endif()\n
|
||||||
|
endforeach()")
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
# Set rpath on utility binaries assuming they are run from their install location.
|
||||||
|
function(harvest_rpath_bin from to pattern)
|
||||||
|
harvest(${from} ${to} ${pattern})
|
||||||
|
|
||||||
|
install(CODE "\
|
||||||
|
file(GLOB_RECURSE shared_libs ${HARVEST_TARGET}/${to}/${pattern}) \n
|
||||||
|
foreach(f \${shared_libs}) \n
|
||||||
|
execute_process(COMMAND ${set_rpath_cmd}/../lib; \${f}) \n
|
||||||
|
endforeach()")
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
# Set rpath on Python module to point to the shared libraries folder in the Blender
|
||||||
|
# installation.
|
||||||
|
function(harvest_rpath_python from to pattern)
|
||||||
|
harvest(${from} ${to} ${pattern})
|
||||||
|
|
||||||
|
install(CODE "\
|
||||||
|
file(GLOB_RECURSE shared_libs ${HARVEST_TARGET}/${to}/${pattern}\.so*) \n
|
||||||
|
foreach(f \${shared_libs}) \n
|
||||||
|
if(IS_SYMLINK \${f})\n
|
||||||
|
if(APPLE)\n
|
||||||
|
file(REMOVE_RECURSE \${f})
|
||||||
|
endif()\n
|
||||||
|
else()\n
|
||||||
|
get_filename_component(f_dir \${f} DIRECTORY) \n
|
||||||
|
file(RELATIVE_PATH relative_dir \${f_dir} ${HARVEST_TARGET}) \n
|
||||||
|
execute_process(COMMAND ${set_rpath_cmd}/\${relative_dir}../lib \${f}) \n
|
||||||
|
endif()\n
|
||||||
|
endforeach()")
|
||||||
|
endfunction()
|
||||||
|
|
||||||
harvest(alembic/include alembic/include "*.h")
|
harvest(alembic/include alembic/include "*.h")
|
||||||
harvest(alembic/lib/libAlembic.a alembic/lib/libAlembic.a)
|
harvest(alembic/lib/libAlembic.a alembic/lib/libAlembic.a)
|
||||||
harvest(alembic/bin alembic/bin "*")
|
harvest_rpath_bin(alembic/bin alembic/bin "*")
|
||||||
harvest(brotli/include brotli/include "*.h")
|
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_rpath_lib(boost/lib boost/lib "*${SHAREDLIBEXT}*")
|
||||||
harvest(imath/include imath/include "*.h")
|
harvest(imath/include imath/include "*.h")
|
||||||
harvest(imath/lib imath/lib "*.a")
|
harvest_rpath_lib(imath/lib imath/lib "*${SHAREDLIBEXT}*")
|
||||||
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")
|
||||||
@@ -72,10 +136,14 @@ else()
|
|||||||
harvest(flac/lib sndfile/lib "libFLAC.a")
|
harvest(flac/lib sndfile/lib "libFLAC.a")
|
||||||
harvest(freetype/include freetype/include "*.h")
|
harvest(freetype/include freetype/include "*.h")
|
||||||
harvest(freetype/lib/libfreetype2ST.a freetype/lib/libfreetype.a)
|
harvest(freetype/lib/libfreetype2ST.a freetype/lib/libfreetype.a)
|
||||||
|
harvest(fribidi/include fribidi/include "*.h")
|
||||||
|
harvest(fribidi/lib fribidi/lib "*.a")
|
||||||
harvest(epoxy/include epoxy/include "*.h")
|
harvest(epoxy/include epoxy/include "*.h")
|
||||||
harvest(epoxy/lib epoxy/lib "*.a")
|
harvest(epoxy/lib epoxy/lib "*.a")
|
||||||
harvest(gmp/include gmp/include "*.h")
|
harvest(gmp/include gmp/include "*.h")
|
||||||
harvest(gmp/lib gmp/lib "*.a")
|
harvest(gmp/lib gmp/lib "*.a")
|
||||||
|
harvest(harfbuzz/include harfbuzz/include "*.h")
|
||||||
|
harvest(harfbuzz/lib harfbuzz/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(jpeg/include jpeg/include "*.h")
|
harvest(jpeg/include jpeg/include "*.h")
|
||||||
@@ -83,7 +151,7 @@ else()
|
|||||||
harvest(lame/lib ffmpeg/lib "*.a")
|
harvest(lame/lib ffmpeg/lib "*.a")
|
||||||
if(NOT APPLE)
|
if(NOT APPLE)
|
||||||
harvest(level-zero/include/level_zero level-zero/include/level_zero "*.h")
|
harvest(level-zero/include/level_zero level-zero/include/level_zero "*.h")
|
||||||
harvest(level-zero/lib level-zero/lib "*.so*")
|
harvest(level-zero/lib level-zero/lib "*${SHAREDLIBEXT}*")
|
||||||
endif()
|
endif()
|
||||||
harvest(llvm/bin llvm/bin "clang-format")
|
harvest(llvm/bin llvm/bin "clang-format")
|
||||||
if(BUILD_CLANG_TOOLS)
|
if(BUILD_CLANG_TOOLS)
|
||||||
@@ -96,7 +164,7 @@ else()
|
|||||||
harvest(llvm/lib llvm/lib "libclang*.a")
|
harvest(llvm/lib llvm/lib "libclang*.a")
|
||||||
harvest(llvm/lib/clang llvm/lib/clang "*.h")
|
harvest(llvm/lib/clang llvm/lib/clang "*.h")
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
harvest(openmp/lib openmp/lib "*")
|
harvest(openmp/lib openmp/lib "libomp.dylib")
|
||||||
harvest(openmp/include openmp/include "*.h")
|
harvest(openmp/include openmp/include "*.h")
|
||||||
endif()
|
endif()
|
||||||
if(BLENDER_PLATFORM_ARM)
|
if(BLENDER_PLATFORM_ARM)
|
||||||
@@ -107,16 +175,17 @@ else()
|
|||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
harvest(openal/lib openal/lib "*.a")
|
harvest(openal/lib openal/lib "*.a")
|
||||||
|
|
||||||
harvest(blosc/include blosc/include "*.h")
|
|
||||||
harvest(blosc/lib blosc/lib "*.a")
|
|
||||||
|
|
||||||
harvest(zlib/include zlib/include "*.h")
|
harvest(zlib/include zlib/include "*.h")
|
||||||
harvest(zlib/lib zlib/lib "*.a")
|
harvest(zlib/lib zlib/lib "*.a")
|
||||||
|
|
||||||
harvest(xml2/include xml2/include "*.h")
|
harvest(xml2/include xml2/include "*.h")
|
||||||
harvest(xml2/lib xml2/lib "*.a")
|
harvest(xml2/lib xml2/lib "*.a")
|
||||||
|
|
||||||
harvest(wayland-protocols/share/wayland-protocols wayland-protocols/share/wayland-protocols/ "*.xml")
|
harvest(
|
||||||
|
wayland-protocols/share/wayland-protocols
|
||||||
|
wayland-protocols/share/wayland-protocols/
|
||||||
|
"*.xml"
|
||||||
|
)
|
||||||
harvest(wayland/bin wayland/bin "wayland-scanner")
|
harvest(wayland/bin wayland/bin "wayland-scanner")
|
||||||
harvest(wayland/include wayland/include "*.h")
|
harvest(wayland/include wayland/include "*.h")
|
||||||
harvest(wayland_libdecor/include wayland_libdecor/include "*.h")
|
harvest(wayland_libdecor/include wayland_libdecor/include "*.h")
|
||||||
@@ -127,15 +196,24 @@ else()
|
|||||||
harvest(opencollada/include/opencollada opencollada/include "*.h")
|
harvest(opencollada/include/opencollada opencollada/include "*.h")
|
||||||
harvest(opencollada/lib/opencollada opencollada/lib "*.a")
|
harvest(opencollada/lib/opencollada opencollada/lib "*.a")
|
||||||
harvest(opencolorio/include opencolorio/include "*.h")
|
harvest(opencolorio/include opencolorio/include "*.h")
|
||||||
harvest(opencolorio/lib opencolorio/lib "*.a")
|
harvest_rpath_lib(opencolorio/lib opencolorio/lib "*${SHAREDLIBEXT}*")
|
||||||
harvest(opencolorio/lib/static opencolorio/lib "*.a")
|
harvest_rpath_python(
|
||||||
|
opencolorio/lib/python${PYTHON_SHORT_VERSION}
|
||||||
|
python/lib/python${PYTHON_SHORT_VERSION}
|
||||||
|
"*"
|
||||||
|
)
|
||||||
harvest(openexr/include openexr/include "*.h")
|
harvest(openexr/include openexr/include "*.h")
|
||||||
harvest(openexr/lib openexr/lib "*.a")
|
harvest_rpath_lib(openexr/lib openexr/lib "*${SHAREDLIBEXT}*")
|
||||||
harvest(openimageio/bin openimageio/bin "idiff")
|
harvest_rpath_bin(openimageio/bin openimageio/bin "idiff")
|
||||||
harvest(openimageio/bin openimageio/bin "maketx")
|
harvest_rpath_bin(openimageio/bin openimageio/bin "maketx")
|
||||||
harvest(openimageio/bin openimageio/bin "oiiotool")
|
harvest_rpath_bin(openimageio/bin openimageio/bin "oiiotool")
|
||||||
harvest(openimageio/include openimageio/include "*")
|
harvest(openimageio/include openimageio/include "*")
|
||||||
harvest(openimageio/lib openimageio/lib "*.a")
|
harvest_rpath_lib(openimageio/lib openimageio/lib "*${SHAREDLIBEXT}*")
|
||||||
|
harvest_rpath_python(
|
||||||
|
openimageio/lib/python${PYTHON_SHORT_VERSION}
|
||||||
|
python/lib/python${PYTHON_SHORT_VERSION}
|
||||||
|
"*"
|
||||||
|
)
|
||||||
harvest(openimagedenoise/include openimagedenoise/include "*")
|
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")
|
||||||
@@ -146,13 +224,18 @@ else()
|
|||||||
harvest(openjpeg/include/openjpeg-${OPENJPEG_SHORT_VERSION} 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_rpath_lib(opensubdiv/lib opensubdiv/lib "*${SHAREDLIBEXT}*")
|
||||||
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/include/nanovdb openvdb/include/nanovdb "*.h")
|
||||||
harvest(openvdb/lib openvdb/lib "*.a")
|
harvest_rpath_lib(openvdb/lib openvdb/lib "*${SHAREDLIBEXT}*")
|
||||||
|
harvest_rpath_python(
|
||||||
|
openvdb/lib/python${PYTHON_SHORT_VERSION}
|
||||||
|
python/lib/python${PYTHON_SHORT_VERSION}
|
||||||
|
"*pyopenvdb*"
|
||||||
|
)
|
||||||
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_rpath_bin(osl/bin osl/bin "oslc")
|
||||||
harvest(osl/include osl/include "*.h")
|
harvest(osl/include osl/include "*.h")
|
||||||
harvest(osl/lib osl/lib "*.a")
|
harvest(osl/lib osl/lib "*.a")
|
||||||
harvest(osl/share/OSL/shaders osl/share/OSL/shaders "*.h")
|
harvest(osl/share/OSL/shaders osl/share/OSL/shaders "*.h")
|
||||||
@@ -170,7 +253,7 @@ else()
|
|||||||
harvest(spnav/include spnav/include "*.h")
|
harvest(spnav/include spnav/include "*.h")
|
||||||
harvest(spnav/lib spnav/lib "*.a")
|
harvest(spnav/lib spnav/lib "*.a")
|
||||||
harvest(tbb/include tbb/include "*.h")
|
harvest(tbb/include tbb/include "*.h")
|
||||||
harvest(tbb/lib/libtbb_static.a tbb/lib/libtbb.a)
|
harvest_rpath_lib(tbb/lib tbb/lib "libtbb${SHAREDLIBEXT}")
|
||||||
harvest(theora/lib ffmpeg/lib "*.a")
|
harvest(theora/lib ffmpeg/lib "*.a")
|
||||||
harvest(tiff/include tiff/include "*.h")
|
harvest(tiff/include tiff/include "*.h")
|
||||||
harvest(tiff/lib tiff/lib "*.a")
|
harvest(tiff/lib tiff/lib "*.a")
|
||||||
@@ -183,22 +266,46 @@ else()
|
|||||||
harvest(webp/lib webp/lib "*.a")
|
harvest(webp/lib webp/lib "*.a")
|
||||||
harvest(webp/include webp/include "*.h")
|
harvest(webp/include webp/include "*.h")
|
||||||
harvest(usd/include usd/include "*.h")
|
harvest(usd/include usd/include "*.h")
|
||||||
|
harvest_rpath_lib(usd/lib usd/lib "libusd_ms${SHAREDLIBEXT}")
|
||||||
harvest(usd/lib/usd usd/lib/usd "*")
|
harvest(usd/lib/usd usd/lib/usd "*")
|
||||||
|
harvest_rpath_python(
|
||||||
|
usd/lib/python/pxr
|
||||||
|
python/lib/python${PYTHON_SHORT_VERSION}/site-packages/pxr
|
||||||
|
"*"
|
||||||
|
)
|
||||||
harvest(usd/plugin usd/plugin "*")
|
harvest(usd/plugin usd/plugin "*")
|
||||||
|
harvest(materialx/include materialx/include "*.h")
|
||||||
|
harvest_rpath_lib(materialx/lib materialx/lib "*${SHAREDLIBEXT}*")
|
||||||
|
harvest(materialx/libraries materialx/libraries "*")
|
||||||
|
harvest(materialx/lib/cmake/MaterialX materialx/lib/cmake/MaterialX "*.cmake")
|
||||||
|
harvest_rpath_python(
|
||||||
|
materialx/python/MaterialX
|
||||||
|
python/lib/python${PYTHON_SHORT_VERSION}/site-packages/MaterialX
|
||||||
|
"*"
|
||||||
|
)
|
||||||
|
# We do not need anything from the resources folder, but the MaterialX config
|
||||||
|
# file will complain if the folder does not exist, so just copy the readme.md
|
||||||
|
# files to ensure the folder will exist.
|
||||||
|
harvest(materialx/resources materialx/resources "README.md")
|
||||||
harvest(potrace/include potrace/include "*.h")
|
harvest(potrace/include potrace/include "*.h")
|
||||||
harvest(potrace/lib potrace/lib "*.a")
|
harvest(potrace/lib potrace/lib "*.a")
|
||||||
harvest(haru/include haru/include "*.h")
|
harvest(haru/include haru/include "*.h")
|
||||||
harvest(haru/lib haru/lib "*.a")
|
harvest(haru/lib haru/lib "*.a")
|
||||||
harvest(zstd/include zstd/include "*.h")
|
harvest(zstd/include zstd/include "*.h")
|
||||||
harvest(zstd/lib zstd/lib "*.a")
|
harvest(zstd/lib zstd/lib "*.a")
|
||||||
|
harvest(shaderc shaderc "*")
|
||||||
|
harvest(vulkan_headers vulkan "*")
|
||||||
|
harvest_rpath_lib(vulkan_loader/lib vulkan/lib "*${SHAREDLIBEXT}*")
|
||||||
|
if(APPLE)
|
||||||
|
harvest(vulkan_loader/loader vulkan/loader "*")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
harvest(libglu/lib mesa/lib "*.so*")
|
harvest(libglu/lib mesa/lib "*${SHAREDLIBEXT}*")
|
||||||
harvest(mesa/lib64 mesa/lib "*.so*")
|
harvest(mesa/lib64 mesa/lib "*${SHAREDLIBEXT}*")
|
||||||
|
|
||||||
harvest(dpcpp dpcpp "*")
|
harvest(dpcpp dpcpp "*")
|
||||||
harvest(igc dpcpp/lib/igc "*")
|
harvest(igc dpcpp/lib/igc "*")
|
||||||
harvest(ocloc dpcpp/lib/ocloc "*")
|
harvest(ocloc dpcpp/lib/ocloc "*")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
@@ -40,7 +40,8 @@ ExternalProject_Add(external_igc_llvm
|
|||||||
${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/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}/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/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
|
${PATCH_CMD} -p 1 -d ${IGC_LLVM_SOURCE_DIR} < ${IGC_OPENCL_CLANG_PATCH_DIR}/llvm/0002-Remove-repo-name-in-LLVM-IR.patch &&
|
||||||
|
${PATCH_CMD} -p 1 -d ${IGC_LLVM_SOURCE_DIR} < ${IGC_OPENCL_CLANG_PATCH_DIR}/llvm/0003-Add-missing-include-limit-in-benchmark.patch
|
||||||
)
|
)
|
||||||
add_dependencies(
|
add_dependencies(
|
||||||
external_igc_llvm
|
external_igc_llvm
|
||||||
@@ -55,9 +56,6 @@ ExternalProject_Add(external_igc_spirv_translator
|
|||||||
CONFIGURE_COMMAND echo .
|
CONFIGURE_COMMAND echo .
|
||||||
BUILD_COMMAND echo .
|
BUILD_COMMAND echo .
|
||||||
INSTALL_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(
|
add_dependencies(
|
||||||
external_igc_spirv_translator
|
external_igc_spirv_translator
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
set(IMATH_EXTRA_ARGS
|
set(IMATH_EXTRA_ARGS
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
-DBUILD_SHARED_LIBS=ON
|
||||||
-DBUILD_TESTING=OFF
|
-DBUILD_TESTING=OFF
|
||||||
-DIMATH_LIB_SUFFIX=${OPENEXR_VERSION_BUILD_POSTFIX}
|
-DIMATH_LIB_SUFFIX=${OPENEXR_VERSION_BUILD_POSTFIX}
|
||||||
)
|
)
|
||||||
@@ -11,6 +11,7 @@ ExternalProject_Add(external_imath
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${IMATH_HASH_TYPE}=${IMATH_HASH}
|
URL_HASH ${IMATH_HASH_TYPE}=${IMATH_HASH}
|
||||||
PREFIX ${BUILD_DIR}/imath
|
PREFIX ${BUILD_DIR}/imath
|
||||||
|
CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR}
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/imath ${DEFAULT_CMAKE_FLAGS} ${IMATH_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/imath ${DEFAULT_CMAKE_FLAGS} ${IMATH_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/imath
|
INSTALL_DIR ${LIBDIR}/imath
|
||||||
)
|
)
|
||||||
@@ -19,6 +20,7 @@ if(WIN32)
|
|||||||
ExternalProject_Add_Step(external_imath after_install
|
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/lib ${HARVEST_TARGET}/imath/lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/imath/include ${HARVEST_TARGET}/imath/include
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/imath/include ${HARVEST_TARGET}/imath/include
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/imath/bin/imath${OPENEXR_VERSION_POSTFIX}.dll ${HARVEST_TARGET}/imath/bin/imath${OPENEXR_VERSION_POSTFIX}.dll
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -13,9 +13,11 @@ if(APPLE)
|
|||||||
)
|
)
|
||||||
set(LLVM_BUILD_CLANG_TOOLS_EXTRA ^^clang-tools-extra)
|
set(LLVM_BUILD_CLANG_TOOLS_EXTRA ^^clang-tools-extra)
|
||||||
set(BUILD_CLANG_TOOLS ON)
|
set(BUILD_CLANG_TOOLS ON)
|
||||||
|
else()
|
||||||
|
# NVIDIA PTX for OSL on Windows and Linux.
|
||||||
|
set(LLVM_TARGETS ${LLVM_TARGETS}$<SEMICOLON>NVPTX)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
set(LLVM_EXTRA_ARGS
|
set(LLVM_EXTRA_ARGS
|
||||||
-DLLVM_USE_CRT_RELEASE=MD
|
-DLLVM_USE_CRT_RELEASE=MD
|
||||||
-DLLVM_USE_CRT_DEBUG=MDd
|
-DLLVM_USE_CRT_DEBUG=MDd
|
||||||
@@ -38,6 +40,11 @@ else()
|
|||||||
set(LLVM_GENERATOR "Unix Makefiles")
|
set(LLVM_GENERATOR "Unix Makefiles")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# LLVM does not switch over to cpp17 until llvm 16 and building ealier versions with
|
||||||
|
# MSVC is leading to some crashes in ISPC. Switch back to their default on all platforms
|
||||||
|
# for now.
|
||||||
|
string(REPLACE "-DCMAKE_CXX_STANDARD=17" " " LLVM_CMAKE_FLAGS "${DEFAULT_CMAKE_FLAGS}")
|
||||||
|
|
||||||
# short project name due to long filename issues on windows
|
# short project name due to long filename issues on windows
|
||||||
ExternalProject_Add(ll
|
ExternalProject_Add(ll
|
||||||
URL file://${PACKAGE_DIR}/${LLVM_FILE}
|
URL file://${PACKAGE_DIR}/${LLVM_FILE}
|
||||||
@@ -48,7 +55,7 @@ ExternalProject_Add(ll
|
|||||||
PREFIX ${BUILD_DIR}/ll
|
PREFIX ${BUILD_DIR}/ll
|
||||||
SOURCE_SUBDIR llvm
|
SOURCE_SUBDIR llvm
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/ll/src/ll < ${PATCH_DIR}/llvm.diff
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/ll/src/ll < ${PATCH_DIR}/llvm.diff
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/llvm ${DEFAULT_CMAKE_FLAGS} ${LLVM_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/llvm ${LLVM_CMAKE_FLAGS} ${LLVM_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/llvm
|
INSTALL_DIR ${LIBDIR}/llvm
|
||||||
)
|
)
|
||||||
|
|
||||||
|
57
build_files/build_environment/cmake/materialx.cmake
Normal file
57
build_files/build_environment/cmake/materialx.cmake
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
set(MATERIALX_EXTRA_ARGS
|
||||||
|
-DMATERIALX_BUILD_PYTHON=ON
|
||||||
|
-DMATERIALX_BUILD_RENDER=OFF
|
||||||
|
-DMATERIALX_INSTALL_PYTHON=OFF
|
||||||
|
-DMATERIALX_PYTHON_EXECUTABLE=${PYTHON_BINARY}
|
||||||
|
-DMATERIALX_PYTHON_VERSION=${PYTHON_SHORT_VERSION}
|
||||||
|
-DMATERIALX_BUILD_SHARED_LIBS=ON
|
||||||
|
-DCMAKE_DEBUG_POSTFIX=_d
|
||||||
|
-Dpybind11_ROOT=${LIBDIR}/pybind11
|
||||||
|
-DPython_EXECUTABLE=${PYTHON_BINARY}
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_materialx
|
||||||
|
URL file://${PACKAGE_DIR}/${MATERIALX_FILE}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH ${MATERIALX_HASH_TYPE}=${MATERIALX_HASH}
|
||||||
|
PREFIX ${BUILD_DIR}/materialx
|
||||||
|
CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR}
|
||||||
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/materialx/src/external_materialx < ${PATCH_DIR}/materialx.diff
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/materialx ${DEFAULT_CMAKE_FLAGS} ${MATERIALX_EXTRA_ARGS}
|
||||||
|
INSTALL_DIR ${LIBDIR}/materialx
|
||||||
|
)
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
set(MATERIALX_PYTHON_TARGET ${HARVEST_TARGET}/materialx/python/${BUILD_MODE})
|
||||||
|
string(REPLACE "/" "\\" MATERIALX_PYTHON_TARGET_DOS "${MATERIALX_PYTHON_TARGET}")
|
||||||
|
if(BUILD_MODE STREQUAL Release)
|
||||||
|
ExternalProject_Add_Step(external_materialx after_install
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/materialx/include ${HARVEST_TARGET}/materialx/include
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/materialx/libraries ${HARVEST_TARGET}/materialx/libraries
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/materialx/lib/ ${HARVEST_TARGET}/materialx/lib/
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/materialx/bin/ ${HARVEST_TARGET}/materialx/bin/
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/materialx/python/ ${MATERIALX_PYTHON_TARGET}
|
||||||
|
COMMAND del ${MATERIALX_PYTHON_TARGET_DOS}\\MaterialX\\*.lib
|
||||||
|
DEPENDEES install
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
if(BUILD_MODE STREQUAL Debug)
|
||||||
|
ExternalProject_Add_Step(external_materialx after_install
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/materialx/lib/ ${HARVEST_TARGET}/materialx/lib/
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/materialx/bin/ ${HARVEST_TARGET}/materialx/bin/
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/materialx/python/ ${MATERIALX_PYTHON_TARGET}
|
||||||
|
COMMAND del ${MATERIALX_PYTHON_TARGET_DOS}\\MaterialX\\*.lib
|
||||||
|
DEPENDEES install
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
unset(MATERIALX_PYTHON_TARGET)
|
||||||
|
unset(MATERIALX_PYTHON_TARGET_DOS)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
external_materialx
|
||||||
|
external_python
|
||||||
|
external_pybind11
|
||||||
|
)
|
@@ -33,6 +33,8 @@ set(MESA_EXTRA_FLAGS
|
|||||||
# At some point we will likely want to support Wayland.
|
# At some point we will likely want to support Wayland.
|
||||||
# Disable for now since it's not officially supported.
|
# Disable for now since it's not officially supported.
|
||||||
-Dplatforms=x11
|
-Dplatforms=x11
|
||||||
|
# Needed to find the local expat.
|
||||||
|
--pkg-config-path=${LIBDIR}/expat/lib/pkgconfig
|
||||||
--native-file ${BUILD_DIR}/mesa/tmp/native-file.ini
|
--native-file ${BUILD_DIR}/mesa/tmp/native-file.ini
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -43,7 +45,7 @@ ExternalProject_Add(external_mesa
|
|||||||
PREFIX ${BUILD_DIR}/mesa
|
PREFIX ${BUILD_DIR}/mesa
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} &&
|
CONFIGURE_COMMAND ${CONFIGURE_ENV} &&
|
||||||
cd ${BUILD_DIR}/mesa/src/external_mesa/ &&
|
cd ${BUILD_DIR}/mesa/src/external_mesa/ &&
|
||||||
meson ${BUILD_DIR}/mesa/src/external_mesa-build --prefix=${LIBDIR}/mesa ${MESA_EXTRA_FLAGS}
|
${MESON} ${BUILD_DIR}/mesa/src/external_mesa-build --prefix=${LIBDIR}/mesa ${MESA_EXTRA_FLAGS}
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/mesa/src/external_mesa-build && ninja -j${MAKE_THREADS}
|
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/mesa/src/external_mesa-build && ninja -j${MAKE_THREADS}
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/mesa/src/external_mesa-build && ninja install
|
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/mesa/src/external_mesa-build && ninja install
|
||||||
INSTALL_DIR ${LIBDIR}/mesa
|
INSTALL_DIR ${LIBDIR}/mesa
|
||||||
@@ -52,4 +54,9 @@ ExternalProject_Add(external_mesa
|
|||||||
add_dependencies(
|
add_dependencies(
|
||||||
external_mesa
|
external_mesa
|
||||||
ll
|
ll
|
||||||
|
external_zlib
|
||||||
|
# Run-time dependency.
|
||||||
|
external_expat
|
||||||
|
# Needed for `MESON`.
|
||||||
|
external_python_site_packages
|
||||||
)
|
)
|
||||||
|
33
build_files/build_environment/cmake/minizipng.cmake
Normal file
33
build_files/build_environment/cmake/minizipng.cmake
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
set(MINIZIPNG_EXTRA_ARGS
|
||||||
|
-DMZ_FETCH_LIBS=OFF
|
||||||
|
-DMZ_LIBCOMP=OFF
|
||||||
|
-DMZ_PKCRYPT=OFF
|
||||||
|
-DMZ_WZAES=OFF
|
||||||
|
-DMZ_OPENSSL=OFF
|
||||||
|
-DMZ_SIGNING=OFF
|
||||||
|
-DMZ_LZMA=OFF
|
||||||
|
-DMZ_ZSTD=OFF
|
||||||
|
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
||||||
|
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
||||||
|
-DBZIP2_LIBRARY=${LIBDIR}/bzip2/lib/${LIBPREFIX}bz2${LIBEXT}
|
||||||
|
-DBZIP2_INCLUDE_DIR=${LIBDIR}/bzip2/include/
|
||||||
|
# Because OCIO hardcodes a non standard include path
|
||||||
|
-DCMAKE_INSTALL_INCLUDEDIR=${LIBDIR}/minizipng/include/minizip-ng
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_minizipng
|
||||||
|
URL file://${PACKAGE_DIR}/${MINIZIPNG_FILE}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH ${MINIZIPNG_HASH_TYPE}=${MINIZIPNG_HASH}
|
||||||
|
PREFIX ${BUILD_DIR}/minizipng
|
||||||
|
CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR}
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/minizipng ${DEFAULT_CMAKE_FLAGS} ${MINIZIPNG_EXTRA_ARGS}
|
||||||
|
INSTALL_DIR ${LIBDIR}/minizipng
|
||||||
|
)
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
external_minizipng
|
||||||
|
external_zlib
|
||||||
|
)
|
@@ -9,13 +9,17 @@ if(UNIX)
|
|||||||
# as does the OPENCOLLADA package, if this can be corrected upstream that would be better.
|
# as does the OPENCOLLADA package, if this can be corrected upstream that would be better.
|
||||||
# For now use `sed` to force UNIX line endings so the patch applies.
|
# For now use `sed` to force UNIX line endings so the patch applies.
|
||||||
# Needed as neither ignoring white-space or applying as a binary resolve this problem.
|
# Needed as neither ignoring white-space or applying as a binary resolve this problem.
|
||||||
|
if(APPLE)
|
||||||
|
set(_dos2unix dos2unix)
|
||||||
|
else()
|
||||||
|
set(_dos2unix sed -i "s/\\r//")
|
||||||
|
endif()
|
||||||
set(PATCH_MAYBE_DOS2UNIX_CMD
|
set(PATCH_MAYBE_DOS2UNIX_CMD
|
||||||
sed -i "s/\\r//"
|
${_dos2unix}
|
||||||
${PATCH_DIR}/opencollada.diff
|
${PATCH_DIR}/opencollada.diff
|
||||||
${BUILD_DIR}/opencollada/src/external_opencollada/CMakeLists.txt
|
${BUILD_DIR}/opencollada/src/external_opencollada/CMakeLists.txt
|
||||||
${BUILD_DIR}/opencollada/src/external_opencollada/Externals/LibXML/CMakeLists.txt &&
|
${BUILD_DIR}/opencollada/src/external_opencollada/Externals/LibXML/CMakeLists.txt &&
|
||||||
)
|
)
|
||||||
|
|
||||||
else()
|
else()
|
||||||
set(OPENCOLLADA_EXTRA_ARGS
|
set(OPENCOLLADA_EXTRA_ARGS
|
||||||
-DCMAKE_DEBUG_POSTFIX=_d
|
-DCMAKE_DEBUG_POSTFIX=_d
|
||||||
|
@@ -2,10 +2,10 @@
|
|||||||
|
|
||||||
set(OPENCOLORIO_EXTRA_ARGS
|
set(OPENCOLORIO_EXTRA_ARGS
|
||||||
-DOCIO_BUILD_APPS=OFF
|
-DOCIO_BUILD_APPS=OFF
|
||||||
-DOCIO_BUILD_PYTHON=OFF
|
-DOCIO_BUILD_PYTHON=ON
|
||||||
-DOCIO_BUILD_NUKE=OFF
|
-DOCIO_BUILD_NUKE=OFF
|
||||||
-DOCIO_BUILD_JAVA=OFF
|
-DOCIO_BUILD_JAVA=OFF
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
-DBUILD_SHARED_LIBS=ON
|
||||||
-DOCIO_BUILD_DOCS=OFF
|
-DOCIO_BUILD_DOCS=OFF
|
||||||
-DOCIO_BUILD_TESTS=OFF
|
-DOCIO_BUILD_TESTS=OFF
|
||||||
-DOCIO_BUILD_GPU_TESTS=OFF
|
-DOCIO_BUILD_GPU_TESTS=OFF
|
||||||
@@ -15,10 +15,30 @@ set(OPENCOLORIO_EXTRA_ARGS
|
|||||||
|
|
||||||
-Dexpat_ROOT=${LIBDIR}/expat
|
-Dexpat_ROOT=${LIBDIR}/expat
|
||||||
-Dyaml-cpp_ROOT=${LIBDIR}/yamlcpp
|
-Dyaml-cpp_ROOT=${LIBDIR}/yamlcpp
|
||||||
|
-Dyaml-cpp_VERSION=${YAMLCPP_VERSION}
|
||||||
-Dpystring_ROOT=${LIBDIR}/pystring
|
-Dpystring_ROOT=${LIBDIR}/pystring
|
||||||
-DImath_ROOT=${LIBDIR}/imath
|
-DImath_ROOT=${LIBDIR}/imath
|
||||||
|
-Dminizip-ng_ROOT=${LIBDIR}/minizipng
|
||||||
|
-Dminizip-ng_INCLUDE_DIR=${LIBDIR}/minizipng/include
|
||||||
|
-Dminizip-ng_LIBRARY=${LIBDIR}/minizipng/lib/libminizip${LIBEXT}
|
||||||
|
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
||||||
|
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
||||||
|
-DPython_EXECUTABLE=${PYTHON_BINARY}
|
||||||
|
-Dpybind11_ROOT=${LIBDIR}/pybind11
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(APPLE)
|
||||||
|
set(OPENCOLORIO_EXTRA_ARGS
|
||||||
|
${OPENCOLORIO_EXTRA_ARGS}
|
||||||
|
"-DCMAKE_SHARED_LINKER_FLAGS=-liconv ${LIBDIR}/bzip2/lib/${LIBPREFIX}bz2${LIBEXT}"
|
||||||
|
)
|
||||||
|
elseif(UNIX)
|
||||||
|
set(OPENCOLORIO_EXTRA_ARGS
|
||||||
|
${OPENCOLORIO_EXTRA_ARGS}
|
||||||
|
"-DCMAKE_SHARED_LINKER_FLAGS=${LIBDIR}/bzip2/lib/${LIBPREFIX}bz2${LIBEXT}"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(BLENDER_PLATFORM_ARM)
|
if(BLENDER_PLATFORM_ARM)
|
||||||
set(OPENCOLORIO_EXTRA_ARGS
|
set(OPENCOLORIO_EXTRA_ARGS
|
||||||
${OPENCOLORIO_EXTRA_ARGS}
|
${OPENCOLORIO_EXTRA_ARGS}
|
||||||
@@ -27,11 +47,16 @@ if(BLENDER_PLATFORM_ARM)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
set(OPENCOLORIO_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DIMATH_DLL")
|
||||||
|
if(BUILD_MODE STREQUAL Debug)
|
||||||
|
set(OPENCOLORIO_CXX_FLAGS "${OPENCOLORIO_CXX_FLAGS} -DPy_DEBUG")
|
||||||
|
endif()
|
||||||
set(OPENCOLORIO_EXTRA_ARGS
|
set(OPENCOLORIO_EXTRA_ARGS
|
||||||
${OPENCOLORIO_EXTRA_ARGS}
|
${OPENCOLORIO_EXTRA_ARGS}
|
||||||
-Dexpat_LIBRARY=${LIBDIR}/expat/lib/libexpatMD
|
-DCMAKE_DEBUG_POSTFIX=_d
|
||||||
-Dyaml-cpp_LIBRARY=${LIBDIR}/expat/lib/libyaml-cppmd.lib
|
-Dexpat_LIBRARY=${LIBDIR}/expat/lib/libexpat$<$<STREQUAL:${BUILD_MODE},Debug>:d>MD${LIBEXT}
|
||||||
-DImath_LIBRARY=${LIBDIR}/imath/lib/imath${OPENEXR_VERSION_POSTFIX}
|
-DImath_LIBRARY=${LIBDIR}/imath/lib/imath${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
||||||
|
-DCMAKE_CXX_FLAGS=${OPENCOLORIO_CXX_FLAGS}
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
set(OPENCOLORIO_EXTRA_ARGS
|
set(OPENCOLORIO_EXTRA_ARGS
|
||||||
@@ -43,6 +68,7 @@ ExternalProject_Add(external_opencolorio
|
|||||||
URL file://${PACKAGE_DIR}/${OPENCOLORIO_FILE}
|
URL file://${PACKAGE_DIR}/${OPENCOLORIO_FILE}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${OPENCOLORIO_HASH_TYPE}=${OPENCOLORIO_HASH}
|
URL_HASH ${OPENCOLORIO_HASH_TYPE}=${OPENCOLORIO_HASH}
|
||||||
|
CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR}
|
||||||
PREFIX ${BUILD_DIR}/opencolorio
|
PREFIX ${BUILD_DIR}/opencolorio
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/opencolorio/src/external_opencolorio < ${PATCH_DIR}/opencolorio.diff
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/opencolorio/src/external_opencolorio < ${PATCH_DIR}/opencolorio.diff
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/opencolorio ${DEFAULT_CMAKE_FLAGS} ${OPENCOLORIO_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/opencolorio ${DEFAULT_CMAKE_FLAGS} ${OPENCOLORIO_EXTRA_ARGS}
|
||||||
@@ -55,25 +81,26 @@ add_dependencies(
|
|||||||
external_expat
|
external_expat
|
||||||
external_imath
|
external_imath
|
||||||
external_pystring
|
external_pystring
|
||||||
|
external_zlib
|
||||||
|
external_minizipng
|
||||||
|
external_python
|
||||||
|
external_pybind11
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
if(BUILD_MODE STREQUAL Release)
|
if(BUILD_MODE STREQUAL Release)
|
||||||
ExternalProject_Add_Step(external_opencolorio after_install
|
ExternalProject_Add_Step(external_opencolorio after_install
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencolorio/include ${HARVEST_TARGET}/opencolorio/include
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencolorio/include ${HARVEST_TARGET}/opencolorio/include
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencolorio/bin/OpenColorIO_2_2.dll ${HARVEST_TARGET}/opencolorio/bin/OpenColorIO_2_2.dll
|
||||||
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}/expat/lib/libexpatMD.lib ${HARVEST_TARGET}/opencolorio/lib/libexpatMD.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/pystring/lib/pystring.lib ${HARVEST_TARGET}/opencolorio/lib/pystring.lib
|
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
if(BUILD_MODE STREQUAL Debug)
|
||||||
ExternalProject_Add_Step(external_opencolorio after_install
|
ExternalProject_Add_Step(external_opencolorio after_install
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencolorio/lib/Opencolorio.lib ${HARVEST_TARGET}/opencolorio/lib/OpencolorIO_d.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencolorio/bin/OpenColorIO_d_2_2.dll ${HARVEST_TARGET}/opencolorio/bin/OpenColorIO_d_2_2.dll
|
||||||
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}/opencolorio/lib/Opencolorio_d.lib ${HARVEST_TARGET}/opencolorio/lib/OpenColorIO_d.lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/expat/lib/libexpatdMD.lib ${HARVEST_TARGET}/opencolorio/lib/libexpatdMD.lib
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencolorio/lib/site-packages ${HARVEST_TARGET}/opencolorio/lib/site-packages-debug
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/pystring/lib/pystring.lib ${HARVEST_TARGET}/opencolorio/lib/pystring_d.lib
|
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -16,7 +16,7 @@ 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
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
-DBUILD_SHARED_LIBS=ON
|
||||||
-DOPENEXR_INSTALL_TOOLS=OFF
|
-DOPENEXR_INSTALL_TOOLS=OFF
|
||||||
-DOPENEXR_INSTALL_EXAMPLES=OFF
|
-DOPENEXR_INSTALL_EXAMPLES=OFF
|
||||||
-DImath_DIR=${LIBDIR}/imath/lib/cmake/Imath
|
-DImath_DIR=${LIBDIR}/imath/lib/cmake/Imath
|
||||||
@@ -27,6 +27,7 @@ ExternalProject_Add(external_openexr
|
|||||||
URL file://${PACKAGE_DIR}/${OPENEXR_FILE}
|
URL file://${PACKAGE_DIR}/${OPENEXR_FILE}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${OPENEXR_HASH_TYPE}=${OPENEXR_HASH}
|
URL_HASH ${OPENEXR_HASH_TYPE}=${OPENEXR_HASH}
|
||||||
|
CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR}
|
||||||
PREFIX ${BUILD_DIR}/openexr
|
PREFIX ${BUILD_DIR}/openexr
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openexr ${DEFAULT_CMAKE_FLAGS} ${OPENEXR_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openexr ${DEFAULT_CMAKE_FLAGS} ${OPENEXR_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/openexr
|
INSTALL_DIR ${LIBDIR}/openexr
|
||||||
@@ -36,6 +37,11 @@ if(WIN32)
|
|||||||
ExternalProject_Add_Step(external_openexr after_install
|
ExternalProject_Add_Step(external_openexr after_install
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/lib ${HARVEST_TARGET}/openexr/lib
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/lib ${HARVEST_TARGET}/openexr/lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/include ${HARVEST_TARGET}/openexr/include
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/include ${HARVEST_TARGET}/openexr/include
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openexr/bin/Iex${OPENEXR_VERSION_POSTFIX}.dll ${HARVEST_TARGET}/openexr/bin/Iex${OPENEXR_VERSION_POSTFIX}.dll
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openexr/bin/IlmThread${OPENEXR_VERSION_POSTFIX}.dll ${HARVEST_TARGET}/openexr/bin/IlmThread${OPENEXR_VERSION_POSTFIX}.dll
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openexr/bin/OpenEXRCore${OPENEXR_VERSION_POSTFIX}.dll ${HARVEST_TARGET}/openexr/bin/OpenEXRCore${OPENEXR_VERSION_POSTFIX}.dll
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openexr/bin/OpenEXRUtil${OPENEXR_VERSION_POSTFIX}.dll ${HARVEST_TARGET}/openexr/bin/OpenEXRUtil${OPENEXR_VERSION_POSTFIX}.dll
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openexr/bin/OpenEXR${OPENEXR_VERSION_POSTFIX}.dll ${HARVEST_TARGET}/openexr/bin/OpenEXR${OPENEXR_VERSION_POSTFIX}.dll
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
@@ -43,4 +49,5 @@ endif()
|
|||||||
add_dependencies(
|
add_dependencies(
|
||||||
external_openexr
|
external_openexr
|
||||||
external_zlib
|
external_zlib
|
||||||
|
external_imath
|
||||||
)
|
)
|
||||||
|
@@ -15,14 +15,16 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(PNG_LIBNAME libpng16_static${LIBEXT})
|
|
||||||
set(OIIO_SIMD_FLAGS -DUSE_SIMD=sse2)
|
set(OIIO_SIMD_FLAGS -DUSE_SIMD=sse2)
|
||||||
set(OPENJPEG_POSTFIX _msvc)
|
set(OPENJPEG_POSTFIX _msvc)
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
if(BUILD_MODE STREQUAL Debug)
|
||||||
set(TIFF_POSTFIX d)
|
set(TIFF_POSTFIX d)
|
||||||
|
set(PNG_POSTFIX d)
|
||||||
else()
|
else()
|
||||||
set(TIFF_POSTFIX)
|
set(TIFF_POSTFIX)
|
||||||
|
set(PNG_POSTFIX)
|
||||||
endif()
|
endif()
|
||||||
|
set(PNG_LIBNAME libpng16_static${PNG_POSTFIX}${LIBEXT})
|
||||||
else()
|
else()
|
||||||
set(PNG_LIBNAME libpng${LIBEXT})
|
set(PNG_LIBNAME libpng${LIBEXT})
|
||||||
set(OIIO_SIMD_FLAGS)
|
set(OIIO_SIMD_FLAGS)
|
||||||
@@ -40,7 +42,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(OPENIMAGEIO_EXTRA_ARGS
|
set(OPENIMAGEIO_EXTRA_ARGS
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
-DBUILD_SHARED_LIBS=ON
|
||||||
${OPENIMAGEIO_LINKSTATIC}
|
${OPENIMAGEIO_LINKSTATIC}
|
||||||
${DEFAULT_BOOST_FLAGS}
|
${DEFAULT_BOOST_FLAGS}
|
||||||
-DUSE_LIBSQUISH=OFF
|
-DUSE_LIBSQUISH=OFF
|
||||||
@@ -54,7 +56,7 @@ set(OPENIMAGEIO_EXTRA_ARGS
|
|||||||
-DUSE_OPENGL=OFF
|
-DUSE_OPENGL=OFF
|
||||||
-DUSE_TBB=OFF
|
-DUSE_TBB=OFF
|
||||||
-DUSE_QT=OFF
|
-DUSE_QT=OFF
|
||||||
-DUSE_PYTHON=OFF
|
-DUSE_PYTHON=ON
|
||||||
-DUSE_GIF=OFF
|
-DUSE_GIF=OFF
|
||||||
-DUSE_OPENCV=OFF
|
-DUSE_OPENCV=OFF
|
||||||
-DUSE_OPENJPEG=ON
|
-DUSE_OPENJPEG=ON
|
||||||
@@ -76,13 +78,14 @@ set(OPENIMAGEIO_EXTRA_ARGS
|
|||||||
-DJPEG_LIBRARY=${LIBDIR}/jpeg/lib/${JPEG_LIBRARY}
|
-DJPEG_LIBRARY=${LIBDIR}/jpeg/lib/${JPEG_LIBRARY}
|
||||||
-DJPEG_INCLUDE_DIR=${LIBDIR}/jpeg/include
|
-DJPEG_INCLUDE_DIR=${LIBDIR}/jpeg/include
|
||||||
${OPENJPEG_FLAGS}
|
${OPENJPEG_FLAGS}
|
||||||
-DOPENEXR_ILMTHREAD_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmThread${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
-DOPENEXR_ILMTHREAD_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmThread${OPENEXR_VERSION_POSTFIX}${SHAREDLIBEXT}
|
||||||
-DOPENEXR_IEX_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Iex${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
-DOPENEXR_IEX_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Iex${OPENEXR_VERSION_POSTFIX}${SHAREDLIBEXT}
|
||||||
-DOPENEXR_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
-DOPENEXR_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${SHAREDLIBEXT}
|
||||||
-DSTOP_ON_WARNING=OFF
|
-DSTOP_ON_WARNING=OFF
|
||||||
-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/
|
||||||
|
-Dpugixml_DIR=${LIBDIR}/pugixml/lib/cmake/pugixml
|
||||||
-DBUILD_MISSING_ROBINMAP=OFF
|
-DBUILD_MISSING_ROBINMAP=OFF
|
||||||
-DBUILD_MISSING_FMT=OFF
|
-DBUILD_MISSING_FMT=OFF
|
||||||
-DFMT_INCLUDE_DIR=${LIBDIR}/fmt/include/
|
-DFMT_INCLUDE_DIR=${LIBDIR}/fmt/include/
|
||||||
@@ -91,12 +94,15 @@ set(OPENIMAGEIO_EXTRA_ARGS
|
|||||||
${OIIO_SIMD_FLAGS}
|
${OIIO_SIMD_FLAGS}
|
||||||
-DOpenEXR_ROOT=${LIBDIR}/openexr
|
-DOpenEXR_ROOT=${LIBDIR}/openexr
|
||||||
-DImath_ROOT=${LIBDIR}/imath
|
-DImath_ROOT=${LIBDIR}/imath
|
||||||
|
-Dpybind11_ROOT=${LIBDIR}/pybind11
|
||||||
|
-DPython_EXECUTABLE=${PYTHON_BINARY}
|
||||||
)
|
)
|
||||||
|
|
||||||
ExternalProject_Add(external_openimageio
|
ExternalProject_Add(external_openimageio
|
||||||
URL file://${PACKAGE_DIR}/${OPENIMAGEIO_FILE}
|
URL file://${PACKAGE_DIR}/${OPENIMAGEIO_FILE}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${OPENIMAGEIO_HASH_TYPE}=${OPENIMAGEIO_HASH}
|
URL_HASH ${OPENIMAGEIO_HASH_TYPE}=${OPENIMAGEIO_HASH}
|
||||||
|
CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR}
|
||||||
PREFIX ${BUILD_DIR}/openimageio
|
PREFIX ${BUILD_DIR}/openimageio
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/ < ${PATCH_DIR}/openimageio.diff
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/ < ${PATCH_DIR}/openimageio.diff
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openimageio ${DEFAULT_CMAKE_FLAGS} ${OPENIMAGEIO_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openimageio ${DEFAULT_CMAKE_FLAGS} ${OPENIMAGEIO_EXTRA_ARGS}
|
||||||
@@ -117,6 +123,8 @@ add_dependencies(
|
|||||||
external_robinmap
|
external_robinmap
|
||||||
external_openjpeg${OPENJPEG_POSTFIX}
|
external_openjpeg${OPENJPEG_POSTFIX}
|
||||||
external_webp
|
external_webp
|
||||||
|
external_python
|
||||||
|
external_pybind11
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@@ -125,7 +133,8 @@ if(WIN32)
|
|||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/include ${HARVEST_TARGET}/OpenImageIO/include
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/include ${HARVEST_TARGET}/OpenImageIO/include
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/lib ${HARVEST_TARGET}/OpenImageIO/lib
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/lib ${HARVEST_TARGET}/OpenImageIO/lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/OpenImageIO/bin/idiff.exe ${HARVEST_TARGET}/OpenImageIO/bin/idiff.exe
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/OpenImageIO/bin/idiff.exe ${HARVEST_TARGET}/OpenImageIO/bin/idiff.exe
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/OpenImageIO/bin/OpenImageIO.dll ${HARVEST_TARGET}/OpenImageIO/bin/OpenImageIO.dll
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/OpenImageIO/bin/OpenImageIO_Util.dll ${HARVEST_TARGET}/OpenImageIO/bin/OpenImageIO_Util.dll
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
@@ -133,6 +142,9 @@ if(WIN32)
|
|||||||
ExternalProject_Add_Step(external_openimageio after_install
|
ExternalProject_Add_Step(external_openimageio after_install
|
||||||
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_d.lib ${HARVEST_TARGET}/openimageio/lib/OpenImageIO_d.lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimageio/lib/OpenImageIO_Util_d.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
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/OpenImageIO/bin/OpenImageIO_d.dll ${HARVEST_TARGET}/OpenImageIO/bin/OpenImageIO_d.dll
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/OpenImageIO/bin/OpenImageIO_Util_d.dll ${HARVEST_TARGET}/OpenImageIO/bin/OpenImageIO_Util_d.dll
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/lib/python${PYTHON_SHORT_VERSION}/ ${HARVEST_TARGET}/OpenImageIO/lib/python${PYTHON_SHORT_VERSION}_debug/
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -39,8 +39,10 @@ if(MSVC)
|
|||||||
)
|
)
|
||||||
if(BUILD_MODE STREQUAL Release)
|
if(BUILD_MODE STREQUAL Release)
|
||||||
ExternalProject_Add_Step(external_openjpeg_msvc after_install
|
ExternalProject_Add_Step(external_openjpeg_msvc after_install
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openjpeg_msvc/lib ${HARVEST_TARGET}/openjpeg/lib &&
|
COMMAND
|
||||||
|
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openjpeg_msvc/lib ${HARVEST_TARGET}/openjpeg/lib &&
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openjpeg_msvc/include ${HARVEST_TARGET}/openjpeg/include
|
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openjpeg_msvc/include ${HARVEST_TARGET}/openjpeg/include
|
||||||
|
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -32,7 +32,7 @@ else()
|
|||||||
set(OPENSUBDIV_EXTRA_ARGS
|
set(OPENSUBDIV_EXTRA_ARGS
|
||||||
${OPENSUBDIV_EXTRA_ARGS}
|
${OPENSUBDIV_EXTRA_ARGS}
|
||||||
-DTBB_INCLUDE_DIR=${LIBDIR}/tbb/include
|
-DTBB_INCLUDE_DIR=${LIBDIR}/tbb/include
|
||||||
-DTBB_tbb_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbb_static${LIBEXT}
|
-DTBB_tbb_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbb${SHAREDLIBEXT}
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -4,23 +4,14 @@ if(BUILD_MODE STREQUAL Debug)
|
|||||||
set(BLOSC_POST _d)
|
set(BLOSC_POST _d)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(OPENVDB_SHARED ON)
|
|
||||||
set(OPENVDB_STATIC OFF)
|
|
||||||
else()
|
|
||||||
set(OPENVDB_SHARED OFF)
|
|
||||||
set(OPENVDB_STATIC ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(OPENVDB_EXTRA_ARGS
|
set(OPENVDB_EXTRA_ARGS
|
||||||
${DEFAULT_BOOST_FLAGS}
|
${DEFAULT_BOOST_FLAGS}
|
||||||
-DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
|
-DUSE_STATIC_DEPENDENCIES=OFF # This is the global toggle for static libs
|
||||||
-DBoost_USE_MULTITHREADED=ON
|
# Once the above switch is off, you can set it
|
||||||
-DBoost_USE_STATIC_LIBS=ON
|
# for each individual library below.
|
||||||
-DBoost_USE_STATIC_RUNTIME=OFF
|
-DBLOSC_USE_STATIC_LIBS=ON
|
||||||
-DBOOST_ROOT=${LIBDIR}/boost
|
-DTBB_USE_STATIC_LIBS=OFF
|
||||||
-DBoost_NO_SYSTEM_PATHS=ON
|
-DBoost_USE_STATIC_LIBS=OFF
|
||||||
-DBoost_NO_BOOST_CMAKE=ON
|
|
||||||
-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/
|
||||||
-DBlosc_INCLUDE_DIR=${LIBDIR}/blosc/include/
|
-DBlosc_INCLUDE_DIR=${LIBDIR}/blosc/include/
|
||||||
@@ -28,32 +19,36 @@ set(OPENVDB_EXTRA_ARGS
|
|||||||
-DBlosc_LIBRARY_RELEASE=${LIBDIR}/blosc/lib/libblosc${BLOSC_POST}${LIBEXT}
|
-DBlosc_LIBRARY_RELEASE=${LIBDIR}/blosc/lib/libblosc${BLOSC_POST}${LIBEXT}
|
||||||
-DBlosc_LIBRARY_DEBUG=${LIBDIR}/blosc/lib/libblosc${BLOSC_POST}${LIBEXT}
|
-DBlosc_LIBRARY_DEBUG=${LIBDIR}/blosc/lib/libblosc${BLOSC_POST}${LIBEXT}
|
||||||
-DOPENVDB_BUILD_UNITTESTS=OFF
|
-DOPENVDB_BUILD_UNITTESTS=OFF
|
||||||
-DOPENVDB_BUILD_PYTHON_MODULE=OFF
|
|
||||||
-DOPENVDB_BUILD_NANOVDB=ON
|
-DOPENVDB_BUILD_NANOVDB=ON
|
||||||
-DNANOVDB_BUILD_TOOLS=OFF
|
-DNANOVDB_BUILD_TOOLS=OFF
|
||||||
-DBlosc_ROOT=${LIBDIR}/blosc/
|
-DBlosc_ROOT=${LIBDIR}/blosc/
|
||||||
-DTBB_ROOT=${LIBDIR}/tbb/
|
-DTBB_ROOT=${LIBDIR}/tbb/
|
||||||
-DOPENVDB_CORE_SHARED=${OPENVDB_SHARED}
|
-DTbb_INCLUDE_DIR=${LIBDIR}/tbb/include
|
||||||
-DOPENVDB_CORE_STATIC=${OPENVDB_STATIC}
|
-DTbb_LEGACY_INCLUDE_DIR=${LIBDIR}/tbb/include
|
||||||
|
-DOPENVDB_CORE_SHARED=ON
|
||||||
|
-DOPENVDB_CORE_STATIC=OFF
|
||||||
-DOPENVDB_BUILD_BINARIES=OFF
|
-DOPENVDB_BUILD_BINARIES=OFF
|
||||||
-DCMAKE_DEBUG_POSTFIX=_d
|
-DCMAKE_DEBUG_POSTFIX=_d
|
||||||
-DBLOSC_USE_STATIC_LIBS=ON
|
-DBLOSC_USE_STATIC_LIBS=ON
|
||||||
-DUSE_NANOVDB=ON
|
-DUSE_NANOVDB=ON
|
||||||
)
|
-DOPENVDB_BUILD_PYTHON_MODULE=ON
|
||||||
|
-DOPENVDB_PYTHON_WRAP_ALL_GRID_TYPES=ON
|
||||||
|
-DUSE_NUMPY=ON
|
||||||
|
-DPython_EXECUTABLE=${PYTHON_BINARY}
|
||||||
|
|
||||||
if(WIN32)
|
# OPENVDB_AX Disabled for now as it adds ~25MB distribution wise
|
||||||
# Namespaces seem to be buggy and cause linker errors due to things not
|
# with no blender code depending on it, seems wasteful.
|
||||||
# being in the correct namespace
|
# -DOPENVDB_BUILD_AX=ON
|
||||||
# needs to link pthreads due to it being a blosc dependency
|
# -DOPENVDB_AX_SHARED=ON
|
||||||
set(OPENVDB_EXTRA_ARGS ${OPENVDB_EXTRA_ARGS}
|
# -DOPENVDB_AX_STATIC=OFF
|
||||||
-DCMAKE_CXX_STANDARD_LIBRARIES="${LIBDIR}/pthreads/lib/pthreadVC3.lib"
|
# -DLLVM_DIR=${LIBDIR}/llvm/lib/cmake/llvm
|
||||||
)
|
)
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(openvdb
|
ExternalProject_Add(openvdb
|
||||||
URL file://${PACKAGE_DIR}/${OPENVDB_FILE}
|
URL file://${PACKAGE_DIR}/${OPENVDB_FILE}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${OPENVDB_HASH_TYPE}=${OPENVDB_HASH}
|
URL_HASH ${OPENVDB_HASH_TYPE}=${OPENVDB_HASH}
|
||||||
|
CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR}
|
||||||
PREFIX ${BUILD_DIR}/openvdb
|
PREFIX ${BUILD_DIR}/openvdb
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/openvdb/src/openvdb < ${PATCH_DIR}/openvdb.diff
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/openvdb/src/openvdb < ${PATCH_DIR}/openvdb.diff
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openvdb ${DEFAULT_CMAKE_FLAGS} ${OPENVDB_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openvdb ${DEFAULT_CMAKE_FLAGS} ${OPENVDB_EXTRA_ARGS}
|
||||||
@@ -66,6 +61,8 @@ add_dependencies(
|
|||||||
external_boost
|
external_boost
|
||||||
external_zlib
|
external_zlib
|
||||||
external_blosc
|
external_blosc
|
||||||
|
external_python
|
||||||
|
external_numpy
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@@ -74,6 +71,7 @@ if(WIN32)
|
|||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openvdb/include ${HARVEST_TARGET}/openvdb/include
|
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
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/lib/python${PYTHON_SHORT_VERSION}/site-packages/pyopenvdb.pyd ${HARVEST_TARGET}openvdb/python/pyopenvdb.pyd
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
@@ -81,6 +79,7 @@ if(WIN32)
|
|||||||
ExternalProject_Add_Step(openvdb after_install
|
ExternalProject_Add_Step(openvdb after_install
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/lib/openvdb_d.lib ${HARVEST_TARGET}/openvdb/lib/openvdb_d.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/lib/openvdb_d.lib ${HARVEST_TARGET}/openvdb/lib/openvdb_d.lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/bin/openvdb_d.dll ${HARVEST_TARGET}/openvdb/bin/openvdb_d.dll
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/bin/openvdb_d.dll ${HARVEST_TARGET}/openvdb/bin/openvdb_d.dll
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/lib/python${PYTHON_SHORT_VERSION}/site-packages/pyopenvdb_d.pyd ${HARVEST_TARGET}openvdb/python/pyopenvdb_d.pyd
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -4,7 +4,7 @@ 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(FORCE_CHECK_HASH "Force a check of all hashses during CMake the configure phase" OFF)
|
option(FORCE_CHECK_HASH "Force a check of all hashses during CMake the configure phase" 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")
|
||||||
|
|
||||||
@@ -41,31 +41,36 @@ if(WIN32)
|
|||||||
set(LIBEXT ".lib")
|
set(LIBEXT ".lib")
|
||||||
set(SHAREDLIBEXT ".lib")
|
set(SHAREDLIBEXT ".lib")
|
||||||
set(LIBPREFIX "")
|
set(LIBPREFIX "")
|
||||||
|
set(MESON ${LIBDIR}/python/Scripts/meson)
|
||||||
# For OIIO and OSL
|
# For OIIO and OSL
|
||||||
set(COMMON_DEFINES /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS)
|
set(COMMON_DEFINES /DPSAPI_VERSION=2 /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)
|
# To keep MSVC from oversubscribing the CPU, force it to single threaded mode
|
||||||
set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MDd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
# msbuild/ninja will queue as many compile units as there are cores, no need for
|
||||||
else()
|
# msvc to be internally threading as well.
|
||||||
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")
|
string(APPEND COMMON_MSVC_FLAGS " /cgthreads1 ")
|
||||||
endif()
|
|
||||||
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=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=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=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MDd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D_DEBUG /DPSAPI_VERSION=2 /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=2 /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 /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=2 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_C_FLAGS_MINSIZEREL "/MD ${COMMON_MSVC_FLAGS} /O1 /Ob1 /D NDEBUG /DPSAPI_VERSION=2 /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_C_FLAGS_RELEASE "/MD ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=2 /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(BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO "/MD ${COMMON_MSVC_FLAGS} /Zi /O2 /Ob1 /D NDEBUG /DPSAPI_VERSION=2 /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
|
|
||||||
|
if(WITH_OPTIMIZED_DEBUG)
|
||||||
|
set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/MDd ${COMMON_MSVC_FLAGS} /D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS /O2 /Ob2 /D_DEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=2 /DTINYFORMAT_ALLOW_WCHAR_STRINGS /DBOOST_DEBUG_PYTHON /DBOOST_ALL_NO_LIB")
|
||||||
|
else()
|
||||||
|
set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /D PLATFORM_WINDOWS /D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS /MTd ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /DPSAPI_VERSION=2 /DTINYFORMAT_ALLOW_WCHAR_STRINGS /DBOOST_DEBUG_PYTHON /DBOOST_ALL_NO_LIB")
|
||||||
|
endif()
|
||||||
|
set(BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL "/MD /${COMMON_MSVC_FLAGS} /D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS /O1 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=2 /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
|
set(BLENDER_CMAKE_CXX_FLAGS_RELEASE "/MD ${COMMON_MSVC_FLAGS} /D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=2 /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
|
set(BLENDER_CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD ${COMMON_MSVC_FLAGS} /D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS /Zi /O2 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=2 /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
|
|
||||||
set(PLATFORM_FLAGS)
|
set(PLATFORM_FLAGS)
|
||||||
set(PLATFORM_CXX_FLAGS)
|
set(PLATFORM_CXX_FLAGS)
|
||||||
@@ -76,6 +81,18 @@ if(WIN32)
|
|||||||
set(PERL_SHELL ${DOWNLOAD_DIR}/perl/portableshell.bat)
|
set(PERL_SHELL ${DOWNLOAD_DIR}/perl/portableshell.bat)
|
||||||
set(MINGW_HOST x86_64-w64-mingw32)
|
set(MINGW_HOST x86_64-w64-mingw32)
|
||||||
|
|
||||||
|
# some build systems like meson will respect the *nix like environment vars
|
||||||
|
# like CFLAGS and LDFlags but will still build with the MSVC compiler, so for
|
||||||
|
# those we need to empty out the gcc style flags that are normally in there.
|
||||||
|
set(CONFIGURE_ENV_MSVC
|
||||||
|
cd ${MINGW_PATH} &&
|
||||||
|
call ${PERL_SHELL} &&
|
||||||
|
call ${MINGW_SHELL} &&
|
||||||
|
set path &&
|
||||||
|
set CFLAGS= &&
|
||||||
|
set LDFLAGS=
|
||||||
|
)
|
||||||
|
|
||||||
set(CONFIGURE_ENV
|
set(CONFIGURE_ENV
|
||||||
cd ${MINGW_PATH} &&
|
cd ${MINGW_PATH} &&
|
||||||
call ${PERL_SHELL} &&
|
call ${PERL_SHELL} &&
|
||||||
@@ -98,10 +115,11 @@ 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")
|
||||||
|
set(MESON ${LIBDIR}/python/bin/meson)
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
|
set(SHAREDLIBEXT ".dylib")
|
||||||
|
|
||||||
# Use same Xcode detection as Blender itself.
|
# Use same Xcode detection as Blender itself.
|
||||||
include(../cmake/platform/platform_apple_xcode.cmake)
|
include(../cmake/platform/platform_apple_xcode.cmake)
|
||||||
|
|
||||||
@@ -110,7 +128,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(PLATFORM_CFLAGS "-isysroot ${CMAKE_OSX_SYSROOT} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} -arch ${CMAKE_OSX_ARCHITECTURES}")
|
set(PLATFORM_CFLAGS "-isysroot ${CMAKE_OSX_SYSROOT} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} -arch ${CMAKE_OSX_ARCHITECTURES}")
|
||||||
set(PLATFORM_CXXFLAGS "-isysroot ${CMAKE_OSX_SYSROOT} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} -std=c++11 -stdlib=libc++ -arch ${CMAKE_OSX_ARCHITECTURES}")
|
set(PLATFORM_CXXFLAGS "-isysroot ${CMAKE_OSX_SYSROOT} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} -std=c++17 -stdlib=libc++ -arch ${CMAKE_OSX_ARCHITECTURES}")
|
||||||
set(PLATFORM_LDFLAGS "-isysroot ${CMAKE_OSX_SYSROOT} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} -arch ${CMAKE_OSX_ARCHITECTURES}")
|
set(PLATFORM_LDFLAGS "-isysroot ${CMAKE_OSX_SYSROOT} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} -arch ${CMAKE_OSX_ARCHITECTURES}")
|
||||||
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64")
|
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64")
|
||||||
set(PLATFORM_BUILD_TARGET --build=x86_64-apple-darwin17.0.0) # OS X 10.13
|
set(PLATFORM_BUILD_TARGET --build=x86_64-apple-darwin17.0.0) # OS X 10.13
|
||||||
@@ -123,12 +141,14 @@ else()
|
|||||||
-DCMAKE_OSX_SYSROOT:PATH=${CMAKE_OSX_SYSROOT}
|
-DCMAKE_OSX_SYSROOT:PATH=${CMAKE_OSX_SYSROOT}
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
|
set(SHAREDLIBEXT ".so")
|
||||||
|
|
||||||
if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64")
|
if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64")
|
||||||
set(BLENDER_PLATFORM_ARM ON)
|
set(BLENDER_PLATFORM_ARM ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(PLATFORM_CFLAGS "-fPIC")
|
set(PLATFORM_CFLAGS "-fPIC")
|
||||||
set(PLATFORM_CXXFLAGS "-std=c++11 -fPIC")
|
set(PLATFORM_CXXFLAGS "-std=c++17 -fPIC")
|
||||||
set(PLATFORM_LDFLAGS)
|
set(PLATFORM_LDFLAGS)
|
||||||
set(PLATFORM_BUILD_TARGET)
|
set(PLATFORM_BUILD_TARGET)
|
||||||
set(PLATFORM_CMAKE_FLAGS -DCMAKE_INSTALL_LIBDIR=lib)
|
set(PLATFORM_CMAKE_FLAGS -DCMAKE_INSTALL_LIBDIR=lib)
|
||||||
@@ -175,6 +195,7 @@ set(DEFAULT_CMAKE_FLAGS
|
|||||||
-DCMAKE_CXX_FLAGS_MINSIZEREL=${BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL}
|
-DCMAKE_CXX_FLAGS_MINSIZEREL=${BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL}
|
||||||
-DCMAKE_CXX_FLAGS_RELEASE=${BLENDER_CMAKE_CXX_FLAGS_RELEASE}
|
-DCMAKE_CXX_FLAGS_RELEASE=${BLENDER_CMAKE_CXX_FLAGS_RELEASE}
|
||||||
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO}
|
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO}
|
||||||
|
-DCMAKE_CXX_STANDARD=17
|
||||||
${PLATFORM_CMAKE_FLAGS}
|
${PLATFORM_CMAKE_FLAGS}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -193,3 +214,11 @@ if(MSVC)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CMAKE_INSTALL_MESSAGE LAZY)
|
set(CMAKE_INSTALL_MESSAGE LAZY)
|
||||||
|
|
||||||
|
# On windows we sometimes want to build with ninja, but not all projects quite
|
||||||
|
# yet, so for select project we pass PLATFORM_ALT_GENERATOR as the generator
|
||||||
|
if(WIN32)
|
||||||
|
set(PLATFORM_ALT_GENERATOR "Ninja")
|
||||||
|
else()
|
||||||
|
set(PLATFORM_ALT_GENERATOR "Unix Makefiles")
|
||||||
|
endif()
|
||||||
|
@@ -9,6 +9,7 @@ ExternalProject_Add(external_opus
|
|||||||
--disable-shared
|
--disable-shared
|
||||||
--enable-static
|
--enable-static
|
||||||
--with-pic
|
--with-pic
|
||||||
|
--disable-maintainer-mode
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/opus/src/external_opus/ && make -j${MAKE_THREADS}
|
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/opus/src/external_opus/ && make -j${MAKE_THREADS}
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/opus/src/external_opus/ && make install
|
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/opus/src/external_opus/ && make install
|
||||||
INSTALL_DIR ${LIBDIR}/opus
|
INSTALL_DIR ${LIBDIR}/opus
|
||||||
|
@@ -6,7 +6,7 @@ if(WIN32)
|
|||||||
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}/jpeg/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/OpenImageIO${SHAREDLIBEXT};${LIBDIR}/png/lib/${LIBPREFIX}png16${LIBEXT};${LIBDIR}/jpeg/lib/${LIBPREFIX}jpeg${LIBEXT};${LIBDIR}/tiff/lib/${LIBPREFIX}tiff${LIBEXT};${LIBDIR}/openexr/lib/IlmImf${OPENEXR_VERSION_POSTFIX}${SHAREDLIBEXT}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(OSL_EXTRA_ARGS
|
set(OSL_EXTRA_ARGS
|
||||||
@@ -21,7 +21,7 @@ set(OSL_EXTRA_ARGS
|
|||||||
${OSL_FLEX_BISON}
|
${OSL_FLEX_BISON}
|
||||||
-DCMAKE_CXX_STANDARD_LIBRARIES=${OSL_CMAKE_CXX_STANDARD_LIBRARIES}
|
-DCMAKE_CXX_STANDARD_LIBRARIES=${OSL_CMAKE_CXX_STANDARD_LIBRARIES}
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
-DBUILD_SHARED_LIBS=OFF
|
||||||
-DLINKSTATIC=ON
|
-DLINKSTATIC=OFF
|
||||||
-DOSL_BUILD_PLUGINS=OFF
|
-DOSL_BUILD_PLUGINS=OFF
|
||||||
-DSTOP_ON_WARNING=OFF
|
-DSTOP_ON_WARNING=OFF
|
||||||
-DUSE_LLVM_BITCODE=OFF
|
-DUSE_LLVM_BITCODE=OFF
|
||||||
@@ -35,13 +35,14 @@ set(OSL_EXTRA_ARGS
|
|||||||
-DTIFF_ROOT=${LIBDIR}/tiff
|
-DTIFF_ROOT=${LIBDIR}/tiff
|
||||||
-DJPEG_ROOT=${LIBDIR}/jpeg
|
-DJPEG_ROOT=${LIBDIR}/jpeg
|
||||||
-DUSE_PYTHON=OFF
|
-DUSE_PYTHON=OFF
|
||||||
-DCMAKE_CXX_STANDARD=14
|
|
||||||
-DImath_ROOT=${LIBDIR}/imath
|
-DImath_ROOT=${LIBDIR}/imath
|
||||||
|
-DUSE_OIIO_STATIC=OFF
|
||||||
)
|
)
|
||||||
|
|
||||||
ExternalProject_Add(external_osl
|
ExternalProject_Add(external_osl
|
||||||
URL file://${PACKAGE_DIR}/${OSL_FILE}
|
URL file://${PACKAGE_DIR}/${OSL_FILE}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR}
|
||||||
LIST_SEPARATOR ^^
|
LIST_SEPARATOR ^^
|
||||||
URL_HASH ${OSL_HASH_TYPE}=${OSL_HASH}
|
URL_HASH ${OSL_HASH_TYPE}=${OSL_HASH}
|
||||||
PREFIX ${BUILD_DIR}/osl
|
PREFIX ${BUILD_DIR}/osl
|
||||||
|
@@ -34,5 +34,4 @@ if(WIN32)
|
|||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
21
build_files/build_environment/cmake/pybind11.cmake
Normal file
21
build_files/build_environment/cmake/pybind11.cmake
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
set(PYBIND11_EXTRA_ARGS
|
||||||
|
-DPYBIND11_TEST=OFF
|
||||||
|
-DPYTHON_EXECUTABLE=${PYTHON_BINARY}
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_pybind11
|
||||||
|
URL file://${PACKAGE_DIR}/${PYBIND11_FILE}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH ${PYBIND11_HASH_TYPE}=${PYBIND11_HASH}
|
||||||
|
PREFIX ${BUILD_DIR}/pybind11
|
||||||
|
CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR}
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/pybind11 ${DEFAULT_CMAKE_FLAGS} ${PYBIND11_EXTRA_ARGS}
|
||||||
|
INSTALL_DIR ${LIBDIR}/pybind11
|
||||||
|
)
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
external_pybind11
|
||||||
|
external_python
|
||||||
|
)
|
@@ -16,10 +16,12 @@ if(WIN32)
|
|||||||
|
|
||||||
set(PYTHON_EXTERNALS_FOLDER ${BUILD_DIR}/python/src/external_python/externals)
|
set(PYTHON_EXTERNALS_FOLDER ${BUILD_DIR}/python/src/external_python/externals)
|
||||||
set(ZLIB_SOURCE_FOLDER ${BUILD_DIR}/zlib/src/external_zlib)
|
set(ZLIB_SOURCE_FOLDER ${BUILD_DIR}/zlib/src/external_zlib)
|
||||||
|
set(SSL_SOURCE_FOLDER ${BUILD_DIR}/ssl/src/external_ssl)
|
||||||
set(DOWNLOADS_EXTERNALS_FOLDER ${DOWNLOAD_DIR}/externals)
|
set(DOWNLOADS_EXTERNALS_FOLDER ${DOWNLOAD_DIR}/externals)
|
||||||
|
|
||||||
cmake_to_dos_path(${PYTHON_EXTERNALS_FOLDER} PYTHON_EXTERNALS_FOLDER_DOS)
|
cmake_to_dos_path(${PYTHON_EXTERNALS_FOLDER} PYTHON_EXTERNALS_FOLDER_DOS)
|
||||||
cmake_to_dos_path(${ZLIB_SOURCE_FOLDER} ZLIB_SOURCE_FOLDER_DOS)
|
cmake_to_dos_path(${ZLIB_SOURCE_FOLDER} ZLIB_SOURCE_FOLDER_DOS)
|
||||||
|
cmake_to_dos_path(${SSL_SOURCE_FOLDER} SSL_SOURCE_FOLDER_DOS)
|
||||||
cmake_to_dos_path(${DOWNLOADS_EXTERNALS_FOLDER} DOWNLOADS_EXTERNALS_FOLDER_DOS)
|
cmake_to_dos_path(${DOWNLOADS_EXTERNALS_FOLDER} DOWNLOADS_EXTERNALS_FOLDER_DOS)
|
||||||
|
|
||||||
ExternalProject_Add(external_python
|
ExternalProject_Add(external_python
|
||||||
@@ -30,12 +32,14 @@ if(WIN32)
|
|||||||
# Python will download its own deps and there's very little we can do about
|
# Python will download its own deps and there's very little we can do about
|
||||||
# that beyond placing some code in their externals dir before it tries.
|
# that beyond placing some code in their externals dir before it tries.
|
||||||
# the foldernames *HAVE* to match the ones inside pythons get_externals.cmd.
|
# the foldernames *HAVE* to match the ones inside pythons get_externals.cmd.
|
||||||
# python 3.10.8 still ships zlib 1.2.12, replace it with our 1.2.13
|
# regardless of the version actually in there.
|
||||||
# copy until they update.
|
PATCH_COMMAND mkdir ${PYTHON_EXTERNALS_FOLDER_DOS} &&
|
||||||
CONFIGURE_COMMAND mkdir ${PYTHON_EXTERNALS_FOLDER_DOS} &&
|
mklink /J ${PYTHON_EXTERNALS_FOLDER_DOS}\\zlib-1.2.13 ${ZLIB_SOURCE_FOLDER_DOS} &&
|
||||||
mklink /J ${PYTHON_EXTERNALS_FOLDER_DOS}\\zlib-1.2.12 ${ZLIB_SOURCE_FOLDER_DOS} &&
|
mklink /J ${PYTHON_EXTERNALS_FOLDER_DOS}\\openssl-1.1.1q ${SSL_SOURCE_FOLDER_DOS} &&
|
||||||
${CMAKE_COMMAND} -E copy ${ZLIB_SOURCE_FOLDER}/../external_zlib-build/zconf.h ${PYTHON_EXTERNALS_FOLDER}/zlib-1.2.12/zconf.h
|
${CMAKE_COMMAND} -E copy ${ZLIB_SOURCE_FOLDER}/../external_zlib-build/zconf.h ${PYTHON_EXTERNALS_FOLDER}/zlib-1.2.13/zconf.h &&
|
||||||
BUILD_COMMAND cd ${BUILD_DIR}/python/src/external_python/pcbuild/ && set IncludeTkinter=false && call build.bat -e -p x64 -c ${BUILD_MODE}
|
${PATCH_CMD} --verbose -p1 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python_windows.diff
|
||||||
|
CONFIGURE_COMMAND echo "."
|
||||||
|
BUILD_COMMAND ${CONFIGURE_ENV_MSVC} && cd ${BUILD_DIR}/python/src/external_python/pcbuild/ && set IncludeTkinter=false && set LDFLAGS=/DEBUG && call prepare_ssl.bat && call build.bat -e -p x64 -c ${BUILD_MODE}
|
||||||
INSTALL_COMMAND ${PYTHON_BINARY_INTERNAL} ${PYTHON_SRC}/PC/layout/main.py -b ${PYTHON_SRC}/PCbuild/amd64 -s ${PYTHON_SRC} -t ${PYTHON_SRC}/tmp/ --include-stable --include-pip --include-dev --include-launchers --include-venv --include-symbols ${PYTHON_EXTRA_INSTLAL_FLAGS} --copy ${LIBDIR}/python
|
INSTALL_COMMAND ${PYTHON_BINARY_INTERNAL} ${PYTHON_SRC}/PC/layout/main.py -b ${PYTHON_SRC}/PCbuild/amd64 -s ${PYTHON_SRC} -t ${PYTHON_SRC}/tmp/ --include-stable --include-pip --include-dev --include-launchers --include-venv --include-symbols ${PYTHON_EXTRA_INSTLAL_FLAGS} --copy ${LIBDIR}/python
|
||||||
)
|
)
|
||||||
add_dependencies(
|
add_dependencies(
|
||||||
@@ -69,11 +73,10 @@ else()
|
|||||||
set(PYTHON_FUNC_CONFIGS ${PYTHON_FUNC_CONFIGS} && export PYTHON_DECIMAL_WITH_MACHINE=ansi64)
|
set(PYTHON_FUNC_CONFIGS ${PYTHON_FUNC_CONFIGS} && export PYTHON_DECIMAL_WITH_MACHINE=ansi64)
|
||||||
endif()
|
endif()
|
||||||
set(PYTHON_CONFIGURE_ENV ${CONFIGURE_ENV} && ${PYTHON_FUNC_CONFIGS})
|
set(PYTHON_CONFIGURE_ENV ${CONFIGURE_ENV} && ${PYTHON_FUNC_CONFIGS})
|
||||||
set(PYTHON_BINARY ${BUILD_DIR}/python/src/external_python/python.exe)
|
|
||||||
else()
|
else()
|
||||||
set(PYTHON_CONFIGURE_ENV ${CONFIGURE_ENV})
|
set(PYTHON_CONFIGURE_ENV ${CONFIGURE_ENV})
|
||||||
set(PYTHON_BINARY ${BUILD_DIR}/python/src/external_python/python)
|
|
||||||
endif()
|
endif()
|
||||||
|
set(PYTHON_BINARY ${LIBDIR}/python/bin/python${PYTHON_SHORT_VERSION})
|
||||||
# Link against zlib statically (Unix). Avoid rpath issues (macOS).
|
# Link against zlib statically (Unix). Avoid rpath issues (macOS).
|
||||||
set(PYTHON_PATCH ${PATCH_CMD} --verbose -p1 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python_unix.diff)
|
set(PYTHON_PATCH ${PATCH_CMD} --verbose -p1 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python_unix.diff)
|
||||||
set(PYTHON_CONFIGURE_EXTRA_ARGS "--with-openssl=${LIBDIR}/ssl")
|
set(PYTHON_CONFIGURE_EXTRA_ARGS "--with-openssl=${LIBDIR}/ssl")
|
||||||
@@ -85,6 +88,19 @@ else()
|
|||||||
export LDFLAGS=${PYTHON_LDFLAGS} &&
|
export LDFLAGS=${PYTHON_LDFLAGS} &&
|
||||||
export PKG_CONFIG_PATH=${LIBDIR}/ffi/lib/pkgconfig)
|
export PKG_CONFIG_PATH=${LIBDIR}/ffi/lib/pkgconfig)
|
||||||
|
|
||||||
|
# NOTE: untested on APPLE so far.
|
||||||
|
if(NOT APPLE)
|
||||||
|
set(PYTHON_CONFIGURE_EXTRA_ARGS
|
||||||
|
${PYTHON_CONFIGURE_EXTRA_ARGS}
|
||||||
|
# Used on most release Linux builds (Fedora for e.g.),
|
||||||
|
# increases build times noticeably with the benefit of a modest speedup at runtime.
|
||||||
|
--enable-optimizations
|
||||||
|
# While LTO is OK when building on the same system, it's incompatible across GCC versions,
|
||||||
|
# making it impractical for developers to build against, so keep it disabled.
|
||||||
|
# `--with-lto`
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
ExternalProject_Add(external_python
|
ExternalProject_Add(external_python
|
||||||
URL file://${PACKAGE_DIR}/${PYTHON_FILE}
|
URL file://${PACKAGE_DIR}/${PYTHON_FILE}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
@@ -97,14 +113,31 @@ else()
|
|||||||
INSTALL_DIR ${LIBDIR}/python)
|
INSTALL_DIR ${LIBDIR}/python)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
external_python
|
||||||
|
external_ssl
|
||||||
|
external_zlib
|
||||||
|
)
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
add_dependencies(
|
add_dependencies(
|
||||||
external_python
|
external_python
|
||||||
external_bzip2
|
external_bzip2
|
||||||
external_ffi
|
external_ffi
|
||||||
external_lzma
|
external_lzma
|
||||||
external_ssl
|
|
||||||
external_sqlite
|
external_sqlite
|
||||||
external_zlib
|
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
if(BUILD_MODE STREQUAL Debug)
|
||||||
|
ExternalProject_Add_Step(external_python after_install
|
||||||
|
# Boost can't keep it self from linking release python
|
||||||
|
# in a debug configuration even if all options are set
|
||||||
|
# correctly to instruct it to use the debug version
|
||||||
|
# of python. So just copy the debug imports file over
|
||||||
|
# and call it a day...
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/python/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib ${LIBDIR}/python/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}.lib
|
||||||
|
DEPENDEES install
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
@@ -5,7 +5,11 @@ if(WIN32 AND BUILD_MODE STREQUAL Debug)
|
|||||||
# zstandard is determined to build and link release mode libs in a debug
|
# zstandard is determined to build and link release mode libs in a debug
|
||||||
# configuration, the only way to make it happy is to bend to its will
|
# configuration, the only way to make it happy is to bend to its will
|
||||||
# and give it a library to link with.
|
# and give it a library to link with.
|
||||||
set(PIP_CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/python/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}_d.lib ${LIBDIR}/python/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}.lib)
|
set(
|
||||||
|
PIP_CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy
|
||||||
|
${LIBDIR}/python/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}_d.lib
|
||||||
|
${LIBDIR}/python/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}.lib
|
||||||
|
)
|
||||||
else()
|
else()
|
||||||
set(PIP_CONFIGURE_COMMAND echo ".")
|
set(PIP_CONFIGURE_COMMAND echo ".")
|
||||||
endif()
|
endif()
|
||||||
@@ -15,7 +19,23 @@ 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} autopep8==${AUTOPEP8_VERSION} pycodestyle==${PYCODESTYLE_VERSION} toml==${TOML_VERSION} --no-binary :all:
|
|
||||||
|
# setuptools is downgraded to 63.2.0 (same as python 3.10.8) since numpy 1.23.x seemingly has
|
||||||
|
# issues building on windows with the newer versions that ships with python 3.10.9+
|
||||||
|
INSTALL_COMMAND ${PYTHON_BINARY} -m pip install --no-cache-dir ${SITE_PACKAGES_EXTRA}
|
||||||
|
setuptools==63.2.0
|
||||||
|
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}
|
||||||
|
meson==${MESON_VERSION}
|
||||||
|
--no-binary :all:
|
||||||
)
|
)
|
||||||
|
|
||||||
if(USE_PIP_NUMPY)
|
if(USE_PIP_NUMPY)
|
||||||
|
47
build_files/build_environment/cmake/shaderc.cmake
Normal file
47
build_files/build_environment/cmake/shaderc.cmake
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
set(SHADERC_EXTRA_ARGS
|
||||||
|
-DSHADERC_SKIP_TESTS=On
|
||||||
|
-DSHADERC_SPIRV_TOOLS_DIR=${BUILD_DIR}/shaderc_spirv_tools/src/external_shaderc_spirv_tools
|
||||||
|
-DSHADERC_SPIRV_HEADERS_DIR=${BUILD_DIR}/shaderc_spirv_headers/src/external_shaderc_spirv_headers
|
||||||
|
-DSHADERC_GLSLANG_DIR=${BUILD_DIR}/shaderc_glslang/src/external_shaderc_glslang
|
||||||
|
-DCMAKE_DEBUG_POSTFIX=_d
|
||||||
|
-DPYTHON_EXECUTABLE=${PYTHON_BINARY}
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_shaderc
|
||||||
|
URL file://${PACKAGE_DIR}/${SHADERC_FILE}
|
||||||
|
URL_HASH ${SHADERC_HASH_TYPE}=${SHADERC_HASH}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
PREFIX ${BUILD_DIR}/shaderc
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/shaderc ${DEFAULT_CMAKE_FLAGS} ${SHADERC_EXTRA_ARGS}
|
||||||
|
INSTALL_DIR ${LIBDIR}/shaderc
|
||||||
|
)
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
external_shaderc
|
||||||
|
external_shaderc_spirv_tools
|
||||||
|
external_shaderc_spirv_headers
|
||||||
|
external_shaderc_glslang
|
||||||
|
external_python
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
if(BUILD_MODE STREQUAL Release)
|
||||||
|
ExternalProject_Add_Step(external_shaderc after_install
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/shaderc/include ${HARVEST_TARGET}/shaderc/include
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/shaderc/bin/shaderc_shared.dll ${HARVEST_TARGET}/shaderc/bin/shaderc_shared.dll
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/shaderc/lib/shaderc_shared.lib ${HARVEST_TARGET}/shaderc/lib/shaderc_shared.lib
|
||||||
|
|
||||||
|
DEPENDEES install
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
if(BUILD_MODE STREQUAL Debug)
|
||||||
|
ExternalProject_Add_Step(external_shaderc after_install
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/shaderc/bin/shaderc_shared_d.dll ${HARVEST_TARGET}/shaderc/bin/shaderc_shared_d.dll
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/shaderc/lib/shaderc_shared_d.lib ${HARVEST_TARGET}/shaderc/lib/shaderc_shared_d.lib
|
||||||
|
DEPENDEES install
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
endif()
|
34
build_files/build_environment/cmake/shaderc_deps.cmake
Normal file
34
build_files/build_environment/cmake/shaderc_deps.cmake
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
# These are build time requirements for shaderc. We only have to unpack these
|
||||||
|
# shaderc will build them.
|
||||||
|
|
||||||
|
ExternalProject_Add(external_shaderc_glslang
|
||||||
|
URL file://${PACKAGE_DIR}/${SHADERC_GLSLANG_FILE}
|
||||||
|
URL_HASH ${SHADERC_GLSLANG_HASH_TYPE}=${SHADERC_GLSLANG_HASH}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
PREFIX ${BUILD_DIR}/shaderc_glslang
|
||||||
|
CONFIGURE_COMMAND echo .
|
||||||
|
BUILD_COMMAND echo .
|
||||||
|
INSTALL_COMMAND echo .
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_shaderc_spirv_headers
|
||||||
|
URL file://${PACKAGE_DIR}/${SHADERC_SPIRV_HEADERS_FILE}
|
||||||
|
URL_HASH ${SHADERC_SPIRV_HEADERS_HASH_TYPE}=${SHADERC_SPIRV_HEADERS_HASH}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
PREFIX ${BUILD_DIR}/shaderc_spirv_headers
|
||||||
|
CONFIGURE_COMMAND echo .
|
||||||
|
BUILD_COMMAND echo .
|
||||||
|
INSTALL_COMMAND echo .
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_shaderc_spirv_tools
|
||||||
|
URL file://${PACKAGE_DIR}/${SHADERC_SPIRV_TOOLS_FILE}
|
||||||
|
URL_HASH ${SHADERC_SPIRV_TOOLS_HASH_TYPE}=${SHADERC_SPIRV_TOOLS_HASH}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
PREFIX ${BUILD_DIR}/shaderc_spirv_tools
|
||||||
|
CONFIGURE_COMMAND echo .
|
||||||
|
BUILD_COMMAND echo .
|
||||||
|
INSTALL_COMMAND echo .
|
||||||
|
)
|
@@ -1,9 +1,15 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
set(SNDFILE_EXTRA_ARGS)
|
set(SNDFILE_EXTRA_ARGS)
|
||||||
set(SNDFILE_ENV PKG_CONFIG_PATH=${mingw_LIBDIR}/ogg/lib/pkgconfig:${mingw_LIBDIR}/vorbis/lib/pkgconfig:${mingw_LIBDIR}/flac/lib/pkgconfig:${mingw_LIBDIR})
|
set(SNDFILE_ENV)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
set(SNDFILE_ENV "PKG_CONFIG_PATH=\
|
||||||
|
${mingw_LIBDIR}/ogg/lib/pkgconfig:\
|
||||||
|
${mingw_LIBDIR}/vorbis/lib/pkgconfig:\
|
||||||
|
${mingw_LIBDIR}/flac/lib/pkgconfig:\
|
||||||
|
${mingw_LIBDIR}/opus/lib/pkgconfig"
|
||||||
|
)
|
||||||
set(SNDFILE_ENV set ${SNDFILE_ENV} &&)
|
set(SNDFILE_ENV set ${SNDFILE_ENV} &&)
|
||||||
# Shared for windows because static libs will drag in a libgcc dependency.
|
# Shared for windows because static libs will drag in a libgcc dependency.
|
||||||
set(SNDFILE_OPTIONS --disable-static --enable-shared )
|
set(SNDFILE_OPTIONS --disable-static --enable-shared )
|
||||||
@@ -30,6 +36,7 @@ add_dependencies(
|
|||||||
external_sndfile
|
external_sndfile
|
||||||
external_ogg
|
external_ogg
|
||||||
external_vorbis
|
external_vorbis
|
||||||
|
external_opus
|
||||||
)
|
)
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
add_dependencies(
|
add_dependencies(
|
||||||
|
@@ -5,7 +5,20 @@ ExternalProject_Add(external_spnav
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${SPNAV_HASH_TYPE}=${SPNAV_HASH}
|
URL_HASH ${SPNAV_HASH_TYPE}=${SPNAV_HASH}
|
||||||
PREFIX ${BUILD_DIR}/spnav
|
PREFIX ${BUILD_DIR}/spnav
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/spnav/src/external_spnav/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/spnav --disable-shared --enable-static --with-pic
|
|
||||||
|
CONFIGURE_COMMAND
|
||||||
|
${CONFIGURE_ENV} &&
|
||||||
|
cd ${BUILD_DIR}/spnav/src/external_spnav/ &&
|
||||||
|
${CONFIGURE_COMMAND}
|
||||||
|
--prefix=${LIBDIR}/spnav
|
||||||
|
# X11 is not needed as Blender polls the device as part of the GHOST event loop.
|
||||||
|
# This is used to support `3dxserv`, however this is no longer supported by 3DCONNEXION.
|
||||||
|
# Disable so building without X11 is supported (WAYLAND only).
|
||||||
|
--disable-x11
|
||||||
|
--disable-shared
|
||||||
|
--enable-static
|
||||||
|
--with-pic
|
||||||
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/spnav/src/external_spnav/ && make -j${MAKE_THREADS}
|
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/spnav/src/external_spnav/ && make -j${MAKE_THREADS}
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/spnav/src/external_spnav/ && make install
|
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/spnav/src/external_spnav/ && make install
|
||||||
INSTALL_DIR ${LIBDIR}/spnav
|
INSTALL_DIR ${LIBDIR}/spnav
|
||||||
|
@@ -3,10 +3,23 @@
|
|||||||
set(SSL_CONFIGURE_COMMAND ./Configure)
|
set(SSL_CONFIGURE_COMMAND ./Configure)
|
||||||
set(SSL_PATCH_CMD echo .)
|
set(SSL_PATCH_CMD echo .)
|
||||||
|
|
||||||
if(APPLE)
|
if(WIN32)
|
||||||
|
# Python will build this with its preferred build options and patches. We only need to unpack openssl
|
||||||
|
ExternalProject_Add(external_ssl
|
||||||
|
URL file://${PACKAGE_DIR}/${SSL_FILE}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH ${SSL_HASH_TYPE}=${SSL_HASH}
|
||||||
|
PREFIX ${BUILD_DIR}/ssl
|
||||||
|
CONFIGURE_COMMAND echo "."
|
||||||
|
BUILD_COMMAND echo "."
|
||||||
|
INSTALL_COMMAND echo "."
|
||||||
|
INSTALL_DIR ${LIBDIR}/ssl
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
if(APPLE)
|
||||||
set(SSL_OS_COMPILER "blender-darwin-${CMAKE_OSX_ARCHITECTURES}")
|
set(SSL_OS_COMPILER "blender-darwin-${CMAKE_OSX_ARCHITECTURES}")
|
||||||
set(SSL_PATCH_CMD ${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/ssl/src/external_ssl < ${PATCH_DIR}/ssl.diff)
|
set(SSL_PATCH_CMD ${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/ssl/src/external_ssl < ${PATCH_DIR}/ssl.diff)
|
||||||
else()
|
else()
|
||||||
if(BLENDER_PLATFORM_ARM)
|
if(BLENDER_PLATFORM_ARM)
|
||||||
set(SSL_OS_COMPILER "blender-linux-aarch64")
|
set(SSL_OS_COMPILER "blender-linux-aarch64")
|
||||||
elseif("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
|
elseif("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
|
||||||
@@ -15,9 +28,9 @@ else()
|
|||||||
else()
|
else()
|
||||||
set(SSL_OS_COMPILER "blender-linux-x86")
|
set(SSL_OS_COMPILER "blender-linux-x86")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
ExternalProject_Add(external_ssl
|
ExternalProject_Add(external_ssl
|
||||||
URL file://${PACKAGE_DIR}/${SSL_FILE}
|
URL file://${PACKAGE_DIR}/${SSL_FILE}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${SSL_HASH_TYPE}=${SSL_HASH}
|
URL_HASH ${SSL_HASH_TYPE}=${SSL_HASH}
|
||||||
@@ -32,4 +45,5 @@ ExternalProject_Add(external_ssl
|
|||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ssl/src/external_ssl/ && make -j${MAKE_THREADS}
|
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ssl/src/external_ssl/ && make -j${MAKE_THREADS}
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ssl/src/external_ssl/ && make install
|
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ssl/src/external_ssl/ && make install
|
||||||
INSTALL_DIR ${LIBDIR}/ssl
|
INSTALL_DIR ${LIBDIR}/ssl
|
||||||
)
|
)
|
||||||
|
endif()
|
||||||
|
@@ -1,26 +1,14 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
if(WIN32)
|
set(TBB_EXTRA_ARGS
|
||||||
set(TBB_EXTRA_ARGS
|
|
||||||
-DTBB_BUILD_SHARED=On
|
-DTBB_BUILD_SHARED=On
|
||||||
-DTBB_BUILD_TBBMALLOC=On
|
-DTBB_BUILD_TBBMALLOC=On
|
||||||
-DTBB_BUILD_TBBMALLOC_PROXY=On
|
-DTBB_BUILD_TBBMALLOC_PROXY=On
|
||||||
-DTBB_BUILD_STATIC=Off
|
-DTBB_BUILD_STATIC=Off
|
||||||
-DTBB_BUILD_TESTS=Off
|
-DTBB_BUILD_TESTS=Off
|
||||||
-DCMAKE_DEBUG_POSTFIX=_debug
|
-DCMAKE_DEBUG_POSTFIX=_debug
|
||||||
)
|
)
|
||||||
set(TBB_LIBRARY tbb)
|
set(TBB_LIBRARY tbb)
|
||||||
set(TBB_STATIC_LIBRARY Off)
|
set(TBB_STATIC_LIBRARY Off)
|
||||||
else()
|
|
||||||
set(TBB_EXTRA_ARGS
|
|
||||||
-DTBB_BUILD_SHARED=Off
|
|
||||||
-DTBB_BUILD_TBBMALLOC=On
|
|
||||||
-DTBB_BUILD_TBBMALLOC_PROXY=Off
|
|
||||||
-DTBB_BUILD_STATIC=On
|
|
||||||
-DTBB_BUILD_TESTS=Off
|
|
||||||
)
|
|
||||||
set(TBB_LIBRARY tbb_static)
|
|
||||||
set(TBB_STATIC_LIBRARY On)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# CMake script for TBB from https://github.com/wjakob/tbb/blob/master/CMakeLists.txt
|
# CMake script for TBB from https://github.com/wjakob/tbb/blob/master/CMakeLists.txt
|
||||||
ExternalProject_Add(external_tbb
|
ExternalProject_Add(external_tbb
|
||||||
|
@@ -7,32 +7,57 @@ if(WIN32)
|
|||||||
# USD does not look for debug libs, nor does it link them
|
# USD does not look for debug libs, nor does it link them
|
||||||
# when building static, so this is just to keep find_package happy
|
# 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.
|
# 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}")
|
set(USD_OIIO_CMAKE_DEFINES "-DOIIO_LIBRARIES=${LIBDIR}/openimageio/lib/OpenImageIO_d${LIBEXT}^^${LIBDIR}/openimageio/lib/OpenImageIO_util_d${LIBEXT}")
|
||||||
endif()
|
endif()
|
||||||
set(USD_PLATFORM_FLAGS
|
set(USD_PLATFORM_FLAGS
|
||||||
${USD_OIIO_CMAKE_DEFINES}
|
${USD_OIIO_CMAKE_DEFINES}
|
||||||
-DCMAKE_CXX_FLAGS=${USD_CXX_FLAGS}
|
-DCMAKE_CXX_FLAGS=${USD_CXX_FLAGS}
|
||||||
|
-D_PXR_CXX_DEFINITIONS=/DBOOST_ALL_NO_LIB
|
||||||
|
-DCMAKE_SHARED_LINKER_FLAGS_INIT=/LIBPATH:${LIBDIR}/tbb/lib
|
||||||
|
-DPython_FIND_REGISTRY=NEVER
|
||||||
|
-DPYTHON_INCLUDE_DIRS=${LIBDIR}/python/include
|
||||||
|
-DPYTHON_LIBRARY=${LIBDIR}/python/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}${LIBEXT}
|
||||||
)
|
)
|
||||||
|
if(BUILD_MODE STREQUAL Debug)
|
||||||
|
list(APPEND USD_PLATFORM_FLAGS -DPXR_USE_DEBUG_PYTHON=ON)
|
||||||
|
list(APPEND USD_PLATFORM_FLAGS -DOPENVDB_LIBRARY=${LIBDIR}/openvdb/lib/openvdb_d.lib)
|
||||||
|
endif()
|
||||||
|
elseif(UNIX)
|
||||||
|
# Workaround USD not linking correctly with static Python library, where it would embed
|
||||||
|
# part of the interpret in the USD library. Allow undefined Python symbols and replace
|
||||||
|
# Python library with TBB so it doesn't complain about missing library.
|
||||||
|
set(USD_PLATFORM_FLAGS
|
||||||
|
-DPYTHON_INCLUDE_DIR=${LIBDIR}/python/include/python${PYTHON_SHORT_VERSION}/
|
||||||
|
-DPYTHON_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${SHAREDLIBEXT}
|
||||||
|
)
|
||||||
|
|
||||||
|
if(APPLE)
|
||||||
|
set(USD_SHARED_LINKER_FLAGS "-Xlinker -undefined -Xlinker dynamic_lookup")
|
||||||
|
list(APPEND USD_PLATFORM_FLAGS
|
||||||
|
-DCMAKE_SHARED_LINKER_FLAGS=${USD_SHARED_LINKER_FLAGS}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(USD_EXTRA_ARGS
|
set(USD_EXTRA_ARGS
|
||||||
${DEFAULT_BOOST_FLAGS}
|
${DEFAULT_BOOST_FLAGS}
|
||||||
${USD_PLATFORM_FLAGS}
|
${USD_PLATFORM_FLAGS}
|
||||||
# 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
|
|
||||||
-DOPENSUBDIV_ROOT_DIR=${LIBDIR}/opensubdiv
|
-DOPENSUBDIV_ROOT_DIR=${LIBDIR}/opensubdiv
|
||||||
-DOpenImageIO_ROOT=${LIBDIR}/openimageio
|
-DOpenImageIO_ROOT=${LIBDIR}/openimageio
|
||||||
-DOPENEXR_LIBRARIES=${LIBDIR}/imath/lib/imath${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
-DOPENEXR_LIBRARIES=${LIBDIR}/imath/lib/${LIBPREFIX}Imath${OPENEXR_VERSION_POSTFIX}${SHAREDLIBEXT}
|
||||||
-DOPENEXR_INCLUDE_DIR=${LIBDIR}/imath/include
|
-DOPENEXR_INCLUDE_DIR=${LIBDIR}/imath/include
|
||||||
-DPXR_ENABLE_PYTHON_SUPPORT=OFF
|
-DImath_DIR=${LIBDIR}/imath
|
||||||
|
-DOPENVDB_LOCATION=${LIBDIR}/openvdb
|
||||||
|
-DPXR_ENABLE_PYTHON_SUPPORT=ON
|
||||||
|
-DPXR_USE_PYTHON_3=ON
|
||||||
-DPXR_BUILD_IMAGING=ON
|
-DPXR_BUILD_IMAGING=ON
|
||||||
-DPXR_BUILD_TESTS=OFF
|
-DPXR_BUILD_TESTS=OFF
|
||||||
-DPXR_BUILD_EXAMPLES=OFF
|
-DPXR_BUILD_EXAMPLES=OFF
|
||||||
-DPXR_BUILD_TUTORIALS=OFF
|
-DPXR_BUILD_TUTORIALS=OFF
|
||||||
|
-DPXR_BUILD_USDVIEW=OFF
|
||||||
-DPXR_ENABLE_HDF5_SUPPORT=OFF
|
-DPXR_ENABLE_HDF5_SUPPORT=OFF
|
||||||
-DPXR_ENABLE_MATERIALX_SUPPORT=OFF
|
-DPXR_ENABLE_MATERIALX_SUPPORT=OFF
|
||||||
-DPXR_ENABLE_OPENVDB_SUPPORT=OFF
|
-DPXR_ENABLE_OPENVDB_SUPPORT=ON
|
||||||
-DPYTHON_EXECUTABLE=${PYTHON_BINARY}
|
-DPYTHON_EXECUTABLE=${PYTHON_BINARY}
|
||||||
-DPXR_BUILD_MONOLITHIC=ON
|
-DPXR_BUILD_MONOLITHIC=ON
|
||||||
# OSL is an optional dependency of the Imaging module. However, since that
|
# OSL is an optional dependency of the Imaging module. However, since that
|
||||||
@@ -40,41 +65,36 @@ set(USD_EXTRA_ARGS
|
|||||||
# cube, etc.) to geometry, it's not necessary. Disabling it will make it
|
# cube, etc.) to geometry, it's not necessary. Disabling it will make it
|
||||||
# simpler to build Blender; currently only Cycles uses OSL.
|
# simpler to build Blender; currently only Cycles uses OSL.
|
||||||
-DPXR_ENABLE_OSL_SUPPORT=OFF
|
-DPXR_ENABLE_OSL_SUPPORT=OFF
|
||||||
# GL support on Linux also links to X11 libraries. Enabling it would break
|
# Enable OpenGL for Hydra support. Note that this indirectly also adds an X11
|
||||||
# headless or Wayland-only builds. OpenGL support would be useful if someone
|
# dependency on Linux. This would be good to eliminate for headless and Wayland
|
||||||
# wants to work on a Hydra viewport in Blender; when that's actually being
|
# only builds, however is not worse than what Blender already links to for
|
||||||
# worked on, we could patch in a new PXR_ENABLE_X11_SUPPORT option (to
|
# official releases currently.
|
||||||
# separate OpenGL from X11) and contribute it upstream.
|
-DPXR_ENABLE_GL_SUPPORT=ON
|
||||||
-DPXR_ENABLE_GL_SUPPORT=OFF
|
# OIIO is used for loading image textures in Hydra Storm / Embree renderers.
|
||||||
# Disable Metal since USD fails to build this when OpenGL is disabled.
|
-DPXR_BUILD_OPENIMAGEIO_PLUGIN=ON
|
||||||
-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
|
# USD 22.03 does not support OCIO 2.x
|
||||||
# Tracking ticket https://github.com/PixarAnimationStudios/USD/issues/1386
|
# Tracking ticket https://github.com/PixarAnimationStudios/USD/issues/1386
|
||||||
-DPXR_BUILD_OPENCOLORIO_PLUGIN=OFF
|
-DPXR_BUILD_OPENCOLORIO_PLUGIN=OFF
|
||||||
-DPXR_ENABLE_PTEX_SUPPORT=OFF
|
-DPXR_ENABLE_PTEX_SUPPORT=OFF
|
||||||
-DPXR_BUILD_USD_TOOLS=OFF
|
-DPXR_BUILD_USD_TOOLS=OFF
|
||||||
-DCMAKE_DEBUG_POSTFIX=_d
|
-DCMAKE_DEBUG_POSTFIX=_d
|
||||||
-DBUILD_SHARED_LIBS=Off
|
-DBUILD_SHARED_LIBS=ON
|
||||||
# USD is hellbound on making a shared library,
|
|
||||||
# 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 library.
|
|
||||||
-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}${SHAREDLIBEXT}
|
||||||
-DTbb_TBB_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
|
-DTbb_TBB_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${SHAREDLIBEXT}
|
||||||
|
-DTBB_tbb_LIBRARY_RELEASE=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${SHAREDLIBEXT}
|
||||||
# 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}${SHAREDLIBEXT}
|
||||||
)
|
)
|
||||||
|
|
||||||
ExternalProject_Add(external_usd
|
ExternalProject_Add(external_usd
|
||||||
URL file://${PACKAGE_DIR}/${USD_FILE}
|
URL file://${PACKAGE_DIR}/${USD_FILE}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${USD_HASH_TYPE}=${USD_HASH}
|
URL_HASH ${USD_HASH_TYPE}=${USD_HASH}
|
||||||
|
CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR}
|
||||||
PREFIX ${BUILD_DIR}/usd
|
PREFIX ${BUILD_DIR}/usd
|
||||||
|
LIST_SEPARATOR ^^
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/usd/src/external_usd < ${PATCH_DIR}/usd.diff
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/usd/src/external_usd < ${PATCH_DIR}/usd.diff
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/usd -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${USD_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/usd -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${USD_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/usd
|
INSTALL_DIR ${LIBDIR}/usd
|
||||||
@@ -85,13 +105,15 @@ add_dependencies(
|
|||||||
external_tbb
|
external_tbb
|
||||||
external_boost
|
external_boost
|
||||||
external_opensubdiv
|
external_opensubdiv
|
||||||
|
external_python
|
||||||
|
external_openimageio
|
||||||
|
openvdb
|
||||||
)
|
)
|
||||||
|
|
||||||
# Since USD 21.11 the libraries are prefixed with "usd_", i.e.
|
# Since USD 21.11 the libraries are prefixed with "usd_", i.e. "libusd_m.a" became "libusd_usd_m.a".
|
||||||
# "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(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_")
|
||||||
@@ -101,27 +123,16 @@ endif()
|
|||||||
if(WIN32)
|
if(WIN32)
|
||||||
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/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/python ${HARVEST_TARGET}/usd/lib/debug/python
|
||||||
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
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/usd/lib/usd_ms_d.dll ${HARVEST_TARGET}/usd/lib/usd_ms_d.dll
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/usd/lib/usd_ms_d.lib ${HARVEST_TARGET}/usd/lib/usd_ms_d.lib
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
else()
|
|
||||||
# USD has two build options. The default build creates lots of small libraries,
|
|
||||||
# whereas the 'monolithic' build produces only a single library. The latter
|
|
||||||
# makes linking simpler, so that's what we use in Blender. However, running
|
|
||||||
# 'make install' in the USD sources doesn't install the static library in that
|
|
||||||
# case (only the shared library). As a result, we need to grab the `libusd_m.a`
|
|
||||||
# file from the build directory instead of from the install directory.
|
|
||||||
ExternalProject_Add_Step(external_usd after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/usd/src/external_usd-build/pxr/lib${PXR_LIB_PREFIX}usd_m.a ${HARVEST_TARGET}/usd/lib/lib${PXR_LIB_PREFIX}usd_m.a
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
endif()
|
||||||
|
@@ -35,12 +35,12 @@ set(JPEG_HASH_TYPE MD5)
|
|||||||
set(JPEG_FILE libjpeg-turbo-${JPEG_VERSION}.tar.gz)
|
set(JPEG_FILE libjpeg-turbo-${JPEG_VERSION}.tar.gz)
|
||||||
set(JPEG_CPE "cpe:2.3:a:d.r.commander:libjpeg-turbo:${JPEG_VERSION}:*:*:*:*:*:*:*")
|
set(JPEG_CPE "cpe:2.3:a:d.r.commander:libjpeg-turbo:${JPEG_VERSION}:*:*:*:*:*:*:*")
|
||||||
|
|
||||||
set(BOOST_VERSION 1.78.0)
|
set(BOOST_VERSION 1.80.0)
|
||||||
set(BOOST_VERSION_SHORT 1.78)
|
set(BOOST_VERSION_SHORT 1.80)
|
||||||
set(BOOST_VERSION_NODOTS 1_78_0)
|
set(BOOST_VERSION_NODOTS 1_80_0)
|
||||||
set(BOOST_VERSION_NODOTS_SHORT 1_78)
|
set(BOOST_VERSION_NODOTS_SHORT 1_80)
|
||||||
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 c2f6428ac52b0e5a3c9b2e1d8cc832b5)
|
set(BOOST_HASH 077f074743ea7b0cb49c6ed43953ae95)
|
||||||
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)
|
||||||
set(BOOST_CPE "cpe:2.3:a:boost:boost:${BOOST_VERSION}:*:*:*:*:*:*:*")
|
set(BOOST_CPE "cpe:2.3:a:boost:boost:${BOOST_VERSION}:*:*:*:*:*:*:*")
|
||||||
@@ -77,11 +77,11 @@ if(WIN32)
|
|||||||
# we need to tell the build the postfix is _s while
|
# we need to tell the build the postfix is _s while
|
||||||
# telling all other deps the postfix is _s_d
|
# telling all other deps the postfix is _s_d
|
||||||
if(BUILD_MODE STREQUAL Release)
|
if(BUILD_MODE STREQUAL Release)
|
||||||
set(OPENEXR_VERSION_POSTFIX _s)
|
set(OPENEXR_VERSION_POSTFIX )
|
||||||
set(OPENEXR_VERSION_BUILD_POSTFIX _s)
|
set(OPENEXR_VERSION_BUILD_POSTFIX )
|
||||||
else()
|
else()
|
||||||
set(OPENEXR_VERSION_POSTFIX _s_d)
|
set(OPENEXR_VERSION_POSTFIX _d)
|
||||||
set(OPENEXR_VERSION_BUILD_POSTFIX _s)
|
set(OPENEXR_VERSION_BUILD_POSTFIX )
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
set(OPENEXR_VERSION_BUILD_POSTFIX)
|
set(OPENEXR_VERSION_BUILD_POSTFIX)
|
||||||
@@ -114,9 +114,9 @@ set(ALEMBIC_HASH_TYPE MD5)
|
|||||||
set(ALEMBIC_FILE alembic-${ALEMBIC_VERSION}.tar.gz)
|
set(ALEMBIC_FILE alembic-${ALEMBIC_VERSION}.tar.gz)
|
||||||
SET(FREETYPE_CPE "cpe:2.3:a:freetype:freetype:${FREETYPE_VERSION}:*:*:*:*:*:*:*")
|
SET(FREETYPE_CPE "cpe:2.3:a:freetype:freetype:${FREETYPE_VERSION}:*:*:*:*:*:*:*")
|
||||||
|
|
||||||
set(OPENSUBDIV_VERSION v3_4_4)
|
set(OPENSUBDIV_VERSION v3_5_0)
|
||||||
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 39ecc5caf0abebc943d1ce131855e76e)
|
set(OPENSUBDIV_HASH 230f5cd2911d6240e58a3773b9c6e5e4)
|
||||||
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)
|
||||||
|
|
||||||
@@ -133,12 +133,18 @@ 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.1.1)
|
set(OPENCOLORIO_VERSION 2.2.0)
|
||||||
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 604f562e073f23d88ce89ed4f7f709ba)
|
set(OPENCOLORIO_HASH d58a5980adba2d89a363100a09daa5f3)
|
||||||
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)
|
||||||
|
|
||||||
|
set(MINIZIPNG_VERSION 3.0.7)
|
||||||
|
set(MINIZIPNG_URI https://github.com/zlib-ng/minizip-ng/archive/${MINIZIPNG_VERSION}.tar.gz)
|
||||||
|
set(MINIZIPNG_HASH 09dcc8a9def348e1be9659e384c2cd55)
|
||||||
|
set(MINIZIPNG_HASH_TYPE MD5)
|
||||||
|
set(MINIZIPNG_FILE minizip-ng-${MINIZIPNG_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(LLVM_VERSION 12.0.0)
|
set(LLVM_VERSION 12.0.0)
|
||||||
set(LLVM_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/llvm-project-${LLVM_VERSION}.src.tar.xz)
|
set(LLVM_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/llvm-project-${LLVM_VERSION}.src.tar.xz)
|
||||||
set(LLVM_HASH 5a4fab4d7fc84aefffb118ac2c8a4fc0)
|
set(LLVM_HASH 5a4fab4d7fc84aefffb118ac2c8a4fc0)
|
||||||
@@ -159,9 +165,9 @@ 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 v2.3.20.0)
|
set(OPENIMAGEIO_VERSION v2.4.6.0)
|
||||||
set(OPENIMAGEIO_URI https://github.com/OpenImageIO/oiio/archive/refs/tags/${OPENIMAGEIO_VERSION}.tar.gz)
|
set(OPENIMAGEIO_URI https://github.com/OpenImageIO/oiio/archive/refs/tags/${OPENIMAGEIO_VERSION}.tar.gz)
|
||||||
set(OPENIMAGEIO_HASH defb1fe7c8e64bac60eb3cacaf5c3736)
|
set(OPENIMAGEIO_HASH c7acc1b9a8fda04ef48f7de1feda4dae)
|
||||||
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)
|
||||||
|
|
||||||
@@ -189,17 +195,25 @@ set(TIFF_HASH_TYPE MD5)
|
|||||||
set(TIFF_FILE tiff-${TIFF_VERSION}.tar.gz)
|
set(TIFF_FILE tiff-${TIFF_VERSION}.tar.gz)
|
||||||
set(TIFF_CPE "cpe:2.3:a:libtiff:libtiff:${TIFF_VERSION}:*:*:*:*:*:*:*")
|
set(TIFF_CPE "cpe:2.3:a:libtiff:libtiff:${TIFF_VERSION}:*:*:*:*:*:*:*")
|
||||||
|
|
||||||
set(OSL_VERSION 1.12.6.2)
|
# Recent commit from 1.13.0.2 under development, which includes string table
|
||||||
set(OSL_URI https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/archive/refs/tags/v${OSL_VERSION}.tar.gz)
|
# changes that make the Cycles OptiX implementation work. Official 1.12 OSL
|
||||||
set(OSL_HASH 6fef11548adfdd3e5b25c49d2dae96ee)
|
# releases should also build but without OptiX support.
|
||||||
|
set(OSL_VERSION 1a7670600c8b08c2443a78d03c8c27e9a1149140)
|
||||||
|
set(OSL_URI https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/archive/${OSL_VERSION}.tar.gz)
|
||||||
|
set(OSL_HASH 7b6d6716b05d1addb92a8f47280bf77f)
|
||||||
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)
|
||||||
|
|
||||||
set(PYTHON_VERSION 3.10.8)
|
# NOTE: When updating the python version, it's required to check the versions of
|
||||||
|
# it wants to use in PCbuild/get_externals.bat for the following dependencies:
|
||||||
|
# BZIP2, FFI, SQLITE and change the versions in this file as well. For compliance
|
||||||
|
# reasons there can be no exceptions to this.
|
||||||
|
|
||||||
|
set(PYTHON_VERSION 3.10.9)
|
||||||
set(PYTHON_SHORT_VERSION 3.10)
|
set(PYTHON_SHORT_VERSION 3.10)
|
||||||
set(PYTHON_SHORT_VERSION_NO_DOTS 310)
|
set(PYTHON_SHORT_VERSION_NO_DOTS 310)
|
||||||
set(PYTHON_URI https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz)
|
set(PYTHON_URI https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz)
|
||||||
set(PYTHON_HASH e92356b012ed4d0e09675131d39b1bde)
|
set(PYTHON_HASH dc8c0f274b28ee9e95923d20cfc364c9)
|
||||||
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(PYTHON_CPE "cpe:2.3:a:python:python:${PYTHON_VERSION}:-:*:*:*:*:*:*")
|
set(PYTHON_CPE "cpe:2.3:a:python:python:${PYTHON_VERSION}:-:*:*:*:*:*:*")
|
||||||
@@ -212,33 +226,48 @@ set(TBB_HASH_TYPE MD5)
|
|||||||
set(TBB_FILE oneTBB-${TBB_VERSION}.tar.gz)
|
set(TBB_FILE oneTBB-${TBB_VERSION}.tar.gz)
|
||||||
set(TBB_CPE "cpe:2.3:a:intel:threading_building_blocks:${TBB_YEAR}:*:*:*:*:*:*:*")
|
set(TBB_CPE "cpe:2.3:a:intel:threading_building_blocks:${TBB_YEAR}:*:*:*:*:*:*:*")
|
||||||
|
|
||||||
set(OPENVDB_VERSION 9.0.0)
|
set(OPENVDB_VERSION 10.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 684ce40c2f74f3a0c9cac530e1c7b07e)
|
set(OPENVDB_HASH 64301c737e16b26c8f3085a31e6397e9)
|
||||||
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)
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Python Modules
|
||||||
|
|
||||||
|
# Needed by: `requests` module (so the version doesn't change on rebuild).
|
||||||
set(IDNA_VERSION 3.3)
|
set(IDNA_VERSION 3.3)
|
||||||
|
# Needed by: `requests` module (so the version doesn't change on rebuild).
|
||||||
set(CHARSET_NORMALIZER_VERSION 2.0.10)
|
set(CHARSET_NORMALIZER_VERSION 2.0.10)
|
||||||
|
# Needed by: `requests` module (so the version doesn't change on rebuild).
|
||||||
set(URLLIB3_VERSION 1.26.8)
|
set(URLLIB3_VERSION 1.26.8)
|
||||||
set(URLLIB3_CPE "cpe:2.3:a:urllib3:urllib3:${URLLIB3_VERSION}:*:*:*:*:*:*:*")
|
set(URLLIB3_CPE "cpe:2.3:a:urllib3:urllib3:${URLLIB3_VERSION}:*:*:*:*:*:*:*")
|
||||||
|
# Needed by: Python's `requests` module (so add-ons can authenticate against trusted certificates).
|
||||||
set(CERTIFI_VERSION 2021.10.8)
|
set(CERTIFI_VERSION 2021.10.8)
|
||||||
|
# Needed by: Some of Blender's add-ons (to support convenient interaction with online services).
|
||||||
set(REQUESTS_VERSION 2.27.1)
|
set(REQUESTS_VERSION 2.27.1)
|
||||||
set(CYTHON_VERSION 0.29.26)
|
# Needed by: Python's `numpy` module (used by some add-ons).
|
||||||
# The version of the zstd library used to build the Python package should match ZSTD_VERSION
|
set(CYTHON_VERSION 0.29.30)
|
||||||
|
# Needed by: Python scripts that read `.blend` files, as files may use Z-standard compression.
|
||||||
|
# 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,
|
# 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.
|
# 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)
|
||||||
|
# Auto-format Python source (developer tool, not used by Blender at run-time).
|
||||||
set(AUTOPEP8_VERSION 1.6.0)
|
set(AUTOPEP8_VERSION 1.6.0)
|
||||||
|
# Needed by: `autopep8` (so the version doesn't change on rebuild).
|
||||||
set(PYCODESTYLE_VERSION 2.8.0)
|
set(PYCODESTYLE_VERSION 2.8.0)
|
||||||
|
# Needed by: `autopep8` (so the version doesn't change on rebuild).
|
||||||
set(TOML_VERSION 0.10.2)
|
set(TOML_VERSION 0.10.2)
|
||||||
|
# Build system for other packages (not used by Blender at run-time).
|
||||||
|
set(MESON_VERSION 0.63.0)
|
||||||
|
|
||||||
set(NUMPY_VERSION 1.22.0)
|
set(NUMPY_VERSION 1.23.5)
|
||||||
set(NUMPY_SHORT_VERSION 1.22)
|
set(NUMPY_SHORT_VERSION 1.23)
|
||||||
set(NUMPY_URI https://github.com/numpy/numpy/releases/download/v${NUMPY_VERSION}/numpy-${NUMPY_VERSION}.zip)
|
set(NUMPY_URI https://github.com/numpy/numpy/releases/download/v${NUMPY_VERSION}/numpy-${NUMPY_VERSION}.tar.gz)
|
||||||
set(NUMPY_HASH 252de134862a27bd66705d29622edbfe)
|
set(NUMPY_HASH 8b2692a511a3795f3af8af2cd7566a15)
|
||||||
set(NUMPY_HASH_TYPE MD5)
|
set(NUMPY_HASH_TYPE MD5)
|
||||||
set(NUMPY_FILE numpy-${NUMPY_VERSION}.zip)
|
set(NUMPY_FILE numpy-${NUMPY_VERSION}.tar.gz)
|
||||||
set(NUMPY_CPE "cpe:2.3:a:numpy:numpy:${NUMPY_VERSION}:*:*:*:*:*:*:*")
|
set(NUMPY_CPE "cpe:2.3:a:numpy:numpy:${NUMPY_VERSION}:*:*:*:*:*:*:*")
|
||||||
|
|
||||||
set(LAME_VERSION 3.100)
|
set(LAME_VERSION 3.100)
|
||||||
@@ -330,7 +359,7 @@ set(SNDFILE_VERSION 1.1.0)
|
|||||||
set(SNDFILE_URI https://github.com/libsndfile/libsndfile/releases/download/1.1.0/libsndfile-${SNDFILE_VERSION}.tar.xz)
|
set(SNDFILE_URI https://github.com/libsndfile/libsndfile/releases/download/1.1.0/libsndfile-${SNDFILE_VERSION}.tar.xz)
|
||||||
set(SNDFILE_HASH e63dead2b4f0aaf323687619d007ee6a)
|
set(SNDFILE_HASH e63dead2b4f0aaf323687619d007ee6a)
|
||||||
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.xz)
|
||||||
set(SNDFILE_CPE "cpe:2.3:a:libsndfile_project:libsndfile:${SNDFILE_VERSION}:*:*:*:*:*:*:*")
|
set(SNDFILE_CPE "cpe:2.3:a:libsndfile_project:libsndfile:${SNDFILE_VERSION}:*:*:*:*:*:*:*")
|
||||||
|
|
||||||
set(WEBP_VERSION 1.2.2)
|
set(WEBP_VERSION 1.2.2)
|
||||||
@@ -340,9 +369,9 @@ set(WEBP_HASH_TYPE MD5)
|
|||||||
set(WEBP_FILE libwebp-${WEBP_VERSION}.tar.gz)
|
set(WEBP_FILE libwebp-${WEBP_VERSION}.tar.gz)
|
||||||
set(WEBP_CPE "cpe:2.3:a:webmproject:libwebp:${WEBP_VERSION}:*:*:*:*:*:*:*")
|
set(WEBP_CPE "cpe:2.3:a:webmproject:libwebp:${WEBP_VERSION}:*:*:*:*:*:*:*")
|
||||||
|
|
||||||
set(SPNAV_VERSION 0.2.3)
|
set(SPNAV_VERSION 1.1)
|
||||||
set(SPNAV_URI http://downloads.sourceforge.net/project/spacenav/spacenav%20library%20%28SDK%29/libspnav%20${SPNAV_VERSION}/libspnav-${SPNAV_VERSION}.tar.gz)
|
set(SPNAV_URI https://github.com/FreeSpacenav/libspnav/releases/download/v${SPNAV_VERSION}/libspnav-${SPNAV_VERSION}.tar.gz)
|
||||||
set(SPNAV_HASH 44d840540d53326d4a119c0f1aa7bf0a)
|
set(SPNAV_HASH 7c0032034672dfba3c4bb9b49a440e70)
|
||||||
set(SPNAV_HASH_TYPE MD5)
|
set(SPNAV_HASH_TYPE MD5)
|
||||||
set(SPNAV_FILE libspnav-${SPNAV_VERSION}.tar.gz)
|
set(SPNAV_FILE libspnav-${SPNAV_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -359,9 +388,9 @@ set(XML2_HASH_TYPE MD5)
|
|||||||
set(XML2_FILE libxml2-${XML2_VERSION}.tar.xz)
|
set(XML2_FILE libxml2-${XML2_VERSION}.tar.xz)
|
||||||
set(XML2_CPE "cpe:2.3:a:xmlsoft:libxml2:${XML2_VERSION}:*:*:*:*:*:*:*")
|
set(XML2_CPE "cpe:2.3:a:xmlsoft:libxml2:${XML2_VERSION}:*:*:*:*:*:*:*")
|
||||||
|
|
||||||
set(YAMLCPP_VERSION 0.6.3)
|
set(YAMLCPP_VERSION 0.7.0)
|
||||||
set(YAMLCPP_URI https://codeload.github.com/jbeder/yaml-cpp/tar.gz/yaml-cpp-${YAMLCPP_VERSION})
|
set(YAMLCPP_URI https://codeload.github.com/jbeder/yaml-cpp/tar.gz/yaml-cpp-${YAMLCPP_VERSION})
|
||||||
set(YAMLCPP_HASH b45bf1089a382e81f6b661062c10d0c2)
|
set(YAMLCPP_HASH 74d646a3cc1b5d519829441db96744f0)
|
||||||
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(YAMLCPP "cpe:2.3:a:yaml-cpp_project:yaml-cpp:${YAMLCPP_VERSION}:*:*:*:*:*:*:*")
|
set(YAMLCPP "cpe:2.3:a:yaml-cpp_project:yaml-cpp:${YAMLCPP_VERSION}:*:*:*:*:*:*:*")
|
||||||
@@ -430,9 +459,7 @@ set(LZMA_HASH 5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df)
|
|||||||
set(LZMA_HASH_TYPE SHA256)
|
set(LZMA_HASH_TYPE SHA256)
|
||||||
set(LZMA_FILE xz-${LZMA_VERSION}.tar.bz2)
|
set(LZMA_FILE xz-${LZMA_VERSION}.tar.bz2)
|
||||||
|
|
||||||
# NOTE: This will *HAVE* to match the version python ships on windows which
|
# NOTE: Python's build has been modified to use our ssl version.
|
||||||
# is hardcoded in pythons PCbuild/get_externals.bat. For compliance reasons there
|
|
||||||
# can be no exceptions to this.
|
|
||||||
set(SSL_VERSION 1.1.1q)
|
set(SSL_VERSION 1.1.1q)
|
||||||
set(SSL_URI https://www.openssl.org/source/openssl-${SSL_VERSION}.tar.gz)
|
set(SSL_URI https://www.openssl.org/source/openssl-${SSL_VERSION}.tar.gz)
|
||||||
set(SSL_HASH d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca)
|
set(SSL_HASH d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca)
|
||||||
@@ -443,10 +470,10 @@ set(SSL_CPE "cpe:2.3:a:openssl:openssl:${SSL_VERSION}:*:*:*:*:*:*:*")
|
|||||||
# Note: This will *HAVE* to match the version python ships on windows which
|
# Note: This will *HAVE* to match the version python ships on windows which
|
||||||
# is hardcoded in pythons PCbuild/get_externals.bat for compliance reasons there
|
# is hardcoded in pythons PCbuild/get_externals.bat for compliance reasons there
|
||||||
# can be no exceptions to this.
|
# can be no exceptions to this.
|
||||||
set(SQLITE_VERSION 3.37.2)
|
set(SQLITE_VERSION 3.39.4)
|
||||||
set(SQLLITE_LONG_VERSION 3370200)
|
set(SQLLITE_LONG_VERSION 3390400)
|
||||||
set(SQLITE_URI https://www.sqlite.org/2022/sqlite-autoconf-${SQLLITE_LONG_VERSION}.tar.gz)
|
set(SQLITE_URI https://www.sqlite.org/2022/sqlite-autoconf-${SQLLITE_LONG_VERSION}.tar.gz)
|
||||||
set(SQLITE_HASH e56faacadfb4154f8fbd0f2a3f827d13706b70a1)
|
set(SQLITE_HASH c4c5c39269d1b9bb1487cff580c1f583608229b2)
|
||||||
set(SQLITE_HASH_TYPE SHA1)
|
set(SQLITE_HASH_TYPE SHA1)
|
||||||
set(SQLITE_FILE sqlite-autoconf-${SQLLITE_LONG_VERSION}.tar.gz)
|
set(SQLITE_FILE sqlite-autoconf-${SQLLITE_LONG_VERSION}.tar.gz)
|
||||||
set(SQLITE_CPE "cpe:2.3:a:sqlite:sqlite:${SQLITE_VERSION}:*:*:*:*:*:*:*")
|
set(SQLITE_CPE "cpe:2.3:a:sqlite:sqlite:${SQLITE_VERSION}:*:*:*:*:*:*:*")
|
||||||
@@ -457,12 +484,18 @@ set(EMBREE_HASH 52d0be294d6c88ba7a6c9e046796e7be)
|
|||||||
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(USD_VERSION 22.03)
|
set(USD_VERSION 22.11)
|
||||||
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 e0e441a05057692a83124a1195b09eed)
|
set(USD_HASH 8c89459e48a2ef0e7ae9e7e490377507)
|
||||||
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(MATERIALX_VERSION 1.38.6)
|
||||||
|
set(MATERIALX_URI https://github.com/AcademySoftwareFoundation/MaterialX/archive/refs/tags/v${MATERIALX_VERSION}.tar.gz)
|
||||||
|
set(MATERIALX_HASH d49c9fdef34b5702fc60058d3e1864f2)
|
||||||
|
set(MATERIALX_HASH_TYPE MD5)
|
||||||
|
set(MATERIALX_FILE materialx-v${MATERIALX_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(OIDN_VERSION 1.4.3)
|
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 027093eaf5e8b4e45835b991137b38e6)
|
set(OIDN_HASH 027093eaf5e8b4e45835b991137b38e6)
|
||||||
@@ -635,9 +668,9 @@ set(SPIRV_HEADERS_FILE SPIR-V-Headers-${SPIRV_HEADERS_VERSION}.tar.gz)
|
|||||||
# compiler, the versions used are taken from the following location
|
# compiler, the versions used are taken from the following location
|
||||||
# https://github.com/intel/intel-graphics-compiler/releases
|
# https://github.com/intel/intel-graphics-compiler/releases
|
||||||
|
|
||||||
set(IGC_VERSION 1.0.12149.1)
|
set(IGC_VERSION 1.0.13064.7)
|
||||||
set(IGC_URI https://github.com/intel/intel-graphics-compiler/archive/refs/tags/igc-${IGC_VERSION}.tar.gz)
|
set(IGC_URI https://github.com/intel/intel-graphics-compiler/archive/refs/tags/igc-${IGC_VERSION}.tar.gz)
|
||||||
set(IGC_HASH 44f67f24e3bc5130f9f062533abf8154782a9d0a992bc19b498639a8521ae836)
|
set(IGC_HASH a929abd4cca2b293961ec0437ee4b3b2147bd3b2c8a3c423af78c0c359b2e5ae)
|
||||||
set(IGC_HASH_TYPE SHA256)
|
set(IGC_HASH_TYPE SHA256)
|
||||||
set(IGC_FILE igc-${IGC_VERSION}.tar.gz)
|
set(IGC_FILE igc-${IGC_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -657,15 +690,15 @@ set(IGC_LLVM_FILE ${IGC_LLVM_VERSION}.tar.gz)
|
|||||||
#
|
#
|
||||||
# WARNING WARNING WARNING
|
# WARNING WARNING WARNING
|
||||||
|
|
||||||
set(IGC_OPENCL_CLANG_VERSION 363a5262d8c7cff3fb28f3bdb5d85c8d7e91c1bb)
|
set(IGC_OPENCL_CLANG_VERSION ee31812ea8b89d08c2918f045d11a19bd33525c5)
|
||||||
set(IGC_OPENCL_CLANG_URI https://github.com/intel/opencl-clang/archive/${IGC_OPENCL_CLANG_VERSION}.tar.gz)
|
set(IGC_OPENCL_CLANG_URI https://github.com/intel/opencl-clang/archive/${IGC_OPENCL_CLANG_VERSION}.tar.gz)
|
||||||
set(IGC_OPENCL_CLANG_HASH aa8cf72bb239722ce8ce44f79413c6887ecc8ca18477dd520aa5c4809756da9a)
|
set(IGC_OPENCL_CLANG_HASH 1db6735bbcfaa31e8a9ba39f121d6bafa806ea8919e9f56782d6aaa67771ddda)
|
||||||
set(IGC_OPENCL_CLANG_HASH_TYPE SHA256)
|
set(IGC_OPENCL_CLANG_HASH_TYPE SHA256)
|
||||||
set(IGC_OPENCL_CLANG_FILE opencl-clang-${IGC_OPENCL_CLANG_VERSION}.tar.gz)
|
set(IGC_OPENCL_CLANG_FILE opencl-clang-${IGC_OPENCL_CLANG_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(IGC_VCINTRINSICS_VERSION v0.5.0)
|
set(IGC_VCINTRINSICS_VERSION v0.11.0)
|
||||||
set(IGC_VCINTRINSICS_URI https://github.com/intel/vc-intrinsics/archive/refs/tags/${IGC_VCINTRINSICS_VERSION}.tar.gz)
|
set(IGC_VCINTRINSICS_URI https://github.com/intel/vc-intrinsics/archive/refs/tags/${IGC_VCINTRINSICS_VERSION}.tar.gz)
|
||||||
set(IGC_VCINTRINSICS_HASH 70bb47c5e32173cf61514941e83ae7c7eb4485e6d2fca60cfa1f50d4f42c41f2)
|
set(IGC_VCINTRINSICS_HASH e5acd5626ce7fa6d41ce154c50ac805eda734ee66af94ef28e680ac2ad81bb9f)
|
||||||
set(IGC_VCINTRINSICS_HASH_TYPE SHA256)
|
set(IGC_VCINTRINSICS_HASH_TYPE SHA256)
|
||||||
set(IGC_VCINTRINSICS_FILE vc-intrinsics-${IGC_VCINTRINSICS_VERSION}.tar.gz)
|
set(IGC_VCINTRINSICS_FILE vc-intrinsics-${IGC_VCINTRINSICS_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -681,9 +714,9 @@ set(IGC_SPIRV_TOOLS_HASH 6e19900e948944243024aedd0a201baf3854b377b9cc7a386553bc1
|
|||||||
set(IGC_SPIRV_TOOLS_HASH_TYPE SHA256)
|
set(IGC_SPIRV_TOOLS_HASH_TYPE SHA256)
|
||||||
set(IGC_SPIRV_TOOLS_FILE SPIR-V-Tools-${IGC_SPIRV_TOOLS_VERSION}.tar.gz)
|
set(IGC_SPIRV_TOOLS_FILE SPIR-V-Tools-${IGC_SPIRV_TOOLS_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(IGC_SPIRV_TRANSLATOR_VERSION a31ffaeef77e23d500b3ea3d35e0c42ff5648ad9)
|
set(IGC_SPIRV_TRANSLATOR_VERSION d739c01d65ec00dee64dedd40deed805216a7193)
|
||||||
set(IGC_SPIRV_TRANSLATOR_URI https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/${IGC_SPIRV_TRANSLATOR_VERSION}.tar.gz)
|
set(IGC_SPIRV_TRANSLATOR_URI https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/${IGC_SPIRV_TRANSLATOR_VERSION}.tar.gz)
|
||||||
set(IGC_SPIRV_TRANSLATOR_HASH 9e26c96a45341b8f8af521bacea20e752623346340addd02af95d669f6e89252)
|
set(IGC_SPIRV_TRANSLATOR_HASH ddc0cc9ccbe59dadeaf291012d59de142b2e9f2b124dbb634644d39daddaa13e)
|
||||||
set(IGC_SPIRV_TRANSLATOR_HASH_TYPE SHA256)
|
set(IGC_SPIRV_TRANSLATOR_HASH_TYPE SHA256)
|
||||||
set(IGC_SPIRV_TRANSLATOR_FILE SPIR-V-Translator-${IGC_SPIRV_TRANSLATOR_VERSION}.tar.gz)
|
set(IGC_SPIRV_TRANSLATOR_FILE SPIR-V-Translator-${IGC_SPIRV_TRANSLATOR_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -691,15 +724,15 @@ set(IGC_SPIRV_TRANSLATOR_FILE SPIR-V-Translator-${IGC_SPIRV_TRANSLATOR_VERSION}.
|
|||||||
### Intel Graphics Compiler DEPS END ###
|
### Intel Graphics Compiler DEPS END ###
|
||||||
########################################
|
########################################
|
||||||
|
|
||||||
set(GMMLIB_VERSION intel-gmmlib-22.1.8)
|
set(GMMLIB_VERSION intel-gmmlib-22.3.0)
|
||||||
set(GMMLIB_URI https://github.com/intel/gmmlib/archive/refs/tags/${GMMLIB_VERSION}.tar.gz)
|
set(GMMLIB_URI https://github.com/intel/gmmlib/archive/refs/tags/${GMMLIB_VERSION}.tar.gz)
|
||||||
set(GMMLIB_HASH bf23e9a3742b4fb98c7666c9e9b29f3219e4b2fb4d831aaf4eed71f5e2d17368)
|
set(GMMLIB_HASH c1f33e1519edfc527127baeb0436b783430dfd256c643130169a3a71dc86aff9)
|
||||||
set(GMMLIB_HASH_TYPE SHA256)
|
set(GMMLIB_HASH_TYPE SHA256)
|
||||||
set(GMMLIB_FILE ${GMMLIB_VERSION}.tar.gz)
|
set(GMMLIB_FILE ${GMMLIB_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(OCLOC_VERSION 22.38.24278)
|
set(OCLOC_VERSION 22.49.25018.21)
|
||||||
set(OCLOC_URI https://github.com/intel/compute-runtime/archive/refs/tags/${OCLOC_VERSION}.tar.gz)
|
set(OCLOC_URI https://github.com/intel/compute-runtime/archive/refs/tags/${OCLOC_VERSION}.tar.gz)
|
||||||
set(OCLOC_HASH db0c542fccd651e6404b15a74d46027f1ce0eda8dc9e25a40cbb6c0faef257ee)
|
set(OCLOC_HASH 92362dae08b503a34e5d3820ed284198c452bcd5e7504d90eb69887b20492c06)
|
||||||
set(OCLOC_HASH_TYPE SHA256)
|
set(OCLOC_HASH_TYPE SHA256)
|
||||||
set(OCLOC_FILE ocloc-${OCLOC_VERSION}.tar.gz)
|
set(OCLOC_FILE ocloc-${OCLOC_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -708,3 +741,60 @@ set(AOM_URI https://storage.googleapis.com/aom-releases/libaom-${AOM_VERSION}.ta
|
|||||||
set(AOM_HASH bd754b58c3fa69f3ffd29da77de591bd9c26970e3b18537951336d6c0252e354)
|
set(AOM_HASH bd754b58c3fa69f3ffd29da77de591bd9c26970e3b18537951336d6c0252e354)
|
||||||
set(AOM_HASH_TYPE SHA256)
|
set(AOM_HASH_TYPE SHA256)
|
||||||
set(AOM_FILE libaom-${AOM_VERSION}.tar.gz)
|
set(AOM_FILE libaom-${AOM_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(FRIBIDI_VERSION v1.0.12)
|
||||||
|
set(FRIBIDI_URI https://github.com/fribidi/fribidi/archive/refs/tags/${FRIBIDI_VERSION}.tar.gz)
|
||||||
|
set(FRIBIDI_HASH 2e9e859876571f03567ac91e5ed3b5308791f31cda083408c2b60fa1fe00a39d)
|
||||||
|
set(FRIBIDI_HASH_TYPE SHA256)
|
||||||
|
set(FRIBIDI_FILE fribidi-${FRIBIDI_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(HARFBUZZ_VERSION 5.1.0)
|
||||||
|
set(HARFBUZZ_URI https://github.com/harfbuzz/harfbuzz/archive/refs/tags/${HARFBUZZ_VERSION}.tar.gz)
|
||||||
|
set(HARFBUZZ_HASH 5352ff2eec538ea9a63a485cf01ad8332a3f63aa79921c5a2e301cef185caea1)
|
||||||
|
set(HARFBUZZ_HASH_TYPE SHA256)
|
||||||
|
set(HARFBUZZ_FILE harfbuzz-${HARFBUZZ_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(SHADERC_VERSION v2022.3)
|
||||||
|
set(SHADERC_URI https://github.com/google/shaderc/archive/${SHADERC_VERSION}.tar.gz)
|
||||||
|
set(SHADERC_HASH 5cb762af57637caf997d5f46baa4e8a4)
|
||||||
|
set(SHADERC_HASH_TYPE MD5)
|
||||||
|
set(SHADERC_FILE shaderc-${SHADERC_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
# The versions of shaderc's dependencies can be found in the root of shaderc's
|
||||||
|
# source in a file called DEPS.
|
||||||
|
|
||||||
|
set(SHADERC_SPIRV_TOOLS_VERSION eb0a36633d2acf4de82588504f951ad0f2cecacb)
|
||||||
|
set(SHADERC_SPIRV_TOOLS_URI https://github.com/KhronosGroup/SPIRV-Tools/archive/${SHADERC_SPIRV_TOOLS_VERSION}.tar.gz)
|
||||||
|
set(SHADERC_SPIRV_TOOLS_HASH a4bdb8161f0e959c75d0d82d367c24f2)
|
||||||
|
set(SHADERC_SPIRV_TOOLS_HASH_TYPE MD5)
|
||||||
|
set(SHADERC_SPIRV_TOOLS_FILE SPIRV-Tools-${SHADERC_SPIRV_TOOLS_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(SHADERC_SPIRV_HEADERS_VERSION 85a1ed200d50660786c1a88d9166e871123cce39)
|
||||||
|
set(SHADERC_SPIRV_HEADERS_URI https://github.com/KhronosGroup/SPIRV-Headers/archive/${SHADERC_SPIRV_HEADERS_VERSION}.tar.gz)
|
||||||
|
set(SHADERC_SPIRV_HEADERS_HASH 10d5e8160f39344a641523810b075568)
|
||||||
|
set(SHADERC_SPIRV_HEADERS_HASH_TYPE MD5)
|
||||||
|
set(SHADERC_SPIRV_HEADERS_FILE SPIRV-Headers-${SHADERC_SPIRV_HEADERS_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(SHADERC_GLSLANG_VERSION 89db4e1caa273a057ea46deba709c6e50001b314)
|
||||||
|
set(SHADERC_GLSLANG_URI https://github.com/KhronosGroup/glslang/archive/${SHADERC_GLSLANG_VERSION}.tar.gz)
|
||||||
|
set(SHADERC_GLSLANG_HASH 3b3c79ad8e9132ffcb8b63cc29c532e2)
|
||||||
|
set(SHADERC_GLSLANG_HASH_TYPE MD5)
|
||||||
|
set(SHADERC_GLSLANG_FILE glslang-${SHADERC_GLSLANG_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(VULKAN_VERSION v1.2.198)
|
||||||
|
|
||||||
|
set(VULKAN_HEADERS_URI https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/${VULKAN_VERSION}.tar.gz)
|
||||||
|
set(VULKAN_HEADERS_HASH 64fe73e887c963ad546bfc7f9505fa1d)
|
||||||
|
set(VULKAN_HEADERS_HASH_TYPE MD5)
|
||||||
|
set(VULKAN_HEADERS_FILE Vulkan-Headers-${VULKAN_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(VULKAN_LOADER_URI https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/${VULKAN_VERSION}.tar.gz)
|
||||||
|
set(VULKAN_LOADER_HASH 015170a74f648fd2b41e209b6bf1ebc4)
|
||||||
|
set(VULKAN_LOADER_HASH_TYPE MD5)
|
||||||
|
set(VULKAN_LOADER_FILE Vulkan-Loader-${VULKAN_VERSION}.tar.gz)
|
||||||
|
|
||||||
|
set(PYBIND11_VERSION 2.10.1)
|
||||||
|
set(PYBIND11_URI https://github.com/pybind/pybind11/archive/refs/tags/v${PYBIND11_VERSION}.tar.gz)
|
||||||
|
set(PYBIND11_HASH ce07bfd5089245da7807b3faf6cbc878)
|
||||||
|
set(PYBIND11_HASH_TYPE MD5)
|
||||||
|
set(PYBIND11_FILE pybind-v${PYBIND11_VERSION}.tar.gz)
|
||||||
|
54
build_files/build_environment/cmake/vulkan.cmake
Normal file
54
build_files/build_environment/cmake/vulkan.cmake
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
set(VULKAN_HEADERS_EXTRA_ARGS)
|
||||||
|
|
||||||
|
ExternalProject_Add(external_vulkan_headers
|
||||||
|
URL file://${PACKAGE_DIR}/${VULKAN_HEADERS_FILE}
|
||||||
|
URL_HASH ${VULKAN_HEADERS_HASH_TYPE}=${VULKAN_HEADERS_HASH}
|
||||||
|
PREFIX ${BUILD_DIR}/vulkan_headers
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/vulkan_headers -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${VULKAN_HEADERS_EXTRA_ARGS}
|
||||||
|
INSTALL_DIR ${LIBDIR}/vulkan_headers
|
||||||
|
)
|
||||||
|
|
||||||
|
set(VULKAN_LOADER_EXTRA_ARGS
|
||||||
|
-DVULKAN_HEADERS_INSTALL_DIR=${LIBDIR}/vulkan_headers
|
||||||
|
)
|
||||||
|
|
||||||
|
if(UNIX AND NOT APPLE)
|
||||||
|
# These are used in `cmake/FindWayland.cmake` from `external_vulkan_loader`.
|
||||||
|
# NOTE: When upgrading to CMAKE 3.22 we it would be cleaner to use: `PKG_CONFIG_ARGN`,
|
||||||
|
# so `pkgconfig` would find wayland.
|
||||||
|
set(VULKAN_LOADER_EXTRA_ARGS
|
||||||
|
${VULKAN_LOADER_EXTRA_ARGS}
|
||||||
|
-DPKG_WAYLAND_INCLUDE_DIRS=${LIBDIR}/wayland/include
|
||||||
|
-DPKG_WAYLAND_LIBRARY_DIRS=${LIBDIR}/wayland/lib64
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
ExternalProject_Add(external_vulkan_loader
|
||||||
|
URL file://${PACKAGE_DIR}/${VULKAN_LOADER_FILE}
|
||||||
|
URL_HASH ${VULKAN_LOADER_HASH_TYPE}=${VULKAN_LOADER_HASH}
|
||||||
|
PREFIX ${BUILD_DIR}/vulkan_loader
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/vulkan_loader -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${VULKAN_LOADER_EXTRA_ARGS}
|
||||||
|
INSTALL_DIR ${LIBDIR}/vulkan_loader
|
||||||
|
)
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
external_vulkan_loader
|
||||||
|
external_vulkan_headers
|
||||||
|
)
|
||||||
|
|
||||||
|
if(UNIX AND NOT APPLE)
|
||||||
|
add_dependencies(
|
||||||
|
external_vulkan_loader
|
||||||
|
external_wayland
|
||||||
|
)
|
||||||
|
elseif(WIN32)
|
||||||
|
if(BUILD_MODE STREQUAL Release)
|
||||||
|
ExternalProject_Add_Step(external_vulkan_loader after_install
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/vulkan_loader/ ${HARVEST_TARGET}/vulkan
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/vulkan_headers/ ${HARVEST_TARGET}/vulkan
|
||||||
|
DEPENDEES install
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
endif()
|
@@ -5,7 +5,6 @@ ExternalProject_Add(external_wayland
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${WAYLAND_HASH_TYPE}=${WAYLAND_HASH}
|
URL_HASH ${WAYLAND_HASH_TYPE}=${WAYLAND_HASH}
|
||||||
PREFIX ${BUILD_DIR}/wayland
|
PREFIX ${BUILD_DIR}/wayland
|
||||||
PATCH_COMMAND ${PATCH_CMD} -d ${BUILD_DIR}/wayland/src/external_wayland < ${PATCH_DIR}/wayland.diff
|
|
||||||
# Use `-E` so the `PKG_CONFIG_PATH` can be defined to link against our own LIBEXPAT & LIBXML2.
|
# Use `-E` so the `PKG_CONFIG_PATH` can be defined to link against our own LIBEXPAT & LIBXML2.
|
||||||
#
|
#
|
||||||
# NOTE: passing link args "ffi/lib" should not be needed, but
|
# NOTE: passing link args "ffi/lib" should not be needed, but
|
||||||
@@ -14,7 +13,7 @@ ExternalProject_Add(external_wayland
|
|||||||
# NOTE: `-lm` is needed for `libxml2` which is a static library that uses `libm.so`,
|
# NOTE: `-lm` is needed for `libxml2` which is a static library that uses `libm.so`,
|
||||||
# without this, math symbols such as `floor` aren't found.
|
# without this, math symbols such as `floor` aren't found.
|
||||||
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env PKG_CONFIG_PATH=${LIBDIR}/expat/lib/pkgconfig:${LIBDIR}/xml2/lib/pkgconfig:${LIBDIR}/ffi/lib/pkgconfig:$PKG_CONFIG_PATH
|
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env PKG_CONFIG_PATH=${LIBDIR}/expat/lib/pkgconfig:${LIBDIR}/xml2/lib/pkgconfig:${LIBDIR}/ffi/lib/pkgconfig:$PKG_CONFIG_PATH
|
||||||
meson --prefix ${LIBDIR}/wayland -Ddocumentation=false -Dtests=false -D "c_link_args=-L${LIBDIR}/ffi/lib -lm" . ../external_wayland
|
${MESON} --prefix ${LIBDIR}/wayland -Ddocumentation=false -Dtests=false -D "c_link_args=-L${LIBDIR}/ffi/lib -lm" . ../external_wayland
|
||||||
BUILD_COMMAND ninja
|
BUILD_COMMAND ninja
|
||||||
INSTALL_COMMAND ninja install
|
INSTALL_COMMAND ninja install
|
||||||
)
|
)
|
||||||
@@ -24,4 +23,7 @@ add_dependencies(
|
|||||||
external_expat
|
external_expat
|
||||||
external_xml2
|
external_xml2
|
||||||
external_ffi
|
external_ffi
|
||||||
|
|
||||||
|
# Needed for `MESON`.
|
||||||
|
external_python_site_packages
|
||||||
)
|
)
|
||||||
|
@@ -7,7 +7,7 @@ ExternalProject_Add(external_wayland_protocols
|
|||||||
PREFIX ${BUILD_DIR}/wayland-protocols
|
PREFIX ${BUILD_DIR}/wayland-protocols
|
||||||
# Use `-E` so the `PKG_CONFIG_PATH` can be defined to link against our own WAYLAND.
|
# Use `-E` so the `PKG_CONFIG_PATH` can be defined to link against our own WAYLAND.
|
||||||
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env PKG_CONFIG_PATH=${LIBDIR}/wayland/lib64/pkgconfig:$PKG_CONFIG_PATH
|
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env PKG_CONFIG_PATH=${LIBDIR}/wayland/lib64/pkgconfig:$PKG_CONFIG_PATH
|
||||||
meson --prefix ${LIBDIR}/wayland-protocols . ../external_wayland_protocols -Dtests=false
|
${MESON} --prefix ${LIBDIR}/wayland-protocols . ../external_wayland_protocols -Dtests=false
|
||||||
BUILD_COMMAND ninja
|
BUILD_COMMAND ninja
|
||||||
INSTALL_COMMAND ninja install
|
INSTALL_COMMAND ninja install
|
||||||
)
|
)
|
||||||
@@ -15,4 +15,6 @@ ExternalProject_Add(external_wayland_protocols
|
|||||||
add_dependencies(
|
add_dependencies(
|
||||||
external_wayland_protocols
|
external_wayland_protocols
|
||||||
external_wayland
|
external_wayland
|
||||||
|
# Needed for `MESON`.
|
||||||
|
external_python_site_packages
|
||||||
)
|
)
|
||||||
|
@@ -10,7 +10,8 @@ if(WIN32)
|
|||||||
set(YAMLCPP_EXTRA_ARGS
|
set(YAMLCPP_EXTRA_ARGS
|
||||||
${YAMLCPP_EXTRA_ARGS}
|
${YAMLCPP_EXTRA_ARGS}
|
||||||
-DBUILD_GMOCK=OFF
|
-DBUILD_GMOCK=OFF
|
||||||
-DYAML_MSVC_SHARED_RT=ON)
|
-DYAML_MSVC_SHARED_RT=ON
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
ExternalProject_Add(external_yamlcpp
|
ExternalProject_Add(external_yamlcpp
|
||||||
@@ -18,6 +19,7 @@ ExternalProject_Add(external_yamlcpp
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${YAMLCPP_HASH_TYPE}=${YAMLCPP_HASH}
|
URL_HASH ${YAMLCPP_HASH_TYPE}=${YAMLCPP_HASH}
|
||||||
PREFIX ${BUILD_DIR}/yamlcpp
|
PREFIX ${BUILD_DIR}/yamlcpp
|
||||||
|
CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR}
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/yamlcpp ${DEFAULT_CMAKE_FLAGS} ${YAMLCPP_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/yamlcpp ${DEFAULT_CMAKE_FLAGS} ${YAMLCPP_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/yamlcpp
|
INSTALL_DIR ${LIBDIR}/yamlcpp
|
||||||
)
|
)
|
||||||
|
48
build_files/build_environment/darwin/set_rpath.py
Normal file
48
build_files/build_environment/darwin/set_rpath.py
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
# macOS utility to remove all `rpaths` and add a new one.
|
||||||
|
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
# Strip version numbers from dependenciesm macOS notarizatiom fails
|
||||||
|
# with version symlinks.
|
||||||
|
def strip_lib_version(name):
|
||||||
|
name = re.sub(r'(\.[0-9]+)+.dylib', '.dylib', name)
|
||||||
|
name = re.sub(r'(\.[0-9]+)+.so', '.so', name)
|
||||||
|
name = re.sub(r'(\.[0-9]+)+.cpython', '.cpython', name)
|
||||||
|
return name
|
||||||
|
|
||||||
|
|
||||||
|
rpath = sys.argv[1]
|
||||||
|
file = sys.argv[2]
|
||||||
|
|
||||||
|
# Find existing rpaths and delete them one by one.
|
||||||
|
p = subprocess.run(['otool', '-l', file], capture_output=True)
|
||||||
|
tokens = p.stdout.split()
|
||||||
|
|
||||||
|
for i, token in enumerate(tokens):
|
||||||
|
if token == b'LC_RPATH':
|
||||||
|
old_rpath = tokens[i + 4]
|
||||||
|
subprocess.run(['install_name_tool', '-delete_rpath', old_rpath, file])
|
||||||
|
|
||||||
|
subprocess.run(['install_name_tool', '-add_rpath', rpath, file])
|
||||||
|
|
||||||
|
# Strip version from dependencies.
|
||||||
|
p = subprocess.run(['otool', '-L', file], capture_output=True)
|
||||||
|
tokens = p.stdout.split()
|
||||||
|
for i, token in enumerate(tokens):
|
||||||
|
token = token.decode("utf-8")
|
||||||
|
if token.startswith("@rpath"):
|
||||||
|
new_token = strip_lib_version(token)
|
||||||
|
subprocess.run(['install_name_tool', '-change', token, new_token, file])
|
||||||
|
|
||||||
|
# Strip version from library itself.
|
||||||
|
new_file = strip_lib_version(file)
|
||||||
|
new_id = '@rpath/' + os.path.basename(new_file)
|
||||||
|
os.rename(file, new_file)
|
||||||
|
subprocess.run(['install_name_tool', '-id', new_id, new_file])
|
@@ -39,15 +39,15 @@ with-all,with-opencollada,with-jack,with-pulseaudio,with-embree,with-oidn,with-n
|
|||||||
ver-ocio:,ver-oiio:,ver-llvm:,ver-osl:,ver-osd:,ver-openvdb:,ver-xr-openxr:,ver-level-zero:\
|
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-materialx,force-usd,\
|
||||||
force-xr-openxr,force-level-zero,force-openpgl,\
|
force-xr-openxr,force-level-zero,force-openpgl,\
|
||||||
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-materialx,build-usd,\
|
||||||
build-xr-openxr,build-level-zero,build-openpgl,\
|
build-xr-openxr,build-level-zero,build-openpgl,\
|
||||||
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-materialx,skip-usd,\
|
||||||
skip-xr-openxr,skip-level-zero,skip-openpgl \
|
skip-xr-openxr,skip-level-zero,skip-openpgl \
|
||||||
-- "$@" \
|
-- "$@" \
|
||||||
)
|
)
|
||||||
@@ -223,6 +223,9 @@ ARGUMENTS_INFO="\"COMMAND LINE ARGUMENTS:
|
|||||||
--build-ffmpeg
|
--build-ffmpeg
|
||||||
Force the build of FFMpeg.
|
Force the build of FFMpeg.
|
||||||
|
|
||||||
|
--build-materialx
|
||||||
|
Force the build of MaterialX.
|
||||||
|
|
||||||
--build-usd
|
--build-usd
|
||||||
Force the build of Universal Scene Description.
|
Force the build of Universal Scene Description.
|
||||||
|
|
||||||
@@ -296,6 +299,9 @@ ARGUMENTS_INFO="\"COMMAND LINE ARGUMENTS:
|
|||||||
--force-ffmpeg
|
--force-ffmpeg
|
||||||
Force the rebuild of FFMpeg.
|
Force the rebuild of FFMpeg.
|
||||||
|
|
||||||
|
--force-materialx
|
||||||
|
Force the rebuild of MaterialX.
|
||||||
|
|
||||||
--force-usd
|
--force-usd
|
||||||
Force the rebuild of Universal Scene Description.
|
Force the rebuild of Universal Scene Description.
|
||||||
|
|
||||||
@@ -362,6 +368,9 @@ ARGUMENTS_INFO="\"COMMAND LINE ARGUMENTS:
|
|||||||
--skip-ffmpeg
|
--skip-ffmpeg
|
||||||
Unconditionally skip FFMpeg installation/building.
|
Unconditionally skip FFMpeg installation/building.
|
||||||
|
|
||||||
|
--skip-materialx
|
||||||
|
Unconditionally skip MaterialX installation/building.
|
||||||
|
|
||||||
--skip-usd
|
--skip-usd
|
||||||
Unconditionally skip Universal Scene Description installation/building.
|
Unconditionally skip Universal Scene Description installation/building.
|
||||||
|
|
||||||
@@ -394,7 +403,7 @@ CLANG_FORMAT_VERSION="10.0"
|
|||||||
CLANG_FORMAT_VERSION_MIN="6.0"
|
CLANG_FORMAT_VERSION_MIN="6.0"
|
||||||
CLANG_FORMAT_VERSION_MEX="14.0"
|
CLANG_FORMAT_VERSION_MEX="14.0"
|
||||||
|
|
||||||
PYTHON_VERSION="3.10.8"
|
PYTHON_VERSION="3.10.9"
|
||||||
PYTHON_VERSION_SHORT="3.10"
|
PYTHON_VERSION_SHORT="3.10"
|
||||||
PYTHON_VERSION_MIN="3.10"
|
PYTHON_VERSION_MIN="3.10"
|
||||||
PYTHON_VERSION_MEX="3.12"
|
PYTHON_VERSION_MEX="3.12"
|
||||||
@@ -402,6 +411,7 @@ PYTHON_VERSION_INSTALLED=$PYTHON_VERSION_SHORT
|
|||||||
PYTHON_FORCE_BUILD=false
|
PYTHON_FORCE_BUILD=false
|
||||||
PYTHON_FORCE_REBUILD=false
|
PYTHON_FORCE_REBUILD=false
|
||||||
PYTHON_SKIP=false
|
PYTHON_SKIP=false
|
||||||
|
_with_built_python=false
|
||||||
|
|
||||||
# Additional Python modules.
|
# Additional Python modules.
|
||||||
PYTHON_IDNA_VERSION="3.3"
|
PYTHON_IDNA_VERSION="3.3"
|
||||||
@@ -434,7 +444,7 @@ PYTHON_ZSTANDARD_VERSION_MIN="0.15.2"
|
|||||||
PYTHON_ZSTANDARD_VERSION_MEX="0.20.0"
|
PYTHON_ZSTANDARD_VERSION_MEX="0.20.0"
|
||||||
PYTHON_ZSTANDARD_NAME="zstandard"
|
PYTHON_ZSTANDARD_NAME="zstandard"
|
||||||
|
|
||||||
PYTHON_NUMPY_VERSION="1.22.0"
|
PYTHON_NUMPY_VERSION="1.23.5"
|
||||||
PYTHON_NUMPY_VERSION_MIN="1.14"
|
PYTHON_NUMPY_VERSION_MIN="1.14"
|
||||||
PYTHON_NUMPY_VERSION_MEX="2.0"
|
PYTHON_NUMPY_VERSION_MEX="2.0"
|
||||||
PYTHON_NUMPY_NAME="numpy"
|
PYTHON_NUMPY_NAME="numpy"
|
||||||
@@ -462,11 +472,13 @@ PYTHON_MODULES_PIP=(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
BOOST_VERSION="1.78.0"
|
BOOST_VERSION="1.80.0"
|
||||||
BOOST_VERSION_SHORT="1.78"
|
BOOST_VERSION_SHORT="1.80"
|
||||||
BOOST_VERSION_MIN="1.49"
|
BOOST_VERSION_MIN="1.49"
|
||||||
BOOST_VERSION_MEX="2.0"
|
BOOST_VERSION_MEX="2.0"
|
||||||
BOOST_FORCE_BUILD=false
|
# XXX Boost currently has an issue with python/tbb, see rB019b930 for details and patch used to fix it.
|
||||||
|
# So for now it has to be built, system packages are not usable. :(
|
||||||
|
BOOST_FORCE_BUILD=true
|
||||||
BOOST_FORCE_REBUILD=false
|
BOOST_FORCE_REBUILD=false
|
||||||
BOOST_SKIP=false
|
BOOST_SKIP=false
|
||||||
|
|
||||||
@@ -479,8 +491,8 @@ TBB_FORCE_BUILD=false
|
|||||||
TBB_FORCE_REBUILD=false
|
TBB_FORCE_REBUILD=false
|
||||||
TBB_SKIP=false
|
TBB_SKIP=false
|
||||||
|
|
||||||
OCIO_VERSION="2.1.1"
|
OCIO_VERSION="2.2.0"
|
||||||
OCIO_VERSION_SHORT="2.1"
|
OCIO_VERSION_SHORT="2.2"
|
||||||
OCIO_VERSION_MIN="2.0"
|
OCIO_VERSION_MIN="2.0"
|
||||||
OCIO_VERSION_MEX="3.0"
|
OCIO_VERSION_MEX="3.0"
|
||||||
OCIO_FORCE_BUILD=false
|
OCIO_FORCE_BUILD=false
|
||||||
@@ -505,10 +517,10 @@ OPENEXR_FORCE_REBUILD=false
|
|||||||
OPENEXR_SKIP=false
|
OPENEXR_SKIP=false
|
||||||
_with_built_openexr=false
|
_with_built_openexr=false
|
||||||
|
|
||||||
OIIO_VERSION="2.3.20.0"
|
OIIO_VERSION="2.4.6.0"
|
||||||
OIIO_VERSION_SHORT="2.3"
|
OIIO_VERSION_SHORT="2.4"
|
||||||
OIIO_VERSION_MIN="2.1.12"
|
OIIO_VERSION_MIN="2.2.0"
|
||||||
OIIO_VERSION_MEX="2.4.0"
|
OIIO_VERSION_MEX="2.5.0"
|
||||||
OIIO_FORCE_BUILD=false
|
OIIO_FORCE_BUILD=false
|
||||||
OIIO_FORCE_REBUILD=false
|
OIIO_FORCE_REBUILD=false
|
||||||
OIIO_SKIP=false
|
OIIO_SKIP=false
|
||||||
@@ -523,8 +535,8 @@ LLVM_FORCE_REBUILD=false
|
|||||||
LLVM_SKIP=false
|
LLVM_SKIP=false
|
||||||
|
|
||||||
# OSL needs to be compiled for now!
|
# OSL needs to be compiled for now!
|
||||||
OSL_VERSION="1.12.6.2"
|
OSL_VERSION="1.13.0.2"
|
||||||
OSL_VERSION_SHORT="1.12"
|
OSL_VERSION_SHORT="1.13"
|
||||||
OSL_VERSION_MIN="1.11"
|
OSL_VERSION_MIN="1.11"
|
||||||
OSL_VERSION_MEX="2.0"
|
OSL_VERSION_MEX="2.0"
|
||||||
OSL_FORCE_BUILD=false
|
OSL_FORCE_BUILD=false
|
||||||
@@ -532,9 +544,9 @@ OSL_FORCE_REBUILD=false
|
|||||||
OSL_SKIP=false
|
OSL_SKIP=false
|
||||||
|
|
||||||
# OpenSubdiv needs to be compiled for now
|
# OpenSubdiv needs to be compiled for now
|
||||||
OSD_VERSION="3.4.4"
|
OSD_VERSION="3.5.0"
|
||||||
OSD_VERSION_SHORT="3.4"
|
OSD_VERSION_SHORT="3.5"
|
||||||
OSD_VERSION_MIN="3.4"
|
OSD_VERSION_MIN="3.5"
|
||||||
OSD_VERSION_MEX="4.0"
|
OSD_VERSION_MEX="4.0"
|
||||||
OSD_FORCE_BUILD=false
|
OSD_FORCE_BUILD=false
|
||||||
OSD_FORCE_REBUILD=false
|
OSD_FORCE_REBUILD=false
|
||||||
@@ -543,10 +555,10 @@ OSD_SKIP=false
|
|||||||
# OpenVDB needs to be compiled for now
|
# OpenVDB needs to be compiled for now
|
||||||
OPENVDB_BLOSC_VERSION="1.21.1"
|
OPENVDB_BLOSC_VERSION="1.21.1"
|
||||||
|
|
||||||
OPENVDB_VERSION="9.0.0"
|
OPENVDB_VERSION="10.0.0"
|
||||||
OPENVDB_VERSION_SHORT="9.0"
|
OPENVDB_VERSION_SHORT="10.0"
|
||||||
OPENVDB_VERSION_MIN="9.0"
|
OPENVDB_VERSION_MIN="10.0"
|
||||||
OPENVDB_VERSION_MEX="9.1"
|
OPENVDB_VERSION_MEX="11.0"
|
||||||
OPENVDB_FORCE_BUILD=false
|
OPENVDB_FORCE_BUILD=false
|
||||||
OPENVDB_FORCE_REBUILD=false
|
OPENVDB_FORCE_REBUILD=false
|
||||||
OPENVDB_SKIP=false
|
OPENVDB_SKIP=false
|
||||||
@@ -560,8 +572,16 @@ ALEMBIC_FORCE_BUILD=false
|
|||||||
ALEMBIC_FORCE_REBUILD=false
|
ALEMBIC_FORCE_REBUILD=false
|
||||||
ALEMBIC_SKIP=false
|
ALEMBIC_SKIP=false
|
||||||
|
|
||||||
USD_VERSION="22.03"
|
MATERIALX_VERSION="1.38.6"
|
||||||
USD_VERSION_SHORT="22.03"
|
MATERIALX_VERSION_SHORT="1.38"
|
||||||
|
MATERIALX_VERSION_MIN="1.38"
|
||||||
|
MATERIALX_VERSION_MEX="1.40"
|
||||||
|
MATERIALX_FORCE_BUILD=false
|
||||||
|
MATERIALX_FORCE_REBUILD=false
|
||||||
|
MATERIALX_SKIP=false
|
||||||
|
|
||||||
|
USD_VERSION="22.11"
|
||||||
|
USD_VERSION_SHORT="22.11"
|
||||||
USD_VERSION_MIN="20.05"
|
USD_VERSION_MIN="20.05"
|
||||||
USD_VERSION_MEX="23.00"
|
USD_VERSION_MEX="23.00"
|
||||||
USD_FORCE_BUILD=false
|
USD_FORCE_BUILD=false
|
||||||
@@ -896,6 +916,9 @@ while true; do
|
|||||||
--build-alembic)
|
--build-alembic)
|
||||||
ALEMBIC_FORCE_BUILD=true; shift; continue
|
ALEMBIC_FORCE_BUILD=true; shift; continue
|
||||||
;;
|
;;
|
||||||
|
--build-materialx)
|
||||||
|
MATERIALX_FORCE_BUILD=true; shift; continue
|
||||||
|
;;
|
||||||
--build-usd)
|
--build-usd)
|
||||||
USD_FORCE_BUILD=true; shift; continue
|
USD_FORCE_BUILD=true; shift; continue
|
||||||
;;
|
;;
|
||||||
@@ -925,6 +948,7 @@ while true; do
|
|||||||
OIDN_FORCE_REBUILD=true
|
OIDN_FORCE_REBUILD=true
|
||||||
FFMPEG_FORCE_REBUILD=true
|
FFMPEG_FORCE_REBUILD=true
|
||||||
ALEMBIC_FORCE_REBUILD=true
|
ALEMBIC_FORCE_REBUILD=true
|
||||||
|
MATERIALX_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
|
LEVEL_ZERO_FORCE_REBUILD=true
|
||||||
@@ -980,6 +1004,9 @@ while true; do
|
|||||||
--force-alembic)
|
--force-alembic)
|
||||||
ALEMBIC_FORCE_REBUILD=true; shift; continue
|
ALEMBIC_FORCE_REBUILD=true; shift; continue
|
||||||
;;
|
;;
|
||||||
|
--force-materialx)
|
||||||
|
MATERIALX_FORCE_REBUILD=true; shift; continue
|
||||||
|
;;
|
||||||
--force-usd)
|
--force-usd)
|
||||||
USD_FORCE_REBUILD=true; shift; continue
|
USD_FORCE_REBUILD=true; shift; continue
|
||||||
;;
|
;;
|
||||||
@@ -1043,6 +1070,9 @@ while true; do
|
|||||||
--skip-usd)
|
--skip-usd)
|
||||||
USD_SKIP=true; shift; continue
|
USD_SKIP=true; shift; continue
|
||||||
;;
|
;;
|
||||||
|
--skip-materialx)
|
||||||
|
MATERIALX_SKIP=true; shift; continue
|
||||||
|
;;
|
||||||
--skip-xr-openxr)
|
--skip-xr-openxr)
|
||||||
XR_OPENXR_SKIP=true; shift; continue
|
XR_OPENXR_SKIP=true; shift; continue
|
||||||
;;
|
;;
|
||||||
@@ -1108,7 +1138,9 @@ PYTHON_SOURCE=( "https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHO
|
|||||||
|
|
||||||
_boost_version_nodots=`echo "$BOOST_VERSION" | sed -r 's/\./_/g'`
|
_boost_version_nodots=`echo "$BOOST_VERSION" | sed -r 's/\./_/g'`
|
||||||
BOOST_SOURCE=( "https://boostorg.jfrog.io/artifactory/main/release/$BOOST_VERSION/source/boost_$_boost_version_nodots.tar.bz2" )
|
BOOST_SOURCE=( "https://boostorg.jfrog.io/artifactory/main/release/$BOOST_VERSION/source/boost_$_boost_version_nodots.tar.bz2" )
|
||||||
BOOST_BUILD_MODULES="--with-system --with-filesystem --with-thread --with-regex --with-locale --with-date_time --with-wave --with-iostreams --with-python --with-program_options --with-serialization --with-atomic"
|
BOOST_BUILD_MODULES="--with-filesystem --with-locale --with-thread --with-regex --with-system --with-date_time --with-wave --with-atomic --with-serialization --with-program_options --with-iostreams --with-python"
|
||||||
|
# Used by debian distros.
|
||||||
|
BOOST_DEB_PACKAGE_MODULES=( "libboost-filesystem" "libboost-locale" "libboost-thread" "libboost-regex" "libboost-system" "libboost-date-time" "libboost-wave" "libboost-atomic" "libboost-serialization" "libboost-program-options" "libboost-iostreams" "libboost-python" "libboost-numpy" )
|
||||||
|
|
||||||
TBB_SOURCE=( "https://github.com/oneapi-src/oneTBB/archive/$TBB_VERSION$TBB_VERSION_UPDATE.tar.gz" )
|
TBB_SOURCE=( "https://github.com/oneapi-src/oneTBB/archive/$TBB_VERSION$TBB_VERSION_UPDATE.tar.gz" )
|
||||||
TBB_SOURCE_CMAKE=( "https://raw.githubusercontent.com/wjakob/tbb/master/CMakeLists.txt" )
|
TBB_SOURCE_CMAKE=( "https://raw.githubusercontent.com/wjakob/tbb/master/CMakeLists.txt" )
|
||||||
@@ -1138,17 +1170,11 @@ _LLVM_SOURCE_ROOT="https://github.com/llvm/llvm-project/releases/download/llvmor
|
|||||||
LLVM_SOURCE=( "$_LLVM_SOURCE_ROOT/llvm-$LLVM_VERSION.src.tar.xz" )
|
LLVM_SOURCE=( "$_LLVM_SOURCE_ROOT/llvm-$LLVM_VERSION.src.tar.xz" )
|
||||||
LLVM_CLANG_SOURCE=( "$_LLVM_SOURCE_ROOT/clang-$LLVM_VERSION.src.tar.xz" "$_LLVM_SOURCE_ROOT/cfe-$LLVM_VERSION.src.tar.xz" )
|
LLVM_CLANG_SOURCE=( "$_LLVM_SOURCE_ROOT/clang-$LLVM_VERSION.src.tar.xz" "$_LLVM_SOURCE_ROOT/cfe-$LLVM_VERSION.src.tar.xz" )
|
||||||
|
|
||||||
OSL_USE_REPO=false
|
OSL_USE_REPO=true
|
||||||
OSL_SOURCE=( "https://github.com/imageworks/OpenShadingLanguage/archive/v$OSL_VERSION.tar.gz" )
|
OSL_SOURCE=( "https://github.com/imageworks/OpenShadingLanguage/archive/v$OSL_VERSION.tar.gz" )
|
||||||
#~ OSL_SOURCE_REPO=( "https://github.com/imageworks/OpenShadingLanguage.git" )
|
OSL_SOURCE_REPO=( "https://github.com/AcademySoftwareFoundation/OpenShadingLanguage.git" )
|
||||||
#~ OSL_SOURCE_REPO_BRANCH="master"
|
OSL_SOURCE_REPO_BRANCH="main"
|
||||||
#~ OSL_SOURCE_REPO_UID="85179714e1bc69cd25ecb6bb711c1a156685d395"
|
OSL_SOURCE_REPO_UID="1a7670600c8b08c2443a78d03c8c27e9a1149140"
|
||||||
#~ OSL_SOURCE=( "https://github.com/Nazg-Gul/OpenShadingLanguage/archive/Release-1.5.11.tar.gz" )
|
|
||||||
#~ OSL_SOURCE_REPO=( "https://github.com/mont29/OpenShadingLanguage.git" )
|
|
||||||
#~ OSL_SOURCE_REPO_UID="85179714e1bc69cd25ecb6bb711c1a156685d395"
|
|
||||||
#~ OSL_SOURCE_REPO=( "https://github.com/Nazg-Gul/OpenShadingLanguage.git" )
|
|
||||||
#~ OSL_SOURCE_REPO_UID="7d40ff5fe8e47b030042afb92d0e955f5aa96f48"
|
|
||||||
#~ OSL_SOURCE_REPO_BRANCH="blender-fixes"
|
|
||||||
|
|
||||||
OSD_USE_REPO=false
|
OSD_USE_REPO=false
|
||||||
# Script foo to make the version string compliant with the archive name:
|
# Script foo to make the version string compliant with the archive name:
|
||||||
@@ -1171,6 +1197,8 @@ ALEMBIC_SOURCE=( "https://github.com/alembic/alembic/archive/${ALEMBIC_VERSION}.
|
|||||||
# ALEMBIC_SOURCE_REPO_UID="e6c90d4faa32c4550adeaaf3f556dad4b73a92bb"
|
# ALEMBIC_SOURCE_REPO_UID="e6c90d4faa32c4550adeaaf3f556dad4b73a92bb"
|
||||||
# ALEMBIC_SOURCE_REPO_BRANCH="master"
|
# ALEMBIC_SOURCE_REPO_BRANCH="master"
|
||||||
|
|
||||||
|
MATERIALX_SOURCE=( "https://github.com/AcademySoftwareFoundation/MaterialX/archive/refs/tags/v${MATERIALX_VERSION}.tar.gz" )
|
||||||
|
|
||||||
USD_SOURCE=( "https://github.com/PixarAnimationStudios/USD/archive/v${USD_VERSION}.tar.gz" )
|
USD_SOURCE=( "https://github.com/PixarAnimationStudios/USD/archive/v${USD_VERSION}.tar.gz" )
|
||||||
|
|
||||||
OPENCOLLADA_USE_REPO=false
|
OPENCOLLADA_USE_REPO=false
|
||||||
@@ -1223,8 +1251,10 @@ Those libraries should be available as packages in all recent distributions (opt
|
|||||||
* libjpeg, libpng, libtiff, [openjpeg2], [libopenal].
|
* libjpeg, libpng, libtiff, [openjpeg2], [libopenal].
|
||||||
* libx11, libxcursor, libxi, libxrandr, libxinerama (and other libx... as needed).
|
* libx11, libxcursor, libxi, libxrandr, libxinerama (and other libx... as needed).
|
||||||
* libwayland-client0, libdecor, libwayland-cursor0, libwayland-egl1, libxkbcommon0, libdbus-1-3, libegl1 (Wayland)
|
* libwayland-client0, libdecor, 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, pybind11.
|
||||||
* libsdl2, libepoxy, libpugixml, libpotrace, [libgmp], fontconfig, [libharu/libhpdf].\""
|
* libsdl2, libepoxy, libpugixml, libpotrace, [libgmp], fontconfig, [libharu/libhpdf].
|
||||||
|
* [libvulkan/vulkan-loader].
|
||||||
|
* [libfribidi], [libharfbuzz].\""
|
||||||
|
|
||||||
DEPS_SPECIFIC_INFO="\"BUILDABLE DEPENDENCIES:
|
DEPS_SPECIFIC_INFO="\"BUILDABLE DEPENDENCIES:
|
||||||
|
|
||||||
@@ -1485,9 +1515,17 @@ _init_python() {
|
|||||||
_update_deps_python() {
|
_update_deps_python() {
|
||||||
if [ "$1" = true ]; then
|
if [ "$1" = true ]; then
|
||||||
BOOST_FORCE_BUILD=true
|
BOOST_FORCE_BUILD=true
|
||||||
|
OCIO_FORCE_BUILD=true
|
||||||
|
OIIO_FORCE_BUILD=true
|
||||||
|
OPENVDB_FORCE_BUILD=true
|
||||||
|
USD_FORCE_BUILD=true
|
||||||
fi
|
fi
|
||||||
if [ "$2" = true ]; then
|
if [ "$2" = true ]; then
|
||||||
BOOST_FORCE_REBUILD=true
|
BOOST_FORCE_REBUILD=true
|
||||||
|
OCIO_FORCE_REBUILD=true
|
||||||
|
OIIO_FORCE_REBUILD=true
|
||||||
|
OPENVDB_FORCE_REBUILD=true
|
||||||
|
USD_FORCE_REBUILD=true
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1573,6 +1611,9 @@ compile_Python() {
|
|||||||
PRINT ""
|
PRINT ""
|
||||||
$_python -m pip install $module --no-binary :all:
|
$_python -m pip install $module --no-binary :all:
|
||||||
done
|
done
|
||||||
|
|
||||||
|
_with_built_python=true
|
||||||
|
_with_built_python_execpath="$INST/python-$PYTHON_VERSION_SHORT/bin/python3"
|
||||||
}
|
}
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
@@ -1591,12 +1632,14 @@ _update_deps_boost() {
|
|||||||
OSL_FORCE_BUILD=true
|
OSL_FORCE_BUILD=true
|
||||||
OPENVDB_FORCE_BUILD=true
|
OPENVDB_FORCE_BUILD=true
|
||||||
ALEMBIC_FORCE_BUILD=true
|
ALEMBIC_FORCE_BUILD=true
|
||||||
|
USD_FORCE_BUILD=true
|
||||||
fi
|
fi
|
||||||
if [ "$2" = true ]; then
|
if [ "$2" = true ]; then
|
||||||
OIIO_FORCE_REBUILD=true
|
OIIO_FORCE_REBUILD=true
|
||||||
OSL_FORCE_REBUILD=true
|
OSL_FORCE_REBUILD=true
|
||||||
OPENVDB_FORCE_REBUILD=true
|
OPENVDB_FORCE_REBUILD=true
|
||||||
ALEMBIC_FORCE_REBUILD=true
|
ALEMBIC_FORCE_REBUILD=true
|
||||||
|
USD_FORCE_REBUILD=true
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1616,7 +1659,7 @@ compile_Boost() {
|
|||||||
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!
|
||||||
boost_magic=14
|
boost_magic=15
|
||||||
|
|
||||||
_init_boost
|
_init_boost
|
||||||
|
|
||||||
@@ -1642,11 +1685,13 @@ compile_Boost() {
|
|||||||
mkdir -p $SRC
|
mkdir -p $SRC
|
||||||
download BOOST_SOURCE[@] $_src.tar.bz2
|
download BOOST_SOURCE[@] $_src.tar.bz2
|
||||||
tar -C $SRC --transform "s,\w*,boost-$BOOST_VERSION,x" -xf $_src.tar.bz2
|
tar -C $SRC --transform "s,\w*,boost-$BOOST_VERSION,x" -xf $_src.tar.bz2
|
||||||
|
|
||||||
|
patch -d $_src -p1 < $SCRIPT_DIR/patches/boost.diff
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd $_src
|
cd $_src
|
||||||
if [ ! -f $_src/b2 ]; then
|
if [ ! -f $_src/b2 ]; then
|
||||||
if [ -d $INST/python-$PYTHON_VERSION_INSTALLED ]; then
|
if [ -d $_with_built_python ]; then
|
||||||
./bootstrap.sh --with-python-root="$INST/python-$PYTHON_VERSION_INSTALLED"
|
./bootstrap.sh --with-python-root="$INST/python-$PYTHON_VERSION_INSTALLED"
|
||||||
else
|
else
|
||||||
./bootstrap.sh
|
./bootstrap.sh
|
||||||
@@ -1841,7 +1886,7 @@ compile_OCIO() {
|
|||||||
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!
|
||||||
ocio_magic=3
|
ocio_magic=5
|
||||||
_init_ocio
|
_init_ocio
|
||||||
|
|
||||||
# Force having own builds for the dependencies.
|
# Force having own builds for the dependencies.
|
||||||
@@ -1896,9 +1941,13 @@ compile_OCIO() {
|
|||||||
cmake_d="$cmake_d -D CMAKE_PREFIX_PATH=$_inst"
|
cmake_d="$cmake_d -D CMAKE_PREFIX_PATH=$_inst"
|
||||||
cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst"
|
cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst"
|
||||||
cmake_d="$cmake_d -D OCIO_BUILD_APPS=OFF"
|
cmake_d="$cmake_d -D OCIO_BUILD_APPS=OFF"
|
||||||
cmake_d="$cmake_d -D OCIO_BUILD_PYTHON=OFF"
|
cmake_d="$cmake_d -D OCIO_BUILD_PYTHON=ON"
|
||||||
cmake_d="$cmake_d -D OCIO_BUILD_GPU_TESTS=OFF"
|
cmake_d="$cmake_d -D OCIO_BUILD_GPU_TESTS=OFF"
|
||||||
|
|
||||||
|
if [ "$_with_built_python" = true ]; then
|
||||||
|
cmake_d="$cmake_d -D Python_EXECUTABLE=$_with_built_python_execpath"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ $(uname -m) == "aarch64" ]; then
|
if [ $(uname -m) == "aarch64" ]; then
|
||||||
cmake_d="$cmake_d -D OCIO_USE_SSE=OFF"
|
cmake_d="$cmake_d -D OCIO_USE_SSE=OFF"
|
||||||
fi
|
fi
|
||||||
@@ -2088,11 +2137,13 @@ _update_deps_openexr() {
|
|||||||
OIIO_FORCE_BUILD=true
|
OIIO_FORCE_BUILD=true
|
||||||
OPENVDB_FORCE_BUILD=true
|
OPENVDB_FORCE_BUILD=true
|
||||||
ALEMBIC_FORCE_BUILD=true
|
ALEMBIC_FORCE_BUILD=true
|
||||||
|
USD_FORCE_BUILD=true
|
||||||
fi
|
fi
|
||||||
if [ "$2" = true ]; then
|
if [ "$2" = true ]; then
|
||||||
OIIO_FORCE_REBUILD=true
|
OIIO_FORCE_REBUILD=true
|
||||||
OPENVDB_FORCE_REBUILD=true
|
OPENVDB_FORCE_REBUILD=true
|
||||||
ALEMBIC_FORCE_REBUILD=true
|
ALEMBIC_FORCE_REBUILD=true
|
||||||
|
USD_FORCE_REBUILD=true
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2221,9 +2272,11 @@ _init_oiio() {
|
|||||||
_update_deps_oiio() {
|
_update_deps_oiio() {
|
||||||
if [ "$1" = true ]; then
|
if [ "$1" = true ]; then
|
||||||
OSL_FORCE_BUILD=true
|
OSL_FORCE_BUILD=true
|
||||||
|
USD_FORCE_BUILD=true
|
||||||
fi
|
fi
|
||||||
if [ "$2" = true ]; then
|
if [ "$2" = true ]; then
|
||||||
OSL_FORCE_REBUILD=true
|
OSL_FORCE_REBUILD=true
|
||||||
|
USD_FORCE_REBUILD=true
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2243,7 +2296,7 @@ compile_OIIO() {
|
|||||||
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!
|
||||||
oiio_magic=18
|
oiio_magic=20
|
||||||
_init_oiio
|
_init_oiio
|
||||||
|
|
||||||
# Force having own builds for the dependencies.
|
# Force having own builds for the dependencies.
|
||||||
@@ -2297,6 +2350,7 @@ compile_OIIO() {
|
|||||||
cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst"
|
cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst"
|
||||||
cmake_d="$cmake_d -D STOP_ON_WARNING=OFF"
|
cmake_d="$cmake_d -D STOP_ON_WARNING=OFF"
|
||||||
cmake_d="$cmake_d -D LINKSTATIC=OFF"
|
cmake_d="$cmake_d -D LINKSTATIC=OFF"
|
||||||
|
cmake_d="$cmake_d -D BUILD_SHARED_LIBS=ON"
|
||||||
|
|
||||||
if [ $(uname -m) != "aarch64" ]; then
|
if [ $(uname -m) != "aarch64" ]; then
|
||||||
cmake_d="$cmake_d -D USE_SIMD=sse2"
|
cmake_d="$cmake_d -D USE_SIMD=sse2"
|
||||||
@@ -2312,21 +2366,37 @@ compile_OIIO() {
|
|||||||
cmake_d="$cmake_d -D OpenEXR_ROOT=$INST/openexr"
|
cmake_d="$cmake_d -D OpenEXR_ROOT=$INST/openexr"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ptex is only needed when nicholas bishop is ready
|
cmake_d="$cmake_d -D USE_PYTHON=ON"
|
||||||
cmake_d="$cmake_d -D USE_PTEX=OFF"
|
if [ "$_with_built_python" = true ]; then
|
||||||
|
cmake_d="$cmake_d -D Python_EXECUTABLE=$_with_built_python_execpath"
|
||||||
|
fi
|
||||||
|
|
||||||
# Optional tests and cmd tools
|
# Optional tests and cmd tools
|
||||||
cmake_d="$cmake_d -D USE_QT=OFF"
|
cmake_d="$cmake_d -D USE_QT=OFF"
|
||||||
cmake_d="$cmake_d -D USE_PYTHON=OFF"
|
cmake_d="$cmake_d -D USE_QT5=OFF"
|
||||||
|
cmake_d="$cmake_d -D USE_OPENGL=OFF"
|
||||||
|
cmake_d="$cmake_d -D USE_TBB=OFF"
|
||||||
|
cmake_d="$cmake_d -D USE_BZIP2=OFF"
|
||||||
|
cmake_d="$cmake_d -D USE_FREETYPE=OFF"
|
||||||
|
cmake_d="$cmake_d -D USE_OPENCOLORIO=OFF"
|
||||||
|
|
||||||
|
cmake_d="$cmake_d -D USE_WEBP=ON"
|
||||||
|
cmake_d="$cmake_d -D USE_OPENJPEG=ON"
|
||||||
|
|
||||||
cmake_d="$cmake_d -D USE_FFMPEG=OFF"
|
cmake_d="$cmake_d -D USE_FFMPEG=OFF"
|
||||||
cmake_d="$cmake_d -D USE_OPENCV=OFF"
|
cmake_d="$cmake_d -D USE_OPENCV=OFF"
|
||||||
cmake_d="$cmake_d -D USE_OPENVDB=OFF"
|
cmake_d="$cmake_d -D USE_OPENVDB=OFF"
|
||||||
|
cmake_d="$cmake_d -D USE_NUKE=OFF"
|
||||||
|
cmake_d="$cmake_d -D USE_DCMTK=OFF"
|
||||||
|
cmake_d="$cmake_d -D USE_LIBHEIF=OFF"
|
||||||
|
cmake_d="$cmake_d -D USE_GIF=OFF"
|
||||||
|
cmake_d="$cmake_d -D USE_LIBRAW=OFF"
|
||||||
|
cmake_d="$cmake_d -D USE_LIBSQUISH=OFF"
|
||||||
|
|
||||||
cmake_d="$cmake_d -D BUILD_TESTING=OFF"
|
cmake_d="$cmake_d -D BUILD_TESTING=OFF"
|
||||||
cmake_d="$cmake_d -D OIIO_BUILD_TESTS=OFF"
|
cmake_d="$cmake_d -D OIIO_BUILD_TESTS=OFF"
|
||||||
cmake_d="$cmake_d -D OIIO_BUILD_TOOLS=OFF"
|
cmake_d="$cmake_d -D OIIO_BUILD_TOOLS=ON"
|
||||||
cmake_d="$cmake_d -D TXT2MAN="
|
cmake_d="$cmake_d -D TXT2MAN="
|
||||||
#cmake_d="$cmake_d -D CMAKE_EXPORT_COMPILE_COMMANDS=ON"
|
|
||||||
#cmake_d="$cmake_d -D CMAKE_VERBOSE_MAKEFILE=ON"
|
|
||||||
|
|
||||||
if [ -d $INST/boost ]; then
|
if [ -d $INST/boost ]; then
|
||||||
cmake_d="$cmake_d -D BOOST_ROOT=$INST/boost -D Boost_NO_SYSTEM_PATHS=ON -D Boost_NO_BOOST_CMAKE=ON"
|
cmake_d="$cmake_d -D BOOST_ROOT=$INST/boost -D Boost_NO_SYSTEM_PATHS=ON -D Boost_NO_BOOST_CMAKE=ON"
|
||||||
@@ -2404,7 +2474,7 @@ compile_LLVM() {
|
|||||||
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!
|
||||||
llvm_magic=3
|
llvm_magic=4
|
||||||
_init_llvm
|
_init_llvm
|
||||||
|
|
||||||
# Force having own builds for the dependencies.
|
# Force having own builds for the dependencies.
|
||||||
@@ -2453,9 +2523,9 @@ compile_LLVM() {
|
|||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
LLVM_TARGETS="X86"
|
LLVM_TARGETS="X86;NVPTX"
|
||||||
if [ $(uname -m) == "aarch64" ]; then
|
if [ $(uname -m) == "aarch64" ]; then
|
||||||
LLVM_TARGETS="AArch64"
|
LLVM_TARGETS="AArch64;NVPTX"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cmake_d="-D CMAKE_BUILD_TYPE=Release"
|
cmake_d="-D CMAKE_BUILD_TYPE=Release"
|
||||||
@@ -2522,7 +2592,7 @@ compile_OSL() {
|
|||||||
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!
|
||||||
osl_magic=21
|
osl_magic=22
|
||||||
_init_osl
|
_init_osl
|
||||||
|
|
||||||
# Force having own builds for the dependencies.
|
# Force having own builds for the dependencies.
|
||||||
@@ -2553,9 +2623,10 @@ compile_OSL() {
|
|||||||
INFO "Unpacking OpenShadingLanguage-$OSL_VERSION"
|
INFO "Unpacking OpenShadingLanguage-$OSL_VERSION"
|
||||||
tar -C $SRC --transform "s,(.*/?)OpenShadingLanguage-[^/]*(.*),\1OpenShadingLanguage-$OSL_VERSION\2,x" \
|
tar -C $SRC --transform "s,(.*/?)OpenShadingLanguage-[^/]*(.*),\1OpenShadingLanguage-$OSL_VERSION\2,x" \
|
||||||
-xf $_src.tar.gz
|
-xf $_src.tar.gz
|
||||||
fi
|
|
||||||
patch -d $_src -p1 < $SCRIPT_DIR/patches/osl.diff
|
patch -d $_src -p1 < $SCRIPT_DIR/patches/osl.diff
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
cd $_src
|
cd $_src
|
||||||
|
|
||||||
@@ -2566,6 +2637,8 @@ compile_OSL() {
|
|||||||
# Stick to same rev as windows' libs...
|
# Stick to same rev as windows' libs...
|
||||||
git checkout $OSL_SOURCE_REPO_UID
|
git checkout $OSL_SOURCE_REPO_UID
|
||||||
git reset --hard
|
git reset --hard
|
||||||
|
|
||||||
|
patch -d $_src -p1 < $SCRIPT_DIR/patches/osl.diff
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Always refresh the whole build!
|
# Always refresh the whole build!
|
||||||
@@ -2881,7 +2954,12 @@ _init_openvdb() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_update_deps_openvdb() {
|
_update_deps_openvdb() {
|
||||||
:
|
if [ "$1" = true ]; then
|
||||||
|
USD_FORCE_BUILD=true
|
||||||
|
fi
|
||||||
|
if [ "$2" = true ]; then
|
||||||
|
USD_FORCE_REBUILD=true
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
clean_OPENVDB() {
|
clean_OPENVDB() {
|
||||||
@@ -2903,7 +2981,7 @@ compile_OPENVDB() {
|
|||||||
PRINT ""
|
PRINT ""
|
||||||
|
|
||||||
# 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!
|
||||||
openvdb_magic=4
|
openvdb_magic=5
|
||||||
_init_openvdb
|
_init_openvdb
|
||||||
|
|
||||||
# Force having own builds for the dependencies.
|
# Force having own builds for the dependencies.
|
||||||
@@ -2952,12 +3030,18 @@ compile_OPENVDB() {
|
|||||||
cmake_d="-D CMAKE_BUILD_TYPE=Release"
|
cmake_d="-D CMAKE_BUILD_TYPE=Release"
|
||||||
cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst"
|
cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst"
|
||||||
cmake_d="$cmake_d -D USE_STATIC_DEPENDENCIES=OFF"
|
cmake_d="$cmake_d -D USE_STATIC_DEPENDENCIES=OFF"
|
||||||
|
cmake_d="$cmake_d -D OPENVDB_CORE_SHARED=ON"
|
||||||
|
cmake_d="$cmake_d -D OPENVDB_CORE_STATIC=OFF"
|
||||||
cmake_d="$cmake_d -D OPENVDB_BUILD_BINARIES=OFF"
|
cmake_d="$cmake_d -D OPENVDB_BUILD_BINARIES=OFF"
|
||||||
|
|
||||||
if [ "$WITH_NANOVDB" = true ]; then
|
if [ "$WITH_NANOVDB" = true ]; then
|
||||||
cmake_d="$cmake_d -D USE_NANOVDB=ON"
|
cmake_d="$cmake_d -D USE_NANOVDB=ON"
|
||||||
|
cmake_d="$cmake_d -D OPENVDB_BUILD_NANOVDB=ON"
|
||||||
|
cmake_d="$cmake_d -D NANOVDB_BUILD_TOOLS=OFF"
|
||||||
else
|
else
|
||||||
cmake_d="$cmake_d -D USE_NANOVDB=OFF"
|
cmake_d="$cmake_d -D USE_NANOVDB=OFF"
|
||||||
|
cmake_d="$cmake_d -D OPENVDB_BUILD_NANOVDB=OFF"
|
||||||
|
cmake_d="$cmake_d -D NANOVDB_BUILD_TOOLS=OFF"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d $INST/boost ]; then
|
if [ -d $INST/boost ]; then
|
||||||
@@ -2969,6 +3053,9 @@ compile_OPENVDB() {
|
|||||||
fi
|
fi
|
||||||
if [ -d $INST/tbb ]; then
|
if [ -d $INST/tbb ]; then
|
||||||
cmake_d="$cmake_d -D TBB_ROOT=$INST/tbb"
|
cmake_d="$cmake_d -D TBB_ROOT=$INST/tbb"
|
||||||
|
# Work around until we use oneTBB, otherwise OpenVDB forcefully
|
||||||
|
# uses oneTBB if it can find it on the system.
|
||||||
|
cmake_d="$cmake_d -D Tbb_INCLUDE_DIR=$INST/tbb/include"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$_with_built_imath" = true ]; then
|
if [ "$_with_built_imath" = true ]; then
|
||||||
@@ -2982,6 +3069,13 @@ compile_OPENVDB() {
|
|||||||
cmake_d="$cmake_d -D Blosc_ROOT=$INST/blosc"
|
cmake_d="$cmake_d -D Blosc_ROOT=$INST/blosc"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
cmake_d="$cmake_d -D OPENVDB_BUILD_PYTHON_MODULE=ON"
|
||||||
|
cmake_d="$cmake_d -D OPENVDB_PYTHON_WRAP_ALL_GRID_TYPES=ON"
|
||||||
|
cmake_d="$cmake_d -D USE_NUMPY=ON"
|
||||||
|
if [ "$_with_built_python" = true ]; then
|
||||||
|
cmake_d="$cmake_d -D Python_EXECUTABLE=$_with_built_python_execpath"
|
||||||
|
fi
|
||||||
|
|
||||||
cmake $cmake_d ..
|
cmake $cmake_d ..
|
||||||
|
|
||||||
make -j$THREADS install
|
make -j$THREADS install
|
||||||
@@ -3119,6 +3213,103 @@ compile_ALEMBIC() {
|
|||||||
run_ldconfig "alembic"
|
run_ldconfig "alembic"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#### Build materialX ####
|
||||||
|
_init_materialx() {
|
||||||
|
_src=$SRC/MaterialX-$MATERIALX_VERSION
|
||||||
|
_git=false
|
||||||
|
_inst=$INST/materialx-$MATERIALX_VERSION_SHORT
|
||||||
|
_inst_shortcut=$INST/materialx
|
||||||
|
}
|
||||||
|
|
||||||
|
_update_deps_materialx() {
|
||||||
|
:
|
||||||
|
}
|
||||||
|
|
||||||
|
clean_MATERIALX() {
|
||||||
|
_init_materialx
|
||||||
|
if [ -d $_inst ]; then
|
||||||
|
# Force rebuilding the dependencies if needed.
|
||||||
|
_update_deps_materialx false true
|
||||||
|
fi
|
||||||
|
_clean
|
||||||
|
}
|
||||||
|
|
||||||
|
compile_MATERIALX() {
|
||||||
|
if [ "$NO_BUILD" = true ]; then
|
||||||
|
WARNING "--no-build enabled, MaterialX will not be compiled!"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# To be changed each time we make edits that would modify the compiled result!
|
||||||
|
materialx_magic=1
|
||||||
|
_init_materialx
|
||||||
|
|
||||||
|
# Force having own builds for the dependencies.
|
||||||
|
_update_deps_materialx true false
|
||||||
|
|
||||||
|
# Clean install if needed!
|
||||||
|
magic_compile_check materialx-$MATERIALX_VERSION $materialx_magic
|
||||||
|
if [ $? -eq 1 -o "$MATERIALX_FORCE_REBUILD" = true ]; then
|
||||||
|
clean_MATERIALX
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d $_inst ]; then
|
||||||
|
INFO "Building MaterialX-$MATERIALX_VERSION"
|
||||||
|
|
||||||
|
# Force rebuilding the dependencies.
|
||||||
|
_update_deps_materialx true true
|
||||||
|
|
||||||
|
prepare_inst
|
||||||
|
|
||||||
|
if [ ! -d $_src ]; then
|
||||||
|
mkdir -p $SRC
|
||||||
|
download MATERIALX_SOURCE[@] "$_src.tar.gz"
|
||||||
|
|
||||||
|
INFO "Unpacking MaterialX-$MATERIALX_VERSION"
|
||||||
|
tar -C $SRC -xf $_src.tar.gz
|
||||||
|
|
||||||
|
patch -d $_src -p1 < $SCRIPT_DIR/patches/materialx.diff
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $_src
|
||||||
|
|
||||||
|
cmake_d="-D CMAKE_INSTALL_PREFIX=$_inst"
|
||||||
|
|
||||||
|
cmake_d="$cmake_d -DMATERIALX_BUILD_SHARED_LIBS=ON"
|
||||||
|
cmake_d="$cmake_d -DCMAKE_DEBUG_POSTFIX=_d"
|
||||||
|
|
||||||
|
cmake_d="$cmake_d -DMATERIALX_BUILD_RENDER=OFF"
|
||||||
|
|
||||||
|
cmake_d="$cmake_d -DMATERIALX_BUILD_PYTHON=ON"
|
||||||
|
cmake_d="$cmake_d -DMATERIALX_INSTALL_PYTHON=OFF"
|
||||||
|
if [ "$_with_built_python" = true ]; then
|
||||||
|
cmake_d="$cmake_d -D Python_EXECUTABLE=$_with_built_python_execpath"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cmake $cmake_d ./
|
||||||
|
make -j$THREADS install
|
||||||
|
make clean
|
||||||
|
|
||||||
|
if [ ! -d $_inst ]; then
|
||||||
|
ERROR "MaterialX-$MATERIALX_VERSION failed to compile, exiting"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
magic_compile_set materialx-$MATERIALX_VERSION $materialx_magic
|
||||||
|
|
||||||
|
cd $CWD
|
||||||
|
INFO "Done compiling MaterialX-$MATERIALX_VERSION!"
|
||||||
|
else
|
||||||
|
INFO "Own MaterialX-$MATERIALX_VERSION is up to date, nothing to do!"
|
||||||
|
INFO "If you want to force rebuild of this lib, use the --force-materialx option."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d $_inst ]; then
|
||||||
|
_create_inst_shortcut
|
||||||
|
fi
|
||||||
|
run_ldconfig "materialx"
|
||||||
|
}
|
||||||
|
|
||||||
#### Build USD ####
|
#### Build USD ####
|
||||||
_init_usd() {
|
_init_usd() {
|
||||||
_src=$SRC/USD-$USD_VERSION
|
_src=$SRC/USD-$USD_VERSION
|
||||||
@@ -3147,7 +3338,7 @@ compile_USD() {
|
|||||||
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!
|
||||||
usd_magic=1
|
usd_magic=2
|
||||||
_init_usd
|
_init_usd
|
||||||
|
|
||||||
# Force having own builds for the dependencies.
|
# Force having own builds for the dependencies.
|
||||||
@@ -3181,19 +3372,46 @@ compile_USD() {
|
|||||||
cmake_d="-D CMAKE_INSTALL_PREFIX=$_inst"
|
cmake_d="-D CMAKE_INSTALL_PREFIX=$_inst"
|
||||||
# For the reasoning behind these options, please see usd.cmake.
|
# For the reasoning behind these options, please see usd.cmake.
|
||||||
if [ -d $INST/boost ]; then
|
if [ -d $INST/boost ]; then
|
||||||
cmake_d="$cmake_d $cmake_d -D BOOST_ROOT=$INST/boost"
|
cmake_d="$cmake_d -DBOOST_ROOT=$INST/boost"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d $INST/tbb ]; then
|
if [ -d $INST/tbb ]; then
|
||||||
cmake_d="$cmake_d $cmake_d -D TBB_ROOT_DIR=$INST/tbb"
|
cmake_d="$cmake_d -DTBB_ROOT_DIR=$INST/tbb"
|
||||||
fi
|
fi
|
||||||
cmake_d="$cmake_d -DPXR_SET_INTERNAL_NAMESPACE=usdBlender"
|
|
||||||
cmake_d="$cmake_d -DPXR_ENABLE_PYTHON_SUPPORT=OFF"
|
cmake_d="$cmake_d -DPXR_ENABLE_PYTHON_SUPPORT=ON"
|
||||||
cmake_d="$cmake_d -DPXR_BUILD_IMAGING=OFF"
|
cmake_d="$cmake_d -DPXR_USE_PYTHON_3=ON"
|
||||||
|
if [ "$_with_built_python" = true ]; then
|
||||||
|
cmake_d="$cmake_d -D PYTHON_EXECUTABLE=$_with_built_python_execpath"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cmake_d="$cmake_d -DPXR_BUILD_IMAGING=ON"
|
||||||
|
cmake_d="$cmake_d -DPXR_BUILD_OPENIMAGEIO_PLUGIN=ON"
|
||||||
|
if [ -d $INST/openexr ]; then
|
||||||
|
cmake_d="$cmake_d -DOPENEXR_LOCATION=$INST/openexr"
|
||||||
|
fi
|
||||||
|
if [ -d $INST/oiio ]; then
|
||||||
|
cmake_d="$cmake_d -DOpenImageIO_ROOT=$INST/oiio"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cmake_d="$cmake_d -DPXR_ENABLE_OPENVDB_SUPPORT=ON"
|
||||||
|
if [ -d $INST/openvdb ]; then
|
||||||
|
cmake_d="$cmake_d -DOPENVDB_LOCATION=$INST/openvdb"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cmake_d="$cmake_d -DPXR_ENABLE_GL_SUPPORT=ON"
|
||||||
|
|
||||||
cmake_d="$cmake_d -DPXR_BUILD_TESTS=OFF"
|
cmake_d="$cmake_d -DPXR_BUILD_TESTS=OFF"
|
||||||
cmake_d="$cmake_d -DBUILD_SHARED_LIBS=ON"
|
cmake_d="$cmake_d -DPXR_BUILD_EXAMPLES=OFF"
|
||||||
cmake_d="$cmake_d -DPXR_BUILD_MONOLITHIC=ON"
|
cmake_d="$cmake_d -DPXR_BUILD_TUTORIALS=OFF"
|
||||||
|
|
||||||
cmake_d="$cmake_d -DPXR_BUILD_USD_TOOLS=OFF"
|
cmake_d="$cmake_d -DPXR_BUILD_USD_TOOLS=OFF"
|
||||||
|
cmake_d="$cmake_d -DPXR_ENABLE_HDF5_SUPPORT=OFF"
|
||||||
|
cmake_d="$cmake_d -DPXR_ENABLE_MATERIALX_SUPPORT=OFF"
|
||||||
|
cmake_d="$cmake_d -DPXR_BUILD_USDVIEW=OFF"
|
||||||
|
|
||||||
|
cmake_d="$cmake_d -DPXR_BUILD_MONOLITHIC=ON"
|
||||||
|
cmake_d="$cmake_d -DBUILD_SHARED_LIBS=ON"
|
||||||
cmake_d="$cmake_d -DCMAKE_DEBUG_POSTFIX=_d"
|
cmake_d="$cmake_d -DCMAKE_DEBUG_POSTFIX=_d"
|
||||||
|
|
||||||
cmake $cmake_d ./
|
cmake $cmake_d ./
|
||||||
@@ -4206,11 +4424,12 @@ install_DEB() {
|
|||||||
git libfreetype6-dev libfontconfig-dev libx11-dev flex bison libxxf86vm-dev \
|
git libfreetype6-dev libfontconfig-dev libx11-dev flex bison libxxf86vm-dev \
|
||||||
libxcursor-dev libxi-dev wget libsqlite3-dev libxrandr-dev libxinerama-dev \
|
libxcursor-dev libxi-dev wget libsqlite3-dev libxrandr-dev libxinerama-dev \
|
||||||
libwayland-dev libdecor-0-dev wayland-protocols libegl-dev libxkbcommon-dev libdbus-1-dev linux-libc-dev \
|
libwayland-dev libdecor-0-dev wayland-protocols libegl-dev libxkbcommon-dev libdbus-1-dev linux-libc-dev \
|
||||||
|
libvulkan-dev libshaderc-dev \
|
||||||
libbz2-dev libncurses5-dev libssl-dev liblzma-dev libreadline-dev \
|
libbz2-dev libncurses5-dev libssl-dev liblzma-dev libreadline-dev \
|
||||||
libopenal-dev libepoxy-dev yasm \
|
libopenal-dev libepoxy-dev yasm pybind11-dev \
|
||||||
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 \
|
||||||
libglfw3-dev"
|
libglfw3-dev libfribidi-dev libharfbuzz-dev"
|
||||||
|
|
||||||
VORBIS_USE=true
|
VORBIS_USE=true
|
||||||
OGG_USE=true
|
OGG_USE=true
|
||||||
@@ -4394,7 +4613,7 @@ install_DEB() {
|
|||||||
|
|
||||||
boost_version=$(echo `get_package_version_DEB libboost-dev` | sed -r 's/^([0-9]+\.[0-9]+).*/\1/')
|
boost_version=$(echo `get_package_version_DEB libboost-dev` | sed -r 's/^([0-9]+\.[0-9]+).*/\1/')
|
||||||
|
|
||||||
install_packages_DEB libboost-{filesystem,iostreams,locale,regex,system,thread,wave,program-options}$boost_version-dev
|
install_packages_DEB ${BOOST_DEB_PACKAGE_MODULES[@]/%/$boost_version-dev}
|
||||||
clean_Boost
|
clean_Boost
|
||||||
else
|
else
|
||||||
compile_Boost
|
compile_Boost
|
||||||
@@ -4586,6 +4805,16 @@ install_DEB() {
|
|||||||
compile_ALEMBIC
|
compile_ALEMBIC
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
PRINT ""
|
||||||
|
if [ "$MATERIALX_SKIP" = true ]; then
|
||||||
|
WARNING "Skipping MaterialX installation, as requested..."
|
||||||
|
elif [ "$MATERIALX_FORCE_BUILD" = true ]; then
|
||||||
|
INFO "Forced MaterialX building, as requested..."
|
||||||
|
compile_MATERIALX
|
||||||
|
else
|
||||||
|
compile_MATERIALX
|
||||||
|
fi
|
||||||
|
|
||||||
PRINT ""
|
PRINT ""
|
||||||
if [ "$USD_SKIP" = true ]; then
|
if [ "$USD_SKIP" = true ]; then
|
||||||
WARNING "Skipping USD installation, as requested..."
|
WARNING "Skipping USD installation, as requested..."
|
||||||
@@ -4929,10 +5158,12 @@ install_RPM() {
|
|||||||
libtiff-devel libjpeg-devel libpng-devel sqlite-devel fftw-devel SDL2-devel \
|
libtiff-devel libjpeg-devel libpng-devel sqlite-devel fftw-devel SDL2-devel \
|
||||||
libX11-devel libXi-devel libXcursor-devel libXrandr-devel libXinerama-devel \
|
libX11-devel libXi-devel libXcursor-devel libXrandr-devel libXinerama-devel \
|
||||||
wayland-devel libdecor-devel wayland-protocols-devel mesa-libEGL-devel libxkbcommon-devel dbus-devel kernel-headers \
|
wayland-devel libdecor-devel wayland-protocols-devel mesa-libEGL-devel libxkbcommon-devel dbus-devel kernel-headers \
|
||||||
|
vulkan-loader-devel libshaderc-devel \
|
||||||
wget ncurses-devel readline-devel $OPENJPEG_DEV openal-soft-devel \
|
wget ncurses-devel readline-devel $OPENJPEG_DEV openal-soft-devel \
|
||||||
libepoxy-devel yasm patch \
|
libepoxy-devel yasm patch pybind11-devel \
|
||||||
libxml2-devel yaml-cpp-devel tinyxml-devel jemalloc-devel \
|
libxml2-devel yaml-cpp-devel tinyxml-devel jemalloc-devel \
|
||||||
gmp-devel pugixml-devel potrace-devel libharu-devel libzstd-devel pystring-devel"
|
gmp-devel pugixml-devel potrace-devel libharu-devel libzstd-devel pystring-devel \
|
||||||
|
fribidi-devel harfbuzz-devel"
|
||||||
|
|
||||||
OPENJPEG_USE=true
|
OPENJPEG_USE=true
|
||||||
VORBIS_USE=true
|
VORBIS_USE=true
|
||||||
@@ -5313,6 +5544,16 @@ install_RPM() {
|
|||||||
compile_ALEMBIC
|
compile_ALEMBIC
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
PRINT ""
|
||||||
|
if [ "$MATERIALX_SKIP" = true ]; then
|
||||||
|
WARNING "Skipping MaterialX installation, as requested..."
|
||||||
|
elif [ "$MATERIALX_FORCE_BUILD" = true ]; then
|
||||||
|
INFO "Forced MaterialX building, as requested..."
|
||||||
|
compile_MATERIALX
|
||||||
|
else
|
||||||
|
compile_MATERIALX
|
||||||
|
fi
|
||||||
|
|
||||||
PRINT ""
|
PRINT ""
|
||||||
if [ "$USD_SKIP" = true ]; then
|
if [ "$USD_SKIP" = true ]; then
|
||||||
WARNING "Skipping USD installation, as requested..."
|
WARNING "Skipping USD installation, as requested..."
|
||||||
@@ -5583,9 +5824,10 @@ install_ARCH() {
|
|||||||
|
|
||||||
_packages="$BASE_DEVEL git cmake fontconfig flex \
|
_packages="$BASE_DEVEL git cmake fontconfig flex \
|
||||||
libxi libxcursor libxrandr libxinerama libepoxy libdecor libpng libtiff wget openal \
|
libxi libxcursor libxrandr libxinerama libepoxy libdecor libpng libtiff wget openal \
|
||||||
$OPENJPEG_DEV yasm sdl2 fftw \
|
vulkan-icd-loader vulkan-headers shaderc \
|
||||||
|
$OPENJPEG_DEV yasm sdl2 fftw pybind11 \
|
||||||
libxml2 yaml-cpp tinyxml python-requests jemalloc gmp potrace pugixml libharu \
|
libxml2 yaml-cpp tinyxml python-requests jemalloc gmp potrace pugixml libharu \
|
||||||
zstd pystring"
|
zstd pystring fribidi harfbuzz"
|
||||||
|
|
||||||
OPENJPEG_USE=true
|
OPENJPEG_USE=true
|
||||||
VORBIS_USE=true
|
VORBIS_USE=true
|
||||||
@@ -5917,6 +6159,16 @@ install_ARCH() {
|
|||||||
compile_ALEMBIC
|
compile_ALEMBIC
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
PRINT ""
|
||||||
|
if [ "$MATERIALX_SKIP" = true ]; then
|
||||||
|
WARNING "Skipping MaterialX installation, as requested..."
|
||||||
|
elif [ "$MATERIALX_FORCE_BUILD" = true ]; then
|
||||||
|
INFO "Forced MaterialX building, as requested..."
|
||||||
|
compile_MATERIALX
|
||||||
|
else
|
||||||
|
compile_MATERIALX
|
||||||
|
fi
|
||||||
|
|
||||||
PRINT ""
|
PRINT ""
|
||||||
if [ "$USD_SKIP" = true ]; then
|
if [ "$USD_SKIP" = true ]; then
|
||||||
WARNING "Skipping USD installation, as requested..."
|
WARNING "Skipping USD installation, as requested..."
|
||||||
@@ -6208,6 +6460,27 @@ install_OTHER() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
PRINT ""
|
||||||
|
if [ "$MATERIALX_SKIP" = true ]; then
|
||||||
|
WARNING "Skipping MaterialX installation, as requested..."
|
||||||
|
elif [ "$MATERIALX_FORCE_BUILD" = true ]; then
|
||||||
|
INFO "Forced MaterialX building, as requested..."
|
||||||
|
compile_MATERIALX
|
||||||
|
else
|
||||||
|
compile_MATERIALX
|
||||||
|
fi
|
||||||
|
|
||||||
|
PRINT ""
|
||||||
|
if [ "$USD_SKIP" = true ]; then
|
||||||
|
WARNING "Skipping USD installation, as requested..."
|
||||||
|
elif [ "$USD_FORCE_BUILD" = true ]; then
|
||||||
|
INFO "Forced USD building, as requested..."
|
||||||
|
compile_USD
|
||||||
|
else
|
||||||
|
compile_USD
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
if [ "$WITH_OPENCOLLADA" = true ]; then
|
if [ "$WITH_OPENCOLLADA" = true ]; then
|
||||||
PRINT ""
|
PRINT ""
|
||||||
if [ "$OPENCOLLADA_SKIP" = true ]; then
|
if [ "$OPENCOLLADA_SKIP" = true ]; then
|
||||||
@@ -6285,7 +6558,8 @@ print_info() {
|
|||||||
|
|
||||||
_buildargs="-U *SNDFILE* -U PYTHON* -U *BOOST* -U *Boost* -U *TBB*"
|
_buildargs="-U *SNDFILE* -U PYTHON* -U *BOOST* -U *Boost* -U *TBB*"
|
||||||
_buildargs="$_buildargs -U *OPENCOLORIO* -U *OPENEXR* -U *OPENIMAGEIO* -U *LLVM* -U *CLANG* -U *CYCLES*"
|
_buildargs="$_buildargs -U *OPENCOLORIO* -U *OPENEXR* -U *OPENIMAGEIO* -U *LLVM* -U *CLANG* -U *CYCLES*"
|
||||||
_buildargs="$_buildargs -U *OPENSUBDIV* -U *OPENVDB* -U *BLOSC* -U *COLLADA* -U *FFMPEG* -U *ALEMBIC* -U *USD*"
|
_buildargs="$_buildargs -U *OPENSUBDIV* -U *OPENVDB* -U *BLOSC* -U *COLLADA* -U *FFMPEG* -U *ALEMBIC*"
|
||||||
|
_buildargs="$_buildargs -U *MATERIALX* -U *USD*"
|
||||||
_buildargs="$_buildargs -U *EMBREE* -U *OPENIMAGEDENOISE* -U *OPENXR* -U *OPENPGL*"
|
_buildargs="$_buildargs -U *EMBREE* -U *OPENIMAGEDENOISE* -U *OPENXR* -U *OPENPGL*"
|
||||||
|
|
||||||
_1="-D WITH_CODEC_SNDFILE=ON"
|
_1="-D WITH_CODEC_SNDFILE=ON"
|
||||||
@@ -6472,6 +6746,17 @@ print_info() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$MATERIALX_SKIP" = false ]; then
|
||||||
|
_1="-D WITH_MATERIALX=ON"
|
||||||
|
PRINT " $_1"
|
||||||
|
_buildargs="$_buildargs $_1"
|
||||||
|
if [ -d $INST/materialx ]; then
|
||||||
|
_1="-D MaterialX_DIR=$INST/materialx/lib/cmake/MaterialX"
|
||||||
|
PRINT " $_1"
|
||||||
|
_buildargs="$_buildargs $_1"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$USD_SKIP" = false ]; then
|
if [ "$USD_SKIP" = false ]; then
|
||||||
_1="-D WITH_USD=ON"
|
_1="-D WITH_USD=ON"
|
||||||
PRINT " $_1"
|
PRINT " $_1"
|
||||||
|
@@ -11,19 +11,31 @@ if [ `id -u` -ne 0 ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# yum-config-manager does not come in the default minimal install,
|
# Required by: config manager command below to enable powertools.
|
||||||
|
dnf install 'dnf-command(config-manager)'
|
||||||
|
|
||||||
|
# Packages `ninja-build` and `meson` are not available unless CBR or PowerTools repositories are enabled.
|
||||||
|
# See: https://wiki.rockylinux.org/rocky/repo/#notes-on-unlisted-repositories
|
||||||
|
dnf config-manager --set-enabled powertools
|
||||||
|
|
||||||
|
# Required by: epel-release has the patchelf and rubygem-asciidoctor packages
|
||||||
|
dnf install epel-release
|
||||||
|
|
||||||
|
# `yum-config-manager` does not come in the default minimal install,
|
||||||
# so make sure it is installed and available.
|
# so make sure it is installed and available.
|
||||||
yum -y update
|
yum -y update
|
||||||
yum -y install yum-utils
|
yum -y install yum-utils
|
||||||
|
|
||||||
# Install all the packages needed for a new toolchain.
|
# Install all the packages needed for a new tool-chain.
|
||||||
#
|
#
|
||||||
# NOTE: Keep this separate from the packages install, since otherwise
|
# NOTE: Keep this separate from the packages install, since otherwise
|
||||||
# older toolchain will be installed.
|
# older tool-chain will be installed.
|
||||||
yum -y update
|
yum -y update
|
||||||
yum -y install epel-release
|
yum -y install scl-utils
|
||||||
yum -y install centos-release-scl
|
yum -y install scl-utils-build
|
||||||
yum -y install devtoolset-9
|
|
||||||
|
# Currently this is defined by the VFX platform (CY2023), see: https://vfxplatform.com
|
||||||
|
yum -y install gcc-toolset-11
|
||||||
|
|
||||||
# Install packages needed for Blender's dependencies.
|
# Install packages needed for Blender's dependencies.
|
||||||
PACKAGES_FOR_LIBS=(
|
PACKAGES_FOR_LIBS=(
|
||||||
@@ -47,19 +59,12 @@ PACKAGES_FOR_LIBS=(
|
|||||||
automake
|
automake
|
||||||
libtool
|
libtool
|
||||||
|
|
||||||
# Meta-build system used by various packages.
|
# TODO: why is this needed?
|
||||||
meson
|
patchelf
|
||||||
|
|
||||||
# Builds generated by meson use Ninja for the actual build.
|
# Builds generated by meson use Ninja for the actual build.
|
||||||
ninja-build
|
ninja-build
|
||||||
|
|
||||||
# Required by Blender build option: `WITH_GHOST_X11`.
|
|
||||||
libXrandr-devel
|
|
||||||
libXinerama-devel
|
|
||||||
libXcursor-devel
|
|
||||||
libXi-devel
|
|
||||||
libX11-devel
|
|
||||||
libXt-devel
|
|
||||||
|
|
||||||
# Required by Blender build option: `WITH_GHOST_WAYLAND`.
|
# Required by Blender build option: `WITH_GHOST_WAYLAND`.
|
||||||
mesa-libEGL-devel
|
mesa-libEGL-devel
|
||||||
# Required by: Blender & `external_opensubdiv` (probably others).
|
# Required by: Blender & `external_opensubdiv` (probably others).
|
||||||
@@ -79,52 +84,47 @@ PACKAGES_FOR_LIBS=(
|
|||||||
# Why are both needed?
|
# Why are both needed?
|
||||||
yasm
|
yasm
|
||||||
|
|
||||||
# Required by: `meson` (Python based build system).
|
# NOTE(@campbellbarton): while `python39` is available, the default Python version is 3.6.
|
||||||
python36
|
# This is used for the `python3-mako` package for e.g.
|
||||||
# Required by: `mako` (Python module used for building `external_mesa`)
|
# So use the "default" system Python since it means it's most compatible with other packages.
|
||||||
python-setuptools
|
python3
|
||||||
|
# Required by: `external_mesa`.
|
||||||
|
python3-mako
|
||||||
|
|
||||||
|
# Required by: `external_mesa`.
|
||||||
|
expat-devel
|
||||||
|
|
||||||
# Required by: `external_igc` & `external_osl` as a build-time dependency.
|
# Required by: `external_igc` & `external_osl` as a build-time dependency.
|
||||||
bison
|
bison
|
||||||
# Required by: `external_osl` as a build-time dependency.
|
# Required by: `external_osl` as a build-time dependency.
|
||||||
flex
|
flex
|
||||||
# TODO: dependencies build without this, consider removal.
|
|
||||||
|
# Required by: `external_ispc`.
|
||||||
ncurses-devel
|
ncurses-devel
|
||||||
|
# Required by: `external_ispc` (when building with CLANG).
|
||||||
|
libstdc++-static
|
||||||
)
|
)
|
||||||
|
|
||||||
# Additional packages needed for building Blender.
|
# Additional packages needed for building Blender.
|
||||||
PACKAGES_FOR_BLENDER=(
|
PACKAGES_FOR_BLENDER=(
|
||||||
# Required by Blender build option: `WITH_GHOST_WAYLAND`.
|
# Required by Blender build option: `WITH_GHOST_WAYLAND`.
|
||||||
libxkbcommon-devel
|
libxkbcommon-devel
|
||||||
|
|
||||||
|
# Required by Blender build option: `WITH_GHOST_X11`.
|
||||||
|
libX11-devel
|
||||||
|
libXcursor-devel
|
||||||
|
libXi-devel
|
||||||
|
libXinerama-devel
|
||||||
|
libXrandr-devel
|
||||||
|
libXt-devel
|
||||||
|
libXxf86vm-devel
|
||||||
)
|
)
|
||||||
|
|
||||||
yum -y install -y ${PACKAGES_FOR_LIBS[@]} ${PACKAGES_FOR_BLENDER[@]}
|
yum -y install -y ${PACKAGES_FOR_LIBS[@]} ${PACKAGES_FOR_BLENDER[@]}
|
||||||
|
|
||||||
# Dependencies for Mesa
|
# Dependencies for pip (needed for `buildbot-worker`), uses Python3.6.
|
||||||
yum -y install expat-devel
|
yum -y install python3 python3-pip python3-devel
|
||||||
python3 -m pip install mako
|
|
||||||
|
|
||||||
# Dependencies for pip (needed for buildbot-worker).
|
|
||||||
yum -y install python36-pip python36-devel
|
|
||||||
|
|
||||||
# Dependencies for asound.
|
# Dependencies for asound.
|
||||||
yum -y install -y \
|
yum -y install -y \
|
||||||
alsa-lib-devel pulseaudio-libs-devel
|
alsa-lib-devel pulseaudio-libs-devel
|
||||||
|
|
||||||
alternatives --install /usr/local/bin/cmake cmake /usr/bin/cmake 10 \
|
|
||||||
--slave /usr/local/bin/ctest ctest /usr/bin/ctest \
|
|
||||||
--slave /usr/local/bin/cpack cpack /usr/bin/cpack \
|
|
||||||
--slave /usr/local/bin/ccmake ccmake /usr/bin/ccmake \
|
|
||||||
--family cmake
|
|
||||||
|
|
||||||
alternatives --install /usr/local/bin/cmake cmake /usr/bin/cmake3 20 \
|
|
||||||
--slave /usr/local/bin/ctest ctest /usr/bin/ctest3 \
|
|
||||||
--slave /usr/local/bin/cpack cpack /usr/bin/cpack3 \
|
|
||||||
--slave /usr/local/bin/ccmake ccmake /usr/bin/ccmake3 \
|
|
||||||
--family cmake
|
|
||||||
|
|
||||||
alternatives --install /usr/local/bin/cmake cmake /usr/bin/cmake3 20 \
|
|
||||||
--slave /usr/local/bin/ctest ctest /usr/bin/ctest3 \
|
|
||||||
--slave /usr/local/bin/cpack cpack /usr/bin/cpack3 \
|
|
||||||
--slave /usr/local/bin/ccmake ccmake /usr/bin/ccmake3 \
|
|
||||||
--family cmake
|
|
73
build_files/build_environment/linux/make_deps_wrapper.sh
Executable file
73
build_files/build_environment/linux/make_deps_wrapper.sh
Executable file
@@ -0,0 +1,73 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
# This script ensures:
|
||||||
|
# - One dependency is built at a time.
|
||||||
|
# - That dependency uses all available cores.
|
||||||
|
#
|
||||||
|
# Without this, simply calling `make -j$(nproc)` from the `${CMAKE_BUILD_DIR}/deps/`
|
||||||
|
# directory will build all projects at once.
|
||||||
|
#
|
||||||
|
# This is undesirable for the following reasons:
|
||||||
|
#
|
||||||
|
# - The output from many projects is mixed together,
|
||||||
|
# making it difficult to track down the cause of a build failure.
|
||||||
|
#
|
||||||
|
# - Larger dependencies such as LLVM can bottleneck the build process,
|
||||||
|
# making it necessary to cancel the build and manually run build commands in each directory.
|
||||||
|
#
|
||||||
|
# - Building many projects at once means canceling (Control-C) can lead to the build being in an undefined state.
|
||||||
|
# It's possible canceling happens as a patch is being applied or files are being copied.
|
||||||
|
# (steps that aren't part of the compilation process where it's typically safe to cancel).
|
||||||
|
|
||||||
|
if [[ -z "${MY_MAKE_CALL_LEVEL}" ]]; then
|
||||||
|
export MY_MAKE_CALL_LEVEL=0
|
||||||
|
export MY_MAKEFLAGS=$MAKEFLAGS
|
||||||
|
|
||||||
|
# Extract the jobs argument (`-jN`, `-j N`, `--jobs=N`).
|
||||||
|
add_next=0
|
||||||
|
for i in "$@"; do
|
||||||
|
case $i in
|
||||||
|
-j*)
|
||||||
|
export MY_JOBS_ARG=$i
|
||||||
|
if [ "$MY_JOBS_ARG" = "-j" ]; then
|
||||||
|
add_next=1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
--jobs=*)
|
||||||
|
shift # past argument=value
|
||||||
|
export MY_JOBS_ARG=$i
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if (( $add_next == 1 )); then
|
||||||
|
export MY_JOBS_ARG="$MY_JOBS_ARG $i"
|
||||||
|
add_next=0
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
unset i add_next
|
||||||
|
|
||||||
|
if [[ -z "${MY_JOBS_ARG}" ]]; then
|
||||||
|
export MY_JOBS_ARG="-j$(nproc)"
|
||||||
|
fi
|
||||||
|
# Support user defined `MAKEFLAGS`.
|
||||||
|
export MAKEFLAGS="$MY_MAKEFLAGS -j1"
|
||||||
|
else
|
||||||
|
export MY_MAKE_CALL_LEVEL=$(( $MY_MAKE_CALL_LEVEL + 1 ))
|
||||||
|
if (( $MY_MAKE_CALL_LEVEL == 1 )); then
|
||||||
|
# Important to set jobs to 1, otherwise user defined jobs argument is used.
|
||||||
|
export MAKEFLAGS="$MY_MAKEFLAGS -j1"
|
||||||
|
elif (( $MY_MAKE_CALL_LEVEL == 2 )); then
|
||||||
|
# This is the level used by each sub-project.
|
||||||
|
export MAKEFLAGS="$MY_MAKEFLAGS $MY_JOBS_ARG"
|
||||||
|
fi
|
||||||
|
# Else leave `MY_MAKEFLAGS` flags as-is, avoids setting a high number of jobs on recursive
|
||||||
|
# calls (which may easily run out of memory). Let the job-server handle the rest.
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Useful for troubleshooting the wrapper.
|
||||||
|
# echo "Call level: $MY_MAKE_CALL_LEVEL, args=$@".
|
||||||
|
|
||||||
|
# Call actual make but ensure recursive calls run via this script.
|
||||||
|
exec make MAKE="$0" "$@"
|
12
build_files/build_environment/patches/boost.diff
Normal file
12
build_files/build_environment/patches/boost.diff
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
--- a/boost/python//detail/wrap_python.hpp 2022-12-09 19:16:17
|
||||||
|
+++ b/boost/python//detail/wrap_python.hpp 2022-12-09 19:18:08
|
||||||
|
@@ -206,7 +206,8 @@
|
||||||
|
|
||||||
|
#ifdef DEBUG_UNDEFINED_FROM_WRAP_PYTHON_H
|
||||||
|
# undef DEBUG_UNDEFINED_FROM_WRAP_PYTHON_H
|
||||||
|
-# define _DEBUG
|
||||||
|
+// BLENDER: TBB excepts this to have a value.
|
||||||
|
+# define _DEBUG 1
|
||||||
|
# ifdef _CRT_NOFORCE_MANIFEST_DEFINED_FROM_WRAP_PYTHON_H
|
||||||
|
# undef _CRT_NOFORCE_MANIFEST_DEFINED_FROM_WRAP_PYTHON_H
|
||||||
|
# undef _CRT_NOFORCE_MANIFEST
|
@@ -1,4 +1,4 @@
|
|||||||
using python : @PYTHON_SHORT_VERSION@ : @PYTHON_BINARY@
|
using python : @PYTHON_SHORT_VERSION@ : @PYTHON_BINARY@
|
||||||
: @LIBDIR@/python/include @LIBDIR@/python/include/python@PYTHON_SHORT_VERSION@m/
|
: @LIBDIR@/python/include @LIBDIR@/python/include/python@PYTHON_SHORT_VERSION@/
|
||||||
: @LIBDIR@/python/libs
|
: @LIBDIR@/python/libs
|
||||||
;
|
;
|
@@ -1,7 +1,7 @@
|
|||||||
diff -Naur external_igc_opencl_clang.orig/CMakeLists.txt external_igc_opencl_clang/CMakeLists.txt
|
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.orig/CMakeLists.txt 2022-03-16 05:51:10 -0600
|
||||||
+++ external_igc_opencl_clang/CMakeLists.txt 2022-05-23 10:40:09 -0600
|
+++ external_igc_opencl_clang/CMakeLists.txt 2022-05-23 10:40:09 -0600
|
||||||
@@ -126,22 +126,24 @@
|
@@ -147,22 +147,24 @@
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
13
build_files/build_environment/patches/materialx.diff
Normal file
13
build_files/build_environment/patches/materialx.diff
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
diff -Naur orig/source/PyMaterialX/PyBind11/tools/FindPythonLibsNew.cmake external_materialx/source/PyMaterialX/PyBind11/tools/FindPythonLibsNew.cmake
|
||||||
|
--- orig/source/PyMaterialX/PyBind11/tools/FindPythonLibsNew.cmake 2022-11-04 14:23:29 -0600
|
||||||
|
+++ external_materialx/source/PyMaterialX/PyBind11/tools/FindPythonLibsNew.cmake 2022-11-08 11:58:45 -0700
|
||||||
|
@@ -181,6 +181,9 @@
|
||||||
|
string(REGEX REPLACE "\\\\" "/" PYTHON_SITE_PACKAGES "${PYTHON_SITE_PACKAGES}")
|
||||||
|
|
||||||
|
if(CMAKE_HOST_WIN32)
|
||||||
|
+ if(PYTHON_EXECUTABLE MATCHES "_d.exe$")
|
||||||
|
+ set(PYTHON_LIBRARY_SUFFIX ${PYTHON_LIBRARY_SUFFIX}_d)
|
||||||
|
+ endif()
|
||||||
|
set(PYTHON_LIBRARY "${PYTHON_PREFIX}/libs/python${PYTHON_LIBRARY_SUFFIX}.lib")
|
||||||
|
|
||||||
|
# when run in a venv, PYTHON_PREFIX points to it. But the libraries remain in the
|
@@ -155,3 +155,15 @@ diff -Naur a/CMakeLists.txt b/CMakeLists.txt
|
|||||||
|
|
||||||
# Library export
|
# Library export
|
||||||
install(EXPORT LibraryExport DESTINATION ${OPENCOLLADA_INST_CMAKECONFIG} FILE OpenCOLLADATargets.cmake)
|
install(EXPORT LibraryExport DESTINATION ${OPENCOLLADA_INST_CMAKECONFIG} FILE OpenCOLLADATargets.cmake)
|
||||||
|
diff -Naur OpenCOLLADA-1.6.68/common/libBuffer/include/CommonFWriteBufferFlusher.h external_opencollada/common/libBuffer/include/CommonFWriteBufferFlusher.h
|
||||||
|
--- OpenCOLLADA-1.6.68/common/libBuffer/include/CommonFWriteBufferFlusher.h 2018-11-26 14:43:10 -0700
|
||||||
|
+++ external_opencollada/common/libBuffer/include/CommonFWriteBufferFlusher.h 2022-08-19 11:36:04 -0600
|
||||||
|
@@ -23,7 +23,7 @@
|
||||||
|
# include <tr1/unordered_map>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#ifdef _LIBCPP_VERSION
|
||||||
|
+#if defined(_LIBCPP_VERSION) || defined(WIN32)
|
||||||
|
// If we're compiling with libc++, create a namespace alias for tr1 that points to std.
|
||||||
|
// Not particularly elegant, and largely should be filed under "hack", but it works for OS X with clang for now.
|
||||||
|
namespace std {
|
@@ -21,16 +21,3 @@ diff -Naur orig/src/cmake/compiler.cmake external_openimageio/src/cmake/compiler
|
|||||||
endif (MSVC)
|
endif (MSVC)
|
||||||
|
|
||||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD"
|
if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD"
|
||||||
diff -Naur orig/src/include/OpenImageIO/platform.h external_openimageio/src/include/OpenImageIO/platform.h
|
|
||||||
--- orig/src/include/OpenImageIO/platform.h 2020-05-10 21:43:52 -0600
|
|
||||||
+++ external_openimageio/src/include/OpenImageIO/platform.h 2020-05-13 17:04:36 -0600
|
|
||||||
@@ -41,6 +41,9 @@
|
|
||||||
# ifndef NOMINMAX
|
|
||||||
# define NOMINMAX
|
|
||||||
# endif
|
|
||||||
+# ifndef NOGDI
|
|
||||||
+# define NOGDI
|
|
||||||
+# endif
|
|
||||||
# include <windows.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
@@ -1,30 +1,6 @@
|
|||||||
diff -ur openvdb-9.0.0/cmake/FindTBB.cmake openvdb/cmake/FindTBB.cmake
|
|
||||||
--- openvdb-9.0.0/cmake/FindTBB.cmake 2021-10-30 03:55:40.000000000 +0100
|
|
||||||
+++ openvdb/cmake/FindTBB.cmake 2022-03-31 11:33:15.592329750 +0100
|
|
||||||
@@ -252,7 +252,8 @@
|
|
||||||
set(_TBB_LIB_NAME "${_TBB_LIB_NAME}${TBB_DEBUG_SUFFIX}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
- find_library(Tbb_${COMPONENT}_LIBRARY_${BUILD_TYPE} ${_TBB_LIB_NAME}
|
|
||||||
+ find_library(Tbb_${COMPONENT}_LIBRARY_${BUILD_TYPE}
|
|
||||||
+ NAMES ${_TBB_LIB_NAME} ${_TBB_LIB_NAME}_static
|
|
||||||
${_FIND_TBB_ADDITIONAL_OPTIONS}
|
|
||||||
PATHS ${_TBB_LIBRARYDIR_SEARCH_DIRS}
|
|
||||||
PATH_SUFFIXES ${CMAKE_INSTALL_LIBDIR} lib64 lib
|
|
||||||
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
|
||||||
@@ -107,7 +107,9 @@
|
|
||||||
# http://boost.2283326.n4.nabble.com/CMake-config-scripts-broken-in-1-70-td4708957.html
|
|
||||||
# https://github.com/boostorg/boost_install/commit/160c7cb2b2c720e74463865ef0454d4c4cd9ae7c
|
|
||||||
set(BUILD_SHARED_LIBS ON)
|
|
||||||
- set(Boost_USE_STATIC_LIBS OFF)
|
|
||||||
+ if(NOT WIN32) # blender links boost statically on windows
|
|
||||||
+ set(Boost_USE_STATIC_LIBS OFF)
|
|
||||||
+ endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
find_package(Boost ${MINIMUM_BOOST_VERSION} REQUIRED COMPONENTS iostreams system)
|
|
||||||
@@ -146,6 +148,7 @@
|
@@ -146,6 +148,7 @@
|
||||||
Boost::disable_autolinking # add -DBOOST_ALL_NO_LIB
|
Boost::disable_autolinking # add -DBOOST_ALL_NO_LIB
|
||||||
)
|
)
|
||||||
@@ -99,321 +75,40 @@ diff -Naur openvdb-8.0.0/openvdb/openvdb/version.rc.in openvdb/openvdb/openvdb/v
|
|||||||
+
|
+
|
||||||
+ END
|
+ END
|
||||||
+END
|
+END
|
||||||
|
diff -Naur orig/openvdb/openvdb/tree/ValueAccessor.h openvdb/openvdb/openvdb/tree/ValueAccessor.h
|
||||||
|
--- orig/openvdb/openvdb/tree/ValueAccessor.h 2022-11-02 13:58:26 -0600
|
||||||
|
+++ openvdb/openvdb/openvdb/tree/ValueAccessor.h 2022-11-02 18:55:09 -0600
|
||||||
|
@@ -872,7 +872,10 @@
|
||||||
|
using LeafNodeType = typename NodeType::LeafNodeType;
|
||||||
|
using CoordLimits = std::numeric_limits<Int32>;
|
||||||
|
|
||||||
|
- static_assert(std::is_same<NodeType, LeafNodeType>::value);
|
||||||
|
+ // Blender: Technically not an issue in OpenVDB, but USD 21.11 still builds
|
||||||
|
+ // as C++14 which does not support terse asserts yet. Add a message to
|
||||||
|
+ // explicitly select the C++14 supported static assert.
|
||||||
|
+ static_assert(std::is_same<NodeType, LeafNodeType>::value, "cache item node type is not leaf node type");
|
||||||
|
|
||||||
|
CacheItem(TreeCacheT& parent)
|
||||||
|
: mParent(&parent)
|
||||||
diff --git a/nanovdb/nanovdb/NanoVDB.h b/nanovdb/nanovdb/NanoVDB.h
|
diff --git a/nanovdb/nanovdb/NanoVDB.h b/nanovdb/nanovdb/NanoVDB.h
|
||||||
index cc2e54b77..703d2eabc 100644
|
index f7fc304..fde5c47 100644
|
||||||
--- a/nanovdb/nanovdb/NanoVDB.h
|
--- a/nanovdb/nanovdb/NanoVDB.h
|
||||||
+++ b/nanovdb/nanovdb/NanoVDB.h
|
+++ b/nanovdb/nanovdb/NanoVDB.h
|
||||||
@@ -161,8 +161,8 @@ typedef unsigned long long uint64_t;
|
@@ -1877,7 +1877,7 @@ __hostdev__ static inline uint32_t FindLowestOn(uint64_t v)
|
||||||
|
|
||||||
#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>;
|
NANOVDB_ASSERT(v);
|
||||||
using Vec3i = Vec3<int>;
|
#if (defined(__CUDA_ARCH__) || defined(__HIP__)) && defined(NANOVDB_USE_INTRINSICS)
|
||||||
|
- return __ffsll(v);
|
||||||
/// @brief Return a single precision floating-point vector of this coordinate
|
+ return __ffsll(static_cast<unsigned long long int>(v));
|
||||||
-Vec3f Coord::asVec3s() const { return Vec3f(float(mVec[0]), float(mVec[1]), float(mVec[2])); }
|
#elif defined(_MSC_VER) && defined(NANOVDB_USE_INTRINSICS)
|
||||||
+__hostdev__ inline Vec3f Coord::asVec3s() const { return Vec3f(float(mVec[0]), float(mVec[1]), float(mVec[2])); }
|
unsigned long index;
|
||||||
|
_BitScanForward64(&index, v);
|
||||||
/// @brief Return a double precision floating-point vector of this coordinate
|
@@ -2592,7 +2592,7 @@ public:
|
||||||
-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])); }
|
/// @note This method is only defined for IndexGrid = NanoGrid<ValueIndex>
|
||||||
|
template <typename T = BuildType>
|
||||||
// ----------------------------> Vec4 <--------------------------------------
|
- __hostdev__ typename enable_if<is_same<T, ValueIndex>::value, uint64_t>::type valueCount() const {return DataType::mData1;}
|
||||||
|
+ __hostdev__ typename enable_if<is_same<T, ValueIndex>::value, const uint64_t&>::type valueCount() const {return DataType::mData1;}
|
||||||
@@ -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) {
|
|
||||||
|
|
||||||
|
/// @brief Return a const reference to the tree
|
||||||
|
__hostdev__ const TreeT& tree() const { return *reinterpret_cast<const TreeT*>(this->treePtr()); }
|
||||||
|
@@ -1,7 +1,8 @@
|
|||||||
diff -Naur OpenShadingLanguage-1.12.6.2/CMakeLists.txt external_osl/CMakeLists.txt
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
--- OpenShadingLanguage-1.12.6.2/CMakeLists.txt 2022-09-30 17:43:53 -0600
|
index d527232..5ad6eaa 100644
|
||||||
+++ external_osl/CMakeLists.txt 2022-10-15 14:49:26 -0600
|
--- a/CMakeLists.txt
|
||||||
@@ -101,6 +101,11 @@
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -99,6 +99,11 @@ set (OSL_PTX_INSTALL_DIR "${CMAKE_INSTALL_FULL_DATADIR}/${PROJECT_NAME}/ptx"
|
||||||
CACHE STRING "Directory where OptiX PTX files will be installed")
|
CACHE STRING "Directory where OptiX PTX files will be installed")
|
||||||
set (CMAKE_DEBUG_POSTFIX "" CACHE STRING "Library naming postfix for Debug builds (e.g., '_debug')")
|
set (CMAKE_DEBUG_POSTFIX "" CACHE STRING "Library naming postfix for Debug builds (e.g., '_debug')")
|
||||||
|
|
||||||
@@ -13,10 +14,11 @@ diff -Naur OpenShadingLanguage-1.12.6.2/CMakeLists.txt external_osl/CMakeLists.t
|
|||||||
|
|
||||||
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 -Naur OpenShadingLanguage-1.12.6.2/src/cmake/externalpackages.cmake external_osl/src/cmake/externalpackages.cmake
|
diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake
|
||||||
--- OpenShadingLanguage-1.12.6.2/src/cmake/externalpackages.cmake 2022-09-30 17:43:53 -0600
|
index a7e098b..dad11d0 100644
|
||||||
+++ external_osl/src/cmake/externalpackages.cmake 2022-10-15 14:49:26 -0600
|
--- a/src/cmake/externalpackages.cmake
|
||||||
@@ -77,6 +77,7 @@
|
+++ b/src/cmake/externalpackages.cmake
|
||||||
|
@@ -77,6 +77,7 @@ link_directories ("${Boost_LIBRARY_DIRS}")
|
||||||
|
|
||||||
|
|
||||||
checked_find_package (ZLIB REQUIRED) # Needed by several packages
|
checked_find_package (ZLIB REQUIRED) # Needed by several packages
|
||||||
@@ -24,30 +26,10 @@ diff -Naur OpenShadingLanguage-1.12.6.2/src/cmake/externalpackages.cmake externa
|
|||||||
|
|
||||||
# IlmBase & OpenEXR
|
# IlmBase & OpenEXR
|
||||||
checked_find_package (OpenEXR REQUIRED
|
checked_find_package (OpenEXR REQUIRED
|
||||||
diff -Naur OpenShadingLanguage-1.12.6.2/src/include/OSL/llvm_util.h external_osl/src/include/OSL/llvm_util.h
|
diff --git a/src/liboslcomp/oslcomp.cpp b/src/liboslcomp/oslcomp.cpp
|
||||||
--- OpenShadingLanguage-1.12.6.2/src/include/OSL/llvm_util.h 2022-09-30 17:43:53 -0600
|
index 8c2e77b..211b8a7 100644
|
||||||
+++ external_osl/src/include/OSL/llvm_util.h 2022-10-15 15:37:24 -0600
|
--- a/src/liboslcomp/oslcomp.cpp
|
||||||
@@ -9,6 +9,8 @@
|
+++ b/src/liboslcomp/oslcomp.cpp
|
||||||
#include <unordered_set>
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
+#define OSL_HAS_BLENDER_CLEANUP_FIX
|
|
||||||
+
|
|
||||||
#ifdef LLVM_NAMESPACE
|
|
||||||
namespace llvm = LLVM_NAMESPACE;
|
|
||||||
#endif
|
|
||||||
@@ -455,7 +457,7 @@
|
|
||||||
llvm::BasicBlock* masked_return_block() const;
|
|
||||||
|
|
||||||
bool is_masking_required() const { return m_is_masking_required; }
|
|
||||||
-
|
|
||||||
+ static void Cleanup ();
|
|
||||||
struct ScopedMasking {
|
|
||||||
ScopedMasking() {}
|
|
||||||
|
|
||||||
diff -Naur OpenShadingLanguage-1.12.6.2/src/liboslcomp/oslcomp.cpp external_osl/src/liboslcomp/oslcomp.cpp
|
|
||||||
--- OpenShadingLanguage-1.12.6.2/src/liboslcomp/oslcomp.cpp 2022-09-30 17:43:53 -0600
|
|
||||||
+++ external_osl/src/liboslcomp/oslcomp.cpp 2022-10-15 14:49:26 -0600
|
|
||||||
@@ -21,6 +21,13 @@
|
@@ -21,6 +21,13 @@
|
||||||
#if !defined(__STDC_CONSTANT_MACROS)
|
#if !defined(__STDC_CONSTANT_MACROS)
|
||||||
# define __STDC_CONSTANT_MACROS 1
|
# define __STDC_CONSTANT_MACROS 1
|
||||||
@@ -62,50 +44,34 @@ diff -Naur OpenShadingLanguage-1.12.6.2/src/liboslcomp/oslcomp.cpp external_osl/
|
|||||||
#include <clang/Basic/TargetInfo.h>
|
#include <clang/Basic/TargetInfo.h>
|
||||||
#include <clang/Frontend/CompilerInstance.h>
|
#include <clang/Frontend/CompilerInstance.h>
|
||||||
#include <clang/Frontend/TextDiagnosticPrinter.h>
|
#include <clang/Frontend/TextDiagnosticPrinter.h>
|
||||||
diff -Naur OpenShadingLanguage-1.12.6.2/src/liboslexec/llvm_util.cpp external_osl/src/liboslexec/llvm_util.cpp
|
diff --git a/src/liboslexec/llvm_instance.cpp b/src/liboslexec/llvm_instance.cpp
|
||||||
--- OpenShadingLanguage-1.12.6.2/src/liboslexec/llvm_util.cpp 2022-09-30 17:43:53 -0600
|
index 8f52546..8c2d0c7 100644
|
||||||
+++ external_osl/src/liboslexec/llvm_util.cpp 2022-10-15 15:53:11 -0600
|
--- a/src/liboslexec/llvm_instance.cpp
|
||||||
@@ -116,8 +116,6 @@
|
+++ b/src/liboslexec/llvm_instance.cpp
|
||||||
return { A.data(), size_t(A.size()) };
|
@@ -1363,6 +1363,10 @@ BackendLLVM::run()
|
||||||
|
#ifdef OSL_LLVM_NO_BITCODE
|
||||||
|
OSL_ASSERT(!use_rs_bitcode());
|
||||||
|
ll.module(ll.new_module("llvm_ops"));
|
||||||
|
+ if (use_optix()) {
|
||||||
|
+ ll.module()->setDataLayout("e-i64:64-i128:128-v16:16-v32:32-n16:32:64");
|
||||||
|
+ ll.module()->setTargetTriple("nvptx64-nvidia-cuda");
|
||||||
|
+ }
|
||||||
|
#else
|
||||||
|
if (!use_optix()) {
|
||||||
|
if (use_rs_bitcode()) {
|
||||||
|
diff --git a/src/liboslexec/shadingsys.cpp b/src/liboslexec/shadingsys.cpp
|
||||||
|
index 46e4529..8e86486 100644
|
||||||
|
--- a/src/liboslexec/shadingsys.cpp
|
||||||
|
+++ b/src/liboslexec/shadingsys.cpp
|
||||||
|
@@ -2121,6 +2121,11 @@ ShadingSystemImpl::getattribute(ShaderGroup* group, string_view name,
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
-
|
+ if (name == "groupdata_size" && type == TypeDesc::TypeInt) {
|
||||||
-
|
+ *(int*)val = (int)group->m_llvm_groupdata_size;
|
||||||
namespace pvt {
|
+ return true;
|
||||||
|
+ }
|
||||||
typedef llvm::SectionMemoryManager LLVMMemoryManager;
|
+
|
||||||
@@ -182,6 +180,13 @@
|
return false;
|
||||||
++jit_mem_hold_users;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
+void
|
|
||||||
+LLVM_Util::Cleanup()
|
|
||||||
+{
|
|
||||||
+ if (jitmm_hold)
|
|
||||||
+ jitmm_hold->clear();
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
|
|
||||||
LLVM_Util::ScopedJitMemoryUser::~ScopedJitMemoryUser()
|
|
||||||
{
|
|
||||||
diff --git a/src/include/OSL/mask.h b/src/include/OSL/mask.h
|
|
||||||
index 24197af..b9275f6 100644
|
|
||||||
--- a/src/include/OSL/mask.h
|
|
||||||
+++ b/src/include/OSL/mask.h
|
|
||||||
@@ -4,7 +4,6 @@
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
-#include <immintrin.h>
|
|
||||||
#include <type_traits>
|
|
||||||
|
|
||||||
#include <OSL/oslconfig.h>
|
|
||||||
@@ -23,6 +22,8 @@ using std::countr_zero;
|
|
||||||
|
|
||||||
#elif OSL_INTEL_CLASSIC_COMPILER_VERSION
|
|
||||||
|
|
||||||
+#include <immintrin.h>
|
|
||||||
+
|
|
||||||
OSL_FORCEINLINE int popcount(uint32_t x) noexcept { return _mm_popcnt_u32(x);}
|
|
||||||
OSL_FORCEINLINE int popcount(uint64_t x) noexcept { return _mm_popcnt_u64(x); }
|
|
||||||
OSL_FORCEINLINE int countr_zero(uint32_t x) noexcept { return _bit_scan_forward(x); }
|
|
||||||
|
@@ -36,3 +36,39 @@ index a97a755..07ce853 100644
|
|||||||
if (self.compiler.find_library_file(self.lib_dirs, lib_name)):
|
if (self.compiler.find_library_file(self.lib_dirs, lib_name)):
|
||||||
ffi_lib = lib_name
|
ffi_lib = lib_name
|
||||||
break
|
break
|
||||||
|
--- a/Modules/posixmodule.c 2022-12-09 21:44:03
|
||||||
|
+++ b/Modules/posixmodule.c 2022-12-09 21:39:46
|
||||||
|
@@ -10564,10 +10564,15 @@
|
||||||
|
Py_BEGIN_ALLOW_THREADS
|
||||||
|
#ifdef HAVE_MKFIFOAT
|
||||||
|
if (dir_fd != DEFAULT_DIR_FD) {
|
||||||
|
+// BLENDER: disable also at compile time for compatibility when linking with older Xcode.
|
||||||
|
+// https://github.com/python/cpython/issues/97897
|
||||||
|
+#ifndef __APPLE__
|
||||||
|
if (HAVE_MKFIFOAT_RUNTIME) {
|
||||||
|
result = mkfifoat(dir_fd, path->narrow, mode);
|
||||||
|
|
||||||
|
+ } else
|
||||||
|
+#endif
|
||||||
|
+ {
|
||||||
|
- } else {
|
||||||
|
mkfifoat_unavailable = 1;
|
||||||
|
result = 0;
|
||||||
|
}
|
||||||
|
@@ -10638,10 +10633,15 @@
|
||||||
|
Py_BEGIN_ALLOW_THREADS
|
||||||
|
#ifdef HAVE_MKNODAT
|
||||||
|
if (dir_fd != DEFAULT_DIR_FD) {
|
||||||
|
+// BLENDER: disable also at compile time for compatibility when linking with older Xcode.
|
||||||
|
+// https://github.com/python/cpython/issues/97897
|
||||||
|
+#ifndef __APPLE__
|
||||||
|
if (HAVE_MKNODAT_RUNTIME) {
|
||||||
|
result = mknodat(dir_fd, path->narrow, mode, device);
|
||||||
|
|
||||||
|
+ } else
|
||||||
|
+#endif
|
||||||
|
+ {
|
||||||
|
- } else {
|
||||||
|
mknodat_unavailable = 1;
|
||||||
|
result = 0;
|
||||||
|
}
|
||||||
|
22
build_files/build_environment/patches/python_windows.diff
Normal file
22
build_files/build_environment/patches/python_windows.diff
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
--- a/PCbuild/prepare_ssl.bat 2022-10-30 11:48:14 -0600
|
||||||
|
+++ b/PCbuild/prepare_ssl.bat 2022-10-30 11:53:16 -0600
|
||||||
|
@@ -47,12 +47,13 @@
|
||||||
|
if "%PERL%" == "" where perl > "%TEMP%\perl.loc" 2> nul && set /P PERL= <"%TEMP%\perl.loc" & del "%TEMP%\perl.loc"
|
||||||
|
if "%PERL%" == "" (echo Cannot locate perl.exe on PATH or as PERL variable & exit /b 4)
|
||||||
|
|
||||||
|
-%MSBUILD% "%PCBUILD%\openssl.vcxproj" /p:Configuration=Release /p:Platform=Win32
|
||||||
|
-if errorlevel 1 exit /b
|
||||||
|
+REM Blender: we only need x64, ssl is kind of a long build, so just build what we need
|
||||||
|
+REM %MSBUILD% "%PCBUILD%\openssl.vcxproj" /p:Configuration=Release /p:Platform=Win32
|
||||||
|
+REM if errorlevel 1 exit /b
|
||||||
|
%MSBUILD% "%PCBUILD%\openssl.vcxproj" /p:Configuration=Release /p:Platform=x64
|
||||||
|
if errorlevel 1 exit /b
|
||||||
|
-%MSBUILD% "%PCBUILD%\openssl.vcxproj" /p:Configuration=Release /p:Platform=ARM
|
||||||
|
-if errorlevel 1 exit /b
|
||||||
|
-%MSBUILD% "%PCBUILD%\openssl.vcxproj" /p:Configuration=Release /p:Platform=ARM64
|
||||||
|
-if errorlevel 1 exit /b
|
||||||
|
+REM %MSBUILD% "%PCBUILD%\openssl.vcxproj" /p:Configuration=Release /p:Platform=ARM
|
||||||
|
+REM if errorlevel 1 exit /b
|
||||||
|
+REM %MSBUILD% "%PCBUILD%\openssl.vcxproj" /p:Configuration=Release /p:Platform=ARM64
|
||||||
|
+REM if errorlevel 1 exit /b
|
||||||
|
|
@@ -30,3 +30,19 @@ diff -ru ./src/video/SDL_video.c ./src/video/SDL_video.c
|
|||||||
if (SDL_strcmp(_this->name, "cocoa") == 0) { /* don't do this for X11, etc */
|
if (SDL_strcmp(_this->name, "cocoa") == 0) { /* don't do this for X11, etc */
|
||||||
if (Cocoa_IsWindowInFullscreenSpace(window)) {
|
if (Cocoa_IsWindowInFullscreenSpace(window)) {
|
||||||
return SDL_FALSE;
|
return SDL_FALSE;
|
||||||
|
--- CMakeLists.txt 2022-12-09 20:40:00
|
||||||
|
+++ CMakeLists.txt 2022-12-09 20:40:00
|
||||||
|
@@ -526,6 +526,13 @@
|
||||||
|
list(APPEND EXTRA_CFLAGS "-fno-strict-aliasing")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
+ # BLENDER: make libs compatible with older Xcode.
|
||||||
|
+ # https://github.com/KhronosGroup/MoltenVK/issues/1756
|
||||||
|
+ check_c_compiler_flag(-fno-objc-msgsend-selector-stubs HAVE_GCC_NO_OBJC_MSGSEND_SELECTOR_STUBS)
|
||||||
|
+ if(HAVE_GCC_NO_OBJC_MSGSEND_SELECTOR_STUBS)
|
||||||
|
+ list(APPEND EXTRA_CFLAGS "-fno-objc-msgsend-selector-stubs")
|
||||||
|
+ endif()
|
||||||
|
+
|
||||||
|
check_c_compiler_flag(-Wdeclaration-after-statement HAVE_GCC_WDECLARATION_AFTER_STATEMENT)
|
||||||
|
if(HAVE_GCC_WDECLARATION_AFTER_STATEMENT)
|
||||||
|
check_c_compiler_flag(-Werror=declaration-after-statement HAVE_GCC_WERROR_DECLARATION_AFTER_STATEMENT)
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
diff -x .git -ur usd.orig/cmake/defaults/Packages.cmake external_usd/cmake/defaults/Packages.cmake
|
diff -Naur orig/cmake/defaults/Packages.cmake external_usd/cmake/defaults/Packages.cmake
|
||||||
--- usd.orig/cmake/defaults/Packages.cmake 2019-10-24 22:39:53.000000000 +0200
|
--- orig/cmake/defaults/Packages.cmake 2022-10-27 12:56:33 -0600
|
||||||
+++ external_usd/cmake/defaults/Packages.cmake 2019-11-28 13:00:33.185957483 +0100
|
+++ external_usd/cmake/defaults/Packages.cmake 2022-10-27 13:05:08 -0600
|
||||||
@@ -64,7 +64,7 @@
|
@@ -129,7 +129,7 @@
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# --TBB
|
# --TBB
|
||||||
@@ -10,10 +10,9 @@ 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 orig/cmake/defaults/msvcdefaults.cmake external_usd/cmake/defaults/msvcdefaults.cmake
|
||||||
diff -Naur usd_orig/cmake/defaults/msvcdefaults.cmake external_usd/cmake/defaults/msvcdefaults.cmake
|
--- orig/cmake/defaults/msvcdefaults.cmake 2022-10-27 12:56:33 -0600
|
||||||
--- usd_orig/cmake/defaults/msvcdefaults.cmake 2022-02-18 14:49:09 -0700
|
+++ external_usd/cmake/defaults/msvcdefaults.cmake 2022-10-27 13:05:08 -0600
|
||||||
+++ external_usd/cmake/defaults/msvcdefaults.cmake 2022-03-14 11:41:50 -0600
|
|
||||||
@@ -120,9 +120,6 @@
|
@@ -120,9 +120,6 @@
|
||||||
# for all translation units.
|
# for all translation units.
|
||||||
set(_PXR_CXX_FLAGS "${_PXR_CXX_FLAGS} /bigobj")
|
set(_PXR_CXX_FLAGS "${_PXR_CXX_FLAGS} /bigobj")
|
||||||
@@ -24,38 +23,10 @@ diff -Naur usd_orig/cmake/defaults/msvcdefaults.cmake external_usd/cmake/default
|
|||||||
# Enable multiprocessor builds.
|
# Enable multiprocessor builds.
|
||||||
set(_PXR_CXX_FLAGS "${_PXR_CXX_FLAGS} /MP")
|
set(_PXR_CXX_FLAGS "${_PXR_CXX_FLAGS} /MP")
|
||||||
set(_PXR_CXX_FLAGS "${_PXR_CXX_FLAGS} /Gm-")
|
set(_PXR_CXX_FLAGS "${_PXR_CXX_FLAGS} /Gm-")
|
||||||
|
diff -Naur orig/pxr/base/arch/timing.h external_usd/pxr/base/arch/timing.h
|
||||||
diff --git a/pxr/base/work/singularTask.h b/pxr/base/work/singularTask.h
|
--- orig/pxr/base/arch/timing.h 2022-10-27 12:56:34 -0600
|
||||||
--- a/pxr/base/work/singularTask.h
|
+++ external_usd/pxr/base/arch/timing.h 2022-10-27 13:05:08 -0600
|
||||||
+++ b/pxr/base/work/singularTask.h
|
@@ -84,6 +84,10 @@
|
||||||
@@ -120,7 +120,7 @@
|
|
||||||
// case we go again to ensure the task can do whatever it
|
|
||||||
// was awakened to do. Once we successfully take the count
|
|
||||||
// to zero, we stop.
|
|
||||||
- size_t old = count;
|
|
||||||
+ std::size_t old = count;
|
|
||||||
do { _fn(); } while (
|
|
||||||
!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
|
inline uint64_t
|
||||||
ArchGetStartTickTime()
|
ArchGetStartTickTime()
|
||||||
{
|
{
|
||||||
@@ -66,7 +37,7 @@ index 517561f..fda5a1f 100644
|
|||||||
uint64_t t;
|
uint64_t t;
|
||||||
#if defined (ARCH_OS_DARWIN)
|
#if defined (ARCH_OS_DARWIN)
|
||||||
return ArchGetTickTime();
|
return ArchGetTickTime();
|
||||||
@@ -123,6 +127,7 @@ ArchGetStartTickTime()
|
@@ -116,6 +120,7 @@
|
||||||
#error "Unsupported architecture."
|
#error "Unsupported architecture."
|
||||||
#endif
|
#endif
|
||||||
return t;
|
return t;
|
||||||
@@ -74,7 +45,7 @@ index 517561f..fda5a1f 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Get a "stop" tick time for measuring an interval of time. See
|
/// Get a "stop" tick time for measuring an interval of time. See
|
||||||
@@ -132,6 +137,10 @@ ArchGetStartTickTime()
|
@@ -125,6 +130,10 @@
|
||||||
inline uint64_t
|
inline uint64_t
|
||||||
ArchGetStopTickTime()
|
ArchGetStopTickTime()
|
||||||
{
|
{
|
||||||
@@ -85,7 +56,7 @@ index 517561f..fda5a1f 100644
|
|||||||
uint64_t t;
|
uint64_t t;
|
||||||
#if defined (ARCH_OS_DARWIN)
|
#if defined (ARCH_OS_DARWIN)
|
||||||
return ArchGetTickTime();
|
return ArchGetTickTime();
|
||||||
@@ -162,11 +171,11 @@ ArchGetStopTickTime()
|
@@ -155,11 +164,11 @@
|
||||||
#error "Unsupported architecture."
|
#error "Unsupported architecture."
|
||||||
#endif
|
#endif
|
||||||
return t;
|
return t;
|
||||||
@@ -100,3 +71,46 @@ index 517561f..fda5a1f 100644
|
|||||||
|
|
||||||
/// A simple timer class for measuring an interval of time using the
|
/// A simple timer class for measuring an interval of time using the
|
||||||
/// ArchTickTimer facilities.
|
/// ArchTickTimer facilities.
|
||||||
|
diff -Naur orig/pxr/imaging/hioOpenVDB/CMakeLists.txt external_usd/pxr/imaging/hioOpenVDB/CMakeLists.txt
|
||||||
|
--- orig/pxr/imaging/hioOpenVDB/CMakeLists.txt 2022-10-27 12:56:35 -0600
|
||||||
|
+++ external_usd/pxr/imaging/hioOpenVDB/CMakeLists.txt 2022-10-27 13:05:08 -0600
|
||||||
|
@@ -20,6 +20,12 @@
|
||||||
|
LIST(APPEND __VDB_IMATH_LIBS ${OPENEXR_Half_LIBRARY})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
+if (WIN32)
|
||||||
|
+ # OpenVDB uses constants from <cmath> that aren't available on
|
||||||
|
+ # Windows unless this is defined.
|
||||||
|
+ add_definitions(-D_USE_MATH_DEFINES)
|
||||||
|
+endif()
|
||||||
|
+
|
||||||
|
pxr_library(hioOpenVDB
|
||||||
|
LIBRARIES
|
||||||
|
ar
|
||||||
|
diff -Naur orig/pxr/usdImaging/CMakeLists.txt external_usd/pxr/usdImaging/CMakeLists.txt
|
||||||
|
--- orig/pxr/usdImaging/CMakeLists.txt 2022-10-27 12:56:37 -0600
|
||||||
|
+++ external_usd/pxr/usdImaging/CMakeLists.txt 2022-10-27 13:05:08 -0600
|
||||||
|
@@ -7,7 +7,7 @@
|
||||||
|
usdVolImaging
|
||||||
|
usdAppUtils
|
||||||
|
usdviewq
|
||||||
|
- bin
|
||||||
|
+# bin
|
||||||
|
plugin
|
||||||
|
)
|
||||||
|
|
||||||
|
diff -Naur orig/cmake/macros/Private.cmake external_usd/cmake/macros/Private.cmake
|
||||||
|
--- orig/cmake/macros/Private.cmake 2022-02-18 14:49:09 -0700
|
||||||
|
+++ external_usd/cmake/macros/Private.cmake 2022-08-05 10:42:03 -0600
|
||||||
|
@@ -900,8 +900,10 @@
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
- if (WIN32 AND PXR_USE_DEBUG_PYTHON)
|
||||||
|
+ if (WIN32 AND PXR_USE_DEBUG_PYTHON AND NOT CMAKE_DEBUG_POSTFIX)
|
||||||
|
# On Windows when compiling with debug python the library must be named with _d.
|
||||||
|
+ # Blender: but this can be skipped if CMAKE_DEBUG_POSTFIX is set, it knows
|
||||||
|
+ # what it is doing and we don't want libraries ending in _d_d.pyd
|
||||||
|
set(LIBRARY_NAME "_${NAME}_d")
|
||||||
|
else()
|
||||||
|
set(LIBRARY_NAME "_${NAME}")
|
||||||
|
@@ -1,11 +0,0 @@
|
|||||||
--- meson.build.orig 2022-06-30 22:59:11.000000000 +0100
|
|
||||||
+++ meson.build 2022-09-27 13:21:26.428517668 +0100
|
|
||||||
@@ -2,7 +2,7 @@
|
|
||||||
'wayland', 'c',
|
|
||||||
version: '1.21.0',
|
|
||||||
license: 'MIT',
|
|
||||||
- meson_version: '>= 0.56.0',
|
|
||||||
+ meson_version: '>= 0.55.1',
|
|
||||||
default_options: [
|
|
||||||
'warning_level=2',
|
|
||||||
'buildtype=debugoptimized',
|
|
@@ -103,15 +103,19 @@ if %ERRORLEVEL% NEQ 0 (
|
|||||||
)
|
)
|
||||||
|
|
||||||
set StatusFile=%BUILD_DIR%\%1_%2.log
|
set StatusFile=%BUILD_DIR%\%1_%2.log
|
||||||
set path=%BUILD_DIR%\downloads\mingw\mingw64\msys\1.0\bin\;%BUILD_DIR%\downloads\nasm-2.12.01\;%path%
|
set original_path=%path%
|
||||||
|
set oiio_paths=%Staging%\%BuildDir%%ARCH%R\Release\openimageio\bin;%Staging%\%BuildDir%%ARCH%D\Debug\openimageio\bin
|
||||||
|
set boost_paths=%Staging%\%BuildDir%%ARCH%R\Release\boost\lib;%Staging%\%BuildDir%%ARCH%D\Debug\boost\lib
|
||||||
|
set openexr_paths=%Staging%\%BuildDir%%ARCH%R\Release\openexr\bin;%Staging%\%BuildDir%%ARCH%D\Debug\openexr\bin
|
||||||
|
set imath_paths=%Staging%\%BuildDir%%ARCH%R\Release\imath\bin;%Staging%\%BuildDir%%ARCH%D\Debug\imath\bin
|
||||||
|
set path=%BUILD_DIR%\downloads\mingw\mingw64\msys\1.0\bin\;%BUILD_DIR%\downloads\nasm-2.12.01\;%path%;%boost_paths%;%oiio_paths%;%openexr_paths%;%imath_paths%
|
||||||
mkdir %STAGING%\%BuildDir%%ARCH%R
|
mkdir %STAGING%\%BuildDir%%ARCH%R
|
||||||
cd %Staging%\%BuildDir%%ARCH%R
|
cd %Staging%\%BuildDir%%ARCH%R
|
||||||
echo %DATE% %TIME% : Start > %StatusFile%
|
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:1 "ll.vcxproj" /p:Configuration=Release /fl /flp:logfile=BlenderDeps_llvm.log;Verbosity=normal
|
msbuild -maxcpucount:1 "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
|
||||||
)
|
)
|
||||||
@@ -123,8 +127,7 @@ 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:1 "ll.vcxproj" /p:Configuration=Debug /fl /flp:logfile=BlenderDeps_llvm.log;;Verbosity=normal
|
msbuild -maxcpucount:1 "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
|
||||||
)
|
)
|
||||||
@@ -132,4 +135,5 @@ echo %DATE% %TIME% : Debug Harvest done >> %StatusFile%
|
|||||||
cd %BUILD_DIR%
|
cd %BUILD_DIR%
|
||||||
|
|
||||||
:exit
|
:exit
|
||||||
|
set path=%original_path%
|
||||||
Echo .
|
Echo .
|
||||||
|
@@ -4,10 +4,9 @@
|
|||||||
|
|
||||||
include("${CMAKE_CURRENT_LIST_DIR}/../../cmake/config/blender_release.cmake")
|
include("${CMAKE_CURRENT_LIST_DIR}/../../cmake/config/blender_release.cmake")
|
||||||
|
|
||||||
message(STATUS "Building in CentOS 7 64bit environment")
|
message(STATUS "Building in Rocky 8 Linux 64bit environment")
|
||||||
|
|
||||||
set(LIBDIR_NAME "linux_centos7_x86_64")
|
set(LIBDIR_NAME "linux_x86_64_glibc_228")
|
||||||
set(WITH_CXX11_ABI OFF CACHE BOOL "" FORCE)
|
|
||||||
|
|
||||||
# ######## Linux-specific build options ########
|
# ######## Linux-specific build options ########
|
||||||
# Options which are specific to Linux-only platforms
|
# Options which are specific to Linux-only platforms
|
||||||
@@ -28,4 +27,4 @@ set(LIBDIR "${CMAKE_CURRENT_LIST_DIR}/../../../../lib/${LIBDIR_NAME}" CACHE STRI
|
|||||||
# Platform specific configuration, to ensure static linking against everything.
|
# Platform specific configuration, to ensure static linking against everything.
|
||||||
|
|
||||||
# Additional linking libraries
|
# Additional linking libraries
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "-lrt -static-libstdc++ -no-pie" CACHE STRING "" FORCE)
|
set(CMAKE_EXE_LINKER_FLAGS "-lrt -no-pie" CACHE STRING "" FORCE)
|
||||||
|
@@ -19,9 +19,13 @@ ENDIF()
|
|||||||
|
|
||||||
SET(_moltenvk_SEARCH_DIRS
|
SET(_moltenvk_SEARCH_DIRS
|
||||||
${MOLTENVK_ROOT_DIR}
|
${MOLTENVK_ROOT_DIR}
|
||||||
${LIBDIR}/vulkan/MoltenVK
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# FIXME: These finder modules typically don't use LIBDIR,
|
||||||
|
# this should be set by `./build_files/cmake/platform/` instead.
|
||||||
|
IF(DEFINED LIBDIR)
|
||||||
|
SET(_moltenvk_SEARCH_DIRS ${_moltenvk_SEARCH_DIRS} ${LIBDIR}/moltenvk)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
FIND_PATH(MOLTENVK_INCLUDE_DIR
|
FIND_PATH(MOLTENVK_INCLUDE_DIR
|
||||||
NAMES
|
NAMES
|
||||||
|
@@ -24,6 +24,7 @@ SET(_opencolorio_FIND_COMPONENTS
|
|||||||
yaml-cpp
|
yaml-cpp
|
||||||
expat
|
expat
|
||||||
pystring
|
pystring
|
||||||
|
minizip
|
||||||
)
|
)
|
||||||
|
|
||||||
SET(_opencolorio_SEARCH_DIRS
|
SET(_opencolorio_SEARCH_DIRS
|
||||||
|
@@ -17,9 +17,13 @@ ENDIF()
|
|||||||
|
|
||||||
SET(_optix_SEARCH_DIRS
|
SET(_optix_SEARCH_DIRS
|
||||||
${OPTIX_ROOT_DIR}
|
${OPTIX_ROOT_DIR}
|
||||||
"$ENV{PROGRAMDATA}/NVIDIA Corporation/OptiX SDK 7.3.0"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# TODO: Which environment uses this?
|
||||||
|
if(DEFINED ENV{PROGRAMDATA})
|
||||||
|
list(APPEND _optix_SEARCH_DIRS "$ENV{PROGRAMDATA}/NVIDIA Corporation/OptiX SDK 7.3.0")
|
||||||
|
endif()
|
||||||
|
|
||||||
FIND_PATH(OPTIX_INCLUDE_DIR
|
FIND_PATH(OPTIX_INCLUDE_DIR
|
||||||
NAMES
|
NAMES
|
||||||
optix.h
|
optix.h
|
||||||
|
@@ -13,6 +13,7 @@
|
|||||||
#
|
#
|
||||||
# This module defines
|
# This module defines
|
||||||
# PYTHON_VERSION
|
# PYTHON_VERSION
|
||||||
|
# PYTHON_VERSION_NO_DOTS
|
||||||
# PYTHON_INCLUDE_DIRS
|
# PYTHON_INCLUDE_DIRS
|
||||||
# PYTHON_INCLUDE_CONFIG_DIRS
|
# PYTHON_INCLUDE_CONFIG_DIRS
|
||||||
# PYTHON_LIBRARIES
|
# PYTHON_LIBRARIES
|
||||||
@@ -64,11 +65,13 @@ IF(DEFINED PYTHON_LIBPATH)
|
|||||||
SET(_IS_LIB_PATH_DEF ON)
|
SET(_IS_LIB_PATH_DEF ON)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
STRING(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
|
STRING(REPLACE "." "" PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
|
||||||
|
|
||||||
|
SET(_PYTHON_ABI_FLAGS "")
|
||||||
|
|
||||||
SET(_python_SEARCH_DIRS
|
SET(_python_SEARCH_DIRS
|
||||||
${PYTHON_ROOT_DIR}
|
${PYTHON_ROOT_DIR}
|
||||||
"$ENV{HOME}/py${_PYTHON_VERSION_NO_DOTS}"
|
"$ENV{HOME}/py${PYTHON_VERSION_NO_DOTS}"
|
||||||
"/opt/lib/python-${PYTHON_VERSION}"
|
"/opt/lib/python-${PYTHON_VERSION}"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -211,7 +214,6 @@ IF(PYTHONLIBSUNIX_FOUND)
|
|||||||
)
|
)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
UNSET(_PYTHON_VERSION_NO_DOTS)
|
|
||||||
UNSET(_PYTHON_ABI_FLAGS)
|
UNSET(_PYTHON_ABI_FLAGS)
|
||||||
UNSET(_python_SEARCH_DIRS)
|
UNSET(_python_SEARCH_DIRS)
|
||||||
|
|
||||||
|
63
build_files/cmake/Modules/FindShaderC.cmake
Normal file
63
build_files/cmake/Modules/FindShaderC.cmake
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
# Copyright 2023 Blender Foundation.
|
||||||
|
|
||||||
|
# - Find ShaderC libraries
|
||||||
|
# Find the ShaderC includes and libraries
|
||||||
|
# This module defines
|
||||||
|
# SHADERC_INCLUDE_DIRS, where to find MoltenVK headers, Set when
|
||||||
|
# SHADERC_INCLUDE_DIR is found.
|
||||||
|
# SHADERC_LIBRARIES, libraries to link against to use ShaderC.
|
||||||
|
# SHADERC_ROOT_DIR, The base directory to search for ShaderC.
|
||||||
|
# This can also be an environment variable.
|
||||||
|
# SHADERC_FOUND, If false, do not try to use ShaderC.
|
||||||
|
#
|
||||||
|
|
||||||
|
# If SHADERC_ROOT_DIR was defined in the environment, use it.
|
||||||
|
IF(NOT SHADERC_ROOT_DIR AND NOT $ENV{SHADERC_ROOT_DIR} STREQUAL "")
|
||||||
|
SET(SHADERC_ROOT_DIR $ENV{SHADERC_ROOT_DIR})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
SET(_shaderc_SEARCH_DIRS
|
||||||
|
${SHADERC_ROOT_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
# FIXME: These finder modules typically don't use LIBDIR,
|
||||||
|
# this should be set by `./build_files/cmake/platform/` instead.
|
||||||
|
IF(DEFINED LIBDIR)
|
||||||
|
SET(_shaderc_SEARCH_DIRS ${_shaderc_SEARCH_DIRS} ${LIBDIR}/shaderc)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
FIND_PATH(SHADERC_INCLUDE_DIR
|
||||||
|
NAMES
|
||||||
|
shaderc/shaderc.h
|
||||||
|
HINTS
|
||||||
|
${_shaderc_SEARCH_DIRS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_LIBRARY(SHADERC_LIBRARY
|
||||||
|
NAMES
|
||||||
|
shaderc_combined
|
||||||
|
HINTS
|
||||||
|
${_shaderc_SEARCH_DIRS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
lib
|
||||||
|
)
|
||||||
|
|
||||||
|
# handle the QUIETLY and REQUIRED arguments and set SHADERC_FOUND to TRUE if
|
||||||
|
# all listed variables are TRUE
|
||||||
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(ShaderC DEFAULT_MSG SHADERC_LIBRARY SHADERC_INCLUDE_DIR)
|
||||||
|
|
||||||
|
IF(SHADERC_FOUND)
|
||||||
|
SET(SHADERC_LIBRARIES ${SHADERC_LIBRARY})
|
||||||
|
SET(SHADERC_INCLUDE_DIRS ${SHADERC_INCLUDE_DIR})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
MARK_AS_ADVANCED(
|
||||||
|
SHADERC_INCLUDE_DIR
|
||||||
|
SHADERC_LIBRARY
|
||||||
|
)
|
||||||
|
|
||||||
|
UNSET(_shaderc_SEARCH_DIRS)
|
@@ -59,6 +59,9 @@ ELSE()
|
|||||||
get_filename_component(USD_LIBRARY_DIR ${USD_LIBRARY} DIRECTORY)
|
get_filename_component(USD_LIBRARY_DIR ${USD_LIBRARY} DIRECTORY)
|
||||||
SET(USD_INCLUDE_DIRS ${USD_INCLUDE_DIR})
|
SET(USD_INCLUDE_DIRS ${USD_INCLUDE_DIR})
|
||||||
set(USD_LIBRARIES ${USD_LIBRARY})
|
set(USD_LIBRARIES ${USD_LIBRARY})
|
||||||
|
IF(EXISTS ${USD_INCLUDE_DIR}/pxr/base/tf/pyModule.h)
|
||||||
|
SET(USD_PYTHON_SUPPORT ON)
|
||||||
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
63
build_files/cmake/Modules/FindVulkan.cmake
Normal file
63
build_files/cmake/Modules/FindVulkan.cmake
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
# Copyright 2023 Blender Foundation.
|
||||||
|
|
||||||
|
# - Find Vulkan libraries
|
||||||
|
# Find the Vulkan includes and libraries
|
||||||
|
# This module defines
|
||||||
|
# VULKAN_INCLUDE_DIRS, where to find Vulkan headers, Set when
|
||||||
|
# VULKAN_INCLUDE_DIR is found.
|
||||||
|
# VULKAN_LIBRARIES, libraries to link against to use Vulkan.
|
||||||
|
# VULKAN_ROOT_DIR, The base directory to search for Vulkan.
|
||||||
|
# This can also be an environment variable.
|
||||||
|
# VULKAN_FOUND, If false, do not try to use Vulkan.
|
||||||
|
#
|
||||||
|
|
||||||
|
# If VULKAN_ROOT_DIR was defined in the environment, use it.
|
||||||
|
IF(NOT VULKAN_ROOT_DIR AND NOT $ENV{VULKAN_ROOT_DIR} STREQUAL "")
|
||||||
|
SET(VULKAN_ROOT_DIR $ENV{VULKAN_ROOT_DIR})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
SET(_vulkan_SEARCH_DIRS
|
||||||
|
${VULKAN_ROOT_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
# FIXME: These finder modules typically don't use LIBDIR,
|
||||||
|
# this should be set by `./build_files/cmake/platform/` instead.
|
||||||
|
IF(DEFINED LIBDIR)
|
||||||
|
SET(_vulkan_SEARCH_DIRS ${_vulkan_SEARCH_DIRS} ${LIBDIR}/vulkan)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
FIND_PATH(VULKAN_INCLUDE_DIR
|
||||||
|
NAMES
|
||||||
|
vulkan/vulkan.h
|
||||||
|
HINTS
|
||||||
|
${_vulkan_SEARCH_DIRS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_LIBRARY(VULKAN_LIBRARY
|
||||||
|
NAMES
|
||||||
|
vulkan
|
||||||
|
HINTS
|
||||||
|
${_vulkan_SEARCH_DIRS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
lib
|
||||||
|
)
|
||||||
|
|
||||||
|
# handle the QUIETLY and REQUIRED arguments and set VULKAN_FOUND to TRUE if
|
||||||
|
# all listed variables are TRUE
|
||||||
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Vulkan DEFAULT_MSG VULKAN_LIBRARY VULKAN_INCLUDE_DIR)
|
||||||
|
|
||||||
|
IF(VULKAN_FOUND)
|
||||||
|
SET(VULKAN_LIBRARIES ${VULKAN_LIBRARY})
|
||||||
|
SET(VULKAN_INCLUDE_DIRS ${VULKAN_INCLUDE_DIR})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
MARK_AS_ADVANCED(
|
||||||
|
VULKAN_INCLUDE_DIR
|
||||||
|
VULKAN_LIBRARY
|
||||||
|
)
|
||||||
|
|
||||||
|
UNSET(_vulkan_SEARCH_DIRS)
|
@@ -95,6 +95,9 @@ macro(BLENDER_SRC_GTEST_EX)
|
|||||||
set_tests_properties(${TARGET_NAME} PROPERTIES
|
set_tests_properties(${TARGET_NAME} PROPERTIES
|
||||||
ENVIRONMENT LSAN_OPTIONS=exitcode=0:$ENV{LSAN_OPTIONS}
|
ENVIRONMENT LSAN_OPTIONS=exitcode=0:$ENV{LSAN_OPTIONS}
|
||||||
)
|
)
|
||||||
|
if(WIN32)
|
||||||
|
set_tests_properties(${TARGET_NAME} PROPERTIES ENVIRONMENT "PATH=${CMAKE_INSTALL_PREFIX_WITH_CONFIG}/blender.shared/;$ENV{PATH}")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set_target_properties(${TARGET_NAME} PROPERTIES VS_GLOBAL_VcpkgEnabled "false")
|
set_target_properties(${TARGET_NAME} PROPERTIES VS_GLOBAL_VcpkgEnabled "false")
|
||||||
|
@@ -23,19 +23,19 @@ if(EXISTS ${SOURCE_DIR}/.git)
|
|||||||
|
|
||||||
if(MY_WC_BRANCH STREQUAL "HEAD")
|
if(MY_WC_BRANCH STREQUAL "HEAD")
|
||||||
# Detached HEAD, check whether commit hash is reachable
|
# Detached HEAD, check whether commit hash is reachable
|
||||||
# in the master branch
|
# in the main branch
|
||||||
execute_process(COMMAND git rev-parse --short=12 HEAD
|
execute_process(COMMAND git rev-parse --short=12 HEAD
|
||||||
WORKING_DIRECTORY ${SOURCE_DIR}
|
WORKING_DIRECTORY ${SOURCE_DIR}
|
||||||
OUTPUT_VARIABLE MY_WC_HASH
|
OUTPUT_VARIABLE MY_WC_HASH
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
|
||||||
execute_process(COMMAND git branch --list master blender-v* --contains ${MY_WC_HASH}
|
execute_process(COMMAND git branch --list main blender-v* --contains ${MY_WC_HASH}
|
||||||
WORKING_DIRECTORY ${SOURCE_DIR}
|
WORKING_DIRECTORY ${SOURCE_DIR}
|
||||||
OUTPUT_VARIABLE _git_contains_check
|
OUTPUT_VARIABLE _git_contains_check
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
|
||||||
if(NOT _git_contains_check STREQUAL "")
|
if(NOT _git_contains_check STREQUAL "")
|
||||||
set(MY_WC_BRANCH "master")
|
set(MY_WC_BRANCH "main")
|
||||||
else()
|
else()
|
||||||
execute_process(COMMAND git show-ref --tags -d
|
execute_process(COMMAND git show-ref --tags -d
|
||||||
WORKING_DIRECTORY ${SOURCE_DIR}
|
WORKING_DIRECTORY ${SOURCE_DIR}
|
||||||
@@ -48,7 +48,7 @@ if(EXISTS ${SOURCE_DIR}/.git)
|
|||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
|
||||||
if(_git_tag_hashes MATCHES "${_git_head_hash}")
|
if(_git_tag_hashes MATCHES "${_git_head_hash}")
|
||||||
set(MY_WC_BRANCH "master")
|
set(MY_WC_BRANCH "main")
|
||||||
else()
|
else()
|
||||||
execute_process(COMMAND git branch --contains ${MY_WC_HASH}
|
execute_process(COMMAND git branch --contains ${MY_WC_HASH}
|
||||||
WORKING_DIRECTORY ${SOURCE_DIR}
|
WORKING_DIRECTORY ${SOURCE_DIR}
|
||||||
|
@@ -6,18 +6,80 @@
|
|||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
cmakelists_file = sys.argv[-1]
|
cmakelists_file = sys.argv[-1]
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def count_backslashes_before_pos(file_data: str, pos: int) -> int:
|
||||||
|
slash_count = 0
|
||||||
|
pos -= 1
|
||||||
|
while pos >= 0:
|
||||||
|
if file_data[pos] != '\\':
|
||||||
|
break
|
||||||
|
pos -= 1
|
||||||
|
slash_count += 1
|
||||||
|
return slash_count
|
||||||
|
|
||||||
|
|
||||||
|
def extract_cmake_string_at_pos(file_data: str, pos_beg: int) -> Optional[str]:
|
||||||
|
assert file_data[pos_beg - 1] == '"'
|
||||||
|
|
||||||
|
pos = pos_beg
|
||||||
|
# Dummy assignment.
|
||||||
|
pos_end = pos_beg
|
||||||
|
while True:
|
||||||
|
pos_next = file_data.find('"', pos)
|
||||||
|
if pos_next == -1:
|
||||||
|
raise Exception("Un-terminated string (parse error?)")
|
||||||
|
|
||||||
|
count_slashes = count_backslashes_before_pos(file_data, pos_next)
|
||||||
|
if (count_slashes % 2) == 0:
|
||||||
|
pos_end = pos_next
|
||||||
|
# Found the closing quote.
|
||||||
|
break
|
||||||
|
|
||||||
|
# The quote was back-slash escaped, step over it.
|
||||||
|
pos = pos_next + 1
|
||||||
|
file_data[pos_next]
|
||||||
|
|
||||||
|
assert file_data[pos_end] == '"'
|
||||||
|
|
||||||
|
if pos_beg == pos_end:
|
||||||
|
return None
|
||||||
|
|
||||||
|
# See: https://cmake.org/cmake/help/latest/manual/cmake-language.7.html#escape-sequences
|
||||||
|
text = file_data[pos_beg: pos_end].replace(
|
||||||
|
# Handle back-slash literals.
|
||||||
|
"\\\\", "\\",
|
||||||
|
).replace(
|
||||||
|
# Handle tabs.
|
||||||
|
"\\t", "\t",
|
||||||
|
).replace(
|
||||||
|
# Handle escaped quotes.
|
||||||
|
"\\\"", "\"",
|
||||||
|
).replace(
|
||||||
|
# Handle tabs.
|
||||||
|
"\\;", ";",
|
||||||
|
).replace(
|
||||||
|
# Handle trailing newlines.
|
||||||
|
"\\\n", "",
|
||||||
|
)
|
||||||
|
|
||||||
|
return text
|
||||||
|
|
||||||
|
|
||||||
|
def main() -> None:
|
||||||
options = []
|
options = []
|
||||||
for l in open(cmakelists_file, 'r').readlines():
|
with open(cmakelists_file, 'r', encoding="utf-8") as fh:
|
||||||
if not l.lstrip().startswith('#'):
|
file_data = fh.read()
|
||||||
l_option = re.sub(r'.*\boption\s*\(\s*(WITH_[a-zA-Z0-9_]+)\s+\"(.*)\"\s*.*', r'\g<1> - \g<2>', l)
|
for m in re.finditer(r"^\s*option\s*\(\s*(WITH_[a-zA-Z0-9_]+)\s+(\")", file_data, re.MULTILINE):
|
||||||
if l_option != l:
|
option_name = m.group(1)
|
||||||
l_option = l_option.strip()
|
option_descr = extract_cmake_string_at_pos(file_data, m.span(2)[1])
|
||||||
if l_option.startswith('WITH_'):
|
if option_descr is None:
|
||||||
options.append(l_option)
|
# Possibly a parsing error, at least show something.
|
||||||
|
option_descr = "(UNDOCUMENTED)"
|
||||||
|
options.append("{:s}: {:s}".format(option_name, option_descr))
|
||||||
|
|
||||||
print('\n'.join(options))
|
print('\n'.join(options))
|
||||||
|
|
||||||
|
@@ -58,6 +58,7 @@ set(WITH_QUADRIFLOW ON CACHE BOOL "" FORCE)
|
|||||||
set(WITH_SDL ON CACHE BOOL "" FORCE)
|
set(WITH_SDL ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_TBB ON CACHE BOOL "" FORCE)
|
set(WITH_TBB ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_USD ON CACHE BOOL "" FORCE)
|
set(WITH_USD ON CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_MATERIALX OFF CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
set(WITH_MEM_JEMALLOC ON CACHE BOOL "" FORCE)
|
set(WITH_MEM_JEMALLOC ON CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
|
@@ -63,6 +63,7 @@ set(WITH_QUADRIFLOW OFF CACHE BOOL "" FORCE)
|
|||||||
set(WITH_SDL OFF CACHE BOOL "" FORCE)
|
set(WITH_SDL OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_TBB OFF CACHE BOOL "" FORCE)
|
set(WITH_TBB OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_USD OFF CACHE BOOL "" FORCE)
|
set(WITH_USD OFF CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_MATERIALX OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_WASAPI OFF CACHE BOOL "" FORCE)
|
set(WITH_WASAPI OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_XR_OPENXR OFF CACHE BOOL "" FORCE)
|
set(WITH_XR_OPENXR OFF CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
|
@@ -59,6 +59,7 @@ set(WITH_QUADRIFLOW ON CACHE BOOL "" FORCE)
|
|||||||
set(WITH_SDL ON CACHE BOOL "" FORCE)
|
set(WITH_SDL ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_TBB ON CACHE BOOL "" FORCE)
|
set(WITH_TBB ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_USD ON CACHE BOOL "" FORCE)
|
set(WITH_USD ON CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_MATERIALX OFF CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
set(WITH_MEM_JEMALLOC ON CACHE BOOL "" FORCE)
|
set(WITH_MEM_JEMALLOC ON CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
|
@@ -11,11 +11,11 @@
|
|||||||
mkdir ~/blender-git
|
mkdir ~/blender-git
|
||||||
cd ~/blender-git
|
cd ~/blender-git
|
||||||
|
|
||||||
git clone http://git.blender.org/blender.git
|
git clone https://projects.blender.org/blender/blender.git
|
||||||
cd blender
|
cd blender
|
||||||
git submodule update --init --recursive
|
git submodule update --init --recursive
|
||||||
git submodule foreach git checkout master
|
git submodule foreach git checkout main
|
||||||
git submodule foreach git pull --rebase origin master
|
git submodule foreach git pull --rebase origin main
|
||||||
|
|
||||||
# create build dir
|
# create build dir
|
||||||
mkdir ~/blender-git/build-cmake
|
mkdir ~/blender-git/build-cmake
|
||||||
@@ -35,7 +35,7 @@ ln -s ~/blender-git/build-cmake/bin/blender ~/blender-git/blender/blender.bin
|
|||||||
echo ""
|
echo ""
|
||||||
echo "* Useful Commands *"
|
echo "* Useful Commands *"
|
||||||
echo " Run Blender: ~/blender-git/blender/blender.bin"
|
echo " Run Blender: ~/blender-git/blender/blender.bin"
|
||||||
echo " Update Blender: git pull --rebase; git submodule foreach git pull --rebase origin master"
|
echo " Update Blender: git pull --rebase; git submodule foreach git pull --rebase origin main"
|
||||||
echo " Reconfigure Blender: cd ~/blender-git/build-cmake ; cmake ."
|
echo " Reconfigure Blender: cd ~/blender-git/build-cmake ; cmake ."
|
||||||
echo " Build Blender: cd ~/blender-git/build-cmake ; make"
|
echo " Build Blender: cd ~/blender-git/build-cmake ; make"
|
||||||
echo ""
|
echo ""
|
||||||
|
@@ -422,7 +422,9 @@ function(blender_add_test_suite)
|
|||||||
--test-assets-dir "${CMAKE_SOURCE_DIR}/../lib/tests"
|
--test-assets-dir "${CMAKE_SOURCE_DIR}/../lib/tests"
|
||||||
--test-release-dir "${_test_release_dir}"
|
--test-release-dir "${_test_release_dir}"
|
||||||
)
|
)
|
||||||
|
if(WIN32)
|
||||||
|
set_tests_properties(${ARGS_SUITE_NAME} PROPERTIES ENVIRONMENT "PATH=${CMAKE_INSTALL_PREFIX_WITH_CONFIG}/blender.shared/;$ENV{PATH}")
|
||||||
|
endif()
|
||||||
unset(_test_release_dir)
|
unset(_test_release_dir)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
@@ -533,7 +535,7 @@ function(setup_platform_linker_flags
|
|||||||
set_property(TARGET ${target} APPEND_STRING PROPERTY LINK_FLAGS_DEBUG " ${PLATFORM_LINKFLAGS_DEBUG}")
|
set_property(TARGET ${target} APPEND_STRING PROPERTY LINK_FLAGS_DEBUG " ${PLATFORM_LINKFLAGS_DEBUG}")
|
||||||
|
|
||||||
get_target_property(target_type ${target} TYPE)
|
get_target_property(target_type ${target} TYPE)
|
||||||
if (target_type STREQUAL "EXECUTABLE")
|
if(target_type STREQUAL "EXECUTABLE")
|
||||||
set_property(TARGET ${target} APPEND_STRING PROPERTY LINK_FLAGS " ${PLATFORM_LINKFLAGS_EXECUTABLE}")
|
set_property(TARGET ${target} APPEND_STRING PROPERTY LINK_FLAGS " ${PLATFORM_LINKFLAGS_EXECUTABLE}")
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
@@ -542,14 +544,16 @@ endfunction()
|
|||||||
function(setup_platform_linker_libs
|
function(setup_platform_linker_libs
|
||||||
target
|
target
|
||||||
)
|
)
|
||||||
# jemalloc must be early in the list, to be before pthread (see T57998)
|
# jemalloc must be early in the list, to be before pthread (see #57998).
|
||||||
if(WITH_MEM_JEMALLOC)
|
if(WITH_MEM_JEMALLOC)
|
||||||
target_link_libraries(${target} ${JEMALLOC_LIBRARIES})
|
target_link_libraries(${target} ${JEMALLOC_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32 AND NOT UNIX)
|
if(WIN32 AND NOT UNIX)
|
||||||
|
if(DEFINED PTHREADS_LIBRARIES)
|
||||||
target_link_libraries(${target} ${PTHREADS_LIBRARIES})
|
target_link_libraries(${target} ${PTHREADS_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
# target_link_libraries(${target} ${PLATFORM_LINKLIBS} ${CMAKE_DL_LIBS})
|
# target_link_libraries(${target} ${PLATFORM_LINKLIBS} ${CMAKE_DL_LIBS})
|
||||||
target_link_libraries(${target} ${PLATFORM_LINKLIBS})
|
target_link_libraries(${target} ${PLATFORM_LINKLIBS})
|
||||||
@@ -1257,3 +1261,88 @@ endmacro()
|
|||||||
macro(without_system_libs_end)
|
macro(without_system_libs_end)
|
||||||
unset(CMAKE_IGNORE_PATH)
|
unset(CMAKE_IGNORE_PATH)
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
# Utility to gather and install precompiled shared libraries.
|
||||||
|
macro(add_bundled_libraries library_dir)
|
||||||
|
if(DEFINED LIBDIR)
|
||||||
|
set(_library_dir ${LIBDIR}/${library_dir})
|
||||||
|
if(WIN32)
|
||||||
|
file(GLOB _all_library_versions ${_library_dir}/*\.dll)
|
||||||
|
elseif(APPLE)
|
||||||
|
file(GLOB _all_library_versions ${_library_dir}/*\.dylib*)
|
||||||
|
else()
|
||||||
|
file(GLOB _all_library_versions ${_library_dir}/*\.so*)
|
||||||
|
endif()
|
||||||
|
list(APPEND PLATFORM_BUNDLED_LIBRARIES ${_all_library_versions})
|
||||||
|
list(APPEND PLATFORM_BUNDLED_LIBRARY_DIRS ${_library_dir})
|
||||||
|
unset(_all_library_versions)
|
||||||
|
unset(_library_dir)
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
macro(windows_install_shared_manifest)
|
||||||
|
set(options OPTIONAL DEBUG RELEASE ALL)
|
||||||
|
set(oneValueArgs)
|
||||||
|
set(multiValueArgs FILES)
|
||||||
|
cmake_parse_arguments(WINDOWS_INSTALL "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
||||||
|
# If none of the options are set assume ALL.
|
||||||
|
unset(WINDOWS_CONFIGURATIONS)
|
||||||
|
if(NOT WINDOWS_INSTALL_ALL AND
|
||||||
|
NOT WINDOWS_INSTALL_DEBUG AND
|
||||||
|
NOT WINDOWS_INSTALL_RELEASE)
|
||||||
|
set(WINDOWS_INSTALL_ALL TRUE)
|
||||||
|
endif()
|
||||||
|
# If all is set, turn both DEBUG and RELEASE on.
|
||||||
|
if(WINDOWS_INSTALL_ALL)
|
||||||
|
set(WINDOWS_INSTALL_DEBUG TRUE)
|
||||||
|
set(WINDOWS_INSTALL_RELEASE TRUE)
|
||||||
|
endif()
|
||||||
|
if(WINDOWS_INSTALL_DEBUG)
|
||||||
|
set(WINDOWS_CONFIGURATIONS "${WINDOWS_CONFIGURATIONS};Debug")
|
||||||
|
list(APPEND WINDOWS_SHARED_MANIFEST_DEBUG ${WINDOWS_INSTALL_FILES})
|
||||||
|
endif()
|
||||||
|
if(WINDOWS_INSTALL_RELEASE)
|
||||||
|
list(APPEND WINDOWS_SHARED_MANIFEST_RELEASE ${WINDOWS_INSTALL_FILES})
|
||||||
|
set(WINDOWS_CONFIGURATIONS "${WINDOWS_CONFIGURATIONS};Release;RelWithDebInfo;MinSizeRel")
|
||||||
|
endif()
|
||||||
|
install(FILES ${WINDOWS_INSTALL_FILES}
|
||||||
|
CONFIGURATIONS ${WINDOWS_CONFIGURATIONS}
|
||||||
|
DESTINATION "./blender.shared"
|
||||||
|
)
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
macro(windows_generate_manifest)
|
||||||
|
set(options)
|
||||||
|
set(oneValueArgs OUTPUT NAME)
|
||||||
|
set(multiValueArgs FILES)
|
||||||
|
cmake_parse_arguments(WINDOWS_MANIFEST "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
||||||
|
set(MANIFEST_LIBS "")
|
||||||
|
foreach(lib ${WINDOWS_MANIFEST_FILES})
|
||||||
|
get_filename_component(filename ${lib} NAME)
|
||||||
|
set(MANIFEST_LIBS "${MANIFEST_LIBS} <file name=\"${filename}\"/>\n")
|
||||||
|
endforeach()
|
||||||
|
configure_file(${CMAKE_SOURCE_DIR}/release/windows/manifest/blender.manifest.in ${WINDOWS_MANIFEST_OUTPUT} @ONLY)
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
macro(windows_generate_shared_manifest)
|
||||||
|
windows_generate_manifest(
|
||||||
|
FILES "${WINDOWS_SHARED_MANIFEST_DEBUG}"
|
||||||
|
OUTPUT "${CMAKE_BINARY_DIR}/Debug/blender.shared.manifest"
|
||||||
|
NAME "blender.shared"
|
||||||
|
)
|
||||||
|
windows_generate_manifest(
|
||||||
|
FILES "${WINDOWS_SHARED_MANIFEST_RELEASE}"
|
||||||
|
OUTPUT "${CMAKE_BINARY_DIR}/Release/blender.shared.manifest"
|
||||||
|
NAME "blender.shared"
|
||||||
|
)
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_BINARY_DIR}/Release/blender.shared.manifest
|
||||||
|
DESTINATION "./blender.shared"
|
||||||
|
CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel
|
||||||
|
)
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_BINARY_DIR}/Debug/blender.shared.manifest
|
||||||
|
DESTINATION "./blender.shared"
|
||||||
|
CONFIGURATIONS Debug
|
||||||
|
)
|
||||||
|
endmacro()
|
||||||
|
@@ -21,18 +21,6 @@ function(print_found_status
|
|||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
# Utility to install precompiled shared libraries.
|
|
||||||
macro(add_bundled_libraries library)
|
|
||||||
if(EXISTS ${LIBDIR})
|
|
||||||
set(_library_dir ${LIBDIR}/${library}/lib)
|
|
||||||
file(GLOB _all_library_versions ${_library_dir}/*\.dylib*)
|
|
||||||
list(APPEND PLATFORM_BUNDLED_LIBRARIES ${_all_library_versions})
|
|
||||||
list(APPEND PLATFORM_BUNDLED_LIBRARY_DIRS ${_library_dir})
|
|
||||||
unset(_all_library_versions)
|
|
||||||
unset(_library_dir)
|
|
||||||
endif()
|
|
||||||
endmacro()
|
|
||||||
|
|
||||||
# ------------------------------------------------------------------------
|
# ------------------------------------------------------------------------
|
||||||
# Find system provided libraries.
|
# Find system provided libraries.
|
||||||
|
|
||||||
@@ -99,27 +87,24 @@ endif()
|
|||||||
if(WITH_USD)
|
if(WITH_USD)
|
||||||
find_package(USD REQUIRED)
|
find_package(USD REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
add_bundled_libraries(usd/lib)
|
||||||
|
|
||||||
|
if(WITH_MATERIALX)
|
||||||
|
find_package(MaterialX)
|
||||||
|
set_and_warn_library_found("MaterialX" MaterialX_FOUND WITH_MATERIALX)
|
||||||
|
endif()
|
||||||
|
add_bundled_libraries(materialx/lib)
|
||||||
|
|
||||||
if(WITH_VULKAN_BACKEND)
|
if(WITH_VULKAN_BACKEND)
|
||||||
find_package(MoltenVK REQUIRED)
|
find_package(MoltenVK REQUIRED)
|
||||||
|
find_package(ShaderC REQUIRED)
|
||||||
if(EXISTS ${LIBDIR}/vulkan)
|
find_package(Vulkan REQUIRED)
|
||||||
set(VULKAN_FOUND On)
|
|
||||||
set(VULKAN_ROOT_DIR ${LIBDIR}/vulkan/macOS)
|
|
||||||
set(VULKAN_INCLUDE_DIR ${VULKAN_ROOT_DIR}/include)
|
|
||||||
set(VULKAN_LIBRARY ${VULKAN_ROOT_DIR}/lib/libvulkan.1.dylib)
|
|
||||||
|
|
||||||
set(VULKAN_INCLUDE_DIRS ${VULKAN_INCLUDE_DIR} ${MOLTENVK_INCLUDE_DIRS})
|
|
||||||
set(VULKAN_LIBRARIES ${VULKAN_LIBRARY} ${MOLTENVK_LIBRARIES})
|
|
||||||
else()
|
|
||||||
message(WARNING "Vulkan SDK was not found, disabling WITH_VULKAN_BACKEND")
|
|
||||||
set(WITH_VULKAN_BACKEND OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_OPENSUBDIV)
|
if(WITH_OPENSUBDIV)
|
||||||
find_package(OpenSubdiv)
|
find_package(OpenSubdiv)
|
||||||
endif()
|
endif()
|
||||||
|
add_bundled_libraries(opensubdiv/lib)
|
||||||
|
|
||||||
if(WITH_CODEC_SNDFILE)
|
if(WITH_CODEC_SNDFILE)
|
||||||
find_package(SndFile)
|
find_package(SndFile)
|
||||||
@@ -158,6 +143,8 @@ list(APPEND FREETYPE_LIBRARIES
|
|||||||
if(WITH_IMAGE_OPENEXR)
|
if(WITH_IMAGE_OPENEXR)
|
||||||
find_package(OpenEXR)
|
find_package(OpenEXR)
|
||||||
endif()
|
endif()
|
||||||
|
add_bundled_libraries(openexr/lib)
|
||||||
|
add_bundled_libraries(imath/lib)
|
||||||
|
|
||||||
if(WITH_CODEC_FFMPEG)
|
if(WITH_CODEC_FFMPEG)
|
||||||
set(FFMPEG_ROOT_DIR ${LIBDIR}/ffmpeg)
|
set(FFMPEG_ROOT_DIR ${LIBDIR}/ffmpeg)
|
||||||
@@ -255,9 +242,17 @@ if(WITH_BOOST)
|
|||||||
if(WITH_OPENVDB)
|
if(WITH_OPENVDB)
|
||||||
list(APPEND _boost_FIND_COMPONENTS iostreams)
|
list(APPEND _boost_FIND_COMPONENTS iostreams)
|
||||||
endif()
|
endif()
|
||||||
|
if(WITH_USD AND USD_PYTHON_SUPPORT)
|
||||||
|
list(APPEND _boost_FIND_COMPONENTS python${PYTHON_VERSION_NO_DOTS})
|
||||||
|
endif()
|
||||||
find_package(Boost COMPONENTS ${_boost_FIND_COMPONENTS})
|
find_package(Boost COMPONENTS ${_boost_FIND_COMPONENTS})
|
||||||
|
|
||||||
|
# Boost Python is separate to avoid linking Python into tests that don't need it.
|
||||||
set(BOOST_LIBRARIES ${Boost_LIBRARIES})
|
set(BOOST_LIBRARIES ${Boost_LIBRARIES})
|
||||||
|
if(WITH_USD AND USD_PYTHON_SUPPORT)
|
||||||
|
set(BOOST_PYTHON_LIBRARIES ${Boost_PYTHON${PYTHON_VERSION_NO_DOTS}_LIBRARY})
|
||||||
|
list(REMOVE_ITEM BOOST_LIBRARIES ${BOOST_PYTHON_LIBRARIES})
|
||||||
|
endif()
|
||||||
set(BOOST_INCLUDE_DIR ${Boost_INCLUDE_DIRS})
|
set(BOOST_INCLUDE_DIR ${Boost_INCLUDE_DIRS})
|
||||||
set(BOOST_DEFINITIONS)
|
set(BOOST_DEFINITIONS)
|
||||||
|
|
||||||
@@ -265,6 +260,7 @@ if(WITH_BOOST)
|
|||||||
mark_as_advanced(Boost_INCLUDE_DIRS)
|
mark_as_advanced(Boost_INCLUDE_DIRS)
|
||||||
unset(_boost_FIND_COMPONENTS)
|
unset(_boost_FIND_COMPONENTS)
|
||||||
endif()
|
endif()
|
||||||
|
add_bundled_libraries(boost/lib)
|
||||||
|
|
||||||
if(WITH_INTERNATIONAL OR WITH_CODEC_FFMPEG)
|
if(WITH_INTERNATIONAL OR WITH_CODEC_FFMPEG)
|
||||||
string(APPEND PLATFORM_LINKFLAGS " -liconv") # boost_locale and ffmpeg needs it !
|
string(APPEND PLATFORM_LINKFLAGS " -liconv") # boost_locale and ffmpeg needs it !
|
||||||
@@ -287,18 +283,24 @@ if(WITH_OPENIMAGEIO)
|
|||||||
set(OPENIMAGEIO_DEFINITIONS "-DOIIO_STATIC_BUILD")
|
set(OPENIMAGEIO_DEFINITIONS "-DOIIO_STATIC_BUILD")
|
||||||
set(OPENIMAGEIO_IDIFF "${LIBDIR}/openimageio/bin/idiff")
|
set(OPENIMAGEIO_IDIFF "${LIBDIR}/openimageio/bin/idiff")
|
||||||
endif()
|
endif()
|
||||||
|
add_bundled_libraries(openimageio/lib)
|
||||||
|
|
||||||
if(WITH_OPENCOLORIO)
|
if(WITH_OPENCOLORIO)
|
||||||
find_package(OpenColorIO 2.0.0 REQUIRED)
|
find_package(OpenColorIO 2.0.0 REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
add_bundled_libraries(opencolorio/lib)
|
||||||
|
|
||||||
if(WITH_OPENVDB)
|
if(WITH_OPENVDB)
|
||||||
find_package(OpenVDB)
|
find_package(OpenVDB)
|
||||||
find_library(BLOSC_LIBRARIES NAMES blosc HINTS ${LIBDIR}/openvdb/lib)
|
find_library(BLOSC_LIBRARIES NAMES blosc HINTS ${LIBDIR}/openvdb/lib)
|
||||||
print_found_status("Blosc" "${BLOSC_LIBRARIES}")
|
if(BLOSC_LIBRARIES)
|
||||||
list(APPEND OPENVDB_LIBRARIES ${BLOSC_LIBRARIES})
|
list(APPEND OPENVDB_LIBRARIES ${BLOSC_LIBRARIES})
|
||||||
|
else()
|
||||||
|
unset(BLOSC_LIBRARIES CACHE)
|
||||||
|
endif()
|
||||||
set(OPENVDB_DEFINITIONS)
|
set(OPENVDB_DEFINITIONS)
|
||||||
endif()
|
endif()
|
||||||
|
add_bundled_libraries(openvdb/lib)
|
||||||
|
|
||||||
if(WITH_NANOVDB)
|
if(WITH_NANOVDB)
|
||||||
find_package(NanoVDB)
|
find_package(NanoVDB)
|
||||||
@@ -347,6 +349,7 @@ endif()
|
|||||||
if(WITH_TBB)
|
if(WITH_TBB)
|
||||||
find_package(TBB REQUIRED)
|
find_package(TBB REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
add_bundled_libraries(tbb/lib)
|
||||||
|
|
||||||
if(WITH_POTRACE)
|
if(WITH_POTRACE)
|
||||||
find_package(Potrace REQUIRED)
|
find_package(Potrace REQUIRED)
|
||||||
@@ -364,9 +367,9 @@ if(WITH_OPENMP)
|
|||||||
set(OpenMP_LIBRARY_DIR "${LIBDIR}/openmp/lib/")
|
set(OpenMP_LIBRARY_DIR "${LIBDIR}/openmp/lib/")
|
||||||
set(OpenMP_LINKER_FLAGS "-L'${OpenMP_LIBRARY_DIR}' -lomp")
|
set(OpenMP_LINKER_FLAGS "-L'${OpenMP_LIBRARY_DIR}' -lomp")
|
||||||
set(OpenMP_LIBRARY "${OpenMP_LIBRARY_DIR}/libomp.dylib")
|
set(OpenMP_LIBRARY "${OpenMP_LIBRARY_DIR}/libomp.dylib")
|
||||||
add_bundled_libraries(openmp)
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
add_bundled_libraries(openmp/lib)
|
||||||
|
|
||||||
if(WITH_XR_OPENXR)
|
if(WITH_XR_OPENXR)
|
||||||
find_package(XR_OpenXR_SDK REQUIRED)
|
find_package(XR_OpenXR_SDK REQUIRED)
|
||||||
@@ -437,7 +440,7 @@ string(APPEND PLATFORM_LINKFLAGS " -stdlib=libc++")
|
|||||||
# Make stack size more similar to Embree, required for Embree.
|
# Make stack size more similar to Embree, required for Embree.
|
||||||
string(APPEND PLATFORM_LINKFLAGS_EXECUTABLE " -Wl,-stack_size,0x100000")
|
string(APPEND PLATFORM_LINKFLAGS_EXECUTABLE " -Wl,-stack_size,0x100000")
|
||||||
|
|
||||||
# Suppress ranlib "has no symbols" warnings (workaround for T48250)
|
# Suppress ranlib "has no symbols" warnings (workaround for #48250).
|
||||||
set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
|
set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
|
||||||
set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
|
set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
|
||||||
# llvm-ranlib doesn't support this flag. Xcode's libtool does.
|
# llvm-ranlib doesn't support this flag. Xcode's libtool does.
|
||||||
@@ -480,6 +483,12 @@ if(PLATFORM_BUNDLED_LIBRARIES)
|
|||||||
# different.
|
# different.
|
||||||
set(CMAKE_SKIP_BUILD_RPATH FALSE)
|
set(CMAKE_SKIP_BUILD_RPATH FALSE)
|
||||||
list(APPEND CMAKE_BUILD_RPATH ${PLATFORM_BUNDLED_LIBRARY_DIRS})
|
list(APPEND CMAKE_BUILD_RPATH ${PLATFORM_BUNDLED_LIBRARY_DIRS})
|
||||||
|
|
||||||
|
# Environment variables to run precompiled executables that needed libraries.
|
||||||
|
list(JOIN PLATFORM_BUNDLED_LIBRARY_DIRS ":" _library_paths)
|
||||||
|
set(PLATFORM_ENV_BUILD "DYLD_LIBRARY_PATH=\"${_library_paths};${DYLD_LIBRARY_PATH}\"")
|
||||||
|
set(PLATFORM_ENV_INSTALL "DYLD_LIBRARY_PATH=${CMAKE_INSTALL_PREFIX_WITH_CONFIG}/Blender.app/Contents/Resources/lib/;$DYLD_LIBRARY_PATH")
|
||||||
|
unset(_library_paths)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Same as `CFBundleIdentifier` in Info.plist.
|
# Same as `CFBundleIdentifier` in Info.plist.
|
||||||
|
@@ -155,8 +155,8 @@ if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
|
|||||||
# M1 chips run Big Sur onwards.
|
# M1 chips run Big Sur onwards.
|
||||||
set(OSX_MIN_DEPLOYMENT_TARGET 11.00)
|
set(OSX_MIN_DEPLOYMENT_TARGET 11.00)
|
||||||
else()
|
else()
|
||||||
# 10.13 is our min. target, if you use higher sdk, weak linking happens
|
# 10.15 is our min. target, if you use higher sdk, weak linking happens
|
||||||
set(OSX_MIN_DEPLOYMENT_TARGET 10.13)
|
set(OSX_MIN_DEPLOYMENT_TARGET 10.15)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "${OSX_MIN_DEPLOYMENT_TARGET}" CACHE STRING "" FORCE)
|
set(CMAKE_OSX_DEPLOYMENT_TARGET "${OSX_MIN_DEPLOYMENT_TARGET}" CACHE STRING "" FORCE)
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user