Compare commits
1553 Commits
temp-colle
...
temp-vulka
Author | SHA1 | Date | |
---|---|---|---|
192719bdca | |||
275bbb8a4c | |||
3a4d2df7b1 | |||
c14af6b4d7 | |||
f676dbebf5 | |||
40bc5aa7e5 | |||
8c11c04448 | |||
2bb47e03f7 | |||
9e9ebcdd72 | |||
f06d7c98db | |||
0485baaf98 | |||
9338ab1d62 | |||
178eb5bac5 | |||
05bf5c4e0e | |||
19491e5fc0 | |||
b2bee8416b | |||
c2ca30ea24 | |||
f6b67f92a1 | |||
fe30856d83 | |||
eac8e820f2 | |||
![]() |
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 | |||
320659068a | |||
1cdcfa3a89 | |||
248299fc95 | |||
ea14c48c09 | |||
a8a7b84659 | |||
f1b4dce33e | |||
0ae912a28a | |||
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 | |||
f5f1ac9f03 | |||
5033453735 | |||
79498d4463 | |||
ea86ec200a | |||
b8c7e93a65 | |||
da4b09ac6f | |||
d57f68616a | |||
6d22aa2f84 | |||
198460f6a4 | |||
df3c418866 | |||
caac5686c5 | |||
f23b870def | |||
3d5a4fbcc2 | |||
94e1e694bc | |||
78abdcf31e | |||
99e4bfd5e4 | |||
794ce2a08f | |||
67b3796723 | |||
f1d9fe95e8 | |||
bbbe5a3894 | |||
88c6d824e7 | |||
b1ba82ba97 | |||
db6db0b754 | |||
642bba24a9 | |||
244f61e9e9 | |||
39615cd3b7 | |||
12b9ebc690 | |||
49723cca42 | |||
8781886cf7 | |||
37ee9595a0 | |||
be1dce8dfb | |||
2d6dfbf038 | |||
5f0120cd35 | |||
0197b524e4 | |||
46f991dbae | |||
6b0e769d14 | |||
7214298cd1 | |||
09ee781a67 | |||
63084dc7dd | |||
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 | |||
68a0846021 | |||
3f9febcabf | |||
412fdc9698 | |||
9f753e5649 | |||
8fa8cea8e0 | |||
d7f124f06f | |||
71f9fbcf35 | |||
85d9f12339 | |||
7b08298927 | |||
01f4b9b32d | |||
57613630c7 | |||
42645b33d6 | |||
cf52e4a07f | |||
4a3cbfd90e | |||
dc973dfa28 | |||
bf3eea036d | |||
8244f55530 | |||
fdf1837120 | |||
eae2917fde | |||
cfb44574d9 | |||
2b639f671f | |||
c836b7e603 | |||
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 | |||
8d269a2488 | |||
ed6e1381dc | |||
248ee6270b | |||
afd16c487d | |||
4029cdee7b | |||
680a0fb23b | |||
ed8fee16ac | |||
4a0e19e608 | |||
5ca6965273 | |||
0147e09e0b | |||
f07b09da27 | |||
f83aa1ae08 | |||
d1c21d5673 | |||
b5ca43b2a0 | |||
994e3c6ac5 | |||
dad0f37c1e | |||
118afe1de3 | |||
ae6e35279f | |||
a246ad9559 | |||
043673ca70 | |||
3cf803cf3c | |||
36127e042b | |||
94a98b9365 | |||
6422f75088 | |||
b918c079da | |||
6bc3311410 | |||
60ad5f49fa | |||
826535979a | |||
32690cafd1 | |||
64c26d2862 | |||
848dff1e4c | |||
b9c358392d | |||
5ca4e9e545 | |||
8a3329e72b | |||
7d7a39d00b | |||
74bfeec1a5 | |||
0ce18561bc | |||
851906744e | |||
c4cfa1b23e | |||
0710ec485e | |||
49129180b2 | |||
cdc1c60f5b | |||
58c8c4fde3 | |||
81754a0fc5 | |||
412642865d | |||
14a0fb0cc6 | |||
959f3cd645 | |||
![]() |
008cc625aa | ||
de27925aea | |||
38c4f40159 | |||
d6d5089c65 | |||
20c1ce3d9b | |||
f47daa7ec9 | |||
6e37f14489 | |||
![]() |
bb665ef8d2 | ||
![]() |
705fe08b61 | ||
1b7b996e16 | |||
17e562311f | |||
2a53e0f437 | |||
5f626ac331 | |||
369914e7b1 | |||
bbf09eb59c | |||
b3daf61ddf | |||
2dcdfab94c | |||
38573d515e | |||
f4e1f62c62 | |||
dc1ed9c1aa | |||
584089879c | |||
38cf48f62b | |||
50aad904b3 | |||
962e221cd3 | |||
f13160d188 | |||
583f19d692 | |||
a87d78860b | |||
c1eeb38f7c | |||
c3d6f5ecf3 | |||
ea57c011de | |||
737d363e02 | |||
fe1b8b671a | |||
687272c409 | |||
460f7ec7aa | |||
![]() |
a819523dff | ||
68a450cbe4 | |||
aa0c2c0f47 | |||
4f02817367 | |||
247d75d2b1 | |||
6396d29779 | |||
ff9606ddc4 | |||
1c00b2ef70 | |||
106277be43 | |||
3250ab31cd | |||
7d44676b5f | |||
11275b7363 | |||
80249ce6e4 | |||
e0c5ff87b7 | |||
571f373155 | |||
c464fd724b | |||
356373ff7a | |||
5938e97a24 | |||
0d73d5c1a2 | |||
01e479b790 | |||
63ae0939ed | |||
db28a8b3d1 | |||
cdcbf05ea8 | |||
2cb6b0b4eb | |||
41ae2c6438 | |||
0e6d893d07 | |||
e3567aad0a | |||
af8a449ca5 | |||
0f3b3ee679 | |||
f5e99abb60 | |||
40ac3776db | |||
acf8f6220d | |||
df788ecfd9 | |||
a777c09d5f | |||
41f58fadae | |||
aa1a51ff9f | |||
3f294a37f5 | |||
461cb550cc | |||
55db44ca2c | |||
fa8a59689b | |||
c3e919b317 | |||
a2a72d89b1 | |||
14d0b57be7 | |||
8e535ee9b4 | |||
772696a1a5 | |||
8990983b07 | |||
a5e7657cee | |||
822dab9a42 | |||
1273af7a01 | |||
e2d18eda75 | |||
67194fb247 | |||
f8d6bbeb63 | |||
ed82bbfc2c | |||
bfa1f2d351 | |||
1effef805e | |||
6f1197c6b9 | |||
23503dec99 | |||
dd5fdb9370 | |||
51f56e71cb | |||
6d7a067a83 | |||
b43e11deda | |||
d45bbff511 | |||
9b467c591d | |||
02c6136958 | |||
0bc4eb987c | |||
648158dfbd | |||
b79e5ae4f2 | |||
fc0b8cb085 | |||
b3254da333 | |||
72e5cbf0c7 | |||
7dea18b3aa | |||
04dc58df83 | |||
294ff0de43 | |||
f383dfabf7 | |||
d37efe332c | |||
ceaf4779da | |||
88d9ed3c1c | |||
0b251493c8 | |||
ea969ccc02 | |||
b864397201 | |||
4d1a116cdf | |||
1300da6d39 | |||
016f9c2cf5 | |||
953f719e58 | |||
1168665653 | |||
fe38715600 | |||
4d497721ec | |||
3c479b9823 | |||
7411fa4e0d | |||
44d7ec7e80 | |||
![]() |
6dac345a64 | ||
efa87ad5eb | |||
8c82d4cbf6 | |||
89349067b6 | |||
b53c4fa8da | |||
25ddb576ff | |||
02e045ffbe | |||
![]() |
03b5be4e3c | ||
be1745425c | |||
b391037424 | |||
41a3de878f | |||
b0e38f4d04 | |||
![]() |
2f69266c64 | ||
5d08396970 | |||
![]() |
8fe423a7a9 | ||
![]() |
1c0f5e79fa | ||
44ad59592b | |||
2910be8f19 | |||
c58e7da43e | |||
9f83ef2149 | |||
85990c877c | |||
b75946bcb6 | |||
71efb7805b | |||
3648fd9917 | |||
7a6cdeb242 | |||
24bd2d0bea | |||
![]() |
e83f46ea76 | ||
97e0cc41ca | |||
984edb2c4e | |||
012895e8a1 | |||
47c92bf8de | |||
afb7da5538 | |||
b041678028 | |||
03b7982301 | |||
42c30f3b9c | |||
6b3cee2538 | |||
5097105b3c | |||
7193e5aa10 | |||
41d29a1603 | |||
567ae90374 | |||
d24c0011cf | |||
0fd94a1f5e | |||
9100cc0f39 | |||
4cac8025f0 | |||
4d17301ba4 | |||
63c4ec89e1 | |||
dfb157f9c4 | |||
331e8007ed | |||
2654c523c1 | |||
7ca9fb9865 | |||
9fd6dae793 | |||
![]() |
bfb3d78902 | ||
511ac66dab | |||
12d7994a48 | |||
c83e33b661 | |||
05f93b58d3 | |||
1ea169d90e | |||
c0f33814c1 | |||
ab819517fc | |||
21adf2ec89 | |||
8fa69dafdd | |||
b3b00be34e | |||
1c0cd50472 | |||
f5128f219f | |||
c6e4953719 | |||
b211266226 | |||
6c0a5461f7 | |||
3d41d0b1b5 | |||
72b395a7e6 | |||
0151d846e8 | |||
4e38771d5c | |||
![]() |
c94583cd64 | ||
b4c3ea2644 | |||
40b63bbf5b | |||
7b82d8f029 | |||
754f674977 | |||
d5c8d3e661 | |||
61d0f77810 | |||
e31f282917 | |||
7c0cecfd00 | |||
3e81d177ea | |||
041900ae95 | |||
b271ed8ac9 | |||
6ccd38ea90 | |||
7d691969e6 | |||
1a47f3ae17 | |||
![]() |
6239e089cf | ||
dec459e424 | |||
7211f3ab5b | |||
bc886bc8d7 | |||
![]() |
2c096f17a6 | ||
8d77973dd7 | |||
9de35e396b | |||
609a681fb5 | |||
52c3214776 | |||
ca253df623 | |||
f74234895a | |||
1c27cc5529 | |||
011c2a37eb | |||
780b29109c | |||
617cf2f291 | |||
6bf13d0734 | |||
c7bd508766 | |||
53f401ea63 | |||
58795c6047 | |||
27f277d948 | |||
576d99e59a | |||
dad8f4ac09 | |||
a67b33acd0 | |||
59f8061a34 | |||
67869432f2 | |||
dd260d2f03 | |||
9a09adb7af | |||
bf0180d206 | |||
c481549870 | |||
845a3573f5 | |||
![]() |
b7a4f79748 | ||
0d3a33e45e | |||
145839aa42 | |||
cacfaaa9a5 | |||
1677ddb7ee | |||
87ace7207d | |||
676137f043 | |||
25b3515324 | |||
6cf4999e50 | |||
89ca298210 | |||
99c970a94d | |||
![]() |
cce4271b31 | ||
801451c459 | |||
a81abbbb8f | |||
841460afce | |||
6077fe7fae | |||
1a1341c387 | |||
f7ca0ecfff | |||
4f2ce8d8d3 | |||
5a05fa8f74 | |||
1a4a96a9d1 | |||
59641042a7 | |||
3b35d9d667 | |||
44ec911633 | |||
e4871b2835 | |||
0ebb7ab41f | |||
c2a68c066b | |||
edcce2c073 | |||
1e88fc251f | |||
71ce178b3e | |||
51914d4a4a | |||
06e9d40c33 | |||
![]() |
9d732445b9 | ||
![]() |
f415051a57 | ||
![]() |
2683b74cb3 | ||
ec9acdeac2 | |||
91d3cc51c3 | |||
33fa053fe8 | |||
02fa3a8128 | |||
1aa851e939 | |||
c8c14d1681 | |||
90fb1cc4e6 | |||
192cd76b7c | |||
e412fe1798 | |||
550c51b08b | |||
71067a58ec | |||
6940c4b602 | |||
0ac19425d4 | |||
e3ddfedbb6 | |||
5e203c4f4b | |||
25630ab2a1 | |||
88c9f1266d | |||
1f5e1b59a3 | |||
c2c41fb14c | |||
64a114d11c | |||
d1a5f24e73 | |||
aee5fcc120 | |||
9f0e9f36be | |||
87ba0dcaca | |||
f7e0317b96 | |||
60523ea523 | |||
9f2f9dbca6 | |||
4401c93e45 | |||
da82d46a5a | |||
65944e7e84 | |||
![]() |
c0df88f3b5 | ||
e8f4010611 | |||
b2d9716b4a | |||
d775995dc3 | |||
a9a5f7ce17 | |||
b8fd474bb1 | |||
8831c6f056 | |||
50b257715f | |||
2f442234e7 | |||
6a97668c9b | |||
2d251478bb | |||
e460f188f0 | |||
277b2fcbfa | |||
4fb02d7f8e | |||
cff78860ac | |||
be40c67b56 | |||
23d0b5dcd2 | |||
![]() |
2459a3c9b1 | ||
bcb20e9a29 | |||
a859837cde | |||
4d1a88e374 | |||
a94c3aafe5 | |||
0ecf6f2abb | |||
ff40b90f99 | |||
5db84d0ef1 | |||
f0ce95b7b9 | |||
d2728868c0 | |||
191a3bf2ad | |||
21eeedfc60 | |||
66939d47b1 | |||
a968f1b9b3 | |||
ffa14008ac | |||
84dce9c1fa | |||
5c42e54f6e | |||
1b5ceb9a75 | |||
![]() |
337dbb1ab0 | ||
d95216b94c | |||
![]() |
9795f2645c | ||
fad06751a6 | |||
![]() |
83c21e01dd | ||
d46317cf3c | |||
7f80b5e675 | |||
91215ace72 | |||
5be3a68f58 | |||
2a41cd46ba | |||
f0f97e18c1 | |||
f396ab236a | |||
3ff7d0796d | |||
be024ee7b7 | |||
435c824a5f | |||
2205e5f63f | |||
37b256e26f | |||
f1646a4d5e | |||
56f783d883 | |||
![]() |
efcd587bc2 | ||
b64042b482 | |||
![]() |
b28348f9e9 | ||
![]() |
18af9da572 | ||
d158db475b | |||
db94d030bc | |||
e3ee913932 | |||
103fe4d1d1 | |||
970be7e65a | |||
6873aabf93 | |||
edae67c036 | |||
b0e2e45496 | |||
377da3f949 | |||
5f4afecbf3 | |||
85bbcb32eb | |||
99d00a7489 | |||
276d7f7c19 | |||
cc12d2a5a0 | |||
1aaf4ce0a4 | |||
6192695a94 | |||
28dc3b0b84 | |||
37f50ffdbc | |||
![]() |
b557e4317d | ||
![]() |
857bb1b5ec | ||
d7f1430f11 | |||
![]() |
4dd19a1ad6 | ||
4f5f8622f9 | |||
187bce103b | |||
0fe21fe7b9 | |||
![]() |
8447ab606e | ||
ea2dda306c | |||
6a96edce2e | |||
a84c92fc73 | |||
bfb6ea898b | |||
ab3fcd62cc | |||
5fe146e505 | |||
0190b104c8 | |||
909f47e0e1 | |||
e0cb3e0a39 | |||
b8d1022dff | |||
d7971972fa | |||
fe6114aaf5 | |||
dc513a0af8 | |||
3eb2bc2c3f | |||
fba7461e1a | |||
d17f5bcd8f | |||
7419e291e8 | |||
b927cc9ba6 | |||
ce9fcb15a3 | |||
bd622aef3c | |||
c255be2d02 | |||
cd64615425 | |||
930d14cc62 | |||
f1466ce9a8 | |||
0e4bdd428c | |||
67dfb61700 | |||
d0f05ba915 | |||
721fc9c1c9 | |||
533c396898 | |||
1b34da5da6 | |||
115cf5ef98 | |||
a6c822733a | |||
a145b96396 | |||
ed852c8401 | |||
![]() |
99fe17f52d | ||
db25e64f6a | |||
![]() |
f8d968a13c | ||
![]() |
b5e82ff93d | ||
5a37724455 | |||
![]() |
fc544bc974 | ||
![]() |
3534c2b4ad | ||
0fc27536fb | |||
a582abd923 | |||
4737f9cff2 | |||
935d6a965a | |||
b973e27327 | |||
cd659f7bbf | |||
41137eb7a5 | |||
e87b99d7f3 | |||
fcfa9ac219 | |||
436e6dca24 | |||
bc3f5c7e14 | |||
1a8516163f | |||
d63ada602d | |||
787ae01dad | |||
19ba229391 | |||
2a17fd40a5 | |||
7c519aa5d8 | |||
7931ae0df3 | |||
deb8ae6bd1 | |||
78bfb74743 | |||
d9e5a3e6ad | |||
d0522d4ef1 | |||
03ccf37162 | |||
5465aa63d5 | |||
c5b36aa940 | |||
9d827a1834 | |||
1fdaf748bf | |||
5671e7a92c | |||
abbbf9f002 | |||
864af51d6a | |||
![]() |
2c596319a4 | ||
6f6a0185f2 | |||
ba2072524b | |||
![]() |
8799ab201d | ||
097a13f5be | |||
dc8a1d38b7 | |||
ff7645c5ed | |||
e508de0417 | |||
a304dfdb69 | |||
111974234c | |||
80f5a5a8aa | |||
fe2be36510 | |||
38430c384a | |||
5f35e7f12a | |||
a3877d8fe4 | |||
57dd1b7799 | |||
824d5984aa | |||
84c66fe9db | |||
6f1b5e1081 | |||
88c956c13b | |||
c967aab4ef | |||
ca1642cd0c | |||
34f4646786 | |||
![]() |
9800312590 | ||
f613c504c4 | |||
b2000412f2 | |||
3c089c0a88 | |||
![]() |
59618c7646 | ||
366796bbbe | |||
cad11f3098 | |||
969aa7bbfc | |||
![]() |
659de90a32 | ||
cc2b5959bb | |||
6a8ce5ec1c | |||
2688d7200a | |||
a5b2a3041f | |||
df9ab1c922 | |||
d3121fe4ec | |||
acaa736037 | |||
04eab3fd39 | |||
02c23e1613 | |||
e7a3454f5f | |||
b85fe57887 | |||
6295bdfd38 | |||
598bb9065c | |||
55e86f94a0 | |||
bc672e76eb | |||
6e2437d82b | |||
a4668ecf17 | |||
e4f484330a | |||
![]() |
0b4bd3ddc0 | ||
8ef092d2d8 | |||
ec1ab6310a | |||
3153bd0f5d | |||
2a6a492a82 | |||
4b6d58fd6d | |||
baabac5909 | |||
8140f7f574 | |||
7d606ad3b8 | |||
1bf3069912 | |||
9b646cfae5 | |||
2630fdb787 | |||
7e4e8cca7d | |||
79dae1a43f | |||
81ca6308d1 | |||
d49dec896a | |||
32757b2429 | |||
95077549c1 | |||
1cdc6381cf | |||
7c1ab77fa6 | |||
c932fd79ac | |||
b8fc7ed994 | |||
c8cec11353 | |||
4cd9e9991c | |||
cebea62b47 | |||
7a2827ee99 | |||
bfc7653490 | |||
501036faae | |||
7f6521f8dc | |||
5f169fdfdc | |||
ad227e73f3 | |||
8232cf5287 | |||
5291e4c358 | |||
1efc94bb2f | |||
7395062480 | |||
1fbb1d8cf6 | |||
eea3913348 | |||
![]() |
11f6c65e61 | ||
a43053a00a | |||
ce68367969 | |||
d01187c963 | |||
![]() |
77bc95bbd5 | ||
![]() |
edc00429e8 | ||
e6b38deb9d | |||
efe073f57c | |||
c26d49e854 | |||
477faffd78 | |||
683b945917 | |||
024bec85f6 | |||
59e69fc2bd | |||
aba0d01b78 | |||
3836b6ff8c | |||
800b025518 | |||
fb52a09840 | |||
baee7ce4a5 | |||
76c308e45d | |||
801db0d429 | |||
6fa05e2c29 | |||
756538b4a1 | |||
c6612da1e6 | |||
2d9d08677e | |||
3fa6aacb91 | |||
494385a5bc | |||
335082dcd3 | |||
ee5b6f7150 | |||
f0b5f94cb5 | |||
f04f9cc3d0 | |||
75265f27da | |||
62e32e7c2e | |||
![]() |
1eca437197 | ||
c6aacd718a | |||
96d8e5e66b | |||
d80d7b8f70 | |||
da41f11a29 | |||
4b57bc4e5d | |||
b539d425f0 | |||
![]() |
c306ccb67f | ||
35eb37c60d | |||
5925b1821a | |||
ad5814a2a7 | |||
66dda2b902 | |||
8eab23bc66 | |||
fd35216025 | |||
95d36a31b6 | |||
871c4380c4 | |||
4c182aef7c | |||
bbb1d3e5e7 | |||
0a7308a0f1 | |||
6a14ca18d0 | |||
c3391d537b | |||
c73ae711bf | |||
32f58c0a92 | |||
0fae43efb2 | |||
31ecc30283 | |||
![]() |
1d71f82033 | ||
77c4d3154b | |||
09faf8a449 | |||
![]() |
e1b3d91127 | ||
32ec0521c5 | |||
82ba205646 | |||
c047042adf | |||
0d945fe20e | |||
dc609d9f1f | |||
f12236d1e3 | |||
1f3be45f1f | |||
871375f222 | |||
8b151982fe | |||
642ff82f74 | |||
3c1fb9aea1 | |||
fddcdcc20c | |||
9d1380e0a9 | |||
452865c80d | |||
8f439bdc2d | |||
2257a9bfb1 | |||
4eb9322eda | |||
3e71220efc | |||
1140e001a0 | |||
c842a5a187 | |||
95631c94c4 | |||
84d8698488 | |||
52bd198153 | |||
8ff71acd84 | |||
8473b5a592 | |||
79d8610d04 | |||
403fc9a3f1 | |||
8f4e52b7e0 | |||
9ea82ce653 | |||
7b845fb984 | |||
e555ede626 | |||
719332d120 | |||
688b408bbb | |||
888fb0b395 | |||
ff4f14b21a | |||
b2db324f60 | |||
cad897de16 | |||
ffc0db1994 | |||
94930da29b | |||
e031a45d60 | |||
129197f20d | |||
186f16e84c | |||
74140d41b1 | |||
671c3e1fa4 | |||
d64d789174 | |||
37ca6e4fd1 | |||
25c6444bad | |||
0697631929 | |||
c29c61f840 | |||
f4e97bd67d | |||
a8865f3402 | |||
3852094b35 | |||
![]() |
28e952dacd | ||
6ef6778215 | |||
8b29d6cd75 | |||
c6725dc507 | |||
db3bf36770 | |||
5060f26f50 | |||
455d195d55 | |||
4ec5a8cbc2 | |||
e673f3ba24 | |||
38086dcfdc | |||
037b771e1a | |||
412e7d3771 | |||
60043a6158 | |||
b3e1540c50 | |||
ae3073323e | |||
4a313b8252 | |||
23dafa4ad6 | |||
59af0fba9d | |||
bba6d28942 | |||
4b200b491c | |||
10131a6f62 | |||
85ce488298 | |||
943d574185 | |||
bb86007018 | |||
4b2458b457 | |||
![]() |
72505da862 | ||
d4f0ccb6b4 | |||
7a7055c186 | |||
d6b2f4ad8e | |||
![]() |
11a705c2d0 | ||
624c11d69f | |||
3d34b8c901 | |||
a4ea684bc8 | |||
ecda9483f1 | |||
eb8155ebcd | |||
e36db7018d | |||
c5dde1c345 | |||
3d72c37f7a | |||
9dfc134c9d | |||
c2a99cb0b6 | |||
1452b44352 | |||
5081de736a | |||
44dd158803 | |||
5401e68a61 | |||
838d20b990 | |||
0e0b3d6e1a | |||
3c39a3affe | |||
dcfe4a302c | |||
2c0c431399 | |||
![]() |
e449bf350c | ||
41c692ee2f | |||
74c293863d | |||
90805c9943 | |||
09b9e1e95e | |||
a16dd407b3 | |||
31c52bc34e | |||
ba8754cf11 | |||
666135c32a | |||
d5ce854fb1 | |||
65e4d169ba | |||
31d43cb0e7 | |||
50c72069b4 | |||
92b2f4d249 | |||
5ba045af7b | |||
ea94d5723f | |||
bb0b04f43a | |||
6377d00a61 | |||
b320597697 | |||
bad55d56bc | |||
a38b98478a | |||
15fe7f3d93 | |||
31746e1baa | |||
07ef428c6c | |||
38c7fd36ff | |||
0fc958a174 | |||
bc8b15f1a5 | |||
c394f510a5 | |||
![]() |
14e4c96b64 | ||
5f7ca5462d | |||
460c9d3d92 | |||
638bf05a23 | |||
7f1e98839a | |||
52664437fb | |||
db43aa7729 | |||
5a90bbf716 | |||
889b3385b5 | |||
cc6f41f8a5 | |||
12f4ac1706 | |||
513dfa179f | |||
f8699881d6 | |||
f66236a827 | |||
518d7dbebb | |||
78a7d5cfcc | |||
bcc2656299 | |||
99e5024e97 | |||
cf98518055 | |||
e6823f32e9 | |||
108b3ee33e | |||
975e9020cb | |||
4269559215 | |||
d2c6a27f58 | |||
3f91540cef | |||
6ca82bbf34 | |||
86868a4bcc | |||
3136fb886e | |||
d2406ad17d | |||
f17fbf8065 | |||
5db147c5be | |||
8b2b5b0b83 | |||
39db9b836b | |||
b0800197e6 | |||
16f5cda14a | |||
50e0d346f1 | |||
7cd24fb70a | |||
1b04b5cf08 | |||
18ba57ddb6 | |||
ed2b382490 | |||
fe863b59db | |||
4d139601ba | |||
afc091c3c4 | |||
ef76a67153 | |||
4d78211070 | |||
409070e0d4 | |||
c3e4fa7404 | |||
5016a8687c | |||
a8ce926eaa | |||
c082b088ab | |||
8bddbc9a94 | |||
6a3af76fbe | |||
c39eb09ae5 | |||
![]() |
0e6f2d9fe0 | ||
c2e36c09b9 | |||
511ae22264 | |||
8f7ab1bf46 | |||
fe5cbd5eea | |||
5042f895ce | |||
06abc9509d | |||
8c6d4aa103 | |||
da365bc2ad | |||
77749eff87 | |||
486e281644 | |||
117e17fb22 | |||
9bd38750b3 | |||
5392f220f0 | |||
d66f24cfe3 | |||
5d77c3a6a5 | |||
d1d2f002c7 | |||
78fe6d7ab1 | |||
2c9fe719e6 | |||
![]() |
f9113b7eb6 | ||
105c8d59cd | |||
d799388b02 | |||
bb16a3af7f | |||
af761021a3 | |||
48d8aa7484 | |||
586d9214b7 | |||
18e0f741c8 | |||
d447cf9704 | |||
00533de7d5 | |||
d488a87d70 | |||
b544d989d1 | |||
454dd3f7f0 | |||
![]() |
7c3cd63f95 | ||
c967bdcbb1 | |||
2625c39ce7 | |||
e75be000e3 | |||
1e7776907c | |||
0385e4df3c | |||
1840f44666 | |||
bc7de854c9 | |||
414d5429fe | |||
ff89c1793d | |||
4b14b33ea8 | |||
633d314b75 | |||
16acd7e473 | |||
2186d58d1c | |||
49cd04044a | |||
c03838dbc8 | |||
4046d9a384 | |||
e844f706fb | |||
9fe9705bc0 | |||
14c218b3fd | |||
4a87f8107e | |||
9d18874083 | |||
7da85ea35a | |||
601995c3b8 | |||
7522c05076 | |||
ffdb41a8bc | |||
fb424db2b7 | |||
2240ca3e7b | |||
78b13ab3db | |||
c4f9e4afab | |||
7e3e4751b5 | |||
3e292404d2 | |||
059d963192 | |||
dd08b490af | |||
71079d49e2 | |||
bf0ae05d25 | |||
c1768507a9 | |||
97414fb484 | |||
5d5e0f1b0e | |||
e2d06eb68a | |||
954b834053 | |||
583ae0caaa | |||
4e9a8109b2 | |||
a67876103a | |||
5379587772 | |||
63675b8d70 | |||
8dd7b5b26b | |||
4c6e07230f | |||
b400717326 | |||
a8731718a1 | |||
9fc000cc6f | |||
0584a88046 | |||
365cce4750 | |||
216e8d887b | |||
0ee9282b5c | |||
b27c831e0c | |||
b7c5ce8c2d | |||
93afc50ac3 | |||
da36efdf48 | |||
6172258250 | |||
4130cad489 | |||
763ad17769 | |||
ca0f4f8c5c | |||
b70bbfadfe | |||
afec1cd333 | |||
21fdb0d92b | |||
588db6152a | |||
e16cea019e | |||
a7aa0f1a0c | |||
9f56021975 | |||
8bb211a771 | |||
e54ea0f90e | |||
23c05a916c | |||
![]() |
59a0b49c10 | ||
ea571ddc29 | |||
04eab0fd01 | |||
e7a6917617 | |||
ebe2319692 | |||
56d1f0772d | |||
9c20eda0ad | |||
116d7b0042 | |||
2c108d5503 | |||
048f1a1b8b | |||
0cfac5b043 | |||
305b92e05f | |||
![]() |
4776a74bf7 | ||
ec60c8abe7 | |||
3ccec47841 | |||
d39f2eed98 | |||
e8c4411035 | |||
3225bc2e7f | |||
f0ebf696cb | |||
899d4ddbd0 | |||
26f181c6b7 | |||
4bfb99e4d8 | |||
5814e35af1 | |||
a0bbd65d57 | |||
dc09cc13ea | |||
6515177981 | |||
ff8c0f062a | |||
97f4e076c7 | |||
bd1ff201b1 | |||
8c361d6f66 | |||
5e0e5b1341 | |||
24fd8f729a | |||
4b30ee773c | |||
3bac6f17f1 | |||
8415bc9c80 | |||
84825e4ed2 | |||
58e25f11ae | |||
9d710374bd | |||
![]() |
f017fdecef | ||
66a166d236 | |||
7aaebf31df | |||
7f2cd2d969 | |||
fd7a3e2622 | |||
0d7065504e | |||
21deba56aa | |||
debacbfe5c | |||
303dd263e2 | |||
a30128a3c1 | |||
c81bc09876 | |||
8a43bfd8fd | |||
40afb8ae6a | |||
bd9d68e4dc | |||
ff157d7eba | |||
90686ff6f4 | |||
b0eff51fb7 | |||
1e1b9eef1b | |||
d392e9afea | |||
f24dfdcd3c | |||
c58d6b30ad | |||
e2a93e9c7c | |||
3915f5300a | |||
3411a96e74 | |||
e3075f3cf7 | |||
21a1c332b0 | |||
09e3ea49db | |||
c67975c6bb | |||
1a11353d34 | |||
ba6f25dd1b | |||
bf8d4a9bc6 | |||
d046c8c9d7 | |||
193b456d2d | |||
![]() |
c3d0ba3b33 | ||
c14b113746 | |||
a803dbe7ed | |||
![]() |
e6902d19a0 | ||
053fc35b01 | |||
63aec82e8a | |||
bad7340811 | |||
96c085d4af | |||
3d878cd0df | |||
ceb0e7fcea | |||
d763e294fc | |||
151b653bd5 | |||
5bfce9a822 | |||
86bb79e756 | |||
2943997d2a | |||
d816bae7bf | |||
5d67fb0f18 | |||
425e7ca342 | |||
6165395927 | |||
![]() |
3655eb7ff0 | ||
ead3fc4a07 | |||
3ac2f15a04 | |||
f0fba1a2d8 | |||
ec638d3108 | |||
89525fae59 | |||
d4b8e9b69f | |||
b51763a773 | |||
2180e6fc9f | |||
e5782df4ab | |||
358155a8da | |||
a450a2f2b2 | |||
4163c63def | |||
4d185921f6 | |||
96fa5e1e84 | |||
760a6aa1f5 | |||
30d9a6245f | |||
da4bd24c3e | |||
42f37106c5 | |||
e4c5a46c12 | |||
c9f1378863 | |||
c247562b07 | |||
ab28abcb6b | |||
ecda118be4 | |||
8aca40652a | |||
8115d30dca | |||
be32882e1c | |||
d57352b114 | |||
91e85230f9 | |||
91ecf47b2c | |||
a2fcfcabd7 | |||
7abd79398d | |||
5c1d2c5a9d | |||
619ce8392b | |||
489260198e | |||
c2fe387244 | |||
![]() |
2006c3ed10 | ||
![]() |
aed301704a | ||
e47bf05e85 | |||
1edebb794b | |||
c7051192e2 | |||
85875455b9 | |||
161aa5e0d0 | |||
e8291f4504 | |||
23ea72f051 | |||
603a534f09 | |||
728451f01a | |||
![]() |
d3b47fa842 | ||
694481095b | |||
660c47596e | |||
1111af5cb4 | |||
0a35afbf86 | |||
3eaf2b7fc6 | |||
baa9a00f5f | |||
390cf2fe75 | |||
69e7274d4f | |||
e96ad822b3 | |||
![]() |
a6b83617e9 | ||
e5425b566d | |||
![]() |
db40b62252 | ||
11bb38e887 | |||
89effac57e | |||
3e35beae61 | |||
94ce176e75 | |||
9f6a045e23 | |||
1d1cade9a9 | |||
2f3f208901 | |||
6ad04a031c | |||
25e84334f7 | |||
![]() |
4c320e2639 | ||
0c50f9c4aa | |||
b898330c37 | |||
ebe9804cfa | |||
b7ea79fde7 | |||
c207571d44 | |||
010c10febe | |||
bc06fcca47 | |||
7a005e089d | |||
2111fab88a | |||
6c4b72b135 | |||
![]() |
a90b0eb772 | ||
e3de5af135 | |||
9e77f5f17f | |||
4112f0241b | |||
![]() |
f940ecde7a | ||
![]() |
84d70de25a | ||
58324f0c86 | |||
5d53e6b3c1 | |||
06081d48e3 | |||
b2ab9977bf | |||
695614ad3b | |||
e4e80058c8 | |||
1fbd300adb | |||
e8eed82bd5 | |||
98aa7276c8 | |||
1703a8fb33 | |||
6beeba1ef5 | |||
a5d3b648e3 | |||
6f190c669f | |||
![]() |
b2627dff49 | ||
afd30e5e3a | |||
d292d635ea | |||
1a9480cf25 | |||
cbe1c1474b | |||
f95071028c | |||
4767a8eb4a |
@@ -162,6 +162,7 @@ PenaltyBreakString: 1000000
|
|||||||
ForEachMacros:
|
ForEachMacros:
|
||||||
- BEGIN_ANIMFILTER_SUBCHANNELS
|
- BEGIN_ANIMFILTER_SUBCHANNELS
|
||||||
- BKE_pbvh_vertex_iter_begin
|
- BKE_pbvh_vertex_iter_begin
|
||||||
|
- BKE_pbvh_face_iter_begin
|
||||||
- BLI_FOREACH_SPARSE_RANGE
|
- BLI_FOREACH_SPARSE_RANGE
|
||||||
- BLI_SMALLSTACK_ITER_BEGIN
|
- BLI_SMALLSTACK_ITER_BEGIN
|
||||||
- BMO_ITER
|
- BMO_ITER
|
||||||
|
@@ -177,8 +177,11 @@ option(WITH_INTERNATIONAL "Enable I18N (International fonts and text)" ON)
|
|||||||
|
|
||||||
option(WITH_PYTHON "Enable Embedded Python API (only disable for development)" ON)
|
option(WITH_PYTHON "Enable Embedded Python API (only disable for development)" ON)
|
||||||
option(WITH_PYTHON_SECURITY "Disables execution of scripts within blend files by default" ON)
|
option(WITH_PYTHON_SECURITY "Disables execution of scripts within blend files by default" ON)
|
||||||
mark_as_advanced(WITH_PYTHON) # don't want people disabling this unless they really know what they are doing.
|
# Don't want people disabling this unless they really know what they are doing.
|
||||||
mark_as_advanced(WITH_PYTHON_SECURITY) # some distributions see this as a security issue, rather than have them patch it, make a build option.
|
mark_as_advanced(WITH_PYTHON)
|
||||||
|
# Some distributions see this as a security issue, rather than have them patch it,
|
||||||
|
# make a build option.
|
||||||
|
mark_as_advanced(WITH_PYTHON_SECURITY)
|
||||||
|
|
||||||
option(WITH_PYTHON_SAFETY "Enable internal API error checking to track invalid data to prevent crash on access (at the expense of some efficiency, only enable for development)." OFF)
|
option(WITH_PYTHON_SAFETY "Enable internal API error checking to track invalid data to prevent crash on access (at the expense of some efficiency, only enable for development)." OFF)
|
||||||
mark_as_advanced(WITH_PYTHON_SAFETY)
|
mark_as_advanced(WITH_PYTHON_SAFETY)
|
||||||
@@ -254,6 +257,12 @@ if(UNIX AND NOT (APPLE OR HAIKU))
|
|||||||
|
|
||||||
option(WITH_GHOST_WAYLAND_DYNLOAD "Enable runtime dynamic WAYLAND libraries loading" ON)
|
option(WITH_GHOST_WAYLAND_DYNLOAD "Enable runtime dynamic WAYLAND libraries loading" ON)
|
||||||
mark_as_advanced(WITH_GHOST_WAYLAND_DYNLOAD)
|
mark_as_advanced(WITH_GHOST_WAYLAND_DYNLOAD)
|
||||||
|
|
||||||
|
set(WITH_GHOST_WAYLAND_APP_ID "" CACHE STRING "\
|
||||||
|
The application ID used for Blender (use default when an empty string), \
|
||||||
|
this can be used to differentiate Blender instances by version or branch for example."
|
||||||
|
)
|
||||||
|
mark_as_advanced(WITH_GHOST_WAYLAND_APP_ID)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -321,6 +330,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)
|
||||||
@@ -337,10 +349,12 @@ else()
|
|||||||
set(WITH_COREAUDIO OFF)
|
set(WITH_COREAUDIO OFF)
|
||||||
endif()
|
endif()
|
||||||
if(NOT WIN32)
|
if(NOT WIN32)
|
||||||
|
if(APPLE)
|
||||||
|
option(WITH_JACK "Enable JACK Support (http://www.jackaudio.org)" OFF)
|
||||||
|
else()
|
||||||
option(WITH_JACK "Enable JACK Support (http://www.jackaudio.org)" ON)
|
option(WITH_JACK "Enable JACK Support (http://www.jackaudio.org)" ON)
|
||||||
if(UNIX AND NOT APPLE)
|
|
||||||
option(WITH_JACK_DYNLOAD "Enable runtime dynamic JACK libraries loading" OFF)
|
|
||||||
endif()
|
endif()
|
||||||
|
option(WITH_JACK_DYNLOAD "Enable runtime dynamic JACK libraries loading" OFF)
|
||||||
else()
|
else()
|
||||||
set(WITH_JACK OFF)
|
set(WITH_JACK OFF)
|
||||||
endif()
|
endif()
|
||||||
@@ -456,7 +470,6 @@ if(NOT APPLE)
|
|||||||
|
|
||||||
option(WITH_CYCLES_CUDA_BINARIES "Build Cycles NVIDIA CUDA binaries" OFF)
|
option(WITH_CYCLES_CUDA_BINARIES "Build Cycles NVIDIA CUDA binaries" OFF)
|
||||||
set(CYCLES_CUDA_BINARIES_ARCH sm_30 sm_35 sm_37 sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 sm_86 compute_75 CACHE STRING "CUDA architectures to build binaries for")
|
set(CYCLES_CUDA_BINARIES_ARCH sm_30 sm_35 sm_37 sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 sm_86 compute_75 CACHE STRING "CUDA architectures to build binaries for")
|
||||||
option(WITH_CYCLES_CUBIN_COMPILER "Build cubins with nvrtc based compiler instead of nvcc" OFF)
|
|
||||||
option(WITH_CYCLES_CUDA_BUILD_SERIAL "Build cubins one after another (useful on machines with limited RAM)" OFF)
|
option(WITH_CYCLES_CUDA_BUILD_SERIAL "Build cubins one after another (useful on machines with limited RAM)" OFF)
|
||||||
option(WITH_CUDA_DYNLOAD "Dynamically load CUDA libraries at runtime (for developers, makes cuda-gdb work)" ON)
|
option(WITH_CUDA_DYNLOAD "Dynamically load CUDA libraries at runtime (for developers, makes cuda-gdb work)" ON)
|
||||||
|
|
||||||
@@ -464,7 +477,6 @@ if(NOT APPLE)
|
|||||||
set(CYCLES_RUNTIME_OPTIX_ROOT_DIR "" CACHE PATH "Path to the OptiX SDK root directory. When set, this path will be used at runtime to compile OptiX kernels.")
|
set(CYCLES_RUNTIME_OPTIX_ROOT_DIR "" CACHE PATH "Path to the OptiX SDK root directory. When set, this path will be used at runtime to compile OptiX kernels.")
|
||||||
|
|
||||||
mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH)
|
mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH)
|
||||||
mark_as_advanced(WITH_CYCLES_CUBIN_COMPILER)
|
|
||||||
mark_as_advanced(WITH_CYCLES_CUDA_BUILD_SERIAL)
|
mark_as_advanced(WITH_CYCLES_CUDA_BUILD_SERIAL)
|
||||||
mark_as_advanced(WITH_CUDA_DYNLOAD)
|
mark_as_advanced(WITH_CUDA_DYNLOAD)
|
||||||
mark_as_advanced(OPTIX_ROOT_DIR)
|
mark_as_advanced(OPTIX_ROOT_DIR)
|
||||||
@@ -475,7 +487,7 @@ endif()
|
|||||||
if(NOT APPLE)
|
if(NOT APPLE)
|
||||||
option(WITH_CYCLES_DEVICE_HIP "Enable Cycles AMD HIP support" ON)
|
option(WITH_CYCLES_DEVICE_HIP "Enable Cycles AMD HIP support" ON)
|
||||||
option(WITH_CYCLES_HIP_BINARIES "Build Cycles AMD HIP binaries" OFF)
|
option(WITH_CYCLES_HIP_BINARIES "Build Cycles AMD HIP binaries" OFF)
|
||||||
set(CYCLES_HIP_BINARIES_ARCH gfx900 gfx906 gfx90c gfx902 gfx1010 gfx1011 gfx1012 gfx1030 gfx1031 gfx1032 gfx1034 gfx1035 CACHE STRING "AMD HIP architectures to build binaries for")
|
set(CYCLES_HIP_BINARIES_ARCH gfx900 gfx906 gfx90c gfx902 gfx1010 gfx1011 gfx1012 gfx1030 gfx1031 gfx1032 gfx1034 gfx1035 gfx1100 gfx1101 gfx1102 CACHE STRING "AMD HIP architectures to build binaries for")
|
||||||
mark_as_advanced(WITH_CYCLES_DEVICE_HIP)
|
mark_as_advanced(WITH_CYCLES_DEVICE_HIP)
|
||||||
mark_as_advanced(CYCLES_HIP_BINARIES_ARCH)
|
mark_as_advanced(CYCLES_HIP_BINARIES_ARCH)
|
||||||
endif()
|
endif()
|
||||||
@@ -489,13 +501,12 @@ 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_SYCL_HOST_ENABLED "Enable use of SYCL host (CPU) device execution by oneAPI implementation. This option is for debugging purposes and impacts GPU execution." OFF)
|
|
||||||
|
|
||||||
# https://www.intel.com/content/www/us/en/develop/documentation/oneapi-dpcpp-cpp-compiler-dev-guide-and-reference/top/compilation/ahead-of-time-compilation.html
|
# https://www.intel.com/content/www/us/en/develop/documentation/oneapi-dpcpp-cpp-compiler-dev-guide-and-reference/top/compilation/ahead-of-time-compilation.html
|
||||||
set(CYCLES_ONEAPI_SPIR64_GEN_DEVICES "dg2" CACHE STRING "oneAPI Intel GPU architectures to build binaries for")
|
# 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_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_SYCL_HOST_ENABLED)
|
|
||||||
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()
|
||||||
@@ -553,6 +564,7 @@ endif()
|
|||||||
option(WITH_GTESTS "Enable GTest unit testing" OFF)
|
option(WITH_GTESTS "Enable GTest unit testing" OFF)
|
||||||
option(WITH_OPENGL_RENDER_TESTS "Enable OpenGL render related unit testing (Experimental)" OFF)
|
option(WITH_OPENGL_RENDER_TESTS "Enable OpenGL render related unit testing (Experimental)" OFF)
|
||||||
option(WITH_OPENGL_DRAW_TESTS "Enable OpenGL UI drawing related unit testing (Experimental)" OFF)
|
option(WITH_OPENGL_DRAW_TESTS "Enable OpenGL UI drawing related unit testing (Experimental)" OFF)
|
||||||
|
# NOTE: All callers of this must add `TEST_PYTHON_EXE_EXTRA_ARGS` before any other arguments.
|
||||||
set(TEST_PYTHON_EXE "" CACHE PATH "Python executable to run unit tests")
|
set(TEST_PYTHON_EXE "" CACHE PATH "Python executable to run unit tests")
|
||||||
mark_as_advanced(TEST_PYTHON_EXE)
|
mark_as_advanced(TEST_PYTHON_EXE)
|
||||||
|
|
||||||
@@ -572,6 +584,12 @@ mark_as_advanced(
|
|||||||
WITH_GPU_BUILDTIME_SHADER_BUILDER
|
WITH_GPU_BUILDTIME_SHADER_BUILDER
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Vulkan
|
||||||
|
option(WITH_VULKAN_BACKEND "Enable Vulkan as graphics backend (only for development)" OFF)
|
||||||
|
mark_as_advanced(
|
||||||
|
WITH_VULKAN_BACKEND
|
||||||
|
)
|
||||||
|
|
||||||
# Metal
|
# Metal
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
@@ -780,6 +798,8 @@ endif()
|
|||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Check for Conflicting/Unsupported Configurations
|
# Check for Conflicting/Unsupported Configurations
|
||||||
|
|
||||||
|
option(WITH_STRICT_BUILD_OPTIONS "When requirements for a build option are not met, error instead of disabling the option" OFF)
|
||||||
|
|
||||||
if(NOT WITH_BLENDER AND NOT WITH_CYCLES_STANDALONE AND NOT WITH_CYCLES_HYDRA_RENDER_DELEGATE)
|
if(NOT WITH_BLENDER AND NOT WITH_CYCLES_STANDALONE AND NOT WITH_CYCLES_HYDRA_RENDER_DELEGATE)
|
||||||
message(FATAL_ERROR
|
message(FATAL_ERROR
|
||||||
"At least one of WITH_BLENDER or WITH_CYCLES_STANDALONE "
|
"At least one of WITH_BLENDER or WITH_CYCLES_STANDALONE "
|
||||||
@@ -895,10 +915,7 @@ endif()
|
|||||||
|
|
||||||
if(WITH_BUILDINFO)
|
if(WITH_BUILDINFO)
|
||||||
find_package(Git)
|
find_package(Git)
|
||||||
if(NOT GIT_FOUND)
|
set_and_warn_library_found("Git" GIT_FOUND WITH_BUILDINFO)
|
||||||
message(WARNING "Git was not found, disabling WITH_BUILDINFO")
|
|
||||||
set(WITH_BUILDINFO OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_AUDASPACE)
|
if(WITH_AUDASPACE)
|
||||||
@@ -938,9 +955,10 @@ if(WITH_INTERNATIONAL)
|
|||||||
WARNING
|
WARNING
|
||||||
"Translation path '${CMAKE_SOURCE_DIR}/release/datafiles/locale' is missing, "
|
"Translation path '${CMAKE_SOURCE_DIR}/release/datafiles/locale' is missing, "
|
||||||
"This is a 'git submodule', which are known not to work with bridges to other version "
|
"This is a 'git submodule', which are known not to work with bridges to other version "
|
||||||
"control systems, disabling 'WITH_INTERNATIONAL'."
|
"control systems."
|
||||||
)
|
)
|
||||||
set(WITH_INTERNATIONAL OFF)
|
set(TRANSLATIONS_FOUND OFF)
|
||||||
|
set_and_warn_library_found("Translations" TRANSLATIONS_FOUND WITH_INTERNATIONAL)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -1224,6 +1242,12 @@ 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
|
||||||
@@ -1245,6 +1269,8 @@ if(WITH_OPENMP)
|
|||||||
find_package(OpenMP)
|
find_package(OpenMP)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set_and_warn_library_found("OpenMP" OPENMP_FOUND WITH_OPENMP)
|
||||||
|
|
||||||
if(OPENMP_FOUND)
|
if(OPENMP_FOUND)
|
||||||
if(NOT WITH_OPENMP_STATIC)
|
if(NOT WITH_OPENMP_STATIC)
|
||||||
string(APPEND CMAKE_C_FLAGS " ${OpenMP_C_FLAGS}")
|
string(APPEND CMAKE_C_FLAGS " ${OpenMP_C_FLAGS}")
|
||||||
@@ -1260,9 +1286,6 @@ if(WITH_OPENMP)
|
|||||||
|
|
||||||
find_library_static(OpenMP_LIBRARIES gomp ${CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES})
|
find_library_static(OpenMP_LIBRARIES gomp ${CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES})
|
||||||
endif()
|
endif()
|
||||||
else()
|
|
||||||
message(STATUS "OpenMP not found, disabling WITH_OPENMP")
|
|
||||||
set(WITH_OPENMP OFF)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
mark_as_advanced(
|
mark_as_advanced(
|
||||||
@@ -1277,10 +1300,7 @@ endif()
|
|||||||
|
|
||||||
if(WITH_BULLET AND WITH_SYSTEM_BULLET)
|
if(WITH_BULLET AND WITH_SYSTEM_BULLET)
|
||||||
find_package(Bullet)
|
find_package(Bullet)
|
||||||
if(NOT BULLET_FOUND)
|
set_and_warn_library_found("Bullet" BULLET_FOUND WITH_BULLET)
|
||||||
message(STATUS "Bullet not found, disabling WITH_BULLET")
|
|
||||||
set(WITH_BULLET OFF)
|
|
||||||
endif()
|
|
||||||
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 "")
|
||||||
@@ -1903,6 +1923,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:")
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
####################################################################################################
|
##################################################################################################
|
||||||
#
|
#
|
||||||
# This is a build system used by platform maintainers to build library dependencies on
|
# This is a build system used by platform maintainers to build library dependencies on
|
||||||
# Windows, macOS and Linux.
|
# Windows, macOS and Linux.
|
||||||
@@ -22,15 +22,18 @@
|
|||||||
# Install compiler cmake autoconf automake libtool yasm tcl
|
# Install compiler cmake autoconf automake libtool yasm tcl
|
||||||
# Run "make deps" from main Blender directory
|
# Run "make deps" from main Blender directory
|
||||||
#
|
#
|
||||||
####################################################################################################
|
##################################################################################################
|
||||||
|
|
||||||
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)
|
||||||
# versions.cmake needs to be included after options.cmake due to the BLENDER_PLATFORM_ARM variable being needed.
|
# `versions.cmake` needs to be included after `options.cmake`
|
||||||
|
# due to the `BLENDER_PLATFORM_ARM` variable being needed.
|
||||||
include(cmake/versions.cmake)
|
include(cmake/versions.cmake)
|
||||||
include(cmake/boost_build_options.cmake)
|
include(cmake/boost_build_options.cmake)
|
||||||
include(cmake/download.cmake)
|
include(cmake/download.cmake)
|
||||||
@@ -41,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)
|
||||||
@@ -65,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)
|
||||||
@@ -85,10 +86,13 @@ 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.
|
||||||
include(cmake/boost.cmake)
|
include(cmake/boost.cmake)
|
||||||
include(cmake/pugixml.cmake)
|
include(cmake/pugixml.cmake)
|
||||||
include(cmake/ispc.cmake)
|
include(cmake/ispc.cmake)
|
||||||
@@ -97,6 +101,10 @@ include(cmake/embree.cmake)
|
|||||||
include(cmake/openpgl.cmake)
|
include(cmake/openpgl.cmake)
|
||||||
include(cmake/fmt.cmake)
|
include(cmake/fmt.cmake)
|
||||||
include(cmake/robinmap.cmake)
|
include(cmake/robinmap.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)
|
||||||
@@ -114,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)
|
||||||
@@ -149,7 +158,6 @@ if(NOT WIN32 OR ENABLE_MINGW64)
|
|||||||
endif()
|
endif()
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
include(cmake/flac.cmake)
|
include(cmake/flac.cmake)
|
||||||
include(cmake/xml2.cmake)
|
|
||||||
if(NOT APPLE)
|
if(NOT APPLE)
|
||||||
include(cmake/spnav.cmake)
|
include(cmake/spnav.cmake)
|
||||||
include(cmake/jemalloc.cmake)
|
include(cmake/jemalloc.cmake)
|
||||||
@@ -162,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()
|
||||||
|
|
||||||
@@ -174,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
|
||||||
)
|
)
|
||||||
|
@@ -8,11 +8,6 @@ if(WIN32)
|
|||||||
# building with mingw, it'll have an unhappy time with that and
|
# building with mingw, it'll have an unhappy time with that and
|
||||||
# we need to clear them out.
|
# we need to clear them out.
|
||||||
set(AOM_CMAKE_FLAGS )
|
set(AOM_CMAKE_FLAGS )
|
||||||
# CMake will correctly identify phreads being available, however
|
|
||||||
# we do not want to use them, as that gains a dependency on
|
|
||||||
# libpthreadswin.dll which we do not want. when pthreads is not
|
|
||||||
# available oam will use a pthreads emulation layer using win32 threads
|
|
||||||
set(AOM_EXTRA_ARGS_WIN32 -DCMAKE_HAVE_PTHREAD_H=OFF)
|
|
||||||
else()
|
else()
|
||||||
set(AOM_GENERATOR "Unix Makefiles")
|
set(AOM_GENERATOR "Unix Makefiles")
|
||||||
set(AOM_CMAKE_FLAGS ${DEFAULT_CMAKE_FLAGS})
|
set(AOM_CMAKE_FLAGS ${DEFAULT_CMAKE_FLAGS})
|
||||||
@@ -36,6 +31,7 @@ ExternalProject_Add(external_aom
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${AOM_HASH_TYPE}=${AOM_HASH}
|
URL_HASH ${AOM_HASH_TYPE}=${AOM_HASH}
|
||||||
PREFIX ${BUILD_DIR}/aom
|
PREFIX ${BUILD_DIR}/aom
|
||||||
|
PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/aom/src/external_aom < ${PATCH_DIR}/aom.diff
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} &&
|
CONFIGURE_COMMAND ${CONFIGURE_ENV} &&
|
||||||
cd ${BUILD_DIR}/aom/src/external_aom-build/ &&
|
cd ${BUILD_DIR}/aom/src/external_aom-build/ &&
|
||||||
${CMAKE_COMMAND} -G "${AOM_GENERATOR}" -DCMAKE_INSTALL_PREFIX=${LIBDIR}/aom ${AOM_CMAKE_FLAGS} ${AOM_EXTRA_ARGS} ${BUILD_DIR}/aom/src/external_aom/
|
${CMAKE_COMMAND} -G "${AOM_GENERATOR}" -DCMAKE_INSTALL_PREFIX=${LIBDIR}/aom ${AOM_CMAKE_FLAGS} ${AOM_EXTRA_ARGS} ${BUILD_DIR}/aom/src/external_aom/
|
||||||
|
@@ -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()
|
|
||||||
|
@@ -4,6 +4,16 @@ 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)
|
||||||
|
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/)
|
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/)
|
||||||
@@ -13,16 +23,13 @@ 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
|
||||||
@@ -35,7 +42,6 @@ if(WITH_BOOST_PYTHON)
|
|||||||
define=BOOST_DEBUG_PYTHON
|
define=BOOST_DEBUG_PYTHON
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
|
||||||
|
|
||||||
set(BOOST_OPTIONS
|
set(BOOST_OPTIONS
|
||||||
--with-filesystem
|
--with-filesystem
|
||||||
@@ -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
|
||||||
)
|
)
|
||||||
|
@@ -19,6 +19,12 @@ if(UNIX)
|
|||||||
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 +52,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")
|
||||||
|
@@ -27,10 +27,12 @@ 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})
|
||||||
list(GET CPE_LIST 3 CPE_VENDOR)
|
list(GET CPE_LIST 3 CPE_VENDOR)
|
||||||
list(GET CPE_LIST 4 CPE_NAME)
|
list(GET CPE_LIST 4 CPE_NAME)
|
||||||
list(GET CPE_LIST 5 CPE_VERSION)
|
list(GET CPE_LIST 5 CPE_VERSION)
|
||||||
set(SBOMCONTENTS "${SBOMCONTENTS}${CPE_VENDOR},${CPE_NAME},${CPE_VERSION}\n")
|
set(${CPE_DEPNAME} "${CPE_VENDOR},${CPE_NAME},${CPE_VERSION}")
|
||||||
|
set(SBOMCONTENTS "${SBOMCONTENTS}${CPE_VENDOR},${CPE_NAME},${CPE_VERSION},,,\n")
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
configure_file(${CMAKE_SOURCE_DIR}/cmake/cve_check.csv.in ${CMAKE_CURRENT_BINARY_DIR}/cve_check.csv @ONLY)
|
configure_file(${CMAKE_SOURCE_DIR}/cmake/cve_check.csv.in ${CMAKE_CURRENT_BINARY_DIR}/cve_check.csv @ONLY)
|
||||||
|
@@ -1,2 +1,29 @@
|
|||||||
vendor,product,version
|
vendor,product,version,cve_number,remarks,comment
|
||||||
|
@OPENJPEG_ID@,CVE-2016-9675,Ignored,issue in convert command line tool not used by blender
|
||||||
|
@PYTHON_ID@,CVE-2009-2940,Ignored,issue in pygresql not used by blender
|
||||||
|
@PYTHON_ID@,CVE-2020-29396,Ignored,issue in odoo not used by blender
|
||||||
|
@PYTHON_ID@,CVE-2021-32052,Ignored,issue in django not used by blender
|
||||||
|
@PYTHON_ID@,CVE-2009-3720,Ignored,already fixed in libexpat version used
|
||||||
|
@SSL_ID@,CVE-2009-1390,Ignored,issue in mutt not used by blender
|
||||||
|
@SSL_ID@,CVE-2009-3765,Ignored,issue in mutt not used by blender
|
||||||
|
@SSL_ID@,CVE-2009-3766,Ignored,issue in mutt not used by blender
|
||||||
|
@SSL_ID@,CVE-2009-3767,Ignored,issue in ldap not used by blender
|
||||||
|
@SSL_ID@,CVE-2019-0190,Ignored,issue in apache not used by blender
|
||||||
|
@TIFF_ID@,CVE-2022-2056,Ignored,issue in tiff command line tool not used by blender
|
||||||
|
@TIFF_ID@,CVE-2022-2057,Ignored,issue in tiff command line tool not used by blender
|
||||||
|
@TIFF_ID@,CVE-2022-2058,Ignored,issue in tiff command line tool not used by blender
|
||||||
|
@TIFF_ID@,CVE-2022-2519,Ignored,issue in tiff command line tool not used by blender
|
||||||
|
@TIFF_ID@,CVE-2022-2520,Ignored,issue in tiff command line tool not used by blender
|
||||||
|
@TIFF_ID@,CVE-2022-2521,Ignored,issue in tiff command line tool not used by blender
|
||||||
|
@TIFF_ID@,CVE-2022-2953,Ignored,issue in tiff command line tool not used by blender
|
||||||
|
@TIFF_ID@,CVE-2022-34526,Ignored,issue in tiff command line tool not used by blender
|
||||||
|
@TIFF_ID@,CVE-2022-3570,Ignored,issue in tiff command line tool not used by blender
|
||||||
|
@TIFF_ID@,CVE-2022-3597,Ignored,issue in tiff command line tool not used by blender
|
||||||
|
@TIFF_ID@,CVE-2022-3598,Ignored,issue in tiff command line tool not used by blender
|
||||||
|
@TIFF_ID@,CVE-2022-3599,Ignored,issue in tiff command line tool not used by blender
|
||||||
|
@TIFF_ID@,CVE-2022-3626,Ignored,issue in tiff command line tool not used by blender
|
||||||
|
@TIFF_ID@,CVE-2022-3627,Ignored,issue in tiff command line tool not used by blender
|
||||||
|
@XML2_ID@,CVE-2016-3709,Ignored,not affecting blender and not considered a security issue upstream
|
||||||
|
@GMP_ID@,CVE-2021-43618,Mitigated,patched using upstream commit 561a9c25298e
|
||||||
|
@SQLITE_ID@,CVE-2022-35737,Ignored,only affects SQLITE_ENABLE_STAT4 compile option not used by blender or python
|
||||||
@SBOMCONTENTS@
|
@SBOMCONTENTS@
|
||||||
|
@@ -62,7 +62,7 @@ function(download_source dep)
|
|||||||
# since the actual build of the dep will notify the
|
# since the actual build of the dep will notify the
|
||||||
# platform maintainer if there is a problem with the
|
# platform maintainer if there is a problem with the
|
||||||
# source package and refuse to build.
|
# source package and refuse to build.
|
||||||
if(NOT PACKAGE_USE_UPSTREAM_SOURCES)
|
if(NOT PACKAGE_USE_UPSTREAM_SOURCES OR FORCE_CHECK_HASH)
|
||||||
file(${TARGET_HASH_TYPE} ${TARGET_FILE} LOCAL_HASH)
|
file(${TARGET_HASH_TYPE} ${TARGET_FILE} LOCAL_HASH)
|
||||||
if(NOT ${TARGET_HASH} STREQUAL ${LOCAL_HASH})
|
if(NOT ${TARGET_HASH} STREQUAL ${LOCAL_HASH})
|
||||||
message(FATAL_ERROR "${TARGET_FILE} ${TARGET_HASH_TYPE} mismatch\nExpected\t: ${TARGET_HASH}\nActual\t: ${LOCAL_HASH}")
|
message(FATAL_ERROR "${TARGET_FILE} ${TARGET_HASH_TYPE} mismatch\nExpected\t: ${TARGET_HASH}\nActual\t: ${LOCAL_HASH}")
|
||||||
@@ -87,6 +87,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)
|
||||||
@@ -114,7 +115,6 @@ download_source(WEBP)
|
|||||||
download_source(SPNAV)
|
download_source(SPNAV)
|
||||||
download_source(JEMALLOC)
|
download_source(JEMALLOC)
|
||||||
download_source(XML2)
|
download_source(XML2)
|
||||||
download_source(TINYXML)
|
|
||||||
download_source(YAMLCPP)
|
download_source(YAMLCPP)
|
||||||
download_source(EXPAT)
|
download_source(EXPAT)
|
||||||
download_source(PUGIXML)
|
download_source(PUGIXML)
|
||||||
@@ -126,6 +126,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)
|
||||||
@@ -164,3 +165,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,9 +83,12 @@ 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 ${PYTHON_BINARY} ${BUILD_DIR}/dpcpp/src/external_dpcpp/buildbot/configure.py ${DPCPP_CONFIGURE_ARGS}
|
# CONFIGURE_COMMAND
|
||||||
#BUILD_COMMAND echo "." #${PYTHON_BINARY} ${BUILD_DIR}/dpcpp/src/external_dpcpp/buildbot/compile.py
|
# ${PYTHON_BINARY}
|
||||||
|
# ${BUILD_DIR}/dpcpp/src/external_dpcpp/buildbot/configure.py ${DPCPP_CONFIGURE_ARGS}
|
||||||
|
# BUILD_COMMAND
|
||||||
|
# echo "." # ${PYTHON_BINARY} ${BUILD_DIR}/dpcpp/src/external_dpcpp/buildbot/compile.py
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} --build . -- deploy-sycl-toolchain
|
INSTALL_COMMAND ${CMAKE_COMMAND} --build . -- deploy-sycl-toolchain
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/dpcpp/src/external_dpcpp < ${PATCH_DIR}/dpcpp.diff
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/dpcpp/src/external_dpcpp < ${PATCH_DIR}/dpcpp.diff
|
||||||
INSTALL_DIR ${LIBDIR}/dpcpp
|
INSTALL_DIR ${LIBDIR}/dpcpp
|
||||||
|
@@ -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,8 @@ if(BUILD_MODE STREQUAL Release AND WIN32)
|
|||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
external_epoxy
|
||||||
|
external_python_site_packages
|
||||||
|
)
|
||||||
|
@@ -16,12 +16,6 @@ if(WIN32)
|
|||||||
--enable-libopenjpeg
|
--enable-libopenjpeg
|
||||||
--disable-mediafoundation
|
--disable-mediafoundation
|
||||||
)
|
)
|
||||||
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4")
|
|
||||||
set(FFMPEG_EXTRA_FLAGS
|
|
||||||
${FFMPEG_EXTRA_FLAGS}
|
|
||||||
--x86asmexe=yasm
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
else()
|
else()
|
||||||
set(FFMPEG_EXTRA_FLAGS
|
set(FFMPEG_EXTRA_FLAGS
|
||||||
${FFMPEG_EXTRA_FLAGS}
|
${FFMPEG_EXTRA_FLAGS}
|
||||||
|
@@ -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
|
||||||
|
@@ -7,8 +7,11 @@ set(FREETYPE_EXTRA_ARGS
|
|||||||
-DFT_DISABLE_HARFBUZZ=ON
|
-DFT_DISABLE_HARFBUZZ=ON
|
||||||
-DFT_DISABLE_PNG=ON
|
-DFT_DISABLE_PNG=ON
|
||||||
-DFT_REQUIRE_BROTLI=ON
|
-DFT_REQUIRE_BROTLI=ON
|
||||||
|
-DFT_REQUIRE_ZLIB=ON
|
||||||
-DPC_BROTLIDEC_INCLUDEDIR=${LIBDIR}/brotli/include
|
-DPC_BROTLIDEC_INCLUDEDIR=${LIBDIR}/brotli/include
|
||||||
-DPC_BROTLIDEC_LIBDIR=${LIBDIR}/brotli/lib
|
-DPC_BROTLIDEC_LIBDIR=${LIBDIR}/brotli/lib
|
||||||
|
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
||||||
|
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include
|
||||||
)
|
)
|
||||||
|
|
||||||
ExternalProject_Add(external_freetype
|
ExternalProject_Add(external_freetype
|
||||||
@@ -23,11 +26,15 @@ ExternalProject_Add(external_freetype
|
|||||||
add_dependencies(
|
add_dependencies(
|
||||||
external_freetype
|
external_freetype
|
||||||
external_brotli
|
external_brotli
|
||||||
|
external_zlib
|
||||||
)
|
)
|
||||||
|
|
||||||
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()
|
||||||
|
30
build_files/build_environment/cmake/fribidi.cmake
Normal file
30
build_files/build_environment/cmake/fribidi.cmake
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# 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
|
||||||
|
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()
|
@@ -27,6 +27,7 @@ ExternalProject_Add(external_gmp
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${GMP_HASH_TYPE}=${GMP_HASH}
|
URL_HASH ${GMP_HASH_TYPE}=${GMP_HASH}
|
||||||
PREFIX ${BUILD_DIR}/gmp
|
PREFIX ${BUILD_DIR}/gmp
|
||||||
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/gmp/src/external_gmp < ${PATCH_DIR}/gmp.diff
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/gmp/src/external_gmp/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/gmp ${GMP_OPTIONS} ${GMP_EXTRA_ARGS}
|
CONFIGURE_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/gmp/src/external_gmp/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/gmp ${GMP_OPTIONS} ${GMP_EXTRA_ARGS}
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/gmp/src/external_gmp/ && make -j${MAKE_THREADS}
|
BUILD_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/gmp/src/external_gmp/ && make -j${MAKE_THREADS}
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/gmp/src/external_gmp/ && make install
|
INSTALL_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/gmp/src/external_gmp/ && make install
|
||||||
|
44
build_files/build_environment/cmake/harfbuzz.cmake
Normal file
44
build_files/build_environment/cmake/harfbuzz.cmake
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
# 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:$PKG_CONFIG_PATH)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(HARFBUZZ_EXTRA_OPTIONS
|
||||||
|
-Dtests=disabled
|
||||||
|
-Dfreetype=enabled
|
||||||
|
-Dglib=disabled
|
||||||
|
-Dgobject=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_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()
|
||||||
|
|
@@ -26,7 +26,7 @@ if(WIN32)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
else()
|
else(WIN32)
|
||||||
|
|
||||||
function(harvest from to)
|
function(harvest from to)
|
||||||
set(pattern "")
|
set(pattern "")
|
||||||
@@ -52,19 +52,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 +135,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 +150,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 +163,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,9 +174,6 @@ 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")
|
||||||
|
|
||||||
@@ -127,15 +191,16 @@ 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 +211,14 @@ 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 +236,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,8 +249,19 @@ 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")
|
||||||
@@ -193,12 +270,11 @@ else()
|
|||||||
harvest(zstd/lib zstd/lib "*.a")
|
harvest(zstd/lib zstd/lib "*.a")
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
harvest(libglu/lib mesa/lib "*.so*")
|
harvest(libglu/lib mesa/lib "*${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()
|
||||||
|
@@ -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()
|
||||||
|
@@ -9,12 +9,15 @@ endif()
|
|||||||
if(APPLE)
|
if(APPLE)
|
||||||
set(LLVM_XML2_ARGS
|
set(LLVM_XML2_ARGS
|
||||||
-DLIBXML2_LIBRARY=${LIBDIR}/xml2/lib/libxml2.a
|
-DLIBXML2_LIBRARY=${LIBDIR}/xml2/lib/libxml2.a
|
||||||
|
-DLIBXML2_INCLUDE_DIR=${LIBDIR}/xml2/include/libxml2
|
||||||
)
|
)
|
||||||
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
|
||||||
@@ -37,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}
|
||||||
@@ -47,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
|
||||||
|
)
|
@@ -43,7 +43,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 +52,5 @@ ExternalProject_Add(external_mesa
|
|||||||
add_dependencies(
|
add_dependencies(
|
||||||
external_mesa
|
external_mesa
|
||||||
ll
|
ll
|
||||||
|
external_zlib
|
||||||
)
|
)
|
||||||
|
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
|
||||||
|
)
|
@@ -4,6 +4,33 @@ if(UNIX)
|
|||||||
set(OPENCOLLADA_EXTRA_ARGS
|
set(OPENCOLLADA_EXTRA_ARGS
|
||||||
-DLIBXML2_INCLUDE_DIR=${LIBDIR}/xml2/include/libxml2
|
-DLIBXML2_INCLUDE_DIR=${LIBDIR}/xml2/include/libxml2
|
||||||
-DLIBXML2_LIBRARIES=${LIBDIR}/xml2/lib/libxml2.a)
|
-DLIBXML2_LIBRARIES=${LIBDIR}/xml2/lib/libxml2.a)
|
||||||
|
|
||||||
|
# WARNING: the patch contains mixed UNIX and DOS line endings
|
||||||
|
# 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.
|
||||||
|
# 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
|
||||||
|
${_dos2unix}
|
||||||
|
${PATCH_DIR}/opencollada.diff
|
||||||
|
${BUILD_DIR}/opencollada/src/external_opencollada/CMakeLists.txt
|
||||||
|
${BUILD_DIR}/opencollada/src/external_opencollada/Externals/LibXML/CMakeLists.txt &&
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
set(OPENCOLLADA_EXTRA_ARGS
|
||||||
|
-DCMAKE_DEBUG_POSTFIX=_d
|
||||||
|
-DLIBXML2_INCLUDE_DIR=${LIBDIR}/xml2/include/libxml2
|
||||||
|
)
|
||||||
|
if(BUILD_MODE STREQUAL Release)
|
||||||
|
list(APPEND OPENCOLLADA_EXTRA_ARGS -DLIBXML2_LIBRARIES=${LIBDIR}/xml2/lib/libxml2s.lib)
|
||||||
|
else()
|
||||||
|
list(APPEND OPENCOLLADA_EXTRA_ARGS -DLIBXML2_LIBRARIES=${LIBDIR}/xml2/lib/libxml2sd.lib)
|
||||||
|
endif()
|
||||||
|
set(PATCH_MAYBE_DOS2UNIX_CMD)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
ExternalProject_Add(external_opencollada
|
ExternalProject_Add(external_opencollada
|
||||||
@@ -11,17 +38,19 @@ ExternalProject_Add(external_opencollada
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${OPENCOLLADA_HASH_TYPE}=${OPENCOLLADA_HASH}
|
URL_HASH ${OPENCOLLADA_HASH_TYPE}=${OPENCOLLADA_HASH}
|
||||||
PREFIX ${BUILD_DIR}/opencollada
|
PREFIX ${BUILD_DIR}/opencollada
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/opencollada/src/external_opencollada < ${PATCH_DIR}/opencollada.diff
|
PATCH_COMMAND
|
||||||
|
${PATCH_MAYBE_DOS2UNIX_CMD}
|
||||||
|
${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/opencollada/src/external_opencollada < ${PATCH_DIR}/opencollada.diff
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/opencollada ${DEFAULT_CMAKE_FLAGS} ${OPENCOLLADA_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/opencollada ${DEFAULT_CMAKE_FLAGS} ${OPENCOLLADA_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/opencollada
|
INSTALL_DIR ${LIBDIR}/opencollada
|
||||||
)
|
)
|
||||||
|
|
||||||
if(UNIX)
|
unset(PATCH_MAYBE_DOS2UNIX_CMD)
|
||||||
|
|
||||||
add_dependencies(
|
add_dependencies(
|
||||||
external_opencollada
|
external_opencollada
|
||||||
external_xml2
|
external_xml2
|
||||||
)
|
)
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
if(BUILD_MODE STREQUAL Release)
|
if(BUILD_MODE STREQUAL Release)
|
||||||
@@ -32,17 +61,7 @@ if(WIN32)
|
|||||||
endif()
|
endif()
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
if(BUILD_MODE STREQUAL Debug)
|
||||||
ExternalProject_Add_Step(external_opencollada after_install
|
ExternalProject_Add_Step(external_opencollada after_install
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/buffer.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/buffer_d.lib
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencollada/lib ${HARVEST_TARGET}/opencollada/lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/ftoa.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/ftoa_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/GeneratedSaxParser.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/GeneratedSaxParser_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/MathMLSolver.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/MathMLSolver_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADABaseUtils.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADABaseUtils_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADAFramework.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADAFramework_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADASaxFrameworkLoader.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADASaxFrameworkLoader_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADAStreamWriter.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADAStreamWriter_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/pcre.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/pcre_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/UTF.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/UTF_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/xml.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/xml_d.lib
|
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -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()
|
||||||
|
@@ -4,11 +4,9 @@
|
|||||||
# library itself does not depend on them, so should give no problems.
|
# library itself does not depend on them, so should give no problems.
|
||||||
|
|
||||||
set(OPENPGL_EXTRA_ARGS
|
set(OPENPGL_EXTRA_ARGS
|
||||||
-DOPENPGL_BUILD_PYTHON=OFF
|
|
||||||
-DOPENPGL_BUILD_STATIC=ON
|
-DOPENPGL_BUILD_STATIC=ON
|
||||||
-DOPENPGL_TBB_ROOT=${LIBDIR}/tbb
|
-DOPENPGL_TBB_ROOT=${LIBDIR}/tbb
|
||||||
-DTBB_ROOT=${LIBDIR}/tbb
|
-DTBB_ROOT=${LIBDIR}/tbb
|
||||||
-Dembree_DIR=${LIBDIR}/embree/lib/cmake/embree-${EMBREE_VERSION}
|
|
||||||
-DCMAKE_DEBUG_POSTFIX=_d
|
-DCMAKE_DEBUG_POSTFIX=_d
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -31,7 +29,6 @@ ExternalProject_Add(external_openpgl
|
|||||||
add_dependencies(
|
add_dependencies(
|
||||||
external_openpgl
|
external_openpgl
|
||||||
external_tbb
|
external_tbb
|
||||||
external_embree
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
@@ -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()
|
||||||
|
@@ -3,7 +3,8 @@
|
|||||||
if(WIN32)
|
if(WIN32)
|
||||||
option(ENABLE_MINGW64 "Enable building of ffmpeg/iconv/libsndfile/fftw3 by installing mingw64" ON)
|
option(ENABLE_MINGW64 "Enable building of ffmpeg/iconv/libsndfile/fftw3 by installing mingw64" ON)
|
||||||
endif()
|
endif()
|
||||||
option(WITH_BOOST_PYTHON "Enable building of boost with python support" OFF)
|
option(FORCE_CHECK_HASH "Force a check of all hashses during CMake the configure phase" 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")
|
||||||
|
|
||||||
@@ -20,8 +21,8 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(DOWNLOAD_DIR "${CMAKE_CURRENT_BINARY_DIR}/downloads" CACHE STRING "Path for downloaded files")
|
set(DOWNLOAD_DIR "${CMAKE_CURRENT_BINARY_DIR}/downloads" CACHE STRING "Path for downloaded files")
|
||||||
# This path must be hard-coded like this, so that the GNUmakefile knows where it is and can pass it to make_source_archive.py:
|
|
||||||
set(PACKAGE_DIR "${CMAKE_CURRENT_BINARY_DIR}/packages")
|
set(PACKAGE_DIR "${CMAKE_CURRENT_BINARY_DIR}/packages" CACHE PATH "default path for downloaded packages")
|
||||||
option(PACKAGE_USE_UPSTREAM_SOURCES "Use sources upstream to download the package sources, when OFF the blender mirror will be used" ON)
|
option(PACKAGE_USE_UPSTREAM_SOURCES "Use sources upstream to download the package sources, when OFF the blender mirror will be used" ON)
|
||||||
|
|
||||||
file(TO_CMAKE_PATH ${DOWNLOAD_DIR} DOWNLOAD_DIR)
|
file(TO_CMAKE_PATH ${DOWNLOAD_DIR} DOWNLOAD_DIR)
|
||||||
@@ -40,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)
|
||||||
@@ -75,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} &&
|
||||||
@@ -97,38 +115,21 @@ 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)
|
||||||
# Let's get the current Xcode dir, to support xcode-select
|
set(SHAREDLIBEXT ".dylib")
|
||||||
execute_process(
|
|
||||||
COMMAND xcode-select --print-path
|
|
||||||
OUTPUT_VARIABLE XCODE_DEV_PATH OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
||||||
)
|
|
||||||
execute_process(
|
|
||||||
COMMAND xcodebuild -version -sdk macosx SDKVersion
|
|
||||||
OUTPUT_VARIABLE MACOSX_SDK_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
||||||
|
|
||||||
if(NOT CMAKE_OSX_ARCHITECTURES)
|
# Use same Xcode detection as Blender itself.
|
||||||
execute_process(COMMAND uname -m OUTPUT_VARIABLE ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE)
|
include(../cmake/platform/platform_apple_xcode.cmake)
|
||||||
message(STATUS "Detected native architecture ${ARCHITECTURE}.")
|
|
||||||
set(CMAKE_OSX_ARCHITECTURES "${ARCHITECTURE}")
|
|
||||||
endif()
|
|
||||||
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64")
|
|
||||||
set(OSX_DEPLOYMENT_TARGET 10.13)
|
|
||||||
else()
|
|
||||||
set(OSX_DEPLOYMENT_TARGET 11.00)
|
|
||||||
endif()
|
|
||||||
set(OSX_SYSROOT ${XCODE_DEV_PATH}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk)
|
|
||||||
|
|
||||||
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
|
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
|
||||||
set(BLENDER_PLATFORM_ARM ON)
|
set(BLENDER_PLATFORM_ARM ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(PLATFORM_CFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${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 ${OSX_SYSROOT} -mmacosx-version-min=${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 ${OSX_SYSROOT} -mmacosx-version-min=${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
|
||||||
else()
|
else()
|
||||||
@@ -136,16 +137,18 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
set(PLATFORM_CMAKE_FLAGS
|
set(PLATFORM_CMAKE_FLAGS
|
||||||
-DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
|
-DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
|
||||||
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${OSX_DEPLOYMENT_TARGET}
|
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET}
|
||||||
-DCMAKE_OSX_SYSROOT:PATH=${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)
|
||||||
@@ -171,8 +174,8 @@ else()
|
|||||||
set(BLENDER_CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG ${PLATFORM_CXXFLAGS}")
|
set(BLENDER_CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG ${PLATFORM_CXXFLAGS}")
|
||||||
|
|
||||||
set(CONFIGURE_ENV
|
set(CONFIGURE_ENV
|
||||||
export MACOSX_DEPLOYMENT_TARGET=${OSX_DEPLOYMENT_TARGET} &&
|
export MACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET} &&
|
||||||
export MACOSX_SDK_VERSION=${OSX_DEPLOYMENT_TARGET} &&
|
export MACOSX_SDK_VERSION=${CMAKE_OSX_DEPLOYMENT_TARGET} &&
|
||||||
export CFLAGS=${PLATFORM_CFLAGS} &&
|
export CFLAGS=${PLATFORM_CFLAGS} &&
|
||||||
export CXXFLAGS=${PLATFORM_CXXFLAGS} &&
|
export CXXFLAGS=${PLATFORM_CXXFLAGS} &&
|
||||||
export LDFLAGS=${PLATFORM_LDFLAGS}
|
export LDFLAGS=${PLATFORM_LDFLAGS}
|
||||||
@@ -192,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}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -210,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
|
||||||
@@ -32,14 +32,17 @@ set(OSL_EXTRA_ARGS
|
|||||||
-DUSE_Qt5=OFF
|
-DUSE_Qt5=OFF
|
||||||
-DINSTALL_DOCS=OFF
|
-DINSTALL_DOCS=OFF
|
||||||
-Dpugixml_ROOT=${LIBDIR}/pugixml
|
-Dpugixml_ROOT=${LIBDIR}/pugixml
|
||||||
|
-DTIFF_ROOT=${LIBDIR}/tiff
|
||||||
|
-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
|
||||||
@@ -81,6 +84,7 @@ if(WIN32)
|
|||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslcomp.lib ${HARVEST_TARGET}/osl/lib/oslcomp_d.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslcomp.lib ${HARVEST_TARGET}/osl/lib/oslcomp_d.lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslexec.lib ${HARVEST_TARGET}/osl/lib/oslexec_d.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslexec.lib ${HARVEST_TARGET}/osl/lib/oslexec_d.lib
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslquery.lib ${HARVEST_TARGET}/osl/lib/oslquery_d.lib
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslquery.lib ${HARVEST_TARGET}/osl/lib/oslquery_d.lib
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslnoise.lib ${HARVEST_TARGET}/osl/lib/oslnoise_d.lib
|
||||||
DEPENDEES install
|
DEPENDEES install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -24,6 +24,14 @@ add_dependencies(
|
|||||||
external_zlib
|
external_zlib
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32 AND BUILD_MODE STREQUAL Release)
|
||||||
|
ExternalProject_Add_Step(external_png after_install
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/png/include/ ${HARVEST_TARGET}/png/include/
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/png/lib/libpng16_static${LIBEXT} ${HARVEST_TARGET}/png/lib/libpng${LIBEXT}
|
||||||
|
DEPENDEES install
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WIN32 AND BUILD_MODE STREQUAL Debug)
|
if(WIN32 AND BUILD_MODE STREQUAL Debug)
|
||||||
ExternalProject_Add_Step(external_png after_install
|
ExternalProject_Add_Step(external_png after_install
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/png/lib/libpng16_staticd${LIBEXT} ${LIBDIR}/png/lib/libpng16${LIBEXT}
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/png/lib/libpng16_staticd${LIBEXT} ${LIBDIR}/png/lib/libpng16${LIBEXT}
|
||||||
|
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
|
||||||
|
)
|
@@ -15,9 +15,13 @@ if(WIN32)
|
|||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
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(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(${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
|
||||||
@@ -25,12 +29,23 @@ if(WIN32)
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${PYTHON_HASH_TYPE}=${PYTHON_HASH}
|
URL_HASH ${PYTHON_HASH_TYPE}=${PYTHON_HASH}
|
||||||
PREFIX ${BUILD_DIR}/python
|
PREFIX ${BUILD_DIR}/python
|
||||||
CONFIGURE_COMMAND ""
|
# Python will download its own deps and there's very little we can do about
|
||||||
BUILD_COMMAND cd ${BUILD_DIR}/python/src/external_python/pcbuild/ && set IncludeTkinter=false && call build.bat -e -p x64 -c ${BUILD_MODE}
|
# that beyond placing some code in their externals dir before it tries.
|
||||||
PATCH_COMMAND ${PATCH_CMD} --verbose -p1 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python_windows.diff
|
# the foldernames *HAVE* to match the ones inside pythons get_externals.cmd.
|
||||||
|
# regardless of the version actually in there.
|
||||||
|
PATCH_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}\\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.13/zconf.h &&
|
||||||
|
${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(
|
||||||
|
external_python
|
||||||
|
external_zlib
|
||||||
|
)
|
||||||
else()
|
else()
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
# Disable functions that can be in 10.13 sdk but aren't available on 10.9 target.
|
# Disable functions that can be in 10.13 sdk but aren't available on 10.9 target.
|
||||||
@@ -58,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")
|
||||||
@@ -86,14 +100,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()
|
||||||
|
@@ -15,7 +15,9 @@ 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)
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
####################################################################################################################
|
##################################################################################################
|
||||||
# Mingw64 Builds
|
# Mingw64 Builds
|
||||||
####################################################################################################################
|
##################################################################################################
|
||||||
# This installs mingw64+msys to compile ffmpeg/iconv/libsndfile/fftw3
|
# This installs mingw64+msys to compile ffmpeg/iconv/libsndfile/fftw3
|
||||||
####################################################################################################################
|
##################################################################################################
|
||||||
|
|
||||||
message("LIBDIR = ${LIBDIR}")
|
message("LIBDIR = ${LIBDIR}")
|
||||||
macro(cmake_to_msys_path MsysPath ResultingPath)
|
macro(cmake_to_msys_path MsysPath ResultingPath)
|
||||||
|
64
build_files/build_environment/cmake/shaderc.cmake
Normal file
64
build_files/build_environment/cmake/shaderc.cmake
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
# ***** BEGIN GPL LICENSE BLOCK *****
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation; either version 2
|
||||||
|
# of the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software Foundation,
|
||||||
|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ***** END GPL LICENSE BLOCK *****
|
||||||
|
set(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()
|
||||||
|
|
||||||
|
|
51
build_files/build_environment/cmake/shaderc_deps.cmake
Normal file
51
build_files/build_environment/cmake/shaderc_deps.cmake
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
# ***** BEGIN GPL LICENSE BLOCK *****
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation; either version 2
|
||||||
|
# of the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software Foundation,
|
||||||
|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ***** END GPL LICENSE BLOCK *****
|
||||||
|
|
||||||
|
# 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,7 +1,7 @@
|
|||||||
# 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 PKG_CONFIG_PATH=${mingw_LIBDIR}/ogg/lib/pkgconfig:${mingw_LIBDIR}/vorbis/lib/pkgconfig:${mingw_LIBDIR}/flac/lib/pkgconfig:${mingw_LIBDIR}/opus/lib/pkgconfig:${mingw_LIBDIR})
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(SNDFILE_ENV set ${SNDFILE_ENV} &&)
|
set(SNDFILE_ENV set ${SNDFILE_ENV} &&)
|
||||||
@@ -11,18 +11,11 @@ else()
|
|||||||
set(SNDFILE_OPTIONS --enable-static --disable-shared )
|
set(SNDFILE_OPTIONS --enable-static --disable-shared )
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(UNIX)
|
|
||||||
set(SNDFILE_PATCH_CMD ${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/sndfile/src/external_sndfile < ${PATCH_DIR}/sndfile.diff)
|
|
||||||
else()
|
|
||||||
set(SNDFILE_PATCH_CMD)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_sndfile
|
ExternalProject_Add(external_sndfile
|
||||||
URL file://${PACKAGE_DIR}/${SNDFILE_FILE}
|
URL file://${PACKAGE_DIR}/${SNDFILE_FILE}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${SNDFILE_HASH_TYPE}=${SNDFILE_HASH}
|
URL_HASH ${SNDFILE_HASH_TYPE}=${SNDFILE_HASH}
|
||||||
PREFIX ${BUILD_DIR}/sndfile
|
PREFIX ${BUILD_DIR}/sndfile
|
||||||
PATCH_COMMAND ${SNDFILE_PATCH_CMD}
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sndfile/src/external_sndfile/ && ${SNDFILE_ENV} ${CONFIGURE_COMMAND} ${SNDFILE_OPTIONS} --prefix=${mingw_LIBDIR}/sndfile
|
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sndfile/src/external_sndfile/ && ${SNDFILE_ENV} ${CONFIGURE_COMMAND} ${SNDFILE_OPTIONS} --prefix=${mingw_LIBDIR}/sndfile
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sndfile/src/external_sndfile/ && make -j${MAKE_THREADS}
|
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sndfile/src/external_sndfile/ && make -j${MAKE_THREADS}
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sndfile/src/external_sndfile/ && make install
|
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sndfile/src/external_sndfile/ && make install
|
||||||
@@ -37,6 +30,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(
|
||||||
|
@@ -48,7 +48,6 @@ ExternalProject_Add(external_sqlite
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${SQLITE_HASH_TYPE}=${SQLITE_HASH}
|
URL_HASH ${SQLITE_HASH_TYPE}=${SQLITE_HASH}
|
||||||
PREFIX ${BUILD_DIR}/sqlite
|
PREFIX ${BUILD_DIR}/sqlite
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/sqlite/src/external_sqlite < ${PATCH_DIR}/sqlite.diff
|
|
||||||
CONFIGURE_COMMAND ${SQLITE_CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/sqlite ${SQLITE_CONFIGURATION_ARGS}
|
CONFIGURE_COMMAND ${SQLITE_CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/sqlite ${SQLITE_CONFIGURATION_ARGS}
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && make -j${MAKE_THREADS}
|
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && make -j${MAKE_THREADS}
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && make install
|
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && make install
|
||||||
|
@@ -3,8 +3,22 @@
|
|||||||
set(SSL_CONFIGURE_COMMAND ./Configure)
|
set(SSL_CONFIGURE_COMMAND ./Configure)
|
||||||
set(SSL_PATCH_CMD echo .)
|
set(SSL_PATCH_CMD echo .)
|
||||||
|
|
||||||
|
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)
|
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)
|
||||||
else()
|
else()
|
||||||
if(BLENDER_PLATFORM_ARM)
|
if(BLENDER_PLATFORM_ARM)
|
||||||
set(SSL_OS_COMPILER "blender-linux-aarch64")
|
set(SSL_OS_COMPILER "blender-linux-aarch64")
|
||||||
@@ -32,3 +46,4 @@ ExternalProject_Add(external_ssl
|
|||||||
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,5 +1,4 @@
|
|||||||
# 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
|
||||||
@@ -10,17 +9,6 @@ if(WIN32)
|
|||||||
)
|
)
|
||||||
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
|
||||||
|
@@ -25,6 +25,7 @@ ExternalProject_Add(external_tiff
|
|||||||
add_dependencies(
|
add_dependencies(
|
||||||
external_tiff
|
external_tiff
|
||||||
external_zlib
|
external_zlib
|
||||||
|
external_jpeg
|
||||||
)
|
)
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
if(BUILD_MODE STREQUAL Release)
|
if(BUILD_MODE STREQUAL Release)
|
||||||
|
@@ -7,32 +7,56 @@ 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,40 +64,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 lib, unless you point this variable to a valid cmake file
|
|
||||||
# doesn't have to make sense, but as long as it points somewhere valid it will skip the shared lib.
|
|
||||||
-DPXR_MONOLITHIC_IMPORT=${BUILD_DIR}/usd/src/external_usd/cmake/defaults/Version.cmake
|
|
||||||
-DTBB_INCLUDE_DIRS=${LIBDIR}/tbb/include
|
-DTBB_INCLUDE_DIRS=${LIBDIR}/tbb/include
|
||||||
-DTBB_LIBRARIES=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
|
-DTBB_LIBRARIES=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${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
|
||||||
@@ -84,6 +104,9 @@ 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. "libusd_m.a" became "libusd_usd_m.a".
|
# Since USD 21.11 the libraries are prefixed with "usd_", i.e. "libusd_m.a" became "libusd_usd_m.a".
|
||||||
@@ -99,27 +122,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()
|
||||||
|
@@ -8,9 +8,9 @@
|
|||||||
# Not all of our dependencies are currently in the nvd database so not all
|
# Not all of our dependencies are currently in the nvd database so not all
|
||||||
# dependencies have one assigned.
|
# dependencies have one assigned.
|
||||||
|
|
||||||
set(ZLIB_VERSION 1.2.12)
|
set(ZLIB_VERSION 1.2.13)
|
||||||
set(ZLIB_URI https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz)
|
set(ZLIB_URI https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz)
|
||||||
set(ZLIB_HASH 5fc414a9726be31427b440b434d05f78)
|
set(ZLIB_HASH 9b8aa094c4e5765dabf4da391f00d15c)
|
||||||
set(ZLIB_HASH_TYPE MD5)
|
set(ZLIB_HASH_TYPE MD5)
|
||||||
set(ZLIB_FILE zlib-${ZLIB_VERSION}.tar.gz)
|
set(ZLIB_FILE zlib-${ZLIB_VERSION}.tar.gz)
|
||||||
set(ZLIB_CPE "cpe:2.3:a:zlib:zlib:${ZLIB_VERSION}:*:*:*:*:*:*:*")
|
set(ZLIB_CPE "cpe:2.3:a:zlib:zlib:${ZLIB_VERSION}:*:*:*:*:*:*:*")
|
||||||
@@ -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,20 +77,20 @@ 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)
|
||||||
set(OPENEXR_VERSION_POSTFIX)
|
set(OPENEXR_VERSION_POSTFIX)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(FREETYPE_VERSION 2.11.1)
|
set(FREETYPE_VERSION 2.12.1)
|
||||||
set(FREETYPE_URI http://prdownloads.sourceforge.net/freetype/freetype-${FREETYPE_VERSION}.tar.gz)
|
set(FREETYPE_URI http://prdownloads.sourceforge.net/freetype/freetype-${FREETYPE_VERSION}.tar.gz)
|
||||||
set(FREETYPE_HASH bd4e3b007474319909a6b79d50908e85)
|
set(FREETYPE_HASH 8bc5c9c9df7ac12c504f8918552a7cf2)
|
||||||
set(FREETYPE_HASH_TYPE MD5)
|
set(FREETYPE_HASH_TYPE MD5)
|
||||||
set(FREETYPE_FILE freetype-${FREETYPE_VERSION}.tar.gz)
|
set(FREETYPE_FILE freetype-${FREETYPE_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}:*:*:*:*:*:*:*")
|
||||||
@@ -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.13.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 de45fb38501c4581062b522b53b6141c)
|
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,22 @@ 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.11.17.0)
|
set(OSL_VERSION 1.12.7.1)
|
||||||
set(OSL_URI https://github.com/imageworks/OpenShadingLanguage/archive/Release-${OSL_VERSION}.tar.gz)
|
set(OSL_URI https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/archive/v${OSL_VERSION}.tar.gz)
|
||||||
set(OSL_HASH 63265472ce14548839ace2e21e401544)
|
set(OSL_HASH 53211da86c34ba6e0344998c1a6d219c)
|
||||||
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.2)
|
# 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 14e8c22458ed7779a1957b26cde01db9)
|
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,9 +223,9 @@ 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)
|
||||||
|
|
||||||
@@ -224,20 +235,22 @@ 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}:*:*:*:*:*:*:*")
|
||||||
set(CERTIFI_VERSION 2021.10.8)
|
set(CERTIFI_VERSION 2021.10.8)
|
||||||
set(REQUESTS_VERSION 2.27.1)
|
set(REQUESTS_VERSION 2.27.1)
|
||||||
set(CYTHON_VERSION 0.29.26)
|
set(CYTHON_VERSION 0.29.30)
|
||||||
# The version of the zstd library used to build the Python package should match ZSTD_VERSION defined below.
|
# The version of the zstd library used to build the Python package should match ZSTD_VERSION
|
||||||
# At this time of writing, 0.17.0 was already released, but built against zstd 1.5.1, while we use 1.5.0.
|
# 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.
|
||||||
set(ZSTANDARD_VERSION 0.16.0)
|
set(ZSTANDARD_VERSION 0.16.0)
|
||||||
set(AUTOPEP8_VERSION 1.6.0)
|
set(AUTOPEP8_VERSION 1.6.0)
|
||||||
set(PYCODESTYLE_VERSION 2.8.0)
|
set(PYCODESTYLE_VERSION 2.8.0)
|
||||||
set(TOML_VERSION 0.10.2)
|
set(TOML_VERSION 0.10.2)
|
||||||
|
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)
|
||||||
@@ -298,17 +311,17 @@ set(XVIDCORE_HASH abbdcbd39555691dd1c9b4d08f0a031376a3b211652c0d8b3b8aa9be1303ce
|
|||||||
set(XVIDCORE_HASH_TYPE SHA256)
|
set(XVIDCORE_HASH_TYPE SHA256)
|
||||||
set(XVIDCORE_FILE xvidcore-${XVIDCORE_VERSION}.tar.gz)
|
set(XVIDCORE_FILE xvidcore-${XVIDCORE_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(OPENJPEG_VERSION 2.4.0)
|
set(OPENJPEG_VERSION 2.5.0)
|
||||||
set(OPENJPEG_SHORT_VERSION 2.4)
|
set(OPENJPEG_SHORT_VERSION 2.5)
|
||||||
set(OPENJPEG_URI https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VERSION}.tar.gz)
|
set(OPENJPEG_URI https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VERSION}.tar.gz)
|
||||||
set(OPENJPEG_HASH 8702ba68b442657f11aaeb2b338443ca8d5fb95b0d845757968a7be31ef7f16d)
|
set(OPENJPEG_HASH 0333806d6adecc6f7a91243b2b839ff4d2053823634d4f6ed7a59bc87409122a)
|
||||||
set(OPENJPEG_HASH_TYPE SHA256)
|
set(OPENJPEG_HASH_TYPE SHA256)
|
||||||
set(OPENJPEG_FILE openjpeg-v${OPENJPEG_VERSION}.tar.gz)
|
set(OPENJPEG_FILE openjpeg-v${OPENJPEG_VERSION}.tar.gz)
|
||||||
set(OPENJPEG_CPE "cpe:2.3:a:uclouvain:openjpeg:${OPENJPEG_VERSION}:*:*:*:*:*:*:*")
|
set(OPENJPEG_CPE "cpe:2.3:a:uclouvain:openjpeg:${OPENJPEG_VERSION}:*:*:*:*:*:*:*")
|
||||||
|
|
||||||
set(FFMPEG_VERSION 5.0)
|
set(FFMPEG_VERSION 5.1.2)
|
||||||
set(FFMPEG_URI http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2)
|
set(FFMPEG_URI http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2)
|
||||||
set(FFMPEG_HASH c0130b8db2c763430fd1c6905288d61bc44ee0548ad5fcd2dfd650b88432bed9)
|
set(FFMPEG_HASH 39a0bcc8d98549f16c570624678246a6ac736c066cebdb409f9502e915b22f2b)
|
||||||
set(FFMPEG_HASH_TYPE SHA256)
|
set(FFMPEG_HASH_TYPE SHA256)
|
||||||
set(FFMPEG_FILE ffmpeg-${FFMPEG_VERSION}.tar.bz2)
|
set(FFMPEG_FILE ffmpeg-${FFMPEG_VERSION}.tar.bz2)
|
||||||
set(FFMPEG_CPE "cpe:2.3:a:ffmpeg:ffmpeg:${FFMPEG_VERSION}:*:*:*:*:*:*:*")
|
set(FFMPEG_CPE "cpe:2.3:a:ffmpeg:ffmpeg:${FFMPEG_VERSION}:*:*:*:*:*:*:*")
|
||||||
@@ -325,9 +338,9 @@ set(ICONV_HASH 7d2a800b952942bb2880efb00cfd524c)
|
|||||||
set(ICONV_HASH_TYPE MD5)
|
set(ICONV_HASH_TYPE MD5)
|
||||||
set(ICONV_FILE libiconv-${ICONV_VERSION}.tar.gz)
|
set(ICONV_FILE libiconv-${ICONV_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(SNDFILE_VERSION 1.0.28)
|
set(SNDFILE_VERSION 1.1.0)
|
||||||
set(SNDFILE_URI http://www.mega-nerd.com/libsndfile/files/libsndfile-${SNDFILE_VERSION}.tar.gz)
|
set(SNDFILE_URI https://github.com/libsndfile/libsndfile/releases/download/1.1.0/libsndfile-${SNDFILE_VERSION}.tar.xz)
|
||||||
set(SNDFILE_HASH 646b5f98ce89ac60cdb060fcd398247c)
|
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.gz)
|
||||||
set(SNDFILE_CPE "cpe:2.3:a:libsndfile_project:libsndfile:${SNDFILE_VERSION}:*:*:*:*:*:*:*")
|
set(SNDFILE_CPE "cpe:2.3:a:libsndfile_project:libsndfile:${SNDFILE_VERSION}:*:*:*:*:*:*:*")
|
||||||
@@ -351,24 +364,16 @@ set(JEMALLOC_HASH 3d41fbf006e6ebffd489bdb304d009ae)
|
|||||||
set(JEMALLOC_HASH_TYPE MD5)
|
set(JEMALLOC_HASH_TYPE MD5)
|
||||||
set(JEMALLOC_FILE jemalloc-${JEMALLOC_VERSION}.tar.bz2)
|
set(JEMALLOC_FILE jemalloc-${JEMALLOC_VERSION}.tar.bz2)
|
||||||
|
|
||||||
set(XML2_VERSION 2.9.10)
|
set(XML2_VERSION 2.10.3)
|
||||||
set(XML2_URI http://xmlsoft.org/sources/libxml2-${XML2_VERSION}.tar.gz)
|
set(XML2_URI https://download.gnome.org/sources/libxml2/2.10/libxml2-${XML2_VERSION}.tar.xz)
|
||||||
set(XML2_HASH 10942a1dc23137a8aa07f0639cbfece5)
|
set(XML2_HASH f9edac7fac232b3657a003fd9a5bbe42)
|
||||||
set(XML2_HASH_TYPE MD5)
|
set(XML2_HASH_TYPE MD5)
|
||||||
set(XML2_FILE libxml2-${XML2_VERSION}.tar.gz)
|
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(TINYXML_VERSION 2_6_2)
|
set(YAMLCPP_VERSION 0.7.0)
|
||||||
set(TINYXML_VERSION_DOTS 2.6.2)
|
|
||||||
set(TINYXML_URI https://nchc.dl.sourceforge.net/project/tinyxml/tinyxml/${TINYXML_VERSION_DOTS}/tinyxml_${TINYXML_VERSION}.tar.gz)
|
|
||||||
set(TINYXML_HASH c1b864c96804a10526540c664ade67f0)
|
|
||||||
set(TINYXML_HASH_TYPE MD5)
|
|
||||||
set(TINYXML_FILE tinyxml_${TINYXML_VERSION}.tar.gz)
|
|
||||||
set(TINYXML_CPE "cpe:2.3:a:tinyxml_project:tinyxml:${TINYXML_VERSION_DOTS}:*:*:*:*:*:*:*")
|
|
||||||
|
|
||||||
set(YAMLCPP_VERSION 0.6.3)
|
|
||||||
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}:*:*:*:*:*:*:*")
|
||||||
@@ -379,10 +384,10 @@ set(PYSTRING_HASH f2c68786b359f5e4e62bed53bc4fb86d)
|
|||||||
set(PYSTRING_HASH_TYPE MD5)
|
set(PYSTRING_HASH_TYPE MD5)
|
||||||
set(PYSTRING_FILE pystring-${PYSTRING_VERSION}.tar.gz)
|
set(PYSTRING_FILE pystring-${PYSTRING_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(EXPAT_VERSION 2_4_4)
|
set(EXPAT_VERSION 2_5_0)
|
||||||
set(EXPAT_VERSION_DOTS 2.4.4)
|
set(EXPAT_VERSION_DOTS 2.5.0)
|
||||||
set(EXPAT_URI https://github.com/libexpat/libexpat/archive/R_${EXPAT_VERSION}.tar.gz)
|
set(EXPAT_URI https://github.com/libexpat/libexpat/archive/R_${EXPAT_VERSION}.tar.gz)
|
||||||
set(EXPAT_HASH 2d3e81dee94b452369dc6394ff0f8f98)
|
set(EXPAT_HASH d375fa3571c0abb945873f5061a8f2e2)
|
||||||
set(EXPAT_HASH_TYPE MD5)
|
set(EXPAT_HASH_TYPE MD5)
|
||||||
set(EXPAT_FILE libexpat-${EXPAT_VERSION}.tar.gz)
|
set(EXPAT_FILE libexpat-${EXPAT_VERSION}.tar.gz)
|
||||||
set(EXPAT_CPE "cpe:2.3:a:libexpat_project:libexpat:${EXPAT_VERSION_DOTS}:*:*:*:*:*:*:*")
|
set(EXPAT_CPE "cpe:2.3:a:libexpat_project:libexpat:${EXPAT_VERSION_DOTS}:*:*:*:*:*:*:*")
|
||||||
@@ -410,6 +415,10 @@ set(FLEX_FILE flex-${FLEX_VERSION}.tar.gz)
|
|||||||
|
|
||||||
# NOTE: bzip.org domain does no longer belong to BZip 2 project, so we download
|
# NOTE: bzip.org domain does no longer belong to BZip 2 project, so we download
|
||||||
# sources from Debian packaging.
|
# sources from Debian packaging.
|
||||||
|
#
|
||||||
|
# NOTE 2: This will *HAVE* to match the version python ships on windows which
|
||||||
|
# is hardcoded in pythons PCbuild/get_externals.bat. For compliance reasons there
|
||||||
|
# can be no exceptions to this.
|
||||||
set(BZIP2_VERSION 1.0.8)
|
set(BZIP2_VERSION 1.0.8)
|
||||||
set(BZIP2_URI http://http.debian.net/debian/pool/main/b/bzip2/bzip2_${BZIP2_VERSION}.orig.tar.gz)
|
set(BZIP2_URI http://http.debian.net/debian/pool/main/b/bzip2/bzip2_${BZIP2_VERSION}.orig.tar.gz)
|
||||||
set(BZIP2_HASH ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269)
|
set(BZIP2_HASH ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269)
|
||||||
@@ -417,6 +426,9 @@ set(BZIP2_HASH_TYPE SHA256)
|
|||||||
set(BZIP2_FILE bzip2_${BZIP2_VERSION}.orig.tar.gz)
|
set(BZIP2_FILE bzip2_${BZIP2_VERSION}.orig.tar.gz)
|
||||||
set(BZIP2_CPE "cpe:2.3:a:bzip:bzip2:${BZIP2_VERSION}:*:*:*:*:*:*:*")
|
set(BZIP2_CPE "cpe:2.3:a:bzip:bzip2:${BZIP2_VERSION}:*:*:*:*:*:*:*")
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# can be no exceptions to this.
|
||||||
set(FFI_VERSION 3.3)
|
set(FFI_VERSION 3.3)
|
||||||
set(FFI_URI https://sourceware.org/pub/libffi/libffi-${FFI_VERSION}.tar.gz)
|
set(FFI_URI https://sourceware.org/pub/libffi/libffi-${FFI_VERSION}.tar.gz)
|
||||||
set(FFI_HASH 72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056)
|
set(FFI_HASH 72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056)
|
||||||
@@ -430,27 +442,23 @@ 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)
|
||||||
|
|
||||||
if(BLENDER_PLATFORM_ARM)
|
# NOTE: Python's build has been modified to use our ssl version.
|
||||||
# Need at least 1.1.1i for aarch64 support (https://github.com/openssl/openssl/pull/13218)
|
set(SSL_VERSION 1.1.1q)
|
||||||
set(SSL_VERSION 1.1.1i)
|
|
||||||
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 e8be6a35fe41d10603c3cc635e93289ed00bf34b79671a3a4de64fcee00d5242)
|
set(SSL_HASH d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca)
|
||||||
set(SSL_HASH_TYPE SHA256)
|
set(SSL_HASH_TYPE SHA256)
|
||||||
set(SSL_FILE openssl-${SSL_VERSION}.tar.gz)
|
set(SSL_FILE openssl-${SSL_VERSION}.tar.gz)
|
||||||
else()
|
|
||||||
set(SSL_VERSION 1.1.1g)
|
|
||||||
set(SSL_URI https://www.openssl.org/source/openssl-${SSL_VERSION}.tar.gz)
|
|
||||||
set(SSL_HASH ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46)
|
|
||||||
set(SSL_HASH_TYPE SHA256)
|
|
||||||
set(SSL_FILE openssl-${SSL_VERSION}.tar.gz)
|
|
||||||
endif()
|
|
||||||
set(SSL_CPE "cpe:2.3:a:openssl:openssl:${SSL_VERSION}:*:*:*:*:*:*:*")
|
set(SSL_CPE "cpe:2.3:a:openssl:openssl:${SSL_VERSION}:*:*:*:*:*:*:*")
|
||||||
|
|
||||||
set(SQLITE_VERSION 3.31.1)
|
# Note: This will *HAVE* to match the version python ships on windows which
|
||||||
set(SQLITE_URI https://www.sqlite.org/2018/sqlite-src-3240000.zip)
|
# is hardcoded in pythons PCbuild/get_externals.bat for compliance reasons there
|
||||||
set(SQLITE_HASH fb558c49ee21a837713c4f1e7e413309aabdd9c7)
|
# can be no exceptions to this.
|
||||||
|
set(SQLITE_VERSION 3.39.4)
|
||||||
|
set(SQLLITE_LONG_VERSION 3390400)
|
||||||
|
set(SQLITE_URI https://www.sqlite.org/2022/sqlite-autoconf-${SQLLITE_LONG_VERSION}.tar.gz)
|
||||||
|
set(SQLITE_HASH c4c5c39269d1b9bb1487cff580c1f583608229b2)
|
||||||
set(SQLITE_HASH_TYPE SHA1)
|
set(SQLITE_HASH_TYPE SHA1)
|
||||||
set(SQLITE_FILE sqlite-src-3240000.zip)
|
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}:*:*:*:*:*:*:*")
|
||||||
|
|
||||||
set(EMBREE_VERSION 3.13.4)
|
set(EMBREE_VERSION 3.13.4)
|
||||||
@@ -459,12 +467,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)
|
||||||
@@ -561,22 +575,22 @@ set(BROTLI_HASH_TYPE SHA256)
|
|||||||
set(BROTLI_FILE brotli-v${BROTLI_VERSION}.tar.gz)
|
set(BROTLI_FILE brotli-v${BROTLI_VERSION}.tar.gz)
|
||||||
set(BROTLI_CPE "cpe:2.3:a:google:brotli:${BROTLI_VERSION}:*:*:*:*:*:*:*")
|
set(BROTLI_CPE "cpe:2.3:a:google:brotli:${BROTLI_VERSION}:*:*:*:*:*:*:*")
|
||||||
|
|
||||||
set(OPENPGL_VERSION v0.3.1-beta)
|
set(OPENPGL_VERSION v0.4.1-beta)
|
||||||
set(OPENPGL_SHORT_VERSION 0.3.1)
|
set(OPENPGL_SHORT_VERSION 0.4.1)
|
||||||
set(OPENPGL_URI https://github.com/OpenPathGuidingLibrary/openpgl/archive/refs/tags/${OPENPGL_VERSION}.tar.gz)
|
set(OPENPGL_URI https://github.com/OpenPathGuidingLibrary/openpgl/archive/refs/tags/${OPENPGL_VERSION}.tar.gz)
|
||||||
set(OPENPGL_HASH 3830098c485c962018932766199527aab453a8029528dbbc04d4454d82431e2c)
|
set(OPENPGL_HASH db63f5dac5cfa8c110ede241f0c413f00db0c4748697381c4fa23e0f9e82a754)
|
||||||
set(OPENPGL_HASH_TYPE SHA256)
|
set(OPENPGL_HASH_TYPE SHA256)
|
||||||
set(OPENPGL_FILE openpgl-${OPENPGL_VERSION}.tar.gz)
|
set(OPENPGL_FILE openpgl-${OPENPGL_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(LEVEL_ZERO_VERSION v1.7.15)
|
set(LEVEL_ZERO_VERSION v1.8.5)
|
||||||
set(LEVEL_ZERO_URI https://github.com/oneapi-src/level-zero/archive/refs/tags/${LEVEL_ZERO_VERSION}.tar.gz)
|
set(LEVEL_ZERO_URI https://github.com/oneapi-src/level-zero/archive/refs/tags/${LEVEL_ZERO_VERSION}.tar.gz)
|
||||||
set(LEVEL_ZERO_HASH c39bb05a8e5898aa6c444e1704105b93d3f1888b9c333f8e7e73825ffbfb2617)
|
set(LEVEL_ZERO_HASH b6e9663bbcc53c148d32376998298bec6f7c434ef2218c61fa708963e3a09394)
|
||||||
set(LEVEL_ZERO_HASH_TYPE SHA256)
|
set(LEVEL_ZERO_HASH_TYPE SHA256)
|
||||||
set(LEVEL_ZERO_FILE level-zero-${LEVEL_ZERO_VERSION}.tar.gz)
|
set(LEVEL_ZERO_FILE level-zero-${LEVEL_ZERO_VERSION}.tar.gz)
|
||||||
|
|
||||||
set(DPCPP_VERSION 20220812)
|
set(DPCPP_VERSION 20221019)
|
||||||
set(DPCPP_URI https://github.com/intel/llvm/archive/refs/tags/sycl-nightly/${DPCPP_VERSION}.tar.gz)
|
set(DPCPP_URI https://github.com/intel/llvm/archive/refs/tags/sycl-nightly/${DPCPP_VERSION}.tar.gz)
|
||||||
set(DPCPP_HASH 0e3c95346c295f5cf80f3a42d80b1c49481955898530242636ddc002627248d6)
|
set(DPCPP_HASH 2f533946e91ce3829431758ea17b0b834b960c1a796e9e4563c86e03eb9603a2)
|
||||||
set(DPCPP_HASH_TYPE SHA256)
|
set(DPCPP_HASH_TYPE SHA256)
|
||||||
set(DPCPP_FILE DPCPP-${DPCPP_VERSION}.tar.gz)
|
set(DPCPP_FILE DPCPP-${DPCPP_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -589,9 +603,9 @@ set(DPCPP_FILE DPCPP-${DPCPP_VERSION}.tar.gz)
|
|||||||
# will take care of building them, unpack is being done in dpcpp_deps.cmake
|
# will take care of building them, unpack is being done in dpcpp_deps.cmake
|
||||||
|
|
||||||
# Source llvm/lib/SYCLLowerIR/CMakeLists.txt
|
# Source llvm/lib/SYCLLowerIR/CMakeLists.txt
|
||||||
set(VCINTRINSICS_VERSION 984bb27baacce6ee5c716c2e64845f2a1928025b)
|
set(VCINTRINSICS_VERSION abce9184b7a3a7fe1b02289b9285610d9dc45465)
|
||||||
set(VCINTRINSICS_URI https://github.com/intel/vc-intrinsics/archive/${VCINTRINSICS_VERSION}.tar.gz)
|
set(VCINTRINSICS_URI https://github.com/intel/vc-intrinsics/archive/${VCINTRINSICS_VERSION}.tar.gz)
|
||||||
set(VCINTRINSICS_HASH abea415a15a0dd11fdc94dee8fb462910f2548311b787e02f42509789e1b0d7b)
|
set(VCINTRINSICS_HASH 3e9fd471246b87633b26f7e15e17ab7733d357458c53d5c5881c03929d6c551f)
|
||||||
set(VCINTRINSICS_HASH_TYPE SHA256)
|
set(VCINTRINSICS_HASH_TYPE SHA256)
|
||||||
set(VCINTRINSICS_FILE vc-intrinsics-${VCINTRINSICS_VERSION}.tar.gz)
|
set(VCINTRINSICS_FILE vc-intrinsics-${VCINTRINSICS_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -603,9 +617,9 @@ set(OPENCLHEADERS_HASH_TYPE SHA256)
|
|||||||
set(OPENCLHEADERS_FILE opencl_headers-${OPENCLHEADERS_VERSION}.tar.gz)
|
set(OPENCLHEADERS_FILE opencl_headers-${OPENCLHEADERS_VERSION}.tar.gz)
|
||||||
|
|
||||||
# Source opencl/CMakeLists.txt
|
# Source opencl/CMakeLists.txt
|
||||||
set(ICDLOADER_VERSION aec3952654832211636fc4af613710f80e203b0a)
|
set(ICDLOADER_VERSION 792682ad3d877ab38573b997808bab3b43902b70)
|
||||||
set(ICDLOADER_URI https://github.com/KhronosGroup/OpenCL-ICD-Loader/archive/${ICDLOADER_VERSION}.tar.gz)
|
set(ICDLOADER_URI https://github.com/KhronosGroup/OpenCL-ICD-Loader/archive/${ICDLOADER_VERSION}.tar.gz)
|
||||||
set(ICDLOADER_HASH e1880551d67bd8dc31d13de63b94bbfd6b1f315b6145dad1ffcd159b89bda93c)
|
set(ICDLOADER_HASH b33a0320d94bf300efa1da97931ded506d27813bd1148da6858fe79d412d1ea2)
|
||||||
set(ICDLOADER_HASH_TYPE SHA256)
|
set(ICDLOADER_HASH_TYPE SHA256)
|
||||||
set(ICDLOADER_FILE icdloader-${ICDLOADER_VERSION}.tar.gz)
|
set(ICDLOADER_FILE icdloader-${ICDLOADER_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -620,9 +634,9 @@ set(MP11_FILE mp11-${MP11_VERSION}.tar.gz)
|
|||||||
|
|
||||||
# Source llvm-spirv/CMakeLists.txt (repo)
|
# Source llvm-spirv/CMakeLists.txt (repo)
|
||||||
# Source llvm-spirv/spirv-headers-tag.conf (hash)
|
# Source llvm-spirv/spirv-headers-tag.conf (hash)
|
||||||
set(SPIRV_HEADERS_VERSION 36c0c1596225e728bd49abb7ef56a3953e7ed468)
|
set(SPIRV_HEADERS_VERSION 5a121866927a16ab9d49bed4788b532c7fcea766)
|
||||||
set(SPIRV_HEADERS_URI https://github.com/KhronosGroup/SPIRV-Headers/archive/${SPIRV_HEADERS_VERSION}.tar.gz)
|
set(SPIRV_HEADERS_URI https://github.com/KhronosGroup/SPIRV-Headers/archive/${SPIRV_HEADERS_VERSION}.tar.gz)
|
||||||
set(SPIRV_HEADERS_HASH 7a5c89633f8740456fe8adee052033e134476d267411d1336c0cb1e587a9229a)
|
set(SPIRV_HEADERS_HASH ec8ecb471a62672697846c436501638ab25447ae9d4a6761e0bfe8a9a839502a)
|
||||||
set(SPIRV_HEADERS_HASH_TYPE SHA256)
|
set(SPIRV_HEADERS_HASH_TYPE SHA256)
|
||||||
set(SPIRV_HEADERS_FILE SPIR-V-Headers-${SPIRV_HEADERS_VERSION}.tar.gz)
|
set(SPIRV_HEADERS_FILE SPIR-V-Headers-${SPIRV_HEADERS_VERSION}.tar.gz)
|
||||||
|
|
||||||
@@ -637,9 +651,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.11222)
|
set(IGC_VERSION 1.0.12149.1)
|
||||||
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 d92f0608dcbb52690855685f9447282e5c09c0ba98ae35fabf114fcf8b1e9fcf)
|
set(IGC_HASH 44f67f24e3bc5130f9f062533abf8154782a9d0a992bc19b498639a8521ae836)
|
||||||
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)
|
||||||
|
|
||||||
@@ -659,15 +673,15 @@ set(IGC_LLVM_FILE ${IGC_LLVM_VERSION}.tar.gz)
|
|||||||
#
|
#
|
||||||
# WARNING WARNING WARNING
|
# WARNING WARNING WARNING
|
||||||
|
|
||||||
set(IGC_OPENCL_CLANG_VERSION bbdd1587f577397a105c900be114b56755d1f7dc)
|
set(IGC_OPENCL_CLANG_VERSION 363a5262d8c7cff3fb28f3bdb5d85c8d7e91c1bb)
|
||||||
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 d08315f1b0d8a6fef33de2b3e6aa7356534c324910634962c72523d970773efc)
|
set(IGC_OPENCL_CLANG_HASH aa8cf72bb239722ce8ce44f79413c6887ecc8ca18477dd520aa5c4809756da9a)
|
||||||
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.4.0)
|
set(IGC_VCINTRINSICS_VERSION v0.5.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 c8b92682ad5031cf9d5b82a40e7d5c0e763cd9278660adbcaa69aab988e4b589)
|
set(IGC_VCINTRINSICS_HASH 70bb47c5e32173cf61514941e83ae7c7eb4485e6d2fca60cfa1f50d4f42c41f2)
|
||||||
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)
|
||||||
|
|
||||||
@@ -683,9 +697,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 99420daab98998a7e36858befac9c5ed109d4920)
|
set(IGC_SPIRV_TRANSLATOR_VERSION a31ffaeef77e23d500b3ea3d35e0c42ff5648ad9)
|
||||||
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 77dfb4ddb6bfb993535562c02ddea23f0a0d1c5a0258c1afe7e27c894ff783a8)
|
set(IGC_SPIRV_TRANSLATOR_HASH 9e26c96a45341b8f8af521bacea20e752623346340addd02af95d669f6e89252)
|
||||||
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)
|
||||||
|
|
||||||
@@ -693,15 +707,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.2)
|
set(GMMLIB_VERSION intel-gmmlib-22.1.8)
|
||||||
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 3b9a6d5e7e3f5748b3d0a2fb0e980ae943907fece0980bd9c0508e71c838e334)
|
set(GMMLIB_HASH bf23e9a3742b4fb98c7666c9e9b29f3219e4b2fb4d831aaf4eed71f5e2d17368)
|
||||||
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.20.23198)
|
set(OCLOC_VERSION 22.38.24278)
|
||||||
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 ab22b8bf2560a57fdd3def0e35a62ca75991406f959c0263abb00cd6cd9ae998)
|
set(OCLOC_HASH db0c542fccd651e6404b15a74d46027f1ce0eda8dc9e25a40cbb6c0faef257ee)
|
||||||
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)
|
||||||
|
|
||||||
@@ -710,3 +724,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)
|
||||||
|
55
build_files/build_environment/cmake/vulkan.cmake
Normal file
55
build_files/build_environment/cmake/vulkan.cmake
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# ***** BEGIN GPL LICENSE BLOCK *****
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation; either version 2
|
||||||
|
# of the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software Foundation,
|
||||||
|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ***** END GPL LICENSE BLOCK *****
|
||||||
|
|
||||||
|
set(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
|
||||||
|
)
|
||||||
|
|
||||||
|
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(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()
|
||||||
|
|
@@ -7,10 +7,14 @@ ExternalProject_Add(external_wayland
|
|||||||
PREFIX ${BUILD_DIR}/wayland
|
PREFIX ${BUILD_DIR}/wayland
|
||||||
PATCH_COMMAND ${PATCH_CMD} -d ${BUILD_DIR}/wayland/src/external_wayland < ${PATCH_DIR}/wayland.diff
|
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 that passing link args "ffi/lib" should not be needed, but
|
#
|
||||||
|
# NOTE: passing link args "ffi/lib" should not be needed, but
|
||||||
# `pkgconfig` would incorrectly look in "ffi/lib/../lib64" otherwise.
|
# `pkgconfig` would incorrectly look in "ffi/lib/../lib64" otherwise.
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
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 -Dc_link_args=-L${LIBDIR}/ffi/lib . ../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
|
||||||
)
|
)
|
||||||
|
@@ -5,7 +5,14 @@ ExternalProject_Add(external_wayland_protocols
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH ${WL_PROTOCOLS_HASH_TYPE}=${WL_PROTOCOLS_HASH}
|
URL_HASH ${WL_PROTOCOLS_HASH_TYPE}=${WL_PROTOCOLS_HASH}
|
||||||
PREFIX ${BUILD_DIR}/wayland-protocols
|
PREFIX ${BUILD_DIR}/wayland-protocols
|
||||||
CONFIGURE_COMMAND meson --prefix ${LIBDIR}/wayland-protocols . ../external_wayland_protocols -Dtests=false
|
# 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
|
||||||
|
${MESON} --prefix ${LIBDIR}/wayland-protocols . ../external_wayland_protocols -Dtests=false
|
||||||
BUILD_COMMAND ninja
|
BUILD_COMMAND ninja
|
||||||
INSTALL_COMMAND ninja install
|
INSTALL_COMMAND ninja install
|
||||||
)
|
)
|
||||||
|
|
||||||
|
add_dependencies(
|
||||||
|
external_wayland_protocols
|
||||||
|
external_wayland
|
||||||
|
)
|
||||||
|
@@ -1,5 +1,24 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
set(XML2_EXTRA_ARGS
|
||||||
|
-DLIBXML2_WITH_ZLIB=OFF
|
||||||
|
-DLIBXML2_WITH_LZMA=OFF
|
||||||
|
-DLIBXML2_WITH_PYTHON=OFF
|
||||||
|
-DLIBXML2_WITH_ICONV=OFF
|
||||||
|
-DLIBXML2_WITH_TESTS=OFF
|
||||||
|
-DLIBXML2_WITH_PROGRAMS=OFF
|
||||||
|
-DBUILD_SHARED_LIBS=OFF
|
||||||
|
)
|
||||||
|
ExternalProject_Add(external_xml2
|
||||||
|
URL file://${PACKAGE_DIR}/${XML2_FILE}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH ${XML2_HASH_TYPE}=${XML2_HASH}
|
||||||
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/xml2 ${DEFAULT_CMAKE_FLAGS} ${XML2_EXTRA_ARGS}
|
||||||
|
PREFIX ${BUILD_DIR}/xml2
|
||||||
|
INSTALL_DIR ${LIBDIR}/xml2
|
||||||
|
)
|
||||||
|
else()
|
||||||
ExternalProject_Add(external_xml2
|
ExternalProject_Add(external_xml2
|
||||||
URL file://${PACKAGE_DIR}/${XML2_FILE}
|
URL file://${PACKAGE_DIR}/${XML2_FILE}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
@@ -18,3 +37,12 @@ ExternalProject_Add(external_xml2
|
|||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xml2/src/external_xml2/ && make install
|
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xml2/src/external_xml2/ && make install
|
||||||
INSTALL_DIR ${LIBDIR}/xml2
|
INSTALL_DIR ${LIBDIR}/xml2
|
||||||
)
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WIN32 AND BUILD_MODE STREQUAL Release)
|
||||||
|
ExternalProject_Add_Step(external_xml2 after_install
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/xml2/include ${HARVEST_TARGET}/xml2/include
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/xml2/lib/libxml2s.lib ${HARVEST_TARGET}/xml2/lib/libxml2s.lib
|
||||||
|
DEPENDEES install
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
@@ -18,6 +18,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
|
||||||
)
|
)
|
||||||
|
44
build_files/build_environment/darwin/set_rpath.py
Normal file
44
build_files/build_environment/darwin/set_rpath.py
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# 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])
|
@@ -1,96 +1,114 @@
|
|||||||
strict graph {
|
strict graph {
|
||||||
graph[autosize = false, size = "25.7,8.3!", resolution = 300, overlap = false, splines = false, outputorder=edgesfirst ];
|
graph[autosize = false, size = "25.7,8.3!", resolution = 300];
|
||||||
node [style=filled fillcolor=white];
|
|
||||||
external_alembic -- external_boost;
|
|
||||||
external_alembic -- external_zlib;
|
|
||||||
external_alembic -- external_openexr;
|
external_alembic -- external_openexr;
|
||||||
|
external_alembic -- external_imath;
|
||||||
external_blosc -- external_zlib;
|
external_blosc -- external_zlib;
|
||||||
external_blosc -- external_pthreads;
|
external_blosc -- external_pthreads;
|
||||||
external_boost -- Make_Python_Environment;
|
external_boost -- external_python;
|
||||||
external_clang -- ll;
|
external_boost -- external_numpy;
|
||||||
|
external_dpcpp -- external_python;
|
||||||
|
external_dpcpp -- external_python_site_packages;
|
||||||
|
external_dpcpp -- external_vcintrinsics;
|
||||||
|
external_dpcpp -- external_openclheaders;
|
||||||
|
external_dpcpp -- external_icdloader;
|
||||||
|
external_dpcpp -- external_mp11;
|
||||||
|
external_dpcpp -- external_level_zero;
|
||||||
|
external_dpcpp -- external_spirvheaders;
|
||||||
|
external_embree -- external_tbb;
|
||||||
external_ffmpeg -- external_zlib;
|
external_ffmpeg -- external_zlib;
|
||||||
external_ffmpeg -- external_faad;
|
|
||||||
external_ffmpeg -- external_openjpeg;
|
external_ffmpeg -- external_openjpeg;
|
||||||
external_ffmpeg -- external_xvidcore;
|
external_ffmpeg -- external_xvidcore;
|
||||||
external_ffmpeg -- external_x264;
|
external_ffmpeg -- external_x264;
|
||||||
|
external_ffmpeg -- external_opus;
|
||||||
external_ffmpeg -- external_vpx;
|
external_ffmpeg -- external_vpx;
|
||||||
external_ffmpeg -- external_theora;
|
external_ffmpeg -- external_theora;
|
||||||
external_ffmpeg -- external_vorbis;
|
external_ffmpeg -- external_vorbis;
|
||||||
external_ffmpeg -- external_ogg;
|
external_ffmpeg -- external_ogg;
|
||||||
external_ffmpeg -- external_lame;
|
external_ffmpeg -- external_lame;
|
||||||
|
external_ffmpeg -- external_aom;
|
||||||
external_ffmpeg -- external_zlib_mingw;
|
external_ffmpeg -- external_zlib_mingw;
|
||||||
external_numpy -- Make_Python_Environment;
|
external_ffmpeg -- external_nasm;
|
||||||
|
external_freetype -- external_brotli;
|
||||||
|
external_freetype -- external_zlib;
|
||||||
|
external_gmpxx -- external_gmp;
|
||||||
|
external_igc_llvm -- external_igc_opencl_clang;
|
||||||
|
external_igc_spirv_translator -- external_igc_opencl_clang;
|
||||||
|
external_igc -- external_igc_vcintrinsics;
|
||||||
|
external_igc -- external_igc_llvm;
|
||||||
|
external_igc -- external_igc_opencl_clang;
|
||||||
|
external_igc -- external_igc_vcintrinsics;
|
||||||
|
external_igc -- external_igc_spirv_headers;
|
||||||
|
external_igc -- external_igc_spirv_tools;
|
||||||
|
external_igc -- external_igc_spirv_translator;
|
||||||
|
external_igc -- external_flex;
|
||||||
|
external_ispc -- ll;
|
||||||
|
external_ispc -- external_python;
|
||||||
|
external_ispc -- external_flexbison;
|
||||||
|
external_ispc -- external_flex;
|
||||||
|
ll -- external_xml2;
|
||||||
|
ll -- external_python;
|
||||||
|
external_mesa -- ll;
|
||||||
|
external_numpy -- external_python;
|
||||||
|
external_numpy -- external_python_site_packages;
|
||||||
|
external_ocloc -- external_igc;
|
||||||
|
external_ocloc -- external_gmmlib;
|
||||||
external_opencollada -- external_xml2;
|
external_opencollada -- external_xml2;
|
||||||
external_opencolorio -- external_boost;
|
|
||||||
external_opencolorio -- external_tinyxml;
|
|
||||||
external_opencolorio -- external_yamlcpp;
|
external_opencolorio -- external_yamlcpp;
|
||||||
|
external_opencolorio -- external_expat;
|
||||||
|
external_opencolorio -- external_imath;
|
||||||
|
external_opencolorio -- external_pystring;
|
||||||
external_openexr -- external_zlib;
|
external_openexr -- external_zlib;
|
||||||
|
external_openimagedenoise -- external_tbb;
|
||||||
|
external_openimagedenoise -- external_ispc;
|
||||||
|
external_openimagedenoise -- external_python;
|
||||||
external_openimageio -- external_png;
|
external_openimageio -- external_png;
|
||||||
external_openimageio -- external_zlib;
|
external_openimageio -- external_zlib;
|
||||||
external_openimageio -- external_openexr;
|
external_openimageio -- external_openexr;
|
||||||
external_openimageio -- external_openexr;
|
external_openimageio -- external_imath;
|
||||||
external_openimageio -- external_jpeg;
|
external_openimageio -- external_jpeg;
|
||||||
external_openimageio -- external_boost;
|
external_openimageio -- external_boost;
|
||||||
external_openimageio -- external_tiff;
|
external_openimageio -- external_tiff;
|
||||||
external_openimageio -- external_opencolorio;
|
external_openimageio -- external_pugixml;
|
||||||
|
external_openimageio -- external_fmt;
|
||||||
|
external_openimageio -- external_robinmap;
|
||||||
external_openimageio -- external_openjpeg;
|
external_openimageio -- external_openjpeg;
|
||||||
external_openimageio -- external_webp;
|
external_openimageio -- external_webp;
|
||||||
external_openimageio -- external_opencolorio_extra;
|
external_openmp -- ll;
|
||||||
external_openmp -- external_clang;
|
external_openpgl -- external_tbb;
|
||||||
external_opensubdiv -- external_tbb;
|
external_opensubdiv -- external_tbb;
|
||||||
openvdb -- external_tbb;
|
openvdb -- external_tbb;
|
||||||
openvdb -- external_boost;
|
openvdb -- external_boost;
|
||||||
openvdb -- external_openexr;
|
|
||||||
openvdb -- external_openexr;
|
|
||||||
openvdb -- external_zlib;
|
openvdb -- external_zlib;
|
||||||
openvdb -- external_blosc;
|
openvdb -- external_blosc;
|
||||||
external_osl -- external_boost;
|
external_osl -- external_boost;
|
||||||
external_osl -- ll;
|
external_osl -- ll;
|
||||||
external_osl -- external_clang;
|
|
||||||
external_osl -- external_openexr;
|
|
||||||
external_osl -- external_openexr;
|
external_osl -- external_openexr;
|
||||||
external_osl -- external_zlib;
|
external_osl -- external_zlib;
|
||||||
external_osl -- external_flexbison;
|
|
||||||
external_osl -- external_openimageio;
|
external_osl -- external_openimageio;
|
||||||
external_osl -- external_pugixml;
|
external_osl -- external_pugixml;
|
||||||
|
external_osl -- external_flexbison;
|
||||||
|
external_osl -- external_flex;
|
||||||
external_png -- external_zlib;
|
external_png -- external_zlib;
|
||||||
external_python_site_packages -- Make_Python_Environment;
|
external_python -- external_bzip2;
|
||||||
|
external_python -- external_ffi;
|
||||||
|
external_python -- external_lzma;
|
||||||
|
external_python -- external_ssl;
|
||||||
|
external_python -- external_sqlite;
|
||||||
|
external_python -- external_zlib;
|
||||||
|
external_python_site_packages -- external_python;
|
||||||
external_sndfile -- external_ogg;
|
external_sndfile -- external_ogg;
|
||||||
external_sndfile -- external_vorbis;
|
external_sndfile -- external_vorbis;
|
||||||
external_sndfile -- external_flac;
|
external_sndfile -- external_flac;
|
||||||
external_theora -- external_vorbis;
|
external_theora -- external_vorbis;
|
||||||
external_theora -- external_ogg;
|
external_theora -- external_ogg;
|
||||||
external_tiff -- external_zlib;
|
external_tiff -- external_zlib;
|
||||||
external_vorbis -- external_ogg;
|
|
||||||
blender-- external_ffmpeg;
|
|
||||||
blender-- external_alembic;
|
|
||||||
blender-- external_openjpeg;
|
|
||||||
blender-- external_opencolorio;
|
|
||||||
blender-- external_openexr;
|
|
||||||
blender-- external_opensubdiv;
|
|
||||||
blender-- openvdb;
|
|
||||||
blender-- external_osl;
|
|
||||||
blender-- external_boost;
|
|
||||||
blender-- external_jpeg;
|
|
||||||
blender-- external_png;
|
|
||||||
blender-- external_python;
|
|
||||||
blender-- external_sndfile;
|
|
||||||
blender-- external_iconv;
|
|
||||||
blender-- external_fftw3;
|
|
||||||
external_python-- external_python_site_packages;
|
|
||||||
external_python_site_packages-- requests;
|
|
||||||
external_python_site_packages-- idna;
|
|
||||||
external_python_site_packages-- chardet;
|
|
||||||
external_python_site_packages-- urllib3;
|
|
||||||
external_python_site_packages-- certifi;
|
|
||||||
external_python-- external_numpy;
|
|
||||||
external_usd-- external_boost;
|
|
||||||
external_usd -- external_tbb;
|
external_usd -- external_tbb;
|
||||||
blender-- external_opencollada;
|
external_usd -- external_boost;
|
||||||
blender-- external_sdl;
|
external_usd -- external_opensubdiv;
|
||||||
blender-- external_freetype;
|
external_vorbis -- external_ogg;
|
||||||
blender-- external_pthreads;
|
external_wayland -- external_expat;
|
||||||
blender-- external_zlib;
|
external_wayland -- external_xml2;
|
||||||
blender-- external_openal;
|
external_wayland -- external_ffi;
|
||||||
blender-- external_usd;
|
external_wayland_protocols -- external_wayland;
|
||||||
|
external_x264 -- external_nasm;
|
||||||
}
|
}
|
||||||
|
@@ -394,7 +394,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.2"
|
PYTHON_VERSION="3.10.8"
|
||||||
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"
|
||||||
@@ -505,7 +505,7 @@ OPENEXR_FORCE_REBUILD=false
|
|||||||
OPENEXR_SKIP=false
|
OPENEXR_SKIP=false
|
||||||
_with_built_openexr=false
|
_with_built_openexr=false
|
||||||
|
|
||||||
OIIO_VERSION="2.3.13.0"
|
OIIO_VERSION="2.3.20.0"
|
||||||
OIIO_VERSION_SHORT="2.3"
|
OIIO_VERSION_SHORT="2.3"
|
||||||
OIIO_VERSION_MIN="2.1.12"
|
OIIO_VERSION_MIN="2.1.12"
|
||||||
OIIO_VERSION_MEX="2.4.0"
|
OIIO_VERSION_MEX="2.4.0"
|
||||||
@@ -523,8 +523,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.11.17.0"
|
OSL_VERSION="1.12.6.2"
|
||||||
OSL_VERSION_SHORT="1.11"
|
OSL_VERSION_SHORT="1.12"
|
||||||
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
|
||||||
@@ -602,10 +602,10 @@ LEVEL_ZERO_FORCE_BUILD=false
|
|||||||
LEVEL_ZERO_FORCE_REBUILD=false
|
LEVEL_ZERO_FORCE_REBUILD=false
|
||||||
LEVEL_ZERO_SKIP=false
|
LEVEL_ZERO_SKIP=false
|
||||||
|
|
||||||
OPENPGL_VERSION="0.3.1"
|
OPENPGL_VERSION="0.4.1"
|
||||||
OPENPGL_VERSION_SHORT="0.3"
|
OPENPGL_VERSION_SHORT="0.4"
|
||||||
OPENPGL_VERSION_MIN="0.3.1"
|
OPENPGL_VERSION_MIN="0.4.1"
|
||||||
OPENPGL_VERSION_MEX="0.3.2"
|
OPENPGL_VERSION_MEX="0.5"
|
||||||
OPENPGL_FORCE_BUILD=false
|
OPENPGL_FORCE_BUILD=false
|
||||||
OPENPGL_FORCE_REBUILD=false
|
OPENPGL_FORCE_REBUILD=false
|
||||||
OPENPGL_SKIP=false
|
OPENPGL_SKIP=false
|
||||||
@@ -618,8 +618,8 @@ XR_OPENXR_FORCE_BUILD=false
|
|||||||
XR_OPENXR_FORCE_REBUILD=false
|
XR_OPENXR_FORCE_REBUILD=false
|
||||||
XR_OPENXR_SKIP=false
|
XR_OPENXR_SKIP=false
|
||||||
|
|
||||||
FFMPEG_VERSION="5.0"
|
FFMPEG_VERSION="5.1.2"
|
||||||
FFMPEG_VERSION_SHORT="5.0"
|
FFMPEG_VERSION_SHORT="5.1"
|
||||||
FFMPEG_VERSION_MIN="4.0"
|
FFMPEG_VERSION_MIN="4.0"
|
||||||
FFMPEG_VERSION_MEX="6.0"
|
FFMPEG_VERSION_MEX="6.0"
|
||||||
FFMPEG_FORCE_BUILD=false
|
FFMPEG_FORCE_BUILD=false
|
||||||
@@ -1139,7 +1139,7 @@ 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=false
|
||||||
OSL_SOURCE=( "https://github.com/imageworks/OpenShadingLanguage/archive/Release-$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/imageworks/OpenShadingLanguage.git" )
|
||||||
#~ OSL_SOURCE_REPO_BRANCH="master"
|
#~ OSL_SOURCE_REPO_BRANCH="master"
|
||||||
#~ OSL_SOURCE_REPO_UID="85179714e1bc69cd25ecb6bb711c1a156685d395"
|
#~ OSL_SOURCE_REPO_UID="85179714e1bc69cd25ecb6bb711c1a156685d395"
|
||||||
@@ -1222,7 +1222,7 @@ Those libraries should be available as packages in all recent distributions (opt
|
|||||||
* Basics of dev environment (cmake, gcc, svn , git, ...).
|
* Basics of dev environment (cmake, gcc, svn , git, ...).
|
||||||
* 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, 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.
|
||||||
* libsdl2, libepoxy, libpugixml, libpotrace, [libgmp], fontconfig, [libharu/libhpdf].\""
|
* libsdl2, libepoxy, libpugixml, libpotrace, [libgmp], fontconfig, [libharu/libhpdf].\""
|
||||||
|
|
||||||
@@ -3187,7 +3187,6 @@ compile_USD() {
|
|||||||
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 $cmake_d -D TBB_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=OFF"
|
||||||
cmake_d="$cmake_d -DPXR_BUILD_IMAGING=OFF"
|
cmake_d="$cmake_d -DPXR_BUILD_IMAGING=OFF"
|
||||||
cmake_d="$cmake_d -DPXR_BUILD_TESTS=OFF"
|
cmake_d="$cmake_d -DPXR_BUILD_TESTS=OFF"
|
||||||
@@ -4205,7 +4204,7 @@ install_DEB() {
|
|||||||
_packages="gawk cmake cmake-curses-gui build-essential libjpeg-dev libpng-dev libtiff-dev \
|
_packages="gawk cmake cmake-curses-gui build-essential libjpeg-dev libpng-dev libtiff-dev \
|
||||||
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 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 \
|
||||||
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 \
|
||||||
libsdl2-dev libfftw3-dev patch bzip2 libxml2-dev libtinyxml-dev libjemalloc-dev \
|
libsdl2-dev libfftw3-dev patch bzip2 libxml2-dev libtinyxml-dev libjemalloc-dev \
|
||||||
@@ -4928,7 +4927,7 @@ install_RPM() {
|
|||||||
_packages="gcc gcc-c++ git make cmake tar bzip2 xz findutils flex bison fontconfig-devel \
|
_packages="gcc gcc-c++ git make cmake tar bzip2 xz findutils flex bison fontconfig-devel \
|
||||||
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 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 \
|
||||||
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 \
|
||||||
libxml2-devel yaml-cpp-devel tinyxml-devel jemalloc-devel \
|
libxml2-devel yaml-cpp-devel tinyxml-devel jemalloc-devel \
|
||||||
@@ -5582,7 +5581,7 @@ install_ARCH() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
_packages="$BASE_DEVEL git cmake fontconfig flex \
|
_packages="$BASE_DEVEL git cmake fontconfig flex \
|
||||||
libxi libxcursor libxrandr libxinerama libepoxy libpng libtiff wget openal \
|
libxi libxcursor libxrandr libxinerama libepoxy libdecor libpng libtiff wget openal \
|
||||||
$OPENJPEG_DEV yasm sdl2 fftw \
|
$OPENJPEG_DEV yasm sdl2 fftw \
|
||||||
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"
|
||||||
|
@@ -26,50 +26,79 @@ yum -y install centos-release-scl
|
|||||||
yum -y install devtoolset-9
|
yum -y install devtoolset-9
|
||||||
|
|
||||||
# Install packages needed for Blender's dependencies.
|
# Install packages needed for Blender's dependencies.
|
||||||
|
PACKAGES_FOR_LIBS=(
|
||||||
PACKAGES=(
|
# Used to checkout Blender's code.
|
||||||
git
|
git
|
||||||
|
# Used to checkout Blender's `../lib/` directory.
|
||||||
subversion
|
subversion
|
||||||
|
# Used to extract packages.
|
||||||
bzip2
|
bzip2
|
||||||
|
# Used to extract packages.
|
||||||
tar
|
tar
|
||||||
|
# Blender and some dependencies use `cmake`.
|
||||||
cmake3
|
cmake3
|
||||||
|
# Apply patches from Blender's: `./build_files/build_environment/patches`
|
||||||
patch
|
patch
|
||||||
|
# Use by `cmake` and `autoconf`.
|
||||||
make
|
make
|
||||||
|
|
||||||
|
# Required by: `external_nasm` which uses an `autoconf` build-system.
|
||||||
autoconf
|
autoconf
|
||||||
automake
|
automake
|
||||||
libtool
|
libtool
|
||||||
|
|
||||||
|
# Meta-build system used by various packages.
|
||||||
meson
|
meson
|
||||||
|
# Builds generated by meson use Ninja for the actual build.
|
||||||
ninja-build
|
ninja-build
|
||||||
|
|
||||||
|
# Required by Blender build option: `WITH_GHOST_X11`.
|
||||||
libXrandr-devel
|
libXrandr-devel
|
||||||
libXinerama-devel
|
libXinerama-devel
|
||||||
libXcursor-devel
|
libXcursor-devel
|
||||||
libXi-devel
|
libXi-devel
|
||||||
libX11-devel libXt-devel
|
libX11-devel
|
||||||
|
libXt-devel
|
||||||
|
|
||||||
|
# Required by Blender build option: `WITH_GHOST_WAYLAND`.
|
||||||
mesa-libEGL-devel
|
mesa-libEGL-devel
|
||||||
|
# Required by: Blender & `external_opensubdiv` (probably others).
|
||||||
mesa-libGL-devel
|
mesa-libGL-devel
|
||||||
mesa-libGLU-devel
|
mesa-libGLU-devel
|
||||||
|
|
||||||
|
# Required by: `external_ispc`.
|
||||||
zlib-devel
|
zlib-devel
|
||||||
|
# TODO: dependencies build without this, consider removal.
|
||||||
rubygem-asciidoctor
|
rubygem-asciidoctor
|
||||||
|
# TODO: dependencies build without this, consider removal.
|
||||||
wget
|
wget
|
||||||
|
# Required by: `external_sqlite` as a build-time dependency (needed for the `tclsh` command).
|
||||||
tcl
|
tcl
|
||||||
|
# Required by: `external_aom`.
|
||||||
|
# TODO: Blender is already building `external_nasm` which is listed as an alternative to `yasm`.
|
||||||
|
# Why are both needed?
|
||||||
yasm
|
yasm
|
||||||
|
|
||||||
|
# Required by: `meson` (Python based build system).
|
||||||
python36
|
python36
|
||||||
|
# Required by: `mako` (Python module used for building `external_mesa`)
|
||||||
python-setuptools
|
python-setuptools
|
||||||
|
|
||||||
|
# Required by: `external_igc` & `external_osl` as a build-time dependency.
|
||||||
bison
|
bison
|
||||||
|
# Required by: `external_osl` as a build-time dependency.
|
||||||
flex
|
flex
|
||||||
|
# TODO: dependencies build without this, consider removal.
|
||||||
ncurses-devel
|
ncurses-devel
|
||||||
|
|
||||||
wayland-devel
|
|
||||||
libwayland-client
|
|
||||||
libwayland-server
|
|
||||||
)
|
)
|
||||||
|
|
||||||
yum -y install -y ${PACKAGES[@]}
|
# Additional packages needed for building Blender.
|
||||||
|
PACKAGES_FOR_BLENDER=(
|
||||||
|
# Required by Blender build option: `WITH_GHOST_WAYLAND`.
|
||||||
|
libxkbcommon-devel
|
||||||
|
)
|
||||||
|
|
||||||
|
yum -y install -y ${PACKAGES_FOR_LIBS[@]} ${PACKAGES_FOR_BLENDER[@]}
|
||||||
|
|
||||||
# Dependencies for Mesa
|
# Dependencies for Mesa
|
||||||
yum -y install expat-devel
|
yum -y install expat-devel
|
||||||
|
18
build_files/build_environment/patches/aom.diff
Normal file
18
build_files/build_environment/patches/aom.diff
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
diff -Naur libaom-3.4.0/build/cmake/aom_configure.cmake external_aom/build/cmake/aom_configure.cmake
|
||||||
|
--- libaom-3.4.0/build/cmake/aom_configure.cmake 2022-06-17 11:46:18 -0600
|
||||||
|
+++ external_aom/build/cmake/aom_configure.cmake 2022-10-16 15:35:54 -0600
|
||||||
|
@@ -15,8 +15,12 @@
|
||||||
|
|
||||||
|
include(FindGit)
|
||||||
|
include(FindPerl)
|
||||||
|
-include(FindThreads)
|
||||||
|
-
|
||||||
|
+# Blender: This will drag in a dep on libwinpthreads which we prefer
|
||||||
|
+# not to have, aom will fallback on a native win32 thread wrapper
|
||||||
|
+# if pthreads are not found.
|
||||||
|
+if(NOT WIN32)
|
||||||
|
+ include(FindThreads)
|
||||||
|
+endif()
|
||||||
|
include("${AOM_ROOT}/build/cmake/aom_config_defaults.cmake")
|
||||||
|
include("${AOM_ROOT}/build/cmake/aom_experiment_deps.cmake")
|
||||||
|
include("${AOM_ROOT}/build/cmake/aom_optimization.cmake")
|
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
|
||||||
;
|
;
|
@@ -177,7 +177,8 @@ if(ILMBASE_INCLUDE_DIR)
|
|||||||
"\\1" XYZ ${ILMBASE_BUILD_SPECIFICATION})
|
"\\1" XYZ ${ILMBASE_BUILD_SPECIFICATION})
|
||||||
set("ILMBASE_VERSION" ${XYZ} CACHE STRING "Version of ILMBase lib")
|
set("ILMBASE_VERSION" ${XYZ} CACHE STRING "Version of ILMBase lib")
|
||||||
else()
|
else()
|
||||||
# Old versions (before 2.0?) do not have any version string, just assuming 2.0 should be fine though.
|
# Old versions (before 2.0?) do not have any version string,
|
||||||
|
# just assuming 2.0 should be fine though.
|
||||||
message(WARNING "Could not determine ILMBase library version, assuming 2.0.")
|
message(WARNING "Could not determine ILMBase library version, assuming 2.0.")
|
||||||
set("ILMBASE_VERSION" "2.0" CACHE STRING "Version of ILMBase lib")
|
set("ILMBASE_VERSION" "2.0" CACHE STRING "Version of ILMBase lib")
|
||||||
endif()
|
endif()
|
||||||
@@ -196,7 +197,12 @@ else()
|
|||||||
set(IlmBase_Libraries Half Iex Imath IlmThread)
|
set(IlmBase_Libraries Half Iex Imath IlmThread)
|
||||||
# else()
|
# else()
|
||||||
# string(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _ilmbase_libs_ver ${ILMBASE_VERSION})
|
# string(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _ilmbase_libs_ver ${ILMBASE_VERSION})
|
||||||
# set(IlmBase_Libraries Half Iex-${_ilmbase_libs_ver} Imath-${_ilmbase_libs_ver} IlmThread-${_ilmbase_libs_ver})
|
# set(IlmBase_Libraries
|
||||||
|
# Half
|
||||||
|
# Iex-${_ilmbase_libs_ver}
|
||||||
|
# Imath-${_ilmbase_libs_ver}
|
||||||
|
# IlmThread-${_ilmbase_libs_ver}
|
||||||
|
# )
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
@@ -175,7 +175,8 @@ if(OPENEXR_INCLUDE_DIR)
|
|||||||
"\\1" XYZ ${OPENEXR_BUILD_SPECIFICATION})
|
"\\1" XYZ ${OPENEXR_BUILD_SPECIFICATION})
|
||||||
set("OPENEXR_VERSION" ${XYZ} CACHE STRING "Version of OpenEXR lib")
|
set("OPENEXR_VERSION" ${XYZ} CACHE STRING "Version of OpenEXR lib")
|
||||||
else()
|
else()
|
||||||
# Old versions (before 2.0?) do not have any version string, just assuming 2.0 should be fine though.
|
# Old versions (before 2.0?) do not have any version string,
|
||||||
|
# just assuming 2.0 should be fine though.
|
||||||
message(WARNING "Could not determine ILMBase library version, assuming 2.0.")
|
message(WARNING "Could not determine ILMBase library version, assuming 2.0.")
|
||||||
set("OPENEXR_VERSION" "2.0" CACHE STRING "Version of OpenEXR lib")
|
set("OPENEXR_VERSION" "2.0" CACHE STRING "Version of OpenEXR lib")
|
||||||
endif()
|
endif()
|
||||||
|
@@ -68,34 +68,18 @@
|
|||||||
+
|
+
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
--- a/libavcodec/rl.c
|
diff --git a/libavcodec/x86/simple_idct.asm b/libavcodec/x86/simple_idct.asm
|
||||||
+++ b/libavcodec/rl.c
|
index dcf0da6df121..982b2f0bbba1 100644
|
||||||
@@ -71,17 +71,19 @@
|
--- a/libavcodec/x86/simple_idct.asm
|
||||||
av_cold void ff_rl_init_vlc(RLTable *rl, unsigned static_size)
|
+++ b/libavcodec/x86/simple_idct.asm
|
||||||
{
|
@@ -25,9 +25,9 @@
|
||||||
int i, q;
|
|
||||||
- VLC_TYPE table[1500][2] = {{0}};
|
|
||||||
+ VLC_TYPE (*table)[2] = av_calloc(sizeof(VLC_TYPE), 1500 * 2);
|
|
||||||
VLC vlc = { .table = table, .table_allocated = static_size };
|
|
||||||
- av_assert0(static_size <= FF_ARRAY_ELEMS(table));
|
|
||||||
+ av_assert0(static_size < 1500);
|
|
||||||
init_vlc(&vlc, 9, rl->n + 1, &rl->table_vlc[0][1], 4, 2, &rl->table_vlc[0][0], 4, 2, INIT_VLC_USE_NEW_STATIC);
|
|
||||||
|
|
||||||
for (q = 0; q < 32; q++) {
|
%include "libavutil/x86/x86util.asm"
|
||||||
int qmul = q * 2;
|
|
||||||
int qadd = (q - 1) | 1;
|
|
||||||
|
|
||||||
- if (!rl->rl_vlc[q])
|
-%if ARCH_X86_32
|
||||||
+ if (!rl->rl_vlc[q]){
|
SECTION_RODATA
|
||||||
+ av_free(table);
|
|
||||||
return;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
if (q == 0) {
|
+%if ARCH_X86_32
|
||||||
qmul = 1;
|
cextern pb_80
|
||||||
@@ -113,4 +115,5 @@
|
|
||||||
rl->rl_vlc[q][i].run = run;
|
wm1010: dw 0, 0xffff, 0, 0xffff
|
||||||
}
|
|
||||||
}
|
|
||||||
+ av_free(table);
|
|
||||||
}
|
|
||||||
|
15
build_files/build_environment/patches/gmp.diff
Normal file
15
build_files/build_environment/patches/gmp.diff
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
--- a/mpz/inp_raw.c Tue Dec 22 23:49:51 2020 +0100
|
||||||
|
+++ b/mpz/inp_raw.c Thu Oct 21 19:06:49 2021 +0200
|
||||||
|
@@ -88,8 +88,11 @@
|
||||||
|
|
||||||
|
abs_csize = ABS (csize);
|
||||||
|
|
||||||
|
+ if (UNLIKELY (abs_csize > ~(mp_bitcnt_t) 0 / 8))
|
||||||
|
+ return 0; /* Bit size overflows */
|
||||||
|
+
|
||||||
|
/* round up to a multiple of limbs */
|
||||||
|
- abs_xsize = BITS_TO_LIMBS (abs_csize*8);
|
||||||
|
+ abs_xsize = BITS_TO_LIMBS ((mp_bitcnt_t) abs_csize * 8);
|
||||||
|
|
||||||
|
if (abs_xsize != 0)
|
||||||
|
{
|
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
|
@@ -130,3 +130,40 @@ index 715d903..24423ce 100644
|
|||||||
{
|
{
|
||||||
string id = node.attribute("id").value();
|
string id = node.attribute("id").value();
|
||||||
size_t line = node.line();
|
size_t line = node.line();
|
||||||
|
diff -Naur a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -274,7 +274,7 @@
|
||||||
|
add_subdirectory(${EXTERNAL_LIBRARIES}/UTF)
|
||||||
|
add_subdirectory(common/libBuffer)
|
||||||
|
add_subdirectory(${EXTERNAL_LIBRARIES}/MathMLSolver)
|
||||||
|
-add_subdirectory(${EXTERNAL_LIBRARIES}/zlib)
|
||||||
|
+#add_subdirectory(${EXTERNAL_LIBRARIES}/zlib)
|
||||||
|
|
||||||
|
# building OpenCOLLADA libs
|
||||||
|
add_subdirectory(COLLADABaseUtils)
|
||||||
|
@@ -284,10 +284,10 @@
|
||||||
|
add_subdirectory(COLLADAStreamWriter)
|
||||||
|
|
||||||
|
# building COLLADAValidator app
|
||||||
|
-add_subdirectory(COLLADAValidator)
|
||||||
|
+#add_subdirectory(COLLADAValidator)
|
||||||
|
|
||||||
|
# DAE validator app
|
||||||
|
-add_subdirectory(DAEValidator)
|
||||||
|
+#add_subdirectory(DAEValidator)
|
||||||
|
|
||||||
|
# Library export
|
||||||
|
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,18 @@ diff -Naur openvdb-8.0.0/openvdb/openvdb/version.rc.in openvdb/openvdb/openvdb/v
|
|||||||
+
|
+
|
||||||
+ END
|
+ END
|
||||||
+END
|
+END
|
||||||
diff --git a/nanovdb/nanovdb/NanoVDB.h b/nanovdb/nanovdb/NanoVDB.h
|
diff -Naur orig/openvdb/openvdb/tree/ValueAccessor.h openvdb/openvdb/openvdb/tree/ValueAccessor.h
|
||||||
index cc2e54b77..703d2eabc 100644
|
--- orig/openvdb/openvdb/tree/ValueAccessor.h 2022-11-02 13:58:26 -0600
|
||||||
--- a/nanovdb/nanovdb/NanoVDB.h
|
+++ openvdb/openvdb/openvdb/tree/ValueAccessor.h 2022-11-02 18:55:09 -0600
|
||||||
+++ b/nanovdb/nanovdb/NanoVDB.h
|
@@ -872,7 +872,10 @@
|
||||||
@@ -161,8 +161,8 @@ typedef unsigned long long uint64_t;
|
using LeafNodeType = typename NodeType::LeafNodeType;
|
||||||
|
using CoordLimits = std::numeric_limits<Int32>;
|
||||||
|
|
||||||
#endif // __CUDACC_RTC__
|
- static_assert(std::is_same<NodeType, LeafNodeType>::value);
|
||||||
|
+ // Blender: Technically not an issue in OpenVDB, but USD 21.11 still builds
|
||||||
-#ifdef __CUDACC__
|
+ // as C++14 which does not support terse asserts yet. Add a message to
|
||||||
-// Only define __hostdev__ when using NVIDIA CUDA compiler
|
+ // explicitly select the C++14 supported static assert.
|
||||||
+#if defined(__CUDACC__) || defined(__HIP__)
|
+ static_assert(std::is_same<NodeType, LeafNodeType>::value, "cache item node type is not leaf node type");
|
||||||
+// Only define __hostdev__ when using NVIDIA CUDA or HIP compiler
|
|
||||||
#define __hostdev__ __host__ __device__
|
|
||||||
#else
|
|
||||||
#define __hostdev__
|
|
||||||
@@ -611,7 +611,7 @@ struct Delta<double>
|
|
||||||
/// Maximum floating-point values
|
|
||||||
template<typename T>
|
|
||||||
struct Maximum;
|
|
||||||
-#ifdef __CUDA_ARCH__
|
|
||||||
+#if defined(__CUDA_ARCH__) || defined(__HIP__)
|
|
||||||
template<>
|
|
||||||
struct Maximum<int>
|
|
||||||
{
|
|
||||||
@@ -1176,10 +1176,10 @@ using Vec3f = Vec3<float>;
|
|
||||||
using Vec3i = Vec3<int>;
|
|
||||||
|
|
||||||
/// @brief Return a single precision floating-point vector of this coordinate
|
|
||||||
-Vec3f Coord::asVec3s() const { return Vec3f(float(mVec[0]), float(mVec[1]), float(mVec[2])); }
|
|
||||||
+__hostdev__ inline Vec3f Coord::asVec3s() const { return Vec3f(float(mVec[0]), float(mVec[1]), float(mVec[2])); }
|
|
||||||
|
|
||||||
/// @brief Return a double precision floating-point vector of this coordinate
|
|
||||||
-Vec3d Coord::asVec3d() const { return Vec3d(double(mVec[0]), double(mVec[1]), double(mVec[2])); }
|
|
||||||
+__hostdev__ inline Vec3d Coord::asVec3d() const { return Vec3d(double(mVec[0]), double(mVec[1]), double(mVec[2])); }
|
|
||||||
|
|
||||||
// ----------------------------> Vec4 <--------------------------------------
|
|
||||||
|
|
||||||
@@ -2042,7 +2042,7 @@ struct Map
|
|
||||||
}; // Map
|
|
||||||
|
|
||||||
template<typename Mat4T>
|
|
||||||
-void Map::set(const Mat4T& mat, const Mat4T& invMat, double taper)
|
|
||||||
+__hostdev__ void Map::set(const Mat4T& mat, const Mat4T& invMat, double taper)
|
|
||||||
{
|
|
||||||
float * mf = mMatF, *vf = mVecF;
|
|
||||||
float* mif = mInvMatF;
|
|
||||||
@@ -2486,7 +2486,7 @@ class Grid : private GridData
|
|
||||||
}; // Class Grid
|
|
||||||
|
|
||||||
template<typename TreeT>
|
|
||||||
-int Grid<TreeT>::findBlindDataForSemantic(GridBlindDataSemantic semantic) const
|
|
||||||
+__hostdev__ int Grid<TreeT>::findBlindDataForSemantic(GridBlindDataSemantic semantic) const
|
|
||||||
{
|
|
||||||
for (uint32_t i = 0, n = this->blindDataCount(); i < n; ++i)
|
|
||||||
if (this->blindMetaData(i).mSemantic == semantic)
|
|
||||||
@@ -2671,7 +2671,7 @@ class Tree : private TreeData<RootT::LEVEL>
|
|
||||||
}; // Tree class
|
|
||||||
|
|
||||||
template<typename RootT>
|
|
||||||
-void Tree<RootT>::extrema(ValueType& min, ValueType& max) const
|
|
||||||
+__hostdev__ void Tree<RootT>::extrema(ValueType& min, ValueType& max) const
|
|
||||||
{
|
|
||||||
min = this->root().minimum();
|
|
||||||
max = this->root().maximum();
|
|
||||||
@@ -3880,7 +3880,7 @@ class LeafNode : private LeafData<BuildT, CoordT, MaskT, Log2Dim>
|
|
||||||
}; // LeafNode class
|
|
||||||
|
|
||||||
template<typename ValueT, typename CoordT, template<uint32_t> class MaskT, uint32_t LOG2DIM>
|
|
||||||
-inline void LeafNode<ValueT, CoordT, MaskT, LOG2DIM>::updateBBox()
|
|
||||||
+__hostdev__ inline void LeafNode<ValueT, CoordT, MaskT, LOG2DIM>::updateBBox()
|
|
||||||
{
|
|
||||||
static_assert(LOG2DIM == 3, "LeafNode::updateBBox: only supports LOGDIM = 3!");
|
|
||||||
if (!this->isActive()) return;
|
|
||||||
diff --git a/nanovdb/nanovdb/util/SampleFromVoxels.h b/nanovdb/nanovdb/util/SampleFromVoxels.h
|
|
||||||
index 852123dac..e779d66cf 100644
|
|
||||||
--- a/nanovdb/nanovdb/util/SampleFromVoxels.h
|
|
||||||
+++ b/nanovdb/nanovdb/util/SampleFromVoxels.h
|
|
||||||
@@ -22,7 +22,7 @@
|
|
||||||
#define NANOVDB_SAMPLE_FROM_VOXELS_H_HAS_BEEN_INCLUDED
|
|
||||||
|
|
||||||
// Only define __hostdev__ when compiling as NVIDIA CUDA
|
|
||||||
-#ifdef __CUDACC__
|
|
||||||
+#if defined(__CUDACC__) || defined(__HIP__)
|
|
||||||
#define __hostdev__ __host__ __device__
|
|
||||||
#else
|
|
||||||
#include <cmath> // for floor
|
|
||||||
@@ -136,7 +136,7 @@ class SampleFromVoxels<TreeOrAccT, 0, false>
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, true>::operator()(const Vec3T& xyz) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, true>::operator()(const Vec3T& xyz) const
|
|
||||||
{
|
|
||||||
const CoordT ijk = Round<CoordT>(xyz);
|
|
||||||
if (ijk != mPos) {
|
|
||||||
@@ -147,7 +147,7 @@ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, true>::operator()
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, true>::operator()(const CoordT& ijk) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, true>::operator()(const CoordT& ijk) const
|
|
||||||
{
|
|
||||||
if (ijk != mPos) {
|
|
||||||
mPos = ijk;
|
|
||||||
@@ -158,7 +158,7 @@ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, true>::operator()
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, false>::operator()(const Vec3T& xyz) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 0, false>::operator()(const Vec3T& xyz) const
|
|
||||||
{
|
|
||||||
return mAcc.getValue(Round<CoordT>(xyz));
|
|
||||||
}
|
|
||||||
@@ -195,7 +195,7 @@ class TrilinearSampler
|
|
||||||
}; // TrilinearSamplerBase
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
-void TrilinearSampler<TreeOrAccT>::stencil(CoordT& ijk, ValueT (&v)[2][2][2]) const
|
|
||||||
+__hostdev__ void TrilinearSampler<TreeOrAccT>::stencil(CoordT& ijk, ValueT (&v)[2][2][2]) const
|
|
||||||
{
|
|
||||||
v[0][0][0] = mAcc.getValue(ijk); // i, j, k
|
|
||||||
|
|
||||||
@@ -224,7 +224,7 @@ void TrilinearSampler<TreeOrAccT>::stencil(CoordT& ijk, ValueT (&v)[2][2][2]) co
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType TrilinearSampler<TreeOrAccT>::sample(const Vec3T<RealT> &uvw, const ValueT (&v)[2][2][2])
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType TrilinearSampler<TreeOrAccT>::sample(const Vec3T<RealT> &uvw, const ValueT (&v)[2][2][2])
|
|
||||||
{
|
|
||||||
#if 0
|
|
||||||
auto lerp = [](ValueT a, ValueT b, ValueT w){ return fma(w, b-a, a); };// = w*(b-a) + a
|
|
||||||
@@ -239,7 +239,7 @@ typename TreeOrAccT::ValueType TrilinearSampler<TreeOrAccT>::sample(const Vec3T<
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-Vec3T<typename TreeOrAccT::ValueType> TrilinearSampler<TreeOrAccT>::gradient(const Vec3T<RealT> &uvw, const ValueT (&v)[2][2][2])
|
|
||||||
+__hostdev__ Vec3T<typename TreeOrAccT::ValueType> TrilinearSampler<TreeOrAccT>::gradient(const Vec3T<RealT> &uvw, const ValueT (&v)[2][2][2])
|
|
||||||
{
|
|
||||||
static_assert(is_floating_point<ValueT>::value, "TrilinearSampler::gradient requires a floating-point type");
|
|
||||||
#if 0
|
|
||||||
@@ -270,7 +270,7 @@ Vec3T<typename TreeOrAccT::ValueType> TrilinearSampler<TreeOrAccT>::gradient(con
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
-bool TrilinearSampler<TreeOrAccT>::zeroCrossing(const ValueT (&v)[2][2][2])
|
|
||||||
+__hostdev__ bool TrilinearSampler<TreeOrAccT>::zeroCrossing(const ValueT (&v)[2][2][2])
|
|
||||||
{
|
|
||||||
static_assert(is_floating_point<ValueT>::value, "TrilinearSampler::zeroCrossing requires a floating-point type");
|
|
||||||
const bool less = v[0][0][0] < ValueT(0);
|
|
||||||
@@ -363,21 +363,21 @@ class SampleFromVoxels<TreeOrAccT, 1, true> : public TrilinearSampler<TreeOrAccT
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, true>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, true>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
this->cache(xyz);
|
|
||||||
return BaseT::sample(xyz, mVal);
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, true>::operator()(const CoordT &ijk) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, true>::operator()(const CoordT &ijk) const
|
|
||||||
{
|
|
||||||
return ijk == mPos ? mVal[0][0][0] : BaseT::mAcc.getValue(ijk);
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-Vec3T<typename TreeOrAccT::ValueType> SampleFromVoxels<TreeOrAccT, 1, true>::gradient(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ Vec3T<typename TreeOrAccT::ValueType> SampleFromVoxels<TreeOrAccT, 1, true>::gradient(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
this->cache(xyz);
|
|
||||||
return BaseT::gradient(xyz, mVal);
|
|
||||||
@@ -393,7 +393,7 @@ __hostdev__ bool SampleFromVoxels<TreeOrAccT, 1, true>::zeroCrossing(Vec3T<RealT
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-void SampleFromVoxels<TreeOrAccT, 1, true>::cache(Vec3T<RealT>& xyz) const
|
|
||||||
+__hostdev__ void SampleFromVoxels<TreeOrAccT, 1, true>::cache(Vec3T<RealT>& xyz) const
|
|
||||||
{
|
|
||||||
CoordT ijk = Floor<CoordT>(xyz);
|
|
||||||
if (ijk != mPos) {
|
|
||||||
@@ -406,7 +406,7 @@ void SampleFromVoxels<TreeOrAccT, 1, true>::cache(Vec3T<RealT>& xyz) const
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, false>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, false>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
ValueT val[2][2][2];
|
|
||||||
CoordT ijk = Floor<CoordT>(xyz);
|
|
||||||
@@ -418,7 +418,7 @@ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, false>::operator(
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, false>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, false>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
auto lerp = [](ValueT a, ValueT b, RealT w) { return a + ValueT(w) * (b - a); };
|
|
||||||
|
|
||||||
@@ -463,7 +463,7 @@ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 1, false>::operator(
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-inline Vec3T<typename TreeOrAccT::ValueType> SampleFromVoxels<TreeOrAccT, 1, false>::gradient(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ inline Vec3T<typename TreeOrAccT::ValueType> SampleFromVoxels<TreeOrAccT, 1, false>::gradient(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
ValueT val[2][2][2];
|
|
||||||
CoordT ijk = Floor<CoordT>(xyz);
|
|
||||||
@@ -473,7 +473,7 @@ inline Vec3T<typename TreeOrAccT::ValueType> SampleFromVoxels<TreeOrAccT, 1, fal
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-bool SampleFromVoxels<TreeOrAccT, 1, false>::zeroCrossing(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ bool SampleFromVoxels<TreeOrAccT, 1, false>::zeroCrossing(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
ValueT val[2][2][2];
|
|
||||||
CoordT ijk = Floor<CoordT>(xyz);
|
|
||||||
@@ -510,7 +510,7 @@ class TriquadraticSampler
|
|
||||||
}; // TriquadraticSamplerBase
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
-void TriquadraticSampler<TreeOrAccT>::stencil(const CoordT &ijk, ValueT (&v)[3][3][3]) const
|
|
||||||
+__hostdev__ void TriquadraticSampler<TreeOrAccT>::stencil(const CoordT &ijk, ValueT (&v)[3][3][3]) const
|
|
||||||
{
|
|
||||||
CoordT p(ijk[0] - 1, 0, 0);
|
|
||||||
for (int dx = 0; dx < 3; ++dx, ++p[0]) {
|
|
||||||
@@ -526,7 +526,7 @@ void TriquadraticSampler<TreeOrAccT>::stencil(const CoordT &ijk, ValueT (&v)[3][
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType TriquadraticSampler<TreeOrAccT>::sample(const Vec3T<RealT> &uvw, const ValueT (&v)[3][3][3])
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType TriquadraticSampler<TreeOrAccT>::sample(const Vec3T<RealT> &uvw, const ValueT (&v)[3][3][3])
|
|
||||||
{
|
|
||||||
auto kernel = [](const ValueT* value, double weight)->ValueT {
|
|
||||||
return weight * (weight * (0.5f * (value[0] + value[2]) - value[1]) +
|
|
||||||
@@ -545,7 +545,7 @@ typename TreeOrAccT::ValueType TriquadraticSampler<TreeOrAccT>::sample(const Vec
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
-bool TriquadraticSampler<TreeOrAccT>::zeroCrossing(const ValueT (&v)[3][3][3])
|
|
||||||
+__hostdev__ bool TriquadraticSampler<TreeOrAccT>::zeroCrossing(const ValueT (&v)[3][3][3])
|
|
||||||
{
|
|
||||||
static_assert(is_floating_point<ValueT>::value, "TrilinearSampler::zeroCrossing requires a floating-point type");
|
|
||||||
const bool less = v[0][0][0] < ValueT(0);
|
|
||||||
@@ -624,14 +624,14 @@ class SampleFromVoxels<TreeOrAccT, 2, true> : public TriquadraticSampler<TreeOrA
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, true>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, true>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
this->cache(xyz);
|
|
||||||
return BaseT::sample(xyz, mVal);
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, true>::operator()(const CoordT &ijk) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, true>::operator()(const CoordT &ijk) const
|
|
||||||
{
|
|
||||||
return ijk == mPos ? mVal[1][1][1] : BaseT::mAcc.getValue(ijk);
|
|
||||||
}
|
|
||||||
@@ -646,7 +646,7 @@ __hostdev__ bool SampleFromVoxels<TreeOrAccT, 2, true>::zeroCrossing(Vec3T<RealT
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-void SampleFromVoxels<TreeOrAccT, 2, true>::cache(Vec3T<RealT>& xyz) const
|
|
||||||
+__hostdev__ void SampleFromVoxels<TreeOrAccT, 2, true>::cache(Vec3T<RealT>& xyz) const
|
|
||||||
{
|
|
||||||
CoordT ijk = Floor<CoordT>(xyz);
|
|
||||||
if (ijk != mPos) {
|
|
||||||
@@ -657,7 +657,7 @@ void SampleFromVoxels<TreeOrAccT, 2, true>::cache(Vec3T<RealT>& xyz) const
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, false>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, false>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
ValueT val[3][3][3];
|
|
||||||
CoordT ijk = Floor<CoordT>(xyz);
|
|
||||||
@@ -667,7 +667,7 @@ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 2, false>::operator(
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-bool SampleFromVoxels<TreeOrAccT, 2, false>::zeroCrossing(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ bool SampleFromVoxels<TreeOrAccT, 2, false>::zeroCrossing(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
ValueT val[3][3][3];
|
|
||||||
CoordT ijk = Floor<CoordT>(xyz);
|
|
||||||
@@ -710,7 +710,7 @@ class TricubicSampler
|
|
||||||
}; // TricubicSampler
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
-void TricubicSampler<TreeOrAccT>::stencil(const CoordT& ijk, ValueT (&C)[64]) const
|
|
||||||
+__hostdev__ void TricubicSampler<TreeOrAccT>::stencil(const CoordT& ijk, ValueT (&C)[64]) const
|
|
||||||
{
|
|
||||||
auto fetch = [&](int i, int j, int k) -> ValueT& { return C[((i + 1) << 4) + ((j + 1) << 2) + k + 1]; };
|
|
||||||
|
|
||||||
@@ -929,7 +929,7 @@ class SampleFromVoxels<TreeOrAccT, 3, true> : public TricubicSampler<TreeOrAccT>
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 3, true>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
+__hostdev__ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 3, true>::operator()(Vec3T<RealT> xyz) const
|
|
||||||
{
|
|
||||||
this->cache(xyz);
|
|
||||||
return BaseT::sample(xyz, mC);
|
|
||||||
@@ -937,7 +937,7 @@ typename TreeOrAccT::ValueType SampleFromVoxels<TreeOrAccT, 3, true>::operator()
|
|
||||||
|
|
||||||
template<typename TreeOrAccT>
|
|
||||||
template<typename RealT, template<typename...> class Vec3T>
|
|
||||||
-void SampleFromVoxels<TreeOrAccT, 3, true>::cache(Vec3T<RealT>& xyz) const
|
|
||||||
+__hostdev__ void SampleFromVoxels<TreeOrAccT, 3, true>::cache(Vec3T<RealT>& xyz) const
|
|
||||||
{
|
|
||||||
CoordT ijk = Floor<CoordT>(xyz);
|
|
||||||
if (ijk != mPos) {
|
|
||||||
|
|
||||||
|
CacheItem(TreeCacheT& parent)
|
||||||
|
: mParent(&parent)
|
||||||
|
@@ -1,42 +1,8 @@
|
|||||||
diff -Naur OpenShadingLanguage-Release-1.9.9/src/include/OSL/llvm_util.h external_osl/src/include/OSL/llvm_util.h
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
--- OpenShadingLanguage-Release-1.9.9/src/include/OSL/llvm_util.h 2018-05-01 16:39:02 -0600
|
index d527232..5ad6eaa 100644
|
||||||
+++ external_osl/src/include/OSL/llvm_util.h 2018-08-25 14:05:00 -0600
|
--- a/CMakeLists.txt
|
||||||
@@ -33,6 +33,8 @@
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -99,6 +99,11 @@ set (OSL_PTX_INSTALL_DIR "${CMAKE_INSTALL_FULL_DATADIR}/${PROJECT_NAME}/ptx"
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
+#define OSL_HAS_BLENDER_CLEANUP_FIX
|
|
||||||
+
|
|
||||||
#ifdef LLVM_NAMESPACE
|
|
||||||
namespace llvm = LLVM_NAMESPACE;
|
|
||||||
#endif
|
|
||||||
@@ -487,6 +489,7 @@
|
|
||||||
std::string func_name (llvm::Function *f);
|
|
||||||
|
|
||||||
static size_t total_jit_memory_held ();
|
|
||||||
+ static void Cleanup ();
|
|
||||||
|
|
||||||
private:
|
|
||||||
class MemoryManager;
|
|
||||||
diff -Naur OpenShadingLanguage-Release-1.9.9/src/liboslexec/llvm_util.cpp external_osl/src/liboslexec/llvm_util.cpp
|
|
||||||
--- OpenShadingLanguage-Release-1.9.9/src/liboslexec/llvm_util.cpp 2018-05-01 16:39:02 -0600
|
|
||||||
+++ external_osl/src/liboslexec/llvm_util.cpp 2018-08-25 14:04:27 -0600
|
|
||||||
@@ -140,7 +140,10 @@
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
-
|
|
||||||
+void LLVM_Util::Cleanup ()
|
|
||||||
+{
|
|
||||||
+ if(jitmm_hold) jitmm_hold->clear();
|
|
||||||
+}
|
|
||||||
|
|
||||||
size_t
|
|
||||||
LLVM_Util::total_jit_memory_held ()
|
|
||||||
diff -Naur org/CMakeLists.txt external_osl/CMakeLists.txt
|
|
||||||
--- org/CMakeLists.txt 2020-12-01 12:37:15 -0700
|
|
||||||
+++ external_osl/CMakeLists.txt 2021-01-20 13:26:50 -0700
|
|
||||||
@@ -84,6 +84,11 @@
|
|
||||||
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')")
|
||||||
|
|
||||||
@@ -48,10 +14,11 @@ diff -Naur org/CMakeLists.txt external_osl/CMakeLists.txt
|
|||||||
|
|
||||||
set (OSL_NO_DEFAULT_TEXTURESYSTEM OFF CACHE BOOL "Do not use create a raw OIIO::TextureSystem")
|
set (OSL_NO_DEFAULT_TEXTURESYSTEM OFF CACHE BOOL "Do not use create a raw OIIO::TextureSystem")
|
||||||
if (OSL_NO_DEFAULT_TEXTURESYSTEM)
|
if (OSL_NO_DEFAULT_TEXTURESYSTEM)
|
||||||
diff -Naur external_osl_orig/src/cmake/externalpackages.cmake external_osl/src/cmake/externalpackages.cmake
|
diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake
|
||||||
--- external_osl_orig/src/cmake/externalpackages.cmake 2021-06-01 13:44:18 -0600
|
index a7e098b..dad11d0 100644
|
||||||
+++ external_osl/src/cmake/externalpackages.cmake 2021-06-28 07:44:32 -0600
|
--- a/src/cmake/externalpackages.cmake
|
||||||
@@ -80,6 +80,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
|
||||||
@@ -59,9 +26,10 @@ diff -Naur external_osl_orig/src/cmake/externalpackages.cmake external_osl/src/c
|
|||||||
|
|
||||||
# IlmBase & OpenEXR
|
# IlmBase & OpenEXR
|
||||||
checked_find_package (OpenEXR REQUIRED
|
checked_find_package (OpenEXR REQUIRED
|
||||||
diff -Naur external_osl_orig/src/liboslcomp/oslcomp.cpp external_osl/src/liboslcomp/oslcomp.cpp
|
diff --git a/src/liboslcomp/oslcomp.cpp b/src/liboslcomp/oslcomp.cpp
|
||||||
--- external_osl_orig/src/liboslcomp/oslcomp.cpp 2021-06-01 13:44:18 -0600
|
index 8c2e77b..211b8a7 100644
|
||||||
+++ external_osl/src/liboslcomp/oslcomp.cpp 2021-06-28 09:11:06 -0600
|
--- a/src/liboslcomp/oslcomp.cpp
|
||||||
|
+++ b/src/liboslcomp/oslcomp.cpp
|
||||||
@@ -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
|
||||||
@@ -76,3 +44,34 @@ diff -Naur external_osl_orig/src/liboslcomp/oslcomp.cpp external_osl/src/liboslc
|
|||||||
#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 --git a/src/liboslexec/llvm_instance.cpp b/src/liboslexec/llvm_instance.cpp
|
||||||
|
index 8f52546..8c2d0c7 100644
|
||||||
|
--- a/src/liboslexec/llvm_instance.cpp
|
||||||
|
+++ b/src/liboslexec/llvm_instance.cpp
|
||||||
|
@@ -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;
|
||||||
|
+ return true;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -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;
|
||||||
|
}
|
||||||
|
@@ -1,24 +1,22 @@
|
|||||||
diff -Naur orig/PCbuild/get_externals.bat Python-3.10.2/PCbuild/get_externals.bat
|
--- a/PCbuild/prepare_ssl.bat 2022-10-30 11:48:14 -0600
|
||||||
--- orig/PCbuild/get_externals.bat 2022-01-13 11:52:14 -0700
|
+++ b/PCbuild/prepare_ssl.bat 2022-10-30 11:53:16 -0600
|
||||||
+++ Python-3.10.2/PCbuild/get_externals.bat 2022-08-17 11:24:42 -0600
|
@@ -47,12 +47,13 @@
|
||||||
@@ -51,7 +51,7 @@
|
if "%PERL%" == "" where perl > "%TEMP%\perl.loc" 2> nul && set /P PERL= <"%TEMP%\perl.loc" & del "%TEMP%\perl.loc"
|
||||||
echo.Fetching external libraries...
|
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
|
||||||
|
|
||||||
set libraries=
|
|
||||||
-set libraries=%libraries% bzip2-1.0.6
|
|
||||||
+set libraries=%libraries% bzip2-1.0.8
|
|
||||||
if NOT "%IncludeLibffiSrc%"=="false" set libraries=%libraries% libffi-3.3.0
|
|
||||||
if NOT "%IncludeSSLSrc%"=="false" set libraries=%libraries% openssl-1.1.1m
|
|
||||||
set libraries=%libraries% sqlite-3.35.5.0
|
|
||||||
diff -Naur orig/PCbuild/python.props external_python/PCbuild/python.props
|
|
||||||
--- orig/PCbuild/python.props 2022-01-13 11:52:14 -0700
|
|
||||||
+++ external_python/PCbuild/python.props 2022-08-17 11:38:38 -0600
|
|
||||||
@@ -58,7 +58,7 @@
|
|
||||||
<ExternalsDir Condition="$(ExternalsDir) == ''">$([System.IO.Path]::GetFullPath(`$(PySourcePath)externals`))</ExternalsDir>
|
|
||||||
<ExternalsDir Condition="!HasTrailingSlash($(ExternalsDir))">$(ExternalsDir)\</ExternalsDir>
|
|
||||||
<sqlite3Dir>$(ExternalsDir)sqlite-3.35.5.0\</sqlite3Dir>
|
|
||||||
- <bz2Dir>$(ExternalsDir)bzip2-1.0.6\</bz2Dir>
|
|
||||||
+ <bz2Dir>$(ExternalsDir)bzip2-1.0.8\</bz2Dir>
|
|
||||||
<lzmaDir>$(ExternalsDir)xz-5.2.2\</lzmaDir>
|
|
||||||
<libffiDir>$(ExternalsDir)libffi-3.3.0\</libffiDir>
|
|
||||||
<libffiOutDir>$(ExternalsDir)libffi-3.3.0\$(ArchName)\</libffiOutDir>
|
|
||||||
|
@@ -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,42 +0,0 @@
|
|||||||
--- src/Makefile.in 2017-09-26 01:28:47.000000000 +0300
|
|
||||||
+++ src/Makefile.in 2017-09-26 01:19:06.000000000 +0300
|
|
||||||
@@ -513,7 +513,7 @@
|
|
||||||
libcommon_la_SOURCES = common.c file_io.c command.c pcm.c ulaw.c alaw.c \
|
|
||||||
float32.c double64.c ima_adpcm.c ms_adpcm.c gsm610.c dwvw.c vox_adpcm.c \
|
|
||||||
interleave.c strings.c dither.c cart.c broadcast.c audio_detect.c \
|
|
||||||
- ima_oki_adpcm.c ima_oki_adpcm.h alac.c chunk.c ogg.c chanmap.c \
|
|
||||||
+ ima_oki_adpcm.c ima_oki_adpcm.h alac.c chunk.c ogg.c chanmap.c \
|
|
||||||
windows.c id3.c $(WIN_VERSION_FILE)
|
|
||||||
|
|
||||||
|
|
||||||
@@ -719,10 +719,10 @@
|
|
||||||
$(AM_V_CCLD)$(LINK) $(GSM610_libgsm_la_OBJECTS) $(GSM610_libgsm_la_LIBADD) $(LIBS)
|
|
||||||
|
|
||||||
libcommon.la: $(libcommon_la_OBJECTS) $(libcommon_la_DEPENDENCIES) $(EXTRA_libcommon_la_DEPENDENCIES)
|
|
||||||
- $(AM_V_CCLD)$(LINK) $(libcommon_la_OBJECTS) $(libcommon_la_LIBADD) $(LIBS)
|
|
||||||
+ $(AM_V_CCLD)$(LINK) $(libcommon_la_OBJECTS) $(libcommon_la_LIBADD) $(LIBS) $(EXTERNAL_XIPH_LIBS)
|
|
||||||
|
|
||||||
libsndfile.la: $(libsndfile_la_OBJECTS) $(libsndfile_la_DEPENDENCIES) $(EXTRA_libsndfile_la_DEPENDENCIES)
|
|
||||||
- $(AM_V_CCLD)$(libsndfile_la_LINK) -rpath $(libdir) $(libsndfile_la_OBJECTS) $(libsndfile_la_LIBADD) $(LIBS)
|
|
||||||
+ $(AM_V_CCLD)$(libsndfile_la_LINK) -rpath $(libdir) $(libsndfile_la_OBJECTS) $(libsndfile_la_LIBADD) $(LIBS) $(EXTERNAL_XIPH_LIBS)
|
|
||||||
|
|
||||||
clean-checkPROGRAMS:
|
|
||||||
@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
|
|
||||||
@@ -924,7 +924,7 @@
|
|
||||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsndfile_la_CPPFLAGS) $(CPPFLAGS) $(libsndfile_la_CFLAGS) $(CFLAGS) -c -o libsndfile_la-dwd.lo `test -f 'dwd.c' || echo '$(srcdir)/'`dwd.c
|
|
||||||
|
|
||||||
libsndfile_la-flac.lo: flac.c
|
|
||||||
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsndfile_la_CPPFLAGS) $(CPPFLAGS) $(libsndfile_la_CFLAGS) $(CFLAGS) -MT libsndfile_la-flac.lo -MD -MP -MF $(DEPDIR)/libsndfile_la-flac.Tpo -c -o libsndfile_la-flac.lo `test -f 'flac.c' || echo '$(srcdir)/'`flac.c
|
|
||||||
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsndfile_la_CPPFLAGS) $(CPPFLAGS) $(libsndfile_la_CFLAGS) $(CFLAGS) $(EXTERNAL_XIPH_CFLAGS) -MT libsndfile_la-flac.lo -MD -MP -MF $(DEPDIR)/libsndfile_la-flac.Tpo -c -o libsndfile_la-flac.lo `test -f 'flac.c' || echo '$(srcdir)/'`flac.c
|
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsndfile_la-flac.Tpo $(DEPDIR)/libsndfile_la-flac.Plo
|
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='flac.c' object='libsndfile_la-flac.lo' libtool=yes @AMDEPBACKSLASH@
|
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
||||||
@@ -1092,7 +1092,7 @@
|
|
||||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsndfile_la_CPPFLAGS) $(CPPFLAGS) $(libsndfile_la_CFLAGS) $(CFLAGS) -c -o libsndfile_la-rf64.lo `test -f 'rf64.c' || echo '$(srcdir)/'`rf64.c
|
|
||||||
|
|
||||||
libsndfile_la-ogg_vorbis.lo: ogg_vorbis.c
|
|
||||||
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsndfile_la_CPPFLAGS) $(CPPFLAGS) $(libsndfile_la_CFLAGS) $(CFLAGS) -MT libsndfile_la-ogg_vorbis.lo -MD -MP -MF $(DEPDIR)/libsndfile_la-ogg_vorbis.Tpo -c -o libsndfile_la-ogg_vorbis.lo `test -f 'ogg_vorbis.c' || echo '$(srcdir)/'`ogg_vorbis.c
|
|
||||||
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsndfile_la_CPPFLAGS) $(CPPFLAGS) $(libsndfile_la_CFLAGS) $(CFLAGS) $(EXTERNAL_XIPH_CFLAGS) -MT libsndfile_la-ogg_vorbis.lo -MD -MP -MF $(DEPDIR)/libsndfile_la-ogg_vorbis.Tpo -c -o libsndfile_la-ogg_vorbis.lo `test -f 'ogg_vorbis.c' || echo '$(srcdir)/'`ogg_vorbis.c
|
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsndfile_la-ogg_vorbis.Tpo $(DEPDIR)/libsndfile_la-ogg_vorbis.Plo
|
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ogg_vorbis.c' object='libsndfile_la-ogg_vorbis.lo' libtool=yes @AMDEPBACKSLASH@
|
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@@ -1,14 +0,0 @@
|
|||||||
Only in external_sqlite_orig: config.log
|
|
||||||
diff -ru external_sqlite_orig/config.sub external_sqlite/config.sub
|
|
||||||
--- external_sqlite_orig/config.sub 2020-07-10 14:06:42.000000000 +0200
|
|
||||||
+++ external_sqlite/config.sub 2020-07-10 14:10:24.000000000 +0200
|
|
||||||
@@ -314,6 +314,7 @@
|
|
||||||
# Recognize the basic CPU types with company name.
|
|
||||||
580-* \
|
|
||||||
| a29k-* \
|
|
||||||
+ | aarch64-* \
|
|
||||||
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
|
|
||||||
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
|
|
||||||
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
|
||||||
Only in external_sqlite: mksourceid
|
|
||||||
Only in external_sqlite: sqlite3session.h
|
|
10
build_files/build_environment/patches/ssl.diff
Normal file
10
build_files/build_environment/patches/ssl.diff
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
--- ./test/v3ext.c 2022-07-05 11:08:33.000000000 +0200
|
||||||
|
+++ ./test/v3ext.c 2022-10-18 13:58:05.000000000 +0200
|
||||||
|
@@ -8,6 +8,7 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
+#include <string.h>
|
||||||
|
#include <openssl/x509.h>
|
||||||
|
#include <openssl/x509v3.h>
|
||||||
|
#include <openssl/pem.h>
|
@@ -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}")
|
||||||
|
@@ -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 .
|
||||||
|
@@ -28,4 +28,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)
|
||||||
|
59
build_files/cmake/Modules/FindMoltenVK.cmake
Normal file
59
build_files/cmake/Modules/FindMoltenVK.cmake
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
# Copyright 2022 Blender Foundation.
|
||||||
|
|
||||||
|
# - Find MoltenVK libraries
|
||||||
|
# Find the MoltenVK includes and libraries
|
||||||
|
# This module defines
|
||||||
|
# MOLTENVK_INCLUDE_DIRS, where to find MoltenVK headers, Set when
|
||||||
|
# MOLTENVK_INCLUDE_DIR is found.
|
||||||
|
# MOLTENVK_LIBRARIES, libraries to link against to use MoltenVK.
|
||||||
|
# MOLTENVK_ROOT_DIR, The base directory to search for MoltenVK.
|
||||||
|
# This can also be an environment variable.
|
||||||
|
# MOLTENVK_FOUND, If false, do not try to use MoltenVK.
|
||||||
|
#
|
||||||
|
|
||||||
|
# If MOLTENVK_ROOT_DIR was defined in the environment, use it.
|
||||||
|
IF(NOT MOLTENVK_ROOT_DIR AND NOT $ENV{MOLTENVK_ROOT_DIR} STREQUAL "")
|
||||||
|
SET(MOLTENVK_ROOT_DIR $ENV{MOLTENVK_ROOT_DIR})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
SET(_moltenvk_SEARCH_DIRS
|
||||||
|
${MOLTENVK_ROOT_DIR}
|
||||||
|
${LIBDIR}/vulkan/MoltenVK
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
FIND_PATH(MOLTENVK_INCLUDE_DIR
|
||||||
|
NAMES
|
||||||
|
MoltenVK/vk_mvk_moltenvk.h
|
||||||
|
HINTS
|
||||||
|
${_moltenvk_SEARCH_DIRS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_LIBRARY(MOLTENVK_LIBRARY
|
||||||
|
NAMES
|
||||||
|
MoltenVK
|
||||||
|
HINTS
|
||||||
|
${_moltenvk_SEARCH_DIRS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
dylib/macOS
|
||||||
|
)
|
||||||
|
|
||||||
|
# handle the QUIETLY and REQUIRED arguments and set MOLTENVK_FOUND to TRUE if
|
||||||
|
# all listed variables are TRUE
|
||||||
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(MoltenVK DEFAULT_MSG MOLTENVK_LIBRARY MOLTENVK_INCLUDE_DIR)
|
||||||
|
|
||||||
|
IF(MOLTENVK_FOUND)
|
||||||
|
SET(MOLTENVK_LIBRARIES ${MOLTENVK_LIBRARY})
|
||||||
|
SET(MOLTENVK_INCLUDE_DIRS ${MOLTENVK_INCLUDE_DIR})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
MARK_AS_ADVANCED(
|
||||||
|
MOLTENVK_INCLUDE_DIR
|
||||||
|
MOLTENVK_LIBRARY
|
||||||
|
)
|
||||||
|
|
||||||
|
UNSET(_moltenvk_SEARCH_DIRS)
|
@@ -20,6 +20,7 @@ IF(NOT OSL_ROOT_DIR AND NOT $ENV{OSL_ROOT_DIR} STREQUAL "")
|
|||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
SET(_osl_FIND_COMPONENTS
|
SET(_osl_FIND_COMPONENTS
|
||||||
|
oslnoise
|
||||||
oslcomp
|
oslcomp
|
||||||
oslexec
|
oslexec
|
||||||
oslquery
|
oslquery
|
||||||
@@ -39,7 +40,6 @@ FIND_PATH(OSL_INCLUDE_DIR
|
|||||||
include
|
include
|
||||||
)
|
)
|
||||||
|
|
||||||
SET(_osl_LIBRARIES)
|
|
||||||
FOREACH(COMPONENT ${_osl_FIND_COMPONENTS})
|
FOREACH(COMPONENT ${_osl_FIND_COMPONENTS})
|
||||||
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
|
STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
|
||||||
|
|
||||||
@@ -51,9 +51,20 @@ FOREACH(COMPONENT ${_osl_FIND_COMPONENTS})
|
|||||||
PATH_SUFFIXES
|
PATH_SUFFIXES
|
||||||
lib64 lib
|
lib64 lib
|
||||||
)
|
)
|
||||||
LIST(APPEND _osl_LIBRARIES "${OSL_${UPPERCOMPONENT}_LIBRARY}")
|
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
|
|
||||||
|
# Note linking order matters, and oslnoise existence depends on version.
|
||||||
|
SET(_osl_LIBRARIES ${OSL_OSLCOMP_LIBRARY})
|
||||||
|
IF(APPLE)
|
||||||
|
list(APPEND _osl_LIBRARIES -force_load ${OSL_OSLEXEC_LIBRARY})
|
||||||
|
ELSE()
|
||||||
|
list(APPEND _osl_LIBRARIES ${OSL_OSLEXEC_LIBRARY})
|
||||||
|
ENDIF()
|
||||||
|
list(APPEND _osl_LIBRARIES ${OSL_OSLQUERY_LIBRARY})
|
||||||
|
IF(OSL_OSLNOISE_LIBRARY)
|
||||||
|
list(APPEND _osl_LIBRARIES ${OSL_OSLNOISE_LIBRARY})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
FIND_PROGRAM(OSL_COMPILER oslc
|
FIND_PROGRAM(OSL_COMPILER oslc
|
||||||
HINTS ${_osl_SEARCH_DIRS}
|
HINTS ${_osl_SEARCH_DIRS}
|
||||||
PATH_SUFFIXES bin)
|
PATH_SUFFIXES bin)
|
||||||
|
@@ -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
|
||||||
|
@@ -26,7 +26,8 @@ IF(NOT OPENEXR_ROOT_DIR AND NOT $ENV{OPENEXR_ROOT_DIR} STREQUAL "")
|
|||||||
SET(OPENEXR_ROOT_DIR $ENV{OPENEXR_ROOT_DIR})
|
SET(OPENEXR_ROOT_DIR $ENV{OPENEXR_ROOT_DIR})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
# Old versions (before 2.0?) do not have any version string, just assuming this should be fine though.
|
# Old versions (before 2.0?) do not have any version string,
|
||||||
|
# just assuming this should be fine though.
|
||||||
SET(_openexr_libs_ver_init "2.0")
|
SET(_openexr_libs_ver_init "2.0")
|
||||||
|
|
||||||
SET(_openexr_SEARCH_DIRS
|
SET(_openexr_SEARCH_DIRS
|
||||||
|
@@ -71,21 +71,6 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenSubdiv DEFAULT_MSG
|
|||||||
IF(OPENSUBDIV_FOUND)
|
IF(OPENSUBDIV_FOUND)
|
||||||
SET(OPENSUBDIV_LIBRARIES ${_opensubdiv_LIBRARIES})
|
SET(OPENSUBDIV_LIBRARIES ${_opensubdiv_LIBRARIES})
|
||||||
SET(OPENSUBDIV_INCLUDE_DIRS ${OPENSUBDIV_INCLUDE_DIR})
|
SET(OPENSUBDIV_INCLUDE_DIRS ${OPENSUBDIV_INCLUDE_DIR})
|
||||||
|
|
||||||
# Find available compute controllers.
|
|
||||||
|
|
||||||
FIND_PACKAGE(OpenMP)
|
|
||||||
IF(OPENMP_FOUND)
|
|
||||||
SET(OPENSUBDIV_HAS_OPENMP TRUE)
|
|
||||||
ELSE()
|
|
||||||
SET(OPENSUBDIV_HAS_OPENMP FALSE)
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
OPENSUBDIV_CHECK_CONTROLLER("tbbEvaluator.h" OPENSUBDIV_HAS_TBB)
|
|
||||||
OPENSUBDIV_CHECK_CONTROLLER("clEvaluator.h" OPENSUBDIV_HAS_OPENCL)
|
|
||||||
OPENSUBDIV_CHECK_CONTROLLER("cudaEvaluator.h" OPENSUBDIV_HAS_CUDA)
|
|
||||||
OPENSUBDIV_CHECK_CONTROLLER("glXFBEvaluator.h" OPENSUBDIV_HAS_GLSL_TRANSFORM_FEEDBACK)
|
|
||||||
OPENSUBDIV_CHECK_CONTROLLER("glComputeEvaluator.h" OPENSUBDIV_HAS_GLSL_COMPUTE)
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
MARK_AS_ADVANCED(
|
MARK_AS_ADVANCED(
|
||||||
|
@@ -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,11 @@ 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_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 +212,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)
|
||||||
|
|
||||||
|
@@ -30,6 +30,7 @@ SET(_sycl_search_dirs
|
|||||||
# dpcpp binary.
|
# dpcpp binary.
|
||||||
FIND_PROGRAM(SYCL_COMPILER
|
FIND_PROGRAM(SYCL_COMPILER
|
||||||
NAMES
|
NAMES
|
||||||
|
icpx
|
||||||
dpcpp
|
dpcpp
|
||||||
clang++
|
clang++
|
||||||
HINTS
|
HINTS
|
||||||
@@ -45,6 +46,7 @@ FIND_PROGRAM(SYCL_COMPILER
|
|||||||
if(NOT SYCL_COMPILER)
|
if(NOT SYCL_COMPILER)
|
||||||
FIND_PROGRAM(SYCL_COMPILER
|
FIND_PROGRAM(SYCL_COMPILER
|
||||||
NAMES
|
NAMES
|
||||||
|
icpx
|
||||||
dpcpp
|
dpcpp
|
||||||
HINTS
|
HINTS
|
||||||
${_sycl_search_dirs}
|
${_sycl_search_dirs}
|
||||||
@@ -55,6 +57,8 @@ endif()
|
|||||||
|
|
||||||
FIND_LIBRARY(SYCL_LIBRARY
|
FIND_LIBRARY(SYCL_LIBRARY
|
||||||
NAMES
|
NAMES
|
||||||
|
sycl7
|
||||||
|
sycl6
|
||||||
sycl
|
sycl
|
||||||
HINTS
|
HINTS
|
||||||
${_sycl_search_dirs}
|
${_sycl_search_dirs}
|
||||||
@@ -63,34 +67,51 @@ FIND_LIBRARY(SYCL_LIBRARY
|
|||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
string(REPLACE ".lib" "d.lib" SYCL_LIBRARY_DEBUG ${SYCL_LIBRARY})
|
FIND_LIBRARY(SYCL_LIBRARY_DEBUG
|
||||||
set(SYCL_LIBRARY_DEBUG ${SYCL_LIBRARY_DEBUG} CACHE FILEPATH "Path to SYCL debug library")
|
NAMES
|
||||||
else()
|
sycl7d
|
||||||
set(SYCL_LIBRARY_DEBUG ${SYCL_LIBRARY} CACHE FILEPATH "Path to SYCL debug library")
|
sycl6d
|
||||||
|
sycld
|
||||||
|
HINTS
|
||||||
|
${_sycl_search_dirs}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
lib64 lib
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
FIND_PATH(SYCL_INCLUDE_DIR
|
FIND_PATH(SYCL_INCLUDE_DIR
|
||||||
NAMES
|
NAMES
|
||||||
CL/sycl.hpp
|
sycl/sycl.hpp
|
||||||
HINTS
|
HINTS
|
||||||
${_sycl_search_dirs}
|
${_sycl_search_dirs}
|
||||||
PATH_SUFFIXES
|
PATH_SUFFIXES
|
||||||
include
|
include
|
||||||
include/sycl
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
IF(EXISTS "${SYCL_INCLUDE_DIR}/sycl/version.hpp")
|
||||||
|
FILE(STRINGS "${SYCL_INCLUDE_DIR}/sycl/version.hpp" _libsycl_major_version REGEX "^#define __LIBSYCL_MAJOR_VERSION[ \t].*$")
|
||||||
|
STRING(REGEX MATCHALL "[0-9]+" _libsycl_major_version ${_libsycl_major_version})
|
||||||
|
FILE(STRINGS "${SYCL_INCLUDE_DIR}/sycl/version.hpp" _libsycl_minor_version REGEX "^#define __LIBSYCL_MINOR_VERSION[ \t].*$")
|
||||||
|
STRING(REGEX MATCHALL "[0-9]+" _libsycl_minor_version ${_libsycl_minor_version})
|
||||||
|
FILE(STRINGS "${SYCL_INCLUDE_DIR}/sycl/version.hpp" _libsycl_patch_version REGEX "^#define __LIBSYCL_PATCH_VERSION[ \t].*$")
|
||||||
|
STRING(REGEX MATCHALL "[0-9]+" _libsycl_patch_version ${_libsycl_patch_version})
|
||||||
|
|
||||||
|
SET(SYCL_VERSION "${_libsycl_major_version}.${_libsycl_minor_version}.${_libsycl_patch_version}")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SYCL DEFAULT_MSG SYCL_LIBRARY SYCL_INCLUDE_DIR)
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SYCL
|
||||||
|
REQUIRED_VARS SYCL_LIBRARY SYCL_INCLUDE_DIR
|
||||||
|
VERSION_VAR SYCL_VERSION
|
||||||
|
)
|
||||||
|
|
||||||
IF(SYCL_FOUND)
|
IF(SYCL_FOUND)
|
||||||
get_filename_component(_SYCL_INCLUDE_PARENT_DIR ${SYCL_INCLUDE_DIR} DIRECTORY)
|
SET(SYCL_INCLUDE_DIR ${SYCL_INCLUDE_DIR} ${SYCL_INCLUDE_DIR}/sycl)
|
||||||
SET(SYCL_INCLUDE_DIR ${SYCL_INCLUDE_DIR} ${_SYCL_INCLUDE_PARENT_DIR})
|
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(SYCL_SYCL_FOUND FALSE)
|
SET(SYCL_SYCL_FOUND FALSE)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
MARK_AS_ADVANCED(
|
MARK_AS_ADVANCED(
|
||||||
_SYCL_INCLUDE_PARENT_DIR
|
_SYCL_INCLUDE_PARENT_DIR
|
||||||
SYCL_LIBRARY_DEBUG
|
|
||||||
)
|
)
|
||||||
|
@@ -32,7 +32,8 @@ FIND_PATH(USD_INCLUDE_DIR
|
|||||||
DOC "Universal Scene Description (USD) header files"
|
DOC "Universal Scene Description (USD) header files"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Since USD 21.11 the libraries are prefixed with "usd_", i.e. "libusd_m.a" became "libusd_usd_m.a".
|
# Since USD 21.11 the libraries are prefixed with "usd_", i.e.
|
||||||
|
# "libusd_m.a" became "libusd_usd_m.a".
|
||||||
# See https://github.com/PixarAnimationStudios/USD/blob/release/CHANGELOG.md#2111---2021-11-01
|
# See https://github.com/PixarAnimationStudios/USD/blob/release/CHANGELOG.md#2111---2021-11-01
|
||||||
FIND_LIBRARY(USD_LIBRARY
|
FIND_LIBRARY(USD_LIBRARY
|
||||||
NAMES
|
NAMES
|
||||||
@@ -58,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()
|
||||||
|
|
||||||
|
@@ -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")
|
||||||
|
@@ -103,10 +103,6 @@ if(EXISTS ${SOURCE_DIR}/.git)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MY_WC_BRANCH MATCHES "^blender-v")
|
|
||||||
set(MY_WC_BRANCH "master")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
unset(_git_below_check)
|
unset(_git_below_check)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -8,7 +8,11 @@
|
|||||||
|
|
||||||
set(WITH_ASSERT_ABORT ON CACHE BOOL "" FORCE)
|
set(WITH_ASSERT_ABORT ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_BUILDINFO OFF CACHE BOOL "" FORCE)
|
set(WITH_BUILDINFO OFF CACHE BOOL "" FORCE)
|
||||||
|
# Sadly ASAN is more often broken than working with MSVC do not enable it in the
|
||||||
|
# developer profile for now.
|
||||||
|
if(NOT WIN32)
|
||||||
set(WITH_COMPILER_ASAN ON CACHE BOOL "" FORCE)
|
set(WITH_COMPILER_ASAN ON CACHE BOOL "" FORCE)
|
||||||
|
endif()
|
||||||
set(WITH_CYCLES_NATIVE_ONLY ON CACHE BOOL "" FORCE)
|
set(WITH_CYCLES_NATIVE_ONLY ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_DOC_MANPAGE OFF CACHE BOOL "" FORCE)
|
set(WITH_DOC_MANPAGE OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_GTESTS ON CACHE BOOL "" FORCE)
|
set(WITH_GTESTS ON CACHE BOOL "" FORCE)
|
||||||
|
@@ -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)
|
||||||
|
|
||||||
@@ -66,13 +67,11 @@ set(WITH_MEM_JEMALLOC ON CACHE BOOL "" FORCE)
|
|||||||
if(APPLE)
|
if(APPLE)
|
||||||
set(WITH_COREAUDIO ON CACHE BOOL "" FORCE)
|
set(WITH_COREAUDIO ON CACHE BOOL "" FORCE)
|
||||||
endif()
|
endif()
|
||||||
if(NOT WIN32)
|
|
||||||
set(WITH_JACK ON CACHE BOOL "" FORCE)
|
|
||||||
endif()
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(WITH_WASAPI ON CACHE BOOL "" FORCE)
|
set(WITH_WASAPI ON CACHE BOOL "" FORCE)
|
||||||
endif()
|
endif()
|
||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
|
set(WITH_JACK ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_DOC_MANPAGE ON CACHE BOOL "" FORCE)
|
set(WITH_DOC_MANPAGE ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_GHOST_XDND ON CACHE BOOL "" FORCE)
|
set(WITH_GHOST_XDND ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_PULSEAUDIO ON CACHE BOOL "" FORCE)
|
set(WITH_PULSEAUDIO 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)
|
||||||
|
|
||||||
@@ -67,13 +68,11 @@ if(APPLE)
|
|||||||
set(WITH_COREAUDIO ON CACHE BOOL "" FORCE)
|
set(WITH_COREAUDIO ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_CYCLES_DEVICE_METAL ON CACHE BOOL "" FORCE)
|
set(WITH_CYCLES_DEVICE_METAL ON CACHE BOOL "" FORCE)
|
||||||
endif()
|
endif()
|
||||||
if(NOT WIN32)
|
|
||||||
set(WITH_JACK ON CACHE BOOL "" FORCE)
|
|
||||||
endif()
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(WITH_WASAPI ON CACHE BOOL "" FORCE)
|
set(WITH_WASAPI ON CACHE BOOL "" FORCE)
|
||||||
endif()
|
endif()
|
||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
|
set(WITH_JACK ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_DOC_MANPAGE ON CACHE BOOL "" FORCE)
|
set(WITH_DOC_MANPAGE ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_GHOST_XDND ON CACHE BOOL "" FORCE)
|
set(WITH_GHOST_XDND ON CACHE BOOL "" FORCE)
|
||||||
set(WITH_PULSEAUDIO ON CACHE BOOL "" FORCE)
|
set(WITH_PULSEAUDIO ON CACHE BOOL "" FORCE)
|
||||||
|
@@ -57,6 +57,25 @@ macro(path_ensure_trailing_slash
|
|||||||
unset(_path_sep)
|
unset(_path_sep)
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
# Our own version of `cmake_path(IS_PREFIX ..)`.
|
||||||
|
# This can be removed when 3.20 or greater is the minimum supported version.
|
||||||
|
macro(path_is_prefix
|
||||||
|
path_prefix path result_var
|
||||||
|
)
|
||||||
|
# Remove when CMAKE version is bumped to "3.20" or greater.
|
||||||
|
# `cmake_path(IS_PREFIX ${path_prefix} ${path} NORMALIZE result_var)`
|
||||||
|
# Get the normalized paths (needed to remove `..`).
|
||||||
|
get_filename_component(_abs_prefix "${${path_prefix}}" ABSOLUTE)
|
||||||
|
get_filename_component(_abs_suffix "${${path}}" ABSOLUTE)
|
||||||
|
string(LENGTH "${_abs_prefix}" _len)
|
||||||
|
string(SUBSTRING "${_abs_suffix}" 0 "${_len}" _substr)
|
||||||
|
string(COMPARE EQUAL "${_abs_prefix}" "${_substr}" "${result_var}")
|
||||||
|
unset(_abs_prefix)
|
||||||
|
unset(_abs_suffix)
|
||||||
|
unset(_len)
|
||||||
|
unset(_substr)
|
||||||
|
endmacro()
|
||||||
|
|
||||||
# foo_bar.spam --> foo_barMySuffix.spam
|
# foo_bar.spam --> foo_barMySuffix.spam
|
||||||
macro(file_suffix
|
macro(file_suffix
|
||||||
file_name_new file_name file_suffix
|
file_name_new file_name file_suffix
|
||||||
@@ -403,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()
|
||||||
|
|
||||||
@@ -995,7 +1016,8 @@ function(data_to_c_simple_icons
|
|||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${_file_from} ${_file_to}
|
OUTPUT ${_file_from} ${_file_to}
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${_file_to_path}
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${_file_to_path}
|
||||||
# COMMAND python3 ${CMAKE_SOURCE_DIR}/source/blender/datatoc/datatoc_icon.py ${_path_from_abs} ${_file_from}
|
# COMMAND python3 ${CMAKE_SOURCE_DIR}/source/blender/datatoc/datatoc_icon.py
|
||||||
|
# ${_path_from_abs} ${_file_from}
|
||||||
COMMAND "$<TARGET_FILE:datatoc_icon>" ${_path_from_abs} ${_file_from}
|
COMMAND "$<TARGET_FILE:datatoc_icon>" ${_path_from_abs} ${_file_from}
|
||||||
COMMAND "$<TARGET_FILE:datatoc>" ${_file_from} ${_file_to}
|
COMMAND "$<TARGET_FILE:datatoc>" ${_file_from} ${_file_to}
|
||||||
DEPENDS
|
DEPENDS
|
||||||
@@ -1079,15 +1101,19 @@ function(find_python_package
|
|||||||
|
|
||||||
string(TOUPPER ${package} _upper_package)
|
string(TOUPPER ${package} _upper_package)
|
||||||
|
|
||||||
# set but invalid
|
# Set but invalid.
|
||||||
if((NOT ${PYTHON_${_upper_package}_PATH} STREQUAL "") AND
|
if((NOT ${PYTHON_${_upper_package}_PATH} STREQUAL "") AND
|
||||||
(NOT ${PYTHON_${_upper_package}_PATH} MATCHES NOTFOUND))
|
(NOT ${PYTHON_${_upper_package}_PATH} MATCHES NOTFOUND))
|
||||||
# if(NOT EXISTS "${PYTHON_${_upper_package}_PATH}/${package}")
|
# if(NOT EXISTS "${PYTHON_${_upper_package}_PATH}/${package}")
|
||||||
# message(WARNING "PYTHON_${_upper_package}_PATH is invalid, ${package} not found in '${PYTHON_${_upper_package}_PATH}' "
|
# message(
|
||||||
# "WITH_PYTHON_INSTALL_${_upper_package} option will be ignored when installing python")
|
# WARNING
|
||||||
|
# "PYTHON_${_upper_package}_PATH is invalid, ${package} not found in "
|
||||||
|
# "'${PYTHON_${_upper_package}_PATH}' "
|
||||||
|
# "WITH_PYTHON_INSTALL_${_upper_package} option will be ignored when installing Python"
|
||||||
|
# )
|
||||||
# set(WITH_PYTHON_INSTALL${_upper_package} OFF)
|
# set(WITH_PYTHON_INSTALL${_upper_package} OFF)
|
||||||
# endif()
|
# endif()
|
||||||
# not set, so initialize
|
# Not set, so initialize.
|
||||||
else()
|
else()
|
||||||
string(REPLACE "." ";" _PY_VER_SPLIT "${PYTHON_VERSION}")
|
string(REPLACE "." ";" _PY_VER_SPLIT "${PYTHON_VERSION}")
|
||||||
list(GET _PY_VER_SPLIT 0 _PY_VER_MAJOR)
|
list(GET _PY_VER_SPLIT 0 _PY_VER_MAJOR)
|
||||||
@@ -1205,11 +1231,27 @@ macro(set_and_warn_dependency
|
|||||||
_dependency _setting _val)
|
_dependency _setting _val)
|
||||||
# when $_dependency is disabled, forces $_setting = $_val
|
# when $_dependency is disabled, forces $_setting = $_val
|
||||||
if(NOT ${${_dependency}} AND ${${_setting}})
|
if(NOT ${${_dependency}} AND ${${_setting}})
|
||||||
message(STATUS "'${_dependency}' is disabled: forcing 'set(${_setting} ${_val})'")
|
if(WITH_STRICT_BUILD_OPTIONS)
|
||||||
|
message(SEND_ERROR "${_dependency} disabled but required by ${_setting}")
|
||||||
|
else()
|
||||||
|
message(STATUS "${_dependency} is disabled, setting ${_setting}=${_val}")
|
||||||
|
endif()
|
||||||
set(${_setting} ${_val})
|
set(${_setting} ${_val})
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
macro(set_and_warn_library_found
|
||||||
|
_library_name _library_found _setting)
|
||||||
|
if(((NOT ${_library_found}) OR (NOT ${${_library_found}})) AND ${${_setting}})
|
||||||
|
if(WITH_STRICT_BUILD_OPTIONS)
|
||||||
|
message(SEND_ERROR "${_library_name} required but not found")
|
||||||
|
else()
|
||||||
|
message(STATUS "${_library_name} not found, disabling ${_setting}")
|
||||||
|
endif()
|
||||||
|
set(${_setting} OFF)
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
macro(without_system_libs_begin)
|
macro(without_system_libs_begin)
|
||||||
set(CMAKE_IGNORE_PATH "${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES};${CMAKE_SYSTEM_INCLUDE_PATH};${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES};${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES}")
|
set(CMAKE_IGNORE_PATH "${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES};${CMAKE_SYSTEM_INCLUDE_PATH};${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES};${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES}")
|
||||||
endmacro()
|
endmacro()
|
||||||
@@ -1217,3 +1259,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(EXISTS ${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()
|
||||||
|
@@ -106,8 +106,8 @@ if(WIN32)
|
|||||||
set(CPACK_WIX_LIGHT_EXTRA_FLAGS -dcl:medium)
|
set(CPACK_WIX_LIGHT_EXTRA_FLAGS -dcl:medium)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CPACK_PACKAGE_EXECUTABLES "blender-launcher" "Blender")
|
set(CPACK_PACKAGE_EXECUTABLES "blender-launcher" "Blender ${MAJOR_VERSION}.${MINOR_VERSION}")
|
||||||
set(CPACK_CREATE_DESKTOP_LINKS "blender-launcher" "Blender")
|
set(CPACK_CREATE_DESKTOP_LINKS "blender-launcher" "Blender ${MAJOR_VERSION}.${MINOR_VERSION}")
|
||||||
|
|
||||||
include(CPack)
|
include(CPack)
|
||||||
|
|
||||||
|
@@ -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.
|
||||||
|
|
||||||
@@ -43,22 +31,18 @@ find_package(BZip2 REQUIRED)
|
|||||||
list(APPEND ZLIB_LIBRARIES ${BZIP2_LIBRARIES})
|
list(APPEND ZLIB_LIBRARIES ${BZIP2_LIBRARIES})
|
||||||
|
|
||||||
if(WITH_OPENAL)
|
if(WITH_OPENAL)
|
||||||
find_package(OpenAL)
|
find_package(OpenAL REQUIRED)
|
||||||
if(NOT OPENAL_FOUND)
|
|
||||||
message(WARNING "OpenAL not found, disabling WITH_OPENAL")
|
|
||||||
set(WITH_OPENAL OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_JACK)
|
if(WITH_JACK)
|
||||||
find_library(JACK_FRAMEWORK
|
find_library(JACK_FRAMEWORK
|
||||||
NAMES jackmp
|
NAMES jackmp
|
||||||
)
|
)
|
||||||
if(NOT JACK_FRAMEWORK)
|
|
||||||
message(STATUS "JACK not found, disabling WITH_JACK")
|
if(JACK_FRAMEWORK)
|
||||||
set(WITH_JACK OFF)
|
|
||||||
else()
|
|
||||||
set(JACK_INCLUDE_DIRS ${JACK_FRAMEWORK}/headers)
|
set(JACK_INCLUDE_DIRS ${JACK_FRAMEWORK}/headers)
|
||||||
|
else()
|
||||||
|
set_and_warn_library_found("JACK" JACK_FRAMEWORK WITH_JACK)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -101,15 +85,39 @@ if(WITH_ALEMBIC)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_USD)
|
if(WITH_USD)
|
||||||
find_package(USD)
|
find_package(USD REQUIRED)
|
||||||
if(NOT USD_FOUND)
|
add_bundled_libraries(usd/lib)
|
||||||
message(STATUS "USD not found, disabling WITH_USD")
|
endif()
|
||||||
set(WITH_USD OFF)
|
|
||||||
|
if(WITH_MATERIALX)
|
||||||
|
find_package(MaterialX)
|
||||||
|
set_and_warn_library_found("MaterialX" MaterialX_FOUND WITH_MATERIALX)
|
||||||
|
if(WITH_MATERIALX)
|
||||||
|
add_bundled_libraries(materialx/lib)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WITH_VULKAN_BACKEND)
|
||||||
|
find_package(MoltenVK REQUIRED)
|
||||||
|
|
||||||
|
if(EXISTS ${LIBDIR}/vulkan)
|
||||||
|
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(SHADERC_LIBRARY ${VULKAN_ROOT_DIR}/lib/libshaderc_combined.a)
|
||||||
|
|
||||||
|
set(VULKAN_INCLUDE_DIRS ${VULKAN_INCLUDE_DIR} ${MOLTENVK_INCLUDE_DIRS})
|
||||||
|
set(VULKAN_LIBRARIES ${VULKAN_LIBRARY} ${SHADERC_LIBRARY} ${MOLTENVK_LIBRARIES})
|
||||||
|
else()
|
||||||
|
message(WARNING "Vulkan SDK was not found, disabling WITH_VULKAN_BACKEND")
|
||||||
|
set(WITH_VULKAN_BACKEND OFF)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_OPENSUBDIV)
|
if(WITH_OPENSUBDIV)
|
||||||
find_package(OpenSubdiv)
|
find_package(OpenSubdiv)
|
||||||
|
add_bundled_libraries(opensubdiv/lib)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_CODEC_SNDFILE)
|
if(WITH_CODEC_SNDFILE)
|
||||||
@@ -148,6 +156,8 @@ list(APPEND FREETYPE_LIBRARIES
|
|||||||
|
|
||||||
if(WITH_IMAGE_OPENEXR)
|
if(WITH_IMAGE_OPENEXR)
|
||||||
find_package(OpenEXR)
|
find_package(OpenEXR)
|
||||||
|
add_bundled_libraries(openexr/lib)
|
||||||
|
add_bundled_libraries(imath/lib)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_CODEC_FFMPEG)
|
if(WITH_CODEC_FFMPEG)
|
||||||
@@ -227,20 +237,12 @@ find_package(JPEG REQUIRED)
|
|||||||
|
|
||||||
if(WITH_IMAGE_TIFF)
|
if(WITH_IMAGE_TIFF)
|
||||||
set(TIFF_ROOT ${LIBDIR}/tiff)
|
set(TIFF_ROOT ${LIBDIR}/tiff)
|
||||||
find_package(TIFF)
|
find_package(TIFF REQUIRED)
|
||||||
if(NOT TIFF_FOUND)
|
|
||||||
message(WARNING "TIFF not found, disabling WITH_IMAGE_TIFF")
|
|
||||||
set(WITH_IMAGE_TIFF OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_IMAGE_WEBP)
|
if(WITH_IMAGE_WEBP)
|
||||||
set(WEBP_ROOT_DIR ${LIBDIR}/webp)
|
set(WEBP_ROOT_DIR ${LIBDIR}/webp)
|
||||||
find_package(WebP)
|
find_package(WebP REQUIRED)
|
||||||
if(NOT WEBP_FOUND)
|
|
||||||
message(WARNING "WebP not found, disabling WITH_IMAGE_WEBP")
|
|
||||||
set(WITH_IMAGE_WEBP OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_BOOST)
|
if(WITH_BOOST)
|
||||||
@@ -254,12 +256,22 @@ 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)
|
||||||
|
|
||||||
|
add_bundled_libraries(boost/lib)
|
||||||
|
|
||||||
mark_as_advanced(Boost_LIBRARIES)
|
mark_as_advanced(Boost_LIBRARIES)
|
||||||
mark_as_advanced(Boost_INCLUDE_DIRS)
|
mark_as_advanced(Boost_INCLUDE_DIRS)
|
||||||
unset(_boost_FIND_COMPONENTS)
|
unset(_boost_FIND_COMPONENTS)
|
||||||
@@ -270,11 +282,7 @@ if(WITH_INTERNATIONAL OR WITH_CODEC_FFMPEG)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_PUGIXML)
|
if(WITH_PUGIXML)
|
||||||
find_package(PugiXML)
|
find_package(PugiXML REQUIRED)
|
||||||
if(NOT PUGIXML_FOUND)
|
|
||||||
message(WARNING "PugiXML not found, disabling WITH_PUGIXML")
|
|
||||||
set(WITH_PUGIXML OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_OPENIMAGEIO)
|
if(WITH_OPENIMAGEIO)
|
||||||
@@ -289,23 +297,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")
|
||||||
|
add_bundled_libraries(openimageio/lib)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_OPENCOLORIO)
|
if(WITH_OPENCOLORIO)
|
||||||
find_package(OpenColorIO 2.0.0)
|
find_package(OpenColorIO 2.0.0 REQUIRED)
|
||||||
|
add_bundled_libraries(opencolorio/lib)
|
||||||
if(NOT OPENCOLORIO_FOUND)
|
|
||||||
set(WITH_OPENCOLORIO OFF)
|
|
||||||
message(STATUS "OpenColorIO not found, disabling WITH_OPENCOLORIO")
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
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)
|
||||||
|
add_bundled_libraries(openvdb/lib)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_NANOVDB)
|
if(WITH_NANOVDB)
|
||||||
@@ -331,23 +340,7 @@ if(WITH_LLVM)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_CYCLES AND WITH_CYCLES_OSL)
|
if(WITH_CYCLES AND WITH_CYCLES_OSL)
|
||||||
set(CYCLES_OSL ${LIBDIR}/osl)
|
find_package(OSL REQUIRED)
|
||||||
|
|
||||||
find_library(OSL_LIB_EXEC NAMES oslexec PATHS ${CYCLES_OSL}/lib)
|
|
||||||
find_library(OSL_LIB_COMP NAMES oslcomp PATHS ${CYCLES_OSL}/lib)
|
|
||||||
find_library(OSL_LIB_QUERY NAMES oslquery PATHS ${CYCLES_OSL}/lib)
|
|
||||||
# WARNING! depends on correct order of OSL libs linking
|
|
||||||
list(APPEND OSL_LIBRARIES ${OSL_LIB_COMP} -force_load ${OSL_LIB_EXEC} ${OSL_LIB_QUERY})
|
|
||||||
find_path(OSL_INCLUDE_DIR OSL/oslclosure.h PATHS ${CYCLES_OSL}/include)
|
|
||||||
find_program(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin)
|
|
||||||
find_path(OSL_SHADER_DIR NAMES stdosl.h PATHS ${CYCLES_OSL}/share/OSL/shaders)
|
|
||||||
|
|
||||||
if(OSL_INCLUDE_DIR AND OSL_LIBRARIES AND OSL_COMPILER AND OSL_SHADER_DIR)
|
|
||||||
set(OSL_FOUND TRUE)
|
|
||||||
else()
|
|
||||||
message(WARNING "OSL not found, disabling WITH_CYCLES_OSL")
|
|
||||||
set(WITH_CYCLES_OSL OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_CYCLES AND WITH_CYCLES_EMBREE)
|
if(WITH_CYCLES AND WITH_CYCLES_EMBREE)
|
||||||
@@ -365,28 +358,16 @@ if(WITH_CYCLES AND WITH_CYCLES_EMBREE)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_OPENIMAGEDENOISE)
|
if(WITH_OPENIMAGEDENOISE)
|
||||||
find_package(OpenImageDenoise)
|
find_package(OpenImageDenoise REQUIRED)
|
||||||
|
|
||||||
if(NOT OPENIMAGEDENOISE_FOUND)
|
|
||||||
set(WITH_OPENIMAGEDENOISE OFF)
|
|
||||||
message(STATUS "OpenImageDenoise not found, disabling WITH_OPENIMAGEDENOISE")
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_TBB)
|
if(WITH_TBB)
|
||||||
find_package(TBB)
|
find_package(TBB REQUIRED)
|
||||||
if(NOT TBB_FOUND)
|
add_bundled_libraries(tbb/lib)
|
||||||
message(WARNING "TBB not found, disabling WITH_TBB")
|
|
||||||
set(WITH_TBB OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_POTRACE)
|
if(WITH_POTRACE)
|
||||||
find_package(Potrace)
|
find_package(Potrace REQUIRED)
|
||||||
if(NOT POTRACE_FOUND)
|
|
||||||
message(WARNING "potrace not found, disabling WITH_POTRACE")
|
|
||||||
set(WITH_POTRACE OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# CMake FindOpenMP doesn't know about AppleClang before 3.12, so provide custom flags.
|
# CMake FindOpenMP doesn't know about AppleClang before 3.12, so provide custom flags.
|
||||||
@@ -401,35 +382,23 @@ 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)
|
add_bundled_libraries(openmp/lib)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_XR_OPENXR)
|
if(WITH_XR_OPENXR)
|
||||||
find_package(XR_OpenXR_SDK)
|
find_package(XR_OpenXR_SDK REQUIRED)
|
||||||
if(NOT XR_OPENXR_SDK_FOUND)
|
|
||||||
message(WARNING "OpenXR-SDK was not found, disabling WITH_XR_OPENXR")
|
|
||||||
set(WITH_XR_OPENXR OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_GMP)
|
if(WITH_GMP)
|
||||||
find_package(GMP)
|
find_package(GMP REQUIRED)
|
||||||
if(NOT GMP_FOUND)
|
|
||||||
message(WARNING "GMP not found, disabling WITH_GMP")
|
|
||||||
set(WITH_GMP OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_HARU)
|
if(WITH_HARU)
|
||||||
find_package(Haru)
|
find_package(Haru REQUIRED)
|
||||||
if(NOT HARU_FOUND)
|
|
||||||
message(WARNING "Haru not found, disabling WITH_HARU")
|
|
||||||
set(WITH_HARU OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_CYCLES_PATH_GUIDING)
|
if(WITH_CYCLES AND WITH_CYCLES_PATH_GUIDING)
|
||||||
find_package(openpgl QUIET)
|
find_package(openpgl QUIET)
|
||||||
if(openpgl_FOUND)
|
if(openpgl_FOUND)
|
||||||
get_target_property(OPENPGL_LIBRARIES openpgl::openpgl LOCATION)
|
get_target_property(OPENPGL_LIBRARIES openpgl::openpgl LOCATION)
|
||||||
@@ -529,6 +498,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.
|
||||||
|
@@ -44,3 +44,22 @@ if(UNIX AND DEFINED NANOVDB_INCLUDE_DIR)
|
|||||||
unset_cache_variables("^NANOVDB")
|
unset_cache_variables("^NANOVDB")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Detect update to 3.5 libs with shared libraries.
|
||||||
|
if(UNIX AND
|
||||||
|
DEFINED TBB_LIBRARY AND
|
||||||
|
TBB_LIBRARY MATCHES "libtbb.a$" AND
|
||||||
|
EXISTS ${LIBDIR}/usd/include/pxr/base/tf/pyModule.h)
|
||||||
|
message(STATUS "Auto updating CMake configuration for Blender 3.5 libraries")
|
||||||
|
unset_cache_variables("^BLOSC")
|
||||||
|
unset_cache_variables("^BOOST")
|
||||||
|
unset_cache_variables("^Boost")
|
||||||
|
unset_cache_variables("^IMATH")
|
||||||
|
unset_cache_variables("^OPENCOLORIO")
|
||||||
|
unset_cache_variables("^OPENEXR")
|
||||||
|
unset_cache_variables("^OPENIMAGEIO")
|
||||||
|
unset_cache_variables("^OPENSUBDIV")
|
||||||
|
unset_cache_variables("^OPENVDB")
|
||||||
|
unset_cache_variables("^TBB")
|
||||||
|
unset_cache_variables("^USD")
|
||||||
|
endif()
|
||||||
|
@@ -68,10 +68,7 @@ if(EXISTS ${LIBDIR})
|
|||||||
set(Boost_NO_SYSTEM_PATHS ON)
|
set(Boost_NO_SYSTEM_PATHS ON)
|
||||||
set(OPENEXR_ROOT_DIR ${LIBDIR}/openexr)
|
set(OPENEXR_ROOT_DIR ${LIBDIR}/openexr)
|
||||||
set(CLANG_ROOT_DIR ${LIBDIR}/llvm)
|
set(CLANG_ROOT_DIR ${LIBDIR}/llvm)
|
||||||
endif()
|
set(MaterialX_DIR ${LIBDIR}/materialx/lib/cmake/MaterialX)
|
||||||
|
|
||||||
if(WITH_STATIC_LIBS)
|
|
||||||
string(APPEND CMAKE_EXE_LINKER_FLAGS " -static-libstdc++")
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Wrapper to prefer static libraries
|
# Wrapper to prefer static libraries
|
||||||
@@ -83,15 +80,6 @@ macro(find_package_wrapper)
|
|||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
# Utility to install precompiled shared libraries.
|
|
||||||
macro(add_bundled_libraries library)
|
|
||||||
if(EXISTS ${LIBDIR})
|
|
||||||
file(GLOB _all_library_versions ${LIBDIR}/${library}/lib/*\.so*)
|
|
||||||
list(APPEND PLATFORM_BUNDLED_LIBRARIES ${_all_library_versions})
|
|
||||||
unset(_all_library_versions)
|
|
||||||
endif()
|
|
||||||
endmacro()
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
# Precompiled Libraries
|
# Precompiled Libraries
|
||||||
#
|
#
|
||||||
@@ -108,6 +96,10 @@ find_package_wrapper(ZLIB REQUIRED)
|
|||||||
find_package_wrapper(Zstd REQUIRED)
|
find_package_wrapper(Zstd REQUIRED)
|
||||||
find_package_wrapper(Epoxy REQUIRED)
|
find_package_wrapper(Epoxy REQUIRED)
|
||||||
|
|
||||||
|
if(WITH_VULKAN_BACKEND)
|
||||||
|
find_package_wrapper(Vulkan REQUIRED)
|
||||||
|
endif()
|
||||||
|
|
||||||
function(check_freetype_for_brotli)
|
function(check_freetype_for_brotli)
|
||||||
include(CheckSymbolExists)
|
include(CheckSymbolExists)
|
||||||
set(CMAKE_REQUIRED_INCLUDES ${FREETYPE_INCLUDE_DIRS})
|
set(CMAKE_REQUIRED_INCLUDES ${FREETYPE_INCLUDE_DIRS})
|
||||||
@@ -151,7 +143,7 @@ if(WITH_PYTHON)
|
|||||||
# Installing into `site-packages`, warn when installing into `./../lib/`
|
# Installing into `site-packages`, warn when installing into `./../lib/`
|
||||||
# which script authors almost certainly don't want.
|
# which script authors almost certainly don't want.
|
||||||
if(EXISTS ${LIBDIR})
|
if(EXISTS ${LIBDIR})
|
||||||
cmake_path(IS_PREFIX LIBDIR "${PYTHON_SITE_PACKAGES}" NORMALIZE _is_prefix)
|
path_is_prefix(LIBDIR PYTHON_SITE_PACKAGES _is_prefix)
|
||||||
if(_is_prefix)
|
if(_is_prefix)
|
||||||
message(WARNING "
|
message(WARNING "
|
||||||
Building Blender with the following configuration:
|
Building Blender with the following configuration:
|
||||||
@@ -174,32 +166,28 @@ endif()
|
|||||||
|
|
||||||
if(WITH_IMAGE_OPENEXR)
|
if(WITH_IMAGE_OPENEXR)
|
||||||
find_package_wrapper(OpenEXR) # our own module
|
find_package_wrapper(OpenEXR) # our own module
|
||||||
if(NOT OPENEXR_FOUND)
|
set_and_warn_library_found("OpenEXR" OPENEXR_FOUND WITH_IMAGE_OPENEXR)
|
||||||
set(WITH_IMAGE_OPENEXR OFF)
|
if(WITH_IMAGE_OPENEXR)
|
||||||
|
add_bundled_libraries(openexr/lib)
|
||||||
|
add_bundled_libraries(imath/lib)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_IMAGE_OPENJPEG)
|
if(WITH_IMAGE_OPENJPEG)
|
||||||
find_package_wrapper(OpenJPEG)
|
find_package_wrapper(OpenJPEG)
|
||||||
if(NOT OPENJPEG_FOUND)
|
set_and_warn_library_found("OpenJPEG" OPENJPEG_FOUND WITH_IMAGE_OPENJPEG)
|
||||||
set(WITH_IMAGE_OPENJPEG OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_IMAGE_TIFF)
|
if(WITH_IMAGE_TIFF)
|
||||||
# XXX Linking errors with debian static tiff :/
|
# XXX Linking errors with debian static tiff :/
|
||||||
# find_package_wrapper(TIFF)
|
# find_package_wrapper(TIFF)
|
||||||
find_package(TIFF)
|
find_package(TIFF)
|
||||||
if(NOT TIFF_FOUND)
|
set_and_warn_library_found("TIFF" TIFF_FOUND WITH_IMAGE_TIFF)
|
||||||
set(WITH_IMAGE_TIFF OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_OPENAL)
|
if(WITH_OPENAL)
|
||||||
find_package_wrapper(OpenAL)
|
find_package_wrapper(OpenAL)
|
||||||
if(NOT OPENAL_FOUND)
|
set_and_warn_library_found("OpenAL" OPENAL_FOUND WITH_OPENAL)
|
||||||
set(WITH_OPENAL OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_SDL)
|
if(WITH_SDL)
|
||||||
@@ -221,18 +209,14 @@ if(WITH_SDL)
|
|||||||
SDL_LIBRARY
|
SDL_LIBRARY
|
||||||
)
|
)
|
||||||
# unset(SDLMAIN_LIBRARY CACHE)
|
# unset(SDLMAIN_LIBRARY CACHE)
|
||||||
if(NOT SDL_FOUND)
|
set_and_warn_library_found("SDL" SDL_FOUND WITH_SDL)
|
||||||
set(WITH_SDL OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Codecs
|
# Codecs
|
||||||
if(WITH_CODEC_SNDFILE)
|
if(WITH_CODEC_SNDFILE)
|
||||||
find_package_wrapper(SndFile)
|
find_package_wrapper(SndFile)
|
||||||
if(NOT SNDFILE_FOUND)
|
set_and_warn_library_found("libsndfile" SNDFILE_FOUND WITH_CODEC_SNDFILE)
|
||||||
set(WITH_CODEC_SNDFILE OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_CODEC_FFMPEG)
|
if(WITH_CODEC_FFMPEG)
|
||||||
@@ -260,17 +244,12 @@ if(WITH_CODEC_FFMPEG)
|
|||||||
endif()
|
endif()
|
||||||
find_package(FFmpeg)
|
find_package(FFmpeg)
|
||||||
|
|
||||||
if(NOT FFMPEG_FOUND)
|
set_and_warn_library_found("FFmpeg" FFMPEG_FOUND WITH_CODEC_FFMPEG)
|
||||||
set(WITH_CODEC_FFMPEG OFF)
|
|
||||||
message(STATUS "FFmpeg not found, disabling it")
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_FFTW3)
|
if(WITH_FFTW3)
|
||||||
find_package_wrapper(Fftw3)
|
find_package_wrapper(Fftw3)
|
||||||
if(NOT FFTW3_FOUND)
|
set_and_warn_library_found("fftw3" FFTW3_FOUND WITH_FFTW3)
|
||||||
set(WITH_FFTW3 OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_OPENCOLLADA)
|
if(WITH_OPENCOLLADA)
|
||||||
@@ -285,25 +264,23 @@ if(WITH_OPENCOLLADA)
|
|||||||
endif()
|
endif()
|
||||||
find_package_wrapper(XML2)
|
find_package_wrapper(XML2)
|
||||||
else()
|
else()
|
||||||
set(WITH_OPENCOLLADA OFF)
|
set_and_warn_library_found("OpenCollada" OPENCOLLADA_FOUND WITH_OPENCOLLADA)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_MEM_JEMALLOC)
|
if(WITH_MEM_JEMALLOC)
|
||||||
find_package_wrapper(JeMalloc)
|
find_package_wrapper(JeMalloc)
|
||||||
if(NOT JEMALLOC_FOUND)
|
set_and_warn_library_found("JeMalloc" JEMALLOC_FOUND WITH_MEM_JEMALLOC)
|
||||||
set(WITH_MEM_JEMALLOC OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_INPUT_NDOF)
|
if(WITH_INPUT_NDOF)
|
||||||
find_package_wrapper(Spacenav)
|
find_package_wrapper(Spacenav)
|
||||||
|
set_and_warn_library_found("SpaceNav" SPACENAV_FOUND WITH_INPUT_NDOF)
|
||||||
|
|
||||||
if(SPACENAV_FOUND)
|
if(SPACENAV_FOUND)
|
||||||
# use generic names within blenders buildsystem.
|
# use generic names within blenders buildsystem.
|
||||||
set(NDOF_INCLUDE_DIRS ${SPACENAV_INCLUDE_DIRS})
|
set(NDOF_INCLUDE_DIRS ${SPACENAV_INCLUDE_DIRS})
|
||||||
set(NDOF_LIBRARIES ${SPACENAV_LIBRARIES})
|
set(NDOF_LIBRARIES ${SPACENAV_LIBRARIES})
|
||||||
else()
|
|
||||||
set(WITH_INPUT_NDOF OFF)
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -313,6 +290,8 @@ if(WITH_CYCLES AND WITH_CYCLES_OSL)
|
|||||||
set(OSL_ROOT ${CYCLES_OSL})
|
set(OSL_ROOT ${CYCLES_OSL})
|
||||||
endif()
|
endif()
|
||||||
find_package_wrapper(OSL)
|
find_package_wrapper(OSL)
|
||||||
|
set_and_warn_library_found("OSL" OSL_FOUND WITH_CYCLES_OSL)
|
||||||
|
|
||||||
if(OSL_FOUND)
|
if(OSL_FOUND)
|
||||||
if(${OSL_LIBRARY_VERSION_MAJOR} EQUAL "1" AND ${OSL_LIBRARY_VERSION_MINOR} LESS "6")
|
if(${OSL_LIBRARY_VERSION_MAJOR} EQUAL "1" AND ${OSL_LIBRARY_VERSION_MINOR} LESS "6")
|
||||||
# Note: --whole-archive is needed to force loading of all symbols in liboslexec,
|
# Note: --whole-archive is needed to force loading of all symbols in liboslexec,
|
||||||
@@ -323,13 +302,10 @@ if(WITH_CYCLES AND WITH_CYCLES_OSL)
|
|||||||
-Wl,--no-whole-archive ${OSL_OSLQUERY_LIBRARY}
|
-Wl,--no-whole-archive ${OSL_OSLQUERY_LIBRARY}
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
else()
|
|
||||||
message(STATUS "OSL not found, disabling it from Cycles")
|
|
||||||
set(WITH_CYCLES_OSL OFF)
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_CYCLES_DEVICE_ONEAPI)
|
if(WITH_CYCLES AND WITH_CYCLES_DEVICE_ONEAPI)
|
||||||
set(CYCLES_LEVEL_ZERO ${LIBDIR}/level-zero CACHE PATH "Path to Level Zero installation")
|
set(CYCLES_LEVEL_ZERO ${LIBDIR}/level-zero CACHE PATH "Path to Level Zero installation")
|
||||||
if(EXISTS ${CYCLES_LEVEL_ZERO} AND NOT LEVEL_ZERO_ROOT_DIR)
|
if(EXISTS ${CYCLES_LEVEL_ZERO} AND NOT LEVEL_ZERO_ROOT_DIR)
|
||||||
set(LEVEL_ZERO_ROOT_DIR ${CYCLES_LEVEL_ZERO})
|
set(LEVEL_ZERO_ROOT_DIR ${CYCLES_LEVEL_ZERO})
|
||||||
@@ -341,35 +317,29 @@ if(WITH_CYCLES_DEVICE_ONEAPI)
|
|||||||
endif()
|
endif()
|
||||||
file(GLOB _sycl_runtime_libraries
|
file(GLOB _sycl_runtime_libraries
|
||||||
${SYCL_ROOT_DIR}/lib/libsycl.so
|
${SYCL_ROOT_DIR}/lib/libsycl.so
|
||||||
${SYCL_ROOT_DIR}/lib/libsycl.so.[0-9]
|
${SYCL_ROOT_DIR}/lib/libsycl.so.*
|
||||||
${SYCL_ROOT_DIR}/lib/libsycl.so.[0-9].[0-9].[0-9]-[0-9]
|
${SYCL_ROOT_DIR}/lib/libpi_*.so
|
||||||
${SYCL_ROOT_DIR}/lib/libpi_level_zero.so
|
|
||||||
)
|
)
|
||||||
|
list(FILTER _sycl_runtime_libraries EXCLUDE REGEX ".*\.py")
|
||||||
|
list(REMOVE_ITEM _sycl_runtime_libraries "${SYCL_ROOT_DIR}/lib/libpi_opencl.so")
|
||||||
list(APPEND PLATFORM_BUNDLED_LIBRARIES ${_sycl_runtime_libraries})
|
list(APPEND PLATFORM_BUNDLED_LIBRARIES ${_sycl_runtime_libraries})
|
||||||
unset(_sycl_runtime_libraries)
|
unset(_sycl_runtime_libraries)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_OPENVDB)
|
if(WITH_OPENVDB)
|
||||||
find_package_wrapper(OpenVDB)
|
find_package(OpenVDB)
|
||||||
find_package_wrapper(Blosc)
|
set_and_warn_library_found("OpenVDB" OPENVDB_FOUND WITH_OPENVDB)
|
||||||
|
|
||||||
if(NOT OPENVDB_FOUND)
|
if(OPENVDB_FOUND)
|
||||||
set(WITH_OPENVDB OFF)
|
add_bundled_libraries(openvdb/lib)
|
||||||
set(WITH_OPENVDB_BLOSC OFF)
|
find_package_wrapper(Blosc)
|
||||||
message(STATUS "OpenVDB not found, disabling it")
|
set_and_warn_library_found("Blosc" BLOSC_FOUND WITH_OPENVDB_BLOSC)
|
||||||
elseif(NOT BLOSC_FOUND)
|
|
||||||
set(WITH_OPENVDB_BLOSC OFF)
|
|
||||||
message(STATUS "Blosc not found, disabling it for OpenVBD")
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_NANOVDB)
|
if(WITH_NANOVDB)
|
||||||
find_package_wrapper(NanoVDB)
|
find_package_wrapper(NanoVDB)
|
||||||
|
set_and_warn_library_found("NanoVDB" NANOVDB_FOUND WITH_NANOVDB)
|
||||||
if(NOT NANOVDB_FOUND)
|
|
||||||
set(WITH_NANOVDB OFF)
|
|
||||||
message(STATUS "NanoVDB not found, disabling it")
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_CPU_SIMD AND SUPPORT_NEON_BUILD)
|
if(WITH_CPU_SIMD AND SUPPORT_NEON_BUILD)
|
||||||
@@ -378,17 +348,22 @@ endif()
|
|||||||
|
|
||||||
if(WITH_ALEMBIC)
|
if(WITH_ALEMBIC)
|
||||||
find_package_wrapper(Alembic)
|
find_package_wrapper(Alembic)
|
||||||
|
set_and_warn_library_found("Alembic" ALEMBIC_FOUND WITH_ALEMBIC)
|
||||||
if(NOT ALEMBIC_FOUND)
|
|
||||||
set(WITH_ALEMBIC OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_USD)
|
if(WITH_USD)
|
||||||
find_package_wrapper(USD)
|
find_package_wrapper(USD)
|
||||||
|
set_and_warn_library_found("USD" USD_FOUND WITH_USD)
|
||||||
|
if(WITH_USD)
|
||||||
|
add_bundled_libraries(usd/lib)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT USD_FOUND)
|
if(WITH_MATERIALX)
|
||||||
set(WITH_USD OFF)
|
find_package_wrapper(MaterialX)
|
||||||
|
set_and_warn_library_found("MaterialX" MaterialX_FOUND WITH_MATERIALX)
|
||||||
|
if(WITH_MATERIALX)
|
||||||
|
add_bundled_libraries(materialx/lib)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -396,7 +371,7 @@ if(WITH_BOOST)
|
|||||||
# uses in build instructions to override include and library variables
|
# uses in build instructions to override include and library variables
|
||||||
if(NOT BOOST_CUSTOM)
|
if(NOT BOOST_CUSTOM)
|
||||||
if(WITH_STATIC_LIBS)
|
if(WITH_STATIC_LIBS)
|
||||||
set(Boost_USE_STATIC_LIBS ON)
|
set(Boost_USE_STATIC_LIBS OFF)
|
||||||
endif()
|
endif()
|
||||||
set(Boost_USE_MULTITHREADED ON)
|
set(Boost_USE_MULTITHREADED ON)
|
||||||
set(__boost_packages filesystem regex thread date_time)
|
set(__boost_packages filesystem regex thread date_time)
|
||||||
@@ -412,6 +387,9 @@ if(WITH_BOOST)
|
|||||||
if(WITH_OPENVDB)
|
if(WITH_OPENVDB)
|
||||||
list(APPEND __boost_packages iostreams)
|
list(APPEND __boost_packages iostreams)
|
||||||
endif()
|
endif()
|
||||||
|
if(WITH_USD AND USD_PYTHON_SUPPORT)
|
||||||
|
list(APPEND __boost_packages python${PYTHON_VERSION_NO_DOTS})
|
||||||
|
endif()
|
||||||
list(APPEND __boost_packages system)
|
list(APPEND __boost_packages system)
|
||||||
find_package(Boost 1.48 COMPONENTS ${__boost_packages})
|
find_package(Boost 1.48 COMPONENTS ${__boost_packages})
|
||||||
if(NOT Boost_FOUND)
|
if(NOT Boost_FOUND)
|
||||||
@@ -429,8 +407,13 @@ if(WITH_BOOST)
|
|||||||
mark_as_advanced(Boost_INCLUDE_DIR) # why doesn't boost do this?
|
mark_as_advanced(Boost_INCLUDE_DIR) # why doesn't boost do this?
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(BOOST_INCLUDE_DIR ${Boost_INCLUDE_DIRS})
|
# 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_LIBPATH ${Boost_LIBRARY_DIRS})
|
set(BOOST_LIBPATH ${Boost_LIBRARY_DIRS})
|
||||||
set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB")
|
set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB")
|
||||||
|
|
||||||
@@ -438,24 +421,19 @@ if(WITH_BOOST)
|
|||||||
find_package(IcuLinux)
|
find_package(IcuLinux)
|
||||||
list(APPEND BOOST_LIBRARIES ${ICU_LIBRARIES})
|
list(APPEND BOOST_LIBRARIES ${ICU_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
add_bundled_libraries(boost/lib)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_PUGIXML)
|
if(WITH_PUGIXML)
|
||||||
find_package_wrapper(PugiXML)
|
find_package_wrapper(PugiXML)
|
||||||
|
set_and_warn_library_found("PugiXML" PUGIXML_FOUND WITH_PUGIXML)
|
||||||
if(NOT PUGIXML_FOUND)
|
|
||||||
set(WITH_PUGIXML OFF)
|
|
||||||
message(STATUS "PugiXML not found, disabling WITH_PUGIXML")
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_IMAGE_WEBP)
|
if(WITH_IMAGE_WEBP)
|
||||||
set(WEBP_ROOT_DIR ${LIBDIR}/webp)
|
set(WEBP_ROOT_DIR ${LIBDIR}/webp)
|
||||||
find_package_wrapper(WebP)
|
find_package_wrapper(WebP)
|
||||||
if(NOT WEBP_FOUND)
|
set_and_warn_library_found("WebP" WEBP_FOUND WITH_IMAGE_WEBP)
|
||||||
set(WITH_IMAGE_WEBP OFF)
|
|
||||||
message(WARNING "WebP not found, disabling WITH_IMAGE_WEBP")
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_OPENIMAGEIO)
|
if(WITH_OPENIMAGEIO)
|
||||||
@@ -467,7 +445,6 @@ if(WITH_OPENIMAGEIO)
|
|||||||
${ZLIB_LIBRARIES}
|
${ZLIB_LIBRARIES}
|
||||||
${BOOST_LIBRARIES}
|
${BOOST_LIBRARIES}
|
||||||
)
|
)
|
||||||
set(OPENIMAGEIO_LIBPATH) # TODO, remove and reference the absolute path everywhere
|
|
||||||
set(OPENIMAGEIO_DEFINITIONS "")
|
set(OPENIMAGEIO_DEFINITIONS "")
|
||||||
|
|
||||||
if(WITH_IMAGE_TIFF)
|
if(WITH_IMAGE_TIFF)
|
||||||
@@ -480,22 +457,20 @@ if(WITH_OPENIMAGEIO)
|
|||||||
list(APPEND OPENIMAGEIO_LIBRARIES "${WEBP_LIBRARIES}")
|
list(APPEND OPENIMAGEIO_LIBRARIES "${WEBP_LIBRARIES}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT OPENIMAGEIO_FOUND)
|
set_and_warn_library_found("OPENIMAGEIO" OPENIMAGEIO_FOUND WITH_OPENIMAGEIO)
|
||||||
set(WITH_OPENIMAGEIO OFF)
|
if(WITH_OPENIMAGEIO)
|
||||||
message(STATUS "OpenImageIO not found, disabling WITH_CYCLES")
|
add_bundled_libraries(openimageio/lib)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_OPENCOLORIO)
|
if(WITH_OPENCOLORIO)
|
||||||
find_package_wrapper(OpenColorIO 2.0.0)
|
find_package_wrapper(OpenColorIO 2.0.0)
|
||||||
|
|
||||||
set(OPENCOLORIO_LIBRARIES ${OPENCOLORIO_LIBRARIES})
|
|
||||||
set(OPENCOLORIO_LIBPATH) # TODO, remove and reference the absolute path everywhere
|
|
||||||
set(OPENCOLORIO_DEFINITIONS)
|
set(OPENCOLORIO_DEFINITIONS)
|
||||||
|
set_and_warn_library_found("OpenColorIO" OPENCOLORIO_FOUND WITH_OPENCOLORIO)
|
||||||
|
|
||||||
if(NOT OPENCOLORIO_FOUND)
|
if(WITH_OPENCOLORIO)
|
||||||
set(WITH_OPENCOLORIO OFF)
|
add_bundled_libraries(opencolorio/lib)
|
||||||
message(STATUS "OpenColorIO not found")
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -505,11 +480,7 @@ endif()
|
|||||||
|
|
||||||
if(WITH_OPENIMAGEDENOISE)
|
if(WITH_OPENIMAGEDENOISE)
|
||||||
find_package_wrapper(OpenImageDenoise)
|
find_package_wrapper(OpenImageDenoise)
|
||||||
|
set_and_warn_library_found("OpenImageDenoise" OPENIMAGEDENOISE_FOUND WITH_OPENIMAGEDENOISE)
|
||||||
if(NOT OPENIMAGEDENOISE_FOUND)
|
|
||||||
set(WITH_OPENIMAGEDENOISE OFF)
|
|
||||||
message(STATUS "OpenImageDenoise not found")
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_LLVM)
|
if(WITH_LLVM)
|
||||||
@@ -518,81 +489,64 @@ if(WITH_LLVM)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package_wrapper(LLVM)
|
find_package_wrapper(LLVM)
|
||||||
|
set_and_warn_library_found("LLVM" LLVM_FOUND WITH_LLVM)
|
||||||
|
|
||||||
|
if(LLVM_FOUND)
|
||||||
if(WITH_CLANG)
|
if(WITH_CLANG)
|
||||||
find_package_wrapper(Clang)
|
find_package_wrapper(Clang)
|
||||||
|
set_and_warn_library_found("Clang" CLANG_FOUND WITH_CLANG)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Symbol conflicts with same UTF library used by OpenCollada
|
# Symbol conflicts with same UTF library used by OpenCollada
|
||||||
if(EXISTS ${LIBDIR})
|
if(EXISTS ${LIBDIR})
|
||||||
if(WITH_OPENCOLLADA AND (${LLVM_VERSION} VERSION_LESS "4.0.0"))
|
if(WITH_OPENCOLLADA AND (${LLVM_VERSION} VERSION_LESS "4.0.0"))
|
||||||
list(REMOVE_ITEM OPENCOLLADA_LIBRARIES ${OPENCOLLADA_UTF_LIBRARY})
|
list(REMOVE_ITEM OPENCOLLADA_LIBRARIES ${OPENCOLLADA_UTF_LIBRARY})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT LLVM_FOUND)
|
|
||||||
set(WITH_LLVM OFF)
|
|
||||||
set(WITH_CLANG OFF)
|
|
||||||
message(STATUS "LLVM not found")
|
|
||||||
else()
|
|
||||||
if(NOT CLANG_FOUND)
|
|
||||||
set(WITH_CLANG OFF)
|
|
||||||
message(STATUS "Clang not found")
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_OPENSUBDIV)
|
if(WITH_OPENSUBDIV)
|
||||||
find_package_wrapper(OpenSubdiv)
|
find_package(OpenSubdiv)
|
||||||
|
|
||||||
set(OPENSUBDIV_LIBRARIES ${OPENSUBDIV_LIBRARIES})
|
set(OPENSUBDIV_LIBRARIES ${OPENSUBDIV_LIBRARIES})
|
||||||
set(OPENSUBDIV_LIBPATH) # TODO, remove and reference the absolute path everywhere
|
set(OPENSUBDIV_LIBPATH) # TODO, remove and reference the absolute path everywhere
|
||||||
|
|
||||||
if(NOT OPENSUBDIV_FOUND)
|
set_and_warn_library_found("OpenSubdiv" OPENSUBDIV_FOUND WITH_OPENSUBDIV)
|
||||||
set(WITH_OPENSUBDIV OFF)
|
if(WITH_OPENSUBDIV)
|
||||||
message(STATUS "OpenSubdiv not found")
|
add_bundled_libraries(opensubdiv/lib)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_TBB)
|
if(WITH_TBB)
|
||||||
find_package_wrapper(TBB)
|
find_package_wrapper(TBB)
|
||||||
if(NOT TBB_FOUND)
|
set_and_warn_library_found("TBB" TBB_FOUND WITH_TBB)
|
||||||
message(WARNING "TBB not found, disabling WITH_TBB")
|
if(WITH_TBB)
|
||||||
set(WITH_TBB OFF)
|
add_bundled_libraries(tbb/lib)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_XR_OPENXR)
|
if(WITH_XR_OPENXR)
|
||||||
find_package(XR_OpenXR_SDK)
|
find_package(XR_OpenXR_SDK)
|
||||||
if(NOT XR_OPENXR_SDK_FOUND)
|
set_and_warn_library_found("OpenXR-SDK" XR_OPENXR_SDK_FOUND WITH_XR_OPENXR)
|
||||||
message(WARNING "OpenXR-SDK not found, disabling WITH_XR_OPENXR")
|
|
||||||
set(WITH_XR_OPENXR OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_GMP)
|
if(WITH_GMP)
|
||||||
find_package_wrapper(GMP)
|
find_package_wrapper(GMP)
|
||||||
if(NOT GMP_FOUND)
|
set_and_warn_library_found("GMP" GMP_FOUND WITH_GMP)
|
||||||
message(WARNING "GMP not found, disabling WITH_GMP")
|
|
||||||
set(WITH_GMP OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_POTRACE)
|
if(WITH_POTRACE)
|
||||||
find_package_wrapper(Potrace)
|
find_package_wrapper(Potrace)
|
||||||
if(NOT POTRACE_FOUND)
|
set_and_warn_library_found("Potrace" POTRACE_FOUND WITH_POTRACE)
|
||||||
message(WARNING "potrace not found, disabling WITH_POTRACE")
|
|
||||||
set(WITH_POTRACE OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_HARU)
|
if(WITH_HARU)
|
||||||
find_package_wrapper(Haru)
|
find_package_wrapper(Haru)
|
||||||
if(NOT HARU_FOUND)
|
set_and_warn_library_found("Haru" HARU_FOUND WITH_HARU)
|
||||||
message(WARNING "Haru not found, disabling WITH_HARU")
|
|
||||||
set(WITH_HARU OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_CYCLES_PATH_GUIDING)
|
if(WITH_CYCLES AND WITH_CYCLES_PATH_GUIDING)
|
||||||
find_package_wrapper(openpgl)
|
find_package_wrapper(openpgl)
|
||||||
if(openpgl_FOUND)
|
if(openpgl_FOUND)
|
||||||
get_target_property(OPENPGL_LIBRARIES openpgl::openpgl LOCATION)
|
get_target_property(OPENPGL_LIBRARIES openpgl::openpgl LOCATION)
|
||||||
@@ -676,25 +630,20 @@ endif()
|
|||||||
# Jack is intended to use the system library.
|
# Jack is intended to use the system library.
|
||||||
if(WITH_JACK)
|
if(WITH_JACK)
|
||||||
find_package_wrapper(Jack)
|
find_package_wrapper(Jack)
|
||||||
if(NOT JACK_FOUND)
|
set_and_warn_library_found("JACK" JACK_FOUND WITH_JACK)
|
||||||
set(WITH_JACK OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Pulse is intended to use the system library.
|
# Pulse is intended to use the system library.
|
||||||
if(WITH_PULSEAUDIO)
|
if(WITH_PULSEAUDIO)
|
||||||
find_package_wrapper(Pulse)
|
find_package_wrapper(Pulse)
|
||||||
if(NOT PULSE_FOUND)
|
set_and_warn_library_found("PulseAudio" PULSE_FOUND WITH_PULSEAUDIO)
|
||||||
set(WITH_PULSEAUDIO OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Audio IO
|
# Audio IO
|
||||||
if(WITH_SYSTEM_AUDASPACE)
|
if(WITH_SYSTEM_AUDASPACE)
|
||||||
find_package_wrapper(Audaspace)
|
find_package_wrapper(Audaspace)
|
||||||
if(NOT AUDASPACE_FOUND OR NOT AUDASPACE_C_FOUND)
|
set(AUDASPACE_FOUND ${AUDASPACE_FOUND} AND ${AUDASPACE_C_FOUND})
|
||||||
message(FATAL_ERROR "Audaspace external library not found!")
|
set_and_warn_library_found("External Audaspace" AUDASPACE_FOUND WITH_SYSTEM_AUDASPACE)
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_GHOST_WAYLAND)
|
if(WITH_GHOST_WAYLAND)
|
||||||
@@ -739,31 +688,14 @@ if(WITH_GHOST_WAYLAND)
|
|||||||
set(wayland-scanner_FOUND ON)
|
set(wayland-scanner_FOUND ON)
|
||||||
set(wayland-cursor_FOUND ON)
|
set(wayland-cursor_FOUND ON)
|
||||||
endif()
|
endif()
|
||||||
|
mark_as_advanced(WAYLAND_PROTOCOLS_DIR)
|
||||||
|
|
||||||
if (NOT ${wayland-client_FOUND})
|
set_and_warn_library_found("wayland-client" wayland-client_FOUND WITH_GHOST_WAYLAND)
|
||||||
message(STATUS "wayland-client not found, disabling WITH_GHOST_WAYLAND")
|
set_and_warn_library_found("wayland-egl" wayland-egl_FOUND WITH_GHOST_WAYLAND)
|
||||||
set(WITH_GHOST_WAYLAND OFF)
|
set_and_warn_library_found("wayland-scanner" wayland-scanner_FOUND WITH_GHOST_WAYLAND)
|
||||||
endif()
|
set_and_warn_library_found("wayland-cursor" wayland-cursor_FOUND WITH_GHOST_WAYLAND)
|
||||||
if (NOT ${wayland-egl_FOUND})
|
set_and_warn_library_found("wayland-protocols" wayland-protocols_FOUND WITH_GHOST_WAYLAND)
|
||||||
message(STATUS "wayland-egl not found, disabling WITH_GHOST_WAYLAND")
|
set_and_warn_library_found("xkbcommon" xkbcommon_FOUND WITH_GHOST_WAYLAND)
|
||||||
set(WITH_GHOST_WAYLAND OFF)
|
|
||||||
endif()
|
|
||||||
if (NOT ${wayland-scanner_FOUND})
|
|
||||||
message(STATUS "wayland-scanner not found, disabling WITH_GHOST_WAYLAND")
|
|
||||||
set(WITH_GHOST_WAYLAND OFF)
|
|
||||||
endif()
|
|
||||||
if (NOT ${wayland-cursor_FOUND})
|
|
||||||
message(STATUS "wayland-cursor not found, disabling WITH_GHOST_WAYLAND")
|
|
||||||
set(WITH_GHOST_WAYLAND OFF)
|
|
||||||
endif()
|
|
||||||
if (NOT ${wayland-protocols_FOUND})
|
|
||||||
message(STATUS "wayland-protocols not found, disabling WITH_GHOST_WAYLAND")
|
|
||||||
set(WITH_GHOST_WAYLAND OFF)
|
|
||||||
endif()
|
|
||||||
if (NOT ${xkbcommon_FOUND})
|
|
||||||
message(STATUS "xkbcommon not found, disabling WITH_GHOST_WAYLAND")
|
|
||||||
set(WITH_GHOST_WAYLAND OFF)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WITH_GHOST_WAYLAND)
|
if(WITH_GHOST_WAYLAND)
|
||||||
if(WITH_GHOST_WAYLAND_DBUS)
|
if(WITH_GHOST_WAYLAND_DBUS)
|
||||||
@@ -791,6 +723,7 @@ if(WITH_GHOST_WAYLAND)
|
|||||||
else()
|
else()
|
||||||
pkg_get_variable(WAYLAND_SCANNER wayland-scanner wayland_scanner)
|
pkg_get_variable(WAYLAND_SCANNER wayland-scanner wayland_scanner)
|
||||||
endif()
|
endif()
|
||||||
|
mark_as_advanced(WAYLAND_SCANNER)
|
||||||
|
|
||||||
# When using dynamic loading, headers generated
|
# When using dynamic loading, headers generated
|
||||||
# from older versions of `wayland-scanner` aren't compatible.
|
# from older versions of `wayland-scanner` aren't compatible.
|
||||||
@@ -1060,16 +993,9 @@ if(WITH_COMPILER_CCACHE)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# On some platforms certain atomic operations are not possible with assembly and/or intrinsics and
|
# Always link with libatomic if available, as it is required for data types
|
||||||
# they are emulated in software with locks. For example, on armel there is no intrinsics to grant
|
# which don't have intrinsics.
|
||||||
# 64 bit atomic operations and STL library uses libatomic to offload software emulation of atomics
|
function(configure_atomic_lib_if_needed)
|
||||||
# to.
|
|
||||||
# This function will check whether libatomic is required and if so will configure linker flags.
|
|
||||||
# If atomic operations are possible without libatomic then linker flags are left as-is.
|
|
||||||
function(CONFIGURE_ATOMIC_LIB_IF_NEEDED)
|
|
||||||
# Source which is used to enforce situation when software emulation of atomics is required.
|
|
||||||
# Assume that using 64bit integer gives a definitive answer (as in, if 64bit atomic operations
|
|
||||||
# are possible using assembly/intrinsics 8, 16, and 32 bit operations will also be possible.
|
|
||||||
set(_source
|
set(_source
|
||||||
"#include <atomic>
|
"#include <atomic>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
@@ -1080,25 +1006,12 @@ function(CONFIGURE_ATOMIC_LIB_IF_NEEDED)
|
|||||||
)
|
)
|
||||||
|
|
||||||
include(CheckCXXSourceCompiles)
|
include(CheckCXXSourceCompiles)
|
||||||
check_cxx_source_compiles("${_source}" ATOMIC_OPS_WITHOUT_LIBATOMIC)
|
|
||||||
|
|
||||||
if(NOT ATOMIC_OPS_WITHOUT_LIBATOMIC)
|
|
||||||
# Compilation of the test program has failed.
|
|
||||||
# Try it again with -latomic to see if this is what is needed, or whether something else is
|
|
||||||
# going on.
|
|
||||||
|
|
||||||
set(CMAKE_REQUIRED_LIBRARIES atomic)
|
set(CMAKE_REQUIRED_LIBRARIES atomic)
|
||||||
check_cxx_source_compiles("${_source}" ATOMIC_OPS_WITH_LIBATOMIC)
|
check_cxx_source_compiles("${_source}" ATOMIC_OPS_WITH_LIBATOMIC)
|
||||||
unset(CMAKE_REQUIRED_LIBRARIES)
|
unset(CMAKE_REQUIRED_LIBRARIES)
|
||||||
|
|
||||||
if(ATOMIC_OPS_WITH_LIBATOMIC)
|
if(ATOMIC_OPS_WITH_LIBATOMIC)
|
||||||
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -latomic" PARENT_SCOPE)
|
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -latomic" PARENT_SCOPE)
|
||||||
else()
|
|
||||||
# Atomic operations are required part of Blender and it is not possible to process forward.
|
|
||||||
# We expect that either standard library or libatomic will make atomics to work. If both
|
|
||||||
# cases has failed something fishy o na bigger scope is going on.
|
|
||||||
message(FATAL_ERROR "Failed to detect required configuration for atomic operations")
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
@@ -1115,4 +1028,10 @@ if(PLATFORM_BUNDLED_LIBRARIES)
|
|||||||
# and because the build and install folder may be different.
|
# and because the build and install folder may be different.
|
||||||
set(CMAKE_SKIP_BUILD_RPATH FALSE)
|
set(CMAKE_SKIP_BUILD_RPATH FALSE)
|
||||||
list(APPEND CMAKE_BUILD_RPATH $ORIGIN/lib ${CMAKE_INSTALL_PREFIX_WITH_CONFIG}/lib)
|
list(APPEND CMAKE_BUILD_RPATH $ORIGIN/lib ${CMAKE_INSTALL_PREFIX_WITH_CONFIG}/lib)
|
||||||
|
|
||||||
|
# Environment variables to run precompiled executables that needed libraries.
|
||||||
|
list(JOIN PLATFORM_BUNDLED_LIBRARY_DIRS ":" _library_paths)
|
||||||
|
set(PLATFORM_ENV_BUILD "LD_LIBRARY_PATH=\"${_library_paths};${LD_LIBRARY_PATH}\"")
|
||||||
|
set(PLATFORM_ENV_INSTALL "LD_LIBRARY_PATH=${CMAKE_INSTALL_PREFIX_WITH_CONFIG}/lib/;$LD_LIBRARY_PATH")
|
||||||
|
unset(_library_paths)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -83,7 +83,7 @@ string(APPEND CMAKE_MODULE_LINKER_FLAGS " /SAFESEH:NO /ignore:4099")
|
|||||||
list(APPEND PLATFORM_LINKLIBS
|
list(APPEND PLATFORM_LINKLIBS
|
||||||
ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 Comctl32 version
|
ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 Comctl32 version
|
||||||
advapi32 shfolder shell32 ole32 oleaut32 uuid psapi Dbghelp Shlwapi
|
advapi32 shfolder shell32 ole32 oleaut32 uuid psapi Dbghelp Shlwapi
|
||||||
pathcch Shcore Dwmapi
|
pathcch Shcore Dwmapi Crypt32
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WITH_INPUT_IME)
|
if(WITH_INPUT_IME)
|
||||||
@@ -110,7 +110,41 @@ remove_cc_flag("/GR")
|
|||||||
|
|
||||||
# Make the Windows 8.1 API available for use.
|
# Make the Windows 8.1 API available for use.
|
||||||
add_definitions(-D_WIN32_WINNT=0x603)
|
add_definitions(-D_WIN32_WINNT=0x603)
|
||||||
include(build_files/cmake/platform/platform_win32_bundle_crt.cmake)
|
|
||||||
|
# First generate the manifest for tests since it will not need the dependency on the CRT.
|
||||||
|
configure_file(${CMAKE_SOURCE_DIR}/release/windows/manifest/blender.exe.manifest.in ${CMAKE_CURRENT_BINARY_DIR}/tests.exe.manifest @ONLY)
|
||||||
|
|
||||||
|
if(WITH_WINDOWS_BUNDLE_CRT)
|
||||||
|
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)
|
||||||
|
set(CMAKE_INSTALL_UCRT_LIBRARIES TRUE)
|
||||||
|
set(CMAKE_INSTALL_OPENMP_LIBRARIES ${WITH_OPENMP})
|
||||||
|
include(InstallRequiredSystemLibraries)
|
||||||
|
|
||||||
|
# ucrtbase(d).dll cannot be in the manifest, due to the way windows 10 handles
|
||||||
|
# redirects for this dll, for details see T88813.
|
||||||
|
foreach(lib ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS})
|
||||||
|
string(FIND ${lib} "ucrtbase" pos)
|
||||||
|
if(NOT pos EQUAL -1)
|
||||||
|
list(REMOVE_ITEM CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS ${lib})
|
||||||
|
install(FILES ${lib} DESTINATION . COMPONENT Libraries)
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
# Install the CRT to the blender.crt Sub folder.
|
||||||
|
install(FILES ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION ./blender.crt COMPONENT Libraries)
|
||||||
|
|
||||||
|
windows_generate_manifest(
|
||||||
|
FILES "${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS}"
|
||||||
|
OUTPUT "${CMAKE_BINARY_DIR}/blender.crt.manifest"
|
||||||
|
NAME "blender.crt"
|
||||||
|
)
|
||||||
|
|
||||||
|
install(FILES ${CMAKE_BINARY_DIR}/blender.crt.manifest DESTINATION ./blender.crt)
|
||||||
|
set(BUNDLECRT "<dependency><dependentAssembly><assemblyIdentity type=\"win32\" name=\"blender.crt\" version=\"1.0.0.0\" /></dependentAssembly></dependency>")
|
||||||
|
set(BUNDLECRT "${BUNDLECRT}<dependency><dependentAssembly><assemblyIdentity type=\"win32\" name=\"blender.shared\" version=\"1.0.0.0\" /></dependentAssembly></dependency>")
|
||||||
|
endif()
|
||||||
|
configure_file(${CMAKE_SOURCE_DIR}/release/windows/manifest/blender.exe.manifest.in ${CMAKE_CURRENT_BINARY_DIR}/blender.exe.manifest @ONLY)
|
||||||
|
|
||||||
|
|
||||||
remove_cc_flag("/MDd" "/MD" "/Zi")
|
remove_cc_flag("/MDd" "/MD" "/Zi")
|
||||||
|
|
||||||
if(MSVC_CLANG) # Clangs version of cl doesn't support all flags
|
if(MSVC_CLANG) # Clangs version of cl doesn't support all flags
|
||||||
@@ -150,10 +184,11 @@ endif()
|
|||||||
|
|
||||||
# Debug Symbol format
|
# Debug Symbol format
|
||||||
# sccache # MSVC_ASAN # format # why
|
# sccache # MSVC_ASAN # format # why
|
||||||
# ON # ON # Z7 # sccache will only play nice with Z7
|
# ON # ON # Z7 # sccache will only play nice with Z7.
|
||||||
# ON # OFF # Z7 # sccache will only play nice with Z7
|
# ON # OFF # Z7 # sccache will only play nice with Z7.
|
||||||
# OFF # ON # Zi # Asan will not play nice with Edit and Continue
|
# OFF # ON # Zi # Asan will not play nice with Edit and Continue.
|
||||||
# OFF # OFF # ZI # Neither asan nor sscache is enabled Edit and Continue is available
|
# OFF # OFF # ZI # Neither ASAN nor sscache is enabled Edit and
|
||||||
|
# Continue is available.
|
||||||
|
|
||||||
# Release Symbol format
|
# Release Symbol format
|
||||||
# sccache # MSVC_ASAN # format # why
|
# sccache # MSVC_ASAN # format # why
|
||||||
@@ -250,6 +285,11 @@ if(CMAKE_GENERATOR MATCHES "^Visual Studio.+" AND WITH_CLANG_TIDY)
|
|||||||
set(VS_CLANG_TIDY ON)
|
set(VS_CLANG_TIDY ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# To support building against both 3.4 and 3.5 lib folders, disable materialX if it is not found
|
||||||
|
set(MATERIALX_LIB_FOLDER_EXISTS EXISTS ${LIBDIR}/materialx)
|
||||||
|
set_and_warn_library_found("MaterialX" MATERIALX_LIB_FOLDER_EXISTS WITH_MATERIALX)
|
||||||
|
unset(MATERIALX_LIB_FOLDER_EXISTS)
|
||||||
|
|
||||||
# Mark libdir as system headers with a lower warn level, to resolve some warnings
|
# Mark libdir as system headers with a lower warn level, to resolve some warnings
|
||||||
# that we have very little control over
|
# that we have very little control over
|
||||||
if(NOT MSVC_CLANG AND # Available with MSVC 15.7+ but not for CLANG.
|
if(NOT MSVC_CLANG AND # Available with MSVC 15.7+ but not for CLANG.
|
||||||
@@ -326,18 +366,10 @@ if(WITH_FFTW3)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_IMAGE_WEBP)
|
if(WITH_IMAGE_WEBP)
|
||||||
windows_find_package(WebP)
|
|
||||||
if(NOT WEBP_FOUND)
|
|
||||||
if(EXISTS ${LIBDIR}/webp)
|
|
||||||
set(WEBP_INCLUDE_DIRS ${LIBDIR}/webp/include)
|
set(WEBP_INCLUDE_DIRS ${LIBDIR}/webp/include)
|
||||||
set(WEBP_ROOT_DIR ${LIBDIR}/webp)
|
set(WEBP_ROOT_DIR ${LIBDIR}/webp)
|
||||||
set(WEBP_LIBRARIES ${LIBDIR}/webp/lib/webp.lib ${LIBDIR}/webp/lib/webpdemux.lib ${LIBDIR}/webp/lib/webpmux.lib)
|
set(WEBP_LIBRARIES ${LIBDIR}/webp/lib/webp.lib ${LIBDIR}/webp/lib/webpdemux.lib ${LIBDIR}/webp/lib/webpmux.lib)
|
||||||
set(WEBP_FOUND ON)
|
set(WEBP_FOUND ON)
|
||||||
else()
|
|
||||||
message(STATUS "WITH_IMAGE_WEBP is ON but WEBP libraries are not found, setting WITH_IMAGE_WEBP=OFF")
|
|
||||||
set(WITH_IMAGE_WEBP OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_OPENCOLLADA)
|
if(WITH_OPENCOLLADA)
|
||||||
@@ -358,7 +390,6 @@ if(WITH_OPENCOLLADA)
|
|||||||
optimized ${OPENCOLLADA}/lib/opencollada/OpenCOLLADAStreamWriter.lib
|
optimized ${OPENCOLLADA}/lib/opencollada/OpenCOLLADAStreamWriter.lib
|
||||||
optimized ${OPENCOLLADA}/lib/opencollada/MathMLSolver.lib
|
optimized ${OPENCOLLADA}/lib/opencollada/MathMLSolver.lib
|
||||||
optimized ${OPENCOLLADA}/lib/opencollada/GeneratedSaxParser.lib
|
optimized ${OPENCOLLADA}/lib/opencollada/GeneratedSaxParser.lib
|
||||||
optimized ${OPENCOLLADA}/lib/opencollada/xml.lib
|
|
||||||
optimized ${OPENCOLLADA}/lib/opencollada/buffer.lib
|
optimized ${OPENCOLLADA}/lib/opencollada/buffer.lib
|
||||||
optimized ${OPENCOLLADA}/lib/opencollada/ftoa.lib
|
optimized ${OPENCOLLADA}/lib/opencollada/ftoa.lib
|
||||||
|
|
||||||
@@ -368,10 +399,14 @@ if(WITH_OPENCOLLADA)
|
|||||||
debug ${OPENCOLLADA}/lib/opencollada/OpenCOLLADAStreamWriter_d.lib
|
debug ${OPENCOLLADA}/lib/opencollada/OpenCOLLADAStreamWriter_d.lib
|
||||||
debug ${OPENCOLLADA}/lib/opencollada/MathMLSolver_d.lib
|
debug ${OPENCOLLADA}/lib/opencollada/MathMLSolver_d.lib
|
||||||
debug ${OPENCOLLADA}/lib/opencollada/GeneratedSaxParser_d.lib
|
debug ${OPENCOLLADA}/lib/opencollada/GeneratedSaxParser_d.lib
|
||||||
debug ${OPENCOLLADA}/lib/opencollada/xml_d.lib
|
|
||||||
debug ${OPENCOLLADA}/lib/opencollada/buffer_d.lib
|
debug ${OPENCOLLADA}/lib/opencollada/buffer_d.lib
|
||||||
debug ${OPENCOLLADA}/lib/opencollada/ftoa_d.lib
|
debug ${OPENCOLLADA}/lib/opencollada/ftoa_d.lib
|
||||||
)
|
)
|
||||||
|
if(EXISTS ${LIBDIR}/xml2/lib/libxml2s.lib) # 3.4 libraries
|
||||||
|
list(APPEND OPENCOLLADA_LIBRARIES ${LIBDIR}/xml2/lib/libxml2s.lib)
|
||||||
|
else()
|
||||||
|
list(APPEND OPENCOLLADA_LIBRARIES ${OPENCOLLADA}/lib/opencollada/xml.lib)
|
||||||
|
endif()
|
||||||
|
|
||||||
list(APPEND OPENCOLLADA_LIBRARIES ${OPENCOLLADA}/lib/opencollada/UTF.lib)
|
list(APPEND OPENCOLLADA_LIBRARIES ${OPENCOLLADA}/lib/opencollada/UTF.lib)
|
||||||
|
|
||||||
@@ -411,9 +446,12 @@ if(WITH_IMAGE_OPENEXR)
|
|||||||
set(IMATH_INCLUDE_DIR ${IMATH}/include)
|
set(IMATH_INCLUDE_DIR ${IMATH}/include)
|
||||||
set(IMATH_INCLUDE_DIRS ${IMATH_INCLUDE_DIR} ${IMATH}/include/Imath)
|
set(IMATH_INCLUDE_DIRS ${IMATH_INCLUDE_DIR} ${IMATH}/include/Imath)
|
||||||
set(IMATH_LIBPATH ${IMATH}/lib)
|
set(IMATH_LIBPATH ${IMATH}/lib)
|
||||||
|
if(EXISTS ${IMATH_LIBPATH}/Imath_s.lib)
|
||||||
|
set(IMATH_POSTFIX _s)
|
||||||
|
endif()
|
||||||
set(IMATH_LIBRARIES
|
set(IMATH_LIBRARIES
|
||||||
optimized ${IMATH_LIBPATH}/Imath_s.lib
|
optimized ${IMATH_LIBPATH}/Imath${IMATH_POSTFIX}.lib
|
||||||
debug ${IMATH_LIBPATH}/Imath_s_d.lib
|
debug ${IMATH_LIBPATH}/Imath${IMATH_POSTFIX}_d.lib
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
set(OPENEXR_ROOT_DIR ${LIBDIR}/openexr)
|
set(OPENEXR_ROOT_DIR ${LIBDIR}/openexr)
|
||||||
@@ -423,38 +461,26 @@ if(WITH_IMAGE_OPENEXR)
|
|||||||
warn_hardcoded_paths(OpenEXR)
|
warn_hardcoded_paths(OpenEXR)
|
||||||
set(OPENEXR ${LIBDIR}/openexr)
|
set(OPENEXR ${LIBDIR}/openexr)
|
||||||
set(OPENEXR_INCLUDE_DIR ${OPENEXR}/include)
|
set(OPENEXR_INCLUDE_DIR ${OPENEXR}/include)
|
||||||
set(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${IMATH_INCLUDE_DIRS} ${OPENEXR}/include/OpenEXR)
|
set(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${IMATH_INCLUDE_DIRS} ${OPENEXR_INCLUDE_DIR}/OpenEXR)
|
||||||
set(OPENEXR_LIBPATH ${OPENEXR}/lib)
|
set(OPENEXR_LIBPATH ${OPENEXR}/lib)
|
||||||
# Check if the 3.x library name exists
|
# Check if the blender 3.3 lib static library eixts
|
||||||
# if not assume this is a 2.x library folder
|
# if not assume this is a 3.4+ dynamic version.
|
||||||
if(EXISTS "${OPENEXR_LIBPATH}/OpenEXR_s.lib")
|
if(EXISTS "${OPENEXR_LIBPATH}/OpenEXR_s.lib")
|
||||||
|
set(OPENEXR_POSTFIX _s)
|
||||||
|
endif()
|
||||||
set(OPENEXR_LIBRARIES
|
set(OPENEXR_LIBRARIES
|
||||||
optimized ${OPENEXR_LIBPATH}/Iex_s.lib
|
optimized ${OPENEXR_LIBPATH}/Iex${OPENEXR_POSTFIX}.lib
|
||||||
optimized ${OPENEXR_LIBPATH}/IlmThread_s.lib
|
optimized ${OPENEXR_LIBPATH}/IlmThread${OPENEXR_POSTFIX}.lib
|
||||||
optimized ${OPENEXR_LIBPATH}/OpenEXR_s.lib
|
optimized ${OPENEXR_LIBPATH}/OpenEXR${OPENEXR_POSTFIX}.lib
|
||||||
optimized ${OPENEXR_LIBPATH}/OpenEXRCore_s.lib
|
optimized ${OPENEXR_LIBPATH}/OpenEXRCore${OPENEXR_POSTFIX}.lib
|
||||||
optimized ${OPENEXR_LIBPATH}/OpenEXRUtil_s.lib
|
optimized ${OPENEXR_LIBPATH}/OpenEXRUtil${OPENEXR_POSTFIX}.lib
|
||||||
debug ${OPENEXR_LIBPATH}/Iex_s_d.lib
|
debug ${OPENEXR_LIBPATH}/Iex${OPENEXR_POSTFIX}_d.lib
|
||||||
debug ${OPENEXR_LIBPATH}/IlmThread_s_d.lib
|
debug ${OPENEXR_LIBPATH}/IlmThread${OPENEXR_POSTFIX}_d.lib
|
||||||
debug ${OPENEXR_LIBPATH}/OpenEXR_s_d.lib
|
debug ${OPENEXR_LIBPATH}/OpenEXR${OPENEXR_POSTFIX}_d.lib
|
||||||
debug ${OPENEXR_LIBPATH}/OpenEXRCore_s_d.lib
|
debug ${OPENEXR_LIBPATH}/OpenEXRCore${OPENEXR_POSTFIX}_d.lib
|
||||||
debug ${OPENEXR_LIBPATH}/OpenEXRUtil_s_d.lib
|
debug ${OPENEXR_LIBPATH}/OpenEXRUtil${OPENEXR_POSTFIX}_d.lib
|
||||||
${IMATH_LIBRARIES}
|
${IMATH_LIBRARIES}
|
||||||
)
|
)
|
||||||
else()
|
|
||||||
set(OPENEXR_LIBRARIES
|
|
||||||
optimized ${OPENEXR_LIBPATH}/Iex_s.lib
|
|
||||||
optimized ${OPENEXR_LIBPATH}/Half_s.lib
|
|
||||||
optimized ${OPENEXR_LIBPATH}/IlmImf_s.lib
|
|
||||||
optimized ${OPENEXR_LIBPATH}/Imath_s.lib
|
|
||||||
optimized ${OPENEXR_LIBPATH}/IlmThread_s.lib
|
|
||||||
debug ${OPENEXR_LIBPATH}/Iex_s_d.lib
|
|
||||||
debug ${OPENEXR_LIBPATH}/Half_s_d.lib
|
|
||||||
debug ${OPENEXR_LIBPATH}/IlmImf_s_d.lib
|
|
||||||
debug ${OPENEXR_LIBPATH}/Imath_s_d.lib
|
|
||||||
debug ${OPENEXR_LIBPATH}/IlmThread_s_d.lib
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -524,38 +550,47 @@ if(WITH_BOOST)
|
|||||||
if(NOT BOOST_VERSION)
|
if(NOT BOOST_VERSION)
|
||||||
message(FATAL_ERROR "Unable to determine Boost version")
|
message(FATAL_ERROR "Unable to determine Boost version")
|
||||||
endif()
|
endif()
|
||||||
set(BOOST_POSTFIX "vc142-mt-x64-${BOOST_VERSION}.lib")
|
set(BOOST_POSTFIX "vc142-mt-x64-${BOOST_VERSION}")
|
||||||
set(BOOST_DEBUG_POSTFIX "vc142-mt-gd-x64-${BOOST_VERSION}.lib")
|
set(BOOST_DEBUG_POSTFIX "vc142-mt-gyd-x64-${BOOST_VERSION}")
|
||||||
if(NOT EXISTS ${BOOST_LIBPATH}/libboost_date_time-${BOOST_POSTFIX})
|
set(BOOST_PREFIX "")
|
||||||
# If the new library names do not exist fall back to the old ones
|
# This is file new in 3.4 if it does not exist, assume we are building against 3.3 libs
|
||||||
# to ease the transition period between the libs.
|
set(BOOST_34_TRIGGER_FILE ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_python310-${BOOST_DEBUG_POSTFIX}.lib)
|
||||||
set(BOOST_POSTFIX "vc141-mt-x64-${BOOST_VERSION}.lib")
|
if (NOT EXISTS ${BOOST_34_TRIGGER_FILE})
|
||||||
set(BOOST_DEBUG_POSTFIX "vc141-mt-gd-x64-${BOOST_VERSION}.lib")
|
set(BOOST_DEBUG_POSTFIX "vc142-mt-gd-x64-${BOOST_VERSION}")
|
||||||
|
set(BOOST_PREFIX "lib")
|
||||||
endif()
|
endif()
|
||||||
set(BOOST_LIBRARIES
|
set(BOOST_LIBRARIES
|
||||||
optimized ${BOOST_LIBPATH}/libboost_date_time-${BOOST_POSTFIX}
|
optimized ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_date_time-${BOOST_POSTFIX}.lib
|
||||||
optimized ${BOOST_LIBPATH}/libboost_filesystem-${BOOST_POSTFIX}
|
optimized ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_filesystem-${BOOST_POSTFIX}.lib
|
||||||
optimized ${BOOST_LIBPATH}/libboost_regex-${BOOST_POSTFIX}
|
optimized ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_regex-${BOOST_POSTFIX}.lib
|
||||||
optimized ${BOOST_LIBPATH}/libboost_system-${BOOST_POSTFIX}
|
optimized ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_system-${BOOST_POSTFIX}.lib
|
||||||
optimized ${BOOST_LIBPATH}/libboost_thread-${BOOST_POSTFIX}
|
optimized ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_thread-${BOOST_POSTFIX}.lib
|
||||||
optimized ${BOOST_LIBPATH}/libboost_chrono-${BOOST_POSTFIX}
|
optimized ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_chrono-${BOOST_POSTFIX}.lib
|
||||||
debug ${BOOST_LIBPATH}/libboost_date_time-${BOOST_DEBUG_POSTFIX}
|
debug ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_date_time-${BOOST_DEBUG_POSTFIX}.lib
|
||||||
debug ${BOOST_LIBPATH}/libboost_filesystem-${BOOST_DEBUG_POSTFIX}
|
debug ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_filesystem-${BOOST_DEBUG_POSTFIX}.lib
|
||||||
debug ${BOOST_LIBPATH}/libboost_regex-${BOOST_DEBUG_POSTFIX}
|
debug ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_regex-${BOOST_DEBUG_POSTFIX}.lib
|
||||||
debug ${BOOST_LIBPATH}/libboost_system-${BOOST_DEBUG_POSTFIX}
|
debug ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_system-${BOOST_DEBUG_POSTFIX}.lib
|
||||||
debug ${BOOST_LIBPATH}/libboost_thread-${BOOST_DEBUG_POSTFIX}
|
debug ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_thread-${BOOST_DEBUG_POSTFIX}.lib
|
||||||
debug ${BOOST_LIBPATH}/libboost_chrono-${BOOST_DEBUG_POSTFIX}
|
debug ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_chrono-${BOOST_DEBUG_POSTFIX}.lib
|
||||||
)
|
)
|
||||||
|
if (EXISTS ${BOOST_34_TRIGGER_FILE})
|
||||||
|
if(WITH_USD)
|
||||||
|
set(BOOST_PYTHON_LIBRARIES
|
||||||
|
debug ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_python310-${BOOST_DEBUG_POSTFIX}.lib
|
||||||
|
optimized ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_python310-${BOOST_POSTFIX}.lib
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
if(WITH_CYCLES AND WITH_CYCLES_OSL)
|
if(WITH_CYCLES AND WITH_CYCLES_OSL)
|
||||||
set(BOOST_LIBRARIES ${BOOST_LIBRARIES}
|
set(BOOST_LIBRARIES ${BOOST_LIBRARIES}
|
||||||
optimized ${BOOST_LIBPATH}/libboost_wave-${BOOST_POSTFIX}
|
optimized ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_wave-${BOOST_POSTFIX}.lib
|
||||||
debug ${BOOST_LIBPATH}/libboost_wave-${BOOST_DEBUG_POSTFIX}
|
debug ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_wave-${BOOST_DEBUG_POSTFIX}.lib
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
if(WITH_INTERNATIONAL)
|
if(WITH_INTERNATIONAL)
|
||||||
set(BOOST_LIBRARIES ${BOOST_LIBRARIES}
|
set(BOOST_LIBRARIES ${BOOST_LIBRARIES}
|
||||||
optimized ${BOOST_LIBPATH}/libboost_locale-${BOOST_POSTFIX}
|
optimized ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_locale-${BOOST_POSTFIX}.lib
|
||||||
debug ${BOOST_LIBPATH}/libboost_locale-${BOOST_DEBUG_POSTFIX}
|
debug ${BOOST_LIBPATH}/${BOOST_PREFIX}boost_locale-${BOOST_DEBUG_POSTFIX}.lib
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
else() # we found boost using find_package
|
else() # we found boost using find_package
|
||||||
@@ -572,14 +607,18 @@ if(WITH_OPENIMAGEIO)
|
|||||||
if(NOT OpenImageIO_FOUND)
|
if(NOT OpenImageIO_FOUND)
|
||||||
set(OPENIMAGEIO ${LIBDIR}/OpenImageIO)
|
set(OPENIMAGEIO ${LIBDIR}/OpenImageIO)
|
||||||
set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib)
|
set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib)
|
||||||
set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO}/include)
|
set(OPENIMAGEIO_INCLUDE_DIR ${OPENIMAGEIO}/include)
|
||||||
|
set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR})
|
||||||
set(OIIO_OPTIMIZED optimized ${OPENIMAGEIO_LIBPATH}/OpenImageIO.lib optimized ${OPENIMAGEIO_LIBPATH}/OpenImageIO_Util.lib)
|
set(OIIO_OPTIMIZED optimized ${OPENIMAGEIO_LIBPATH}/OpenImageIO.lib optimized ${OPENIMAGEIO_LIBPATH}/OpenImageIO_Util.lib)
|
||||||
set(OIIO_DEBUG debug ${OPENIMAGEIO_LIBPATH}/OpenImageIO_d.lib debug ${OPENIMAGEIO_LIBPATH}/OpenImageIO_Util_d.lib)
|
set(OIIO_DEBUG debug ${OPENIMAGEIO_LIBPATH}/OpenImageIO_d.lib debug ${OPENIMAGEIO_LIBPATH}/OpenImageIO_Util_d.lib)
|
||||||
set(OPENIMAGEIO_LIBRARIES ${OIIO_OPTIMIZED} ${OIIO_DEBUG})
|
set(OPENIMAGEIO_LIBRARIES ${OIIO_OPTIMIZED} ${OIIO_DEBUG})
|
||||||
endif()
|
endif()
|
||||||
set(OPENIMAGEIO_DEFINITIONS "-DUSE_TBB=0")
|
set(OPENIMAGEIO_DEFINITIONS "-DUSE_TBB=0")
|
||||||
set(OPENIMAGEIO_IDIFF "${OPENIMAGEIO}/bin/idiff.exe")
|
set(OPENIMAGEIO_IDIFF "${OPENIMAGEIO}/bin/idiff.exe")
|
||||||
|
# If the .dll does not exist, assume it is a static OIIO
|
||||||
|
if(NOT EXISTS ${OPENIMAGEIO}/bin/OpenImageIO.dll)
|
||||||
add_definitions(-DOIIO_STATIC_DEFINE)
|
add_definitions(-DOIIO_STATIC_DEFINE)
|
||||||
|
endif()
|
||||||
add_definitions(-DOIIO_NO_SSE=1)
|
add_definitions(-DOIIO_NO_SSE=1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -615,18 +654,25 @@ if(WITH_OPENCOLORIO)
|
|||||||
set(OPENCOLORIO ${LIBDIR}/OpenColorIO)
|
set(OPENCOLORIO ${LIBDIR}/OpenColorIO)
|
||||||
set(OPENCOLORIO_INCLUDE_DIRS ${OPENCOLORIO}/include)
|
set(OPENCOLORIO_INCLUDE_DIRS ${OPENCOLORIO}/include)
|
||||||
set(OPENCOLORIO_LIBPATH ${OPENCOLORIO}/lib)
|
set(OPENCOLORIO_LIBPATH ${OPENCOLORIO}/lib)
|
||||||
|
if(EXISTS ${OPENCOLORIO_LIBPATH}/libexpatMD.lib) # 3.4
|
||||||
set(OPENCOLORIO_LIBRARIES
|
set(OPENCOLORIO_LIBRARIES
|
||||||
optimized ${OPENCOLORIO_LIBPATH}/OpenColorIO.lib
|
optimized ${OPENCOLORIO_LIBPATH}/OpenColorIO.lib
|
||||||
optimized ${OPENCOLORIO_LIBPATH}/libyaml-cpp.lib
|
|
||||||
optimized ${OPENCOLORIO_LIBPATH}/libexpatMD.lib
|
optimized ${OPENCOLORIO_LIBPATH}/libexpatMD.lib
|
||||||
optimized ${OPENCOLORIO_LIBPATH}/pystring.lib
|
optimized ${OPENCOLORIO_LIBPATH}/pystring.lib
|
||||||
|
optimized ${OPENCOLORIO_LIBPATH}/libyaml-cpp.lib
|
||||||
debug ${OPENCOLORIO_LIBPATH}/OpencolorIO_d.lib
|
debug ${OPENCOLORIO_LIBPATH}/OpencolorIO_d.lib
|
||||||
debug ${OPENCOLORIO_LIBPATH}/libyaml-cpp_d.lib
|
|
||||||
debug ${OPENCOLORIO_LIBPATH}/libexpatdMD.lib
|
debug ${OPENCOLORIO_LIBPATH}/libexpatdMD.lib
|
||||||
debug ${OPENCOLORIO_LIBPATH}/pystring_d.lib
|
debug ${OPENCOLORIO_LIBPATH}/pystring_d.lib
|
||||||
|
debug ${OPENCOLORIO_LIBPATH}/libyaml-cpp_d.lib
|
||||||
|
)
|
||||||
|
set(OPENCOLORIO_DEFINITIONS "-DOpenColorIO_SKIP_IMPORTS")
|
||||||
|
else()
|
||||||
|
set(OPENCOLORIO_LIBRARIES
|
||||||
|
optimized ${OPENCOLORIO_LIBPATH}/OpenColorIO.lib
|
||||||
|
debug ${OPENCOLORIO_LIBPATH}/OpencolorIO_d.lib
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
set(OPENCOLORIO_DEFINITIONS "-DOpenColorIO_SKIP_IMPORTS")
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_OPENVDB)
|
if(WITH_OPENVDB)
|
||||||
@@ -679,11 +725,11 @@ endif()
|
|||||||
|
|
||||||
if(WITH_IMAGE_OPENJPEG)
|
if(WITH_IMAGE_OPENJPEG)
|
||||||
set(OPENJPEG ${LIBDIR}/openjpeg)
|
set(OPENJPEG ${LIBDIR}/openjpeg)
|
||||||
set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include/openjpeg-2.4)
|
set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include/openjpeg-2.5)
|
||||||
if(NOT EXISTS "${OPENJPEG_INCLUDE_DIRS}")
|
if(NOT EXISTS "${OPENJPEG_INCLUDE_DIRS}")
|
||||||
# when not found, could be an older lib folder with openjpeg 2.3
|
# when not found, could be an older lib folder with openjpeg 2.4
|
||||||
# to ease the transition period, fall back if 2.4 is not found.
|
# to ease the transition period, fall back if 2.5 is not found.
|
||||||
set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include/openjpeg-2.3)
|
set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include/openjpeg-2.4)
|
||||||
endif()
|
endif()
|
||||||
set(OPENJPEG_LIBRARIES ${OPENJPEG}/lib/openjp2.lib)
|
set(OPENJPEG_LIBRARIES ${OPENJPEG}/lib/openjp2.lib)
|
||||||
endif()
|
endif()
|
||||||
@@ -700,12 +746,6 @@ if(WITH_OPENSUBDIV)
|
|||||||
debug ${OPENSUBDIV_LIBPATH}/osdCPU_d.lib
|
debug ${OPENSUBDIV_LIBPATH}/osdCPU_d.lib
|
||||||
debug ${OPENSUBDIV_LIBPATH}/osdGPU_d.lib
|
debug ${OPENSUBDIV_LIBPATH}/osdGPU_d.lib
|
||||||
)
|
)
|
||||||
set(OPENSUBDIV_HAS_OPENMP TRUE)
|
|
||||||
set(OPENSUBDIV_HAS_TBB FALSE)
|
|
||||||
set(OPENSUBDIV_HAS_OPENCL TRUE)
|
|
||||||
set(OPENSUBDIV_HAS_CUDA FALSE)
|
|
||||||
set(OPENSUBDIV_HAS_GLSL_TRANSFORM_FEEDBACK TRUE)
|
|
||||||
set(OPENSUBDIV_HAS_GLSL_COMPUTE TRUE)
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -773,9 +813,11 @@ if(WITH_CYCLES AND WITH_CYCLES_OSL)
|
|||||||
find_library(OSL_LIB_EXEC NAMES oslexec PATHS ${CYCLES_OSL}/lib)
|
find_library(OSL_LIB_EXEC NAMES oslexec PATHS ${CYCLES_OSL}/lib)
|
||||||
find_library(OSL_LIB_COMP NAMES oslcomp PATHS ${CYCLES_OSL}/lib)
|
find_library(OSL_LIB_COMP NAMES oslcomp PATHS ${CYCLES_OSL}/lib)
|
||||||
find_library(OSL_LIB_QUERY NAMES oslquery PATHS ${CYCLES_OSL}/lib)
|
find_library(OSL_LIB_QUERY NAMES oslquery PATHS ${CYCLES_OSL}/lib)
|
||||||
|
find_library(OSL_LIB_NOISE NAMES oslnoise PATHS ${CYCLES_OSL}/lib)
|
||||||
find_library(OSL_LIB_EXEC_DEBUG NAMES oslexec_d PATHS ${CYCLES_OSL}/lib)
|
find_library(OSL_LIB_EXEC_DEBUG NAMES oslexec_d PATHS ${CYCLES_OSL}/lib)
|
||||||
find_library(OSL_LIB_COMP_DEBUG NAMES oslcomp_d PATHS ${CYCLES_OSL}/lib)
|
find_library(OSL_LIB_COMP_DEBUG NAMES oslcomp_d PATHS ${CYCLES_OSL}/lib)
|
||||||
find_library(OSL_LIB_QUERY_DEBUG NAMES oslquery_d PATHS ${CYCLES_OSL}/lib)
|
find_library(OSL_LIB_QUERY_DEBUG NAMES oslquery_d PATHS ${CYCLES_OSL}/lib)
|
||||||
|
find_library(OSL_LIB_NOISE_DEBUG NAMES oslnoise_d PATHS ${CYCLES_OSL}/lib)
|
||||||
list(APPEND OSL_LIBRARIES
|
list(APPEND OSL_LIBRARIES
|
||||||
optimized ${OSL_LIB_COMP}
|
optimized ${OSL_LIB_COMP}
|
||||||
optimized ${OSL_LIB_EXEC}
|
optimized ${OSL_LIB_EXEC}
|
||||||
@@ -785,15 +827,22 @@ if(WITH_CYCLES AND WITH_CYCLES_OSL)
|
|||||||
debug ${OSL_LIB_QUERY_DEBUG}
|
debug ${OSL_LIB_QUERY_DEBUG}
|
||||||
${PUGIXML_LIBRARIES}
|
${PUGIXML_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
if(OSL_LIB_NOISE)
|
||||||
|
list(APPEND OSL_LIBRARIES optimized ${OSL_LIB_NOISE})
|
||||||
|
endif()
|
||||||
|
if(OSL_LIB_NOISE_DEBUG)
|
||||||
|
list(APPEND OSL_LIBRARIES debug ${OSL_LIB_NOISE_DEBUG})
|
||||||
|
endif()
|
||||||
find_path(OSL_INCLUDE_DIR OSL/oslclosure.h PATHS ${CYCLES_OSL}/include)
|
find_path(OSL_INCLUDE_DIR OSL/oslclosure.h PATHS ${CYCLES_OSL}/include)
|
||||||
find_program(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin)
|
find_program(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin)
|
||||||
|
file(STRINGS "${OSL_INCLUDE_DIR}/OSL/oslversion.h" OSL_LIBRARY_VERSION_MAJOR
|
||||||
if(OSL_INCLUDE_DIR AND OSL_LIBRARIES AND OSL_COMPILER)
|
REGEX "^[ \t]*#define[ \t]+OSL_LIBRARY_VERSION_MAJOR[ \t]+[0-9]+.*$")
|
||||||
set(OSL_FOUND TRUE)
|
file(STRINGS "${OSL_INCLUDE_DIR}/OSL/oslversion.h" OSL_LIBRARY_VERSION_MINOR
|
||||||
else()
|
REGEX "^[ \t]*#define[ \t]+OSL_LIBRARY_VERSION_MINOR[ \t]+[0-9]+.*$")
|
||||||
message(STATUS "OSL not found")
|
string(REGEX REPLACE ".*#define[ \t]+OSL_LIBRARY_VERSION_MAJOR[ \t]+([.0-9]+).*"
|
||||||
set(WITH_CYCLES_OSL OFF)
|
"\\1" OSL_LIBRARY_VERSION_MAJOR ${OSL_LIBRARY_VERSION_MAJOR})
|
||||||
endif()
|
string(REGEX REPLACE ".*#define[ \t]+OSL_LIBRARY_VERSION_MINOR[ \t]+([.0-9]+).*"
|
||||||
|
"\\1" OSL_LIBRARY_VERSION_MINOR ${OSL_LIBRARY_VERSION_MINOR})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_CYCLES AND WITH_CYCLES_EMBREE)
|
if(WITH_CYCLES AND WITH_CYCLES_EMBREE)
|
||||||
@@ -827,16 +876,21 @@ endif()
|
|||||||
if(WITH_USD)
|
if(WITH_USD)
|
||||||
windows_find_package(USD)
|
windows_find_package(USD)
|
||||||
if(NOT USD_FOUND)
|
if(NOT USD_FOUND)
|
||||||
|
# 3.5 22.03 libs
|
||||||
set(USD_INCLUDE_DIRS ${LIBDIR}/usd/include)
|
set(USD_INCLUDE_DIRS ${LIBDIR}/usd/include)
|
||||||
set(USD_RELEASE_LIB ${LIBDIR}/usd/lib/usd_usd_m.lib)
|
set(USD_RELEASE_LIB ${LIBDIR}/usd/lib/usd_usd_ms.lib)
|
||||||
set(USD_DEBUG_LIB ${LIBDIR}/usd/lib/usd_usd_m_d.lib)
|
set(USD_DEBUG_LIB ${LIBDIR}/usd/lib/usd_usd_ms_d.lib)
|
||||||
set(USD_LIBRARY_DIR ${LIBDIR}/usd/lib)
|
set(USD_LIBRARY_DIR ${LIBDIR}/usd/lib)
|
||||||
|
if(NOT EXISTS "${USD_RELEASE_LIB}") # 3.5 22.11 libs
|
||||||
|
set(USD_RELEASE_LIB ${LIBDIR}/usd/lib/usd_ms.lib)
|
||||||
|
set(USD_DEBUG_LIB ${LIBDIR}/usd/lib/usd_ms_d.lib)
|
||||||
|
endif()
|
||||||
# Older USD had different filenames, if the new ones are
|
# Older USD had different filenames, if the new ones are
|
||||||
# not found see if the older ones exist, to ease the
|
# not found see if the older ones exist, to ease the
|
||||||
# transition period while landing libs.
|
# transition period while landing libs.
|
||||||
if(NOT EXISTS "${USD_RELEASE_LIB}")
|
if(NOT EXISTS "${USD_RELEASE_LIB}") # 3.3 static libs
|
||||||
set(USD_RELEASE_LIB ${LIBDIR}/usd/lib/libusd_m.lib)
|
set(USD_RELEASE_LIB ${LIBDIR}/usd/lib/usd_usd_m.lib)
|
||||||
set(USD_DEBUG_LIB ${LIBDIR}/usd/lib/libusd_m_d.lib)
|
set(USD_DEBUG_LIB ${LIBDIR}/usd/lib/usd_usd_m_d.lib)
|
||||||
endif()
|
endif()
|
||||||
set(USD_LIBRARIES
|
set(USD_LIBRARIES
|
||||||
debug ${USD_DEBUG_LIB}
|
debug ${USD_DEBUG_LIB}
|
||||||
@@ -893,7 +947,6 @@ if(WINDOWS_PYTHON_DEBUG)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_XR_OPENXR)
|
if(WITH_XR_OPENXR)
|
||||||
if(EXISTS ${LIBDIR}/xr_openxr_sdk)
|
|
||||||
set(XR_OPENXR_SDK ${LIBDIR}/xr_openxr_sdk)
|
set(XR_OPENXR_SDK ${LIBDIR}/xr_openxr_sdk)
|
||||||
set(XR_OPENXR_SDK_LIBPATH ${LIBDIR}/xr_openxr_sdk/lib)
|
set(XR_OPENXR_SDK_LIBPATH ${LIBDIR}/xr_openxr_sdk/lib)
|
||||||
set(XR_OPENXR_SDK_INCLUDE_DIR ${XR_OPENXR_SDK}/include)
|
set(XR_OPENXR_SDK_INCLUDE_DIR ${XR_OPENXR_SDK}/include)
|
||||||
@@ -905,10 +958,6 @@ if(WITH_XR_OPENXR)
|
|||||||
else()
|
else()
|
||||||
set(XR_OPENXR_SDK_LIBRARIES optimized ${XR_OPENXR_SDK_LIBPATH}/openxr_loader.lib debug ${XR_OPENXR_SDK_LIBPATH}/openxr_loaderd.lib)
|
set(XR_OPENXR_SDK_LIBRARIES optimized ${XR_OPENXR_SDK_LIBPATH}/openxr_loader.lib debug ${XR_OPENXR_SDK_LIBPATH}/openxr_loaderd.lib)
|
||||||
endif()
|
endif()
|
||||||
else()
|
|
||||||
message(WARNING "OpenXR-SDK was not found, disabling WITH_XR_OPENXR")
|
|
||||||
set(WITH_XR_OPENXR OFF)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_GMP)
|
if(WITH_GMP)
|
||||||
@@ -925,18 +974,27 @@ if(WITH_POTRACE)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_HARU)
|
if(WITH_HARU)
|
||||||
if(EXISTS ${LIBDIR}/haru)
|
|
||||||
set(HARU_FOUND ON)
|
set(HARU_FOUND ON)
|
||||||
set(HARU_ROOT_DIR ${LIBDIR}/haru)
|
set(HARU_ROOT_DIR ${LIBDIR}/haru)
|
||||||
set(HARU_INCLUDE_DIRS ${HARU_ROOT_DIR}/include)
|
set(HARU_INCLUDE_DIRS ${HARU_ROOT_DIR}/include)
|
||||||
set(HARU_LIBRARIES ${HARU_ROOT_DIR}/lib/libhpdfs.lib)
|
set(HARU_LIBRARIES ${HARU_ROOT_DIR}/lib/libhpdfs.lib)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WITH_VULKAN_BACKEND)
|
||||||
|
if(EXISTS ${LIBDIR}/vulkan)
|
||||||
|
set(VULKAN_FOUND On)
|
||||||
|
set(VULKAN_ROOT_DIR ${LIBDIR}/vulkan)
|
||||||
|
set(VULKAN_INCLUDE_DIR ${VULKAN_ROOT_DIR}/include)
|
||||||
|
set(VULKAN_INCLUDE_DIRS ${VULKAN_INCLUDE_DIR})
|
||||||
|
set(VULKAN_LIBRARY ${VULKAN_ROOT_DIR}/lib/vulkan-1.lib)
|
||||||
|
set(VULKAN_LIBRARIES ${VULKAN_LIBRARY})
|
||||||
else()
|
else()
|
||||||
message(WARNING "Haru was not found, disabling WITH_HARU")
|
message(WARNING "Vulkan SDK was not found, disabling WITH_VULKAN_BACKEND")
|
||||||
set(WITH_HARU OFF)
|
set(WITH_VULKAN_BACKEND OFF)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_CYCLES_PATH_GUIDING)
|
if(WITH_CYCLES AND WITH_CYCLES_PATH_GUIDING)
|
||||||
find_package(openpgl QUIET)
|
find_package(openpgl QUIET)
|
||||||
if(openpgl_FOUND)
|
if(openpgl_FOUND)
|
||||||
get_target_property(OPENPGL_LIBRARIES_RELEASE openpgl::openpgl LOCATION_RELEASE)
|
get_target_property(OPENPGL_LIBRARIES_RELEASE openpgl::openpgl LOCATION_RELEASE)
|
||||||
@@ -952,7 +1010,7 @@ endif()
|
|||||||
set(ZSTD_INCLUDE_DIRS ${LIBDIR}/zstd/include)
|
set(ZSTD_INCLUDE_DIRS ${LIBDIR}/zstd/include)
|
||||||
set(ZSTD_LIBRARIES ${LIBDIR}/zstd/lib/zstd_static.lib)
|
set(ZSTD_LIBRARIES ${LIBDIR}/zstd/lib/zstd_static.lib)
|
||||||
|
|
||||||
if(WITH_CYCLES_DEVICE_ONEAPI)
|
if(WITH_CYCLES AND WITH_CYCLES_DEVICE_ONEAPI)
|
||||||
set(LEVEL_ZERO_ROOT_DIR ${LIBDIR}/level_zero)
|
set(LEVEL_ZERO_ROOT_DIR ${LIBDIR}/level_zero)
|
||||||
set(CYCLES_SYCL ${LIBDIR}/dpcpp CACHE PATH "Path to oneAPI DPC++ compiler")
|
set(CYCLES_SYCL ${LIBDIR}/dpcpp CACHE PATH "Path to oneAPI DPC++ compiler")
|
||||||
if(EXISTS ${CYCLES_SYCL} AND NOT SYCL_ROOT_DIR)
|
if(EXISTS ${CYCLES_SYCL} AND NOT SYCL_ROOT_DIR)
|
||||||
@@ -968,7 +1026,22 @@ if(WITH_CYCLES_DEVICE_ONEAPI)
|
|||||||
endforeach()
|
endforeach()
|
||||||
unset(_sycl_runtime_libraries_glob)
|
unset(_sycl_runtime_libraries_glob)
|
||||||
|
|
||||||
list(APPEND _sycl_runtime_libraries ${SYCL_ROOT_DIR}/bin/pi_level_zero.dll)
|
file(GLOB _sycl_pi_runtime_libraries_glob
|
||||||
|
${SYCL_ROOT_DIR}/bin/pi_*.dll
|
||||||
|
)
|
||||||
|
list(REMOVE_ITEM _sycl_pi_runtime_libraries_glob "${SYCL_ROOT_DIR}/bin/pi_opencl.dll")
|
||||||
|
list (APPEND _sycl_runtime_libraries ${_sycl_pi_runtime_libraries_glob})
|
||||||
|
unset(_sycl_pi_runtime_libraries_glob)
|
||||||
|
|
||||||
list(APPEND PLATFORM_BUNDLED_LIBRARIES ${_sycl_runtime_libraries})
|
list(APPEND PLATFORM_BUNDLED_LIBRARIES ${_sycl_runtime_libraries})
|
||||||
unset(_sycl_runtime_libraries)
|
unset(_sycl_runtime_libraries)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
# Environment variables to run precompiled executables that needed libraries.
|
||||||
|
list(JOIN PLATFORM_BUNDLED_LIBRARY_DIRS ";" _library_paths)
|
||||||
|
set(PLATFORM_ENV_BUILD_DIRS "${LIBDIR}/OpenImageIO/bin\;${LIBDIR}/boost/lib\;${LIBDIR}/openexr/bin\;${LIBDIR}/imath/bin\;${PATH}")
|
||||||
|
set(PLATFORM_ENV_BUILD "PATH=${PLATFORM_ENV_BUILD_DIRS}")
|
||||||
|
# Install needs the additional folders from PLATFORM_ENV_BUILD_DIRS as well, as tools like idiff and abcls use the release mode dlls
|
||||||
|
set(PLATFORM_ENV_INSTALL "PATH=${CMAKE_INSTALL_PREFIX_WITH_CONFIG}/blender.shared/\;${PLATFORM_ENV_BUILD_DIRS}\;$ENV{PATH}")
|
||||||
|
unset(_library_paths)
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user