Compare commits
2597 Commits
openvdb
...
fracture_m
Author | SHA1 | Date | |
---|---|---|---|
32fef3040f | |||
233ad61cb8 | |||
969fca718a | |||
af7032e9f0 | |||
9c1016b74e | |||
7a37dbbaeb | |||
a2fb21104a | |||
33222dd8f6 | |||
0001491d57 | |||
6c12b6559e | |||
38d5aa3a58 | |||
e510259377 | |||
74d4e4c443 | |||
8df4ac8a84 | |||
e6ce7b9805 | |||
463f165dbf | |||
c8d6bba3cc | |||
7a18c905bf | |||
8b322524c9 | |||
5183a1d0ed | |||
7da0f0671a | |||
3fa179f341 | |||
982720cffe | |||
cdf05d154a | |||
a607ddd66a | |||
07e497db29 | |||
d6b6484931 | |||
5aeff9291f | |||
f0aef2afe9 | |||
d846f810b2 | |||
c5cf0667cb | |||
882642157c | |||
16b07fb08d | |||
3436ed8df7 | |||
63ec1f4f9d | |||
ea4be4d1b1 | |||
f811c08407 | |||
0f15570266 | |||
b82de8463b | |||
1d880e8e0b | |||
9a21afd18d | |||
d3b52a6cbc | |||
da4854a8b8 | |||
f3ce2881c3 | |||
dac9244425 | |||
192ae864f4 | |||
18ba072f17 | |||
d451c4e831 | |||
16ccab4748 | |||
f4dc9f9d68 | |||
6f07673ce4 | |||
150dee260e | |||
55872de560 | |||
6bf458dfff | |||
61c3317688 | |||
0253b16180 | |||
3ed28ccb93 | |||
d791f3522e | |||
557e1b02de | |||
5da3aecefd | |||
241c142248 | |||
c5db594b92 | |||
e57a1bb86b | |||
4697e491b4 | |||
852d63b835 | |||
8ec398d401 | |||
9accd8852b | |||
c381b3fadc | |||
3cc1faf118 | |||
d39fb8ffbb | |||
930b6a0540 | |||
882cf08e5e | |||
fb8acd8b33 | |||
e88359152a | |||
fb4fcd6e01 | |||
8928d99270 | |||
9e707802c2 | |||
ae358f92e6 | |||
db0f53ae3c | |||
09aaee5640 | |||
dc5aaac3a2 | |||
a4dbff33c9 | |||
750798a777 | |||
76dfe5f0b4 | |||
446ed1c516 | |||
4e1c31ca7b | |||
59cc0bfef5 | |||
9268ff4b21 | |||
7ae9b96ac6 | |||
bc891ad124 | |||
3982a36c10 | |||
f5c0df3601 | |||
81697c772c | |||
6f45c9d6c6 | |||
d1281bf993 | |||
c40e9a1ad2 | |||
748ada90b5 | |||
6868e0a7d9 | |||
6249febf45 | |||
d16510425f | |||
c491b50139 | |||
4eb44b8610 | |||
97a677e788 | |||
21f19224f3 | |||
c3d5668516 | |||
032b14a951 | |||
f29a691fb4 | |||
f6abf9d0ba | |||
e5917d624e | |||
ea82f4ce4e | |||
bac2541ffa | |||
3e2909cf9d | |||
1052497aad | |||
567b4fa794 | |||
d7c7ce2a7b | |||
f5ef3a7d81 | |||
de563552da | |||
3ee1a7978f | |||
a73b390f48 | |||
0e37c98257 | |||
8fedf97883 | |||
0859c99bf2 | |||
4c1bed0a12 | |||
95a31c8a3a | |||
d68f53a3f3 | |||
2f5a027b94 | |||
da98a2c5ff | |||
3691bf1a20 | |||
61335d853d | |||
43d1bfea40 | |||
4cda3e2d87 | |||
dc4afef1da | |||
8553449cf2 | |||
af83535dd0 | |||
a3616980c6 | |||
2f6d7946a4 | |||
c3237cdc13 | |||
417170159a | |||
6036bf7497 | |||
a50c381fac | |||
b90f3928a3 | |||
cae8c68ca6 | |||
79563d2a33 | |||
82f7726549 | |||
b6481cbbe5 | |||
5b3538e02a | |||
c3873a5156 | |||
8dbd5ea4c8 | |||
9287434fa1 | |||
2ae9d757b3 | |||
04c5131281 | |||
16718fe4ea | |||
a972729895 | |||
5ddcad4377 | |||
8fd65dc0e9 | |||
f72e6fcdfa | |||
022d64008e | |||
7ef50296e0 | |||
80671518eb | |||
91ce295796 | |||
db72a8a6e0 | |||
13973a5bbf | |||
824c039230 | |||
![]() |
a623c02569 | ||
![]() |
b3adce7766 | ||
30a0459f2c | |||
2ca933f457 | |||
758d7350d6 | |||
2a41da1d91 | |||
f12ab4e196 | |||
7b8b621c1d | |||
6a86a1f082 | |||
e9548a6184 | |||
20cccb1561 | |||
57b11d8b4e | |||
38357cd004 | |||
d0e0f33f57 | |||
ee7042173c | |||
91ea5336a5 | |||
db74c06dd6 | |||
e4e2e3a15d | |||
71e0894e0d | |||
72151f3e36 | |||
83b0603061 | |||
b01fe3bf01 | |||
4c8aa61be2 | |||
a1d05ac2a1 | |||
0c365472b6 | |||
010cf35e7e | |||
2a9abc0f5e | |||
![]() |
e4dce3b3d7 | ||
243b961c29 | |||
42e207b599 | |||
32fb50179f | |||
![]() |
c70a45027d | ||
8f7030e5f3 | |||
405874bd79 | |||
6afe655be0 | |||
c721f93958 | |||
dfed7c48ac | |||
391f7cc406 | |||
b6f3fec259 | |||
49f57e5346 | |||
9a5320aea3 | |||
85dc915413 | |||
4c46f69376 | |||
b8bdca8c0a | |||
ba40d8f331 | |||
3ad84309df | |||
09c387269a | |||
259e9ad00d | |||
d305c10104 | |||
9f916baa70 | |||
754630cee4 | |||
00d8097510 | |||
7377b36660 | |||
17c00d222f | |||
1b8e8326b4 | |||
3ffb0f6983 | |||
6f19787e52 | |||
0596d208a0 | |||
76032b133c | |||
8cdda3d2ad | |||
7103c6ef3b | |||
075950ad66 | |||
93d711ce55 | |||
d91b6099a6 | |||
d5dbe0c566 | |||
c8f95c7829 | |||
26ffade5c1 | |||
1611177ac9 | |||
1c32d67f46 | |||
c63e08863d | |||
528e00dae0 | |||
a123dafdc0 | |||
![]() |
1f50f0676a | ||
4f247ed07a | |||
868bde5920 | |||
02b206780e | |||
8ca11b7084 | |||
8c484d0bda | |||
3815c3a324 | |||
36971ea276 | |||
38fdfe757d | |||
6cba84edf2 | |||
9f0ebb0941 | |||
571e801b27 | |||
7622563ae3 | |||
facc7658db | |||
054d6d7ac3 | |||
71ffddfa0f | |||
ad2e6534cc | |||
08cd50dcde | |||
d88b0ac261 | |||
7735128993 | |||
942b6e933b | |||
eaeb0a002e | |||
71d79e6ea2 | |||
a68cc528dd | |||
e79e0c7483 | |||
4a457d4f1e | |||
1b6130533f | |||
9d501d23cb | |||
39fc93208a | |||
9298d99b77 | |||
9e18fcbb36 | |||
ef5b7d34a1 | |||
426616da43 | |||
9be59fa752 | |||
93d3015e61 | |||
fe3f504902 | |||
9299936726 | |||
8131eda51e | |||
569d2df634 | |||
6e133ad8b1 | |||
58ab62ed6d | |||
0834eefae0 | |||
34857b2032 | |||
78cc3c828f | |||
04125d8a9c | |||
659dc34823 | |||
eaf14b1ebf | |||
866be3423c | |||
440d647cc1 | |||
cd9c68f0c5 | |||
f1ee24a284 | |||
df1af9b349 | |||
836a1ccf72 | |||
c4f8d924e1 | |||
08e16e0bd1 | |||
969196069a | |||
6cfc5edb86 | |||
99e4c819f7 | |||
ca236408f3 | |||
f887b8b230 | |||
48079e1f11 | |||
bae796f0d5 | |||
![]() |
02bac54fa9 | ||
![]() |
8f9d9ba14e | ||
![]() |
576899b90a | ||
0f841e24b0 | |||
![]() |
ce35151f38 | ||
3659620b47 | |||
f3002ab43b | |||
3a1ade22e5 | |||
b5c629e604 | |||
89de073ea5 | |||
0cdfe887b4 | |||
7de7e47a97 | |||
2213153c27 | |||
ef04aa4a43 | |||
538182511a | |||
3532fe2b8b | |||
3182336666 | |||
5efc8e16e6 | |||
7947eead71 | |||
8cd3bd99f7 | |||
e7aad8fd0e | |||
bf58ec9265 | |||
1c7657befb | |||
333ef6e6f7 | |||
ad7385422e | |||
ad834085b7 | |||
2edc2b4912 | |||
d87bf29399 | |||
990ce0c4f0 | |||
f0743b56ec | |||
350f5c6894 | |||
69062cdd8d | |||
3163d0e205 | |||
aafe528c7d | |||
9c39f021ad | |||
cdc35e63bd | |||
3a0f199aa7 | |||
b0c55d5c94 | |||
759af7f1ee | |||
c616dd58c6 | |||
4bc89d815c | |||
8a9d64b578 | |||
50ca70b275 | |||
ff8c9c5931 | |||
06df30a415 | |||
5f2307d1a7 | |||
3193045c59 | |||
2895cb22a7 | |||
01ff07af56 | |||
6d640504e8 | |||
5ab1897de7 | |||
75aec5eeaa | |||
0c456eb90a | |||
6639350f92 | |||
ce6e30b3dc | |||
69f6ab98e7 | |||
3e3a27d089 | |||
a253b1b7bc | |||
6058b651c4 | |||
98dc9072e5 | |||
6b2d1f63db | |||
275002106c | |||
413817a3d2 | |||
869e4a3420 | |||
84361a0709 | |||
52a5daa404 | |||
db3e3f9c24 | |||
19b27d84ab | |||
480b0b5dfc | |||
7153cee305 | |||
d2d207773e | |||
8ea3f6438d | |||
60e8d86fb1 | |||
1ab828d4bb | |||
7f6e9c595b | |||
b0fbe95a1b | |||
8c9bebfe28 | |||
9f032c3867 | |||
eaba111bd5 | |||
b969f7eb55 | |||
4c3e2518c8 | |||
a437b9bbbe | |||
d07011da71 | |||
acae901a10 | |||
495aa77b53 | |||
e627620efd | |||
7d872629c4 | |||
60bfa969e2 | |||
d89353159f | |||
21ecdacdf1 | |||
0641069778 | |||
5b2d5f9077 | |||
f901bf6f47 | |||
198fd0be43 | |||
f968268c1e | |||
2bc667ec79 | |||
d564beda44 | |||
f1a4e130b3 | |||
36f324fc55 | |||
bb89759624 | |||
825aecaee3 | |||
1dbdcfe9a9 | |||
a6e5558194 | |||
6bd1189e5c | |||
625b2f5dab | |||
20c96cce86 | |||
c85a305c09 | |||
30f53d56b6 | |||
47a388b2a9 | |||
9f6d5d679e | |||
a4116673c7 | |||
7e4be7d348 | |||
8e43a9e9cc | |||
5384b2a6e2 | |||
e8e40b171b | |||
882fe36f0d | |||
ce058207fc | |||
1dbaf88150 | |||
1151442204 | |||
d165b13ee4 | |||
4945003ffd | |||
23a9504df1 | |||
026b847bd9 | |||
e8c6f05eba | |||
656ab1cf6a | |||
1da64c2540 | |||
24f93213f2 | |||
c77878abab | |||
16f161e5f6 | |||
9bf8ba16c2 | |||
01a589c0af | |||
3d3ece2c67 | |||
df7d0e5423 | |||
dbd1212dfb | |||
a96832cd21 | |||
7babce3052 | |||
95ae90cab0 | |||
93bf8fc8e1 | |||
1010cdf421 | |||
fc58dbc186 | |||
e8958954ba | |||
fa7a666e2b | |||
4bc10e6a81 | |||
aacada54f8 | |||
d99e1dc283 | |||
c5e7265b1e | |||
57d70b3c87 | |||
d13f6ae2bf | |||
855d2955c4 | |||
28f2865cfa | |||
993c98779c | |||
3955fb3dcc | |||
8c97b99daf | |||
fa859b0d72 | |||
8ef39d5c88 | |||
5bd8ac9abf | |||
9a9e9b1c4d | |||
904831e62e | |||
1a7dda046b | |||
82466852fe | |||
fbb4be061c | |||
87cc8550e2 | |||
ccf1bb11b6 | |||
9ae35fafb6 | |||
7c3b435c3a | |||
9cc7e32f39 | |||
9f0acc2c9e | |||
300abf241e | |||
9da098536d | |||
3aaf908719 | |||
a67aae98fe | |||
163a196f29 | |||
b895c7337e | |||
a8bd08ffdd | |||
e91f9f664d | |||
d84f559555 | |||
ec50734106 | |||
a8c7f1329b | |||
9b7d506779 | |||
2deeec9e28 | |||
![]() |
9ca3d4cbbd | ||
0bee126977 | |||
c9d653e560 | |||
1ae3056261 | |||
5f17d47629 | |||
edded659c6 | |||
95d871c1a2 | |||
4b90830cac | |||
a1e8ef264f | |||
f5d02f055f | |||
ed0429e7e6 | |||
27c42e05c4 | |||
374ddd022c | |||
8a254b6271 | |||
8193e50fd3 | |||
8c4b4fdd14 | |||
5fd4eca8c0 | |||
6fec06926e | |||
bb92bb5329 | |||
7997646c2d | |||
0ed5605bd5 | |||
76e8dcafa3 | |||
73cdf00ea8 | |||
![]() |
ecdb16d1d8 | ||
022b9676b0 | |||
e9ca9dd5d7 | |||
82a6889d83 | |||
a5213924a8 | |||
42760d922e | |||
6f4a0c23cc | |||
fc26280bcb | |||
75e392ae9f | |||
6825439b36 | |||
f2aa9bec9d | |||
8cb217069e | |||
9997f5ca91 | |||
63e21e7218 | |||
dd84324485 | |||
d2f20aed04 | |||
c0a9fdd93f | |||
e00f3a6565 | |||
6692af3997 | |||
058a358e98 | |||
ba600ff7fa | |||
fd0fbf2564 | |||
beea9421bd | |||
c79f216066 | |||
be7ef0060f | |||
e6341b5107 | |||
b25b4c550e | |||
d273e2002c | |||
612030983d | |||
d7b094a807 | |||
7b397cdfc8 | |||
d48f4b61c9 | |||
9bc5549222 | |||
48da381e37 | |||
afa33574de | |||
6bc962d7bc | |||
e6830167e2 | |||
f21020f45f | |||
455c016ba6 | |||
6e7d962118 | |||
210f839e93 | |||
b1d998ec5d | |||
78c288d377 | |||
2307ea88b5 | |||
8138082ab8 | |||
265d620179 | |||
2ff041b7a5 | |||
edd0dbd23b | |||
8604557b75 | |||
a52ec5308f | |||
0cb38b2875 | |||
6f935dbb38 | |||
![]() |
10764d31d4 | ||
69c389fd63 | |||
686b8e8fed | |||
0aae208749 | |||
3689be736b | |||
9a239eea68 | |||
28451a9cec | |||
efa840f99f | |||
518d690628 | |||
35f5d80f3a | |||
0d86bc9f98 | |||
ff47118c73 | |||
0146ab2fd5 | |||
e54df78c82 | |||
909320e3ff | |||
fa34f864a2 | |||
205202361c | |||
fb73cee1ec | |||
8ae6e35923 | |||
ade9fc9245 | |||
78b3061c32 | |||
f233ecd511 | |||
63ad55f295 | |||
e3e6270241 | |||
155f2a4a52 | |||
8af66d6088 | |||
f68da08a05 | |||
97dd7b540f | |||
86da0f4749 | |||
5c9626721b | |||
474ae3e5f9 | |||
3bdb65f5ed | |||
39330a3e62 | |||
0e7fb6d0bd | |||
1d57779c20 | |||
a4c953bf04 | |||
be6e39da29 | |||
91f02a80f5 | |||
5e9132b3b7 | |||
8e21378e05 | |||
04896acd69 | |||
5909d32aec | |||
a8510408b9 | |||
256aeb213a | |||
e3cdc36429 | |||
3294959446 | |||
dfbcbaf7eb | |||
00054e28a4 | |||
b025e3b36a | |||
e1ea9a4afd | |||
64ada2985f | |||
c802ddb2a4 | |||
8dc440e900 | |||
5caefc95a7 | |||
55aa21bb16 | |||
dce6a36932 | |||
afa2287ea3 | |||
d5213d70b7 | |||
a99e840151 | |||
4b560f14d7 | |||
c3c488e475 | |||
2df9e4909c | |||
1941be005d | |||
2b63854ec1 | |||
9ae6823841 | |||
b8cb539f2c | |||
83144efb4d | |||
4670d18474 | |||
8fe651325c | |||
9c2ca73575 | |||
170007cc4f | |||
03c11e58a9 | |||
fcff61a1bd | |||
bb9f2e4037 | |||
1b19fea008 | |||
b1d786de2c | |||
4d8b238e4b | |||
e041ca68e1 | |||
51a088cbea | |||
05e4103ba4 | |||
0812e32572 | |||
76e114180d | |||
948ad8e88b | |||
b25edc6352 | |||
15b3b2bdcd | |||
56f42dacd2 | |||
a293d028b9 | |||
899c2b921c | |||
b7327017a0 | |||
fe95515de0 | |||
b7f7879ad2 | |||
f6924b23bf | |||
2f6f36ef5a | |||
ad99d53b8a | |||
a9e14e1018 | |||
0decb16563 | |||
6806065c38 | |||
e8f0228977 | |||
65c86fc66b | |||
5bac7e5ac7 | |||
5f56257713 | |||
e63c6cd345 | |||
30acaddb6c | |||
3b0646b3ac | |||
cd6e18db8a | |||
57a1e434e5 | |||
a34e295b68 | |||
c073d3e8a4 | |||
bc27652e57 | |||
27167ee3a4 | |||
551265424b | |||
15fb1fdb99 | |||
7d77dcd190 | |||
909c8ec07a | |||
b95645c1ae | |||
67169e70d6 | |||
e89145efd3 | |||
dd2e33b24d | |||
99abd1f79e | |||
92e75a54f4 | |||
8ba1dab3a2 | |||
9215848c38 | |||
b3b4084073 | |||
c6e4a81dfb | |||
3c043732d3 | |||
cc6cf0cdce | |||
9cb21a1400 | |||
a3e746733d | |||
8fa3801c49 | |||
34b09852fd | |||
f6d2981ffb | |||
9f6cfa3ead | |||
9529a96fd0 | |||
3c518ab4a4 | |||
7314ede784 | |||
8ceed387c9 | |||
672fbbfb4e | |||
59c224ebc7 | |||
7a9f8d0c77 | |||
2a757450f5 | |||
82e0127065 | |||
bfd209007d | |||
db26c6f66c | |||
a65a988592 | |||
91fe6bdcb6 | |||
9bf3b4679e | |||
be431c7cdc | |||
d87caabf29 | |||
f6742d36cd | |||
acbba822f7 | |||
69357d9db0 | |||
5a5b45374b | |||
93c5388e34 | |||
df3511c96f | |||
eabb8f1d12 | |||
5283a7e518 | |||
c727bc7743 | |||
feb2f0ae30 | |||
44ffbcd254 | |||
f8a3b9b50c | |||
faaf41b330 | |||
8a0e91366c | |||
85c7ecce27 | |||
e3ede8294a | |||
bff566215e | |||
10ce1eea3f | |||
5c4c2bebaa | |||
85ec0446e1 | |||
4a4959a647 | |||
a3f66a868e | |||
8e908ae321 | |||
82cee9cb89 | |||
b5b0354b7c | |||
5708ec2a01 | |||
317431461f | |||
48a8a20e2a | |||
cf60343b06 | |||
c02ba89d6a | |||
3d2a6e7db3 | |||
6d6c333ee9 | |||
fb2d5a9853 | |||
8ddc85ab59 | |||
d3963e2bb0 | |||
c0c6af2cdd | |||
88d02e5433 | |||
9d2a7961fc | |||
a45d648485 | |||
ad01f0d19b | |||
29ef143ef9 | |||
5393e78367 | |||
f737bc673b | |||
![]() |
3d75a7d0dc | ||
faa8b12714 | |||
1c5502def8 | |||
34199e82fc | |||
b15d218db5 | |||
93783cb176 | |||
06c202002b | |||
570c072020 | |||
1d5833caf5 | |||
507599270f | |||
c520c4955f | |||
c8f942574d | |||
4939ec8a13 | |||
f7f44da43d | |||
fe53bdf893 | |||
f7c0b01c2d | |||
71d48a44a5 | |||
7d9be2f44e | |||
6514cbae6b | |||
e4164f31fc | |||
8b192ade96 | |||
1c29fbed65 | |||
085ce77b64 | |||
4ad131f9f1 | |||
05fd3b586f | |||
7e5a0c146e | |||
4564b014be | |||
5f2ed8ccf1 | |||
a1570562f3 | |||
46926b4b11 | |||
83d7c64bc9 | |||
1f390081c2 | |||
d28035aff3 | |||
618177640f | |||
3f3463700e | |||
3b454eb92c | |||
bd302ecf73 | |||
a503e7626a | |||
fb6a94170f | |||
0f5db226cf | |||
a1f0e53498 | |||
d3e6fe0506 | |||
fa1988a34f | |||
e92e265559 | |||
10cef4e86f | |||
086390dce7 | |||
e15639f1cd | |||
41ed782350 | |||
3cb1398899 | |||
0fdb16ec4d | |||
e9e1c95e64 | |||
39bc6172a4 | |||
8e372da1b5 | |||
aeece53491 | |||
f0d866d143 | |||
fa73db47e8 | |||
f071e48dcf | |||
d8a8f69c98 | |||
893aa1cae3 | |||
166b6c9240 | |||
14e7ac956f | |||
5030854a66 | |||
b8fc22fde1 | |||
5edef96d77 | |||
d546f66efc | |||
e4b67e7e5e | |||
dd156f743c | |||
f2677a58a5 | |||
7e5af7aefd | |||
6df6f8c982 | |||
a3ef4c1470 | |||
5aede15fea | |||
5596f970be | |||
921e45d82b | |||
d2affb1049 | |||
c3fd2b98ce | |||
c61e68f289 | |||
b66d4f5eed | |||
df6256a6ea | |||
ef28892654 | |||
1e57f6f957 | |||
c1080ff73e | |||
4ace7e1ebf | |||
567c42bd22 | |||
f4cd05082c | |||
4b7b9ded91 | |||
d77dcd5896 | |||
897261c01e | |||
0c4b812d2d | |||
555e21d996 | |||
59af4562dd | |||
![]() |
a38a8497ef | ||
fcde51fd5d | |||
bca4af7610 | |||
44e996745b | |||
f24d420f16 | |||
6832a18198 | |||
feff2bfce4 | |||
a684d9375a | |||
78c855a370 | |||
ff1b925ab3 | |||
c40c888a52 | |||
4b98b86654 | |||
0e9eeccf2e | |||
f6926ea3f8 | |||
4a459704c0 | |||
f840239ee0 | |||
c89d8dd6cb | |||
![]() |
259d296918 | ||
d812d54812 | |||
73753072c2 | |||
e961684de5 | |||
![]() |
74dc4ef556 | ||
8f8800bbbc | |||
927f84af07 | |||
44197cafaf | |||
e5a86361af | |||
feb4822346 | |||
199d7dc70d | |||
e9211860b9 | |||
5306621998 | |||
468022403a | |||
2768e623a9 | |||
2b87d3b6cc | |||
d00172217b | |||
d6e01042b9 | |||
2956203221 | |||
c1d25de806 | |||
98bdc56e4e | |||
cdf556d974 | |||
8ea5cbd89b | |||
612604f23a | |||
4db44cee9f | |||
c5f4837603 | |||
10e583533b | |||
3a142ec55a | |||
![]() |
e2dd5f15d9 | ||
7bddb79f49 | |||
3778475c61 | |||
edac0e7b17 | |||
290e37dce1 | |||
f9b0c10d04 | |||
87ca259433 | |||
73bae90620 | |||
c01d7c8a8f | |||
804d4719c6 | |||
19203b42ed | |||
dff65a0e6f | |||
3d7eb44707 | |||
acd02c7848 | |||
2482bb1d72 | |||
7ef3dfef6e | |||
e716f10ba9 | |||
e04cc46b83 | |||
35346dc8e7 | |||
3f4bac1fe1 | |||
a27dd4bf85 | |||
2f2849fca8 | |||
1b9ea14782 | |||
518f88efaa | |||
3cc7567607 | |||
a9b92fc29b | |||
c526932b31 | |||
85225c56b5 | |||
92e70d7d8f | |||
9c15fad5c5 | |||
9f4fe1df8d | |||
f1fe4eb3d1 | |||
da234142b8 | |||
78b472bfa9 | |||
a1c8b3e886 | |||
ad0d00e551 | |||
c9adc55801 | |||
6ba920dec1 | |||
e439892b14 | |||
c9dd9fceaa | |||
d159161155 | |||
0bc63068ce | |||
32e56f5d55 | |||
039be9e3c9 | |||
cde4150d7b | |||
cbdb75682d | |||
809d1aa1e0 | |||
4916e0b79b | |||
f16d7f481f | |||
420ea4423e | |||
229688fee1 | |||
90d644fca4 | |||
751d2354c2 | |||
41ae74df12 | |||
025aae4413 | |||
a5047171b9 | |||
ae9d247ea5 | |||
e5fc4218c7 | |||
2984406082 | |||
f39585c387 | |||
a0d52d8e02 | |||
be4bd5ee69 | |||
d74d156c96 | |||
ef78283dd3 | |||
c01dc55212 | |||
3d7b6b6b34 | |||
30fc776a68 | |||
88fc1dd846 | |||
0749338492 | |||
10d2c861dd | |||
069be54c87 | |||
da2e66e106 | |||
4777b17ec5 | |||
2b25fe3e1c | |||
77599a6be0 | |||
1eabe30d34 | |||
672c7d72c2 | |||
5148fd7f14 | |||
8dfff7d339 | |||
509ffe1002 | |||
b472f86804 | |||
ed840c8efb | |||
f5da9bc306 | |||
d7651d65de | |||
2d1c068048 | |||
b674ffb6da | |||
e8299c8100 | |||
21bf863934 | |||
0b734f0b59 | |||
759b5fb2a6 | |||
f0adb875cf | |||
f55221e0a1 | |||
59689bed7b | |||
20e54c99d2 | |||
faaf033d36 | |||
66ed7d7566 | |||
a80104fb31 | |||
452d43b1c8 | |||
602b2dbd8c | |||
4c94e327a2 | |||
7b311c07ee | |||
1bcddea00e | |||
e1cf002ee6 | |||
dac53963a8 | |||
53cbda0f7f | |||
![]() |
cb44a3e5d7 | ||
07c886e976 | |||
2e77ad7f99 | |||
3da4560143 | |||
4d043db0db | |||
44372d6441 | |||
50751d62e9 | |||
a6220f459b | |||
![]() |
8030c4832a | ||
![]() |
00d08c909d | ||
d1f5c0fe48 | |||
dacb53ff71 | |||
e6d9b15ab3 | |||
3fb0c1b8e7 | |||
fd9aa06440 | |||
03f935961a | |||
15134cf227 | |||
106ff0df99 | |||
7ab972fd63 | |||
97bba76e8c | |||
10598c084e | |||
c9b5253cfc | |||
2002334813 | |||
b42e4c3c40 | |||
9d4e3b0e63 | |||
4736664da6 | |||
8ebc7565e7 | |||
012bbce453 | |||
be254b52dc | |||
cdedd082f3 | |||
880ebfff58 | |||
29fdcbbf9f | |||
cb6c43b61c | |||
4dbcbf5ba9 | |||
117329ae6d | |||
6601b4cbdc | |||
02eec191fb | |||
![]() |
2525c4e129 | ||
0d1bc587fa | |||
e65e5045de | |||
b9c996e16b | |||
96ac3bd4bf | |||
1d36092627 | |||
b8194a52a0 | |||
f87a81afb4 | |||
fd0dea585c | |||
![]() |
4d14bd10c0 | ||
4640bf890e | |||
![]() |
e145990fdd | ||
![]() |
11120c2981 | ||
07508c8b93 | |||
e96e66b05b | |||
52e601f0c6 | |||
01b71b564b | |||
9fea90ba36 | |||
4a8c43d756 | |||
4da266f48c | |||
90e1adabba | |||
02605b72f1 | |||
7b43307508 | |||
f978deddf8 | |||
dadd017d06 | |||
08d21ff582 | |||
1733141db8 | |||
0df78d11e0 | |||
acaa046e5e | |||
7466603910 | |||
08e4846540 | |||
6c2f93aa7a | |||
949b23d29b | |||
8aa04160ba | |||
d78a4b0c62 | |||
a05f9bef3f | |||
a88af3e576 | |||
ff27b58b4c | |||
3bf9cbe7a2 | |||
cb9d010421 | |||
c1205fd5ec | |||
c9361c6935 | |||
711421a90f | |||
0972786fa4 | |||
61ae5f1b23 | |||
d882d4e91d | |||
bd4185b03b | |||
![]() |
483b4f0567 | ||
bdbf608941 | |||
b148eda5a7 | |||
bf3bb95097 | |||
eb45c12ef0 | |||
6276e3d174 | |||
41481a1be6 | |||
a3704e9b6b | |||
8e166a5926 | |||
d22d1bae7c | |||
f8a043a106 | |||
0a15defd44 | |||
d735ec0a2e | |||
0b0fe66838 | |||
c9446653e9 | |||
d6574abb83 | |||
5d6a36eb59 | |||
794f85516c | |||
b5834d39ac | |||
5ce8f72a12 | |||
81a67d8e98 | |||
5a46ad276c | |||
7c4489be8f | |||
05c64b674a | |||
f0058e4980 | |||
8bd2323829 | |||
cc00da895e | |||
63f90d1099 | |||
030bb2f7e0 | |||
ed54923768 | |||
009dacd317 | |||
72f52c2dae | |||
723cb3c1ae | |||
1f88e48d08 | |||
6b550a563e | |||
a6ebe080f7 | |||
0b13b7adef | |||
192a18a99d | |||
07e45ea86c | |||
23aabf5c81 | |||
4bb1e224ba | |||
2c19ddf4a6 | |||
6d483e20e0 | |||
599e560a68 | |||
daa1487425 | |||
abc8810911 | |||
5cb1251222 | |||
c5558b3ccd | |||
94e91ca7e5 | |||
4ed7fb581a | |||
08d14a86d4 | |||
a5d8efe16c | |||
01ed1de0d8 | |||
a2e105186f | |||
35f81587b5 | |||
d32ae028ba | |||
42f42cbfdc | |||
![]() |
53ff09bc97 | ||
de311a0a15 | |||
f3fe4e736f | |||
5ef46c1ef1 | |||
7da7611c0b | |||
d14603021c | |||
bca6aa47bc | |||
d63505e42e | |||
9836940d4d | |||
c6ab7c31a1 | |||
22b39901e3 | |||
213e9aeb8c | |||
9d976a4f7a | |||
83bbf57b5b | |||
ea7d500b6d | |||
0a97e63246 | |||
![]() |
0247547b6b | ||
1782263ef8 | |||
c8c829360b | |||
750650c737 | |||
8e6aaa08c2 | |||
fc2b8c9793 | |||
8909ff0e67 | |||
7b748e9478 | |||
4733544195 | |||
ca5f91951c | |||
0960d523a2 | |||
91966eeefa | |||
fb85484e6c | |||
9d70344620 | |||
d5eb0b58a0 | |||
c11fcc34c4 | |||
a37e4d4738 | |||
14d26df2f1 | |||
e02c63df1b | |||
b6508da380 | |||
929701931d | |||
e5f49efe25 | |||
0d7f3d01d7 | |||
9a35ebc1ea | |||
df4602ee3b | |||
fa47bd1796 | |||
e38acc2191 | |||
c6e0c674ee | |||
1e5ac3b648 | |||
dcccf4be30 | |||
50452f5b67 | |||
4271c1cc71 | |||
290e650590 | |||
5de77bf8dc | |||
90f920c138 | |||
b11f073ca0 | |||
293d5db895 | |||
fd01cd7d06 | |||
2c1201502d | |||
b67db67b01 | |||
![]() |
872065e19e | ||
f6fb072ab2 | |||
16135990cd | |||
00abe6ecf1 | |||
3f5960b869 | |||
fb2a412b56 | |||
30aaa92a19 | |||
979a4a613c | |||
faec666bbe | |||
320d601e01 | |||
e6071056a4 | |||
4929de9df7 | |||
9663471bb7 | |||
abe4c38410 | |||
7aa0103ca2 | |||
fcb7973849 | |||
b281df01c7 | |||
8e7d6561f5 | |||
559e116a36 | |||
989ca313be | |||
29f7a4abbd | |||
802d253a46 | |||
a2e08ef997 | |||
44df27dc71 | |||
98b2411b30 | |||
3ea30ce1d0 | |||
f496a34700 | |||
7a6a7d9f7c | |||
41141248ef | |||
e1c1a0c3ee | |||
2ef4db4077 | |||
579e8c707b | |||
4be5fae30c | |||
184c781657 | |||
91705ad477 | |||
ab934e7d61 | |||
894a4f5230 | |||
eb85bb008f | |||
57c9742438 | |||
c04b4d393b | |||
0e5089c30a | |||
0dd4c3bde7 | |||
659ca6a7d6 | |||
be6d3df29b | |||
af118bd3ec | |||
0f1f3ca292 | |||
fe55273199 | |||
480a8c2bce | |||
36f511f9c3 | |||
aaef4310e9 | |||
c6f7f3bc38 | |||
5c8804d6ae | |||
8f53838675 | |||
d8f5a81a9a | |||
0f48c6a392 | |||
89c8718872 | |||
126e443035 | |||
785ac13c39 | |||
0935d32ffb | |||
c6388928e6 | |||
97f6dc3d10 | |||
d47aab201f | |||
4cf48bbe1f | |||
470d0cd6e8 | |||
1e321b998c | |||
89f6987953 | |||
63e0d3a47f | |||
2490779013 | |||
8b55e0e877 | |||
d979ba0f73 | |||
19f323012a | |||
e97db72ae4 | |||
2d887ae200 | |||
ebceb93bb4 | |||
828c7956c8 | |||
275ca01eac | |||
95de7b9a5f | |||
f36de27339 | |||
fc78a58337 | |||
37ab16d075 | |||
da0ce86a3c | |||
f615b57379 | |||
a5cfe0f9dc | |||
e63a8e7ded | |||
f2ae9c6f85 | |||
45e68e190d | |||
754566cf5b | |||
3ed49f8bc9 | |||
0f3d558982 | |||
8e1e3e0228 | |||
f4eb7e149a | |||
713669f7e6 | |||
![]() |
18875f6aa3 | ||
f590b2f89f | |||
81e8bd107f | |||
a66116f543 | |||
b3f08cddf3 | |||
3108861981 | |||
0fcb17fc4f | |||
02081f86d1 | |||
8efe90f0a0 | |||
315703d725 | |||
e69c02a392 | |||
4960006b27 | |||
e4b1b00884 | |||
96b9f45d7a | |||
4fc9178af9 | |||
357787b06b | |||
a80f3d7ddb | |||
97836b7250 | |||
37a785241b | |||
2ad02b63e5 | |||
d17f3c6d56 | |||
2265628964 | |||
261c12aab4 | |||
0f5ca755fc | |||
611e544191 | |||
8aed449528 | |||
f3259ae602 | |||
49573b8e39 | |||
edb1cc6fa8 | |||
ee128c348f | |||
18029edf1f | |||
fa429b3f0c | |||
7ea29d69df | |||
61aea37d35 | |||
8aefea0c3a | |||
721f0089aa | |||
70d417cbe8 | |||
1af7bf3a20 | |||
9a7d576332 | |||
5bfa814dcb | |||
d21ed9af21 | |||
e71398f3c7 | |||
744ef820d1 | |||
f601a4b4f7 | |||
0889f8c127 | |||
a3ef7c986c | |||
![]() |
5ac7186633 | ||
7a7b242007 | |||
f036e1875f | |||
7e29ce8e96 | |||
a5bc674e88 | |||
4717824f55 | |||
4f3178e4a5 | |||
a8ee74ed61 | |||
d7eeff23bf | |||
47adafe20d | |||
0ba11ae9b1 | |||
e62c4c822b | |||
790af966a3 | |||
b26e1ad0f1 | |||
7befec292b | |||
8c70dd87c6 | |||
603b9dfbe9 | |||
d3cdd5c237 | |||
fc5ffd9694 | |||
9c79a5151e | |||
dce55610df | |||
536578a189 | |||
738bcd8a0c | |||
3e2ed11690 | |||
e1e6e2d04b | |||
45dbc3d19c | |||
cfec6debb6 | |||
3990ee1bb8 | |||
22a2853b5d | |||
870f911e36 | |||
4522ee109b | |||
fc37440216 | |||
6f49d970e0 | |||
4e53ca9ed2 | |||
48ae702c3c | |||
2b0f0ffe0a | |||
1e5c7e7a0d | |||
bbaffd7ede | |||
bcfa73dfd3 | |||
4bb12140e3 | |||
e100a8598f | |||
f0e52274ad | |||
e511c7a34e | |||
3d1f050608 | |||
90758ed2e8 | |||
80b906cb31 | |||
8b49fa29ca | |||
6d4f51212b | |||
ab44c20409 | |||
45b0e93b2e | |||
34510e3cce | |||
de80ecc8fb | |||
fc2f0a1a25 | |||
d402611c1d | |||
6ebd48f353 | |||
7268e6c58f | |||
![]() |
c20bcba363 | ||
1e2c8ca6ea | |||
88a3b68610 | |||
1e1118e7e7 | |||
1e7458258c | |||
3636693612 | |||
7cd6a5c221 | |||
15ac4b4f9b | |||
ce4a8210b3 | |||
![]() |
67d310459d | ||
b805b3735c | |||
ff32f81fd2 | |||
a78d679ddd | |||
5cbd14241f | |||
c82e6fe80b | |||
50f188814f | |||
b00822e42d | |||
67b16c6170 | |||
3382ba0238 | |||
d1efd44c1d | |||
198700a36d | |||
322fa27829 | |||
562a488fb0 | |||
0c32f755a6 | |||
aa177d48c7 | |||
6a97b9c4a2 | |||
01485b389a | |||
91457def83 | |||
28e4f8eb5c | |||
550215a65e | |||
77f96266e8 | |||
42fd804cca | |||
2d5343cd92 | |||
86bb5f70d6 | |||
9fcc849aa3 | |||
9867042ab0 | |||
2c3c8fbaed | |||
02b0f51164 | |||
61e848280e | |||
e956ebd0f9 | |||
43429578d3 | |||
9c33f3db3f | |||
66ffb880bc | |||
1b85ceabc5 | |||
b594b25dad | |||
9c474b187a | |||
4df911aa58 | |||
00ca17acaa | |||
f0f38731db | |||
3db5b76201 | |||
1c09344dba | |||
eca5449a29 | |||
1051f71291 | |||
ca21fc8b55 | |||
f66e70a855 | |||
00ccb99a67 | |||
9c744358a5 | |||
80def34da1 | |||
25057ba379 | |||
2b0a6aa5bc | |||
03db2ca8e7 | |||
5a834c1608 | |||
55b2d46f15 | |||
b1e4964ede | |||
9e9bbed144 | |||
509bf61c21 | |||
87f895311f | |||
12f7fd5a08 | |||
03a4109930 | |||
b85da312f0 | |||
819bc74e22 | |||
c073d7cf60 | |||
0c4939c013 | |||
39e00e5959 | |||
0ab52e7f51 | |||
84696d3c75 | |||
d5d33dbd40 | |||
45435120f3 | |||
bcc260c778 | |||
2cbd8c9d44 | |||
5ad7a248a3 | |||
0adaddd4c4 | |||
1dd3595443 | |||
e29680e0e2 | |||
6efacde5c0 | |||
7023be40be | |||
d50a3d7097 | |||
62ac065a4c | |||
e476e50b61 | |||
90b76659ca | |||
0384b49e14 | |||
50e308c19c | |||
7b4a37b1b0 | |||
8e79bae2eb | |||
3d36d357c2 | |||
e2670b3814 | |||
7c3c6f8310 | |||
7761311305 | |||
340798fe56 | |||
b8c63aead5 | |||
3553669d12 | |||
35701ed26e | |||
982f94f269 | |||
eb8af755dd | |||
dede676e90 | |||
1ae8bcc8e6 | |||
b800df49d7 | |||
66242f5e76 | |||
df389e31d6 | |||
8d58ffe0be | |||
f7fa6906e6 | |||
b1c3782c46 | |||
84d8b15a18 | |||
d34550c126 | |||
093a5501bf | |||
9ad72754c6 | |||
f1981b3cfc | |||
24ff36d84b | |||
d8b561de76 | |||
5d554ca7ea | |||
2ea86a8817 | |||
5f796ef1ef | |||
e237ef3a40 | |||
e141527ddb | |||
0076ba4833 | |||
ca18f5ddd4 | |||
f337feaf5a | |||
936a685ea8 | |||
b8438a870d | |||
e5ccc1e19d | |||
3c54514354 | |||
d7daecccbd | |||
b611bdb629 | |||
c9cd41547c | |||
c794d87f12 | |||
12e4da6c1a | |||
de96d1acd1 | |||
379a754b83 | |||
b5e4cc820b | |||
bc9f118169 | |||
74055fb813 | |||
![]() |
b1eff080bd | ||
![]() |
c2337748e5 | ||
f30a270a70 | |||
424ea476b1 | |||
1823e56625 | |||
25beefa8dd | |||
887e5cb7b0 | |||
4eb34dbc88 | |||
8026a1d543 | |||
13c473f707 | |||
c2e7f6d5b4 | |||
349abb5f58 | |||
299f647004 | |||
1ce73aa72b | |||
4081dab9d5 | |||
ebc899790b | |||
95cc31fdcd | |||
50ecd510bb | |||
ca51398fd8 | |||
ff5a34e370 | |||
4aac73a86f | |||
d1c6364099 | |||
c01e9cefe1 | |||
e54f38ebf0 | |||
15364094d0 | |||
62a973db31 | |||
3f067c61a0 | |||
673bc6d65a | |||
ce268f6005 | |||
54f1e682c6 | |||
4d581c01cc | |||
e1f5433f1d | |||
7d070f97ad | |||
e8b3ba2983 | |||
be4ee42e1c | |||
bedc58ac4e | |||
349609c743 | |||
60ad008162 | |||
34def18764 | |||
0afdd1139b | |||
59c1a96975 | |||
f81ecf117f | |||
cde725e26f | |||
42b6d843bd | |||
6c1b73c0da | |||
ff3913d1ec | |||
dfba50bf6a | |||
9a5d74a998 | |||
40e69a6e95 | |||
ab6c7c5888 | |||
040c9ae55c | |||
381501ab45 | |||
7d25105290 | |||
2f1bab75d7 | |||
c1990affac | |||
5acb0ba569 | |||
ae1335f7cf | |||
e5ee9d1eff | |||
061f20112e | |||
7d31777d71 | |||
50dd619e88 | |||
228625b9fb | |||
57d919c1ec | |||
a5a58ec140 | |||
1632a5503b | |||
51a13869bc | |||
f4c22ac4b6 | |||
2e4d580f9d | |||
8af2029ca5 | |||
5ea4f5b4a3 | |||
ff01b24ecd | |||
cdc8f4d65a | |||
ae4b02c6bb | |||
a5938e01e5 | |||
d039cc69dc | |||
70549fe8e0 | |||
9bfc5fc7b5 | |||
c24d88d488 | |||
a66d700fa7 | |||
2ccdaf398e | |||
12806f5ef8 | |||
e6d181c01a | |||
e3254e3615 | |||
2dfdbe4081 | |||
5cb7c07e31 | |||
fe4909e752 | |||
e2a01d408d | |||
3c8876c5a1 | |||
d64c367560 | |||
5019780664 | |||
d72a489ddb | |||
42f644204c | |||
8611d01c68 | |||
ba39be6bc3 | |||
a7b45823be | |||
b212d62340 | |||
597936b3fb | |||
962480865a | |||
0eae9ab115 | |||
9168aface9 | |||
4a2dad0f8d | |||
ade29c9713 | |||
e0fdc8279c | |||
c2730a8554 | |||
45d9914ac3 | |||
9dcabad07b | |||
bd5d172bb3 | |||
48f7dd68f8 | |||
3ed22c3f3c | |||
23f7e16960 | |||
a3cf9c54d8 | |||
d53af76420 | |||
51384e7e36 | |||
48c50bea72 | |||
31d3d434aa | |||
f39babc9d6 | |||
a67433bc19 | |||
7a93fbc807 | |||
68d5e1d3ae | |||
323851fa71 | |||
85f5c1a362 | |||
f4ac865367 | |||
dc018d4f61 | |||
ef7a3fb2fb | |||
5d0a99b6ee | |||
7980891a13 | |||
8d22715d67 | |||
fe32c438ac | |||
5d59a51aca | |||
ad950be67c | |||
a79f439580 | |||
9713b11644 | |||
d5e1c9ab9f | |||
1b7fc80ecd | |||
9ccec0a288 | |||
e95a213f7a | |||
e5a6c542af | |||
c647685538 | |||
1a37144ecd | |||
3b17a650b6 | |||
f7bc573b60 | |||
971566ba46 | |||
365dadeecc | |||
5c0d68d687 | |||
b5ca4ee5b0 | |||
a142beb888 | |||
690621bd24 | |||
8621f480bf | |||
b2d325a768 | |||
9b153763a3 | |||
1bc28db0ef | |||
0c6346379f | |||
2976a94c84 | |||
ea835c8a73 | |||
c2d070a3fb | |||
2f7eb53ed0 | |||
596bf1aff6 | |||
3e4ce322c4 | |||
fb78f6d518 | |||
035d27dca6 | |||
e1c77fb98d | |||
e0a08d50a2 | |||
7914d04d13 | |||
67dffa60ae | |||
ae4fcdc7ba | |||
24615ecab5 | |||
6cb20d6287 | |||
2ecc405b69 | |||
c3dbb533b2 | |||
0191a618ef | |||
c31bace2a4 | |||
![]() |
4d76fdd3e9 | ||
![]() |
b3d12f65c0 | ||
7dcd3a0e0d | |||
7a81cccd1d | |||
fd964bbf1c | |||
![]() |
a985bf73e5 | ||
ca1809988a | |||
21c00cbd0e | |||
eae90798b6 | |||
34bcd2f0ea | |||
![]() |
99cdafc651 | ||
7ea1e5de8d | |||
3399314a6f | |||
39155c1c46 | |||
a2ff84c66a | |||
479a1a9a1a | |||
e24ea81d65 | |||
f6445cd6ae | |||
8db7ca1cca | |||
05ed4a4da1 | |||
eca8d9aa02 | |||
6b9d496aa5 | |||
c8670f45b9 | |||
65a56a10bb | |||
96c0aebeae | |||
d26fc19fd8 | |||
f6b0194746 | |||
a41bdb77d3 | |||
fe98ce1375 | |||
a457ad0057 | |||
d16ee90b9c | |||
c0384c4645 | |||
23427bfebf | |||
574e859e38 | |||
869c3344c9 | |||
78f4e22dc3 | |||
![]() |
869736b5d6 | ||
cec28ebf5e | |||
3c30467cda | |||
c8200c000a | |||
74b210387f | |||
c08896e2c4 | |||
aabb8db753 | |||
![]() |
139cab0937 | ||
![]() |
1358920716 | ||
42eb1cc64e | |||
07c3311475 | |||
141de0cc7f | |||
b0a6d48659 | |||
c586e30053 | |||
7b8bfec06d | |||
20bc9aadc6 | |||
c86186f030 | |||
1bd9a911c4 | |||
f870eee4d4 | |||
9263098a7f | |||
aa8c0143d2 | |||
d05a85cd7f | |||
4c52ad04b1 | |||
2c58498e6d | |||
840cc057a1 | |||
a8226be315 | |||
a051a76c8a | |||
929b0fb444 | |||
9a891f26dd | |||
2421696f60 | |||
73f1c37871 | |||
c1447bc9ba | |||
289d8b247e | |||
40f3759482 | |||
cd603674c9 | |||
52ef935b7d | |||
3a40e2b657 | |||
90d6041f4e | |||
6f71cb361e | |||
89e2e80ef6 | |||
d79851ba2f | |||
0e5638c04b | |||
9888d30bb6 | |||
2c26325272 | |||
3392741d19 | |||
e4fbcce537 | |||
07ce06d212 | |||
9161459515 | |||
0d27ecdc04 | |||
809402e927 | |||
30b3ebb59a | |||
d00f6177ae | |||
360c01cb86 | |||
ec90dcb5b7 | |||
1e5c376e0f | |||
f168ba85a9 | |||
728f259329 | |||
4f9941afcb | |||
f369be74d3 | |||
4e7f37c6e8 | |||
85cb9a2b0d | |||
000dfc0319 | |||
dedfd0cfa9 | |||
08f7b20ebb | |||
4f57f15648 | |||
a555fa5b28 | |||
abb92632f8 | |||
5ca59f7134 | |||
accd6083a5 | |||
e6b81ae69a | |||
5ca0cf3702 | |||
6410b1bd59 | |||
5e92d1254e | |||
3593082a75 | |||
cb19df1c45 | |||
b2a3796b2d | |||
01a29487e8 | |||
1311f2d8f1 | |||
30e06a1775 | |||
1c8ee52423 | |||
dcfbffcf57 | |||
fa1fc11344 | |||
143dbfb33e | |||
f1f797599f | |||
8804e6493c | |||
3ec48d3bd8 | |||
eb9826d8d9 | |||
c7dc142c1b | |||
d2d3a41ce8 | |||
03d662d7bd | |||
33bf1e0e18 | |||
6289d5b8d1 | |||
6b1638cf79 | |||
07e815df4b | |||
a10e7ca830 | |||
01ee21ffb9 | |||
3cf120be67 | |||
d22c56819c | |||
ff455f1ae1 | |||
9bbb53ef68 | |||
7b9a8337ad | |||
210f90cb77 | |||
856da320e7 | |||
2967c07a61 | |||
638368a930 | |||
bef0649151 | |||
8108fc77c6 | |||
d62e3e7001 | |||
16cc6ae80e | |||
37172e7e49 | |||
f71f559d03 | |||
163d99b7a9 | |||
06adae7b43 | |||
9f69f7f700 | |||
4f08b3cf83 | |||
c6f1be0728 | |||
584aed0721 | |||
337ce035b6 | |||
1ad57f287b | |||
3523a136d0 | |||
25397ea355 | |||
9fa84d09e4 | |||
b3bc2166a6 | |||
fa116391df | |||
d11592a700 | |||
9775830ef7 | |||
14a023abdd | |||
1f547c14ec | |||
a1bb0d698b | |||
48d4b80246 | |||
8d31c7f452 | |||
ee87056fd9 | |||
9c154d5b58 | |||
a40d7b93ac | |||
8c3853a9b5 | |||
![]() |
b64d3bde8b | ||
931f876ddd | |||
2d1879b714 | |||
86b862ecc9 | |||
651689fc62 | |||
f0e37fceb2 | |||
d21c1dc1b4 | |||
13551302c0 | |||
151b6f25db | |||
8bd7d43ae0 | |||
29c1dfcf8a | |||
546eee7005 | |||
006d6cfaf4 | |||
70f7052a54 | |||
9b6c9a8299 | |||
28da4a786e | |||
55df8ba231 | |||
e2669381e2 | |||
c7b2cbe3b4 | |||
61ad3f80b7 | |||
f1714a370e | |||
a6b53d6892 | |||
bb64f588dd | |||
f5414f989b | |||
2d1b5121df | |||
66affa5cf3 | |||
eebf770f1d | |||
3014c07906 | |||
61ca70df40 | |||
0a604079b6 | |||
30de8274a3 | |||
4d82812e13 | |||
ef47b883cd | |||
02d82a9035 | |||
a238bbf323 | |||
f085584c71 | |||
43d426bb26 | |||
28efc108ed | |||
3fb798666a | |||
d4fce19d4f | |||
5cabdd394f | |||
841d916796 | |||
a715ef9f7f | |||
5263d91491 | |||
746c5035c2 | |||
53efacd78c | |||
3bc11a9cf2 | |||
9f987ae2d0 | |||
3dda7a4312 | |||
fd490f416f | |||
bbf09d9ee6 | |||
ced2738049 | |||
e076fca578 | |||
9bd38a1796 | |||
aee458d674 | |||
08eabd1997 | |||
c9ca7b816e | |||
dd1be8ccc5 | |||
41cb67647d | |||
1bae0566b2 | |||
5374cfae78 | |||
57087245a4 | |||
e51d7f1fb3 | |||
f9aa8c64e6 | |||
0073b17d03 | |||
324d0448b1 | |||
c08ef9c62a | |||
ba43ea24a7 | |||
1253a46370 | |||
9a0c2c734c | |||
973e387247 | |||
fdbedfef69 | |||
1d0c23823d | |||
a1a182c268 | |||
e5fbe7466e | |||
012f7ca1b5 | |||
22cc938056 | |||
4401500cac | |||
bdb170ca60 | |||
53034cf102 | |||
4c6b50c8ab | |||
67439dfe06 | |||
96629dfe0e | |||
1a7c5ccbfb | |||
![]() |
b4d8fb573e | ||
a52fe40c84 | |||
fedb34c592 | |||
9f5223e4d2 | |||
2db46a6045 | |||
f7aab6ca5b | |||
110459c0da | |||
ee045d2bd5 | |||
d93ccef052 | |||
0b5a64fe7f | |||
f322362363 | |||
b8b7bd0e6a | |||
ff09547f80 | |||
91a975100c | |||
5be01ff4b3 | |||
a912699792 | |||
b7b5c99215 | |||
84dde30662 | |||
6fab0a4643 | |||
137ddd665e | |||
fe3e000511 | |||
b0dc79c14b | |||
6b6b28a9d4 | |||
0a1deaf89c | |||
71d16196f3 | |||
2a72518af7 | |||
a04f7de6b7 | |||
9cc8a5c673 | |||
4508642489 | |||
e436c83be0 | |||
950be80ab8 | |||
![]() |
919ec85f6c | ||
cde1351578 | |||
9556f61013 | |||
880f4fbc38 | |||
ae1d416aec | |||
31862bc562 | |||
f1ab8f8930 | |||
3fcc5520fd | |||
5a51b93aa5 | |||
6c4c1fbb3c | |||
752dd1c567 | |||
6be2aab8d6 | |||
6b6a968053 | |||
480ed9df62 | |||
c93971e49e | |||
be30a2cd18 | |||
d46632d4cf | |||
b0921d3f99 | |||
fab16ef5d6 | |||
29434373dd | |||
d7a9e5ac94 | |||
904dc50fd4 | |||
42f7a29f57 | |||
5bb20444c6 | |||
05fdb2e63f | |||
88ddeb3edc | |||
b4b0eb6315 | |||
420dff8cd3 | |||
8e2b30f1eb | |||
c890d60651 | |||
f09b89df01 | |||
07d652a840 | |||
1922d5e6d2 | |||
b463ffc52c | |||
95ccb70e1d | |||
60c776d014 | |||
b89f7af287 | |||
dcb0c61495 | |||
c519abe466 | |||
949be0f50a | |||
1dc314342d | |||
9283c5e96c | |||
fdb18c9d64 | |||
96aac3fa6f | |||
f7d25d5c6d | |||
985df04b87 | |||
f3d0a7591f | |||
0a59c0132e | |||
608a662ecb | |||
16ee031bb7 | |||
b306d0de39 | |||
18675f77fc | |||
ee199c563d | |||
1fb3642cda | |||
fcad67e087 | |||
936bb32d45 | |||
32a4b43dbc | |||
88a66ded74 | |||
026ffafb1b | |||
d7bc7de7a9 | |||
f12479c458 | |||
d2fa5668ae | |||
f64eef7a5f | |||
27521b0671 | |||
cfec1eea63 | |||
a6a38e56f4 | |||
aa7ccbff35 | |||
79392ccad9 | |||
a98a70dd0c | |||
8cea11e1a7 | |||
120b572367 | |||
3aa6de7e43 | |||
a468002406 | |||
7ccbc6651b | |||
3fbbb2752c | |||
92dbf1c9da | |||
e0712fc38b | |||
556476ab22 | |||
b5ab717f88 | |||
1c256222dd | |||
c9769a6808 | |||
c4b94f3049 | |||
bec396fc96 | |||
4048c4ddae | |||
e75530e435 | |||
bc99752aa2 | |||
ee936bc922 | |||
255fe8a9b1 | |||
aeaf5d2967 | |||
78c9142163 | |||
78a1999a2b | |||
556c4ae27f | |||
36fa6826a8 | |||
249ccbdca7 | |||
6812ad4a82 | |||
c6c495d7bf | |||
3a4344a9fa | |||
07a4b5c8e2 | |||
96c15edf23 | |||
d8f0f75896 | |||
de4e6a8c74 | |||
86dc5b4e91 | |||
0320a2818a | |||
454f6f7790 | |||
fbed421177 | |||
c9db5f28a5 | |||
249a962bf4 | |||
174b4e3c39 | |||
![]() |
39a080a238 | ||
f323034489 | |||
fa9e582898 | |||
e5ff9cb892 | |||
1a39125f7b | |||
5a5cfba4a6 | |||
837d3430bc | |||
fb95e45983 | |||
d5e20f82c2 | |||
c9e7a26d2a | |||
8a78bce10b | |||
1f1573019c | |||
8bebaf6e29 | |||
151d42c4bc | |||
21a070ec33 | |||
77a2313ee6 | |||
a955cb0fe8 | |||
bb8f482b27 | |||
689909d027 | |||
9874aa532d | |||
f8d4e67c4c | |||
fe30202984 | |||
1d8c635499 | |||
b2d7241473 | |||
9f0017e426 | |||
149c6ed4b5 | |||
e79f713a66 | |||
8f9b3ee41b | |||
9486eee9bf | |||
1bec8ebf5c | |||
5c7774e166 | |||
c605ce3974 | |||
924fbed8bc | |||
10b03edbc1 | |||
6accd5ec1d | |||
870c06a9f5 | |||
765d2addc2 | |||
7d6f7b161b | |||
9a4ab59f33 | |||
7e3190a51f | |||
f21c0c9a4b | |||
aaf82e554c | |||
6301adb673 | |||
36ed23d6d5 | |||
391c09519c | |||
39945517e4 | |||
a3b7f55d56 | |||
9933f8ce80 | |||
6b428cfb09 | |||
2101aaef83 | |||
ed27f45665 | |||
ead157ff39 | |||
e67bba1100 | |||
f1d6d5ab95 | |||
79888418c7 | |||
1ccf1b3e8b | |||
1f2077a8e4 | |||
eace5891ec | |||
feee2a4a77 | |||
5bac249193 | |||
c1515ce482 | |||
21c06c40f4 | |||
1e8aca99a8 | |||
dd957e2be3 | |||
65b6952a6f | |||
f533d01fc8 | |||
3b8eccb58f | |||
d1bbe76be8 | |||
bfd5143aa2 | |||
576c3c5f94 | |||
3a9261dbdf | |||
a0ed785e78 | |||
dc96f8014d | |||
c9e920de81 | |||
92b42ef2aa | |||
4e5c2af871 | |||
04b00078d8 | |||
9f83814cb5 | |||
fb7ef3aed4 | |||
c9ad3c2da2 | |||
35cfca7a2c | |||
4396f9df88 | |||
4e59fa1b4b | |||
9687cb268c | |||
f4ff8ff505 | |||
2cced6f6ff | |||
27ef95a4b9 | |||
5f286bde0c | |||
f158870a9a | |||
43e4a5b71e | |||
9df14f9c67 | |||
202fd41d1a | |||
44d97d0f47 | |||
b986107829 | |||
3279e9227f | |||
cad0e8f07e | |||
991100912a | |||
e47b30595f | |||
1cdc116566 | |||
3453390bad | |||
ed2c7c7322 | |||
cffb510e65 | |||
caf9d082cd | |||
d7bbdab2f4 | |||
0da7bcb78c | |||
13b97bbc0b | |||
82ff09ef1a | |||
0f80a3faaf | |||
94c50f1277 | |||
2decc0c647 | |||
3f8806d394 | |||
3e26dfc02e | |||
e3adc6e820 | |||
90e500c918 | |||
5697d6f26d | |||
f5e17e1f59 | |||
9877852266 | |||
fb2198dfe3 | |||
c2382339d2 | |||
26d7665c09 | |||
4ab0f421a7 | |||
8d20bf15c5 | |||
f487116c32 | |||
5208108373 | |||
cef5642825 | |||
3f87907478 | |||
9f34788ad6 | |||
9831a6b3e2 | |||
74d486b56e | |||
2c77a4da8c | |||
b34d1f8f8b | |||
6eb641b93a | |||
4777e74694 | |||
2b718bda3f | |||
6d27993ad8 | |||
90d22621f5 | |||
fe9c308bb1 | |||
22dea61d55 | |||
0aa4f1d594 | |||
462f1436c3 | |||
1972f7bd01 | |||
7bb6bf21d2 | |||
f49ddd310d | |||
35e4e8a4fd | |||
15f50655e8 | |||
a04214d107 | |||
cc8bb235b9 | |||
82285878f4 | |||
de70b4e317 | |||
e15f781ffd | |||
413a80f966 | |||
af818d32b3 | |||
5b4caa03ac | |||
0daab1ef32 | |||
310514c14e | |||
d20aec59bd | |||
a3b452d752 | |||
9ca13f6e0e | |||
2befce02af | |||
cbe0972d99 | |||
063d438054 | |||
bf59c1bc66 | |||
40fb7592f9 | |||
165bfecbc1 | |||
e66d3e5d0c | |||
9675ba189f | |||
4aeb8ea28f | |||
15bb397fbb | |||
c7a3a79da1 | |||
ecc10dbe29 | |||
56beb2effe | |||
c2edd4cf8c | |||
fe93f08d57 | |||
94c111072b | |||
ae25dc66df | |||
0de34dcda1 | |||
cd6a1f503a | |||
87f2b86cd8 | |||
bffce8c727 | |||
c20718e9d5 | |||
5f8997a7a4 | |||
98e0ec4850 | |||
2993b02b8e | |||
653a951ea3 | |||
b257850ce2 | |||
de2e6a7004 | |||
98ae9b083b | |||
dd278f6a50 | |||
57f8d0721f | |||
d1393032a2 | |||
7ff93f27ea | |||
ca0b5ca635 | |||
64e9066f4f | |||
f91218cbdf | |||
a511e86ebf | |||
34c07eed51 | |||
f86d71b025 | |||
3c310d565a | |||
f5e624aaad | |||
fa1ace9f2d | |||
5c21d96e5c | |||
77cfd4e2f8 | |||
414352fced | |||
090016f9d1 | |||
7e50455b8d | |||
d832011b82 | |||
c0907a6aa7 | |||
30467f8e5c | |||
3f8bd4fe15 | |||
375b6f5a57 | |||
3f661c6355 | |||
a3050d4b2d | |||
f3007c42fc | |||
c1ae472a10 | |||
f6b0828870 | |||
81fb6d5261 | |||
b7a772f567 | |||
d612fd67b4 | |||
8d25904e52 | |||
fb6afeedce | |||
d58cbd01dd | |||
29766b78c3 | |||
f35868f1b3 | |||
75bd4dabbe | |||
a926f7afe7 | |||
7e0258de36 | |||
0a62a7f52d | |||
e62419008f | |||
0bd32da174 | |||
91d018bb76 | |||
ac6b1d923d | |||
80f71bf21c | |||
f718c1cdbe | |||
6b7ab62c94 | |||
70e1988a1c | |||
d76ead8e13 | |||
ab4ddd008f | |||
3be53ebfde | |||
1291b54616 | |||
1de7452ba5 | |||
6f6bf095d6 | |||
a584f90abc | |||
b95df881af | |||
353892bb14 | |||
728db50b65 | |||
a4f7e80d76 | |||
9c9e8808c2 | |||
29d8e09c4c | |||
7d320da003 | |||
48e8faeac9 | |||
5d4538ab29 | |||
169033992d | |||
24cf767e15 | |||
b2459b805c | |||
a2d10e9848 | |||
c2b0603e7a | |||
69db68e8eb | |||
94a039ac52 | |||
e631dbb9af | |||
030423e7e2 | |||
11d23a9f61 | |||
99e70a6faf | |||
3c1701d498 | |||
869ad992de | |||
e90872ca24 | |||
6886a42d7f | |||
0f21491fa2 | |||
298b8a25e9 | |||
3a838c01f6 | |||
506edfefb9 | |||
90892008bd | |||
c262e138e6 | |||
90b777c18a | |||
4d60d54fa8 | |||
ce044b6740 | |||
776da90407 | |||
2857a137f5 | |||
070162b490 | |||
85351b8bd8 | |||
5eb9a24efa | |||
c99f531ae9 | |||
31eabfc221 | |||
afdd86826e | |||
b208c6730d | |||
3a3fa959b9 | |||
79934f6bdc | |||
b7aed3b37f | |||
b91192d454 | |||
ddac6fbea1 | |||
f5f1515fe9 | |||
947653bbf3 | |||
fa1ac8c040 | |||
4af38f7067 | |||
0854457667 | |||
ecc278fe46 | |||
17c81aac12 | |||
87d693e112 | |||
ed619166da | |||
e3ff45781c | |||
007e2507c3 | |||
da2014727e | |||
8cc646b531 | |||
53db50a9b4 | |||
4bb76122d2 | |||
4977e05c53 | |||
3563f48435 | |||
77e8608d73 | |||
d3736eefd6 | |||
3c89a23c2b | |||
a1b1750253 | |||
06a30364b8 | |||
61977f80cb | |||
04cdf953dd | |||
b08b930a8b | |||
ba1c830df1 | |||
c960f7eb89 | |||
4e8c7adeb3 | |||
94b265a2e2 | |||
9bbfc0623e | |||
df92812fdc | |||
4c21dd4e6f | |||
8cafbff1c2 | |||
e0eaff4a78 | |||
2e377fb40d | |||
cbb385043a | |||
d9d6d13f39 | |||
4f41011f66 | |||
2901a846ee | |||
b79c97163d | |||
a42e2efb3b | |||
eade7e9baa | |||
0e0cc39079 | |||
3babd5a0f0 | |||
05c4b50d1d | |||
c54e7bfd54 | |||
b996b71df2 | |||
d6d0931d91 | |||
085975ad4a | |||
a6d3d775b0 | |||
019d927188 | |||
068ee02ed8 | |||
13d5400054 | |||
be39771bc7 | |||
53515ddec4 | |||
7cc1fe1f45 | |||
c57a476494 | |||
0137ee3038 | |||
801ab516c0 | |||
4cbc15449f | |||
11132108b9 | |||
72a46c10c0 | |||
972a73b316 | |||
6adf68d8b5 | |||
b399d9ce6c | |||
da029a6d97 | |||
787a49d4fc | |||
a29cf33e61 | |||
ec9d5a45a2 | |||
d482007dfd | |||
408f931dd9 | |||
1eb3d85e13 | |||
a5363ff015 | |||
7e7b4708f3 | |||
aa11c52611 | |||
999441106f | |||
3ce0957f1b | |||
d4b41cf4a6 | |||
3b18a17010 | |||
8fdc3b10d5 | |||
26c2fd49f5 | |||
db8a69f076 | |||
512598da0a | |||
e467249f35 | |||
0af63c9859 | |||
7a7d7165d2 | |||
1713964d69 | |||
13644afe9a | |||
1c4106ada2 | |||
d9a39262c4 | |||
6803ed3265 | |||
1deafe9d6d | |||
ab004e58ee | |||
26edda3db4 | |||
030ce80a73 | |||
f09d82a541 | |||
501785846d | |||
c060f042dc | |||
4dd4479970 | |||
51fad3521a | |||
b4eb9fe87d | |||
b649feaf59 | |||
ed6726c9f3 | |||
6a35f695ef | |||
76620e8d53 | |||
460bfa85dd | |||
5090b47a03 | |||
37aa3b1d0c | |||
1ba6e997f5 | |||
4b71477299 | |||
eb1fce1cd1 | |||
dc388537ab | |||
3151004efe | |||
9875537458 | |||
d52a57ee9d | |||
36c17c46fe | |||
edbe775ebe | |||
d03b5110bb | |||
4335d31689 | |||
0ffa93618f | |||
4cce73db0f | |||
665ae32809 | |||
0d36d920aa | |||
e69f1e80f5 | |||
c83727f844 | |||
71106384d7 | |||
5787989733 | |||
ee239cce8f | |||
d6ae5785b7 | |||
5f6659b35e | |||
bccb1971ab | |||
f77608aca2 | |||
db73e4e4da | |||
fe0dbf7ea2 | |||
36933e4bc2 | |||
6f8fa4182e | |||
ebf21db092 | |||
a68f7159f9 | |||
5372591d0f | |||
60d80857d3 | |||
2ec4973d69 | |||
b76ab4e343 | |||
a9f33f51d7 | |||
9c20a46f5a | |||
8f86353b88 | |||
5e48a020d5 | |||
78a0670728 | |||
5242899aad | |||
093f437356 | |||
cba006d52e | |||
9ac7ac04ac | |||
92928c0b00 | |||
cd345412c8 | |||
add28fe4ce | |||
7ce7f8a453 | |||
c8ad1ba65a | |||
ba6e6a932d | |||
1f34dfef18 | |||
3391e7a84c | |||
8711e3c6d8 | |||
73f0b2d22d | |||
3359d02d12 | |||
964bdd434a | |||
41fc551a86 | |||
46e81cf749 | |||
0ce1f2b886 | |||
194816da67 | |||
2ceb96f479 | |||
02573fe35d | |||
7dcc5e692a | |||
9212bd6832 | |||
816e67e537 | |||
91bba9bcbb | |||
31248db13c | |||
89aa38094c | |||
313adc270d | |||
f2ec6d41ca | |||
1a83942915 | |||
c97f0437ad | |||
4a464602f9 | |||
433126d856 | |||
8d89c7d8be | |||
083cc275fd | |||
c7d6fded16 | |||
fbe4d474ea | |||
ec8cacf7ae | |||
e9c1b187ce | |||
80c81856dd | |||
48663dd9df | |||
d162008d5d | |||
3375afa3fe | |||
9439e57fc4 | |||
80b6e52c09 | |||
d635f222a1 | |||
29a64d71f2 | |||
d5e87fc445 | |||
3d0795b044 | |||
4f47f0fc68 | |||
4ad2bd8c0e | |||
ad7e1c124b | |||
ca216d9e7e | |||
1d195e6362 | |||
94eeeb9c4b | |||
4ff02f7fc3 | |||
862d098125 | |||
055c5c91a7 | |||
2e1de279d3 | |||
91eea4a3de | |||
54517891d8 | |||
cd806601fb | |||
3f2658bb99 | |||
d5aea12969 | |||
7b53f675bd | |||
e39fc2c8ab | |||
e81c5cec0a | |||
c593241cc7 | |||
c8a4744ca5 | |||
e509a65885 | |||
5516678889 | |||
1a77e9f316 | |||
a89196af1b | |||
776cd94b77 | |||
c0ab26b8a7 | |||
427783a3ac | |||
0508f7be8d | |||
fbea1a566c | |||
e48616d08a |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -33,6 +33,3 @@ Desktop.ini
|
|||||||
/doc/python_api/sphinx-in/
|
/doc/python_api/sphinx-in/
|
||||||
/doc/python_api/sphinx-out/
|
/doc/python_api/sphinx-out/
|
||||||
/doc/python_api/rst/bmesh.ops.rst
|
/doc/python_api/rst/bmesh.ops.rst
|
||||||
|
|
||||||
# in-source lib downloads
|
|
||||||
/build_files/build_environment/downloads
|
|
||||||
|
6
.gitmodules
vendored
6
.gitmodules
vendored
@@ -2,7 +2,7 @@
|
|||||||
path = release/scripts/addons
|
path = release/scripts/addons
|
||||||
url = ../blender-addons.git
|
url = ../blender-addons.git
|
||||||
ignore = all
|
ignore = all
|
||||||
branch = master
|
branch = blender-v2.79-release
|
||||||
[submodule "release/scripts/addons_contrib"]
|
[submodule "release/scripts/addons_contrib"]
|
||||||
path = release/scripts/addons_contrib
|
path = release/scripts/addons_contrib
|
||||||
url = ../blender-addons-contrib.git
|
url = ../blender-addons-contrib.git
|
||||||
@@ -12,9 +12,9 @@
|
|||||||
path = release/datafiles/locale
|
path = release/datafiles/locale
|
||||||
url = ../blender-translations.git
|
url = ../blender-translations.git
|
||||||
ignore = all
|
ignore = all
|
||||||
branch = master
|
branch = blender-v2.79-release
|
||||||
[submodule "source/tools"]
|
[submodule "source/tools"]
|
||||||
path = source/tools
|
path = source/tools
|
||||||
url = ../blender-dev-tools.git
|
url = ../blender-dev-tools.git
|
||||||
ignore = all
|
ignore = all
|
||||||
branch = master
|
branch = blender-v2.79-release
|
||||||
|
@@ -243,14 +243,15 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
option(WITH_PLAYER "Build Player" OFF)
|
option(WITH_PLAYER "Build Player" OFF)
|
||||||
option(WITH_OPENCOLORIO "Enable OpenColorIO color management" ${_init_OPENCOLORIO})
|
option(WITH_OPENCOLORIO "Enable OpenColorIO color management" ${_init_OPENCOLORIO})
|
||||||
|
option(WITH_VORO "Enable Voronoi Fracture based on Voro++" ON)
|
||||||
|
|
||||||
# Compositor
|
# Compositor
|
||||||
option(WITH_COMPOSITOR "Enable the tile based nodal compositor" ON)
|
option(WITH_COMPOSITOR "Enable the tile based nodal compositor" ON)
|
||||||
|
|
||||||
option(WITH_OPENSUBDIV "Enable OpenSubdiv for surface subdivision" _init_OPENSUBDIV)
|
option(WITH_OPENSUBDIV "Enable OpenSubdiv for surface subdivision" _init_OPENSUBDIV)
|
||||||
|
|
||||||
option(WITH_OPENVDB "Enable features relying on OpenVDB" ON)
|
option(WITH_OPENVDB "Enable features relying on OpenVDB" OFF)
|
||||||
option(WITH_OPENVDB_BLOSC "Enable blosc compression for OpenVDB, only enable if OpenVDB was built with blosc support" ON)
|
option(WITH_OPENVDB_BLOSC "Enable blosc compression for OpenVDB, only enable if OpenVDB was built with blosc support" OFF)
|
||||||
|
|
||||||
# GHOST Windowing Library Options
|
# GHOST Windowing Library Options
|
||||||
option(WITH_GHOST_DEBUG "Enable debugging output for the GHOST library" OFF)
|
option(WITH_GHOST_DEBUG "Enable debugging output for the GHOST library" OFF)
|
||||||
@@ -285,11 +286,12 @@ endif()
|
|||||||
if(WITH_X11)
|
if(WITH_X11)
|
||||||
option(WITH_X11_XINPUT "Enable X11 Xinput (tablet support and unicode input)" ON)
|
option(WITH_X11_XINPUT "Enable X11 Xinput (tablet support and unicode input)" ON)
|
||||||
option(WITH_X11_XF86VMODE "Enable X11 video mode switching" ON)
|
option(WITH_X11_XF86VMODE "Enable X11 video mode switching" ON)
|
||||||
|
option(WITH_X11_XFIXES "Enable X11 XWayland cursor warping workaround" ON)
|
||||||
option(WITH_X11_ALPHA "Enable X11 transparent background" ON)
|
option(WITH_X11_ALPHA "Enable X11 transparent background" ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
option(WITH_SYSTEM_GLEW "Use GLEW OpenGL wrapper library provided by the operating system" OFF)
|
option(WITH_SYSTEM_GLEW "Use GLEW OpenGL wrapper library provided by the operating system" ON)
|
||||||
option(WITH_SYSTEM_GLES "Use OpenGL ES library provided by the operating system" ON)
|
option(WITH_SYSTEM_GLES "Use OpenGL ES library provided by the operating system" ON)
|
||||||
else()
|
else()
|
||||||
# not an option for other OS's
|
# not an option for other OS's
|
||||||
@@ -334,6 +336,10 @@ option(WITH_CODEC_SNDFILE "Enable libsndfile Support (http://www.mega-nerd
|
|||||||
option(WITH_ALEMBIC "Enable Alembic Support" OFF)
|
option(WITH_ALEMBIC "Enable Alembic Support" OFF)
|
||||||
option(WITH_ALEMBIC_HDF5 "Enable Legacy Alembic Support (not officially supported)" OFF)
|
option(WITH_ALEMBIC_HDF5 "Enable Legacy Alembic Support (not officially supported)" OFF)
|
||||||
|
|
||||||
|
if(APPLE)
|
||||||
|
option(WITH_CODEC_QUICKTIME "Enable Quicktime Support" OFF)
|
||||||
|
endif()
|
||||||
|
|
||||||
# 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)" ${_init_OPENCOLLADA})
|
option(WITH_OPENCOLLADA "Enable OpenCollada Support (http://www.opencollada.org)" ${_init_OPENCOLLADA})
|
||||||
@@ -370,6 +376,13 @@ mark_as_advanced(WITH_SYSTEM_GLOG)
|
|||||||
# Freestyle
|
# Freestyle
|
||||||
option(WITH_FREESTYLE "Enable Freestyle (advanced edges rendering)" ON)
|
option(WITH_FREESTYLE "Enable Freestyle (advanced edges rendering)" ON)
|
||||||
|
|
||||||
|
# Crashpad / Breakpad
|
||||||
|
option(WITH_CRASHPAD "Enable crashpad or breakpad (crash reporting)" OFF)
|
||||||
|
set(CRASHPAD_URL "http://127.0.0.1:1234" CACHE STRING "URL to report crash reports to")
|
||||||
|
|
||||||
|
mark_as_advanced(WITH_CRASHPAD)
|
||||||
|
mark_as_advanced(CRASHPAD_URL)
|
||||||
|
|
||||||
# Misc
|
# Misc
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
option(WITH_INPUT_IME "Enable Input Method Editor (IME) for complex Asian character input" ON)
|
option(WITH_INPUT_IME "Enable Input Method Editor (IME) for complex Asian character input" ON)
|
||||||
@@ -500,12 +513,7 @@ endif()
|
|||||||
# Experimental support of C11 and C++11
|
# Experimental support of C11 and C++11
|
||||||
#
|
#
|
||||||
# We default options to whatever default standard in the current compiler.
|
# We default options to whatever default standard in the current compiler.
|
||||||
if(APPLE)
|
if(CMAKE_COMPILER_IS_GNUCC AND (NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "6.0") AND (NOT WITH_CXX11))
|
||||||
set(_c11_init ON)
|
|
||||||
set(_cxx11_init ON)
|
|
||||||
set(WITH_C11 ON)
|
|
||||||
set(WITH_CXX11 ON)
|
|
||||||
elseif(CMAKE_COMPILER_IS_GNUCC AND (NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "6.0") AND (NOT WITH_CXX11))
|
|
||||||
set(_c11_init ON)
|
set(_c11_init ON)
|
||||||
set(_cxx11_init ON)
|
set(_cxx11_init ON)
|
||||||
else()
|
else()
|
||||||
@@ -687,6 +695,7 @@ if(WITH_GHOST_SDL OR WITH_HEADLESS)
|
|||||||
set(WITH_X11 OFF)
|
set(WITH_X11 OFF)
|
||||||
set(WITH_X11_XINPUT OFF)
|
set(WITH_X11_XINPUT OFF)
|
||||||
set(WITH_X11_XF86VMODE OFF)
|
set(WITH_X11_XF86VMODE OFF)
|
||||||
|
set(WITH_X11_XFIXES OFF)
|
||||||
set(WITH_X11_ALPHA OFF)
|
set(WITH_X11_ALPHA OFF)
|
||||||
set(WITH_GHOST_XDND OFF)
|
set(WITH_GHOST_XDND OFF)
|
||||||
set(WITH_INPUT_IME OFF)
|
set(WITH_INPUT_IME OFF)
|
||||||
@@ -739,6 +748,10 @@ if(WITH_AUDASPACE)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(APPLE)
|
||||||
|
apple_check_quicktime()
|
||||||
|
endif()
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Check for valid directories
|
# Check for valid directories
|
||||||
# ... a partial checkout may cause this.
|
# ... a partial checkout may cause this.
|
||||||
@@ -758,17 +771,6 @@ if(WITH_INTERNATIONAL)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_PYTHON)
|
if(WITH_PYTHON)
|
||||||
# While we have this as an '#error' in bpy_util.h,
|
|
||||||
# upgrading Python tends to cause confusion for users who build.
|
|
||||||
# Give the error message early to make this more obvious.
|
|
||||||
#
|
|
||||||
# Do this before main 'platform_*' checks,
|
|
||||||
# because UNIX will search for the old Python paths which may not exist.
|
|
||||||
# giving errors about missing paths before this case is met.
|
|
||||||
if(DEFINED PYTHON_VERSION AND "${PYTHON_VERSION}" VERSION_LESS "3.6")
|
|
||||||
message(FATAL_ERROR "At least Python 3.6 is required to build")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT EXISTS "${CMAKE_SOURCE_DIR}/release/scripts/addons/modules")
|
if(NOT EXISTS "${CMAKE_SOURCE_DIR}/release/scripts/addons/modules")
|
||||||
message(WARNING
|
message(WARNING
|
||||||
"Addons path '${CMAKE_SOURCE_DIR}/release/scripts/addons' is missing, "
|
"Addons path '${CMAKE_SOURCE_DIR}/release/scripts/addons' is missing, "
|
||||||
@@ -838,6 +840,14 @@ if(WITH_X11)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(WITH_X11_XFIXES)
|
||||||
|
if(X11_Xfixes_LIB)
|
||||||
|
list(APPEND PLATFORM_LINKLIBS ${X11_Xfixes_LIB})
|
||||||
|
else()
|
||||||
|
set(WITH_X11_XFIXES OFF)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WITH_X11_ALPHA)
|
if(WITH_X11_ALPHA)
|
||||||
find_library(X11_Xrender_LIB Xrender ${X11_LIB_SEARCH_PATH})
|
find_library(X11_Xrender_LIB Xrender ${X11_LIB_SEARCH_PATH})
|
||||||
mark_as_advanced(X11_Xrender_LIB)
|
mark_as_advanced(X11_Xrender_LIB)
|
||||||
@@ -1337,7 +1347,6 @@ if(CMAKE_COMPILER_IS_GNUCC)
|
|||||||
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_DIV_BY_ZERO -Wno-div-by-zero)
|
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_DIV_BY_ZERO -Wno-div-by-zero)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_TYPE_LIMITS -Wtype-limits)
|
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_TYPE_LIMITS -Wtype-limits)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_FORMAT_SIGN -Wformat-signedness)
|
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_FORMAT_SIGN -Wformat-signedness)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_RESTRICT -Wrestrict)
|
|
||||||
|
|
||||||
# gcc 4.2 gives annoying warnings on every file with this
|
# gcc 4.2 gives annoying warnings on every file with this
|
||||||
if(NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.3")
|
if(NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.3")
|
||||||
@@ -1379,7 +1388,6 @@ if(CMAKE_COMPILER_IS_GNUCC)
|
|||||||
ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_WRITE_STRINGS -Wwrite-strings)
|
ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_WRITE_STRINGS -Wwrite-strings)
|
||||||
ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNDEF -Wundef)
|
ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNDEF -Wundef)
|
||||||
ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_FORMAT_SIGN -Wformat-signedness)
|
ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_FORMAT_SIGN -Wformat-signedness)
|
||||||
ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_RESTRICT -Wrestrict)
|
|
||||||
|
|
||||||
# gcc 4.2 gives annoying warnings on every file with this
|
# gcc 4.2 gives annoying warnings on every file with this
|
||||||
if(NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.3")
|
if(NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "4.3")
|
||||||
@@ -1416,7 +1424,7 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
|||||||
set(CMAKE_REQUIRED_FLAGS "-L${LIBDIR}/openmp/lib -liomp5") # these are only used for the checks
|
set(CMAKE_REQUIRED_FLAGS "-L${LIBDIR}/openmp/lib -liomp5") # these are only used for the checks
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# strange, clang complains these are not supported, but then uses them.
|
# strange, clang complains these are not supported, but then yses them.
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ALL -Wall)
|
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ALL -Wall)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_IMPLICIT_FUNCTION_DECLARATION -Werror=implicit-function-declaration)
|
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_IMPLICIT_FUNCTION_DECLARATION -Werror=implicit-function-declaration)
|
||||||
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_RETURN_TYPE -Werror=return-type)
|
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_ERROR_RETURN_TYPE -Werror=return-type)
|
||||||
@@ -1490,7 +1498,6 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "MSVC")
|
|||||||
"/wd4800" # forcing value to bool 'true' or 'false'
|
"/wd4800" # forcing value to bool 'true' or 'false'
|
||||||
# errors:
|
# errors:
|
||||||
"/we4013" # 'function' undefined; assuming extern returning int
|
"/we4013" # 'function' undefined; assuming extern returning int
|
||||||
"/we4133" # incompatible pointer types
|
|
||||||
"/we4431" # missing type specifier - int assumed
|
"/we4431" # missing type specifier - int assumed
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1695,6 +1702,7 @@ if(FIRST_RUN)
|
|||||||
info_cfg_option(WITH_CYCLES)
|
info_cfg_option(WITH_CYCLES)
|
||||||
info_cfg_option(WITH_FREESTYLE)
|
info_cfg_option(WITH_FREESTYLE)
|
||||||
info_cfg_option(WITH_OPENCOLORIO)
|
info_cfg_option(WITH_OPENCOLORIO)
|
||||||
|
info_cfg_option(WITH_VORO)
|
||||||
info_cfg_option(WITH_OPENVDB)
|
info_cfg_option(WITH_OPENVDB)
|
||||||
info_cfg_option(WITH_ALEMBIC)
|
info_cfg_option(WITH_ALEMBIC)
|
||||||
|
|
||||||
@@ -1707,6 +1715,7 @@ if(FIRST_RUN)
|
|||||||
info_cfg_option(WITH_INSTALL_PORTABLE)
|
info_cfg_option(WITH_INSTALL_PORTABLE)
|
||||||
info_cfg_option(WITH_X11_ALPHA)
|
info_cfg_option(WITH_X11_ALPHA)
|
||||||
info_cfg_option(WITH_X11_XF86VMODE)
|
info_cfg_option(WITH_X11_XF86VMODE)
|
||||||
|
info_cfg_option(WITH_X11_XFIXES)
|
||||||
info_cfg_option(WITH_X11_XINPUT)
|
info_cfg_option(WITH_X11_XINPUT)
|
||||||
info_cfg_option(WITH_MEM_JEMALLOC)
|
info_cfg_option(WITH_MEM_JEMALLOC)
|
||||||
info_cfg_option(WITH_MEM_VALGRIND)
|
info_cfg_option(WITH_MEM_VALGRIND)
|
||||||
@@ -1770,3 +1779,4 @@ endif()
|
|||||||
if(0)
|
if(0)
|
||||||
print_all_vars()
|
print_all_vars()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
41
GNUmakefile
41
GNUmakefile
@@ -43,11 +43,6 @@ ifndef BUILD_DIR
|
|||||||
BUILD_DIR:=$(shell dirname "$(BLENDER_DIR)")/build_$(OS_NCASE)
|
BUILD_DIR:=$(shell dirname "$(BLENDER_DIR)")/build_$(OS_NCASE)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Dependencies DIR's
|
|
||||||
DEPS_SOURCE_DIR:=$(BLENDER_DIR)/build_files/build_environment
|
|
||||||
DEPS_BUILD_DIR:=$(BUILD_DIR)/deps
|
|
||||||
DEPS_INSTALL_DIR:=$(shell dirname "$(BLENDER_DIR)")/lib/$(OS_NCASE)
|
|
||||||
|
|
||||||
# Allow to use alternative binary (pypy3, etc)
|
# Allow to use alternative binary (pypy3, etc)
|
||||||
ifndef PYTHON
|
ifndef PYTHON
|
||||||
PYTHON:=python3
|
PYTHON:=python3
|
||||||
@@ -91,7 +86,13 @@ ifndef NPROCS
|
|||||||
ifeq ($(OS), Linux)
|
ifeq ($(OS), Linux)
|
||||||
NPROCS:=$(shell nproc)
|
NPROCS:=$(shell nproc)
|
||||||
endif
|
endif
|
||||||
ifneq (,$(filter $(OS),Darwin FreeBSD NetBSD))
|
ifeq ($(OS), Darwin)
|
||||||
|
NPROCS:=$(shell sysctl -n hw.ncpu)
|
||||||
|
endif
|
||||||
|
ifeq ($(OS), FreeBSD)
|
||||||
|
NPROCS:=$(shell sysctl -n hw.ncpu)
|
||||||
|
endif
|
||||||
|
ifeq ($(OS), NetBSD)
|
||||||
NPROCS:=$(shell sysctl -n hw.ncpu)
|
NPROCS:=$(shell sysctl -n hw.ncpu)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@@ -145,27 +146,6 @@ cycles: all
|
|||||||
headless: all
|
headless: all
|
||||||
bpy: all
|
bpy: all
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
# Build dependencies
|
|
||||||
DEPS_TARGET = install
|
|
||||||
ifneq "$(findstring clean, $(MAKECMDGOALS))" ""
|
|
||||||
DEPS_TARGET = clean
|
|
||||||
endif
|
|
||||||
|
|
||||||
deps: .FORCE
|
|
||||||
@echo
|
|
||||||
@echo Configuring dependencies in \"$(DEPS_BUILD_DIR)\"
|
|
||||||
|
|
||||||
@cmake -H"$(DEPS_SOURCE_DIR)" \
|
|
||||||
-B"$(DEPS_BUILD_DIR)" \
|
|
||||||
-DHARVEST_TARGET=$(DEPS_INSTALL_DIR)
|
|
||||||
|
|
||||||
@echo
|
|
||||||
@echo Building dependencies ...
|
|
||||||
$(MAKE) -C "$(DEPS_BUILD_DIR)" -s -j $(NPROCS) $(DEPS_TARGET)
|
|
||||||
@echo
|
|
||||||
@echo Dependencies successfully built and installed to $(DEPS_INSTALL_DIR).
|
|
||||||
@echo
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Configuration (save some cd'ing around)
|
# Configuration (save some cd'ing around)
|
||||||
@@ -184,7 +164,6 @@ help: .FORCE
|
|||||||
@echo " * headless - build without an interface (renderfarm or server automation)"
|
@echo " * headless - build without an interface (renderfarm or server automation)"
|
||||||
@echo " * cycles - build Cycles standalone only, without Blender"
|
@echo " * cycles - build Cycles standalone only, without Blender"
|
||||||
@echo " * bpy - build as a python module which can be loaded from python directly"
|
@echo " * bpy - build as a python module which can be loaded from python directly"
|
||||||
@echo " * deps - build library dependencies (intended only for platform maintainers)"
|
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo " * config - run cmake configuration tool to set build options"
|
@echo " * config - run cmake configuration tool to set build options"
|
||||||
@echo ""
|
@echo ""
|
||||||
@@ -419,16 +398,10 @@ icons: .FORCE
|
|||||||
"$(BLENDER_DIR)/release/datafiles/prvicons_update.py"
|
"$(BLENDER_DIR)/release/datafiles/prvicons_update.py"
|
||||||
|
|
||||||
update: .FORCE
|
update: .FORCE
|
||||||
if [ "$(OS_NCASE)" == "darwin" ] && [ ! -d "../lib/$(OS_NCASE)" ]; then \
|
|
||||||
svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/$(OS_NCASE) ../lib/$(OS_NCASE) ; \
|
|
||||||
fi
|
|
||||||
if [ -d "../lib" ]; then \
|
if [ -d "../lib" ]; then \
|
||||||
svn cleanup ../lib/* ; \
|
|
||||||
svn update ../lib/* ; \
|
svn update ../lib/* ; \
|
||||||
fi
|
fi
|
||||||
git pull --rebase
|
git pull --rebase
|
||||||
git submodule update --init --recursive
|
|
||||||
git submodule foreach git checkout master
|
|
||||||
git submodule foreach git pull --rebase origin master
|
git submodule foreach git pull --rebase origin master
|
||||||
|
|
||||||
|
|
||||||
|
17
README.md
Normal file
17
README.md
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# Blender Fracture Modifier
|
||||||
|
|
||||||
|
The Fracture Modifier is a system to interactively destroy and physically simulate the shards of objects in an easy, performant and
|
||||||
|
non-destructive way. This allows you to shatter and simulate the objects as you like while the original geometry of the object remains
|
||||||
|
untouched and intact.
|
||||||
|
|
||||||
|
## Support and builds
|
||||||
|
[BlenderArtists.org support forum thread](http://blenderartists.org/forum/showthread.php?343637)<br>
|
||||||
|
[BlenderPhysics Hosted Fracture Modifier Builds](http://blenderphysics.com/fracturemodifier/)<br>
|
||||||
|
[Kai Kostack Hosted Fracture Modifier Builds](http://kaikostack.com/fracture/)
|
||||||
|
|
||||||
|
## Main Documentation
|
||||||
|
[BlenderWiki page about Fracture Modifier](https://wiki.blender.org/index.php/User:Scorpion81/Fracture_Documentation)
|
||||||
|
|
||||||
|
## Useful Videos
|
||||||
|
[Development and experimental videos from the fracture modifier build & helpers addon by Dennis Fassbaender](https://www.youtube.com/playlist?list=PLyWdRVpqt5ZdQ6SdPuLQ76nShiuwXu_uC)<br>
|
||||||
|
[Simulation Videos made by Kai Kostack](https://www.youtube.com/playlist?list=PLGYnM-Mk7-OeqpCBmw6ZjFyiopkvkE6_S)
|
@@ -45,6 +45,11 @@ cmake_minimum_required(VERSION 3.5)
|
|||||||
include(ExternalProject)
|
include(ExternalProject)
|
||||||
include(cmake/options.cmake)
|
include(cmake/options.cmake)
|
||||||
include(cmake/versions.cmake)
|
include(cmake/versions.cmake)
|
||||||
|
|
||||||
|
#if(UNIX AND NOT APPLE)
|
||||||
|
# include(cmake/breakpad.cmake)
|
||||||
|
#endif()
|
||||||
|
|
||||||
include(cmake/zlib.cmake)
|
include(cmake/zlib.cmake)
|
||||||
include(cmake/blendthumb.cmake)
|
include(cmake/blendthumb.cmake)
|
||||||
include(cmake/openal.cmake)
|
include(cmake/openal.cmake)
|
||||||
@@ -58,7 +63,6 @@ include(cmake/openexr.cmake)
|
|||||||
include(cmake/freetype.cmake)
|
include(cmake/freetype.cmake)
|
||||||
include(cmake/freeglut.cmake)
|
include(cmake/freeglut.cmake)
|
||||||
include(cmake/glew.cmake)
|
include(cmake/glew.cmake)
|
||||||
include(cmake/hdf5.cmake)
|
|
||||||
include(cmake/alembic.cmake)
|
include(cmake/alembic.cmake)
|
||||||
include(cmake/glfw.cmake)
|
include(cmake/glfw.cmake)
|
||||||
include(cmake/clew.cmake)
|
include(cmake/clew.cmake)
|
||||||
@@ -78,7 +82,7 @@ include(cmake/openvdb.cmake)
|
|||||||
include(cmake/python.cmake)
|
include(cmake/python.cmake)
|
||||||
include(cmake/python_site_packages.cmake)
|
include(cmake/python_site_packages.cmake)
|
||||||
include(cmake/numpy.cmake)
|
include(cmake/numpy.cmake)
|
||||||
if (WITH_WEBP)
|
if(WITH_WEBP)
|
||||||
include(cmake/webp.cmake)
|
include(cmake/webp.cmake)
|
||||||
endif()
|
endif()
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
@@ -72,4 +72,9 @@ ExternalProject_Add(external_alembic
|
|||||||
INSTALL_DIR ${LIBDIR}/alembic
|
INSTALL_DIR ${LIBDIR}/alembic
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(external_alembic external_boost external_zlib external_ilmbase)
|
add_dependencies(
|
||||||
|
external_alembic
|
||||||
|
external_boost
|
||||||
|
external_zlib
|
||||||
|
external_ilmbase
|
||||||
|
)
|
||||||
|
@@ -47,7 +47,10 @@ if(BUILD_MODE STREQUAL Release)
|
|||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/blendThumb32 ${DEFAULT_CMAKE_FLAGS} -DZLIB_INCLUDE=${LIBDIR}/zlib32/include -DZLIB_LIBS=${LIBDIR}/zlib32/lib/zlibstatic.lib
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/blendThumb32 ${DEFAULT_CMAKE_FLAGS} -DZLIB_INCLUDE=${LIBDIR}/zlib32/include -DZLIB_LIBS=${LIBDIR}/zlib32/lib/zlibstatic.lib
|
||||||
INSTALL_DIR ${LIBDIR}/blendthumb32
|
INSTALL_DIR ${LIBDIR}/blendthumb32
|
||||||
)
|
)
|
||||||
add_dependencies(external_blendthumb_32 external_zlib_32)
|
add_dependencies(
|
||||||
|
external_blendthumb_32
|
||||||
|
external_zlib_32
|
||||||
|
)
|
||||||
|
|
||||||
ExternalProject_Add(external_blendthumb_64
|
ExternalProject_Add(external_blendthumb_64
|
||||||
CMAKE_GENERATOR ${GENERATOR_64}
|
CMAKE_GENERATOR ${GENERATOR_64}
|
||||||
@@ -56,6 +59,9 @@ if(BUILD_MODE STREQUAL Release)
|
|||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/blendThumb64 ${DEFAULT_CMAKE_FLAGS} -DZLIB_INCLUDE=${LIBDIR}/zlib64/include -DZLIB_LIBS=${LIBDIR}/zlib64/lib/zlibstatic.lib
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/blendThumb64 ${DEFAULT_CMAKE_FLAGS} -DZLIB_INCLUDE=${LIBDIR}/zlib64/include -DZLIB_LIBS=${LIBDIR}/zlib64/lib/zlibstatic.lib
|
||||||
INSTALL_DIR ${LIBDIR}/blendthumb64
|
INSTALL_DIR ${LIBDIR}/blendthumb64
|
||||||
)
|
)
|
||||||
add_dependencies(external_blendthumb_64 external_zlib_64)
|
add_dependencies(
|
||||||
|
external_blendthumb_64
|
||||||
|
external_zlib_64
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
@@ -37,7 +37,13 @@ ExternalProject_Add(external_blosc
|
|||||||
INSTALL_DIR ${LIBDIR}/blosc
|
INSTALL_DIR ${LIBDIR}/blosc
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(external_blosc external_zlib)
|
add_dependencies(
|
||||||
|
external_blosc
|
||||||
|
external_zlib
|
||||||
|
)
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
add_dependencies(external_blosc external_pthreads)
|
add_dependencies(
|
||||||
|
external_blosc
|
||||||
|
external_pthreads
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -53,17 +53,20 @@ if(WIN32)
|
|||||||
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-1_60/ ${HARVEST_TARGET}/boost/include/)
|
set(BOOST_HARVEST_CMD ${BOOST_HARVEST_CMD} && ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/boost/include/boost-1_60/ ${HARVEST_TARGET}/boost/include/)
|
||||||
endif()
|
endif()
|
||||||
|
set(BOOST_PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/boost/src/external_boost < ${PATCH_DIR}/boost.diff)
|
||||||
|
|
||||||
elseif(APPLE)
|
elseif(APPLE)
|
||||||
set(BOOST_CONFIGURE_COMMAND ./bootstrap.sh)
|
set(BOOST_CONFIGURE_COMMAND ./bootstrap.sh)
|
||||||
set(BOOST_BUILD_COMMAND ./bjam)
|
set(BOOST_BUILD_COMMAND ./bjam)
|
||||||
set(BOOST_BUILD_OPTIONS toolset=clang cxxflags=${PLATFORM_CXXFLAGS} linkflags=${PLATFORM_LDFLAGS} --disable-icu boost.locale.icu=off)
|
set(BOOST_BUILD_OPTIONS toolset=clang cxxflags=${PLATFORM_CXXFLAGS} linkflags=${PLATFORM_LDFLAGS} --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 ./bjam)
|
set(BOOST_BUILD_COMMAND ./bjam)
|
||||||
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()
|
||||||
|
|
||||||
set(BOOST_OPTIONS
|
set(BOOST_OPTIONS
|
||||||
@@ -96,6 +99,7 @@ ExternalProject_Add(external_boost
|
|||||||
URL_HASH MD5=${BOOST_MD5}
|
URL_HASH MD5=${BOOST_MD5}
|
||||||
PREFIX ${BUILD_DIR}/boost
|
PREFIX ${BUILD_DIR}/boost
|
||||||
UPDATE_COMMAND ""
|
UPDATE_COMMAND ""
|
||||||
|
PATCH_COMMAND ${BOOST_PATCH_COMMAND}
|
||||||
CONFIGURE_COMMAND ${BOOST_CONFIGURE_COMMAND}
|
CONFIGURE_COMMAND ${BOOST_CONFIGURE_COMMAND}
|
||||||
BUILD_COMMAND ${BOOST_BUILD_COMMAND} ${BOOST_BUILD_OPTIONS} -j${MAKE_THREADS} architecture=x86 address-model=${BOOST_ADDRESS_MODEL} variant=${BOOST_BUILD_TYPE} link=static threading=multi ${BOOST_OPTIONS} --prefix=${LIBDIR}/boost install
|
BUILD_COMMAND ${BOOST_BUILD_COMMAND} ${BOOST_BUILD_OPTIONS} -j${MAKE_THREADS} architecture=x86 address-model=${BOOST_ADDRESS_MODEL} variant=${BOOST_BUILD_TYPE} link=static threading=multi ${BOOST_OPTIONS} --prefix=${LIBDIR}/boost install
|
||||||
BUILD_IN_SOURCE 1
|
BUILD_IN_SOURCE 1
|
||||||
@@ -103,5 +107,8 @@ ExternalProject_Add(external_boost
|
|||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
add_dependencies(external_boost Make_Python_Environment)
|
add_dependencies(
|
||||||
|
external_boost
|
||||||
|
Make_Python_Environment
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
49
build_files/build_environment/cmake/breakpad.cmake
Normal file
49
build_files/build_environment/cmake/breakpad.cmake
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
# ***** BEGIN GPL LICENSE BLOCK *****
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation; either version 2
|
||||||
|
# of the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software Foundation,
|
||||||
|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ***** END GPL LICENSE BLOCK *****
|
||||||
|
|
||||||
|
ExternalProject_Add(external_breakpad
|
||||||
|
GIT_REPOSITORY ${BREAKPAD_URI}
|
||||||
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
|
URL_HASH MD5=${BREAKPAD_MD5}
|
||||||
|
PREFIX ${BUILD_DIR}/breakpad
|
||||||
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/breakpad/src/external_breakpad < ${PATCH_DIR}/breakpad.diff
|
||||||
|
UPDATE_COMMAND git -c user.name=test -c user.email=test@test.test stash create
|
||||||
|
CONFIGURE_COMMAND ${CONFIGURE_ENV} && ${BREAKPAD_ENV} cd ${BUILD_DIR}/breakpad/src/external_breakpad/ && aclocal && automake && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/breakpad
|
||||||
|
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/breakpad/src/external_breakpad/ && make -j${MAKE_THREADS}
|
||||||
|
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/breakpad/src/external_breakpad/ && make install
|
||||||
|
#INSTALL_DIR ${LIBDIR}/breakpad
|
||||||
|
)
|
||||||
|
|
||||||
|
#the new file is included in the breakpad.diff now
|
||||||
|
|
||||||
|
#set(LSS_URI https://chromium.googlesource.com/linux-syscall-support)
|
||||||
|
#set(LSS_HARVEST_COMMAND
|
||||||
|
# cd ${BUILD_DIR} &&
|
||||||
|
# git clone ${LSS_URI} &&
|
||||||
|
# mkdir ${BUILD_DIR}/breakpad/src/external_breakpad/src/third_party/lss &&
|
||||||
|
# cp ${BUILD_DIR}/linux-syscall-support/linux_syscall_support.h ${BUILD_DIR}/breakpad/src/external_breakpad/src/third_party/lss/linux_syscall_support.h)
|
||||||
|
|
||||||
|
#set(GIT_ENVIRONMENT COMMAND
|
||||||
|
# export GIT_COMMITTER_NAME="Test" &&
|
||||||
|
# export GIT_COMMITTER_EMAIL="test@test.test")
|
||||||
|
|
||||||
|
#ExternalProject_Add_Step(external_breakpad after_patch
|
||||||
|
# #COMMAND ${LSS_HARVEST_COMMAND}
|
||||||
|
# COMMAND ${GIT_ENVIRONMENT}
|
||||||
|
# DEPENDEES patch #mkdir update patch download configure build install
|
||||||
|
#)
|
@@ -32,9 +32,9 @@ ExternalProject_Add(external_clang
|
|||||||
INSTALL_DIR ${LIBDIR}/clang
|
INSTALL_DIR ${LIBDIR}/clang
|
||||||
)
|
)
|
||||||
|
|
||||||
if (MSVC)
|
if(MSVC)
|
||||||
if (BUILD_MODE STREQUAL Release)
|
if(BUILD_MODE STREQUAL Release)
|
||||||
set(CLANG_HARVEST_COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/ ${HARVEST_TARGET}/llvm/ )
|
set(CLANG_HARVEST_COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/ ${HARVEST_TARGET}/llvm/)
|
||||||
else()
|
else()
|
||||||
set(CLANG_HARVEST_COMMAND
|
set(CLANG_HARVEST_COMMAND
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/lib/ ${HARVEST_TARGET}/llvm/debug/lib/ &&
|
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/lib/ ${HARVEST_TARGET}/llvm/debug/lib/ &&
|
||||||
@@ -48,4 +48,7 @@ if (MSVC)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_dependencies(external_clang ll)
|
add_dependencies(
|
||||||
|
external_clang
|
||||||
|
ll
|
||||||
|
)
|
||||||
|
@@ -36,7 +36,8 @@ else()
|
|||||||
${FFMPEG_EXTRA_FLAGS}
|
${FFMPEG_EXTRA_FLAGS}
|
||||||
--enable-static
|
--enable-static
|
||||||
--disable-shared
|
--disable-shared
|
||||||
--enable-libopenjpeg)
|
# --enable-libopenjpeg
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
@@ -111,9 +112,25 @@ ExternalProject_Add(external_ffmpeg
|
|||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set_target_properties(external_ffmpeg PROPERTIES FOLDER Mingw)
|
set_target_properties(external_ffmpeg PROPERTIES FOLDER Mingw)
|
||||||
endif(MSVC)
|
endif()
|
||||||
|
|
||||||
add_dependencies(external_ffmpeg external_zlib external_faad external_openjpeg external_xvidcore external_x264 external_schroedinger external_vpx external_theora external_vorbis external_ogg external_lame)
|
add_dependencies(
|
||||||
if(WIN32)
|
external_ffmpeg
|
||||||
add_dependencies(external_ffmpeg external_zlib_mingw)
|
external_zlib
|
||||||
|
external_faad
|
||||||
|
external_openjpeg
|
||||||
|
external_xvidcore
|
||||||
|
external_x264
|
||||||
|
external_schroedinger
|
||||||
|
external_vpx
|
||||||
|
external_theora
|
||||||
|
external_vorbis
|
||||||
|
external_ogg
|
||||||
|
external_lame
|
||||||
|
)
|
||||||
|
if(WIN32)
|
||||||
|
add_dependencies(
|
||||||
|
external_ffmpeg
|
||||||
|
external_zlib_mingw
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -37,4 +37,4 @@ ExternalProject_Add(external_fftw3
|
|||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set_target_properties(external_fftw3 PROPERTIES FOLDER Mingw)
|
set_target_properties(external_fftw3 PROPERTIES FOLDER Mingw)
|
||||||
endif(MSVC)
|
endif()
|
||||||
|
@@ -29,4 +29,4 @@ ExternalProject_Add(external_flac
|
|||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set_target_properties(external_flac PROPERTIES FOLDER Mingw)
|
set_target_properties(external_flac PROPERTIES FOLDER Mingw)
|
||||||
endif(MSVC)
|
endif()
|
||||||
|
@@ -26,7 +26,6 @@ endif()
|
|||||||
message("HARVEST_TARGET = ${HARVEST_TARGET}")
|
message("HARVEST_TARGET = ${HARVEST_TARGET}")
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
if(BUILD_MODE STREQUAL Release)
|
||||||
add_custom_target(Harvest_Release_Results
|
add_custom_target(Harvest_Release_Results
|
||||||
# Zlib Rename the lib file and copy the include/bin folders
|
# Zlib Rename the lib file and copy the include/bin folders
|
||||||
@@ -103,8 +102,6 @@ if(BUILD_MODE STREQUAL Release)
|
|||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/python/ ${HARVEST_TARGET}/python/ &&
|
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/python/ ${HARVEST_TARGET}/python/ &&
|
||||||
# alembic
|
# alembic
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/alembic ${HARVEST_TARGET}/alembic &&
|
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/alembic ${HARVEST_TARGET}/alembic &&
|
||||||
# hdf5
|
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/hdf5 ${HARVEST_TARGET}/hdf5 &&
|
|
||||||
# BlendThumb
|
# BlendThumb
|
||||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/BlendThumb64/bin/blendthumb.dll ${HARVEST_TARGET}/ThumbHandler/lib/BlendThumb64.dll &&
|
${CMAKE_COMMAND} -E copy ${LIBDIR}/BlendThumb64/bin/blendthumb.dll ${HARVEST_TARGET}/ThumbHandler/lib/BlendThumb64.dll &&
|
||||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/BlendThumb32/bin/blendthumb.dll ${HARVEST_TARGET}/ThumbHandler/lib/BlendThumb.dll &&
|
${CMAKE_COMMAND} -E copy ${LIBDIR}/BlendThumb32/bin/blendthumb.dll ${HARVEST_TARGET}/ThumbHandler/lib/BlendThumb.dll &&
|
||||||
@@ -117,8 +114,8 @@ if(BUILD_MODE STREQUAL Release)
|
|||||||
# webp, straight up copy
|
# webp, straight up copy
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/webp ${HARVEST_TARGET}/webp
|
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/webp ${HARVEST_TARGET}/webp
|
||||||
DEPENDS
|
DEPENDS
|
||||||
)
|
)
|
||||||
endif(BUILD_MODE STREQUAL Release)
|
endif()
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
if(BUILD_MODE STREQUAL Debug)
|
||||||
add_custom_target(Harvest_Debug_Results
|
add_custom_target(Harvest_Debug_Results
|
||||||
@@ -169,8 +166,8 @@ if(BUILD_MODE STREQUAL Debug)
|
|||||||
# python
|
# python
|
||||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}_d.tar.gz ${HARVEST_TARGET}/Release/python${PYTHON_SHORT_VERSION_NO_DOTS}_d.tar.gz
|
${CMAKE_COMMAND} -E copy ${LIBDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}_d.tar.gz ${HARVEST_TARGET}/Release/python${PYTHON_SHORT_VERSION_NO_DOTS}_d.tar.gz
|
||||||
DEPENDS Package_Python
|
DEPENDS Package_Python
|
||||||
)
|
)
|
||||||
endif(BUILD_MODE STREQUAL Debug)
|
endif()
|
||||||
|
|
||||||
else(WIN32)
|
else(WIN32)
|
||||||
|
|
||||||
@@ -204,7 +201,8 @@ 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(alembic/bin alembic/bin "*")
|
||||||
harvest(blosc/lib openvdb/lib "*.a")
|
harvest(blosc/lib blosc/lib "*.a")
|
||||||
|
harvest(blosc/include blosc/include "*.h")
|
||||||
harvest(boost/include boost/include "*")
|
harvest(boost/include boost/include "*")
|
||||||
harvest(boost/lib boost/lib "*.a")
|
harvest(boost/lib boost/lib "*.a")
|
||||||
harvest(ffmpeg/include ffmpeg/include "*.h")
|
harvest(ffmpeg/include ffmpeg/include "*.h")
|
||||||
@@ -229,6 +227,9 @@ harvest(ogg/lib ffmpeg/lib "*.a")
|
|||||||
harvest(openal/include openal/include "*.h")
|
harvest(openal/include openal/include "*.h")
|
||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
harvest(openal/lib openal/lib "*.a")
|
harvest(openal/lib openal/lib "*.a")
|
||||||
|
#harvest(breakpad/lib breakpad/lib "*.a")
|
||||||
|
#harvest(breakpad/include/breakpad breakpad/include "*.h")
|
||||||
|
#harvest(breakpad/bin breakpad/bin "*")
|
||||||
endif()
|
endif()
|
||||||
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")
|
||||||
@@ -276,4 +277,4 @@ harvest(x264/lib ffmpeg/lib "*.a")
|
|||||||
harvest(xml2/lib opencollada/lib "*.a")
|
harvest(xml2/lib opencollada/lib "*.a")
|
||||||
harvest(xvidcore/lib ffmpeg/lib "*.a")
|
harvest(xvidcore/lib ffmpeg/lib "*.a")
|
||||||
|
|
||||||
endif(WIN32)
|
endif()
|
||||||
|
@@ -43,8 +43,8 @@ ExternalProject_Add(ll
|
|||||||
INSTALL_DIR ${LIBDIR}/llvm
|
INSTALL_DIR ${LIBDIR}/llvm
|
||||||
)
|
)
|
||||||
|
|
||||||
if (MSVC)
|
if(MSVC)
|
||||||
if (BUILD_MODE STREQUAL Release)
|
if(BUILD_MODE STREQUAL Release)
|
||||||
set(LLVM_HARVEST_COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/llvm/ ${HARVEST_TARGET}/llvm/ )
|
set(LLVM_HARVEST_COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/llvm/ ${HARVEST_TARGET}/llvm/ )
|
||||||
else()
|
else()
|
||||||
set(LLVM_HARVEST_COMMAND
|
set(LLVM_HARVEST_COMMAND
|
||||||
@@ -58,4 +58,3 @@ if (MSVC)
|
|||||||
DEPENDEES mkdir update patch download configure build install
|
DEPENDEES mkdir update patch download configure build install
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -25,7 +25,7 @@ if(MSVC)
|
|||||||
set(NUMPY_DIR_POSTFIX)
|
set(NUMPY_DIR_POSTFIX)
|
||||||
set(NUMPY_ARCHIVE_POSTFIX)
|
set(NUMPY_ARCHIVE_POSTFIX)
|
||||||
set(NUMPY_BUILD_OPTION)
|
set(NUMPY_BUILD_OPTION)
|
||||||
endif(BUILD_MODE STREQUAL Debug)
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(NUMPY_POSTFIX)
|
set(NUMPY_POSTFIX)
|
||||||
@@ -50,8 +50,11 @@ ExternalProject_Add(external_numpy
|
|||||||
PATCH_COMMAND ${NUMPY_PATCH}
|
PATCH_COMMAND ${NUMPY_PATCH}
|
||||||
CONFIGURE_COMMAND ""
|
CONFIGURE_COMMAND ""
|
||||||
LOG_BUILD 1
|
LOG_BUILD 1
|
||||||
BUILD_COMMAND ${PYTHON_BINARY} ${BUILD_DIR}/numpy/src/external_numpy/setup.py build ${NUMPY_BUILD_OPTION} install --old-and-unmanageable
|
BUILD_COMMAND ${PYTHON_BINARY} ${BUILD_DIR}/numpy/src/external_numpy/setup.py build ${NUMPY_BUILD_OPTION} install
|
||||||
INSTALL_COMMAND ${NUMPY_INSTALL}
|
INSTALL_COMMAND ${NUMPY_INSTALL}
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(external_numpy Make_Python_Environment)
|
add_dependencies(
|
||||||
|
external_numpy
|
||||||
|
Make_Python_Environment
|
||||||
|
)
|
||||||
|
@@ -25,6 +25,7 @@ if(BUILD_MODE STREQUAL Release)
|
|||||||
-DALSOFT_CONFIG=Off
|
-DALSOFT_CONFIG=Off
|
||||||
-DALSOFT_HRTF_DEFS=Off
|
-DALSOFT_HRTF_DEFS=Off
|
||||||
-DALSOFT_INSTALL=On
|
-DALSOFT_INSTALL=On
|
||||||
|
-DALSOFT_BACKEND_SNDIO=Off
|
||||||
)
|
)
|
||||||
|
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
@@ -38,5 +39,6 @@ if(BUILD_MODE STREQUAL Release)
|
|||||||
PREFIX ${BUILD_DIR}/openal
|
PREFIX ${BUILD_DIR}/openal
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openal ${DEFAULT_CMAKE_FLAGS} ${OPENAL_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openal ${DEFAULT_CMAKE_FLAGS} ${OPENAL_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/openal
|
INSTALL_DIR ${LIBDIR}/openal
|
||||||
|
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/openal/src/external_openal < ${PATCH_DIR}/openal.diff
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -33,5 +33,8 @@ ExternalProject_Add(external_opencollada
|
|||||||
)
|
)
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
add_dependencies(external_opencollada external_xml2)
|
add_dependencies(
|
||||||
|
external_opencollada
|
||||||
|
external_xml2
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -67,4 +67,7 @@ if(NOT WIN32)
|
|||||||
add_custom_target(external_opencolorio_extra ALL DEPENDS external_opencolorio ${LIBDIR}/opencolorio/lib/libtinyxml.a)
|
add_custom_target(external_opencolorio_extra ALL DEPENDS external_opencolorio ${LIBDIR}/opencolorio/lib/libtinyxml.a)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_dependencies(external_opencolorio external_boost)
|
add_dependencies(
|
||||||
|
external_opencolorio
|
||||||
|
external_boost
|
||||||
|
)
|
||||||
|
@@ -38,4 +38,8 @@ ExternalProject_Add(external_openexr
|
|||||||
INSTALL_DIR ${LIBDIR}/openexr
|
INSTALL_DIR ${LIBDIR}/openexr
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(external_openexr external_zlib external_ilmbase)
|
add_dependencies(
|
||||||
|
external_openexr
|
||||||
|
external_zlib
|
||||||
|
external_ilmbase
|
||||||
|
)
|
||||||
|
@@ -39,20 +39,24 @@ else()
|
|||||||
set(OIIO_SIMD_FLAGS)
|
set(OIIO_SIMD_FLAGS)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (WITH_WEBP)
|
if(WITH_WEBP)
|
||||||
set(WEBP_ARGS -DWEBP_INCLUDE_DIR=${LIBDIR}/webp/include
|
set(WEBP_ARGS
|
||||||
-DWEBP_LIBRARY=${LIBDIR}/webp/lib/${LIBPREFIX}webp${LIBEXT} )
|
-DWEBP_INCLUDE_DIR=${LIBDIR}/webp/include
|
||||||
|
-DWEBP_LIBRARY=${LIBDIR}/webp/lib/${LIBPREFIX}webp${LIBEXT}
|
||||||
|
)
|
||||||
set(WEBP_DEP external_webp)
|
set(WEBP_DEP external_webp)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (MSVC)
|
if(MSVC)
|
||||||
set(OPENJPEG_FLAGS -DOPENJPEG_HOME=${LIBDIR}/openjpeg_msvc
|
set(OPENJPEG_FLAGS
|
||||||
|
-DOPENJPEG_HOME=${LIBDIR}/openjpeg_msvc
|
||||||
-DOPENJPEG_INCLUDE_DIR=${LIBDIR}/openjpeg_msvc/include/openjpeg-${OPENJPEG_SHORT_VERSION}
|
-DOPENJPEG_INCLUDE_DIR=${LIBDIR}/openjpeg_msvc/include/openjpeg-${OPENJPEG_SHORT_VERSION}
|
||||||
-DOPENJPEG_LIBRARY=${LIBDIR}/openjpeg_msvc/lib/openjpeg${LIBEXT}
|
-DOPENJPEG_LIBRARY=${LIBDIR}/openjpeg_msvc/lib/openjpeg${LIBEXT}
|
||||||
-DOPENJPEG_LIBRARY_DEBUG=${LIBDIR}/openjpeg_msvc/lib/openjpeg${LIBEXT}
|
-DOPENJPEG_LIBRARY_DEBUG=${LIBDIR}/openjpeg_msvc/lib/openjpeg${LIBEXT}
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
set(OPENJPEG_FLAGS -DOPENJPEG_INCLUDE_DIR=${LIBDIR}/openjpeg/include/openjpeg-${OPENJPEG_SHORT_VERSION}
|
set(OPENJPEG_FLAGS
|
||||||
|
-DOPENJPEG_INCLUDE_DIR=${LIBDIR}/openjpeg/include/openjpeg-${OPENJPEG_SHORT_VERSION}
|
||||||
-DOPENJPEG_LIBRARY=${LIBDIR}/openjpeg/lib/${OPENJPEG_LIBRARY}
|
-DOPENJPEG_LIBRARY=${LIBDIR}/openjpeg/lib/${OPENJPEG_LIBRARY}
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
@@ -86,6 +90,7 @@ set(OPENIMAGEIO_EXTRA_ARGS
|
|||||||
-DUSE_PYTHON=OFF
|
-DUSE_PYTHON=OFF
|
||||||
-DUSE_PYTHON3=OFF
|
-DUSE_PYTHON3=OFF
|
||||||
-DUSE_OCIO=OFF
|
-DUSE_OCIO=OFF
|
||||||
|
-DUSE_WEBP=${WITH_WEBP}
|
||||||
-DOIIO_BUILD_TOOLS=${OIIO_TOOLS}
|
-DOIIO_BUILD_TOOLS=${OIIO_TOOLS}
|
||||||
-DOIIO_BUILD_TESTS=OFF
|
-DOIIO_BUILD_TESTS=OFF
|
||||||
-DBUILD_TESTING=OFF
|
-DBUILD_TESTING=OFF
|
||||||
@@ -120,13 +125,28 @@ ExternalProject_Add(external_openimageio
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH MD5=${OPENIMAGEIO_HASH}
|
URL_HASH MD5=${OPENIMAGEIO_HASH}
|
||||||
PREFIX ${BUILD_DIR}/openimageio
|
PREFIX ${BUILD_DIR}/openimageio
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 0 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/src/include < ${PATCH_DIR}/openimageio_gdi.diff &&
|
PATCH_COMMAND
|
||||||
|
${PATCH_CMD} -p 0 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/src/include < ${PATCH_DIR}/openimageio_gdi.diff &&
|
||||||
${PATCH_CMD} -p 0 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/ < ${PATCH_DIR}/openimageio_staticexr.diff
|
${PATCH_CMD} -p 0 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/ < ${PATCH_DIR}/openimageio_staticexr.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}
|
||||||
INSTALL_DIR ${LIBDIR}/openimageio
|
INSTALL_DIR ${LIBDIR}/openimageio
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(external_openimageio external_png external_zlib external_ilmbase external_openexr external_jpeg external_boost external_tiff external_opencolorio external_openjpeg${OPENJPEG_POSTFIX} ${WEBP_DEP})
|
add_dependencies(
|
||||||
|
external_openimageio
|
||||||
|
external_png external_zlib
|
||||||
|
external_ilmbase
|
||||||
|
external_openexr
|
||||||
|
external_jpeg
|
||||||
|
external_boost
|
||||||
|
external_tiff
|
||||||
|
external_opencolorio
|
||||||
|
external_openjpeg${OPENJPEG_POSTFIX}
|
||||||
|
${WEBP_DEP}
|
||||||
|
)
|
||||||
if(NOT WIN32)
|
if(NOT WIN32)
|
||||||
add_dependencies(external_openimageio external_opencolorio_extra)
|
add_dependencies(
|
||||||
|
external_openimageio
|
||||||
|
external_opencolorio_extra
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -39,19 +39,26 @@ ExternalProject_Add(external_openjpeg
|
|||||||
)
|
)
|
||||||
|
|
||||||
#on windows ffmpeg wants a mingw build, while oiio needs a msvc build
|
#on windows ffmpeg wants a mingw build, while oiio needs a msvc build
|
||||||
if (MSVC)
|
if(MSVC)
|
||||||
set(OPENJPEG_EXTRA_ARGS ${DEFAULT_CMAKE_FLAGS})
|
set(OPENJPEG_EXTRA_ARGS ${DEFAULT_CMAKE_FLAGS})
|
||||||
ExternalProject_Add(external_openjpeg_msvc
|
ExternalProject_Add(external_openjpeg_msvc
|
||||||
URL ${OPENJPEG_URI}
|
URL ${OPENJPEG_URI}
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH SHA256=${OPENJPEG_HASH}
|
URL_HASH SHA256=${OPENJPEG_HASH}
|
||||||
PREFIX ${BUILD_DIR}/openjpeg_msvc
|
PREFIX ${BUILD_DIR}/openjpeg_msvc
|
||||||
CMAKE_ARGS ${OPENJPEG_EXTRA_ARGS} -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openjpeg_msvc -DBUILD_SHARED_LIBS=Off -DBUILD_THIRDPARTY=OFF
|
CMAKE_ARGS ${OPENJPEG_EXTRA_ARGS} -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openjpeg_msvc -DBUILD_SHARED_LIBS=Off -DBUILD_THIRDPARTY=OFF
|
||||||
INSTALL_DIR ${LIBDIR}/openjpeg_msvc
|
INSTALL_DIR ${LIBDIR}/openjpeg_msvc
|
||||||
)
|
)
|
||||||
|
if(BUILD_MODE STREQUAL Release)
|
||||||
|
ExternalProject_Add_Step(external_openjpeg_msvc after_install
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openjpeg_msvc/lib ${HARVEST_TARGET}/openjpeg/lib &&
|
||||||
|
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openjpeg_msvc/include ${HARVEST_TARGET}/openjpeg/include
|
||||||
|
DEPENDEES install
|
||||||
|
)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(OPENJPEG_LIBRARY libopenjpeg${LIBEXT})
|
set(OPENJPEG_LIBRARY libopenjpeg${LIBEXT})
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set_target_properties(external_openjpeg PROPERTIES FOLDER Mingw)
|
set_target_properties(external_openjpeg PROPERTIES FOLDER Mingw)
|
||||||
endif(MSVC)
|
endif()
|
||||||
|
@@ -43,7 +43,7 @@ if(WIN32)
|
|||||||
set(OPENSUBDIV_EXTRA_ARGS
|
set(OPENSUBDIV_EXTRA_ARGS
|
||||||
${OPENSUBDIV_EXTRA_ARGS}
|
${OPENSUBDIV_EXTRA_ARGS}
|
||||||
-DNO_CUDA=${OPENSUBDIV_CUDA}
|
-DNO_CUDA=${OPENSUBDIV_CUDA}
|
||||||
-DCLEW_INCLUDE_DIR=${LIBDIR}/clew/include/cl
|
-DCLEW_INCLUDE_DIR=${LIBDIR}/clew/include/CL
|
||||||
-DCLEW_LIBRARY=${LIBDIR}/clew/lib/clew${LIBEXT}
|
-DCLEW_LIBRARY=${LIBDIR}/clew/lib/clew${LIBEXT}
|
||||||
-DCUEW_INCLUDE_DIR=${LIBDIR}/cuew/include
|
-DCUEW_INCLUDE_DIR=${LIBDIR}/cuew/include
|
||||||
-DCUEW_LIBRARY=${LIBDIR}/cuew/lib/cuew${LIBEXT}
|
-DCUEW_LIBRARY=${LIBDIR}/cuew/lib/cuew${LIBEXT}
|
||||||
@@ -54,6 +54,7 @@ else()
|
|||||||
${OPENSUBDIV_EXTRA_ARGS}
|
${OPENSUBDIV_EXTRA_ARGS}
|
||||||
-DNO_CUDA=ON
|
-DNO_CUDA=ON
|
||||||
-DCUEW_INCLUDE_DIR=${LIBDIR}/cuew/include
|
-DCUEW_INCLUDE_DIR=${LIBDIR}/cuew/include
|
||||||
|
-DCLEW_INCLUDE_DIR=${LIBDIR}/clew/include/CL
|
||||||
-DCLEW_LIBRARY=${LIBDIR}/clew/lib/static/${LIBPREFIX}clew${LIBEXT}
|
-DCLEW_LIBRARY=${LIBDIR}/clew/lib/static/${LIBPREFIX}clew${LIBEXT}
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
@@ -68,4 +69,10 @@ ExternalProject_Add(external_opensubdiv
|
|||||||
INSTALL_DIR ${LIBDIR}/opensubdiv
|
INSTALL_DIR ${LIBDIR}/opensubdiv
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(external_opensubdiv external_glew external_glfw external_clew external_cuew)
|
add_dependencies(
|
||||||
|
external_opensubdiv
|
||||||
|
external_glew
|
||||||
|
external_glfw
|
||||||
|
external_clew
|
||||||
|
external_cuew
|
||||||
|
)
|
||||||
|
@@ -61,11 +61,20 @@ ExternalProject_Add(openvdb
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH MD5=${OPENVDB_HASH}
|
URL_HASH MD5=${OPENVDB_HASH}
|
||||||
PREFIX ${BUILD_DIR}/openvdb
|
PREFIX ${BUILD_DIR}/openvdb
|
||||||
PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_openvdb.txt ${BUILD_DIR}/openvdb/src/openvdb/CMakeLists.txt &&
|
PATCH_COMMAND COMMAND
|
||||||
|
${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_openvdb.txt ${BUILD_DIR}/openvdb/src/openvdb/CMakeLists.txt &&
|
||||||
${CMAKE_COMMAND} -E copy_directory ${PATCH_DIR}/cmake/ ${BUILD_DIR}/openvdb/src/openvdb/cmake/ &&
|
${CMAKE_COMMAND} -E copy_directory ${PATCH_DIR}/cmake/ ${BUILD_DIR}/openvdb/src/openvdb/cmake/ &&
|
||||||
${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/openvdb/src/openvdb < ${PATCH_DIR}/openvdb_vc2013.diff
|
${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/openvdb/src/openvdb < ${PATCH_DIR}/openvdb_vc2013.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}
|
||||||
INSTALL_DIR ${LIBDIR}/openvdb
|
INSTALL_DIR ${LIBDIR}/openvdb
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(openvdb external_tbb external_boost external_ilmbase external_openexr external_zlib external_blosc)
|
add_dependencies(
|
||||||
|
openvdb
|
||||||
|
external_tbb
|
||||||
|
external_boost
|
||||||
|
external_ilmbase
|
||||||
|
external_openexr
|
||||||
|
external_zlib
|
||||||
|
external_blosc
|
||||||
|
)
|
||||||
|
@@ -26,13 +26,13 @@ if(NOT BUILD_MODE)
|
|||||||
set(BUILD_MODE "Release")
|
set(BUILD_MODE "Release")
|
||||||
message(STATUS "Build type not specified: defaulting to a release build.")
|
message(STATUS "Build type not specified: defaulting to a release build.")
|
||||||
endif()
|
endif()
|
||||||
Message("BuildMode = ${BUILD_MODE}")
|
message("BuildMode = ${BUILD_MODE}")
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL "Debug")
|
if(BUILD_MODE STREQUAL "Debug")
|
||||||
set(LIBDIR ${CMAKE_CURRENT_BINARY_DIR}/Debug)
|
set(LIBDIR ${CMAKE_CURRENT_BINARY_DIR}/Debug)
|
||||||
ELSE(BUILD_MODE STREQUAL "Debug")
|
else(BUILD_MODE STREQUAL "Debug")
|
||||||
set(LIBDIR ${CMAKE_CURRENT_BINARY_DIR}/Release)
|
set(LIBDIR ${CMAKE_CURRENT_BINARY_DIR}/Release)
|
||||||
ENDIF(BUILD_MODE STREQUAL "Debug")
|
endif()
|
||||||
|
|
||||||
option(DOWNLOAD_DIR "Path for downloaded files" ${CMAKE_CURRENT_SOURCE_DIR}/downloads)
|
option(DOWNLOAD_DIR "Path for downloaded files" ${CMAKE_CURRENT_SOURCE_DIR}/downloads)
|
||||||
file(TO_CMAKE_PATH ${DOWNLOAD_DIR} DOWNLOAD_DIR)
|
file(TO_CMAKE_PATH ${DOWNLOAD_DIR} DOWNLOAD_DIR)
|
||||||
@@ -56,24 +56,27 @@ if(WIN32)
|
|||||||
# For OIIO and OSL
|
# For OIIO and OSL
|
||||||
set(COMMON_DEFINES /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS)
|
set(COMMON_DEFINES /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS)
|
||||||
|
|
||||||
# TODO FIXME highly MSVC specific
|
if(MSVC_VERSION GREATER 1909)
|
||||||
if(WITH_OPTIMIZED_DEBUG)
|
set(COMMON_MSVC_FLAGS "/Wv:18") #some deps with warnings as error aren't quite ready for dealing with the new 2017 warnings.
|
||||||
set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MTd /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
|
||||||
else()
|
|
||||||
set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MTd /Zi /Ob0 /Od /RTC1 /D_DEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
|
||||||
endif()
|
endif()
|
||||||
set(BLENDER_CMAKE_C_FLAGS_MINSIZEREL "/MT /O1 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
|
||||||
set(BLENDER_CMAKE_C_FLAGS_RELEASE "/MT /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
|
||||||
set(BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO "/MT /Zi /O2 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
|
||||||
|
|
||||||
if(WITH_OPTIMIZED_DEBUG)
|
if(WITH_OPTIMIZED_DEBUG)
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/MTd /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MTd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
else()
|
else()
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /D PLATFORM_WINDOWS /MTd /Zi /Ob0 /Od /RTC1 /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MTd ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /D_DEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
endif()
|
endif()
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL "/MT /O1 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_C_FLAGS_MINSIZEREL "/MT ${COMMON_MSVC_FLAGS} /O1 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_RELEASE "/MT /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_C_FLAGS_RELEASE "/MT ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MT /Zi /O2 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
set(BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO "/MT ${COMMON_MSVC_FLAGS} /Zi /O2 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
|
|
||||||
|
if(WITH_OPTIMIZED_DEBUG)
|
||||||
|
set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/MTd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
|
else()
|
||||||
|
set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /D PLATFORM_WINDOWS /MTd ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
|
endif()
|
||||||
|
set(BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL "/MT /${COMMON_MSVC_FLAGS} /O1 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
|
set(BLENDER_CMAKE_CXX_FLAGS_RELEASE "/MT ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
|
set(BLENDER_CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MT ${COMMON_MSVC_FLAGS} /Zi /O2 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
||||||
|
|
||||||
set(PLATFORM_FLAGS)
|
set(PLATFORM_FLAGS)
|
||||||
set(PLATFORM_CXX_FLAGS)
|
set(PLATFORM_CXX_FLAGS)
|
||||||
@@ -116,10 +119,11 @@ else()
|
|||||||
set(LIBPREFIX "lib")
|
set(LIBPREFIX "lib")
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
# Let's get the current Xcode dir, to support xcode-select
|
# Let's get the current Xcode dir, to support xcode-select
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND xcode-select --print-path
|
COMMAND xcode-select --print-path
|
||||||
OUTPUT_VARIABLE XCODE_DEV_PATH OUTPUT_STRIP_TRAILING_WHITESPACE)
|
OUTPUT_VARIABLE XCODE_DEV_PATH OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
set(OSX_ARCHITECTURES x86_64)
|
set(OSX_ARCHITECTURES x86_64)
|
||||||
set(OSX_DEPLOYMENT_TARGET 10.9)
|
set(OSX_DEPLOYMENT_TARGET 10.9)
|
||||||
set(OSX_SDK_VERSION 10.12)
|
set(OSX_SDK_VERSION 10.12)
|
||||||
|
@@ -78,10 +78,21 @@ ExternalProject_Add(external_osl
|
|||||||
LIST_SEPARATOR ^^
|
LIST_SEPARATOR ^^
|
||||||
URL_HASH MD5=${OSL_HASH}
|
URL_HASH MD5=${OSL_HASH}
|
||||||
PREFIX ${BUILD_DIR}/osl
|
PREFIX ${BUILD_DIR}/osl
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 3 -d ${BUILD_DIR}/osl/src/external_osl < ${PATCH_DIR}/osl.diff &&
|
PATCH_COMMAND
|
||||||
|
${PATCH_CMD} -p 3 -d ${BUILD_DIR}/osl/src/external_osl < ${PATCH_DIR}/osl.diff &&
|
||||||
${PATCH_CMD} -p 0 -d ${BUILD_DIR}/osl/src/external_osl < ${PATCH_DIR}/osl_simd_oiio.diff
|
${PATCH_CMD} -p 0 -d ${BUILD_DIR}/osl/src/external_osl < ${PATCH_DIR}/osl_simd_oiio.diff
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/osl -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ${DEFAULT_CMAKE_FLAGS} ${OSL_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/osl -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ${DEFAULT_CMAKE_FLAGS} ${OSL_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/osl
|
INSTALL_DIR ${LIBDIR}/osl
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(external_osl external_boost ll external_clang external_ilmbase external_openexr external_zlib external_flexbison external_openimageio)
|
add_dependencies(
|
||||||
|
external_osl
|
||||||
|
external_boost
|
||||||
|
ll
|
||||||
|
external_clang
|
||||||
|
external_ilmbase
|
||||||
|
external_openexr
|
||||||
|
external_zlib
|
||||||
|
external_flexbison
|
||||||
|
external_openimageio
|
||||||
|
)
|
||||||
|
@@ -31,7 +31,10 @@ ExternalProject_Add(external_png
|
|||||||
INSTALL_DIR ${LIBDIR}/png
|
INSTALL_DIR ${LIBDIR}/png
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(external_png external_zlib)
|
add_dependencies(
|
||||||
|
external_png
|
||||||
|
external_zlib
|
||||||
|
)
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
if(BUILD_MODE STREQUAL Debug)
|
||||||
ExternalProject_Add_Step(external_png after_install
|
ExternalProject_Add_Step(external_png after_install
|
||||||
|
@@ -35,7 +35,8 @@ if(WIN32)
|
|||||||
CONFIGURE_COMMAND echo .
|
CONFIGURE_COMMAND echo .
|
||||||
PATCH_COMMAND ${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/pthreads/src/external_pthreads < ${PATCH_DIR}/pthreads.diff
|
PATCH_COMMAND ${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/pthreads/src/external_pthreads < ${PATCH_DIR}/pthreads.diff
|
||||||
BUILD_COMMAND ${PTHREADS_BUILD}
|
BUILD_COMMAND ${PTHREADS_BUILD}
|
||||||
INSTALL_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/pthreadVC2.dll ${LIBDIR}/pthreads/lib/pthreadVC2.dll &&
|
INSTALL_COMMAND COMMAND
|
||||||
|
${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/pthreadVC2.dll ${LIBDIR}/pthreads/lib/pthreadVC2.dll &&
|
||||||
${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/pthreadVC2${LIBEXT} ${LIBDIR}/pthreads/lib/pthreadVC2${LIBEXT} &&
|
${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/pthreadVC2${LIBEXT} ${LIBDIR}/pthreads/lib/pthreadVC2${LIBEXT} &&
|
||||||
${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/pthread.h ${LIBDIR}/pthreads/inc/pthread.h &&
|
${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/pthread.h ${LIBDIR}/pthreads/inc/pthread.h &&
|
||||||
${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/sched.h ${LIBDIR}/pthreads/inc/sched.h &&
|
${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/sched.h ${LIBDIR}/pthreads/inc/sched.h &&
|
||||||
|
@@ -44,20 +44,22 @@ if(WIN32)
|
|||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||||
URL_HASH MD5=${PYTHON_HASH}
|
URL_HASH MD5=${PYTHON_HASH}
|
||||||
PREFIX ${BUILD_DIR}/python
|
PREFIX ${BUILD_DIR}/python
|
||||||
PATCH_COMMAND echo mklink /D "${PYTHON_EXTERNALS_FOLDER_DOS}" "${DOWNLOADS_EXTERNALS_FOLDER_DOS}" &&
|
PATCH_COMMAND
|
||||||
|
echo mklink /D "${PYTHON_EXTERNALS_FOLDER_DOS}" "${DOWNLOADS_EXTERNALS_FOLDER_DOS}" &&
|
||||||
mklink /D "${PYTHON_EXTERNALS_FOLDER_DOS}" "${DOWNLOADS_EXTERNALS_FOLDER_DOS}" &&
|
mklink /D "${PYTHON_EXTERNALS_FOLDER_DOS}" "${DOWNLOADS_EXTERNALS_FOLDER_DOS}" &&
|
||||||
${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python.diff &&
|
${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python.diff &&
|
||||||
${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/python/src/external_python/pc < ${PATCH_DIR}/pyshell.diff
|
${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/python/src/external_python/pc < ${PATCH_DIR}/pyshell.diff
|
||||||
CONFIGURE_COMMAND ""
|
CONFIGURE_COMMAND ""
|
||||||
BUILD_COMMAND cd ${BUILD_DIR}/python/src/external_python/pcbuild/ && set IncludeTkinter=false && call build.bat -e -p ${PYTHON_ARCH} -c ${BUILD_MODE} -k ${PYTHON_COMPILER_STRING}
|
BUILD_COMMAND cd ${BUILD_DIR}/python/src/external_python/pcbuild/ && set IncludeTkinter=false && call build.bat -e -p ${PYTHON_ARCH} -c ${BUILD_MODE} -k ${PYTHON_COMPILER_STRING}
|
||||||
INSTALL_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.dll ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.dll &&
|
INSTALL_COMMAND COMMAND
|
||||||
|
${CMAKE_COMMAND} -E copy ${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.dll ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.dll &&
|
||||||
${CMAKE_COMMAND} -E copy ${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib &&
|
${CMAKE_COMMAND} -E copy ${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib &&
|
||||||
${CMAKE_COMMAND} -E copy ${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.exp ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.exp &&
|
${CMAKE_COMMAND} -E copy ${PYTHON_OUTPUTDIR}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.exp ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.exp &&
|
||||||
${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/include ${LIBDIR}/python/include/Python${PYTHON_SHORT_VERSION} &&
|
${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/python/src/external_python/include ${LIBDIR}/python/include/Python${PYTHON_SHORT_VERSION} &&
|
||||||
${CMAKE_COMMAND} -E copy "${BUILD_DIR}/python/src/external_python/PC/pyconfig.h" ${LIBDIR}/python/include/Python${PYTHON_SHORT_VERSION}/pyconfig.h
|
${CMAKE_COMMAND} -E copy "${BUILD_DIR}/python/src/external_python/PC/pyconfig.h" ${LIBDIR}/python/include/Python${PYTHON_SHORT_VERSION}/pyconfig.h
|
||||||
)
|
)
|
||||||
Message("PythinRedist = ${BUILD_DIR}/python/src/external_python/redist")
|
message("PythinRedist = ${BUILD_DIR}/python/src/external_python/redist")
|
||||||
Message("POutput = ${PYTHON_OUTPUTDIR}")
|
message("POutput = ${PYTHON_OUTPUTDIR}")
|
||||||
else()
|
else()
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
# we need to manually add homebrew headers to get ssl module building
|
# we need to manually add homebrew headers to get ssl module building
|
||||||
@@ -135,4 +137,4 @@ if(MSVC)
|
|||||||
COMMAND ${PYTHON_DISTUTIL_PATCH}
|
COMMAND ${PYTHON_DISTUTIL_PATCH}
|
||||||
)
|
)
|
||||||
add_custom_target(Make_Python_Environment ALL DEPENDS ${BUILD_DIR}/python/src/external_python/run/python${PYTHON_POSTFIX}.exe Package_Python)
|
add_custom_target(Make_Python_Environment ALL DEPENDS ${BUILD_DIR}/python/src/external_python/run/python${PYTHON_POSTFIX}.exe Package_Python)
|
||||||
endif(MSVC)
|
endif()
|
||||||
|
@@ -35,4 +35,7 @@ ExternalProject_Add(external_python_site_packages
|
|||||||
INSTALL_COMMAND ${PYTHON_BINARY} -m pip install idna==${IDNA_VERSION} chardet==${CHARDET_VERSION} urllib3==${URLLIB3_VERSION} certifi==${CERTIFI_VERSION} requests==${REQUESTS_VERSION} --no-binary :all: && ${HARVEST_CMD}
|
INSTALL_COMMAND ${PYTHON_BINARY} -m pip install idna==${IDNA_VERSION} chardet==${CHARDET_VERSION} urllib3==${URLLIB3_VERSION} certifi==${CERTIFI_VERSION} requests==${REQUESTS_VERSION} --no-binary :all: && ${HARVEST_CMD}
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(external_python_site_packages Make_Python_Environment)
|
add_dependencies(
|
||||||
|
external_python_site_packages
|
||||||
|
Make_Python_Environment
|
||||||
|
)
|
||||||
|
@@ -38,7 +38,10 @@ ExternalProject_Add(external_schroedinger
|
|||||||
INSTALL_DIR ${LIBDIR}/schroedinger
|
INSTALL_DIR ${LIBDIR}/schroedinger
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(external_schroedinger external_orc)
|
add_dependencies(
|
||||||
|
external_schroedinger
|
||||||
|
external_orc
|
||||||
|
)
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set_target_properties(external_schroedinger PROPERTIES FOLDER Mingw)
|
set_target_properties(external_schroedinger PROPERTIES FOLDER Mingw)
|
||||||
|
@@ -216,4 +216,3 @@ if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ranlib.exe")
|
|||||||
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/ranlib.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ranlib.exe"
|
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw32/bin/ranlib.exe" "${DOWNLOAD_DIR}/mingw/mingw32/bin/i686-w64-mingw32-ranlib.exe"
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -216,4 +216,3 @@ if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-ranlib.exe")
|
|||||||
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw64/bin/ranlib.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-ranlib.exe"
|
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw64/bin/ranlib.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-ranlib.exe"
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -27,7 +27,7 @@ else()
|
|||||||
set(SNDFILE_OPTIONS --enable-static --disable-shared )
|
set(SNDFILE_OPTIONS --enable-static --disable-shared )
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(APPLE)
|
if(UNIX)
|
||||||
set(SNDFILE_PATCH_CMD ${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/sndfile/src/external_sndfile < ${PATCH_DIR}/sndfile.diff)
|
set(SNDFILE_PATCH_CMD ${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/sndfile/src/external_sndfile < ${PATCH_DIR}/sndfile.diff)
|
||||||
else()
|
else()
|
||||||
set(SNDFILE_PATCH_CMD)
|
set(SNDFILE_PATCH_CMD)
|
||||||
@@ -49,7 +49,14 @@ if(MSVC)
|
|||||||
set_target_properties(external_sndfile PROPERTIES FOLDER Mingw)
|
set_target_properties(external_sndfile PROPERTIES FOLDER Mingw)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_dependencies(external_sndfile external_ogg external_vorbis)
|
add_dependencies(
|
||||||
|
external_sndfile
|
||||||
|
external_ogg
|
||||||
|
external_vorbis
|
||||||
|
)
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
add_dependencies(external_sndfile external_flac)
|
add_dependencies(
|
||||||
|
external_sndfile
|
||||||
|
external_flac
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -23,6 +23,14 @@ set(TBB_EXTRA_ARGS
|
|||||||
-DTBB_BUILD_STATIC=On
|
-DTBB_BUILD_STATIC=On
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(TBB_VERSION MATCHES 2018)
|
||||||
|
set(TBB_VS_VERSION vs2013)
|
||||||
|
elseif(TBB_VERSION MATCHES 2017)
|
||||||
|
set(TBB_VS_VERSION vs2012)
|
||||||
|
else()
|
||||||
|
set(TBB_VS_VERSION vs2010)
|
||||||
|
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
|
||||||
URL ${TBB_URI}
|
URL ${TBB_URI}
|
||||||
@@ -30,7 +38,7 @@ ExternalProject_Add(external_tbb
|
|||||||
URL_HASH MD5=${TBB_HASH}
|
URL_HASH MD5=${TBB_HASH}
|
||||||
PREFIX ${BUILD_DIR}/tbb
|
PREFIX ${BUILD_DIR}/tbb
|
||||||
PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_tbb.txt ${BUILD_DIR}/tbb/src/external_tbb/CMakeLists.txt &&
|
PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_tbb.txt ${BUILD_DIR}/tbb/src/external_tbb/CMakeLists.txt &&
|
||||||
${CMAKE_COMMAND} -E copy ${BUILD_DIR}/tbb/src/external_tbb/build/vs2010/version_string.ver ${BUILD_DIR}/tbb/src/external_tbb/src/tbb/version_string.ver
|
${CMAKE_COMMAND} -E copy ${BUILD_DIR}/tbb/src/external_tbb/build/${TBB_VS_VERSION}/version_string.ver ${BUILD_DIR}/tbb/src/external_tbb/src/tbb/version_string.ver
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/tbb ${DEFAULT_CMAKE_FLAGS} ${TBB_EXTRA_ARGS}
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/tbb ${DEFAULT_CMAKE_FLAGS} ${TBB_EXTRA_ARGS}
|
||||||
INSTALL_DIR ${LIBDIR}/tbb
|
INSTALL_DIR ${LIBDIR}/tbb
|
||||||
)
|
)
|
||||||
|
@@ -33,7 +33,11 @@ ExternalProject_Add(external_theora
|
|||||||
INSTALL_DIR ${LIBDIR}/theora
|
INSTALL_DIR ${LIBDIR}/theora
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(external_theora external_vorbis external_ogg)
|
add_dependencies(
|
||||||
|
external_theora
|
||||||
|
external_vorbis
|
||||||
|
external_ogg
|
||||||
|
)
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set_target_properties(external_theora PROPERTIES FOLDER Mingw)
|
set_target_properties(external_theora PROPERTIES FOLDER Mingw)
|
||||||
|
@@ -34,7 +34,10 @@ ExternalProject_Add(external_tiff
|
|||||||
INSTALL_DIR ${LIBDIR}/tiff
|
INSTALL_DIR ${LIBDIR}/tiff
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(external_tiff external_zlib)
|
add_dependencies(
|
||||||
|
external_tiff
|
||||||
|
external_zlib
|
||||||
|
)
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
if(BUILD_MODE STREQUAL Debug)
|
||||||
ExternalProject_Add_Step(external_tiff after_install
|
ExternalProject_Add_Step(external_tiff after_install
|
||||||
|
@@ -16,12 +16,15 @@
|
|||||||
#
|
#
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
# ***** END GPL LICENSE BLOCK *****
|
||||||
|
|
||||||
|
set(BREAKPAD_URI https://chromium.googlesource.com/breakpad/breakpad)
|
||||||
|
|
||||||
set(ZLIB_VERSION 1.2.8)
|
set(ZLIB_VERSION 1.2.8)
|
||||||
set(ZLIB_URI https://netcologne.dl.sourceforge.net/project/libpng/zlib/${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz)
|
set(ZLIB_URI https://netcologne.dl.sourceforge.net/project/libpng/zlib/${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz)
|
||||||
set(ZLIB_HASH 44d667c142d7cda120332623eab69f40)
|
set(ZLIB_HASH 44d667c142d7cda120332623eab69f40)
|
||||||
|
|
||||||
set(OPENAL_VERSION 1.17.2)
|
set(OPENAL_VERSION 1.17.2)
|
||||||
set(OPENAL_URI http://kcat.strangesoft.net/openal-releases/openal-soft-${OPENAL_VERSION}.tar.bz2)
|
#set(OPENAL_URI http://kcat.strangesoft.net/openal-releases/openal-soft-${OPENAL_VERSION}.tar.bz2)
|
||||||
|
set(OPENAL_URI https://www.openal-soft.org/openal-releases/openal-soft-${OPENAL_VERSION}.tar.bz2)
|
||||||
set(OPENAL_HASH 1764e0d8fec499589b47ebc724e0913d)
|
set(OPENAL_HASH 1764e0d8fec499589b47ebc724e0913d)
|
||||||
|
|
||||||
set(PNG_VERSION 1.6.21)
|
set(PNG_VERSION 1.6.21)
|
||||||
@@ -34,12 +37,14 @@ set(JPEG_HASH f9804884c1c41eb7f4febb9353a2cb27)
|
|||||||
|
|
||||||
set(BOOST_VERSION 1.60.0)
|
set(BOOST_VERSION 1.60.0)
|
||||||
set(BOOST_VERSION_NODOTS 1_60_0)
|
set(BOOST_VERSION_NODOTS 1_60_0)
|
||||||
|
#set(BOOST_URI https://dl.bintray.com/boostorg/release/${BOOST_VERSION}/source/boost_${BOOST_VERSION_NODOTS}.tar.gz)
|
||||||
|
#set(BOOST_MD5 5d8b4503582fffa9eefdb9045359c239)
|
||||||
set(BOOST_URI http://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/boost_${BOOST_VERSION_NODOTS}.tar.bz2/download)
|
set(BOOST_URI http://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/boost_${BOOST_VERSION_NODOTS}.tar.bz2/download)
|
||||||
set(BOOST_MD5 65a840e1a0b13a558ff19eeb2c4f0cbe)
|
set(BOOST_MD5 65a840e1a0b13a558ff19eeb2c4f0cbe)
|
||||||
|
|
||||||
set(BLOSC_VERSION 1.7.1)
|
set(BLOSC_VERSION 1.7.0)
|
||||||
set(BLOSC_URI https://github.com/Blosc/c-blosc/archive/v${BLOSC_VERSION}.zip)
|
set(BLOSC_URI https://github.com/Blosc/c-blosc/archive/v${BLOSC_VERSION}.zip)
|
||||||
set(BLOSC_HASH ff5cc729a5a25934ef714217218eed26)
|
set(BLOSC_HASH 397f724c2834cee86b09ac0848e8e787)
|
||||||
|
|
||||||
set(PTHREADS_VERSION 2-9-1)
|
set(PTHREADS_VERSION 2-9-1)
|
||||||
set(PTHREADS_URI ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-${PTHREADS_VERSION}-release.tar.gz)
|
set(PTHREADS_URI ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-${PTHREADS_VERSION}-release.tar.gz)
|
||||||
@@ -104,11 +109,14 @@ set(OPENCOLORIO_URI https://github.com/imageworks/OpenColorIO/archive/6de971097c
|
|||||||
set(OPENCOLORIO_HASH c9de0fd98f26ce6f2e08d617ca68b8e4)
|
set(OPENCOLORIO_HASH c9de0fd98f26ce6f2e08d617ca68b8e4)
|
||||||
|
|
||||||
set(LLVM_VERSION 3.4.2)
|
set(LLVM_VERSION 3.4.2)
|
||||||
set(LLVM_URI http://llvm.org/releases/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.gz)
|
#set(LLVM_VERSION 6.0.1)
|
||||||
|
set(LLVM_URI http://releases.llvm.org/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.gz) #3.4.2 uses tar.gz, same with clang
|
||||||
set(LLVM_HASH a20669f75967440de949ac3b1bad439c)
|
set(LLVM_HASH a20669f75967440de949ac3b1bad439c)
|
||||||
|
#set(LLVM_HASH c88c98709300ce2c285391f387fecce0)
|
||||||
|
|
||||||
set(CLANG_URI http://llvm.org/releases/${LLVM_VERSION}/cfe-${LLVM_VERSION}.src.tar.gz)
|
set(CLANG_URI http://releases.llvm.org/${LLVM_VERSION}/cfe-${LLVM_VERSION}.src.tar.gz)
|
||||||
set(CLANG_HASH 87945973b7c73038871c5f849a818588)
|
set(CLANG_HASH 87945973b7c73038871c5f849a818588)
|
||||||
|
#set(CLANG_HASH 4e419bd4e3b55aa06d872320f754bd85)
|
||||||
|
|
||||||
set(OPENIMAGEIO_VERSION 1.7.15)
|
set(OPENIMAGEIO_VERSION 1.7.15)
|
||||||
set(OPENIMAGEIO_URI https://github.com/OpenImageIO/oiio/archive/Release-${OPENIMAGEIO_VERSION}.zip)
|
set(OPENIMAGEIO_URI https://github.com/OpenImageIO/oiio/archive/Release-${OPENIMAGEIO_VERSION}.zip)
|
||||||
@@ -128,18 +136,30 @@ set(FLEXBISON_URI http://prdownloads.sourceforge.net/winflexbison//win_flex_biso
|
|||||||
set(FLEXBISON_HASH d87a3938194520d904013abef3df10ce)
|
set(FLEXBISON_HASH d87a3938194520d904013abef3df10ce)
|
||||||
|
|
||||||
set(OSL_VERSION 1.7.5)
|
set(OSL_VERSION 1.7.5)
|
||||||
|
#set(OSL_VERSION 1.9.9)
|
||||||
set(OSL_URI https://github.com/imageworks/OpenShadingLanguage/archive/Release-${OSL_VERSION}.zip)
|
set(OSL_URI https://github.com/imageworks/OpenShadingLanguage/archive/Release-${OSL_VERSION}.zip)
|
||||||
set(OSL_HASH 6924dd5d453159e7b6eb106a08c358cf)
|
set(OSL_HASH 6924dd5d453159e7b6eb106a08c358cf)
|
||||||
|
#set(OSL_HASH 1c34112d8f3cf81f2fc415424bd38ae8)
|
||||||
|
|
||||||
set(PYTHON_VERSION 3.6.2)
|
set(PYTHON_VERSION 3.5.3)
|
||||||
set(PYTHON_SHORT_VERSION 3.6)
|
set(PYTHON_SHORT_VERSION 3.5)
|
||||||
set(PYTHON_SHORT_VERSION_NO_DOTS 36)
|
set(PYTHON_SHORT_VERSION_NO_DOTS 35)
|
||||||
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 2c68846471994897278364fc18730dd9)
|
set(PYTHON_HASH 57d1f8bfbabf4f2500273fb0706e6f21)
|
||||||
|
|
||||||
set(TBB_VERSION 44_20160128)
|
if(UNIX AND NOT APPLE)
|
||||||
set(TBB_URI https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb${TBB_VERSION}oss_src_0.tgz)
|
# Needed to be compatible with GCC 7, other platforms can upgrade later
|
||||||
set(TBB_HASH 9d8a4cdf43496f1b3f7c473a5248e5cc)
|
set(TBB_VERSION 2017_U7)
|
||||||
|
#set(TBB_URI https://github.com/01org/tbb/archive/${TBB_VERSION}.tar.gz)
|
||||||
|
#set(TBB_HASH 364f2a4b80e978f38a69cbf7c466b898)
|
||||||
|
set(TBB_URI https://github.com/oneapi-src/oneTBB/archive/${TBB_VERSION}.tar.gz)
|
||||||
|
set(TBB_HASH af1c799fe754924de7d5b00a6fb5f514)
|
||||||
|
|
||||||
|
else()
|
||||||
|
set(TBB_VERSION 44_20160128)
|
||||||
|
set(TBB_URI https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb${TBB_VERSION}oss_src_0.tgz)
|
||||||
|
set(TBB_HASH 9d8a4cdf43496f1b3f7c473a5248e5cc)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(OPENVDB_VERSION 3.1.0)
|
set(OPENVDB_VERSION 3.1.0)
|
||||||
set(OPENVDB_URI https://github.com/dreamworksanimation/openvdb/archive/v${OPENVDB_VERSION}.tar.gz)
|
set(OPENVDB_URI https://github.com/dreamworksanimation/openvdb/archive/v${OPENVDB_VERSION}.tar.gz)
|
||||||
@@ -151,10 +171,10 @@ set(URLLIB3_VERSION 1.22)
|
|||||||
set(CERTIFI_VERSION 2017.7.27.1)
|
set(CERTIFI_VERSION 2017.7.27.1)
|
||||||
set(REQUESTS_VERSION 2.18.4)
|
set(REQUESTS_VERSION 2.18.4)
|
||||||
|
|
||||||
set(NUMPY_VERSION v1.13.1)
|
set(NUMPY_VERSION v1.10.1)
|
||||||
set(NUMPY_SHORT_VERSION 1.13)
|
set(NUMPY_SHORT_VERSION 1.10)
|
||||||
set(NUMPY_URI https://pypi.python.org/packages/c0/3a/40967d9f5675fbb097ffec170f59c2ba19fc96373e73ad47c2cae9a30aed/numpy-1.13.1.zip)
|
set(NUMPY_URI https://files.pythonhosted.org/packages/a5/2e/5412784108f5dc0f827fb460ccdeaa9d76286979fe5ddd070d526d168a59/numpy-1.10.1.zip)
|
||||||
set(NUMPY_HASH 2c3c0f4edf720c3a7b525dacc825b9ae)
|
set(NUMPY_HASH 6f57c58bc5b28440fbeccd505da63d58)
|
||||||
|
|
||||||
set(LAME_VERSION 3.99.5)
|
set(LAME_VERSION 3.99.5)
|
||||||
set(LAME_URI http://downloads.sourceforge.net/project/lame/lame/3.99/lame-${LAME_VERSION}.tar.gz)
|
set(LAME_URI http://downloads.sourceforge.net/project/lame/lame/3.99/lame-${LAME_VERSION}.tar.gz)
|
||||||
|
@@ -31,7 +31,10 @@ ExternalProject_Add(external_vorbis
|
|||||||
INSTALL_DIR ${LIBDIR}/vorbis
|
INSTALL_DIR ${LIBDIR}/vorbis
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(external_vorbis external_ogg)
|
add_dependencies(
|
||||||
|
external_vorbis
|
||||||
|
external_ogg
|
||||||
|
)
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set_target_properties(external_vorbis PROPERTIES FOLDER Mingw)
|
set_target_properties(external_vorbis PROPERTIES FOLDER Mingw)
|
||||||
|
@@ -37,4 +37,3 @@ endif()
|
|||||||
if(MSVC)
|
if(MSVC)
|
||||||
set_target_properties(external_zlib_mingw PROPERTIES FOLDER Mingw)
|
set_target_properties(external_zlib_mingw PROPERTIES FOLDER Mingw)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -292,13 +292,13 @@ NO_BUILD=false
|
|||||||
NO_CONFIRM=false
|
NO_CONFIRM=false
|
||||||
USE_CXX11=false
|
USE_CXX11=false
|
||||||
|
|
||||||
PYTHON_VERSION="3.6.2"
|
PYTHON_VERSION="3.5.3"
|
||||||
PYTHON_VERSION_MIN="3.6"
|
PYTHON_VERSION_MIN="3.5"
|
||||||
PYTHON_FORCE_BUILD=false
|
PYTHON_FORCE_BUILD=false
|
||||||
PYTHON_FORCE_REBUILD=false
|
PYTHON_FORCE_REBUILD=false
|
||||||
PYTHON_SKIP=false
|
PYTHON_SKIP=false
|
||||||
|
|
||||||
NUMPY_VERSION="1.13.1"
|
NUMPY_VERSION="1.10.1"
|
||||||
NUMPY_VERSION_MIN="1.8"
|
NUMPY_VERSION_MIN="1.8"
|
||||||
NUMPY_FORCE_BUILD=false
|
NUMPY_FORCE_BUILD=false
|
||||||
NUMPY_FORCE_REBUILD=false
|
NUMPY_FORCE_REBUILD=false
|
||||||
@@ -739,7 +739,7 @@ PRINT ""
|
|||||||
|
|
||||||
# This has to be done here, because user might force some versions...
|
# This has to be done here, because user might force some versions...
|
||||||
PYTHON_SOURCE=( "https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tgz" )
|
PYTHON_SOURCE=( "https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tgz" )
|
||||||
NUMPY_SOURCE=( "https://github.com/numpy/numpy/releases/download/v$NUMPY_VERSION/numpy-$NUMPY_VERSION.tar.gz" )
|
NUMPY_SOURCE=( "http://sourceforge.net/projects/numpy/files/NumPy/$NUMPY_VERSION/numpy-$NUMPY_VERSION.tar.gz" )
|
||||||
|
|
||||||
_boost_version_nodots=`echo "$BOOST_VERSION" | sed -r 's/\./_/g'`
|
_boost_version_nodots=`echo "$BOOST_VERSION" | sed -r 's/\./_/g'`
|
||||||
BOOST_SOURCE=( "http://sourceforge.net/projects/boost/files/boost/$BOOST_VERSION/boost_$_boost_version_nodots.tar.bz2/download" )
|
BOOST_SOURCE=( "http://sourceforge.net/projects/boost/files/boost/$BOOST_VERSION/boost_$_boost_version_nodots.tar.bz2/download" )
|
||||||
@@ -761,8 +761,8 @@ OIIO_SOURCE=( "https://github.com/OpenImageIO/oiio/archive/Release-$OIIO_VERSION
|
|||||||
OIIO_SOURCE_REPO=( "https://github.com/OpenImageIO/oiio.git" )
|
OIIO_SOURCE_REPO=( "https://github.com/OpenImageIO/oiio.git" )
|
||||||
OIIO_SOURCE_REPO_UID="c9e67275a0b248ead96152f6d2221cc0c0f278a4"
|
OIIO_SOURCE_REPO_UID="c9e67275a0b248ead96152f6d2221cc0c0f278a4"
|
||||||
|
|
||||||
LLVM_SOURCE=( "http://llvm.org/releases/$LLVM_VERSION/llvm-$LLVM_VERSION.src.tar.gz" )
|
LLVM_SOURCE=( "http://releases.llvm.org/$LLVM_VERSION/llvm-$LLVM_VERSION.src.tar.gz" )
|
||||||
LLVM_CLANG_SOURCE=( "http://llvm.org/releases/$LLVM_VERSION/clang-$LLVM_VERSION.src.tar.gz" "http://llvm.org/releases/$LLVM_VERSION/cfe-$LLVM_VERSION.src.tar.gz" )
|
LLVM_CLANG_SOURCE=( "http://releases.llvm.org/$LLVM_VERSION/clang-$LLVM_VERSION.src.tar.gz" "http://llvm.org/releases/$LLVM_VERSION/cfe-$LLVM_VERSION.src.tar.gz" )
|
||||||
|
|
||||||
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/Release-$OSL_VERSION.tar.gz" )
|
||||||
@@ -1160,7 +1160,7 @@ compile_Numpy() {
|
|||||||
|
|
||||||
cd $_src
|
cd $_src
|
||||||
|
|
||||||
$_python/bin/python3 setup.py install --old-and-unmanageable --prefix=$_inst
|
$_python/bin/python3 setup.py install --prefix=$_inst
|
||||||
|
|
||||||
if [ -d $_inst ]; then
|
if [ -d $_inst ]; then
|
||||||
# Can't use _create_inst_shortcut here...
|
# Can't use _create_inst_shortcut here...
|
||||||
@@ -1262,7 +1262,11 @@ compile_Boost() {
|
|||||||
#### Build OCIO ####
|
#### Build OCIO ####
|
||||||
_init_ocio() {
|
_init_ocio() {
|
||||||
_src=$SRC/OpenColorIO-$OCIO_VERSION
|
_src=$SRC/OpenColorIO-$OCIO_VERSION
|
||||||
|
if [ "$OCIO_USE_REPO" = true ]; then
|
||||||
|
_git=true
|
||||||
|
else
|
||||||
_git=false
|
_git=false
|
||||||
|
fi
|
||||||
_inst=$INST/ocio-$OCIO_VERSION
|
_inst=$INST/ocio-$OCIO_VERSION
|
||||||
_inst_shortcut=$INST/ocio
|
_inst_shortcut=$INST/ocio
|
||||||
}
|
}
|
||||||
@@ -1777,7 +1781,7 @@ compile_LLVM() {
|
|||||||
cd $_src
|
cd $_src
|
||||||
|
|
||||||
# XXX Ugly patching hack!
|
# XXX Ugly patching hack!
|
||||||
patch -p1 -i "$SCRIPT_DIR/patches/install_deps_llvm.diff"
|
patch -p1 -i "$SCRIPT_DIR/install_deps_patches/llvm.patch"
|
||||||
|
|
||||||
cd $CWD
|
cd $CWD
|
||||||
|
|
||||||
@@ -1883,7 +1887,7 @@ compile_OSL() {
|
|||||||
git reset --hard
|
git reset --hard
|
||||||
|
|
||||||
# XXX Ugly patching hack!
|
# XXX Ugly patching hack!
|
||||||
patch -p1 -i "$SCRIPT_DIR/patches/install_deps_osl.diff"
|
patch -p1 -i "$SCRIPT_DIR/install_deps_patches/osl.patch"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Always refresh the whole build!
|
# Always refresh the whole build!
|
||||||
|
@@ -0,0 +1,11 @@
|
|||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -14,7 +14,7 @@
|
||||||
|
set(LLVM_VERSION_MINOR 4)
|
||||||
|
|
||||||
|
if (NOT PACKAGE_VERSION)
|
||||||
|
- set(PACKAGE_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}svn")
|
||||||
|
+ set(PACKAGE_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
option(LLVM_INSTALL_TOOLCHAIN_ONLY "Only include toolchain files in the 'install' target." OFF)
|
12
build_files/build_environment/install_deps_patches/osl.patch
Normal file
12
build_files/build_environment/install_deps_patches/osl.patch
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
--- a/src/shaders/CMakeLists.txt
|
||||||
|
+++ b/src/shaders/CMakeLists.txt
|
||||||
|
@@ -27,7 +27,7 @@ macro (osl_compile oslsrc objlist headers)
|
||||||
|
message (STATUS "cmd: ${CMAKE_CURRENT_BINARY_DIR}/../oslc/oslc ${oslsrc}")
|
||||||
|
endif ()
|
||||||
|
add_custom_command (OUTPUT ${osofile}
|
||||||
|
- COMMAND "${CMAKE_CURRENT_BINARY_DIR}/../oslc/oslc" ${oslsrc}
|
||||||
|
+ COMMAND "${CMAKE_CURRENT_BINARY_DIR}/../oslc/oslc" "-o" ${osofile} ${oslsrc}
|
||||||
|
MAIN_DEPENDENCY ${oslsrc}
|
||||||
|
DEPENDS ${${headers}} ${oslsrc} "${CMAKE_CURRENT_BINARY_DIR}/stdosl.h" "${CMAKE_CURRENT_BINARY_DIR}/../oslc/oslc"
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
|
37
build_files/build_environment/patches/boost.diff
Normal file
37
build_files/build_environment/patches/boost.diff
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
--- a/boost/config/compiler/visualc.hpp 2015-12-08 11:55:19 -0700
|
||||||
|
+++ b/boost/config/compiler/visualc.hpp 2018-03-17 10:29:52 -0600
|
||||||
|
@@ -287,12 +287,3 @@
|
||||||
|
# define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-//
|
||||||
|
-// last known and checked version is 19.00.23026 (VC++ 2015 RTM):
|
||||||
|
-#if (_MSC_VER > 1900)
|
||||||
|
-# if defined(BOOST_ASSERT_CONFIG)
|
||||||
|
-# error "Unknown compiler version - please run the configure tests and report the results"
|
||||||
|
-# else
|
||||||
|
-# pragma message("Unknown compiler version - please run the configure tests and report the results")
|
||||||
|
-# endif
|
||||||
|
-#endif
|
||||||
|
--- a/boost/type_traits/has_nothrow_assign.hpp 2015-12-13 05:49:42 -0700
|
||||||
|
+++ b/boost/type_traits/has_nothrow_assign.hpp 2018-05-27 11:11:02 -0600
|
||||||
|
@@ -24,7 +24,7 @@
|
||||||
|
#include <boost/type_traits/remove_reference.hpp>
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
-#if defined(__GNUC__) || defined(__SUNPRO_CC)
|
||||||
|
+#if defined(__GNUC__) || defined(__SUNPRO_CC) || defined(__clang__)
|
||||||
|
#include <boost/type_traits/is_const.hpp>
|
||||||
|
#include <boost/type_traits/is_volatile.hpp>
|
||||||
|
#include <boost/type_traits/is_assignable.hpp>
|
||||||
|
--- a/boost/type_traits/has_nothrow_constructor.hpp 2015-12-13 05:49:42 -0700
|
||||||
|
+++ b/boost/type_traits/has_nothrow_constructor.hpp 2018-05-27 11:11:02 -0600
|
||||||
|
@@ -17,7 +17,7 @@
|
||||||
|
#if defined(BOOST_MSVC) || defined(BOOST_INTEL)
|
||||||
|
#include <boost/type_traits/has_trivial_constructor.hpp>
|
||||||
|
#endif
|
||||||
|
-#if defined(__GNUC__ ) || defined(__SUNPRO_CC)
|
||||||
|
+#if defined(__GNUC__ ) || defined(__SUNPRO_CC) || defined(__clang__)
|
||||||
|
#include <boost/type_traits/is_default_constructible.hpp>
|
||||||
|
#endif
|
||||||
|
|
4710
build_files/build_environment/patches/breakpad.diff
Normal file
4710
build_files/build_environment/patches/breakpad.diff
Normal file
File diff suppressed because it is too large
Load Diff
@@ -32,7 +32,6 @@ SET(_blosc_SEARCH_DIRS
|
|||||||
/usr/local
|
/usr/local
|
||||||
/sw # Fink
|
/sw # Fink
|
||||||
/opt/local # DarwinPorts
|
/opt/local # DarwinPorts
|
||||||
/opt/csw # Blastwave
|
|
||||||
/opt/lib/blosc
|
/opt/lib/blosc
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -32,7 +32,6 @@ SET(_cppunit_SEARCH_DIRS
|
|||||||
/usr/local
|
/usr/local
|
||||||
/sw # Fink
|
/sw # Fink
|
||||||
/opt/local # DarwinPorts
|
/opt/local # DarwinPorts
|
||||||
/opt/csw # Blastwave
|
|
||||||
/opt/lib/cppunit
|
/opt/lib/cppunit
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -21,9 +21,9 @@
|
|||||||
# ILMBASE_FOUND - True if IlmBase was found.
|
# ILMBASE_FOUND - True if IlmBase was found.
|
||||||
|
|
||||||
# Other standarnd issue macros
|
# Other standarnd issue macros
|
||||||
include (FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
include (FindPackageMessage)
|
include(FindPackageMessage)
|
||||||
include (SelectLibraryConfigurations)
|
include(SelectLibraryConfigurations)
|
||||||
|
|
||||||
|
|
||||||
if( ILMBASE_USE_STATIC_LIBS )
|
if( ILMBASE_USE_STATIC_LIBS )
|
||||||
@@ -36,42 +36,42 @@ if( ILMBASE_USE_STATIC_LIBS )
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Macro to assemble a helper state variable
|
# Macro to assemble a helper state variable
|
||||||
macro (SET_STATE_VAR varname)
|
macro(SET_STATE_VAR varname)
|
||||||
set (tmp_ilmbaselibs ${ILMBASE_CUSTOM_LIBRARIES})
|
set(tmp_ilmbaselibs ${ILMBASE_CUSTOM_LIBRARIES})
|
||||||
separate_arguments (tmp_ilmbaselibs)
|
separate_arguments(tmp_ilmbaselibs)
|
||||||
set (tmp_lst
|
set(tmp_lst
|
||||||
${ILMBASE_CUSTOM} | ${tmp_ilmbaselibs} |
|
${ILMBASE_CUSTOM} | ${tmp_ilmbaselibs} |
|
||||||
${ILMBASE_HOME} | ${ILMBASE_VERSION} | ${ILMBASE_LIB_AREA}
|
${ILMBASE_HOME} | ${ILMBASE_VERSION} | ${ILMBASE_LIB_AREA}
|
||||||
)
|
)
|
||||||
set (${varname} "${tmp_lst}")
|
set(${varname} "${tmp_lst}")
|
||||||
unset (tmp_ilmbaselibs)
|
unset(tmp_ilmbaselibs)
|
||||||
unset (tmp_lst)
|
unset(tmp_lst)
|
||||||
endmacro ()
|
endmacro()
|
||||||
|
|
||||||
# To enforce that find_* functions do not use inadvertently existing versions
|
# To enforce that find_* functions do not use inadvertently existing versions
|
||||||
if (ILMBASE_CUSTOM)
|
if(ILMBASE_CUSTOM)
|
||||||
set (ILMBASE_FIND_OPTIONS "NO_DEFAULT_PATH")
|
set(ILMBASE_FIND_OPTIONS "NO_DEFAULT_PATH")
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
# Macro to search for an include directory
|
# Macro to search for an include directory
|
||||||
macro (PREFIX_FIND_INCLUDE_DIR prefix includefile libpath_var)
|
macro(PREFIX_FIND_INCLUDE_DIR prefix includefile libpath_var)
|
||||||
string (TOUPPER ${prefix}_INCLUDE_DIR tmp_varname)
|
string(TOUPPER ${prefix}_INCLUDE_DIR tmp_varname)
|
||||||
find_path(${tmp_varname} ${includefile}
|
find_path(${tmp_varname} ${includefile}
|
||||||
HINTS ${${libpath_var}}
|
HINTS ${${libpath_var}}
|
||||||
PATH_SUFFIXES include
|
PATH_SUFFIXES include
|
||||||
${ILMBASE_FIND_OPTIONS}
|
${ILMBASE_FIND_OPTIONS}
|
||||||
)
|
)
|
||||||
if (${tmp_varname})
|
if(${tmp_varname})
|
||||||
mark_as_advanced (${tmp_varname})
|
mark_as_advanced(${tmp_varname})
|
||||||
endif ()
|
endif()
|
||||||
unset (tmp_varname)
|
unset(tmp_varname)
|
||||||
endmacro ()
|
endmacro()
|
||||||
|
|
||||||
|
|
||||||
# Macro to search for the given library and adds the cached
|
# Macro to search for the given library and adds the cached
|
||||||
# variable names to the specified list
|
# variable names to the specified list
|
||||||
macro (PREFIX_FIND_LIB prefix libname libpath_var liblist_var cachelist_var)
|
macro(PREFIX_FIND_LIB prefix libname libpath_var liblist_var cachelist_var)
|
||||||
string (TOUPPER ${prefix}_${libname} tmp_prefix)
|
string(TOUPPER ${prefix}_${libname} tmp_prefix)
|
||||||
# Handle new library names for OpenEXR 2.1 build via cmake
|
# Handle new library names for OpenEXR 2.1 build via cmake
|
||||||
string(REPLACE "." "_" _ILMBASE_VERSION ${ILMBASE_VERSION})
|
string(REPLACE "." "_" _ILMBASE_VERSION ${ILMBASE_VERSION})
|
||||||
string(SUBSTRING ${_ILMBASE_VERSION} 0 3 _ILMBASE_VERSION )
|
string(SUBSTRING ${_ILMBASE_VERSION} 0 3 _ILMBASE_VERSION )
|
||||||
@@ -89,86 +89,90 @@ macro (PREFIX_FIND_LIB prefix libname libpath_var liblist_var cachelist_var)
|
|||||||
${ILMBASE_FIND_OPTIONS}
|
${ILMBASE_FIND_OPTIONS}
|
||||||
)
|
)
|
||||||
# Properly define ${tmp_prefix}_LIBRARY (cached) and ${tmp_prefix}_LIBRARIES
|
# Properly define ${tmp_prefix}_LIBRARY (cached) and ${tmp_prefix}_LIBRARIES
|
||||||
select_library_configurations (${tmp_prefix})
|
select_library_configurations(${tmp_prefix})
|
||||||
list (APPEND ${liblist_var} ${tmp_prefix}_LIBRARIES)
|
list(APPEND ${liblist_var} ${tmp_prefix}_LIBRARIES)
|
||||||
|
|
||||||
# Add to the list of variables which should be reset
|
# Add to the list of variables which should be reset
|
||||||
list (APPEND ${cachelist_var}
|
list(APPEND ${cachelist_var}
|
||||||
${tmp_prefix}_LIBRARY
|
${tmp_prefix}_LIBRARY
|
||||||
${tmp_prefix}_LIBRARY_RELEASE
|
${tmp_prefix}_LIBRARY_RELEASE
|
||||||
${tmp_prefix}_LIBRARY_DEBUG)
|
${tmp_prefix}_LIBRARY_DEBUG)
|
||||||
mark_as_advanced (
|
mark_as_advanced(
|
||||||
${tmp_prefix}_LIBRARY
|
${tmp_prefix}_LIBRARY
|
||||||
${tmp_prefix}_LIBRARY_RELEASE
|
${tmp_prefix}_LIBRARY_RELEASE
|
||||||
${tmp_prefix}_LIBRARY_DEBUG)
|
${tmp_prefix}_LIBRARY_DEBUG)
|
||||||
unset (tmp_prefix)
|
unset(tmp_prefix)
|
||||||
endmacro ()
|
endmacro()
|
||||||
|
|
||||||
|
|
||||||
# Encode the current state of the external variables into a string
|
# Encode the current state of the external variables into a string
|
||||||
SET_STATE_VAR (ILMBASE_CURRENT_STATE)
|
SET_STATE_VAR(ILMBASE_CURRENT_STATE)
|
||||||
|
|
||||||
# If the state has changed, clear the cached variables
|
# If the state has changed, clear the cached variables
|
||||||
if (ILMBASE_CACHED_STATE AND
|
if(ILMBASE_CACHED_STATE AND
|
||||||
NOT ILMBASE_CACHED_STATE STREQUAL ILMBASE_CURRENT_STATE)
|
NOT ILMBASE_CACHED_STATE STREQUAL ILMBASE_CURRENT_STATE)
|
||||||
|
|
||||||
foreach (libvar ${ILMBASE_CACHED_VARS})
|
foreach(libvar ${ILMBASE_CACHED_VARS})
|
||||||
unset (${libvar} CACHE)
|
unset(${libvar} CACHE)
|
||||||
endforeach ()
|
endforeach()
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# Generic search paths
|
# Generic search paths
|
||||||
set (IlmBase_generic_include_paths
|
set(IlmBase_generic_include_paths
|
||||||
${ILMBASE_CUSTOM_INCLUDE_DIR}
|
${ILMBASE_CUSTOM_INCLUDE_DIR}
|
||||||
/usr/include
|
/usr/include
|
||||||
/usr/include/${CMAKE_LIBRARY_ARCHITECTURE}
|
/usr/include/${CMAKE_LIBRARY_ARCHITECTURE}
|
||||||
/usr/local/include
|
/usr/local/include
|
||||||
/sw/include
|
/sw/include
|
||||||
/opt/local/include)
|
/opt/local/include
|
||||||
set (IlmBase_generic_library_paths
|
)
|
||||||
|
set(IlmBase_generic_library_paths
|
||||||
${ILMBASE_CUSTOM_LIB_DIR}
|
${ILMBASE_CUSTOM_LIB_DIR}
|
||||||
/usr/lib
|
/usr/lib
|
||||||
/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}
|
/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib/${CMAKE_LIBRARY_ARCHITECTURE}
|
/usr/local/lib/${CMAKE_LIBRARY_ARCHITECTURE}
|
||||||
/sw/lib
|
/sw/lib
|
||||||
/opt/local/lib)
|
/opt/local/lib
|
||||||
|
)
|
||||||
|
|
||||||
# Search paths for the IlmBase files
|
# Search paths for the IlmBase files
|
||||||
if (ILMBASE_HOME)
|
if(ILMBASE_HOME)
|
||||||
if (ILMBASE_VERSION)
|
if(ILMBASE_VERSION)
|
||||||
set (IlmBase_include_paths
|
set(IlmBase_include_paths
|
||||||
${ILMBASE_HOME}/ilmbase-${ILMBASE_VERSION}/include
|
${ILMBASE_HOME}/ilmbase-${ILMBASE_VERSION}/include
|
||||||
${ILMBASE_HOME}/include/ilmbase-${ILMBASE_VERSION})
|
${ILMBASE_HOME}/include/ilmbase-${ILMBASE_VERSION}
|
||||||
set (IlmBase_library_paths
|
)
|
||||||
|
set(IlmBase_library_paths
|
||||||
${ILMBASE_HOME}/ilmbase-${ILMBASE_VERSION}/lib
|
${ILMBASE_HOME}/ilmbase-${ILMBASE_VERSION}/lib
|
||||||
${ILMBASE_HOME}/lib/ilmbase-${ILMBASE_VERSION})
|
${ILMBASE_HOME}/lib/ilmbase-${ILMBASE_VERSION}
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
list (APPEND IlmBase_include_paths ${ILMBASE_HOME}/include)
|
list(APPEND IlmBase_include_paths ${ILMBASE_HOME}/include)
|
||||||
set (IlmBase_library_paths
|
set(IlmBase_library_paths
|
||||||
${ILMBASE_HOME}/lib
|
${ILMBASE_HOME}/lib
|
||||||
${ILMBASE_HOME}/lib64
|
${ILMBASE_HOME}/lib64
|
||||||
${ILMBASE_LIB_AREA}
|
${ILMBASE_LIB_AREA}
|
||||||
${IlmBase_library_paths})
|
${IlmBase_library_paths})
|
||||||
endif ()
|
endif()
|
||||||
list (APPEND IlmBase_include_paths ${IlmBase_generic_include_paths})
|
list(APPEND IlmBase_include_paths ${IlmBase_generic_include_paths})
|
||||||
list (APPEND IlmBase_library_paths ${IlmBase_generic_library_paths})
|
list(APPEND IlmBase_library_paths ${IlmBase_generic_library_paths})
|
||||||
|
|
||||||
# Locate the header files
|
# Locate the header files
|
||||||
PREFIX_FIND_INCLUDE_DIR (IlmBase
|
PREFIX_FIND_INCLUDE_DIR(IlmBase
|
||||||
OpenEXR/IlmBaseConfig.h IlmBase_include_paths)
|
OpenEXR/IlmBaseConfig.h IlmBase_include_paths)
|
||||||
|
|
||||||
if (ILMBASE_INCLUDE_DIR)
|
if(ILMBASE_INCLUDE_DIR)
|
||||||
# Get the version from config file, if not already set.
|
# Get the version from config file, if not already set.
|
||||||
if (NOT ILMBASE_VERSION)
|
if(NOT ILMBASE_VERSION)
|
||||||
FILE(STRINGS "${ILMBASE_INCLUDE_DIR}/OpenEXR/IlmBaseConfig.h" ILMBASE_BUILD_SPECIFICATION
|
FILE(STRINGS "${ILMBASE_INCLUDE_DIR}/OpenEXR/IlmBaseConfig.h" ILMBASE_BUILD_SPECIFICATION
|
||||||
REGEX "^[ \t]*#define[ \t]+ILMBASE_VERSION_STRING[ \t]+\"[.0-9]+\".*$")
|
REGEX "^[ \t]*#define[ \t]+ILMBASE_VERSION_STRING[ \t]+\"[.0-9]+\".*$")
|
||||||
|
|
||||||
if(ILMBASE_BUILD_SPECIFICATION)
|
if(ILMBASE_BUILD_SPECIFICATION)
|
||||||
if (NOT IlmBase_FIND_QUIETLY)
|
if(NOT IlmBase_FIND_QUIETLY)
|
||||||
message(STATUS "${ILMBASE_BUILD_SPECIFICATION}")
|
message(STATUS "${ILMBASE_BUILD_SPECIFICATION}")
|
||||||
endif ()
|
endif()
|
||||||
string(REGEX REPLACE ".*#define[ \t]+ILMBASE_VERSION_STRING[ \t]+\"([.0-9]+)\".*"
|
string(REGEX REPLACE ".*#define[ \t]+ILMBASE_VERSION_STRING[ \t]+\"([.0-9]+)\".*"
|
||||||
"\\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")
|
||||||
@@ -178,71 +182,71 @@ if (ILMBASE_INCLUDE_DIR)
|
|||||||
set("ILMBASE_VERSION" "2.0" CACHE STRING "Version of ILMBase lib")
|
set("ILMBASE_VERSION" "2.0" CACHE STRING "Version of ILMBase lib")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
if (ILMBASE_CUSTOM)
|
if(ILMBASE_CUSTOM)
|
||||||
if (NOT ILMBASE_CUSTOM_LIBRARIES)
|
if(NOT ILMBASE_CUSTOM_LIBRARIES)
|
||||||
message (FATAL_ERROR "Custom IlmBase libraries requested but ILMBASE_CUSTOM_LIBRARIES is not set.")
|
message(FATAL_ERROR "Custom IlmBase libraries requested but ILMBASE_CUSTOM_LIBRARIES is not set.")
|
||||||
endif()
|
endif()
|
||||||
set (IlmBase_Libraries ${ILMBASE_CUSTOM_LIBRARIES})
|
set(IlmBase_Libraries ${ILMBASE_CUSTOM_LIBRARIES})
|
||||||
separate_arguments(IlmBase_Libraries)
|
separate_arguments(IlmBase_Libraries)
|
||||||
else ()
|
else()
|
||||||
#elseif (${ILMBASE_VERSION} VERSION_LESS "2.1")
|
#elseif(${ILMBASE_VERSION} VERSION_LESS "2.1")
|
||||||
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()
|
||||||
|
|
||||||
|
|
||||||
# Locate the IlmBase libraries
|
# Locate the IlmBase libraries
|
||||||
set (IlmBase_libvars "")
|
set(IlmBase_libvars "")
|
||||||
set (IlmBase_cachevars "")
|
set(IlmBase_cachevars "")
|
||||||
foreach (ilmbase_lib ${IlmBase_Libraries})
|
foreach(ilmbase_lib ${IlmBase_Libraries})
|
||||||
PREFIX_FIND_LIB (IlmBase ${ilmbase_lib}
|
PREFIX_FIND_LIB(IlmBase ${ilmbase_lib}
|
||||||
IlmBase_library_paths IlmBase_libvars IlmBase_cachevars)
|
IlmBase_library_paths IlmBase_libvars IlmBase_cachevars)
|
||||||
endforeach ()
|
endforeach()
|
||||||
# Create the list of variables that might need to be cleared
|
# Create the list of variables that might need to be cleared
|
||||||
set (ILMBASE_CACHED_VARS
|
set(ILMBASE_CACHED_VARS
|
||||||
ILMBASE_INCLUDE_DIR ${IlmBase_cachevars}
|
ILMBASE_INCLUDE_DIR ${IlmBase_cachevars}
|
||||||
CACHE INTERNAL "Variables set by FindIlmBase.cmake" FORCE)
|
CACHE INTERNAL "Variables set by FindIlmBase.cmake" FORCE)
|
||||||
|
|
||||||
# Store the current state so that variables might be cleared if required
|
# Store the current state so that variables might be cleared if required
|
||||||
set (ILMBASE_CACHED_STATE ${ILMBASE_CURRENT_STATE}
|
set(ILMBASE_CACHED_STATE ${ILMBASE_CURRENT_STATE}
|
||||||
CACHE INTERNAL "State last seen by FindIlmBase.cmake" FORCE)
|
CACHE INTERNAL "State last seen by FindIlmBase.cmake" FORCE)
|
||||||
|
|
||||||
# Link with pthreads if required
|
# Link with pthreads if required
|
||||||
if (NOT WIN32 AND EXISTS ${ILMBASE_INCLUDE_DIR}/OpenEXR/IlmBaseConfig.h)
|
if(NOT WIN32 AND EXISTS ${ILMBASE_INCLUDE_DIR}/OpenEXR/IlmBaseConfig.h)
|
||||||
file (STRINGS ${ILMBASE_INCLUDE_DIR}/OpenEXR/IlmBaseConfig.h
|
file(STRINGS ${ILMBASE_INCLUDE_DIR}/OpenEXR/IlmBaseConfig.h
|
||||||
ILMBASE_HAVE_PTHREAD
|
ILMBASE_HAVE_PTHREAD
|
||||||
REGEX "^[ \\t]*#define[ \\t]+HAVE_PTHREAD[ \\t]1[ \\t]*\$"
|
REGEX "^[ \\t]*#define[ \\t]+HAVE_PTHREAD[ \\t]1[ \\t]*\$"
|
||||||
)
|
)
|
||||||
if (ILMBASE_HAVE_PTHREAD)
|
if(ILMBASE_HAVE_PTHREAD)
|
||||||
find_package (Threads)
|
find_package(Threads)
|
||||||
if (CMAKE_USE_PTHREADS_INIT)
|
if(CMAKE_USE_PTHREADS_INIT)
|
||||||
set (ILMBASE_PTHREADS ${CMAKE_THREAD_LIBS_INIT})
|
set(ILMBASE_PTHREADS ${CMAKE_THREAD_LIBS_INIT})
|
||||||
endif ()
|
endif()
|
||||||
endif ()
|
endif()
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
# Use the standard function to handle ILMBASE_FOUND
|
# Use the standard function to handle ILMBASE_FOUND
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS (IlmBase DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(IlmBase DEFAULT_MSG
|
||||||
ILMBASE_INCLUDE_DIR ${IlmBase_libvars})
|
ILMBASE_INCLUDE_DIR ${IlmBase_libvars})
|
||||||
|
|
||||||
if (ILMBASE_FOUND)
|
if(ILMBASE_FOUND)
|
||||||
set (ILMBASE_LIBRARIES "")
|
set(ILMBASE_LIBRARIES "")
|
||||||
foreach (tmplib ${IlmBase_libvars})
|
foreach(tmplib ${IlmBase_libvars})
|
||||||
list (APPEND ILMBASE_LIBRARIES ${${tmplib}})
|
list(APPEND ILMBASE_LIBRARIES ${${tmplib}})
|
||||||
endforeach ()
|
endforeach()
|
||||||
list (APPEND ILMBASE_LIBRARIES ${ILMBASE_PTHREADS})
|
list(APPEND ILMBASE_LIBRARIES ${ILMBASE_PTHREADS})
|
||||||
if (NOT IlmBase_FIND_QUIETLY)
|
if(NOT IlmBase_FIND_QUIETLY)
|
||||||
FIND_PACKAGE_MESSAGE (ILMBASE
|
FIND_PACKAGE_MESSAGE(ILMBASE
|
||||||
"Found IlmBase: ${ILMBASE_LIBRARIES}"
|
"Found IlmBase: ${ILMBASE_LIBRARIES}"
|
||||||
"[${ILMBASE_INCLUDE_DIR}][${ILMBASE_LIBRARIES}][${ILMBASE_CURRENT_STATE}]"
|
"[${ILMBASE_INCLUDE_DIR}][${ILMBASE_LIBRARIES}][${ILMBASE_CURRENT_STATE}]"
|
||||||
)
|
)
|
||||||
endif ()
|
endif()
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
# Restore the original find library ordering
|
# Restore the original find library ordering
|
||||||
if( ILMBASE_USE_STATIC_LIBS )
|
if( ILMBASE_USE_STATIC_LIBS )
|
||||||
@@ -250,11 +254,11 @@ if( ILMBASE_USE_STATIC_LIBS )
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Unset the helper variables to avoid pollution
|
# Unset the helper variables to avoid pollution
|
||||||
unset (ILMBASE_CURRENT_STATE)
|
unset(ILMBASE_CURRENT_STATE)
|
||||||
unset (IlmBase_include_paths)
|
unset(IlmBase_include_paths)
|
||||||
unset (IlmBase_library_paths)
|
unset(IlmBase_library_paths)
|
||||||
unset (IlmBase_generic_include_paths)
|
unset(IlmBase_generic_include_paths)
|
||||||
unset (IlmBase_generic_library_paths)
|
unset(IlmBase_generic_library_paths)
|
||||||
unset (IlmBase_libvars)
|
unset(IlmBase_libvars)
|
||||||
unset (IlmBase_cachevars)
|
unset(IlmBase_cachevars)
|
||||||
unset (ILMBASE_PTHREADS)
|
unset(ILMBASE_PTHREADS)
|
||||||
|
@@ -32,7 +32,6 @@ SET(_logc4plus_SEARCH_DIRS
|
|||||||
/usr/local
|
/usr/local
|
||||||
/sw # Fink
|
/sw # Fink
|
||||||
/opt/local # DarwinPorts
|
/opt/local # DarwinPorts
|
||||||
/opt/csw # Blastwave
|
|
||||||
/opt/lib/logc4plus
|
/opt/lib/logc4plus
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -23,12 +23,12 @@
|
|||||||
# OPENEXR_FOUND - True if OpenEXR was found.
|
# OPENEXR_FOUND - True if OpenEXR was found.
|
||||||
|
|
||||||
# Other standarnd issue macros
|
# Other standarnd issue macros
|
||||||
include (SelectLibraryConfigurations)
|
include(SelectLibraryConfigurations)
|
||||||
include (FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
include (FindPackageMessage)
|
include(FindPackageMessage)
|
||||||
|
|
||||||
if( OPENEXR_USE_STATIC_LIBS )
|
if(OPENEXR_USE_STATIC_LIBS)
|
||||||
set( _openexr_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
set(_openexr_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||||
else()
|
else()
|
||||||
@@ -37,39 +37,39 @@ if( OPENEXR_USE_STATIC_LIBS )
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Macro to assemble a helper state variable
|
# Macro to assemble a helper state variable
|
||||||
macro (SET_STATE_VAR varname)
|
macro(SET_STATE_VAR varname)
|
||||||
set (tmp_lst
|
set(tmp_lst
|
||||||
${OPENEXR_CUSTOM} | ${OPENEXR_CUSTOM_LIBRARY} |
|
${OPENEXR_CUSTOM} | ${OPENEXR_CUSTOM_LIBRARY} |
|
||||||
${OPENEXR_HOME} | ${OPENEXR_VERSION} | ${OPENEXR_LIB_AREA}
|
${OPENEXR_HOME} | ${OPENEXR_VERSION} | ${OPENEXR_LIB_AREA}
|
||||||
)
|
)
|
||||||
set (${varname} "${tmp_lst}")
|
set(${varname} "${tmp_lst}")
|
||||||
unset (tmp_lst)
|
unset(tmp_lst)
|
||||||
endmacro ()
|
endmacro()
|
||||||
|
|
||||||
# To enforce that find_* functions do not use inadvertently existing versions
|
# To enforce that find_* functions do not use inadvertently existing versions
|
||||||
if (OPENEXR_CUSTOM)
|
if(OPENEXR_CUSTOM)
|
||||||
set (OPENEXR_FIND_OPTIONS "NO_DEFAULT_PATH")
|
set(OPENEXR_FIND_OPTIONS "NO_DEFAULT_PATH")
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
# Macro to search for an include directory
|
# Macro to search for an include directory
|
||||||
macro (PREFIX_FIND_INCLUDE_DIR prefix includefile libpath_var)
|
macro(PREFIX_FIND_INCLUDE_DIR prefix includefile libpath_var)
|
||||||
string (TOUPPER ${prefix}_INCLUDE_DIR tmp_varname)
|
string(TOUPPER ${prefix}_INCLUDE_DIR tmp_varname)
|
||||||
find_path(${tmp_varname} ${includefile}
|
find_path(${tmp_varname} ${includefile}
|
||||||
HINTS ${${libpath_var}}
|
HINTS ${${libpath_var}}
|
||||||
PATH_SUFFIXES include
|
PATH_SUFFIXES include
|
||||||
${OPENEXR_FIND_OPTIONS}
|
${OPENEXR_FIND_OPTIONS}
|
||||||
)
|
)
|
||||||
if (${tmp_varname})
|
if(${tmp_varname})
|
||||||
mark_as_advanced (${tmp_varname})
|
mark_as_advanced(${tmp_varname})
|
||||||
endif ()
|
endif()
|
||||||
unset (tmp_varname)
|
unset(tmp_varname)
|
||||||
endmacro ()
|
endmacro()
|
||||||
|
|
||||||
|
|
||||||
# Macro to search for the given library and adds the cached
|
# Macro to search for the given library and adds the cached
|
||||||
# variable names to the specified list
|
# variable names to the specified list
|
||||||
macro (PREFIX_FIND_LIB prefix libname libpath_var liblist_var cachelist_var)
|
macro(PREFIX_FIND_LIB prefix libname libpath_var liblist_var cachelist_var)
|
||||||
string (TOUPPER ${prefix}_${libname} tmp_prefix)
|
string(TOUPPER ${prefix}_${libname} tmp_prefix)
|
||||||
# Handle new library names for OpenEXR 2.1 build via cmake
|
# Handle new library names for OpenEXR 2.1 build via cmake
|
||||||
string(REPLACE "." "_" _ILMBASE_VERSION ${ILMBASE_VERSION})
|
string(REPLACE "." "_" _ILMBASE_VERSION ${ILMBASE_VERSION})
|
||||||
string(SUBSTRING ${_ILMBASE_VERSION} 0 3 _ILMBASE_VERSION )
|
string(SUBSTRING ${_ILMBASE_VERSION} 0 3 _ILMBASE_VERSION )
|
||||||
@@ -86,89 +86,91 @@ macro (PREFIX_FIND_LIB prefix libname libpath_var liblist_var cachelist_var)
|
|||||||
${OPENEXR_FIND_OPTIONS}
|
${OPENEXR_FIND_OPTIONS}
|
||||||
)
|
)
|
||||||
# Properly define ${tmp_prefix}_LIBRARY (cached) and ${tmp_prefix}_LIBRARIES
|
# Properly define ${tmp_prefix}_LIBRARY (cached) and ${tmp_prefix}_LIBRARIES
|
||||||
select_library_configurations (${tmp_prefix})
|
select_library_configurations(${tmp_prefix})
|
||||||
list (APPEND ${liblist_var} ${tmp_prefix}_LIBRARIES)
|
list(APPEND ${liblist_var} ${tmp_prefix}_LIBRARIES)
|
||||||
|
|
||||||
# Add to the list of variables which should be reset
|
# Add to the list of variables which should be reset
|
||||||
list (APPEND ${cachelist_var}
|
list(APPEND ${cachelist_var}
|
||||||
${tmp_prefix}_LIBRARY
|
${tmp_prefix}_LIBRARY
|
||||||
${tmp_prefix}_LIBRARY_RELEASE
|
${tmp_prefix}_LIBRARY_RELEASE
|
||||||
${tmp_prefix}_LIBRARY_DEBUG)
|
${tmp_prefix}_LIBRARY_DEBUG)
|
||||||
mark_as_advanced (
|
mark_as_advanced(
|
||||||
${tmp_prefix}_LIBRARY
|
${tmp_prefix}_LIBRARY
|
||||||
${tmp_prefix}_LIBRARY_RELEASE
|
${tmp_prefix}_LIBRARY_RELEASE
|
||||||
${tmp_prefix}_LIBRARY_DEBUG)
|
${tmp_prefix}_LIBRARY_DEBUG)
|
||||||
unset (tmp_prefix)
|
unset(tmp_prefix)
|
||||||
endmacro ()
|
endmacro()
|
||||||
|
|
||||||
|
|
||||||
# Encode the current state of the external variables into a string
|
# Encode the current state of the external variables into a string
|
||||||
SET_STATE_VAR (OPENEXR_CURRENT_STATE)
|
SET_STATE_VAR(OPENEXR_CURRENT_STATE)
|
||||||
|
|
||||||
# If the state has changed, clear the cached variables
|
# If the state has changed, clear the cached variables
|
||||||
if (OPENEXR_CACHED_STATE AND
|
if(OPENEXR_CACHED_STATE AND
|
||||||
NOT OPENEXR_CACHED_STATE STREQUAL OPENEXR_CURRENT_STATE)
|
NOT OPENEXR_CACHED_STATE STREQUAL OPENEXR_CURRENT_STATE)
|
||||||
foreach (libvar ${OPENEXR_CACHED_VARS})
|
foreach(libvar ${OPENEXR_CACHED_VARS})
|
||||||
unset (${libvar} CACHE)
|
unset(${libvar} CACHE)
|
||||||
endforeach ()
|
endforeach()
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
# Generic search paths
|
# Generic search paths
|
||||||
set (OpenEXR_generic_include_paths
|
set(OpenEXR_generic_include_paths
|
||||||
${OPENEXR_CUSTOM_INCLUDE_DIR}
|
${OPENEXR_CUSTOM_INCLUDE_DIR}
|
||||||
/usr/include
|
/usr/include
|
||||||
/usr/include/${CMAKE_LIBRARY_ARCHITECTURE}
|
/usr/include/${CMAKE_LIBRARY_ARCHITECTURE}
|
||||||
/usr/local/include
|
/usr/local/include
|
||||||
/sw/include
|
/sw/include
|
||||||
/opt/local/include)
|
/opt/local/include
|
||||||
set (OpenEXR_generic_library_paths
|
)
|
||||||
|
set(OpenEXR_generic_library_paths
|
||||||
${OPENEXR_CUSTOM_LIB_DIR}
|
${OPENEXR_CUSTOM_LIB_DIR}
|
||||||
/usr/lib
|
/usr/lib
|
||||||
/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}
|
/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/local/lib/${CMAKE_LIBRARY_ARCHITECTURE}
|
/usr/local/lib/${CMAKE_LIBRARY_ARCHITECTURE}
|
||||||
/sw/lib
|
/sw/lib
|
||||||
/opt/local/lib)
|
/opt/local/lib
|
||||||
|
)
|
||||||
|
|
||||||
# Search paths for the OpenEXR files
|
# Search paths for the OpenEXR files
|
||||||
if (OPENEXR_HOME)
|
if(OPENEXR_HOME)
|
||||||
set (OpenEXR_library_paths
|
set(OpenEXR_library_paths
|
||||||
${OPENEXR_HOME}/lib
|
${OPENEXR_HOME}/lib
|
||||||
${OPENEXR_HOME}/lib64)
|
${OPENEXR_HOME}/lib64)
|
||||||
if (OPENEXR_VERSION)
|
if(OPENEXR_VERSION)
|
||||||
set (OpenEXR_include_paths
|
set(OpenEXR_include_paths
|
||||||
${OPENEXR_HOME}/openexr-${OPENEXR_VERSION}/include
|
${OPENEXR_HOME}/openexr-${OPENEXR_VERSION}/include
|
||||||
${OPENEXR_HOME}/include/openexr-${OPENEXR_VERSION})
|
${OPENEXR_HOME}/include/openexr-${OPENEXR_VERSION})
|
||||||
list (APPEND OpenEXR_library_paths
|
list(APPEND OpenEXR_library_paths
|
||||||
${OPENEXR_HOME}/openexr-${OPENEXR_VERSION}/lib
|
${OPENEXR_HOME}/openexr-${OPENEXR_VERSION}/lib
|
||||||
${OPENEXR_HOME}/lib/openexr-${OPENEXR_VERSION})
|
${OPENEXR_HOME}/lib/openexr-${OPENEXR_VERSION})
|
||||||
endif()
|
endif()
|
||||||
list (APPEND OpenEXR_include_paths ${OPENEXR_HOME}/include)
|
list(APPEND OpenEXR_include_paths ${OPENEXR_HOME}/include)
|
||||||
if (OPENEXR_LIB_AREA)
|
if(OPENEXR_LIB_AREA)
|
||||||
list (INSERT OpenEXR_library_paths 2 ${OPENEXR_LIB_AREA})
|
list(INSERT OpenEXR_library_paths 2 ${OPENEXR_LIB_AREA})
|
||||||
endif ()
|
endif()
|
||||||
endif ()
|
endif()
|
||||||
if (ILMBASE_HOME AND OPENEXR_VERSION)
|
if(ILMBASE_HOME AND OPENEXR_VERSION)
|
||||||
list (APPEND OpenEXR_include_paths
|
list(APPEND OpenEXR_include_paths
|
||||||
${ILMBASE_HOME}/include/openexr-${OPENEXR_VERSION})
|
${ILMBASE_HOME}/include/openexr-${OPENEXR_VERSION})
|
||||||
endif()
|
endif()
|
||||||
list (APPEND OpenEXR_include_paths ${OpenEXR_generic_include_paths})
|
list(APPEND OpenEXR_include_paths ${OpenEXR_generic_include_paths})
|
||||||
list (APPEND OpenEXR_library_paths ${OpenEXR_generic_library_paths})
|
list(APPEND OpenEXR_library_paths ${OpenEXR_generic_library_paths})
|
||||||
|
|
||||||
# Locate the header files
|
# Locate the header files
|
||||||
PREFIX_FIND_INCLUDE_DIR (OpenEXR
|
PREFIX_FIND_INCLUDE_DIR(OpenEXR
|
||||||
OpenEXR/ImfArray.h OpenEXR_include_paths)
|
OpenEXR/ImfArray.h OpenEXR_include_paths)
|
||||||
|
|
||||||
if (OPENEXR_INCLUDE_DIR)
|
if(OPENEXR_INCLUDE_DIR)
|
||||||
# Get the version from config file, if not already set.
|
# Get the version from config file, if not already set.
|
||||||
if (NOT OPENEXR_VERSION)
|
if(NOT OPENEXR_VERSION)
|
||||||
FILE(STRINGS "${OPENEXR_INCLUDE_DIR}/OpenEXR/OpenEXRConfig.h" OPENEXR_BUILD_SPECIFICATION
|
FILE(STRINGS "${OPENEXR_INCLUDE_DIR}/OpenEXR/OpenEXRConfig.h" OPENEXR_BUILD_SPECIFICATION
|
||||||
REGEX "^[ \t]*#define[ \t]+OPENEXR_VERSION_STRING[ \t]+\"[.0-9]+\".*$")
|
REGEX "^[ \t]*#define[ \t]+OPENEXR_VERSION_STRING[ \t]+\"[.0-9]+\".*$")
|
||||||
|
|
||||||
if(OPENEXR_BUILD_SPECIFICATION)
|
if(OPENEXR_BUILD_SPECIFICATION)
|
||||||
if (NOT OpenEXR_FIND_QUIETLY)
|
if(NOT OpenEXR_FIND_QUIETLY)
|
||||||
message(STATUS "${OPENEXR_BUILD_SPECIFICATION}")
|
message(STATUS "${OPENEXR_BUILD_SPECIFICATION}")
|
||||||
endif ()
|
endif()
|
||||||
string(REGEX REPLACE ".*#define[ \t]+OPENEXR_VERSION_STRING[ \t]+\"([.0-9]+)\".*"
|
string(REGEX REPLACE ".*#define[ \t]+OPENEXR_VERSION_STRING[ \t]+\"([.0-9]+)\".*"
|
||||||
"\\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")
|
||||||
@@ -178,56 +180,56 @@ if (OPENEXR_INCLUDE_DIR)
|
|||||||
set("OPENEXR_VERSION" "2.0" CACHE STRING "Version of OpenEXR lib")
|
set("OPENEXR_VERSION" "2.0" CACHE STRING "Version of OpenEXR lib")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
if (OPENEXR_CUSTOM)
|
if(OPENEXR_CUSTOM)
|
||||||
if (NOT OPENEXR_CUSTOM_LIBRARY)
|
if(NOT OPENEXR_CUSTOM_LIBRARY)
|
||||||
message (FATAL_ERROR "Custom OpenEXR library requested but OPENEXR_CUSTOM_LIBRARY is not set.")
|
message(FATAL_ERROR "Custom OpenEXR library requested but OPENEXR_CUSTOM_LIBRARY is not set.")
|
||||||
endif()
|
endif()
|
||||||
set (OpenEXR_Library ${OPENEXR_CUSTOM_LIBRARY})
|
set(OpenEXR_Library ${OPENEXR_CUSTOM_LIBRARY})
|
||||||
else ()
|
else()
|
||||||
#elseif (${OPENEXR_VERSION} VERSION_LESS "2.1")
|
#elseif(${OPENEXR_VERSION} VERSION_LESS "2.1")
|
||||||
set (OpenEXR_Library IlmImf)
|
set(OpenEXR_Library IlmImf)
|
||||||
#else ()
|
#else()
|
||||||
# string(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _openexr_libs_ver ${OPENEXR_VERSION})
|
# string(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _openexr_libs_ver ${OPENEXR_VERSION})
|
||||||
# set (OpenEXR_Library IlmImf-${_openexr_libs_ver})
|
# set(OpenEXR_Library IlmImf-${_openexr_libs_ver})
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
# Locate the OpenEXR library
|
# Locate the OpenEXR library
|
||||||
set (OpenEXR_libvars "")
|
set(OpenEXR_libvars "")
|
||||||
set (OpenEXR_cachevars "")
|
set(OpenEXR_cachevars "")
|
||||||
PREFIX_FIND_LIB (OpenEXR ${OpenEXR_Library}
|
PREFIX_FIND_LIB(OpenEXR ${OpenEXR_Library}
|
||||||
OpenEXR_library_paths OpenEXR_libvars OpenEXR_cachevars)
|
OpenEXR_library_paths OpenEXR_libvars OpenEXR_cachevars)
|
||||||
|
|
||||||
# Create the list of variables that might need to be cleared
|
# Create the list of variables that might need to be cleared
|
||||||
set (OPENEXR_CACHED_VARS
|
set(OPENEXR_CACHED_VARS
|
||||||
OPENEXR_INCLUDE_DIR ${OpenEXR_cachevars}
|
OPENEXR_INCLUDE_DIR ${OpenEXR_cachevars}
|
||||||
CACHE INTERNAL "Variables set by FindOpenEXR.cmake" FORCE)
|
CACHE INTERNAL "Variables set by FindOpenEXR.cmake" FORCE)
|
||||||
|
|
||||||
# Store the current state so that variables might be cleared if required
|
# Store the current state so that variables might be cleared if required
|
||||||
set (OPENEXR_CACHED_STATE ${OPENEXR_CURRENT_STATE}
|
set(OPENEXR_CACHED_STATE ${OPENEXR_CURRENT_STATE}
|
||||||
CACHE INTERNAL "State last seen by FindOpenEXR.cmake" FORCE)
|
CACHE INTERNAL "State last seen by FindOpenEXR.cmake" FORCE)
|
||||||
|
|
||||||
# Always link explicitly with zlib
|
# Always link explicitly with zlib
|
||||||
set (OPENEXR_ZLIB ${ZLIB_LIBRARIES})
|
set(OPENEXR_ZLIB ${ZLIB_LIBRARIES})
|
||||||
|
|
||||||
# Use the standard function to handle OPENEXR_FOUND
|
# Use the standard function to handle OPENEXR_FOUND
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS (OpenEXR DEFAULT_MSG
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR DEFAULT_MSG
|
||||||
OPENEXR_INCLUDE_DIR ${OpenEXR_libvars})
|
OPENEXR_INCLUDE_DIR ${OpenEXR_libvars})
|
||||||
|
|
||||||
if (OPENEXR_FOUND)
|
if(OPENEXR_FOUND)
|
||||||
set (OPENEXR_LIBRARIES "")
|
set(OPENEXR_LIBRARIES "")
|
||||||
foreach (tmplib ${OpenEXR_libvars})
|
foreach(tmplib ${OpenEXR_libvars})
|
||||||
list (APPEND OPENEXR_LIBRARIES ${${tmplib}})
|
list(APPEND OPENEXR_LIBRARIES ${${tmplib}})
|
||||||
endforeach ()
|
endforeach()
|
||||||
list (APPEND OPENEXR_LIBRARIES ${ZLIB_LIBRARIES})
|
list(APPEND OPENEXR_LIBRARIES ${ZLIB_LIBRARIES})
|
||||||
if (NOT OpenEXR_FIND_QUIETLY)
|
if(NOT OpenEXR_FIND_QUIETLY)
|
||||||
FIND_PACKAGE_MESSAGE (OPENEXR
|
FIND_PACKAGE_MESSAGE(OPENEXR
|
||||||
"Found OpenEXR: ${OPENEXR_LIBRARIES}"
|
"Found OpenEXR: ${OPENEXR_LIBRARIES}"
|
||||||
"[${OPENEXR_INCLUDE_DIR}][${OPENEXR_LIBRARIES}][${OPENEXR_CURRENT_STATE}]"
|
"[${OPENEXR_INCLUDE_DIR}][${OPENEXR_LIBRARIES}][${OPENEXR_CURRENT_STATE}]"
|
||||||
)
|
)
|
||||||
endif ()
|
endif()
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
# Restore the original find library ordering
|
# Restore the original find library ordering
|
||||||
if( OPENEXR_USE_STATIC_LIBS )
|
if( OPENEXR_USE_STATIC_LIBS )
|
||||||
@@ -235,10 +237,10 @@ if( OPENEXR_USE_STATIC_LIBS )
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Unset the helper variables to avoid pollution
|
# Unset the helper variables to avoid pollution
|
||||||
unset (OPENEXR_CURRENT_STATE)
|
unset(OPENEXR_CURRENT_STATE)
|
||||||
unset (OpenEXR_include_paths)
|
unset(OpenEXR_include_paths)
|
||||||
unset (OpenEXR_library_paths)
|
unset(OpenEXR_library_paths)
|
||||||
unset (OpenEXR_generic_include_paths)
|
unset(OpenEXR_generic_include_paths)
|
||||||
unset (OpenEXR_generic_library_paths)
|
unset(OpenEXR_generic_library_paths)
|
||||||
unset (OpenEXR_libvars)
|
unset(OpenEXR_libvars)
|
||||||
unset (OpenEXR_cachevars)
|
unset(OpenEXR_cachevars)
|
||||||
|
@@ -32,7 +32,6 @@ SET(_tbb_SEARCH_DIRS
|
|||||||
/usr/local
|
/usr/local
|
||||||
/sw # Fink
|
/sw # Fink
|
||||||
/opt/local # DarwinPorts
|
/opt/local # DarwinPorts
|
||||||
/opt/csw # Blastwave
|
|
||||||
/opt/lib/tbb
|
/opt/lib/tbb
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -49,7 +49,7 @@ macro( select_library_configurations basename )
|
|||||||
# if only the debug version was found, set the release value to be the
|
# if only the debug version was found, set the release value to be the
|
||||||
# debug value.
|
# debug value.
|
||||||
_set_library_name( ${basename} DEBUG RELEASE )
|
_set_library_name( ${basename} DEBUG RELEASE )
|
||||||
if (${basename}_LIBRARY_DEBUG AND ${basename}_LIBRARY_RELEASE )
|
if( ${basename}_LIBRARY_DEBUG AND ${basename}_LIBRARY_RELEASE )
|
||||||
# if the generator supports configuration types or CMAKE_BUILD_TYPE
|
# if the generator supports configuration types or CMAKE_BUILD_TYPE
|
||||||
# is set, then set optimized and debug options.
|
# is set, then set optimized and debug options.
|
||||||
if( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE )
|
if( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE )
|
||||||
@@ -79,4 +79,3 @@ macro( select_library_configurations basename )
|
|||||||
${basename}_LIBRARY_DEBUG
|
${basename}_LIBRARY_DEBUG
|
||||||
)
|
)
|
||||||
endmacro( select_library_configurations )
|
endmacro( select_library_configurations )
|
||||||
|
|
||||||
|
@@ -8,7 +8,7 @@ project(OpenVDB)
|
|||||||
|
|
||||||
# --------------------------------------------------------------------------------
|
# --------------------------------------------------------------------------------
|
||||||
|
|
||||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules")
|
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
|
||||||
|
|
||||||
# --------------------------------------------------------------------------------
|
# --------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@@ -88,6 +88,14 @@ elseif(WIN32)
|
|||||||
set(DISABLE_RTTI "/EHs- /GR- ")
|
set(DISABLE_RTTI "/EHs- /GR- ")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||||
|
include(CheckCXXCompilerFlag)
|
||||||
|
check_cxx_compiler_flag("-flifetime-dse=1" SUPPORTS_FLIFETIME)
|
||||||
|
if (SUPPORTS_FLIFETIME)
|
||||||
|
add_definitions(-flifetime-dse=1)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
# Linker export definitions
|
# Linker export definitions
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
add_custom_command(OUTPUT tbb.def
|
add_custom_command(OUTPUT tbb.def
|
||||||
|
13
build_files/build_environment/patches/openal.diff
Normal file
13
build_files/build_environment/patches/openal.diff
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
diff -Naur external_openal_original/CMakeLists.txt external_openal/CMakeLists.txt
|
||||||
|
--- external_openal_original/CMakeLists.txt 2016-01-24 20:12:39 -0700
|
||||||
|
+++ external_openal/CMakeLists.txt 2018-06-02 12:16:52 -0600
|
||||||
|
@@ -885,7 +885,8 @@
|
||||||
|
OPTION(ALSOFT_REQUIRE_MMDEVAPI "Require MMDevApi backend" OFF)
|
||||||
|
IF(HAVE_WINDOWS_H)
|
||||||
|
# Check MMSystem backend
|
||||||
|
- CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H -D_WIN32_WINNT=0x0502)
|
||||||
|
+ set(CMAKE_REQUIRED_FLAGS "-D_WIN32_WINNT=0x0502")
|
||||||
|
+ CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H)
|
||||||
|
IF(HAVE_MMSYSTEM_H)
|
||||||
|
CHECK_SHARED_FUNCTION_EXISTS(waveOutOpen "windows.h;mmsystem.h" winmm "" HAVE_LIBWINMM)
|
||||||
|
IF(HAVE_LIBWINMM)
|
@@ -10,3 +10,29 @@ diff -Naur osl/src/external_osl/src/cmake/flexbison.cmake osl_bak/src/external_o
|
|||||||
MAIN_DEPENDENCY ${flexsrc}
|
MAIN_DEPENDENCY ${flexsrc}
|
||||||
DEPENDS ${${compiler_headers}}
|
DEPENDS ${${compiler_headers}}
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
|
||||||
|
--- osl/src/external_osl/src/include/OSL/oslconfig.h 2016-10-31 16:48:19 -0600
|
||||||
|
+++ osl/src/external_osl/src/include/OSL/oslconfig.h 2018-05-27 11:18:08 -0600
|
||||||
|
@@ -44,12 +44,18 @@
|
||||||
|
// same if another packages is compiling against OSL and using these headers
|
||||||
|
// (OSL may be C++11 but the client package may be older, or vice versa --
|
||||||
|
// use these two symbols to differentiate these cases, when important).
|
||||||
|
-#if (__cplusplus >= 201402L)
|
||||||
|
-# define OSL_CPLUSPLUS_VERSION 14
|
||||||
|
-#elif (__cplusplus >= 201103L)
|
||||||
|
-# define OSL_CPLUSPLUS_VERSION 11
|
||||||
|
+
|
||||||
|
+// Force C++03 for MSVC in blender since svn the libraries are build with that
|
||||||
|
+#if !defined(_MSC_VER)
|
||||||
|
+ #if (__cplusplus >= 201402L)
|
||||||
|
+ # define OSL_CPLUSPLUS_VERSION 14
|
||||||
|
+ #elif (__cplusplus >= 201103L)
|
||||||
|
+ # define OSL_CPLUSPLUS_VERSION 11
|
||||||
|
+ #else
|
||||||
|
+ # define OSL_CPLUSPLUS_VERSION 3 /* presume C++03 */
|
||||||
|
+ #endif
|
||||||
|
#else
|
||||||
|
-# define OSL_CPLUSPLUS_VERSION 3 /* presume C++03 */
|
||||||
|
+ # define OSL_CPLUSPLUS_VERSION 3 /* presume C++03 */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Symbol export defines
|
||||||
|
@@ -14,10 +14,18 @@ if NOT "%1" == "" (
|
|||||||
set BuildDir=VS14
|
set BuildDir=VS14
|
||||||
goto par2
|
goto par2
|
||||||
)
|
)
|
||||||
|
if "%1" == "2017" (
|
||||||
|
echo "Building for VS2017"
|
||||||
|
set VSVER=15.0
|
||||||
|
set VSVER_SHORT=15
|
||||||
|
set BuildDir=VS15
|
||||||
|
goto par2
|
||||||
|
)
|
||||||
|
|
||||||
)
|
)
|
||||||
:usage
|
:usage
|
||||||
|
|
||||||
Echo Usage build_deps 2013/2015 x64/x86
|
Echo Usage build_deps 2013/2015/2017 x64/x86
|
||||||
goto exit
|
goto exit
|
||||||
:par2
|
:par2
|
||||||
if NOT "%2" == "" (
|
if NOT "%2" == "" (
|
||||||
@@ -31,6 +39,10 @@ if NOT "%2" == "" (
|
|||||||
if "%1" == "2015" (
|
if "%1" == "2015" (
|
||||||
set CMAKE_BUILDER=Visual Studio 14 2015
|
set CMAKE_BUILDER=Visual Studio 14 2015
|
||||||
)
|
)
|
||||||
|
if "%1" == "2017" (
|
||||||
|
set CMAKE_BUILDER=Visual Studio 15 2017
|
||||||
|
)
|
||||||
|
|
||||||
goto start
|
goto start
|
||||||
)
|
)
|
||||||
if "%2" == "x64" (
|
if "%2" == "x64" (
|
||||||
@@ -43,6 +55,10 @@ if NOT "%2" == "" (
|
|||||||
if "%1" == "2015" (
|
if "%1" == "2015" (
|
||||||
set CMAKE_BUILDER=Visual Studio 14 2015 Win64
|
set CMAKE_BUILDER=Visual Studio 14 2015 Win64
|
||||||
)
|
)
|
||||||
|
if "%1" == "2017" (
|
||||||
|
set CMAKE_BUILDER=Visual Studio 15 2017 Win64
|
||||||
|
)
|
||||||
|
|
||||||
goto start
|
goto start
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@@ -245,7 +245,10 @@ def git_submodules_update():
|
|||||||
|
|
||||||
|
|
||||||
def lib_svn_step(dir):
|
def lib_svn_step(dir):
|
||||||
return SVN(name='lib svn',
|
name = "lib svn"
|
||||||
|
if dir == "darwin":
|
||||||
|
name = "C++11 lib svn"
|
||||||
|
return SVN(name=name,
|
||||||
baseURL='https://svn.blender.org/svnroot/bf-blender/%%BRANCH%%/lib/' + dir,
|
baseURL='https://svn.blender.org/svnroot/bf-blender/%%BRANCH%%/lib/' + dir,
|
||||||
codebase='lib svn',
|
codebase='lib svn',
|
||||||
mode='update',
|
mode='update',
|
||||||
@@ -274,6 +277,9 @@ def generic_builder(id, libdir='', branch='', rsync=False):
|
|||||||
f = BuildFactory()
|
f = BuildFactory()
|
||||||
if libdir != '':
|
if libdir != '':
|
||||||
f.addStep(lib_svn_step(libdir))
|
f.addStep(lib_svn_step(libdir))
|
||||||
|
# Special trick to make sure we always have all the libs.
|
||||||
|
if libdir.startswith("darwin"):
|
||||||
|
f.addStep(lib_svn_step("darwin"))
|
||||||
|
|
||||||
for submodule in ('blender-translations',
|
for submodule in ('blender-translations',
|
||||||
'blender-addons',
|
'blender-addons',
|
||||||
@@ -306,13 +312,15 @@ def generic_builder(id, libdir='', branch='', rsync=False):
|
|||||||
|
|
||||||
# Builders
|
# Builders
|
||||||
|
|
||||||
add_builder(c, 'mac_x86_64_10_9_cmake', 'darwin', generic_builder, hour=1)
|
add_builder(c, 'mac_x86_64_10_6_cmake', 'darwin-9.x.universal', generic_builder, hour=5)
|
||||||
add_builder(c, 'linux_glibc219_i686_cmake', '', generic_builder, hour=2)
|
# add_builder(c, 'linux_glibc211_i686_cmake', '', generic_builder, hour=1)
|
||||||
add_builder(c, 'linux_glibc219_x86_64_cmake', '', generic_builder, hour=1)
|
# add_builder(c, 'linux_glibc211_x86_64_cmake', '', generic_builder, hour=2)
|
||||||
add_builder(c, 'win32_cmake_vc2013', 'windows_vc12', generic_builder, hour=1)
|
add_builder(c, 'linux_glibc219_i686_cmake', '', generic_builder, hour=3)
|
||||||
add_builder(c, 'win64_cmake_vc2013', 'win64_vc12', generic_builder, hour=2)
|
add_builder(c, 'linux_glibc219_x86_64_cmake', '', generic_builder, hour=4)
|
||||||
add_builder(c, 'win32_cmake_vc2015', 'windows_vc14', generic_builder, hour=3)
|
add_builder(c, 'win32_cmake_vc2013', 'windows_vc12', generic_builder, hour=3)
|
||||||
add_builder(c, 'win64_cmake_vc2015', 'win64_vc14', generic_builder, hour=4)
|
add_builder(c, 'win64_cmake_vc2013', 'win64_vc12', generic_builder, hour=4)
|
||||||
|
add_builder(c, 'win32_cmake_vc2015', 'windows_vc14', generic_builder, hour=5)
|
||||||
|
add_builder(c, 'win64_cmake_vc2015', 'win64_vc14', generic_builder, hour=6)
|
||||||
|
|
||||||
# STATUS TARGETS
|
# STATUS TARGETS
|
||||||
#
|
#
|
||||||
|
@@ -70,12 +70,15 @@ if 'cmake' in builder:
|
|||||||
|
|
||||||
if builder.startswith('mac'):
|
if builder.startswith('mac'):
|
||||||
# Set up OSX architecture
|
# Set up OSX architecture
|
||||||
if builder.endswith('x86_64_10_9_cmake'):
|
if builder.endswith('x86_64_10_6_cmake'):
|
||||||
cmake_extra_options.append('-DCMAKE_OSX_ARCHITECTURES:STRING=x86_64')
|
cmake_extra_options.append('-DCMAKE_OSX_ARCHITECTURES:STRING=x86_64')
|
||||||
cmake_extra_options.append('-DCMAKE_OSX_DEPLOYMENT_TARGET=10.9')
|
cmake_extra_options.append('-DWITH_CODEC_QUICKTIME=OFF')
|
||||||
|
cmake_extra_options.append('-DCMAKE_OSX_DEPLOYMENT_TARGET=10.6')
|
||||||
cmake_extra_options.append('-DCUDA_HOST_COMPILER=/usr/local/cuda-hack/clang')
|
cmake_extra_options.append('-DCUDA_HOST_COMPILER=/usr/local/cuda-hack/clang')
|
||||||
cmake_extra_options.append('-DCUDA_NVCC_EXECUTABLE=/usr/local/cuda-hack/nvcc')
|
cmake_extra_options.append('-DCUDA_NVCC_EXECUTABLE=/usr/local/cuda-hack/nvcc')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
elif builder.startswith('win'):
|
elif builder.startswith('win'):
|
||||||
if builder.endswith('_vc2015'):
|
if builder.endswith('_vc2015'):
|
||||||
if builder.startswith('win64'):
|
if builder.startswith('win64'):
|
||||||
|
@@ -101,9 +101,13 @@ if builder.find('cmake') != -1:
|
|||||||
platform = builder.split('_')[0]
|
platform = builder.split('_')[0]
|
||||||
if platform == 'mac':
|
if platform == 'mac':
|
||||||
# Special exception for OSX
|
# Special exception for OSX
|
||||||
platform = 'OSX-10.9-'
|
platform = 'OSX-10.6-'
|
||||||
if builder.endswith('x86_64_10_9_cmake'):
|
if builder.endswith('x86_64_10_6_cmake'):
|
||||||
platform += 'x86_64'
|
platform += 'x86_64'
|
||||||
|
elif builder.endswith('i386_10_6_cmake'):
|
||||||
|
platform += 'i386'
|
||||||
|
elif builder.endswith('ppc_10_6_cmake'):
|
||||||
|
platform += 'ppc'
|
||||||
if builder.endswith('vc2015'):
|
if builder.endswith('vc2015'):
|
||||||
platform += "-vc14"
|
platform += "-vc14"
|
||||||
builderified_name = 'blender-{}-{}-{}'.format(blender_full_version, git_hash, platform)
|
builderified_name = 'blender-{}-{}-{}'.format(blender_full_version, git_hash, platform)
|
||||||
|
72
build_files/cmake/Modules/FindBlosc.cmake
Normal file
72
build_files/cmake/Modules/FindBlosc.cmake
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
# - Find Blosc library
|
||||||
|
# Find the native Blosc includes and library
|
||||||
|
# This module defines
|
||||||
|
# BLOSC_INCLUDE_DIRS, where to find blosc.h, Set when
|
||||||
|
# Blosc is found.
|
||||||
|
# BLOSC_LIBRARIES, libraries to link against to use Blosc.
|
||||||
|
# BLOSC_ROOT_DIR, The base directory to search for Blosc.
|
||||||
|
# This can also be an environment variable.
|
||||||
|
# BLOSC_FOUND, If false, do not try to use Blosc.
|
||||||
|
#
|
||||||
|
# also defined, but not for general use are
|
||||||
|
# BLOSC_LIBRARY, where to find the Blosc library.
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Copyright 2018 Blender Foundation.
|
||||||
|
#
|
||||||
|
# Distributed under the OSI-approved BSD License (the "License");
|
||||||
|
# see accompanying file Copyright.txt for details.
|
||||||
|
#
|
||||||
|
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||||
|
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
# See the License for more information.
|
||||||
|
#=============================================================================
|
||||||
|
|
||||||
|
# If BLOSC_ROOT_DIR was defined in the environment, use it.
|
||||||
|
IF(NOT BLOSC_ROOT_DIR AND NOT $ENV{BLOSC_ROOT_DIR} STREQUAL "")
|
||||||
|
SET(BLOSC_ROOT_DIR $ENV{BLOSC_ROOT_DIR})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
SET(_blosc_SEARCH_DIRS
|
||||||
|
${BLOSC_ROOT_DIR}
|
||||||
|
/usr/local
|
||||||
|
/sw # Fink
|
||||||
|
/opt/local # DarwinPorts
|
||||||
|
/opt/lib/blosc
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_PATH(BLOSC_INCLUDE_DIR
|
||||||
|
NAMES
|
||||||
|
blosc.h
|
||||||
|
HINTS
|
||||||
|
${_blosc_SEARCH_DIRS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_LIBRARY(BLOSC_LIBRARY
|
||||||
|
NAMES
|
||||||
|
blosc
|
||||||
|
HINTS
|
||||||
|
${_blosc_SEARCH_DIRS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
lib64 lib
|
||||||
|
)
|
||||||
|
|
||||||
|
# handle the QUIETLY and REQUIRED arguments and set BLOSC_FOUND to TRUE if
|
||||||
|
# all listed variables are TRUE
|
||||||
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(BLOSC DEFAULT_MSG
|
||||||
|
BLOSC_LIBRARY BLOSC_INCLUDE_DIR)
|
||||||
|
|
||||||
|
IF(BLOSC_FOUND)
|
||||||
|
SET(BLOSC_LIBRARIES ${BLOSC_LIBRARY})
|
||||||
|
SET(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIR})
|
||||||
|
ELSE()
|
||||||
|
SET(BLOSC_BLOSC_FOUND FALSE)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
MARK_AS_ADVANCED(
|
||||||
|
BLOSC_INCLUDE_DIR
|
||||||
|
BLOSC_LIBRARY
|
||||||
|
)
|
72
build_files/cmake/Modules/FindJPG.cmake
Normal file
72
build_files/cmake/Modules/FindJPG.cmake
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
# - Find JPEG library
|
||||||
|
# Find the native JPEG includes and library
|
||||||
|
# This module defines
|
||||||
|
# JPEG_INCLUDE_DIRS, where to find jpeg.h, Set when
|
||||||
|
# JPEG is found.
|
||||||
|
# JPEG_LIBRARIES, libraries to link against to use JPEG.
|
||||||
|
# JPEG_ROOT_DIR, The base directory to search for JPEG.
|
||||||
|
# This can also be an environment variable.
|
||||||
|
# JPEG_FOUND, If false, do not try to use JPEG.
|
||||||
|
#
|
||||||
|
# also defined, but not for general use are
|
||||||
|
# JPEG_LIBRARY, where to find the JPEG library.
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Copyright 2018 Martin Felke
|
||||||
|
#
|
||||||
|
# Distributed under the OSI-approved BSD License (the "License");
|
||||||
|
# see accompanying file Copyright.txt for details.
|
||||||
|
#
|
||||||
|
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||||
|
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
# See the License for more information.
|
||||||
|
#=============================================================================
|
||||||
|
|
||||||
|
# If JPEG_ROOT_DIR was defined in the environment, use it.
|
||||||
|
IF(NOT JPEG_ROOT_DIR AND NOT $ENV{JPEG_ROOT_DIR} STREQUAL "")
|
||||||
|
SET(JPEG_ROOT_DIR $ENV{JPEG_ROOT_DIR})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
SET(_jpeg_SEARCH_DIRS
|
||||||
|
${JPEG_ROOT_DIR}
|
||||||
|
/usr/local
|
||||||
|
/sw # Fink
|
||||||
|
/opt/local # DarwinPorts
|
||||||
|
/opt/lib/jpeg
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_PATH(JPEG_INCLUDE_DIR
|
||||||
|
NAMES
|
||||||
|
jpeglib.h
|
||||||
|
HINTS
|
||||||
|
${_jpeg_SEARCH_DIRS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_LIBRARY(JPEG_LIBRARY
|
||||||
|
NAMES
|
||||||
|
jpeg
|
||||||
|
HINTS
|
||||||
|
${_jpeg_SEARCH_DIRS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
lib64 lib
|
||||||
|
)
|
||||||
|
|
||||||
|
# handle the QUIETLY and REQUIRED arguments and set JPEG_FOUND to TRUE if
|
||||||
|
# all listed variables are TRUE
|
||||||
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(JPEG DEFAULT_MSG
|
||||||
|
JPEG_LIBRARY JPEG_INCLUDE_DIR)
|
||||||
|
|
||||||
|
IF(JPEG_FOUND)
|
||||||
|
SET(JPEG_LIBRARIES ${JPEG_LIBRARY})
|
||||||
|
SET(JPEG_INCLUDE_DIRS ${JPEG_INCLUDE_DIR})
|
||||||
|
ELSE()
|
||||||
|
SET(JPEG_JPEG_FOUND FALSE)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
MARK_AS_ADVANCED(
|
||||||
|
JPEG_INCLUDE_DIR
|
||||||
|
JPEG_LIBRARY
|
||||||
|
)
|
@@ -76,6 +76,8 @@ IF(OPENIMAGEIO_FOUND)
|
|||||||
SET(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR})
|
SET(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR})
|
||||||
IF(EXISTS ${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO/pugixml.hpp)
|
IF(EXISTS ${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO/pugixml.hpp)
|
||||||
SET(OPENIMAGEIO_PUGIXML_FOUND TRUE)
|
SET(OPENIMAGEIO_PUGIXML_FOUND TRUE)
|
||||||
|
ELSE()
|
||||||
|
SET(OPENIMAGEIO_PUGIXML_FOUND FALSE)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(OPENIMAGEIO_PUGIXML_FOUND FALSE)
|
SET(OPENIMAGEIO_PUGIXML_FOUND FALSE)
|
||||||
|
@@ -38,7 +38,7 @@ IF(NOT PYTHON_ROOT_DIR AND NOT $ENV{PYTHON_ROOT_DIR} STREQUAL "")
|
|||||||
SET(PYTHON_ROOT_DIR $ENV{PYTHON_ROOT_DIR})
|
SET(PYTHON_ROOT_DIR $ENV{PYTHON_ROOT_DIR})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
SET(PYTHON_VERSION 3.6 CACHE STRING "Python Version (major and minor only)")
|
SET(PYTHON_VERSION 3.5 CACHE STRING "Python Version (major and minor only)")
|
||||||
MARK_AS_ADVANCED(PYTHON_VERSION)
|
MARK_AS_ADVANCED(PYTHON_VERSION)
|
||||||
|
|
||||||
|
|
||||||
@@ -77,12 +77,15 @@ SET(_python_SEARCH_DIRS
|
|||||||
|
|
||||||
# only search for the dirs if we havn't already
|
# only search for the dirs if we havn't already
|
||||||
IF((NOT _IS_INC_DEF) OR (NOT _IS_INC_CONF_DEF) OR (NOT _IS_LIB_DEF) OR (NOT _IS_LIB_PATH_DEF))
|
IF((NOT _IS_INC_DEF) OR (NOT _IS_INC_CONF_DEF) OR (NOT _IS_LIB_DEF) OR (NOT _IS_LIB_PATH_DEF))
|
||||||
SET(_PYTHON_ABI_FLAGS_TEST
|
|
||||||
|
SET(_python_ABI_FLAGS
|
||||||
"m;mu;u; " # release
|
"m;mu;u; " # release
|
||||||
"dm;dmu;du;d" # debug
|
"dm;dmu;du;d" # debug
|
||||||
)
|
)
|
||||||
|
|
||||||
FOREACH(_CURRENT_ABI_FLAGS ${_PYTHON_ABI_FLAGS_TEST})
|
|
||||||
|
|
||||||
|
FOREACH(_CURRENT_ABI_FLAGS ${_python_ABI_FLAGS})
|
||||||
#IF(CMAKE_BUILD_TYPE STREQUAL Debug)
|
#IF(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||||
# SET(_CURRENT_ABI_FLAGS "d${_CURRENT_ABI_FLAGS}")
|
# SET(_CURRENT_ABI_FLAGS "d${_CURRENT_ABI_FLAGS}")
|
||||||
#ENDIF()
|
#ENDIF()
|
||||||
@@ -167,7 +170,7 @@ IF((NOT _IS_INC_DEF) OR (NOT _IS_INC_CONF_DEF) OR (NOT _IS_LIB_DEF) OR (NOT _IS_
|
|||||||
UNSET(_CURRENT_ABI_FLAGS)
|
UNSET(_CURRENT_ABI_FLAGS)
|
||||||
UNSET(_CURRENT_PATH)
|
UNSET(_CURRENT_PATH)
|
||||||
|
|
||||||
UNSET(_PYTHON_ABI_FLAGS_TEST)
|
UNSET(_python_ABI_FLAGS)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
UNSET(_IS_INC_DEF)
|
UNSET(_IS_INC_DEF)
|
||||||
|
@@ -66,7 +66,9 @@ elseif(WIN32)
|
|||||||
set(WITH_OPENSUBDIV ON CACHE BOOL "" FORCE)
|
set(WITH_OPENSUBDIV ON CACHE BOOL "" FORCE)
|
||||||
elseif(APPLE)
|
elseif(APPLE)
|
||||||
set(WITH_JACK ON CACHE BOOL "" FORCE)
|
set(WITH_JACK ON CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_CODEC_QUICKTIME OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_OPENSUBDIV OFF CACHE BOOL "" FORCE)
|
set(WITH_OPENSUBDIV OFF CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
# include("${CMAKE_CURRENT_SOURCE_DIR}/../platform/platform_apple_xcode.cmake")
|
# include("${CMAKE_CURRENT_SOURCE_DIR}/../platform/platform_apple_xcode.cmake")
|
||||||
|
# apple_check_quicktime()
|
||||||
endif()
|
endif()
|
||||||
|
@@ -56,3 +56,7 @@ set(WITH_SDL OFF CACHE BOOL "" FORCE)
|
|||||||
set(WITH_X11_XINPUT OFF CACHE BOOL "" FORCE)
|
set(WITH_X11_XINPUT OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_X11_XF86VMODE OFF CACHE BOOL "" FORCE)
|
set(WITH_X11_XF86VMODE OFF CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
|
if(APPLE)
|
||||||
|
set(WITH_CODEC_QUICKTIME OFF CACHE BOOL "" FORCE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
@@ -67,7 +67,9 @@ elseif(WIN32)
|
|||||||
set(WITH_OPENSUBDIV ON CACHE BOOL "" FORCE)
|
set(WITH_OPENSUBDIV ON CACHE BOOL "" FORCE)
|
||||||
elseif(APPLE)
|
elseif(APPLE)
|
||||||
set(WITH_JACK ON CACHE BOOL "" FORCE)
|
set(WITH_JACK ON CACHE BOOL "" FORCE)
|
||||||
|
set(WITH_CODEC_QUICKTIME OFF CACHE BOOL "" FORCE)
|
||||||
set(WITH_OPENSUBDIV OFF CACHE BOOL "" FORCE)
|
set(WITH_OPENSUBDIV OFF CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
# include("${CMAKE_CURRENT_SOURCE_DIR}/../platform/platform_apple_xcode.cmake")
|
# include("${CMAKE_CURRENT_SOURCE_DIR}/../platform/platform_apple_xcode.cmake")
|
||||||
|
# apple_check_quicktime()
|
||||||
endif()
|
endif()
|
||||||
|
@@ -338,6 +338,10 @@ function(SETUP_LIBDIRS)
|
|||||||
link_directories(${HDF5_LIBPATH})
|
link_directories(${HDF5_LIBPATH})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(WITH_CRASHPAD)
|
||||||
|
link_directories(${CRASHPAD_LIBPATH})
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WIN32 AND NOT UNIX)
|
if(WIN32 AND NOT UNIX)
|
||||||
link_directories(${PTHREADS_LIBPATH})
|
link_directories(${PTHREADS_LIBPATH})
|
||||||
endif()
|
endif()
|
||||||
@@ -349,6 +353,7 @@ function(setup_liblinks
|
|||||||
|
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}" PARENT_SCOPE)
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}" PARENT_SCOPE)
|
||||||
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}" PARENT_SCOPE)
|
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}" PARENT_SCOPE)
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS_RELEASE}" PARENT_SCOPE)
|
||||||
|
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}" PARENT_SCOPE)
|
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}" PARENT_SCOPE)
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}" PARENT_SCOPE)
|
set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}" PARENT_SCOPE)
|
||||||
@@ -376,6 +381,15 @@ function(setup_liblinks
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(WITH_CRASHPAD)
|
||||||
|
target_link_libraries(${target} ${CRASHPAD_LIBRARIES})
|
||||||
|
if(APPLE)
|
||||||
|
find_library(BSM_LIB NAMES bsm)
|
||||||
|
find_library(SECURITY_LIB NAMES Security)
|
||||||
|
target_link_libraries(${target} ${SECURITY_LIB} ${BSM_LIB})
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WITH_LZO AND WITH_SYSTEM_LZO)
|
if(WITH_LZO AND WITH_SYSTEM_LZO)
|
||||||
target_link_libraries(${target} ${LZO_LIBRARIES})
|
target_link_libraries(${target} ${LZO_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
@@ -403,6 +417,9 @@ function(setup_liblinks
|
|||||||
if(WITH_SDL AND NOT WITH_SDL_DYNLOAD)
|
if(WITH_SDL AND NOT WITH_SDL_DYNLOAD)
|
||||||
target_link_libraries(${target} ${SDL_LIBRARY})
|
target_link_libraries(${target} ${SDL_LIBRARY})
|
||||||
endif()
|
endif()
|
||||||
|
if(WITH_CODEC_QUICKTIME)
|
||||||
|
target_link_libraries(${target} ${QUICKTIME_LIBRARIES})
|
||||||
|
endif()
|
||||||
if(WITH_IMAGE_TIFF)
|
if(WITH_IMAGE_TIFF)
|
||||||
target_link_libraries(${target} ${TIFF_LIBRARY})
|
target_link_libraries(${target} ${TIFF_LIBRARY})
|
||||||
endif()
|
endif()
|
||||||
@@ -416,7 +433,7 @@ function(setup_liblinks
|
|||||||
target_link_libraries(${target} ${OPENSUBDIV_LIBRARIES})
|
target_link_libraries(${target} ${OPENSUBDIV_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
if(WITH_OPENVDB)
|
if(WITH_OPENVDB)
|
||||||
target_link_libraries(${target} ${OPENVDB_LIBRARIES} ${TBB_LIBRARIES})
|
target_link_libraries(${target} ${OPENVDB_LIBRARIES} ${TBB_LIBRARIES} ${BLOSC_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
if(WITH_CYCLES_OSL)
|
if(WITH_CYCLES_OSL)
|
||||||
target_link_libraries(${target} ${OSL_LIBRARIES})
|
target_link_libraries(${target} ${OSL_LIBRARIES})
|
||||||
@@ -712,6 +729,10 @@ function(SETUP_BLENDER_SORTED_LIBS)
|
|||||||
list(APPEND BLENDER_SORTED_LIBS bf_intern_itasc)
|
list(APPEND BLENDER_SORTED_LIBS bf_intern_itasc)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(WITH_CODEC_QUICKTIME)
|
||||||
|
list(APPEND BLENDER_SORTED_LIBS bf_quicktime)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WITH_MOD_BOOLEAN)
|
if(WITH_MOD_BOOLEAN)
|
||||||
list(APPEND BLENDER_SORTED_LIBS extern_carve)
|
list(APPEND BLENDER_SORTED_LIBS extern_carve)
|
||||||
endif()
|
endif()
|
||||||
@@ -744,6 +765,10 @@ function(SETUP_BLENDER_SORTED_LIBS)
|
|||||||
list(APPEND BLENDER_SORTED_LIBS bf_intern_gpudirect)
|
list(APPEND BLENDER_SORTED_LIBS bf_intern_gpudirect)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(WITH_VORO)
|
||||||
|
list(APPEND BLENDER_SORTED_LIBS extern_voro)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WITH_OPENSUBDIV OR WITH_CYCLES_OPENSUBDIV)
|
if(WITH_OPENSUBDIV OR WITH_CYCLES_OPENSUBDIV)
|
||||||
list(APPEND BLENDER_SORTED_LIBS bf_intern_opensubdiv)
|
list(APPEND BLENDER_SORTED_LIBS bf_intern_opensubdiv)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -28,7 +28,11 @@ macro(find_package_wrapper)
|
|||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
if(NOT DEFINED LIBDIR)
|
if(NOT DEFINED LIBDIR)
|
||||||
|
if(WITH_CXX11)
|
||||||
set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/darwin)
|
set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/darwin)
|
||||||
|
else()
|
||||||
|
set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/darwin-9.x.universal)
|
||||||
|
endif()
|
||||||
else()
|
else()
|
||||||
message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}")
|
message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}")
|
||||||
endif()
|
endif()
|
||||||
@@ -84,12 +88,12 @@ endif()
|
|||||||
|
|
||||||
if(WITH_PYTHON)
|
if(WITH_PYTHON)
|
||||||
# we use precompiled libraries for py 3.5 and up by default
|
# we use precompiled libraries for py 3.5 and up by default
|
||||||
set(PYTHON_VERSION 3.6)
|
set(PYTHON_VERSION 3.5)
|
||||||
if(NOT WITH_PYTHON_MODULE AND NOT WITH_PYTHON_FRAMEWORK)
|
if(NOT WITH_PYTHON_MODULE AND NOT WITH_PYTHON_FRAMEWORK)
|
||||||
# normally cached but not since we include them with blender
|
# normally cached but not since we include them with blender
|
||||||
set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}m")
|
set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}m")
|
||||||
set(PYTHON_EXECUTABLE "${LIBDIR}/python/bin/python${PYTHON_VERSION}m")
|
set(PYTHON_EXECUTABLE "${LIBDIR}/python/bin/python${PYTHON_VERSION}m")
|
||||||
set(PYTHON_LIBRARY ${LIBDIR}/python/lib/libpython${PYTHON_VERSION}m.a)
|
set(PYTHON_LIBRARY python${PYTHON_VERSION}m)
|
||||||
set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}")
|
set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}")
|
||||||
# set(PYTHON_LINKFLAGS "-u _PyMac_Error") # won't build with this enabled
|
# set(PYTHON_LINKFLAGS "-u _PyMac_Error") # won't build with this enabled
|
||||||
else()
|
else()
|
||||||
@@ -109,9 +113,6 @@ if(WITH_PYTHON)
|
|||||||
set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}")
|
set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}")
|
||||||
set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}")
|
set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}")
|
||||||
|
|
||||||
# needed for Audaspace, numpy is installed into python site-packages
|
|
||||||
set(NUMPY_INCLUDE_DIRS "${PYTHON_LIBPATH}/site-packages/numpy/core/include")
|
|
||||||
|
|
||||||
if(NOT EXISTS "${PYTHON_EXECUTABLE}")
|
if(NOT EXISTS "${PYTHON_EXECUTABLE}")
|
||||||
message(FATAL_ERROR "Python executable missing: ${PYTHON_EXECUTABLE}")
|
message(FATAL_ERROR "Python executable missing: ${PYTHON_EXECUTABLE}")
|
||||||
endif()
|
endif()
|
||||||
@@ -140,7 +141,11 @@ if(WITH_IMAGE_OPENEXR)
|
|||||||
set(OPENEXR ${LIBDIR}/openexr)
|
set(OPENEXR ${LIBDIR}/openexr)
|
||||||
set(OPENEXR_INCLUDE_DIR ${OPENEXR}/include)
|
set(OPENEXR_INCLUDE_DIR ${OPENEXR}/include)
|
||||||
set(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR}/include/OpenEXR)
|
set(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR}/include/OpenEXR)
|
||||||
|
if(WITH_CXX11)
|
||||||
set(OPENEXR_POSTFIX -2_2)
|
set(OPENEXR_POSTFIX -2_2)
|
||||||
|
else()
|
||||||
|
set(OPENEXR_POSTFIX)
|
||||||
|
endif()
|
||||||
set(OPENEXR_LIBRARIES
|
set(OPENEXR_LIBRARIES
|
||||||
Iex${OPENEXR_POSTFIX}
|
Iex${OPENEXR_POSTFIX}
|
||||||
Half
|
Half
|
||||||
@@ -157,16 +162,20 @@ if(WITH_CODEC_FFMPEG)
|
|||||||
avcodec avdevice avformat avutil
|
avcodec avdevice avformat avutil
|
||||||
mp3lame swscale x264 xvidcore theora theoradec theoraenc vorbis vorbisenc vorbisfile ogg
|
mp3lame swscale x264 xvidcore theora theoradec theoraenc vorbis vorbisenc vorbisfile ogg
|
||||||
)
|
)
|
||||||
|
if(WITH_CXX11)
|
||||||
set(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} schroedinger orc vpx webp swresample)
|
set(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} schroedinger orc vpx webp swresample)
|
||||||
|
endif()
|
||||||
set(FFMPEG_LIBPATH ${FFMPEG}/lib)
|
set(FFMPEG_LIBPATH ${FFMPEG}/lib)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_OPENJPEG OR WITH_CODEC_FFMPEG)
|
if(WITH_OPENJPEG OR WITH_CODEC_FFMPEG)
|
||||||
# use openjpeg from libdir that is linked into ffmpeg
|
# use openjpeg from libdir that is linked into ffmpeg
|
||||||
|
if(WITH_CXX11)
|
||||||
set(OPENJPEG ${LIBDIR}/openjpeg)
|
set(OPENJPEG ${LIBDIR}/openjpeg)
|
||||||
set(WITH_SYSTEM_OPENJPEG ON)
|
set(WITH_SYSTEM_OPENJPEG ON)
|
||||||
set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include)
|
set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG}/include)
|
||||||
set(OPENJPEG_LIBRARIES ${OPENJPEG}/lib/libopenjpeg.a)
|
set(OPENJPEG_LIBRARIES ${OPENJPEG}/lib/libopenjpeg.a)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_library(SYSTEMSTUBS_LIBRARY
|
find_library(SYSTEMSTUBS_LIBRARY
|
||||||
@@ -183,8 +192,19 @@ set(PLATFORM_CFLAGS "-pipe -funsigned-char")
|
|||||||
set(PLATFORM_LINKFLAGS
|
set(PLATFORM_LINKFLAGS
|
||||||
"-fexceptions -framework CoreServices -framework Foundation -framework IOKit -framework AppKit -framework Cocoa -framework Carbon -framework AudioUnit -framework AudioToolbox -framework CoreAudio"
|
"-fexceptions -framework CoreServices -framework Foundation -framework IOKit -framework AppKit -framework Cocoa -framework Carbon -framework AudioUnit -framework AudioToolbox -framework CoreAudio"
|
||||||
)
|
)
|
||||||
|
if(WITH_CODEC_QUICKTIME)
|
||||||
|
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -framework QTKit")
|
||||||
|
if(CMAKE_OSX_ARCHITECTURES MATCHES i386)
|
||||||
|
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -framework QuickTime")
|
||||||
|
# libSDL still needs 32bit carbon quicktime
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
list(APPEND PLATFORM_LINKLIBS c++)
|
if(WITH_CXX11)
|
||||||
|
list(APPEND PLATFORM_LINKLIBS c++)
|
||||||
|
else()
|
||||||
|
list(APPEND PLATFORM_LINKLIBS stdc++)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WITH_JACK)
|
if(WITH_JACK)
|
||||||
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -F/Library/Frameworks -weak_framework jackmp")
|
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -F/Library/Frameworks -weak_framework jackmp")
|
||||||
@@ -235,7 +255,11 @@ if(WITH_SDL)
|
|||||||
set(SDL_INCLUDE_DIR ${SDL}/include)
|
set(SDL_INCLUDE_DIR ${SDL}/include)
|
||||||
set(SDL_LIBRARY SDL2)
|
set(SDL_LIBRARY SDL2)
|
||||||
set(SDL_LIBPATH ${SDL}/lib)
|
set(SDL_LIBPATH ${SDL}/lib)
|
||||||
|
if(WITH_CXX11)
|
||||||
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -framework ForceFeedback")
|
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -framework ForceFeedback")
|
||||||
|
else()
|
||||||
|
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -lazy_framework ForceFeedback")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(PNG "${LIBDIR}/png")
|
set(PNG "${LIBDIR}/png")
|
||||||
@@ -256,7 +280,11 @@ endif()
|
|||||||
if(WITH_BOOST)
|
if(WITH_BOOST)
|
||||||
set(BOOST ${LIBDIR}/boost)
|
set(BOOST ${LIBDIR}/boost)
|
||||||
set(BOOST_INCLUDE_DIR ${BOOST}/include)
|
set(BOOST_INCLUDE_DIR ${BOOST}/include)
|
||||||
|
if(WITH_CXX11)
|
||||||
set(BOOST_POSTFIX)
|
set(BOOST_POSTFIX)
|
||||||
|
else()
|
||||||
|
set(BOOST_POSTFIX -mt)
|
||||||
|
endif()
|
||||||
set(BOOST_LIBRARIES
|
set(BOOST_LIBRARIES
|
||||||
boost_date_time${BOOST_POSTFIX}
|
boost_date_time${BOOST_POSTFIX}
|
||||||
boost_filesystem${BOOST_POSTFIX}
|
boost_filesystem${BOOST_POSTFIX}
|
||||||
@@ -293,7 +321,9 @@ if(WITH_OPENIMAGEIO)
|
|||||||
${OPENEXR_LIBRARIES}
|
${OPENEXR_LIBRARIES}
|
||||||
${ZLIB_LIBRARIES}
|
${ZLIB_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
if(WITH_CXX11)
|
||||||
set(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARIES} ${LIBDIR}/ffmpeg/lib/libwebp.a)
|
set(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARIES} ${LIBDIR}/ffmpeg/lib/libwebp.a)
|
||||||
|
endif()
|
||||||
set(OPENIMAGEIO_LIBPATH
|
set(OPENIMAGEIO_LIBPATH
|
||||||
${OPENIMAGEIO}/lib
|
${OPENIMAGEIO}/lib
|
||||||
${JPEG_LIBPATH}
|
${JPEG_LIBPATH}
|
||||||
@@ -380,6 +410,26 @@ if(WITH_CYCLES_OSL)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(WITH_CRASHPAD)
|
||||||
|
set(CRASHPAD_DIR ${LIBDIR}/crashpad)
|
||||||
|
find_library(CRASHPAD_LIB_CLIENT NAMES client PATHS ${CRASHPAD_DIR}/lib)
|
||||||
|
find_library(CRASHPAD_LIB_BASE NAMES base PATHS ${CRASHPAD_DIR}/lib)
|
||||||
|
find_library(CRASHPAD_LIB_UTIL NAMES util PATHS ${CRASHPAD_DIR}/lib)
|
||||||
|
|
||||||
|
list(APPEND CRASHPAD_LIBRARIES ${CRASHPAD_LIB_CLIENT} ${CRASHPAD_LIB_BASE} ${CRASHPAD_LIB_UTIL})
|
||||||
|
|
||||||
|
find_path(CRASHPAD_INCLUDE_DIRS build/build_config.h PATHS ${CRASHPAD_DIR}/include)
|
||||||
|
|
||||||
|
if(CRASHPAD_INCLUDE_DIRS AND CRASHPAD_LIBRARIES)
|
||||||
|
set(WITH_CRASHPAD TRUE)
|
||||||
|
else()
|
||||||
|
message(STATUS "Crashpad not found")
|
||||||
|
set(WITH_CRASHPAD FALSE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(WITH_OPENMP)
|
if(WITH_OPENMP)
|
||||||
execute_process(COMMAND ${CMAKE_C_COMPILER} --version OUTPUT_VARIABLE COMPILER_VENDOR)
|
execute_process(COMMAND ${CMAKE_C_COMPILER} --version OUTPUT_VARIABLE COMPILER_VENDOR)
|
||||||
string(SUBSTRING "${COMPILER_VENDOR}" 0 5 VENDOR_NAME) # truncate output
|
string(SUBSTRING "${COMPILER_VENDOR}" 0 5 VENDOR_NAME) # truncate output
|
||||||
@@ -431,8 +481,10 @@ set(PLATFORM_LINKFLAGS
|
|||||||
"${PLATFORM_LINKFLAGS} -Xlinker -unexported_symbols_list -Xlinker ${CMAKE_SOURCE_DIR}/source/creator/osx_locals.map"
|
"${PLATFORM_LINKFLAGS} -Xlinker -unexported_symbols_list -Xlinker ${CMAKE_SOURCE_DIR}/source/creator/osx_locals.map"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
|
if(WITH_CXX11)
|
||||||
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -stdlib=libc++")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
|
||||||
|
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -stdlib=libc++")
|
||||||
|
endif()
|
||||||
|
|
||||||
# Suppress ranlib "has no symbols" warnings (workaround for T48250)
|
# Suppress ranlib "has no symbols" warnings (workaround for T48250)
|
||||||
set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
|
set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
|
||||||
|
@@ -101,14 +101,21 @@ if(OSX_SYSTEM MATCHES 10.9)
|
|||||||
set(CMAKE_FIND_ROOT_PATH ${CMAKE_OSX_SYSROOT})
|
set(CMAKE_FIND_ROOT_PATH ${CMAKE_OSX_SYSROOT})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# 10.9 is our min. target, if you use higher sdk, weak linking happens
|
if(WITH_CXX11)
|
||||||
if(CMAKE_OSX_DEPLOYMENT_TARGET)
|
# 10.9 is our min. target, if you use higher sdk, weak linking happens
|
||||||
|
if(CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||||
if(${CMAKE_OSX_DEPLOYMENT_TARGET} VERSION_LESS 10.9)
|
if(${CMAKE_OSX_DEPLOYMENT_TARGET} VERSION_LESS 10.9)
|
||||||
message(STATUS "Setting deployment target to 10.9, lower versions are incompatible with WITH_CXX11")
|
message(STATUS "Setting deployment target to 10.9, lower versions are incompatible with WITH_CXX11")
|
||||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "" FORCE)
|
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "" FORCE)
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "" FORCE)
|
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "" FORCE)
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
if(NOT CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||||
|
# 10.6 is our min. target, if you use higher sdk, weak linking happens
|
||||||
|
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.6" CACHE STRING "" FORCE)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT ${CMAKE_GENERATOR} MATCHES "Xcode")
|
if(NOT ${CMAKE_GENERATOR} MATCHES "Xcode")
|
||||||
@@ -117,3 +124,12 @@ if(NOT ${CMAKE_GENERATOR} MATCHES "Xcode")
|
|||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||||
add_definitions("-DMACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
add_definitions("-DMACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
macro(apple_check_quicktime)
|
||||||
|
# QuickTime framework is no longer available in SDK 10.12+
|
||||||
|
if(WITH_CODEC_QUICKTIME AND ${OSX_SYSTEM} VERSION_GREATER 10.11)
|
||||||
|
set(WITH_CODEC_QUICKTIME OFF CACHE BOOL "" FORCE)
|
||||||
|
message(STATUS "QuickTime not supported by SDK ${OSX_SYSTEM}, disabling WITH_CODEC_QUICKTIME")
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
@@ -23,6 +23,19 @@
|
|||||||
|
|
||||||
# Libraries configuration for any *nix system including Linux and Unix.
|
# Libraries configuration for any *nix system including Linux and Unix.
|
||||||
|
|
||||||
|
# Detect precompiled library directory
|
||||||
|
set(LIBDIR_NAME ${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR})
|
||||||
|
string(TOLOWER ${LIBDIR_NAME} LIBDIR_NAME)
|
||||||
|
set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_NAME})
|
||||||
|
|
||||||
|
if(EXISTS ${LIBDIR})
|
||||||
|
file(GLOB LIB_SUBDIRS ${LIBDIR}/*)
|
||||||
|
set(CMAKE_PREFIX_PATH ${LIB_SUBDIRS})
|
||||||
|
set(WITH_STATIC_LIBS ON)
|
||||||
|
set(WITH_OPENMP_STATIC ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Wrapper to prefer static libraries
|
||||||
macro(find_package_wrapper)
|
macro(find_package_wrapper)
|
||||||
if(WITH_STATIC_LIBS)
|
if(WITH_STATIC_LIBS)
|
||||||
find_package_static(${ARGV})
|
find_package_static(${ARGV})
|
||||||
@@ -31,11 +44,28 @@ macro(find_package_wrapper)
|
|||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
find_package_wrapper(JPEG REQUIRED)
|
find_package_wrapper(JPG REQUIRED)
|
||||||
find_package_wrapper(PNG REQUIRED)
|
find_package_wrapper(PNG REQUIRED)
|
||||||
find_package_wrapper(ZLIB REQUIRED)
|
find_package_wrapper(ZLIB REQUIRED)
|
||||||
find_package_wrapper(Freetype REQUIRED)
|
find_package_wrapper(Freetype REQUIRED)
|
||||||
|
|
||||||
|
if(WITH_CRASHPAD)
|
||||||
|
set(CRASHPAD_DIR ${LIBDIR}/breakpad)
|
||||||
|
find_library(CRASHPAD_LIB_CLIENT NAMES libbreakpad_client.a PATHS ${CRASHPAD_DIR}/lib)
|
||||||
|
find_library(CRASHPAD_LIB NAMES libbreakpad.a PATHS ${CRASHPAD_DIR}/lib)
|
||||||
|
|
||||||
|
list(APPEND CRASHPAD_LIBRARIES ${CRASHPAD_LIB_CLIENT} ${CRASHPAD_LIB})
|
||||||
|
|
||||||
|
find_path(CRASHPAD_INCLUDE_DIRS client/linux/handler/exception_handler.h PATHS ${CRASHPAD_DIR}/include)
|
||||||
|
|
||||||
|
if(CRASHPAD_INCLUDE_DIRS AND CRASHPAD_LIBRARIES)
|
||||||
|
set(WITH_CRASHPAD TRUE)
|
||||||
|
else()
|
||||||
|
message(STATUS "Crashpad not found")
|
||||||
|
set(WITH_CRASHPAD FALSE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WITH_LZO AND WITH_SYSTEM_LZO)
|
if(WITH_LZO AND WITH_SYSTEM_LZO)
|
||||||
find_package_wrapper(LZO)
|
find_package_wrapper(LZO)
|
||||||
if(NOT LZO_FOUND)
|
if(NOT LZO_FOUND)
|
||||||
@@ -141,8 +171,15 @@ if(WITH_CODEC_SNDFILE)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_CODEC_FFMPEG)
|
if(WITH_CODEC_FFMPEG)
|
||||||
|
if(EXISTS ${LIBDIR})
|
||||||
|
# For precompiled lib directory, all ffmpeg dependencies are in the same folder
|
||||||
|
file(GLOB ffmpeg_libs ${LIBDIR}/ffmpeg/lib/*.a ${LIBDIR}/sndfile/lib/*.a)
|
||||||
|
set(FFMPEG ${LIBDIR}/ffmpeg CACHE PATH "FFMPEG Directory")
|
||||||
|
set(FFMPEG_LIBRARIES ${ffmpeg_libs} ${ffmpeg_libs} CACHE STRING "FFMPEG Libraries")
|
||||||
|
else()
|
||||||
set(FFMPEG /usr CACHE PATH "FFMPEG Directory")
|
set(FFMPEG /usr CACHE PATH "FFMPEG Directory")
|
||||||
set(FFMPEG_LIBRARIES avformat avcodec avutil avdevice swscale CACHE STRING "FFMPEG Libraries")
|
set(FFMPEG_LIBRARIES avformat avcodec avutil avdevice swscale CACHE STRING "FFMPEG Libraries")
|
||||||
|
endif()
|
||||||
|
|
||||||
mark_as_advanced(FFMPEG)
|
mark_as_advanced(FFMPEG)
|
||||||
|
|
||||||
@@ -217,10 +254,14 @@ endif()
|
|||||||
if(WITH_OPENVDB)
|
if(WITH_OPENVDB)
|
||||||
find_package_wrapper(OpenVDB)
|
find_package_wrapper(OpenVDB)
|
||||||
find_package_wrapper(TBB)
|
find_package_wrapper(TBB)
|
||||||
|
find_package_wrapper(Blosc)
|
||||||
if(NOT OPENVDB_FOUND OR NOT TBB_FOUND)
|
if(NOT OPENVDB_FOUND OR NOT TBB_FOUND)
|
||||||
set(WITH_OPENVDB OFF)
|
set(WITH_OPENVDB OFF)
|
||||||
set(WITH_OPENVDB_BLOSC OFF)
|
set(WITH_OPENVDB_BLOSC OFF)
|
||||||
message(STATUS "OpenVDB not found, disabling it")
|
message(STATUS "OpenVDB not found, disabling it")
|
||||||
|
elseif(NOT BLOSC_FOUND)
|
||||||
|
set(WITH_OPENVDB_BLOSC OFF)
|
||||||
|
message(STATUS "Blosc not found, disabling it")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -329,6 +370,14 @@ if(WITH_OPENCOLORIO)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_LLVM)
|
if(WITH_LLVM)
|
||||||
|
# Symbol conflicts with same UTF library used by OpenCollada
|
||||||
|
if(EXISTS ${LIBDIR})
|
||||||
|
set(LLVM_STATIC ON)
|
||||||
|
if(WITH_OPENCOLLADA)
|
||||||
|
list(REMOVE_ITEM OPENCOLLADA_LIBRARIES ${OPENCOLLADA_UTF_LIBRARY})
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
find_package_wrapper(LLVM)
|
find_package_wrapper(LLVM)
|
||||||
|
|
||||||
if(NOT LLVM_FOUND)
|
if(NOT LLVM_FOUND)
|
||||||
@@ -358,7 +407,11 @@ if(WITH_OPENSUBDIV OR WITH_CYCLES_OPENSUBDIV)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed
|
# OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed
|
||||||
list(APPEND PLATFORM_LINKLIBS -lutil -lc -lm)
|
if(HAIKU)
|
||||||
|
list(APPEND PLATFORM_LINKLIBS -lnetwork)
|
||||||
|
else()
|
||||||
|
list(APPEND PLATFORM_LINKLIBS -lutil -lc -lm)
|
||||||
|
endif()
|
||||||
|
|
||||||
find_package(Threads REQUIRED)
|
find_package(Threads REQUIRED)
|
||||||
list(APPEND PLATFORM_LINKLIBS ${CMAKE_THREAD_LIBS_INIT})
|
list(APPEND PLATFORM_LINKLIBS ${CMAKE_THREAD_LIBS_INIT})
|
||||||
|
@@ -97,15 +97,20 @@ add_definitions(-D_WIN32_WINNT=0x600)
|
|||||||
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)
|
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)
|
||||||
include(InstallRequiredSystemLibraries)
|
include(InstallRequiredSystemLibraries)
|
||||||
|
|
||||||
|
if(WITH_CRASHPAD)
|
||||||
|
set(PDB_INFO_OVERRIDE_FLAGS "/Zi")
|
||||||
|
set(PDB_INFO_OVERRIDE_LINKER_FLAGS "/DEBUG /OPT:REF /OPT:ICF")
|
||||||
|
endif()
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /nologo /J /Gd /MP /EHsc")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /nologo /J /Gd /MP /EHsc")
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /nologo /J /Gd /MP")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /nologo /J /Gd /MP")
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
|
||||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MTd")
|
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MTd")
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
|
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT ${PDB_INFO_OVERRIDE_FLAGS}")
|
||||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MT")
|
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MT ${PDB_INFO_OVERRIDE_FLAGS}")
|
||||||
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /MT")
|
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /MT ${PDB_INFO_OVERRIDE_FLAGS}")
|
||||||
set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} /MT")
|
set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} /MT ${PDB_INFO_OVERRIDE_FLAGS}")
|
||||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MT")
|
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MT")
|
||||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /MT")
|
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /MT")
|
||||||
|
|
||||||
@@ -123,6 +128,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(PLATFORM_LINKFLAGS_DEBUG "/IGNORE:4099 /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libc.lib")
|
set(PLATFORM_LINKFLAGS_DEBUG "/IGNORE:4099 /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libc.lib")
|
||||||
|
set(PLATFORM_LINKFLAGS_RELEASE "${PLATFORM_LINKFLAGS} ${PDB_INFO_OVERRIDE_LINKER_FLAGS}")
|
||||||
|
|
||||||
if(NOT DEFINED LIBDIR)
|
if(NOT DEFINED LIBDIR)
|
||||||
|
|
||||||
@@ -134,10 +140,7 @@ if(NOT DEFINED LIBDIR)
|
|||||||
message(STATUS "32 bit compiler detected.")
|
message(STATUS "32 bit compiler detected.")
|
||||||
set(LIBDIR_BASE "windows")
|
set(LIBDIR_BASE "windows")
|
||||||
endif()
|
endif()
|
||||||
if(MSVC_VERSION EQUAL 1911)
|
if(MSVC_VERSION GREATER 1909)
|
||||||
message(STATUS "Visual Studio 2017 detected.")
|
|
||||||
set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc14)
|
|
||||||
elseif(MSVC_VERSION EQUAL 1910)
|
|
||||||
message(STATUS "Visual Studio 2017 detected.")
|
message(STATUS "Visual Studio 2017 detected.")
|
||||||
set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc14)
|
set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc14)
|
||||||
elseif(MSVC_VERSION EQUAL 1900)
|
elseif(MSVC_VERSION EQUAL 1900)
|
||||||
@@ -162,6 +165,20 @@ foreach(child ${children})
|
|||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
if(WITH_CRASHPAD)
|
||||||
|
set(CRASHPAD ${LIBDIR}/crashpad)
|
||||||
|
set(CRASHPAD_INCLUDE_DIRS ${CRASHPAD}/include)
|
||||||
|
set(CRASHPAD_LIBPATH ${CRASHPAD}/lib)
|
||||||
|
set(CRASHPAD_LIBRARIES
|
||||||
|
debug ${CRASHPAD_LIBPATH}/baseD.lib
|
||||||
|
debug ${CRASHPAD_LIBPATH}/crashpad_clientD.lib
|
||||||
|
debug ${CRASHPAD_LIBPATH}/crashpad_utilD.lib
|
||||||
|
optimized ${CRASHPAD_LIBPATH}/base.lib
|
||||||
|
optimized ${CRASHPAD_LIBPATH}/crashpad_client.lib
|
||||||
|
optimized ${CRASHPAD_LIBPATH}/crashpad_util.lib
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(ZLIB_INCLUDE_DIRS ${LIBDIR}/zlib/include)
|
set(ZLIB_INCLUDE_DIRS ${LIBDIR}/zlib/include)
|
||||||
set(ZLIB_LIBRARIES ${LIBDIR}/zlib/lib/libz_st.lib)
|
set(ZLIB_LIBRARIES ${LIBDIR}/zlib/lib/libz_st.lib)
|
||||||
set(ZLIB_INCLUDE_DIR ${LIBDIR}/zlib/include)
|
set(ZLIB_INCLUDE_DIR ${LIBDIR}/zlib/include)
|
||||||
@@ -302,7 +319,7 @@ if(WITH_JACK)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_PYTHON)
|
if(WITH_PYTHON)
|
||||||
set(PYTHON_VERSION 3.6) # CACHE STRING)
|
set(PYTHON_VERSION 3.5) # CACHE STRING)
|
||||||
|
|
||||||
string(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
|
string(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
|
||||||
# Use shared libs for vc2008 and vc2010 until we actually have vc2010 libs
|
# Use shared libs for vc2008 and vc2010 until we actually have vc2010 libs
|
||||||
|
@@ -53,11 +53,7 @@ echo "OK"
|
|||||||
# Create the tarball
|
# Create the tarball
|
||||||
cd "$blender_srcdir"
|
cd "$blender_srcdir"
|
||||||
echo -n "Creating archive: \"$BASE_DIR/$TARBALL\" ..."
|
echo -n "Creating archive: \"$BASE_DIR/$TARBALL\" ..."
|
||||||
tar --transform "s,^,blender-$VERSION/,g" \
|
GZIP=-9 tar --transform "s,^,blender-$VERSION/,g" -zcf "$BASE_DIR/$TARBALL" -T "$BASE_DIR/$MANIFEST"
|
||||||
--use-compress-program="gzip --best" \
|
|
||||||
--create \
|
|
||||||
--file="$BASE_DIR/$TARBALL" \
|
|
||||||
--files-from="$BASE_DIR/$MANIFEST"
|
|
||||||
echo "OK"
|
echo "OK"
|
||||||
|
|
||||||
|
|
||||||
|
@@ -160,6 +160,9 @@
|
|||||||
* merged in docs.
|
* merged in docs.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/** \defgroup quicktime QuickTime
|
||||||
|
* \ingroup blender
|
||||||
|
|
||||||
/** \defgroup gui GUI */
|
/** \defgroup gui GUI */
|
||||||
|
|
||||||
/** \defgroup wm Window Manager
|
/** \defgroup wm Window Manager
|
||||||
|
170
doc/guides/python-dev-guide.txt
Normal file
170
doc/guides/python-dev-guide.txt
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
Simple Blender Python Developer's Guide
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
This is an outline for a future guide yet to be written. It is meant for
|
||||||
|
programmers wanting to understand and maybe help with the embedding of Python
|
||||||
|
inside Blender.
|
||||||
|
|
||||||
|
I - Introduction
|
||||||
|
|
||||||
|
We could praise Python here for its many qualities, but it's probably better
|
||||||
|
to just give some links:
|
||||||
|
|
||||||
|
The main site is at www.python.org , with documentation at www.python.org/doc/
|
||||||
|
|
||||||
|
Also worth of mention: it's an interpreted language and is available for
|
||||||
|
many different systems. The download includes the interpreter, many modules
|
||||||
|
(think libs), good documentation and some programs / examples. If you use
|
||||||
|
linux, there's a high chance you already have Python installed, just try
|
||||||
|
"man python".
|
||||||
|
|
||||||
|
The reason for embedding a language environment inside Blender is to give
|
||||||
|
users the ability to access the program's internal data and functionality.
|
||||||
|
This can be used to import / export (from / to other 2d / 3d formats) or
|
||||||
|
change the data (to create new objects procedurally, among many other
|
||||||
|
interesting possibilities). Script writers (Blender Python programmers) can
|
||||||
|
also expand Blender in new ways, adding new features on-the-fly, without having
|
||||||
|
to recompile it. It is usually much easier and faster to write scripts in
|
||||||
|
Python than to code the equivalent in C.
|
||||||
|
|
||||||
|
II - Reference material:
|
||||||
|
|
||||||
|
There are two important texts for us in the documentation that comes
|
||||||
|
with Python ( docs also available online at www.python.org ):
|
||||||
|
|
||||||
|
- Extending and Embedding (tutorial for C/C++ programmers)
|
||||||
|
|
||||||
|
and specially
|
||||||
|
|
||||||
|
- Python/C API.
|
||||||
|
|
||||||
|
You can read the first one to get a feel for how things are done
|
||||||
|
(reference counting is probably the most important part), but the second
|
||||||
|
doc is a must. Specially useful as a fast reference is its Index, at letter
|
||||||
|
P, where all commands are.
|
||||||
|
|
||||||
|
Specially useful commands are Py_BuildValue and the family of parsing
|
||||||
|
functions, PyArg_Parse* (PyArg_Parse(), PyArg_ParseTuple(),
|
||||||
|
PyArg_ParseTupleAndKeywords()). Py_BuildValue is usually the best way to make
|
||||||
|
Python Objects (the 'variables' that the Python Interpreter understands)
|
||||||
|
out of C ones. The PyArg_Parse* functions do the opposite, they parse
|
||||||
|
Python Objects to C variables.
|
||||||
|
|
||||||
|
So, understand PyArg_Parse* functions, Py_BuildValue and reference
|
||||||
|
counting. The first doc has a good discussion about them.
|
||||||
|
|
||||||
|
- C knowledge is also necessary, of course, use your favorite resource.
|
||||||
|
|
||||||
|
- The Blender 2.25 API documentation ( www.blender.org ) is, along with
|
||||||
|
the source, our basic API ref.
|
||||||
|
|
||||||
|
III - Directories
|
||||||
|
|
||||||
|
The previous Blender Python API's are spread in blender/intern/python
|
||||||
|
and the C part of the current one, bpython, is at
|
||||||
|
blender/source/blender/bpython/, specially in intern/. The current
|
||||||
|
solution is a Python wrapper on top of this bpython one, at
|
||||||
|
blender/intern/python/modules/Blender/
|
||||||
|
|
||||||
|
Note: since it's in Python, they needed the freeze Python utility, a
|
||||||
|
process/program that creates stand-alone executables out of Python
|
||||||
|
source files -- that is, it packs together an interpreter, the needed
|
||||||
|
modules and the source of a Python program so that users of this program
|
||||||
|
don't need to have the Python interpreter already installed in their
|
||||||
|
machines to run the program -- Blender, in this case.
|
||||||
|
|
||||||
|
The new implementation is pure C, so we won't need to "freeze" it.
|
||||||
|
|
||||||
|
Another important dir for starters is blender/source/blender/makesdna,
|
||||||
|
where the headers with Blender structs lie.
|
||||||
|
|
||||||
|
IV - Experimental Python
|
||||||
|
|
||||||
|
The new implementation, currently referred to as experimental python -
|
||||||
|
exppython - was started by Michel Selten. He chose to solve the mess in
|
||||||
|
Blender Python by starting over from scratch, in C, but keeping API
|
||||||
|
compatibility with the current 2.25 API used by Blender.
|
||||||
|
|
||||||
|
It is in blender/source/blender/python , more specifically inside
|
||||||
|
api2_2x/
|
||||||
|
|
||||||
|
To make it clear, exppython is the new implementation being worked on. It
|
||||||
|
will possibly become the de-facto implementation in Blender 2.28, the next
|
||||||
|
Blender version. Currently, Blender still comes with the same implementation
|
||||||
|
found in the 2.25 version of the program. So we call that the 2.25
|
||||||
|
implementation, or bpython.
|
||||||
|
|
||||||
|
BPython had plenty of "macro magic", lot's of complicate #define's, etc.,
|
||||||
|
since a lot of the embedding work is quite repetitive. But that makes it
|
||||||
|
much harder for newbies to jump in and learn, so the new files in exppython
|
||||||
|
avoid that.
|
||||||
|
|
||||||
|
This means: Blender, Object, Camera, Lamp, Image, Text, Window modules
|
||||||
|
(the files have the same names, ending obviously with .c and .h)
|
||||||
|
|
||||||
|
To speed things up, some independent parts of bpython are being
|
||||||
|
integrated directly into exppython. That already happened with Draw and
|
||||||
|
BGL, both taken from opy_draw.c in the bpython/intern dir. The same is
|
||||||
|
happening with NMesh (Mesh is written in Python and imports NMesh to
|
||||||
|
extend / change its functionality).
|
||||||
|
|
||||||
|
For a good example of dexterity with macros (cheers to the NaN
|
||||||
|
programmer(s)!), look at BGL.[ch], the OpenGL API wrapper. The defines
|
||||||
|
are in the header.
|
||||||
|
|
||||||
|
Besides keeping compatibility with the 2.25 API, there are already some
|
||||||
|
additions to exppython:
|
||||||
|
|
||||||
|
- some modules have access to more variables than 2.25 had;
|
||||||
|
- there are more method functions and the access is safer;
|
||||||
|
- the file selector (or file browser, if you prefer) is back:
|
||||||
|
It's now in the Window module, along with an image selector, too.
|
||||||
|
- there are totally new modules, unavailable in 2.25:
|
||||||
|
Fellow new developers joining our team are contributing new modules
|
||||||
|
that have been requested by the community for a long time.
|
||||||
|
|
||||||
|
|
||||||
|
V - Coding
|
||||||
|
|
||||||
|
The Camera module is a good reference, since it is like most others, in
|
||||||
|
terms of programming, but is smaller and simple. It's in Camera.c and
|
||||||
|
Camera.h . To have it working, it was also necessary to include a line to
|
||||||
|
the end of Blender.c (registering it as a Blender submodule) and another to
|
||||||
|
modules.h (declaring its init and CreateObject method)
|
||||||
|
|
||||||
|
Currently, one of our conventions is to prepend M_ to module functions,
|
||||||
|
doc strings, etc. and C_ to the new types we had to create for Python,
|
||||||
|
like C_Camera, C_Lamp, etc.
|
||||||
|
|
||||||
|
If you look at Camera.[ch], you'll find code for creating the Camera
|
||||||
|
module and the Camera "type", with all its methods and access policies.
|
||||||
|
It's really a new type defined in Python, like PyInt or PyFloat,
|
||||||
|
PyString, etc. In practice, it's a "thin" (because it doesn't make
|
||||||
|
copies of the variables) wrapper for the Blender Camera Data Object.
|
||||||
|
|
||||||
|
A note about Blender: objects in Blender share a common base, the
|
||||||
|
Object, whose attributes are things like the matrix, the location, the
|
||||||
|
rotation, the size, etc. A Camera is actually an Object of type Camera
|
||||||
|
(which means that its "data" field points to a Camera Data obj) and a
|
||||||
|
Camera Data object, which is the specific camera part of the object
|
||||||
|
(attributes like lens, clip start, etc.). Same for other objects, like
|
||||||
|
Lamp, Mesh, etc.
|
||||||
|
|
||||||
|
That's why C_Camera is a wrapper for the Blender Camera **Data**
|
||||||
|
object. The full wrapper is Object("Camera") linked with
|
||||||
|
Camera("camera_name").
|
||||||
|
|
||||||
|
How to write a new module for a simple object? Use Camera.[ch] as
|
||||||
|
templates, check the specifics of your object in the makesdna dir
|
||||||
|
(for example, the camera one is DNA_camera_types.h) and make the
|
||||||
|
necessary changes.
|
||||||
|
|
||||||
|
If you want to help exppython and in the process possibly learn more about
|
||||||
|
embedding, the Python/C API and Blender internals, there's this mailing list:
|
||||||
|
|
||||||
|
Bf-python mailing list
|
||||||
|
Bf-python@blender.org
|
||||||
|
http://www.blender.org/mailman/listinfo/bf-python
|
||||||
|
|
||||||
|
There you can ask what hasn't been done yet, get help, make suggestions for
|
||||||
|
new features we should consider, send bug reports, etc.
|
@@ -12,7 +12,7 @@ bm = bmesh.new()
|
|||||||
bmesh.ops.create_circle(
|
bmesh.ops.create_circle(
|
||||||
bm,
|
bm,
|
||||||
cap_ends=False,
|
cap_ends=False,
|
||||||
radius=0.2,
|
diameter=0.2,
|
||||||
segments=8)
|
segments=8)
|
||||||
|
|
||||||
|
|
||||||
|
38
doc/python_api/examples/bpy.types.Operator.6.py
Normal file
38
doc/python_api/examples/bpy.types.Operator.6.py
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
"""
|
||||||
|
Enum Search Popup
|
||||||
|
+++++++++++++++++
|
||||||
|
|
||||||
|
You may want to have an operator prompt the user to select an item
|
||||||
|
from a search field, this can be done using :class:`bpy.types.Operator.invoke_search_popup`.
|
||||||
|
"""
|
||||||
|
import bpy
|
||||||
|
from bpy.props import EnumProperty
|
||||||
|
|
||||||
|
|
||||||
|
class SearchEnumOperator(bpy.types.Operator):
|
||||||
|
bl_idname = "object.search_enum_operator"
|
||||||
|
bl_label = "Search Enum Operator"
|
||||||
|
bl_property = "my_search"
|
||||||
|
|
||||||
|
my_search = EnumProperty(
|
||||||
|
name="My Search",
|
||||||
|
items=(
|
||||||
|
('FOO', "Foo", ""),
|
||||||
|
('BAR', "Bar", ""),
|
||||||
|
('BAZ', "Baz", ""),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
def execute(self, context):
|
||||||
|
self.report({'INFO'}, "Selected:" + self.my_search)
|
||||||
|
return {'FINISHED'}
|
||||||
|
|
||||||
|
def invoke(self, context, event):
|
||||||
|
context.window_manager.invoke_search_popup(self)
|
||||||
|
return {'RUNNING_MODAL'}
|
||||||
|
|
||||||
|
|
||||||
|
bpy.utils.register_class(SearchEnumOperator)
|
||||||
|
|
||||||
|
# test call
|
||||||
|
bpy.ops.object.search_enum_operator('INVOKE_DEFAULT')
|
@@ -417,19 +417,28 @@ MODULE_GROUPING = {
|
|||||||
# -------------------------------BLENDER----------------------------------------
|
# -------------------------------BLENDER----------------------------------------
|
||||||
|
|
||||||
blender_version_strings = [str(v) for v in bpy.app.version]
|
blender_version_strings = [str(v) for v in bpy.app.version]
|
||||||
|
is_release = bpy.app.version_cycle in {"rc", "release"}
|
||||||
|
|
||||||
# converting bytes to strings, due to T30154
|
# converting bytes to strings, due to T30154
|
||||||
BLENDER_REVISION = str(bpy.app.build_hash, 'utf_8')
|
BLENDER_REVISION = str(bpy.app.build_hash, 'utf_8')
|
||||||
BLENDER_DATE = str(bpy.app.build_date, 'utf_8')
|
BLENDER_DATE = str(bpy.app.build_date, 'utf_8')
|
||||||
|
|
||||||
BLENDER_VERSION_DOTS = ".".join(blender_version_strings) # '2.62.1'
|
if is_release:
|
||||||
|
# '2.62a'
|
||||||
|
BLENDER_VERSION_DOTS = ".".join(blender_version_strings[:2]) + bpy.app.version_char
|
||||||
|
else:
|
||||||
|
# '2.62.1'
|
||||||
|
BLENDER_VERSION_DOTS = ".".join(blender_version_strings)
|
||||||
if BLENDER_REVISION != "Unknown":
|
if BLENDER_REVISION != "Unknown":
|
||||||
BLENDER_VERSION_DOTS += " " + BLENDER_REVISION # '2.62.1 SHA1'
|
# '2.62a SHA1' (release) or '2.62.1 SHA1' (non-release)
|
||||||
|
BLENDER_VERSION_DOTS += " " + BLENDER_REVISION
|
||||||
|
|
||||||
BLENDER_VERSION_PATH = "_".join(blender_version_strings) # '2_62_1'
|
if is_release:
|
||||||
if bpy.app.version_cycle in {"rc", "release"}:
|
|
||||||
# '2_62a_release'
|
# '2_62a_release'
|
||||||
BLENDER_VERSION_PATH = "%s%s_release" % ("_".join(blender_version_strings[:2]), bpy.app.version_char)
|
BLENDER_VERSION_PATH = "%s%s_release" % ("_".join(blender_version_strings[:2]), bpy.app.version_char)
|
||||||
|
else:
|
||||||
|
# '2_62_1'
|
||||||
|
BLENDER_VERSION_PATH = "_".join(blender_version_strings)
|
||||||
|
|
||||||
# --------------------------DOWNLOADABLE FILES----------------------------------
|
# --------------------------DOWNLOADABLE FILES----------------------------------
|
||||||
|
|
||||||
@@ -1010,9 +1019,9 @@ def pymodule2sphinx(basepath, module_name, module, title):
|
|||||||
context_type_map = {
|
context_type_map = {
|
||||||
"active_base": ("ObjectBase", False),
|
"active_base": ("ObjectBase", False),
|
||||||
"active_bone": ("EditBone", False),
|
"active_bone": ("EditBone", False),
|
||||||
"active_gpencil_brush": ("GPencilSculptBrush", False),
|
|
||||||
"active_gpencil_frame": ("GreasePencilLayer", True),
|
"active_gpencil_frame": ("GreasePencilLayer", True),
|
||||||
"active_gpencil_layer": ("GPencilLayer", True),
|
"active_gpencil_layer": ("GPencilLayer", True),
|
||||||
|
"active_gpencil_brush": ("GPencilSculptBrush", False),
|
||||||
"active_gpencil_palette": ("GPencilPalette", True),
|
"active_gpencil_palette": ("GPencilPalette", True),
|
||||||
"active_gpencil_palettecolor": ("GPencilPaletteColor", True),
|
"active_gpencil_palettecolor": ("GPencilPaletteColor", True),
|
||||||
"active_node": ("Node", False),
|
"active_node": ("Node", False),
|
||||||
@@ -1063,7 +1072,6 @@ context_type_map = {
|
|||||||
"selected_bones": ("EditBone", True),
|
"selected_bones": ("EditBone", True),
|
||||||
"selected_editable_bases": ("ObjectBase", True),
|
"selected_editable_bases": ("ObjectBase", True),
|
||||||
"selected_editable_bones": ("EditBone", True),
|
"selected_editable_bones": ("EditBone", True),
|
||||||
"selected_editable_fcurves": ("FCurce", True),
|
|
||||||
"selected_editable_objects": ("Object", True),
|
"selected_editable_objects": ("Object", True),
|
||||||
"selected_editable_sequences": ("Sequence", True),
|
"selected_editable_sequences": ("Sequence", True),
|
||||||
"selected_nodes": ("Node", True),
|
"selected_nodes": ("Node", True),
|
||||||
|
5
extern/CMakeLists.txt
vendored
5
extern/CMakeLists.txt
vendored
@@ -94,6 +94,10 @@ if(WITH_X11 AND WITH_GHOST_XDND)
|
|||||||
add_subdirectory(xdnd)
|
add_subdirectory(xdnd)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(WITH_VORO)
|
||||||
|
add_subdirectory(voro++)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WITH_LIBMV)
|
if(WITH_LIBMV)
|
||||||
add_subdirectory(ceres)
|
add_subdirectory(ceres)
|
||||||
endif()
|
endif()
|
||||||
@@ -103,6 +107,7 @@ if(WITH_LIBMV OR WITH_GTESTS OR (WITH_CYCLES AND WITH_CYCLES_LOGGING))
|
|||||||
add_subdirectory(gflags)
|
add_subdirectory(gflags)
|
||||||
endif()
|
endif()
|
||||||
add_subdirectory(glog)
|
add_subdirectory(glog)
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_GTESTS)
|
if(WITH_GTESTS)
|
||||||
|
4
extern/bullet2/CMakeLists.txt
vendored
4
extern/bullet2/CMakeLists.txt
vendored
@@ -130,6 +130,7 @@ set(SRC
|
|||||||
src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp
|
src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp
|
||||||
|
|
||||||
src/BulletDynamics/Character/btKinematicCharacterController.cpp
|
src/BulletDynamics/Character/btKinematicCharacterController.cpp
|
||||||
|
src/BulletDynamics/ConstraintSolver/btCompoundConstraint.cpp
|
||||||
src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp
|
src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp
|
||||||
src/BulletDynamics/ConstraintSolver/btContactConstraint.cpp
|
src/BulletDynamics/ConstraintSolver/btContactConstraint.cpp
|
||||||
src/BulletDynamics/ConstraintSolver/btFixedConstraint.cpp
|
src/BulletDynamics/ConstraintSolver/btFixedConstraint.cpp
|
||||||
@@ -148,7 +149,9 @@ set(SRC
|
|||||||
src/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp
|
src/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp
|
||||||
src/BulletDynamics/Dynamics/Bullet-C-API.cpp
|
src/BulletDynamics/Dynamics/Bullet-C-API.cpp
|
||||||
src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp
|
src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp
|
||||||
|
src/BulletDynamics/Dynamics/btFractureDynamicsWorld.cpp
|
||||||
src/BulletDynamics/Dynamics/btRigidBody.cpp
|
src/BulletDynamics/Dynamics/btRigidBody.cpp
|
||||||
|
src/BulletDynamics/Dynamics/btFractureBody.cpp
|
||||||
src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp
|
src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp
|
||||||
src/BulletDynamics/Featherstone/btMultiBody.cpp
|
src/BulletDynamics/Featherstone/btMultiBody.cpp
|
||||||
src/BulletDynamics/Featherstone/btMultiBodyConstraint.cpp
|
src/BulletDynamics/Featherstone/btMultiBodyConstraint.cpp
|
||||||
@@ -314,6 +317,7 @@ set(SRC
|
|||||||
|
|
||||||
src/BulletDynamics/Character/btCharacterControllerInterface.h
|
src/BulletDynamics/Character/btCharacterControllerInterface.h
|
||||||
src/BulletDynamics/Character/btKinematicCharacterController.h
|
src/BulletDynamics/Character/btKinematicCharacterController.h
|
||||||
|
src/BulletDynamics/ConstraintSolver/btCompoundConstraint.h
|
||||||
src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.h
|
src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.h
|
||||||
src/BulletDynamics/ConstraintSolver/btConstraintSolver.h
|
src/BulletDynamics/ConstraintSolver/btConstraintSolver.h
|
||||||
src/BulletDynamics/ConstraintSolver/btContactConstraint.h
|
src/BulletDynamics/ConstraintSolver/btContactConstraint.h
|
||||||
|
@@ -80,6 +80,11 @@ class btUnionFind
|
|||||||
|
|
||||||
void unite(int p, int q)
|
void unite(int p, int q)
|
||||||
{
|
{
|
||||||
|
if (p == -1 && q == -1) {
|
||||||
|
//error case... should not happen but happens ?
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
int i = find(p), j = find(q);
|
int i = find(p), j = find(q);
|
||||||
if (i == j)
|
if (i == j)
|
||||||
return;
|
return;
|
||||||
|
8
extern/bullet2/src/BulletDynamics/ConstraintSolver/btCompoundConstraint.cpp
vendored
Normal file
8
extern/bullet2/src/BulletDynamics/ConstraintSolver/btCompoundConstraint.cpp
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
#include "btCompoundConstraint.h"
|
||||||
|
|
||||||
|
btCompoundConstraint::btCompoundConstraint(btRigidBody& rbA, btRigidBody& rbB)
|
||||||
|
:btTypedConstraint(static_cast<btTypedConstraintType>(COMPOUND_CONSTRAINT_TYPE), rbA, rbB)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
20
extern/bullet2/src/BulletDynamics/ConstraintSolver/btCompoundConstraint.h
vendored
Normal file
20
extern/bullet2/src/BulletDynamics/ConstraintSolver/btCompoundConstraint.h
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
#ifndef BTCOMPOUNDCONSTRAINT_H
|
||||||
|
#define BTCOMPOUNDCONSTRAINT_H
|
||||||
|
|
||||||
|
#include "btTypedConstraint.h"
|
||||||
|
|
||||||
|
#define COMPOUND_CONSTRAINT_TYPE (MAX_CONSTRAINT_TYPE+1)
|
||||||
|
|
||||||
|
ATTRIBUTE_ALIGNED16(class) btCompoundConstraint : public btTypedConstraint
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
btCompoundConstraint(btRigidBody& rbA,btRigidBody& rbB);
|
||||||
|
virtual void getInfo1(btConstraintInfo1* info) {}
|
||||||
|
virtual void getInfo2(btConstraintInfo2* info) {}
|
||||||
|
virtual btScalar getParam(int num, int axis) const { return 0;}
|
||||||
|
virtual void setParam(int num, btScalar value, int axis) {}
|
||||||
|
|
||||||
|
int m_objectId;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // BTCOMPOUNDCONSTRAINT_H
|
239
extern/bullet2/src/BulletDynamics/Dynamics/btFractureBody.cpp
vendored
Normal file
239
extern/bullet2/src/BulletDynamics/Dynamics/btFractureBody.cpp
vendored
Normal file
@@ -0,0 +1,239 @@
|
|||||||
|
|
||||||
|
#include "btFractureBody.h"
|
||||||
|
#include "BulletCollision/CollisionDispatch/btCollisionWorld.h"
|
||||||
|
#include "BulletCollision/CollisionShapes/btCompoundShape.h"
|
||||||
|
#include "BulletDynamics/Dynamics/btDynamicsWorld.h"
|
||||||
|
|
||||||
|
#include "BulletDynamics/Dynamics/btFractureDynamicsWorld.h"
|
||||||
|
|
||||||
|
|
||||||
|
class btConnectionSortPredicate
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
bool operator() ( const btConnection& lhs, const btConnection& rhs ) const
|
||||||
|
{
|
||||||
|
btVector3 locLhsA = lhs.m_parent->getWorldTransform().inverse() * lhs.m_obA->getWorldTransform().getOrigin();
|
||||||
|
btVector3 locLhsB = lhs.m_parent->getWorldTransform().inverse() * lhs.m_obB->getWorldTransform().getOrigin();
|
||||||
|
|
||||||
|
btVector3 locRhsA = rhs.m_parent->getWorldTransform().inverse() * rhs.m_obA->getWorldTransform().getOrigin();
|
||||||
|
btVector3 locRhsB = rhs.m_parent->getWorldTransform().inverse() * rhs.m_obB->getWorldTransform().getOrigin();
|
||||||
|
|
||||||
|
btVector3 locLhs = (locLhsA + locLhsB) * 0.5f;
|
||||||
|
btVector3 locRhs = (locRhsA + locRhsB) * 0.5f;
|
||||||
|
|
||||||
|
//lhs.parent should match rhs.parent... same object
|
||||||
|
btAssert(lhs.m_parent == rhs.m_parent);
|
||||||
|
|
||||||
|
btScalar dLhs = lhs.m_parent->getWorldTransform().getOrigin().distance(locLhs);
|
||||||
|
btScalar dRhs = rhs.m_parent->getWorldTransform().getOrigin().distance(locRhs);
|
||||||
|
//btTransform id = btTransform::getIdentity();
|
||||||
|
//btScalar dLhs = id.getOrigin().distance(locLhs);
|
||||||
|
//btScalar dRhs = id.getOrigin().distance(locRhs);
|
||||||
|
|
||||||
|
return dLhs < dRhs;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
void btFractureBody::recomputeConnectivity(btCollisionWorld* world)
|
||||||
|
{
|
||||||
|
m_connections.clear();
|
||||||
|
//@todo use the AABB tree to avoid N^2 checks
|
||||||
|
|
||||||
|
if (getCollisionShape()->isCompound())
|
||||||
|
{
|
||||||
|
btCompoundShape* compound = (btCompoundShape*)getCollisionShape();
|
||||||
|
for (int i=0;i<compound->getNumChildShapes();i++)
|
||||||
|
{
|
||||||
|
for (int j=i+1;j<compound->getNumChildShapes();j++)
|
||||||
|
{
|
||||||
|
|
||||||
|
struct MyContactResultCallback : public btCollisionWorld::ContactResultCallback
|
||||||
|
{
|
||||||
|
bool m_connected;
|
||||||
|
btScalar m_margin;
|
||||||
|
MyContactResultCallback() :m_connected(false),m_margin(0.05)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
virtual btScalar addSingleResult(btManifoldPoint& cp, const btCollisionObjectWrapper* colObj0Wrap,int partId0,int index0,const btCollisionObjectWrapper* colObj1Wrap,int partId1,int index1)
|
||||||
|
{
|
||||||
|
if (cp.getDistance()<=m_margin)
|
||||||
|
m_connected = true;
|
||||||
|
return 1.f;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
MyContactResultCallback result;
|
||||||
|
|
||||||
|
btCollisionObject obA;
|
||||||
|
obA.setWorldTransform(compound->getChildTransform(i));
|
||||||
|
obA.setCollisionShape(compound->getChildShape(i));
|
||||||
|
btCollisionObject obB;
|
||||||
|
obB.setWorldTransform(compound->getChildTransform(j));
|
||||||
|
obB.setCollisionShape(compound->getChildShape(j));
|
||||||
|
world->contactPairTest(&obA,&obB,result);
|
||||||
|
if (result.m_connected)
|
||||||
|
{
|
||||||
|
btConnection tmp;
|
||||||
|
tmp.m_childIndex0 = i;
|
||||||
|
tmp.m_childIndex1 = j;
|
||||||
|
tmp.m_childShape0 = compound->getChildShape(i);
|
||||||
|
tmp.m_childShape1 = compound->getChildShape(j);
|
||||||
|
tmp.m_strength = 1.f;//??
|
||||||
|
m_connections.push_back(tmp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void btFractureBody::recomputeConnectivityByConstraints(btCollisionWorld *world1)
|
||||||
|
{
|
||||||
|
btFractureDynamicsWorld *world = (btFractureDynamicsWorld*)world1;
|
||||||
|
|
||||||
|
if (world->m_idCallback != NULL)
|
||||||
|
{
|
||||||
|
int i, size = world->m_compoundConstraints.size();
|
||||||
|
m_connections.clear();
|
||||||
|
|
||||||
|
for (i=0; i<size;i++)
|
||||||
|
{
|
||||||
|
btCompoundConstraint *con = world->m_compoundConstraints[i];
|
||||||
|
|
||||||
|
if (con->isEnabled())
|
||||||
|
{
|
||||||
|
int obIdA, shardIdA, obIdB, shardIdB;
|
||||||
|
btFractureBody *obA = (btFractureBody*)&con->getRigidBodyA();
|
||||||
|
btFractureBody *obB = (btFractureBody*)&con->getRigidBodyB();
|
||||||
|
|
||||||
|
//if (this == obA || this == obB)
|
||||||
|
{
|
||||||
|
int *index0 = NULL, *index1 = NULL;
|
||||||
|
world->m_idCallback(obA->getUserPointer(), &obIdA, &shardIdA);
|
||||||
|
world->m_idCallback(obB->getUserPointer(), &obIdB, &shardIdB);
|
||||||
|
|
||||||
|
index0 = world->m_childIndexHash->find(to_str(obIdA, shardIdA));
|
||||||
|
index1 = world->m_childIndexHash->find(to_str(obIdB, shardIdB));
|
||||||
|
|
||||||
|
if ((obIdA == obIdB) && (shardIdA != shardIdB) &&
|
||||||
|
index0 && index1 && *index0 > -1 && *index1 > -1)
|
||||||
|
{
|
||||||
|
btConnection tmp;
|
||||||
|
tmp.m_childIndex0 = *index0;
|
||||||
|
tmp.m_childIndex1 = *index1;
|
||||||
|
tmp.m_childShape0 = obA->getCollisionShape();
|
||||||
|
tmp.m_childShape1 = obB->getCollisionShape();
|
||||||
|
tmp.m_strength = con->getBreakingImpulseThreshold();
|
||||||
|
tmp.m_obA = obA;
|
||||||
|
tmp.m_obB = obB;
|
||||||
|
tmp.m_parent = this;
|
||||||
|
tmp.m_id = i;
|
||||||
|
m_connections.push_back(tmp);
|
||||||
|
}
|
||||||
|
|
||||||
|
//break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
m_connections.quickSort(btConnectionSortPredicate());
|
||||||
|
//build a connection map
|
||||||
|
m_connection_map->clear();
|
||||||
|
|
||||||
|
size = m_connections.size();
|
||||||
|
for (i=0; i < size; i++)
|
||||||
|
{
|
||||||
|
btConnection& con = m_connections[i];
|
||||||
|
btAlignedObjectArray<int> *adjacents = m_connection_map->find(con.m_childIndex0);
|
||||||
|
if (!adjacents) {
|
||||||
|
btAlignedObjectArray<int> adj;
|
||||||
|
adj.push_back(con.m_childIndex1);
|
||||||
|
m_connection_map->insert(con.m_childIndex0, adj);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (adjacents->size() != adjacents->findLinearSearch(con.m_childIndex1))
|
||||||
|
adjacents->push_back(con.m_childIndex1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
btCompoundShape* btFractureBody::shiftTransformDistributeMass(btCompoundShape* boxCompound,btScalar mass,btTransform& shift)
|
||||||
|
{
|
||||||
|
|
||||||
|
btVector3 principalInertia;
|
||||||
|
|
||||||
|
btScalar* masses = new btScalar[boxCompound->getNumChildShapes()];
|
||||||
|
for (int j=0;j<boxCompound->getNumChildShapes();j++)
|
||||||
|
{
|
||||||
|
//evenly distribute mass
|
||||||
|
masses[j]=mass/boxCompound->getNumChildShapes();
|
||||||
|
}
|
||||||
|
|
||||||
|
return shiftTransform(boxCompound,masses,shift,principalInertia);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
btCompoundShape* btFractureBody::shiftTransform(btCompoundShape* boxCompound,btScalar* masses,btTransform& shift, btVector3& principalInertia)
|
||||||
|
{
|
||||||
|
btTransform principal;
|
||||||
|
|
||||||
|
boxCompound->calculatePrincipalAxisTransform(masses,principal,principalInertia);
|
||||||
|
|
||||||
|
|
||||||
|
///create a new compound with world transform/center of mass properly aligned with the principal axis
|
||||||
|
|
||||||
|
///non-recursive compound shapes perform better
|
||||||
|
|
||||||
|
#ifdef USE_RECURSIVE_COMPOUND
|
||||||
|
|
||||||
|
btCompoundShape* newCompound = new btCompoundShape();
|
||||||
|
newCompound->addChildShape(principal.inverse(),boxCompound);
|
||||||
|
newBoxCompound = newCompound;
|
||||||
|
//m_collisionShapes.push_back(newCompound);
|
||||||
|
|
||||||
|
//btDefaultMotionState* myMotionState = new btDefaultMotionState(startTransform);
|
||||||
|
//btRigidBody::btRigidBodyConstructionInfo rbInfo(mass,myMotionState,newCompound,principalInertia);
|
||||||
|
|
||||||
|
#else
|
||||||
|
#ifdef CHANGE_COMPOUND_INPLACE
|
||||||
|
newBoxCompound = boxCompound;
|
||||||
|
for (int i=0;i<boxCompound->getNumChildShapes();i++)
|
||||||
|
{
|
||||||
|
btTransform newChildTransform = principal.inverse()*boxCompound->getChildTransform(i);
|
||||||
|
///updateChildTransform is really slow, because it re-calculates the AABB each time. todo: add option to disable this update
|
||||||
|
boxCompound->updateChildTransform(i,newChildTransform);
|
||||||
|
}
|
||||||
|
bool isDynamic = (mass != 0.f);
|
||||||
|
btVector3 localInertia(0,0,0);
|
||||||
|
if (isDynamic)
|
||||||
|
boxCompound->calculateLocalInertia(mass,localInertia);
|
||||||
|
|
||||||
|
#else
|
||||||
|
///creation is faster using a new compound to store the shifted children
|
||||||
|
btCompoundShape* newBoxCompound = new btCompoundShape();
|
||||||
|
for (int i=0;i<boxCompound->getNumChildShapes();i++)
|
||||||
|
{
|
||||||
|
btTransform newChildTransform = principal.inverse()*boxCompound->getChildTransform(i);
|
||||||
|
///updateChildTransform is really slow, because it re-calculates the AABB each time. todo: add option to disable this update
|
||||||
|
newBoxCompound->addChildShape(newChildTransform,boxCompound->getChildShape(i));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif//USE_RECURSIVE_COMPOUND
|
||||||
|
|
||||||
|
shift = principal;
|
||||||
|
return newBoxCompound;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
115
extern/bullet2/src/BulletDynamics/Dynamics/btFractureBody.h
vendored
Normal file
115
extern/bullet2/src/BulletDynamics/Dynamics/btFractureBody.h
vendored
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
|
||||||
|
#ifndef BT_FRACTURE_BODY
|
||||||
|
#define BT_FRACTURE_BODY
|
||||||
|
|
||||||
|
class btCollisionShape;
|
||||||
|
class btDynamicsWorld;
|
||||||
|
class btCollisionWorld;
|
||||||
|
class btCompoundShape;
|
||||||
|
class btManifoldPoint;
|
||||||
|
|
||||||
|
#include "LinearMath/btAlignedObjectArray.h"
|
||||||
|
#include "LinearMath/btHashMap.h"
|
||||||
|
#include "BulletDynamics/Dynamics/btRigidBody.h"
|
||||||
|
|
||||||
|
#define CUSTOM_FRACTURE_TYPE (btRigidBody::CO_USER_TYPE+1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct btConnection
|
||||||
|
{
|
||||||
|
bool operator==(const btConnection& con)
|
||||||
|
{
|
||||||
|
return this->m_childIndex0 == con.m_childIndex0 &&
|
||||||
|
this->m_childIndex1 == con.m_childIndex1 &&
|
||||||
|
this->m_childShape0 == con.m_childShape0 &&
|
||||||
|
this->m_childShape1 == con.m_childShape1 &&
|
||||||
|
this->m_strength == con.m_strength;
|
||||||
|
}
|
||||||
|
|
||||||
|
btCollisionShape* m_childShape0;
|
||||||
|
btCollisionShape* m_childShape1;
|
||||||
|
int m_childIndex0;
|
||||||
|
int m_childIndex1;
|
||||||
|
btScalar m_strength;
|
||||||
|
//btVector3 m_location; //this must be local to the "Parent" compound
|
||||||
|
//better calc this "live" from the objects themselves, so also keep ob pointers here
|
||||||
|
btCollisionObject* m_obA;
|
||||||
|
btCollisionObject* m_obB;
|
||||||
|
btCollisionObject* m_parent;
|
||||||
|
btScalar m_id;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct btPropagationParameter
|
||||||
|
{
|
||||||
|
btScalar m_impulse_dampening;
|
||||||
|
btScalar m_directional_factor;
|
||||||
|
btScalar m_minimum_impulse;
|
||||||
|
btScalar m_stability_factor;
|
||||||
|
};
|
||||||
|
|
||||||
|
class btFractureBody : public btRigidBody
|
||||||
|
{
|
||||||
|
//connections
|
||||||
|
public:
|
||||||
|
|
||||||
|
btDynamicsWorld* m_world;
|
||||||
|
btAlignedObjectArray<btScalar> m_masses;
|
||||||
|
btAlignedObjectArray<btConnection> m_connections;
|
||||||
|
btHashMap<btHashInt, btAlignedObjectArray<int> > *m_connection_map;
|
||||||
|
btPropagationParameter m_propagationParameter;
|
||||||
|
|
||||||
|
btFractureBody( const btRigidBodyConstructionInfo& constructionInfo, btPropagationParameter parameter)
|
||||||
|
:btRigidBody(constructionInfo),
|
||||||
|
m_world(0),
|
||||||
|
m_connection_map(NULL),
|
||||||
|
m_propagationParameter(parameter)
|
||||||
|
{
|
||||||
|
m_masses.push_back(constructionInfo.m_mass);
|
||||||
|
m_internalType=CUSTOM_FRACTURE_TYPE+CO_RIGID_BODY;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
///btRigidBody constructor for backwards compatibility.
|
||||||
|
///To specify friction (etc) during rigid body construction, please use the other constructor (using btRigidBodyConstructionInfo)
|
||||||
|
btFractureBody( btScalar mass, btMotionState* motionState, btCollisionShape* collisionShape, const btVector3& localInertia, btScalar* masses, int numMasses, btDynamicsWorld* world, btPropagationParameter parameter)
|
||||||
|
:btRigidBody(mass,motionState,collisionShape,localInertia),
|
||||||
|
m_world(world),
|
||||||
|
m_propagationParameter(parameter)
|
||||||
|
{
|
||||||
|
|
||||||
|
for (int i=0;i<numMasses;i++)
|
||||||
|
m_masses.push_back(masses[i]);
|
||||||
|
|
||||||
|
m_internalType=CUSTOM_FRACTURE_TYPE+CO_RIGID_BODY;
|
||||||
|
m_connection_map = new btHashMap<btHashInt, btAlignedObjectArray<int> >();
|
||||||
|
}
|
||||||
|
|
||||||
|
void setWorld(btDynamicsWorld *world)
|
||||||
|
{
|
||||||
|
m_world = world;
|
||||||
|
}
|
||||||
|
|
||||||
|
void recomputeConnectivity(btCollisionWorld* world);
|
||||||
|
|
||||||
|
void recomputeConnectivityByConstraints(btCollisionWorld* world);
|
||||||
|
|
||||||
|
|
||||||
|
static btCompoundShape* shiftTransform(btCompoundShape* boxCompound,btScalar* masses,btTransform& shift, btVector3& principalInertia);
|
||||||
|
|
||||||
|
static btCompoundShape* shiftTransformDistributeMass(btCompoundShape* boxCompound,btScalar mass,btTransform& shift);
|
||||||
|
|
||||||
|
static bool collisionCallback(btManifoldPoint& cp, const btCollisionObject* colObj0,int partId0,int index0,const btCollisionObject* colObj1,int partId1,int index1);
|
||||||
|
|
||||||
|
~btFractureBody()
|
||||||
|
{
|
||||||
|
delete m_connection_map;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
void fractureCallback(btDynamicsWorld* world, btScalar timeStep);
|
||||||
|
void glueCallback(btDynamicsWorld* world, btScalar timeStep);
|
||||||
|
|
||||||
|
#endif //BT_FRACTURE_BODY
|
1227
extern/bullet2/src/BulletDynamics/Dynamics/btFractureDynamicsWorld.cpp
vendored
Normal file
1227
extern/bullet2/src/BulletDynamics/Dynamics/btFractureDynamicsWorld.cpp
vendored
Normal file
File diff suppressed because it is too large
Load Diff
82
extern/bullet2/src/BulletDynamics/Dynamics/btFractureDynamicsWorld.h
vendored
Normal file
82
extern/bullet2/src/BulletDynamics/Dynamics/btFractureDynamicsWorld.h
vendored
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
#ifndef _BT_FRACTURE_DYNAMICS_WORLD_H
|
||||||
|
#define _BT_FRACTURE_DYNAMICS_WORLD_H
|
||||||
|
|
||||||
|
#include "btBulletDynamicsCommon.h"
|
||||||
|
#include "BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h"
|
||||||
|
#include "LinearMath/btAlignedObjectArray.h"
|
||||||
|
#include "LinearMath/btHashMap.h"
|
||||||
|
#include <string>
|
||||||
|
#include <sstream>
|
||||||
|
|
||||||
|
class btFractureBody;
|
||||||
|
class btCompoundShape;
|
||||||
|
class btTransform;
|
||||||
|
struct btPropagationParameter;
|
||||||
|
|
||||||
|
//callback to retrieve id from user application (blender)
|
||||||
|
typedef void (*IdCallback)(void *userPtr, int* object_id, int* shard_id);
|
||||||
|
typedef btRigidBody* (*ShapeBodyCallback)(void *userPtr);
|
||||||
|
char *to_str(int objectId, int shardId);
|
||||||
|
|
||||||
|
///The btFractureDynamicsWorld class enabled basic glue and fracture of objects.
|
||||||
|
///If/once this implementation is stablized/tested we might merge it into btDiscreteDynamicsWorld and remove the class.
|
||||||
|
class btFractureDynamicsWorld : public btDiscreteDynamicsWorld
|
||||||
|
{
|
||||||
|
btFractureBody* addNewBody(const btTransform& oldTransform, btScalar* masses, btCompoundShape* oldCompound, btPropagationParameter ¶m);
|
||||||
|
|
||||||
|
bool m_addBroadPhaseHandle;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
btFractureDynamicsWorld ( btDispatcher* dispatcher,btBroadphaseInterface* pairCache,btConstraintSolver* constraintSolver,btCollisionConfiguration* collisionConfiguration, IdCallback callback, ShapeBodyCallback shapebodycallback);
|
||||||
|
|
||||||
|
~btFractureDynamicsWorld();
|
||||||
|
|
||||||
|
btAlignedObjectArray<btCompoundConstraint*> m_compoundConstraints;
|
||||||
|
btAlignedObjectArray<btFractureBody*> m_fractureBodies;
|
||||||
|
bool m_fracturingMode;
|
||||||
|
|
||||||
|
IdCallback m_idCallback;
|
||||||
|
|
||||||
|
ShapeBodyCallback m_shapeBodyCallback;
|
||||||
|
|
||||||
|
btHashMap<btHashString, int> *m_childIndexHash;
|
||||||
|
|
||||||
|
virtual void addRigidBody(btRigidBody* body);
|
||||||
|
|
||||||
|
virtual void removeRigidBody(btRigidBody* body);
|
||||||
|
|
||||||
|
void solveConstraints(btContactSolverInfo& solverInfo);
|
||||||
|
|
||||||
|
virtual void addConstraint(btTypedConstraint *constraint, bool disableCollisionsBetweenLinkedBodies);
|
||||||
|
|
||||||
|
virtual void removeConstraint(btTypedConstraint *constraint);
|
||||||
|
|
||||||
|
///either fracture or glue (!fracture)
|
||||||
|
void setFractureMode(bool fracture)
|
||||||
|
{
|
||||||
|
m_fracturingMode = fracture;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool getFractureMode() const { return m_fracturingMode;}
|
||||||
|
|
||||||
|
///normally those callbacks are called internally by the 'solveConstraints'
|
||||||
|
void glueCallback();
|
||||||
|
|
||||||
|
///normally those callbacks are called internally by the 'solveConstraints'
|
||||||
|
void fractureCallback();
|
||||||
|
|
||||||
|
void updateBodies();
|
||||||
|
|
||||||
|
void propagateDamage(btFractureBody *body, btScalar *impulse, int connection_index, bool *needsBreakingCheck,
|
||||||
|
const btVector3 &direction, int *depth);
|
||||||
|
|
||||||
|
void breakNeighborhood(btFractureBody *body, int connection_index);
|
||||||
|
|
||||||
|
void breakDisconnectedParts( btFractureBody* fracObj);
|
||||||
|
|
||||||
|
virtual void updateAabbs();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif //_BT_FRACTURE_DYNAMICS_WORLD_H
|
||||||
|
|
@@ -183,7 +183,7 @@ public:
|
|||||||
{
|
{
|
||||||
//No constraints should point to this rigidbody
|
//No constraints should point to this rigidbody
|
||||||
//Remove constraints from the dynamics world before you delete the related rigidbodies.
|
//Remove constraints from the dynamics world before you delete the related rigidbodies.
|
||||||
btAssert(m_constraintRefs.size()==0);
|
// btAssert(m_constraintRefs.size()==0);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
1
extern/bullet2/src/btBulletDynamicsCommon.h
vendored
1
extern/bullet2/src/btBulletDynamicsCommon.h
vendored
@@ -34,6 +34,7 @@ subject to the following restrictions:
|
|||||||
#include "BulletDynamics/ConstraintSolver/btHinge2Constraint.h"
|
#include "BulletDynamics/ConstraintSolver/btHinge2Constraint.h"
|
||||||
#include "BulletDynamics/ConstraintSolver/btGearConstraint.h"
|
#include "BulletDynamics/ConstraintSolver/btGearConstraint.h"
|
||||||
#include "BulletDynamics/ConstraintSolver/btFixedConstraint.h"
|
#include "BulletDynamics/ConstraintSolver/btFixedConstraint.h"
|
||||||
|
#include "BulletDynamics/ConstraintSolver/btCompoundConstraint.h"
|
||||||
|
|
||||||
|
|
||||||
#include "BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h"
|
#include "BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h"
|
||||||
|
2
extern/cuew/README.blender
vendored
2
extern/cuew/README.blender
vendored
@@ -1,5 +1,5 @@
|
|||||||
Project: Cuda Wrangler
|
Project: Cuda Wrangler
|
||||||
URL: https://github.com/CudaWrangler/cuew
|
URL: https://github.com/CudaWrangler/cuew
|
||||||
License: Apache 2.0
|
License: Apache 2.0
|
||||||
Upstream version: cbf465b
|
Upstream version: 63d2a0f
|
||||||
Local modifications: None
|
Local modifications: None
|
||||||
|
177
extern/cuew/include/cuew.h
vendored
177
extern/cuew/include/cuew.h
vendored
@@ -27,7 +27,7 @@ extern "C" {
|
|||||||
#define CUEW_VERSION_MAJOR 1
|
#define CUEW_VERSION_MAJOR 1
|
||||||
#define CUEW_VERSION_MINOR 2
|
#define CUEW_VERSION_MINOR 2
|
||||||
|
|
||||||
#define CUDA_VERSION 8000
|
#define CUDA_VERSION 7050
|
||||||
#define CU_IPC_HANDLE_SIZE 64
|
#define CU_IPC_HANDLE_SIZE 64
|
||||||
#define CU_STREAM_LEGACY ((CUstream)0x1)
|
#define CU_STREAM_LEGACY ((CUstream)0x1)
|
||||||
#define CU_STREAM_PER_THREAD ((CUstream)0x2)
|
#define CU_STREAM_PER_THREAD ((CUstream)0x2)
|
||||||
@@ -51,8 +51,6 @@ extern "C" {
|
|||||||
#define CU_LAUNCH_PARAM_BUFFER_POINTER ((void*)0x01)
|
#define CU_LAUNCH_PARAM_BUFFER_POINTER ((void*)0x01)
|
||||||
#define CU_LAUNCH_PARAM_BUFFER_SIZE ((void*)0x02)
|
#define CU_LAUNCH_PARAM_BUFFER_SIZE ((void*)0x02)
|
||||||
#define CU_PARAM_TR_DEFAULT -1
|
#define CU_PARAM_TR_DEFAULT -1
|
||||||
#define CU_DEVICE_CPU ((CUdevice)-1)
|
|
||||||
#define CU_DEVICE_INVALID ((CUdevice)-2)
|
|
||||||
|
|
||||||
/* Functions which changed 3.1 -> 3.2 for 64 bit stuff,
|
/* Functions which changed 3.1 -> 3.2 for 64 bit stuff,
|
||||||
* the cuda library has both the old ones for compatibility and new
|
* the cuda library has both the old ones for compatibility and new
|
||||||
@@ -116,30 +114,12 @@ extern "C" {
|
|||||||
#define cuGLGetDevices cuGLGetDevices_v2
|
#define cuGLGetDevices cuGLGetDevices_v2
|
||||||
|
|
||||||
/* Types. */
|
/* Types. */
|
||||||
#ifdef _MSC_VER
|
|
||||||
typedef unsigned __int32 cuuint32_t;
|
|
||||||
typedef unsigned __int64 cuuint64_t;
|
|
||||||
#else
|
|
||||||
#include <stdint.h>
|
|
||||||
typedef uint32_t cuuint32_t;
|
|
||||||
typedef uint64_t cuuint64_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__x86_64) || defined(AMD64) || defined(_M_AMD64) || defined (__aarch64__)
|
#if defined(__x86_64) || defined(AMD64) || defined(_M_AMD64) || defined (__aarch64__)
|
||||||
typedef unsigned long long CUdeviceptr;
|
typedef unsigned long long CUdeviceptr;
|
||||||
#else
|
#else
|
||||||
typedef unsigned int CUdeviceptr;
|
typedef unsigned int CUdeviceptr;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
# define CUDAAPI __stdcall
|
|
||||||
# define CUDA_CB __stdcall
|
|
||||||
#else
|
|
||||||
# define CUDAAPI
|
|
||||||
# define CUDA_CB
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef int CUdevice;
|
typedef int CUdevice;
|
||||||
typedef struct CUctx_st* CUcontext;
|
typedef struct CUctx_st* CUcontext;
|
||||||
typedef struct CUmod_st* CUmodule;
|
typedef struct CUmod_st* CUmodule;
|
||||||
@@ -200,53 +180,6 @@ typedef enum CUevent_flags_enum {
|
|||||||
CU_EVENT_INTERPROCESS = 0x4,
|
CU_EVENT_INTERPROCESS = 0x4,
|
||||||
} CUevent_flags;
|
} CUevent_flags;
|
||||||
|
|
||||||
typedef enum CUstreamWaitValue_flags_enum {
|
|
||||||
CU_STREAM_WAIT_VALUE_GEQ = 0x0,
|
|
||||||
CU_STREAM_WAIT_VALUE_EQ = 0x1,
|
|
||||||
CU_STREAM_WAIT_VALUE_AND = 0x2,
|
|
||||||
CU_STREAM_WAIT_VALUE_FLUSH = (1 << 30),
|
|
||||||
} CUstreamWaitValue_flags;
|
|
||||||
|
|
||||||
typedef enum CUstreamWriteValue_flags_enum {
|
|
||||||
CU_STREAM_WRITE_VALUE_DEFAULT = 0x0,
|
|
||||||
CU_STREAM_WRITE_VALUE_NO_MEMORY_BARRIER = 0x1,
|
|
||||||
} CUstreamWriteValue_flags;
|
|
||||||
|
|
||||||
typedef enum CUstreamBatchMemOpType_enum {
|
|
||||||
CU_STREAM_MEM_OP_WAIT_VALUE_32 = 1,
|
|
||||||
CU_STREAM_MEM_OP_WRITE_VALUE_32 = 2,
|
|
||||||
CU_STREAM_MEM_OP_FLUSH_REMOTE_WRITES = 3,
|
|
||||||
} CUstreamBatchMemOpType;
|
|
||||||
|
|
||||||
typedef union CUstreamBatchMemOpParams_union {
|
|
||||||
CUstreamBatchMemOpType operation;
|
|
||||||
struct CUstreamMemOpWaitValueParams_st {
|
|
||||||
CUstreamBatchMemOpType operation;
|
|
||||||
CUdeviceptr address;
|
|
||||||
union {
|
|
||||||
cuuint32_t value;
|
|
||||||
cuuint64_t pad;
|
|
||||||
};
|
|
||||||
unsigned int flags;
|
|
||||||
CUdeviceptr alias;
|
|
||||||
} waitValue;
|
|
||||||
struct CUstreamMemOpWriteValueParams_st {
|
|
||||||
CUstreamBatchMemOpType operation;
|
|
||||||
CUdeviceptr address;
|
|
||||||
union {
|
|
||||||
cuuint32_t value;
|
|
||||||
cuuint64_t pad;
|
|
||||||
};
|
|
||||||
unsigned int flags;
|
|
||||||
CUdeviceptr alias;
|
|
||||||
} writeValue;
|
|
||||||
struct CUstreamMemOpFlushRemoteWritesParams_st {
|
|
||||||
CUstreamBatchMemOpType operation;
|
|
||||||
unsigned int flags;
|
|
||||||
} flushRemoteWrites;
|
|
||||||
cuuint64_t pad[6];
|
|
||||||
} CUstreamBatchMemOpParams;
|
|
||||||
|
|
||||||
typedef enum CUoccupancy_flags_enum {
|
typedef enum CUoccupancy_flags_enum {
|
||||||
CU_OCCUPANCY_DEFAULT = 0x0,
|
CU_OCCUPANCY_DEFAULT = 0x0,
|
||||||
CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = 0x1,
|
CU_OCCUPANCY_DISABLE_CACHING_OVERRIDE = 0x1,
|
||||||
@@ -366,12 +299,6 @@ typedef enum CUdevice_attribute_enum {
|
|||||||
CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83,
|
CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83,
|
||||||
CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84,
|
CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84,
|
||||||
CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85,
|
CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85,
|
||||||
CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86,
|
|
||||||
CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87,
|
|
||||||
CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88,
|
|
||||||
CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89,
|
|
||||||
CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90,
|
|
||||||
CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91,
|
|
||||||
CU_DEVICE_ATTRIBUTE_MAX,
|
CU_DEVICE_ATTRIBUTE_MAX,
|
||||||
} CUdevice_attribute;
|
} CUdevice_attribute;
|
||||||
|
|
||||||
@@ -433,26 +360,11 @@ typedef enum CUmemorytype_enum {
|
|||||||
|
|
||||||
typedef enum CUcomputemode_enum {
|
typedef enum CUcomputemode_enum {
|
||||||
CU_COMPUTEMODE_DEFAULT = 0,
|
CU_COMPUTEMODE_DEFAULT = 0,
|
||||||
|
CU_COMPUTEMODE_EXCLUSIVE = 1,
|
||||||
CU_COMPUTEMODE_PROHIBITED = 2,
|
CU_COMPUTEMODE_PROHIBITED = 2,
|
||||||
CU_COMPUTEMODE_EXCLUSIVE_PROCESS = 3,
|
CU_COMPUTEMODE_EXCLUSIVE_PROCESS = 3,
|
||||||
} CUcomputemode;
|
} CUcomputemode;
|
||||||
|
|
||||||
typedef enum CUmem_advise_enum {
|
|
||||||
CU_MEM_ADVISE_SET_READ_MOSTLY = 1,
|
|
||||||
CU_MEM_ADVISE_UNSET_READ_MOSTLY = 2,
|
|
||||||
CU_MEM_ADVISE_SET_PREFERRED_LOCATION = 3,
|
|
||||||
CU_MEM_ADVISE_UNSET_PREFERRED_LOCATION = 4,
|
|
||||||
CU_MEM_ADVISE_SET_ACCESSED_BY = 5,
|
|
||||||
CU_MEM_ADVISE_UNSET_ACCESSED_BY = 6,
|
|
||||||
} CUmem_advise;
|
|
||||||
|
|
||||||
typedef enum CUmem_range_attribute_enum {
|
|
||||||
CU_MEM_RANGE_ATTRIBUTE_READ_MOSTLY = 1,
|
|
||||||
CU_MEM_RANGE_ATTRIBUTE_PREFERRED_LOCATION = 2,
|
|
||||||
CU_MEM_RANGE_ATTRIBUTE_ACCESSED_BY = 3,
|
|
||||||
CU_MEM_RANGE_ATTRIBUTE_LAST_PREFETCH_LOCATION = 4,
|
|
||||||
} CUmem_range_attribute;
|
|
||||||
|
|
||||||
typedef enum CUjit_option_enum {
|
typedef enum CUjit_option_enum {
|
||||||
CU_JIT_MAX_REGISTERS = 0,
|
CU_JIT_MAX_REGISTERS = 0,
|
||||||
CU_JIT_THREADS_PER_BLOCK,
|
CU_JIT_THREADS_PER_BLOCK,
|
||||||
@@ -469,8 +381,6 @@ typedef enum CUjit_option_enum {
|
|||||||
CU_JIT_LOG_VERBOSE,
|
CU_JIT_LOG_VERBOSE,
|
||||||
CU_JIT_GENERATE_LINE_INFO,
|
CU_JIT_GENERATE_LINE_INFO,
|
||||||
CU_JIT_CACHE_MODE,
|
CU_JIT_CACHE_MODE,
|
||||||
CU_JIT_NEW_SM3X_OPT,
|
|
||||||
CU_JIT_FAST_COMPILE,
|
|
||||||
CU_JIT_NUM_OPTIONS,
|
CU_JIT_NUM_OPTIONS,
|
||||||
} CUjit_option;
|
} CUjit_option;
|
||||||
|
|
||||||
@@ -487,10 +397,6 @@ typedef enum CUjit_target_enum {
|
|||||||
CU_TARGET_COMPUTE_37 = 37,
|
CU_TARGET_COMPUTE_37 = 37,
|
||||||
CU_TARGET_COMPUTE_50 = 50,
|
CU_TARGET_COMPUTE_50 = 50,
|
||||||
CU_TARGET_COMPUTE_52 = 52,
|
CU_TARGET_COMPUTE_52 = 52,
|
||||||
CU_TARGET_COMPUTE_53 = 53,
|
|
||||||
CU_TARGET_COMPUTE_60 = 60,
|
|
||||||
CU_TARGET_COMPUTE_61 = 61,
|
|
||||||
CU_TARGET_COMPUTE_62 = 62,
|
|
||||||
} CUjit_target;
|
} CUjit_target;
|
||||||
|
|
||||||
typedef enum CUjit_fallback_enum {
|
typedef enum CUjit_fallback_enum {
|
||||||
@@ -584,7 +490,6 @@ typedef enum cudaError_enum {
|
|||||||
CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 217,
|
CUDA_ERROR_PEER_ACCESS_UNSUPPORTED = 217,
|
||||||
CUDA_ERROR_INVALID_PTX = 218,
|
CUDA_ERROR_INVALID_PTX = 218,
|
||||||
CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 219,
|
CUDA_ERROR_INVALID_GRAPHICS_CONTEXT = 219,
|
||||||
CUDA_ERROR_NVLINK_UNCORRECTABLE = 220,
|
|
||||||
CUDA_ERROR_INVALID_SOURCE = 300,
|
CUDA_ERROR_INVALID_SOURCE = 300,
|
||||||
CUDA_ERROR_FILE_NOT_FOUND = 301,
|
CUDA_ERROR_FILE_NOT_FOUND = 301,
|
||||||
CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302,
|
CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302,
|
||||||
@@ -616,14 +521,8 @@ typedef enum cudaError_enum {
|
|||||||
CUDA_ERROR_UNKNOWN = 999,
|
CUDA_ERROR_UNKNOWN = 999,
|
||||||
} CUresult;
|
} CUresult;
|
||||||
|
|
||||||
typedef enum CUdevice_P2PAttribute_enum {
|
typedef void* CUstreamCallback;
|
||||||
CU_DEVICE_P2P_ATTRIBUTE_PERFORMANCE_RANK = 0x01,
|
typedef size_t* CUoccupancyB2DSize;
|
||||||
CU_DEVICE_P2P_ATTRIBUTE_ACCESS_SUPPORTED = 0x02,
|
|
||||||
CU_DEVICE_P2P_ATTRIBUTE_NATIVE_ATOMIC_SUPPORTED = 0x03,
|
|
||||||
} CUdevice_P2PAttribute;
|
|
||||||
|
|
||||||
typedef void (CUDA_CB *CUstreamCallback)(CUstream hStream, CUresult status, void* userData);
|
|
||||||
typedef size_t (CUDA_CB *CUoccupancyB2DSize)(int blockSize);
|
|
||||||
|
|
||||||
typedef struct CUDA_MEMCPY2D_st {
|
typedef struct CUDA_MEMCPY2D_st {
|
||||||
size_t srcXInBytes;
|
size_t srcXInBytes;
|
||||||
@@ -755,8 +654,7 @@ typedef struct CUDA_TEXTURE_DESC_st {
|
|||||||
float mipmapLevelBias;
|
float mipmapLevelBias;
|
||||||
float minMipmapLevelClamp;
|
float minMipmapLevelClamp;
|
||||||
float maxMipmapLevelClamp;
|
float maxMipmapLevelClamp;
|
||||||
float borderColor[4];
|
int reserved[16];
|
||||||
int reserved[12];
|
|
||||||
} CUDA_TEXTURE_DESC;
|
} CUDA_TEXTURE_DESC;
|
||||||
|
|
||||||
typedef enum CUresourceViewFormat_enum {
|
typedef enum CUresourceViewFormat_enum {
|
||||||
@@ -838,16 +736,21 @@ typedef enum {
|
|||||||
NVRTC_ERROR_INVALID_OPTION = 5,
|
NVRTC_ERROR_INVALID_OPTION = 5,
|
||||||
NVRTC_ERROR_COMPILATION = 6,
|
NVRTC_ERROR_COMPILATION = 6,
|
||||||
NVRTC_ERROR_BUILTIN_OPERATION_FAILURE = 7,
|
NVRTC_ERROR_BUILTIN_OPERATION_FAILURE = 7,
|
||||||
NVRTC_ERROR_NO_NAME_EXPRESSIONS_AFTER_COMPILATION = 8,
|
|
||||||
NVRTC_ERROR_NO_LOWERED_NAMES_BEFORE_COMPILATION = 9,
|
|
||||||
NVRTC_ERROR_NAME_EXPRESSION_NOT_VALID = 10,
|
|
||||||
NVRTC_ERROR_INTERNAL_ERROR = 11,
|
|
||||||
} nvrtcResult;
|
} nvrtcResult;
|
||||||
|
|
||||||
typedef struct _nvrtcProgram* nvrtcProgram;
|
typedef struct _nvrtcProgram* nvrtcProgram;
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
# define CUDAAPI __stdcall
|
||||||
|
# define CUDA_CB __stdcall
|
||||||
|
#else
|
||||||
|
# define CUDAAPI
|
||||||
|
# define CUDA_CB
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Function types. */
|
/* Function types. */
|
||||||
typedef CUresult CUDAAPI tcuGetErrorString(CUresult error, const char** pStr);
|
typedef CUresult CUDAAPI tcuGetErrorString(CUresult error, const char* pStr);
|
||||||
typedef CUresult CUDAAPI tcuGetErrorName(CUresult error, const char** pStr);
|
typedef CUresult CUDAAPI tcuGetErrorName(CUresult error, const char* pStr);
|
||||||
typedef CUresult CUDAAPI tcuInit(unsigned int Flags);
|
typedef CUresult CUDAAPI tcuInit(unsigned int Flags);
|
||||||
typedef CUresult CUDAAPI tcuDriverGetVersion(int* driverVersion);
|
typedef CUresult CUDAAPI tcuDriverGetVersion(int* driverVersion);
|
||||||
typedef CUresult CUDAAPI tcuDeviceGet(CUdevice* device, int ordinal);
|
typedef CUresult CUDAAPI tcuDeviceGet(CUdevice* device, int ordinal);
|
||||||
@@ -883,26 +786,26 @@ typedef CUresult CUDAAPI tcuCtxAttach(CUcontext* pctx, unsigned int flags);
|
|||||||
typedef CUresult CUDAAPI tcuCtxDetach(CUcontext ctx);
|
typedef CUresult CUDAAPI tcuCtxDetach(CUcontext ctx);
|
||||||
typedef CUresult CUDAAPI tcuModuleLoad(CUmodule* module, const char* fname);
|
typedef CUresult CUDAAPI tcuModuleLoad(CUmodule* module, const char* fname);
|
||||||
typedef CUresult CUDAAPI tcuModuleLoadData(CUmodule* module, const void* image);
|
typedef CUresult CUDAAPI tcuModuleLoadData(CUmodule* module, const void* image);
|
||||||
typedef CUresult CUDAAPI tcuModuleLoadDataEx(CUmodule* module, const void* image, unsigned int numOptions, CUjit_option* options, void** optionValues);
|
typedef CUresult CUDAAPI tcuModuleLoadDataEx(CUmodule* module, const void* image, unsigned int numOptions, CUjit_option* options, void* optionValues);
|
||||||
typedef CUresult CUDAAPI tcuModuleLoadFatBinary(CUmodule* module, const void* fatCubin);
|
typedef CUresult CUDAAPI tcuModuleLoadFatBinary(CUmodule* module, const void* fatCubin);
|
||||||
typedef CUresult CUDAAPI tcuModuleUnload(CUmodule hmod);
|
typedef CUresult CUDAAPI tcuModuleUnload(CUmodule hmod);
|
||||||
typedef CUresult CUDAAPI tcuModuleGetFunction(CUfunction* hfunc, CUmodule hmod, const char* name);
|
typedef CUresult CUDAAPI tcuModuleGetFunction(CUfunction* hfunc, CUmodule hmod, const char* name);
|
||||||
typedef CUresult CUDAAPI tcuModuleGetGlobal_v2(CUdeviceptr* dptr, size_t* bytes, CUmodule hmod, const char* name);
|
typedef CUresult CUDAAPI tcuModuleGetGlobal_v2(CUdeviceptr* dptr, size_t* bytes, CUmodule hmod, const char* name);
|
||||||
typedef CUresult CUDAAPI tcuModuleGetTexRef(CUtexref* pTexRef, CUmodule hmod, const char* name);
|
typedef CUresult CUDAAPI tcuModuleGetTexRef(CUtexref* pTexRef, CUmodule hmod, const char* name);
|
||||||
typedef CUresult CUDAAPI tcuModuleGetSurfRef(CUsurfref* pSurfRef, CUmodule hmod, const char* name);
|
typedef CUresult CUDAAPI tcuModuleGetSurfRef(CUsurfref* pSurfRef, CUmodule hmod, const char* name);
|
||||||
typedef CUresult CUDAAPI tcuLinkCreate_v2(unsigned int numOptions, CUjit_option* options, void** optionValues, CUlinkState* stateOut);
|
typedef CUresult CUDAAPI tcuLinkCreate_v2(unsigned int numOptions, CUjit_option* options, void* optionValues, CUlinkState* stateOut);
|
||||||
typedef CUresult CUDAAPI tcuLinkAddData_v2(CUlinkState state, CUjitInputType type, void* data, size_t size, const char* name, unsigned int numOptions, CUjit_option* options, void** optionValues);
|
typedef CUresult CUDAAPI tcuLinkAddData_v2(CUlinkState state, CUjitInputType type, void* data, size_t size, const char* name, unsigned int numOptions, CUjit_option* options, void* optionValues);
|
||||||
typedef CUresult CUDAAPI tcuLinkAddFile_v2(CUlinkState state, CUjitInputType type, const char* path, unsigned int numOptions, CUjit_option* options, void** optionValues);
|
typedef CUresult CUDAAPI tcuLinkAddFile_v2(CUlinkState state, CUjitInputType type, const char* path, unsigned int numOptions, CUjit_option* options, void* optionValues);
|
||||||
typedef CUresult CUDAAPI tcuLinkComplete(CUlinkState state, void** cubinOut, size_t* sizeOut);
|
typedef CUresult CUDAAPI tcuLinkComplete(CUlinkState state, void* cubinOut, size_t* sizeOut);
|
||||||
typedef CUresult CUDAAPI tcuLinkDestroy(CUlinkState state);
|
typedef CUresult CUDAAPI tcuLinkDestroy(CUlinkState state);
|
||||||
typedef CUresult CUDAAPI tcuMemGetInfo_v2(size_t* free, size_t* total);
|
typedef CUresult CUDAAPI tcuMemGetInfo_v2(size_t* free, size_t* total);
|
||||||
typedef CUresult CUDAAPI tcuMemAlloc_v2(CUdeviceptr* dptr, size_t bytesize);
|
typedef CUresult CUDAAPI tcuMemAlloc_v2(CUdeviceptr* dptr, size_t bytesize);
|
||||||
typedef CUresult CUDAAPI tcuMemAllocPitch_v2(CUdeviceptr* dptr, size_t* pPitch, size_t WidthInBytes, size_t Height, unsigned int ElementSizeBytes);
|
typedef CUresult CUDAAPI tcuMemAllocPitch_v2(CUdeviceptr* dptr, size_t* pPitch, size_t WidthInBytes, size_t Height, unsigned int ElementSizeBytes);
|
||||||
typedef CUresult CUDAAPI tcuMemFree_v2(CUdeviceptr dptr);
|
typedef CUresult CUDAAPI tcuMemFree_v2(CUdeviceptr dptr);
|
||||||
typedef CUresult CUDAAPI tcuMemGetAddressRange_v2(CUdeviceptr* pbase, size_t* psize, CUdeviceptr dptr);
|
typedef CUresult CUDAAPI tcuMemGetAddressRange_v2(CUdeviceptr* pbase, size_t* psize, CUdeviceptr dptr);
|
||||||
typedef CUresult CUDAAPI tcuMemAllocHost_v2(void** pp, size_t bytesize);
|
typedef CUresult CUDAAPI tcuMemAllocHost_v2(void* pp, size_t bytesize);
|
||||||
typedef CUresult CUDAAPI tcuMemFreeHost(void* p);
|
typedef CUresult CUDAAPI tcuMemFreeHost(void* p);
|
||||||
typedef CUresult CUDAAPI tcuMemHostAlloc(void** pp, size_t bytesize, unsigned int Flags);
|
typedef CUresult CUDAAPI tcuMemHostAlloc(void* pp, size_t bytesize, unsigned int Flags);
|
||||||
typedef CUresult CUDAAPI tcuMemHostGetDevicePointer_v2(CUdeviceptr* pdptr, void* p, unsigned int Flags);
|
typedef CUresult CUDAAPI tcuMemHostGetDevicePointer_v2(CUdeviceptr* pdptr, void* p, unsigned int Flags);
|
||||||
typedef CUresult CUDAAPI tcuMemHostGetFlags(unsigned int* pFlags, void* p);
|
typedef CUresult CUDAAPI tcuMemHostGetFlags(unsigned int* pFlags, void* p);
|
||||||
typedef CUresult CUDAAPI tcuMemAllocManaged(CUdeviceptr* dptr, size_t bytesize, unsigned int flags);
|
typedef CUresult CUDAAPI tcuMemAllocManaged(CUdeviceptr* dptr, size_t bytesize, unsigned int flags);
|
||||||
@@ -960,12 +863,8 @@ typedef CUresult CUDAAPI tcuMipmappedArrayCreate(CUmipmappedArray* pHandle, cons
|
|||||||
typedef CUresult CUDAAPI tcuMipmappedArrayGetLevel(CUarray* pLevelArray, CUmipmappedArray hMipmappedArray, unsigned int level);
|
typedef CUresult CUDAAPI tcuMipmappedArrayGetLevel(CUarray* pLevelArray, CUmipmappedArray hMipmappedArray, unsigned int level);
|
||||||
typedef CUresult CUDAAPI tcuMipmappedArrayDestroy(CUmipmappedArray hMipmappedArray);
|
typedef CUresult CUDAAPI tcuMipmappedArrayDestroy(CUmipmappedArray hMipmappedArray);
|
||||||
typedef CUresult CUDAAPI tcuPointerGetAttribute(void* data, CUpointer_attribute attribute, CUdeviceptr ptr);
|
typedef CUresult CUDAAPI tcuPointerGetAttribute(void* data, CUpointer_attribute attribute, CUdeviceptr ptr);
|
||||||
typedef CUresult CUDAAPI tcuMemPrefetchAsync(CUdeviceptr devPtr, size_t count, CUdevice dstDevice, CUstream hStream);
|
|
||||||
typedef CUresult CUDAAPI tcuMemAdvise(CUdeviceptr devPtr, size_t count, CUmem_advise advice, CUdevice device);
|
|
||||||
typedef CUresult CUDAAPI tcuMemRangeGetAttribute(void* data, size_t dataSize, CUmem_range_attribute attribute, CUdeviceptr devPtr, size_t count);
|
|
||||||
typedef CUresult CUDAAPI tcuMemRangeGetAttributes(void** data, size_t* dataSizes, CUmem_range_attribute* attributes, size_t numAttributes, CUdeviceptr devPtr, size_t count);
|
|
||||||
typedef CUresult CUDAAPI tcuPointerSetAttribute(const void* value, CUpointer_attribute attribute, CUdeviceptr ptr);
|
typedef CUresult CUDAAPI tcuPointerSetAttribute(const void* value, CUpointer_attribute attribute, CUdeviceptr ptr);
|
||||||
typedef CUresult CUDAAPI tcuPointerGetAttributes(unsigned int numAttributes, CUpointer_attribute* attributes, void** data, CUdeviceptr ptr);
|
typedef CUresult CUDAAPI tcuPointerGetAttributes(unsigned int numAttributes, CUpointer_attribute* attributes, void* data, CUdeviceptr ptr);
|
||||||
typedef CUresult CUDAAPI tcuStreamCreate(CUstream* phStream, unsigned int Flags);
|
typedef CUresult CUDAAPI tcuStreamCreate(CUstream* phStream, unsigned int Flags);
|
||||||
typedef CUresult CUDAAPI tcuStreamCreateWithPriority(CUstream* phStream, unsigned int flags, int priority);
|
typedef CUresult CUDAAPI tcuStreamCreateWithPriority(CUstream* phStream, unsigned int flags, int priority);
|
||||||
typedef CUresult CUDAAPI tcuStreamGetPriority(CUstream hStream, int* priority);
|
typedef CUresult CUDAAPI tcuStreamGetPriority(CUstream hStream, int* priority);
|
||||||
@@ -982,13 +881,10 @@ typedef CUresult CUDAAPI tcuEventQuery(CUevent hEvent);
|
|||||||
typedef CUresult CUDAAPI tcuEventSynchronize(CUevent hEvent);
|
typedef CUresult CUDAAPI tcuEventSynchronize(CUevent hEvent);
|
||||||
typedef CUresult CUDAAPI tcuEventDestroy_v2(CUevent hEvent);
|
typedef CUresult CUDAAPI tcuEventDestroy_v2(CUevent hEvent);
|
||||||
typedef CUresult CUDAAPI tcuEventElapsedTime(float* pMilliseconds, CUevent hStart, CUevent hEnd);
|
typedef CUresult CUDAAPI tcuEventElapsedTime(float* pMilliseconds, CUevent hStart, CUevent hEnd);
|
||||||
typedef CUresult CUDAAPI tcuStreamWaitValue32(CUstream stream, CUdeviceptr addr, cuuint32_t value, unsigned int flags);
|
|
||||||
typedef CUresult CUDAAPI tcuStreamWriteValue32(CUstream stream, CUdeviceptr addr, cuuint32_t value, unsigned int flags);
|
|
||||||
typedef CUresult CUDAAPI tcuStreamBatchMemOp(CUstream stream, unsigned int count, CUstreamBatchMemOpParams* paramArray, unsigned int flags);
|
|
||||||
typedef CUresult CUDAAPI tcuFuncGetAttribute(int* pi, CUfunction_attribute attrib, CUfunction hfunc);
|
typedef CUresult CUDAAPI tcuFuncGetAttribute(int* pi, CUfunction_attribute attrib, CUfunction hfunc);
|
||||||
typedef CUresult CUDAAPI tcuFuncSetCacheConfig(CUfunction hfunc, CUfunc_cache config);
|
typedef CUresult CUDAAPI tcuFuncSetCacheConfig(CUfunction hfunc, CUfunc_cache config);
|
||||||
typedef CUresult CUDAAPI tcuFuncSetSharedMemConfig(CUfunction hfunc, CUsharedconfig config);
|
typedef CUresult CUDAAPI tcuFuncSetSharedMemConfig(CUfunction hfunc, CUsharedconfig config);
|
||||||
typedef CUresult CUDAAPI tcuLaunchKernel(CUfunction f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, CUstream hStream, void** kernelParams, void** extra);
|
typedef CUresult CUDAAPI tcuLaunchKernel(CUfunction f, unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, CUstream hStream, void* kernelParams, void* extra);
|
||||||
typedef CUresult CUDAAPI tcuFuncSetBlockShape(CUfunction hfunc, int x, int y, int z);
|
typedef CUresult CUDAAPI tcuFuncSetBlockShape(CUfunction hfunc, int x, int y, int z);
|
||||||
typedef CUresult CUDAAPI tcuFuncSetSharedSize(CUfunction hfunc, unsigned int bytes);
|
typedef CUresult CUDAAPI tcuFuncSetSharedSize(CUfunction hfunc, unsigned int bytes);
|
||||||
typedef CUresult CUDAAPI tcuParamSetSize(CUfunction hfunc, unsigned int numbytes);
|
typedef CUresult CUDAAPI tcuParamSetSize(CUfunction hfunc, unsigned int numbytes);
|
||||||
@@ -1014,7 +910,6 @@ typedef CUresult CUDAAPI tcuTexRefSetMipmapFilterMode(CUtexref hTexRef, CUfilter
|
|||||||
typedef CUresult CUDAAPI tcuTexRefSetMipmapLevelBias(CUtexref hTexRef, float bias);
|
typedef CUresult CUDAAPI tcuTexRefSetMipmapLevelBias(CUtexref hTexRef, float bias);
|
||||||
typedef CUresult CUDAAPI tcuTexRefSetMipmapLevelClamp(CUtexref hTexRef, float minMipmapLevelClamp, float maxMipmapLevelClamp);
|
typedef CUresult CUDAAPI tcuTexRefSetMipmapLevelClamp(CUtexref hTexRef, float minMipmapLevelClamp, float maxMipmapLevelClamp);
|
||||||
typedef CUresult CUDAAPI tcuTexRefSetMaxAnisotropy(CUtexref hTexRef, unsigned int maxAniso);
|
typedef CUresult CUDAAPI tcuTexRefSetMaxAnisotropy(CUtexref hTexRef, unsigned int maxAniso);
|
||||||
typedef CUresult CUDAAPI tcuTexRefSetBorderColor(CUtexref hTexRef, float* pBorderColor);
|
|
||||||
typedef CUresult CUDAAPI tcuTexRefSetFlags(CUtexref hTexRef, unsigned int Flags);
|
typedef CUresult CUDAAPI tcuTexRefSetFlags(CUtexref hTexRef, unsigned int Flags);
|
||||||
typedef CUresult CUDAAPI tcuTexRefGetAddress_v2(CUdeviceptr* pdptr, CUtexref hTexRef);
|
typedef CUresult CUDAAPI tcuTexRefGetAddress_v2(CUdeviceptr* pdptr, CUtexref hTexRef);
|
||||||
typedef CUresult CUDAAPI tcuTexRefGetArray(CUarray* phArray, CUtexref hTexRef);
|
typedef CUresult CUDAAPI tcuTexRefGetArray(CUarray* phArray, CUtexref hTexRef);
|
||||||
@@ -1026,7 +921,6 @@ typedef CUresult CUDAAPI tcuTexRefGetMipmapFilterMode(CUfilter_mode* pfm, CUtexr
|
|||||||
typedef CUresult CUDAAPI tcuTexRefGetMipmapLevelBias(float* pbias, CUtexref hTexRef);
|
typedef CUresult CUDAAPI tcuTexRefGetMipmapLevelBias(float* pbias, CUtexref hTexRef);
|
||||||
typedef CUresult CUDAAPI tcuTexRefGetMipmapLevelClamp(float* pminMipmapLevelClamp, float* pmaxMipmapLevelClamp, CUtexref hTexRef);
|
typedef CUresult CUDAAPI tcuTexRefGetMipmapLevelClamp(float* pminMipmapLevelClamp, float* pmaxMipmapLevelClamp, CUtexref hTexRef);
|
||||||
typedef CUresult CUDAAPI tcuTexRefGetMaxAnisotropy(int* pmaxAniso, CUtexref hTexRef);
|
typedef CUresult CUDAAPI tcuTexRefGetMaxAnisotropy(int* pmaxAniso, CUtexref hTexRef);
|
||||||
typedef CUresult CUDAAPI tcuTexRefGetBorderColor(float* pBorderColor, CUtexref hTexRef);
|
|
||||||
typedef CUresult CUDAAPI tcuTexRefGetFlags(unsigned int* pFlags, CUtexref hTexRef);
|
typedef CUresult CUDAAPI tcuTexRefGetFlags(unsigned int* pFlags, CUtexref hTexRef);
|
||||||
typedef CUresult CUDAAPI tcuTexRefCreate(CUtexref* pTexRef);
|
typedef CUresult CUDAAPI tcuTexRefCreate(CUtexref* pTexRef);
|
||||||
typedef CUresult CUDAAPI tcuTexRefDestroy(CUtexref hTexRef);
|
typedef CUresult CUDAAPI tcuTexRefDestroy(CUtexref hTexRef);
|
||||||
@@ -1041,7 +935,6 @@ typedef CUresult CUDAAPI tcuSurfObjectCreate(CUsurfObject* pSurfObject, const CU
|
|||||||
typedef CUresult CUDAAPI tcuSurfObjectDestroy(CUsurfObject surfObject);
|
typedef CUresult CUDAAPI tcuSurfObjectDestroy(CUsurfObject surfObject);
|
||||||
typedef CUresult CUDAAPI tcuSurfObjectGetResourceDesc(CUDA_RESOURCE_DESC* pResDesc, CUsurfObject surfObject);
|
typedef CUresult CUDAAPI tcuSurfObjectGetResourceDesc(CUDA_RESOURCE_DESC* pResDesc, CUsurfObject surfObject);
|
||||||
typedef CUresult CUDAAPI tcuDeviceCanAccessPeer(int* canAccessPeer, CUdevice dev, CUdevice peerDev);
|
typedef CUresult CUDAAPI tcuDeviceCanAccessPeer(int* canAccessPeer, CUdevice dev, CUdevice peerDev);
|
||||||
typedef CUresult CUDAAPI tcuDeviceGetP2PAttribute(int* value, CUdevice_P2PAttribute attrib, CUdevice srcDevice, CUdevice dstDevice);
|
|
||||||
typedef CUresult CUDAAPI tcuCtxEnablePeerAccess(CUcontext peerContext, unsigned int Flags);
|
typedef CUresult CUDAAPI tcuCtxEnablePeerAccess(CUcontext peerContext, unsigned int Flags);
|
||||||
typedef CUresult CUDAAPI tcuCtxDisablePeerAccess(CUcontext peerContext);
|
typedef CUresult CUDAAPI tcuCtxDisablePeerAccess(CUcontext peerContext);
|
||||||
typedef CUresult CUDAAPI tcuGraphicsUnregisterResource(CUgraphicsResource resource);
|
typedef CUresult CUDAAPI tcuGraphicsUnregisterResource(CUgraphicsResource resource);
|
||||||
@@ -1051,7 +944,7 @@ typedef CUresult CUDAAPI tcuGraphicsResourceGetMappedPointer_v2(CUdeviceptr* pDe
|
|||||||
typedef CUresult CUDAAPI tcuGraphicsResourceSetMapFlags_v2(CUgraphicsResource resource, unsigned int flags);
|
typedef CUresult CUDAAPI tcuGraphicsResourceSetMapFlags_v2(CUgraphicsResource resource, unsigned int flags);
|
||||||
typedef CUresult CUDAAPI tcuGraphicsMapResources(unsigned int count, CUgraphicsResource* resources, CUstream hStream);
|
typedef CUresult CUDAAPI tcuGraphicsMapResources(unsigned int count, CUgraphicsResource* resources, CUstream hStream);
|
||||||
typedef CUresult CUDAAPI tcuGraphicsUnmapResources(unsigned int count, CUgraphicsResource* resources, CUstream hStream);
|
typedef CUresult CUDAAPI tcuGraphicsUnmapResources(unsigned int count, CUgraphicsResource* resources, CUstream hStream);
|
||||||
typedef CUresult CUDAAPI tcuGetExportTable(const void** ppExportTable, const CUuuid* pExportTableId);
|
typedef CUresult CUDAAPI tcuGetExportTable(const void* ppExportTable, const CUuuid* pExportTableId);
|
||||||
|
|
||||||
typedef CUresult CUDAAPI tcuGraphicsGLRegisterBuffer(CUgraphicsResource* pCudaResource, GLuint buffer, unsigned int Flags);
|
typedef CUresult CUDAAPI tcuGraphicsGLRegisterBuffer(CUgraphicsResource* pCudaResource, GLuint buffer, unsigned int Flags);
|
||||||
typedef CUresult CUDAAPI tcuGraphicsGLRegisterImage(CUgraphicsResource* pCudaResource, GLuint image, GLenum target, unsigned int Flags);
|
typedef CUresult CUDAAPI tcuGraphicsGLRegisterImage(CUgraphicsResource* pCudaResource, GLuint image, GLenum target, unsigned int Flags);
|
||||||
@@ -1068,15 +961,13 @@ typedef CUresult CUDAAPI tcuGLUnmapBufferObjectAsync(GLuint buffer, CUstream hSt
|
|||||||
|
|
||||||
typedef const char* CUDAAPI tnvrtcGetErrorString(nvrtcResult result);
|
typedef const char* CUDAAPI tnvrtcGetErrorString(nvrtcResult result);
|
||||||
typedef nvrtcResult CUDAAPI tnvrtcVersion(int* major, int* minor);
|
typedef nvrtcResult CUDAAPI tnvrtcVersion(int* major, int* minor);
|
||||||
typedef nvrtcResult CUDAAPI tnvrtcCreateProgram(nvrtcProgram* prog, const char* src, const char* name, int numHeaders, const char** headers, const char** includeNames);
|
typedef nvrtcResult CUDAAPI tnvrtcCreateProgram(nvrtcProgram* prog, const char* src, const char* name, int numHeaders, const char* headers, const char* includeNames);
|
||||||
typedef nvrtcResult CUDAAPI tnvrtcDestroyProgram(nvrtcProgram* prog);
|
typedef nvrtcResult CUDAAPI tnvrtcDestroyProgram(nvrtcProgram* prog);
|
||||||
typedef nvrtcResult CUDAAPI tnvrtcCompileProgram(nvrtcProgram prog, int numOptions, const char** options);
|
typedef nvrtcResult CUDAAPI tnvrtcCompileProgram(nvrtcProgram prog, int numOptions, const char* options);
|
||||||
typedef nvrtcResult CUDAAPI tnvrtcGetPTXSize(nvrtcProgram prog, size_t* ptxSizeRet);
|
typedef nvrtcResult CUDAAPI tnvrtcGetPTXSize(nvrtcProgram prog, size_t* ptxSizeRet);
|
||||||
typedef nvrtcResult CUDAAPI tnvrtcGetPTX(nvrtcProgram prog, char* ptx);
|
typedef nvrtcResult CUDAAPI tnvrtcGetPTX(nvrtcProgram prog, char* ptx);
|
||||||
typedef nvrtcResult CUDAAPI tnvrtcGetProgramLogSize(nvrtcProgram prog, size_t* logSizeRet);
|
typedef nvrtcResult CUDAAPI tnvrtcGetProgramLogSize(nvrtcProgram prog, size_t* logSizeRet);
|
||||||
typedef nvrtcResult CUDAAPI tnvrtcGetProgramLog(nvrtcProgram prog, char* log);
|
typedef nvrtcResult CUDAAPI tnvrtcGetProgramLog(nvrtcProgram prog, char* log);
|
||||||
typedef nvrtcResult CUDAAPI tnvrtcAddNameExpression(nvrtcProgram prog, const char* name_expression);
|
|
||||||
typedef nvrtcResult CUDAAPI tnvrtcGetLoweredName(nvrtcProgram prog, const char* name_expression, const char** lowered_name);
|
|
||||||
|
|
||||||
|
|
||||||
/* Function declarations. */
|
/* Function declarations. */
|
||||||
@@ -1194,10 +1085,6 @@ extern tcuMipmappedArrayCreate *cuMipmappedArrayCreate;
|
|||||||
extern tcuMipmappedArrayGetLevel *cuMipmappedArrayGetLevel;
|
extern tcuMipmappedArrayGetLevel *cuMipmappedArrayGetLevel;
|
||||||
extern tcuMipmappedArrayDestroy *cuMipmappedArrayDestroy;
|
extern tcuMipmappedArrayDestroy *cuMipmappedArrayDestroy;
|
||||||
extern tcuPointerGetAttribute *cuPointerGetAttribute;
|
extern tcuPointerGetAttribute *cuPointerGetAttribute;
|
||||||
extern tcuMemPrefetchAsync *cuMemPrefetchAsync;
|
|
||||||
extern tcuMemAdvise *cuMemAdvise;
|
|
||||||
extern tcuMemRangeGetAttribute *cuMemRangeGetAttribute;
|
|
||||||
extern tcuMemRangeGetAttributes *cuMemRangeGetAttributes;
|
|
||||||
extern tcuPointerSetAttribute *cuPointerSetAttribute;
|
extern tcuPointerSetAttribute *cuPointerSetAttribute;
|
||||||
extern tcuPointerGetAttributes *cuPointerGetAttributes;
|
extern tcuPointerGetAttributes *cuPointerGetAttributes;
|
||||||
extern tcuStreamCreate *cuStreamCreate;
|
extern tcuStreamCreate *cuStreamCreate;
|
||||||
@@ -1216,9 +1103,6 @@ extern tcuEventQuery *cuEventQuery;
|
|||||||
extern tcuEventSynchronize *cuEventSynchronize;
|
extern tcuEventSynchronize *cuEventSynchronize;
|
||||||
extern tcuEventDestroy_v2 *cuEventDestroy_v2;
|
extern tcuEventDestroy_v2 *cuEventDestroy_v2;
|
||||||
extern tcuEventElapsedTime *cuEventElapsedTime;
|
extern tcuEventElapsedTime *cuEventElapsedTime;
|
||||||
extern tcuStreamWaitValue32 *cuStreamWaitValue32;
|
|
||||||
extern tcuStreamWriteValue32 *cuStreamWriteValue32;
|
|
||||||
extern tcuStreamBatchMemOp *cuStreamBatchMemOp;
|
|
||||||
extern tcuFuncGetAttribute *cuFuncGetAttribute;
|
extern tcuFuncGetAttribute *cuFuncGetAttribute;
|
||||||
extern tcuFuncSetCacheConfig *cuFuncSetCacheConfig;
|
extern tcuFuncSetCacheConfig *cuFuncSetCacheConfig;
|
||||||
extern tcuFuncSetSharedMemConfig *cuFuncSetSharedMemConfig;
|
extern tcuFuncSetSharedMemConfig *cuFuncSetSharedMemConfig;
|
||||||
@@ -1248,7 +1132,6 @@ extern tcuTexRefSetMipmapFilterMode *cuTexRefSetMipmapFilterMode;
|
|||||||
extern tcuTexRefSetMipmapLevelBias *cuTexRefSetMipmapLevelBias;
|
extern tcuTexRefSetMipmapLevelBias *cuTexRefSetMipmapLevelBias;
|
||||||
extern tcuTexRefSetMipmapLevelClamp *cuTexRefSetMipmapLevelClamp;
|
extern tcuTexRefSetMipmapLevelClamp *cuTexRefSetMipmapLevelClamp;
|
||||||
extern tcuTexRefSetMaxAnisotropy *cuTexRefSetMaxAnisotropy;
|
extern tcuTexRefSetMaxAnisotropy *cuTexRefSetMaxAnisotropy;
|
||||||
extern tcuTexRefSetBorderColor *cuTexRefSetBorderColor;
|
|
||||||
extern tcuTexRefSetFlags *cuTexRefSetFlags;
|
extern tcuTexRefSetFlags *cuTexRefSetFlags;
|
||||||
extern tcuTexRefGetAddress_v2 *cuTexRefGetAddress_v2;
|
extern tcuTexRefGetAddress_v2 *cuTexRefGetAddress_v2;
|
||||||
extern tcuTexRefGetArray *cuTexRefGetArray;
|
extern tcuTexRefGetArray *cuTexRefGetArray;
|
||||||
@@ -1260,7 +1143,6 @@ extern tcuTexRefGetMipmapFilterMode *cuTexRefGetMipmapFilterMode;
|
|||||||
extern tcuTexRefGetMipmapLevelBias *cuTexRefGetMipmapLevelBias;
|
extern tcuTexRefGetMipmapLevelBias *cuTexRefGetMipmapLevelBias;
|
||||||
extern tcuTexRefGetMipmapLevelClamp *cuTexRefGetMipmapLevelClamp;
|
extern tcuTexRefGetMipmapLevelClamp *cuTexRefGetMipmapLevelClamp;
|
||||||
extern tcuTexRefGetMaxAnisotropy *cuTexRefGetMaxAnisotropy;
|
extern tcuTexRefGetMaxAnisotropy *cuTexRefGetMaxAnisotropy;
|
||||||
extern tcuTexRefGetBorderColor *cuTexRefGetBorderColor;
|
|
||||||
extern tcuTexRefGetFlags *cuTexRefGetFlags;
|
extern tcuTexRefGetFlags *cuTexRefGetFlags;
|
||||||
extern tcuTexRefCreate *cuTexRefCreate;
|
extern tcuTexRefCreate *cuTexRefCreate;
|
||||||
extern tcuTexRefDestroy *cuTexRefDestroy;
|
extern tcuTexRefDestroy *cuTexRefDestroy;
|
||||||
@@ -1275,7 +1157,6 @@ extern tcuSurfObjectCreate *cuSurfObjectCreate;
|
|||||||
extern tcuSurfObjectDestroy *cuSurfObjectDestroy;
|
extern tcuSurfObjectDestroy *cuSurfObjectDestroy;
|
||||||
extern tcuSurfObjectGetResourceDesc *cuSurfObjectGetResourceDesc;
|
extern tcuSurfObjectGetResourceDesc *cuSurfObjectGetResourceDesc;
|
||||||
extern tcuDeviceCanAccessPeer *cuDeviceCanAccessPeer;
|
extern tcuDeviceCanAccessPeer *cuDeviceCanAccessPeer;
|
||||||
extern tcuDeviceGetP2PAttribute *cuDeviceGetP2PAttribute;
|
|
||||||
extern tcuCtxEnablePeerAccess *cuCtxEnablePeerAccess;
|
extern tcuCtxEnablePeerAccess *cuCtxEnablePeerAccess;
|
||||||
extern tcuCtxDisablePeerAccess *cuCtxDisablePeerAccess;
|
extern tcuCtxDisablePeerAccess *cuCtxDisablePeerAccess;
|
||||||
extern tcuGraphicsUnregisterResource *cuGraphicsUnregisterResource;
|
extern tcuGraphicsUnregisterResource *cuGraphicsUnregisterResource;
|
||||||
@@ -1309,8 +1190,6 @@ extern tnvrtcGetPTXSize *nvrtcGetPTXSize;
|
|||||||
extern tnvrtcGetPTX *nvrtcGetPTX;
|
extern tnvrtcGetPTX *nvrtcGetPTX;
|
||||||
extern tnvrtcGetProgramLogSize *nvrtcGetProgramLogSize;
|
extern tnvrtcGetProgramLogSize *nvrtcGetProgramLogSize;
|
||||||
extern tnvrtcGetProgramLog *nvrtcGetProgramLog;
|
extern tnvrtcGetProgramLog *nvrtcGetProgramLog;
|
||||||
extern tnvrtcAddNameExpression *nvrtcAddNameExpression;
|
|
||||||
extern tnvrtcGetLoweredName *nvrtcGetLoweredName;
|
|
||||||
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
25
extern/cuew/src/cuew.c
vendored
25
extern/cuew/src/cuew.c
vendored
@@ -184,10 +184,6 @@ tcuMipmappedArrayCreate *cuMipmappedArrayCreate;
|
|||||||
tcuMipmappedArrayGetLevel *cuMipmappedArrayGetLevel;
|
tcuMipmappedArrayGetLevel *cuMipmappedArrayGetLevel;
|
||||||
tcuMipmappedArrayDestroy *cuMipmappedArrayDestroy;
|
tcuMipmappedArrayDestroy *cuMipmappedArrayDestroy;
|
||||||
tcuPointerGetAttribute *cuPointerGetAttribute;
|
tcuPointerGetAttribute *cuPointerGetAttribute;
|
||||||
tcuMemPrefetchAsync *cuMemPrefetchAsync;
|
|
||||||
tcuMemAdvise *cuMemAdvise;
|
|
||||||
tcuMemRangeGetAttribute *cuMemRangeGetAttribute;
|
|
||||||
tcuMemRangeGetAttributes *cuMemRangeGetAttributes;
|
|
||||||
tcuPointerSetAttribute *cuPointerSetAttribute;
|
tcuPointerSetAttribute *cuPointerSetAttribute;
|
||||||
tcuPointerGetAttributes *cuPointerGetAttributes;
|
tcuPointerGetAttributes *cuPointerGetAttributes;
|
||||||
tcuStreamCreate *cuStreamCreate;
|
tcuStreamCreate *cuStreamCreate;
|
||||||
@@ -206,9 +202,6 @@ tcuEventQuery *cuEventQuery;
|
|||||||
tcuEventSynchronize *cuEventSynchronize;
|
tcuEventSynchronize *cuEventSynchronize;
|
||||||
tcuEventDestroy_v2 *cuEventDestroy_v2;
|
tcuEventDestroy_v2 *cuEventDestroy_v2;
|
||||||
tcuEventElapsedTime *cuEventElapsedTime;
|
tcuEventElapsedTime *cuEventElapsedTime;
|
||||||
tcuStreamWaitValue32 *cuStreamWaitValue32;
|
|
||||||
tcuStreamWriteValue32 *cuStreamWriteValue32;
|
|
||||||
tcuStreamBatchMemOp *cuStreamBatchMemOp;
|
|
||||||
tcuFuncGetAttribute *cuFuncGetAttribute;
|
tcuFuncGetAttribute *cuFuncGetAttribute;
|
||||||
tcuFuncSetCacheConfig *cuFuncSetCacheConfig;
|
tcuFuncSetCacheConfig *cuFuncSetCacheConfig;
|
||||||
tcuFuncSetSharedMemConfig *cuFuncSetSharedMemConfig;
|
tcuFuncSetSharedMemConfig *cuFuncSetSharedMemConfig;
|
||||||
@@ -238,7 +231,6 @@ tcuTexRefSetMipmapFilterMode *cuTexRefSetMipmapFilterMode;
|
|||||||
tcuTexRefSetMipmapLevelBias *cuTexRefSetMipmapLevelBias;
|
tcuTexRefSetMipmapLevelBias *cuTexRefSetMipmapLevelBias;
|
||||||
tcuTexRefSetMipmapLevelClamp *cuTexRefSetMipmapLevelClamp;
|
tcuTexRefSetMipmapLevelClamp *cuTexRefSetMipmapLevelClamp;
|
||||||
tcuTexRefSetMaxAnisotropy *cuTexRefSetMaxAnisotropy;
|
tcuTexRefSetMaxAnisotropy *cuTexRefSetMaxAnisotropy;
|
||||||
tcuTexRefSetBorderColor *cuTexRefSetBorderColor;
|
|
||||||
tcuTexRefSetFlags *cuTexRefSetFlags;
|
tcuTexRefSetFlags *cuTexRefSetFlags;
|
||||||
tcuTexRefGetAddress_v2 *cuTexRefGetAddress_v2;
|
tcuTexRefGetAddress_v2 *cuTexRefGetAddress_v2;
|
||||||
tcuTexRefGetArray *cuTexRefGetArray;
|
tcuTexRefGetArray *cuTexRefGetArray;
|
||||||
@@ -250,7 +242,6 @@ tcuTexRefGetMipmapFilterMode *cuTexRefGetMipmapFilterMode;
|
|||||||
tcuTexRefGetMipmapLevelBias *cuTexRefGetMipmapLevelBias;
|
tcuTexRefGetMipmapLevelBias *cuTexRefGetMipmapLevelBias;
|
||||||
tcuTexRefGetMipmapLevelClamp *cuTexRefGetMipmapLevelClamp;
|
tcuTexRefGetMipmapLevelClamp *cuTexRefGetMipmapLevelClamp;
|
||||||
tcuTexRefGetMaxAnisotropy *cuTexRefGetMaxAnisotropy;
|
tcuTexRefGetMaxAnisotropy *cuTexRefGetMaxAnisotropy;
|
||||||
tcuTexRefGetBorderColor *cuTexRefGetBorderColor;
|
|
||||||
tcuTexRefGetFlags *cuTexRefGetFlags;
|
tcuTexRefGetFlags *cuTexRefGetFlags;
|
||||||
tcuTexRefCreate *cuTexRefCreate;
|
tcuTexRefCreate *cuTexRefCreate;
|
||||||
tcuTexRefDestroy *cuTexRefDestroy;
|
tcuTexRefDestroy *cuTexRefDestroy;
|
||||||
@@ -265,7 +256,6 @@ tcuSurfObjectCreate *cuSurfObjectCreate;
|
|||||||
tcuSurfObjectDestroy *cuSurfObjectDestroy;
|
tcuSurfObjectDestroy *cuSurfObjectDestroy;
|
||||||
tcuSurfObjectGetResourceDesc *cuSurfObjectGetResourceDesc;
|
tcuSurfObjectGetResourceDesc *cuSurfObjectGetResourceDesc;
|
||||||
tcuDeviceCanAccessPeer *cuDeviceCanAccessPeer;
|
tcuDeviceCanAccessPeer *cuDeviceCanAccessPeer;
|
||||||
tcuDeviceGetP2PAttribute *cuDeviceGetP2PAttribute;
|
|
||||||
tcuCtxEnablePeerAccess *cuCtxEnablePeerAccess;
|
tcuCtxEnablePeerAccess *cuCtxEnablePeerAccess;
|
||||||
tcuCtxDisablePeerAccess *cuCtxDisablePeerAccess;
|
tcuCtxDisablePeerAccess *cuCtxDisablePeerAccess;
|
||||||
tcuGraphicsUnregisterResource *cuGraphicsUnregisterResource;
|
tcuGraphicsUnregisterResource *cuGraphicsUnregisterResource;
|
||||||
@@ -299,8 +289,6 @@ tnvrtcGetPTXSize *nvrtcGetPTXSize;
|
|||||||
tnvrtcGetPTX *nvrtcGetPTX;
|
tnvrtcGetPTX *nvrtcGetPTX;
|
||||||
tnvrtcGetProgramLogSize *nvrtcGetProgramLogSize;
|
tnvrtcGetProgramLogSize *nvrtcGetProgramLogSize;
|
||||||
tnvrtcGetProgramLog *nvrtcGetProgramLog;
|
tnvrtcGetProgramLog *nvrtcGetProgramLog;
|
||||||
tnvrtcAddNameExpression *nvrtcAddNameExpression;
|
|
||||||
tnvrtcGetLoweredName *nvrtcGetLoweredName;
|
|
||||||
|
|
||||||
|
|
||||||
static DynamicLibrary dynamic_library_open_find(const char **paths) {
|
static DynamicLibrary dynamic_library_open_find(const char **paths) {
|
||||||
@@ -498,10 +486,6 @@ int cuewInit(void) {
|
|||||||
CUDA_LIBRARY_FIND(cuMipmappedArrayGetLevel);
|
CUDA_LIBRARY_FIND(cuMipmappedArrayGetLevel);
|
||||||
CUDA_LIBRARY_FIND(cuMipmappedArrayDestroy);
|
CUDA_LIBRARY_FIND(cuMipmappedArrayDestroy);
|
||||||
CUDA_LIBRARY_FIND(cuPointerGetAttribute);
|
CUDA_LIBRARY_FIND(cuPointerGetAttribute);
|
||||||
CUDA_LIBRARY_FIND(cuMemPrefetchAsync);
|
|
||||||
CUDA_LIBRARY_FIND(cuMemAdvise);
|
|
||||||
CUDA_LIBRARY_FIND(cuMemRangeGetAttribute);
|
|
||||||
CUDA_LIBRARY_FIND(cuMemRangeGetAttributes);
|
|
||||||
CUDA_LIBRARY_FIND(cuPointerSetAttribute);
|
CUDA_LIBRARY_FIND(cuPointerSetAttribute);
|
||||||
CUDA_LIBRARY_FIND(cuPointerGetAttributes);
|
CUDA_LIBRARY_FIND(cuPointerGetAttributes);
|
||||||
CUDA_LIBRARY_FIND(cuStreamCreate);
|
CUDA_LIBRARY_FIND(cuStreamCreate);
|
||||||
@@ -520,9 +504,6 @@ int cuewInit(void) {
|
|||||||
CUDA_LIBRARY_FIND(cuEventSynchronize);
|
CUDA_LIBRARY_FIND(cuEventSynchronize);
|
||||||
CUDA_LIBRARY_FIND(cuEventDestroy_v2);
|
CUDA_LIBRARY_FIND(cuEventDestroy_v2);
|
||||||
CUDA_LIBRARY_FIND(cuEventElapsedTime);
|
CUDA_LIBRARY_FIND(cuEventElapsedTime);
|
||||||
CUDA_LIBRARY_FIND(cuStreamWaitValue32);
|
|
||||||
CUDA_LIBRARY_FIND(cuStreamWriteValue32);
|
|
||||||
CUDA_LIBRARY_FIND(cuStreamBatchMemOp);
|
|
||||||
CUDA_LIBRARY_FIND(cuFuncGetAttribute);
|
CUDA_LIBRARY_FIND(cuFuncGetAttribute);
|
||||||
CUDA_LIBRARY_FIND(cuFuncSetCacheConfig);
|
CUDA_LIBRARY_FIND(cuFuncSetCacheConfig);
|
||||||
CUDA_LIBRARY_FIND(cuFuncSetSharedMemConfig);
|
CUDA_LIBRARY_FIND(cuFuncSetSharedMemConfig);
|
||||||
@@ -552,7 +533,6 @@ int cuewInit(void) {
|
|||||||
CUDA_LIBRARY_FIND(cuTexRefSetMipmapLevelBias);
|
CUDA_LIBRARY_FIND(cuTexRefSetMipmapLevelBias);
|
||||||
CUDA_LIBRARY_FIND(cuTexRefSetMipmapLevelClamp);
|
CUDA_LIBRARY_FIND(cuTexRefSetMipmapLevelClamp);
|
||||||
CUDA_LIBRARY_FIND(cuTexRefSetMaxAnisotropy);
|
CUDA_LIBRARY_FIND(cuTexRefSetMaxAnisotropy);
|
||||||
CUDA_LIBRARY_FIND(cuTexRefSetBorderColor);
|
|
||||||
CUDA_LIBRARY_FIND(cuTexRefSetFlags);
|
CUDA_LIBRARY_FIND(cuTexRefSetFlags);
|
||||||
CUDA_LIBRARY_FIND(cuTexRefGetAddress_v2);
|
CUDA_LIBRARY_FIND(cuTexRefGetAddress_v2);
|
||||||
CUDA_LIBRARY_FIND(cuTexRefGetArray);
|
CUDA_LIBRARY_FIND(cuTexRefGetArray);
|
||||||
@@ -564,7 +544,6 @@ int cuewInit(void) {
|
|||||||
CUDA_LIBRARY_FIND(cuTexRefGetMipmapLevelBias);
|
CUDA_LIBRARY_FIND(cuTexRefGetMipmapLevelBias);
|
||||||
CUDA_LIBRARY_FIND(cuTexRefGetMipmapLevelClamp);
|
CUDA_LIBRARY_FIND(cuTexRefGetMipmapLevelClamp);
|
||||||
CUDA_LIBRARY_FIND(cuTexRefGetMaxAnisotropy);
|
CUDA_LIBRARY_FIND(cuTexRefGetMaxAnisotropy);
|
||||||
CUDA_LIBRARY_FIND(cuTexRefGetBorderColor);
|
|
||||||
CUDA_LIBRARY_FIND(cuTexRefGetFlags);
|
CUDA_LIBRARY_FIND(cuTexRefGetFlags);
|
||||||
CUDA_LIBRARY_FIND(cuTexRefCreate);
|
CUDA_LIBRARY_FIND(cuTexRefCreate);
|
||||||
CUDA_LIBRARY_FIND(cuTexRefDestroy);
|
CUDA_LIBRARY_FIND(cuTexRefDestroy);
|
||||||
@@ -579,7 +558,6 @@ int cuewInit(void) {
|
|||||||
CUDA_LIBRARY_FIND(cuSurfObjectDestroy);
|
CUDA_LIBRARY_FIND(cuSurfObjectDestroy);
|
||||||
CUDA_LIBRARY_FIND(cuSurfObjectGetResourceDesc);
|
CUDA_LIBRARY_FIND(cuSurfObjectGetResourceDesc);
|
||||||
CUDA_LIBRARY_FIND(cuDeviceCanAccessPeer);
|
CUDA_LIBRARY_FIND(cuDeviceCanAccessPeer);
|
||||||
CUDA_LIBRARY_FIND(cuDeviceGetP2PAttribute);
|
|
||||||
CUDA_LIBRARY_FIND(cuCtxEnablePeerAccess);
|
CUDA_LIBRARY_FIND(cuCtxEnablePeerAccess);
|
||||||
CUDA_LIBRARY_FIND(cuCtxDisablePeerAccess);
|
CUDA_LIBRARY_FIND(cuCtxDisablePeerAccess);
|
||||||
CUDA_LIBRARY_FIND(cuGraphicsUnregisterResource);
|
CUDA_LIBRARY_FIND(cuGraphicsUnregisterResource);
|
||||||
@@ -615,8 +593,6 @@ int cuewInit(void) {
|
|||||||
NVRTC_LIBRARY_FIND(nvrtcGetPTX);
|
NVRTC_LIBRARY_FIND(nvrtcGetPTX);
|
||||||
NVRTC_LIBRARY_FIND(nvrtcGetProgramLogSize);
|
NVRTC_LIBRARY_FIND(nvrtcGetProgramLogSize);
|
||||||
NVRTC_LIBRARY_FIND(nvrtcGetProgramLog);
|
NVRTC_LIBRARY_FIND(nvrtcGetProgramLog);
|
||||||
NVRTC_LIBRARY_FIND(nvrtcAddNameExpression);
|
|
||||||
NVRTC_LIBRARY_FIND(nvrtcGetLoweredName);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
result = CUEW_SUCCESS;
|
result = CUEW_SUCCESS;
|
||||||
@@ -654,7 +630,6 @@ const char *cuewErrorString(CUresult result) {
|
|||||||
case CUDA_ERROR_PEER_ACCESS_UNSUPPORTED: return "Peer access unsupported";
|
case CUDA_ERROR_PEER_ACCESS_UNSUPPORTED: return "Peer access unsupported";
|
||||||
case CUDA_ERROR_INVALID_PTX: return "Invalid ptx";
|
case CUDA_ERROR_INVALID_PTX: return "Invalid ptx";
|
||||||
case CUDA_ERROR_INVALID_GRAPHICS_CONTEXT: return "Invalid graphics context";
|
case CUDA_ERROR_INVALID_GRAPHICS_CONTEXT: return "Invalid graphics context";
|
||||||
case CUDA_ERROR_NVLINK_UNCORRECTABLE: return "Nvlink uncorrectable";
|
|
||||||
case CUDA_ERROR_INVALID_SOURCE: return "Invalid source";
|
case CUDA_ERROR_INVALID_SOURCE: return "Invalid source";
|
||||||
case CUDA_ERROR_FILE_NOT_FOUND: return "File not found";
|
case CUDA_ERROR_FILE_NOT_FOUND: return "File not found";
|
||||||
case CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND: return "Link to a shared object failed to resolve";
|
case CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND: return "Link to a shared object failed to resolve";
|
||||||
|
40
extern/voro++/CMakeLists.txt
vendored
Normal file
40
extern/voro++/CMakeLists.txt
vendored
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
set (INC
|
||||||
|
src
|
||||||
|
)
|
||||||
|
|
||||||
|
set (INC_SYS
|
||||||
|
)
|
||||||
|
|
||||||
|
set (SRC
|
||||||
|
src/c_loops.cc
|
||||||
|
src/cell.cc
|
||||||
|
src/cmd_line.cc
|
||||||
|
src/common.cc
|
||||||
|
src/container_prd.cc
|
||||||
|
src/container.cc
|
||||||
|
src/pre_container.cc
|
||||||
|
src/unitcell.cc
|
||||||
|
src/v_base.cc
|
||||||
|
src/v_compute.cc
|
||||||
|
# src/voro++.cc
|
||||||
|
src/wall.cc
|
||||||
|
src/c_interface.cc
|
||||||
|
|
||||||
|
src/c_loops.hh
|
||||||
|
src/cell.hh
|
||||||
|
src/common.hh
|
||||||
|
src/config.hh
|
||||||
|
src/container_prd.hh
|
||||||
|
src/container.hh
|
||||||
|
src/pre_container.hh
|
||||||
|
src/rad_option.hh
|
||||||
|
src/unitcell.hh
|
||||||
|
src/v_base.hh
|
||||||
|
src/v_compute.hh
|
||||||
|
# src/voro++.hh
|
||||||
|
src/wall.hh
|
||||||
|
src/worklist.hh
|
||||||
|
src/c_interface.hh
|
||||||
|
)
|
||||||
|
|
||||||
|
blender_add_lib(extern_voro "${SRC}" "${INC}" "${INC_SYS}")
|
39
extern/voro++/LICENSE
vendored
Normal file
39
extern/voro++/LICENSE
vendored
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
Voro++ Copyright (c) 2008, The Regents of the University of California, through
|
||||||
|
Lawrence Berkeley National Laboratory (subject to receipt of any required
|
||||||
|
approvals from the U.S. Dept. of Energy). All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
(1) Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
(2) Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
(3) Neither the name of the University of California, Lawrence Berkeley
|
||||||
|
National Laboratory, U.S. Dept. of Energy nor the names of its contributors may
|
||||||
|
be used to endorse or promote products derived from this software without
|
||||||
|
specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||||
|
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||||
|
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
You are under no obligation whatsoever to provide any bug fixes, patches, or
|
||||||
|
upgrades to the features, functionality or performance of the source code
|
||||||
|
("Enhancements") to anyone; however, if you choose to make your Enhancements
|
||||||
|
available either publicly, or directly to Lawrence Berkeley National
|
||||||
|
Laboratory, without imposing a separate written license agreement for such
|
||||||
|
Enhancements, then you hereby grant the following license: a non-exclusive,
|
||||||
|
royalty-free perpetual license to install, use, modify, prepare derivative
|
||||||
|
works, incorporate into other computer software, distribute, and sublicense
|
||||||
|
such enhancements or derivative works thereof, in binary and source code form.
|
341
extern/voro++/NEWS
vendored
Normal file
341
extern/voro++/NEWS
vendored
Normal file
@@ -0,0 +1,341 @@
|
|||||||
|
Version 0.4.6 (October 17th 2013)
|
||||||
|
=================================
|
||||||
|
* Fixed an issue with template instantiation in wall.cc that was causing
|
||||||
|
compilation problems with new versions of Apple Xcode. Thanks to Barend
|
||||||
|
Thijsse (Delft University of Technology) and Juan Pablo Cruz Pérez (Instituto
|
||||||
|
de Física y Matemáticas) for pointing this out.
|
||||||
|
* Added routines to the container classes to compute a ghost Voronoi cell at
|
||||||
|
any given location, as though an extra particle was inserted at that
|
||||||
|
location
|
||||||
|
* Removed unused private variable in c_loops.hh
|
||||||
|
* Updated Doxyfile to 1.8.5
|
||||||
|
|
||||||
|
Version 0.4.5 (July 27th 2012)
|
||||||
|
==============================
|
||||||
|
* Removed "using namespace std" from the header files and added extra "std::"
|
||||||
|
qualifiers on STL vectors and queues. This is to prevent naming conflicts
|
||||||
|
with other libraries. Thanks to Florian Hoffmann (University of Luxembourg)
|
||||||
|
for pointing this out.
|
||||||
|
* Fixed an error in the check_facets diagnostic routine. Thanks to Tristan
|
||||||
|
Carrier-Baudouin (Université catholique de Louvain) for pointing this out.
|
||||||
|
* Fixed a memory leak in the new container_periodic class. Thanks to Massimo
|
||||||
|
Marchi (Commissariat á l'Energie Atomique) for pointing this out.
|
||||||
|
* Removed some duplicate or unnecessary #include statements of the standard C++
|
||||||
|
header files
|
||||||
|
* Fix small naming mismatch between cell.cc and cell.hh in plane_intersects
|
||||||
|
and nplane routines, which would give a warning with Doxygen
|
||||||
|
* More changes for older MS Visual C++ compatability
|
||||||
|
* Updated Doxyfile to 1.8.1.1
|
||||||
|
|
||||||
|
Version 0.4.4 (January 17th 2012)
|
||||||
|
=================================
|
||||||
|
* Fixed an error in pointer arithmetic that was introduced in version 0.4,
|
||||||
|
which would occur in cases where the delete stack was extended when a large
|
||||||
|
number of vertices were being removed. Thanks to Jeff Johnson (Lawrence
|
||||||
|
Berkeley Laboratory) and Matt Freeman (Texas A&M University) for pointing
|
||||||
|
this out.
|
||||||
|
|
||||||
|
Version 0.4.3 (November 12th 2011)
|
||||||
|
==================================
|
||||||
|
* Removed spurious Gnuplot output line from torus.cc example
|
||||||
|
* More changes for better Visual C++ compatibility
|
||||||
|
* Fixed indexing error in worklist generation routine. This had no effect
|
||||||
|
on the generated worklists, but would become apparent in other situations.
|
||||||
|
* Added rad_option.hh to the list of files included by voro++.hh for
|
||||||
|
completeness
|
||||||
|
* Fix errors in Gnuplot commands in the basic examples README file. Thanks to
|
||||||
|
William-Fernando Oquendo (National University of Colombia) for pointing this
|
||||||
|
out.
|
||||||
|
* Fixed memory allocation issue in face_freq_table routine - thanks to Lingti
|
||||||
|
Kong for pointing this out
|
||||||
|
* Minor cleanups and optimizations to wall classes
|
||||||
|
|
||||||
|
Version 0.4.2 (September 23rd 2011)
|
||||||
|
===================================
|
||||||
|
* Fixed a bug in the put_remap routine where a z periodic boolean was
|
||||||
|
switched to an x periodic boolean. This would only be noticed when using
|
||||||
|
mixed periodic boundary conditions and importing particles that need to be
|
||||||
|
remapped.
|
||||||
|
* The pid function in the c_loop_base class was mistakenly labeled as double
|
||||||
|
instead of int - this is now fixed. Thanks to William-Fernando Oquendo
|
||||||
|
(National University of Colombia) for pointing this out.
|
||||||
|
* Fixed an extremely subtle bounds checking issue that would only materialize
|
||||||
|
for the radical Voronoi tessellation with large particle radii. Thanks to
|
||||||
|
Richard Martin and Maciej Haranczyk (Lawrence Berkeley Laboratory) for
|
||||||
|
pointing out the original problem.
|
||||||
|
* Fixed other problems with the radical tessellation. Originally, the
|
||||||
|
algorithms were concieved for with hard spheres in mind, where the particles
|
||||||
|
would not overlap, and an assumption was used in the cutoff procedure that
|
||||||
|
made use of this, but would not be true in general.
|
||||||
|
* Removed more bracket initializations like "double a(3);" for better
|
||||||
|
consistency, and more compatibility with older versions of MS Visual C++.
|
||||||
|
Thanks to Martin Brehm for help with this.
|
||||||
|
* Factored out the regular/radical inline routines into separate classes, so
|
||||||
|
that they don't have to be duplicated in the container_periodic classes
|
||||||
|
* Fixed problems with the container_periodic classes referencing the wrong
|
||||||
|
loop classes. Thanks to Wang Chuncheng (Nanyang Technological University) for
|
||||||
|
pointing this out.
|
||||||
|
* Added c_loop_order_periodic class for doing ordered loops with the periodic
|
||||||
|
container classes
|
||||||
|
* Updated the README file in the src directory. The detailed description of
|
||||||
|
each file has been removed since this is difficult to maintain and this
|
||||||
|
information is already present in the class reference manual.
|
||||||
|
* Fixed an error in the pre_container selection of the optimal computational
|
||||||
|
grid size
|
||||||
|
* Code comment cleanups, particularly in wall.hh
|
||||||
|
* Minor man page reformatting
|
||||||
|
* Updated Doxyfile to version 1.7.5.1
|
||||||
|
|
||||||
|
Version 0.4.1 (September 7th 2011)
|
||||||
|
==================================
|
||||||
|
* Fixed bug in command-line utility that would give incorrect results when
|
||||||
|
using the "-c" option for custom output. Thanks to Prof. Aldo Romero
|
||||||
|
(CINVESTAV-Unidad Queretaro) for pointing this out.
|
||||||
|
* Added some additional documentation about neighbor information
|
||||||
|
|
||||||
|
Version 0.4 (August 30th 2011)
|
||||||
|
==============================
|
||||||
|
* New classes called container_periodic and container_periodic_poly that carry
|
||||||
|
out Voronoi computations in 3D periodic parallelepiped unit cells have been
|
||||||
|
added. This adds significant complexity to the computation, and the memory
|
||||||
|
organization of these classes is different, requiring allocation for ghost
|
||||||
|
regions. Currently these classes cannot be accessed by the command-line
|
||||||
|
utility, but will be integrated further in future releases. These classes are
|
||||||
|
currently mainly exploited by a sister software project Zeo++ for chemical
|
||||||
|
informatics (Maciej Haranczyk, Chris Rycroft, Thomas Willems, Richard Martin)
|
||||||
|
to be released in late 2011.
|
||||||
|
* As part of the new container_periodic classes, a new class called unitcell
|
||||||
|
has been added, which will compute the Voronoi cell for a single particle in
|
||||||
|
a 3D periodic parallelepiped class. The Voronoi cell is formed by the
|
||||||
|
influences of the periodic images of itself only. This turns out to be an
|
||||||
|
important component of the calculations done by the container_periodic
|
||||||
|
classes but can also be used independently.
|
||||||
|
* The container classes now have a routine called find_voronoi_cell that will
|
||||||
|
take a given position vector and return the Voronoi cell which is contained
|
||||||
|
within. For the regular Voronoi tessellation, this is just the Voronoi cell
|
||||||
|
corresponding to the closest particle (by definition). For the radical
|
||||||
|
Voronoi tessellation, this is weighted by the particle radii.
|
||||||
|
* The library is now enclosed within the "voro" namespace. This requires
|
||||||
|
specifying "using namespace voro;" in the preamble of codes or prepending
|
||||||
|
"voro::" to access functions. This greatly minimizes the possiblity of naming
|
||||||
|
conflicts when using multiple libraries, particularly since many of the
|
||||||
|
classes iin the library have fairly generic names (eg. "container"). Thanks to
|
||||||
|
Allan Johns (Dr. D Studios) for suggesting this.
|
||||||
|
* Voro++ can now be built as a static library that can be installed and linked
|
||||||
|
to. As part of this, the .cc and .hh files have been significantly revised
|
||||||
|
with some small inline functions and template code being written into the
|
||||||
|
header files.
|
||||||
|
* Previously, all of the voronoicell output routines sent data to an output
|
||||||
|
stream. However, input and output are now carried out using the STL vector
|
||||||
|
class, allowing for programs to directly link to and use Voro++ output. The
|
||||||
|
STL vector class has been chosen since it the simplest and most standard
|
||||||
|
mechanism for returning a variable amount of data. Several new examples are
|
||||||
|
provided to demonstrate this functionality, for both the voronoicell class
|
||||||
|
and the container class.
|
||||||
|
* A common issue has been that the order of particles in the output file does
|
||||||
|
not match the input file, since Voro++ internally sorts particles according
|
||||||
|
to their position. A new class called voro_order has been provided, which can
|
||||||
|
link to particles as they are stored, allowing for the Voronoi computation to
|
||||||
|
be carried out in the same order as the input file. The core computation
|
||||||
|
routines can be run with a variety of different loops, and a new example
|
||||||
|
"loops.cc" is provided to demonstrate this.
|
||||||
|
* The order of parameters to certain functions have been changed to take
|
||||||
|
advantage of the C++ default parameter mechanism wherever possible
|
||||||
|
* The container and container_poly classes are now derived from a base class,
|
||||||
|
rather than being different instances of a template. This simplifies the code
|
||||||
|
and stops common routines from being duplicated. The core Voronoi computation
|
||||||
|
routine is now held within a voro_compute class, which can be instantiated on
|
||||||
|
any container with the correct access functions.
|
||||||
|
* The voronoicell and voronoicell_neighbor classes are now derived from a
|
||||||
|
common base class, rather than being different instances of a template. This
|
||||||
|
simplifies the code and stops common routines from being duplicated. The core
|
||||||
|
nplane routine is now a function template that can be instantiated on the
|
||||||
|
parent class itself.
|
||||||
|
* All output routines have been switched from using C++ iostreams to using the C
|
||||||
|
cstdio library. This has been done for increased performance. In general the
|
||||||
|
cstdio routines run significantly faster than the comparable iostream
|
||||||
|
routines: for one file import test, using fscanf from cstdio was five times
|
||||||
|
as fast as the comparable << operator from iostream. As another example,
|
||||||
|
the program "cylinder.cc", which uses both file import and export, runs
|
||||||
|
approximately twice as fast before. Since many people use Voro++ to batch
|
||||||
|
process large numbers of input files, this increase in input/output speed
|
||||||
|
seemed desirable.
|
||||||
|
* The Gnuplot output routines now merge individual lines into contiguous paths
|
||||||
|
wherever possible, resulting in a ~15% reduction in their file size and a
|
||||||
|
noticeable improvement in rendering speed
|
||||||
|
* Previously, the POV-Ray output routines could create cylinders where the start
|
||||||
|
and end points matched. This was a benign problem, due to the fact the vertex
|
||||||
|
positions within Voro++ were held to higher precision than the POV-Ray output
|
||||||
|
file, meaning that distinct vertices could appear to be at the same position;
|
||||||
|
a perl script was provided to post-process and remove these. However, Voro++
|
||||||
|
now scans each cylinder before saving to file to automatically remove these
|
||||||
|
cases from consideration.
|
||||||
|
* Pointer arithmetic is now used within a number of critical cell computation
|
||||||
|
routines, and gives a speedup of 10%-20% in many cases. On some typical
|
||||||
|
problems on typical machines, Voro++ currently computes around 50,000
|
||||||
|
cells/second. New machines can achieve upwards of 70,000 cells/second.
|
||||||
|
* A new pre-container mechanism is provided, which can read in a file of
|
||||||
|
unknown length, and then make a guess at the correct computational grid size
|
||||||
|
to use. This removes the need for specifying a length scale with the
|
||||||
|
command-line utility. However, a length scale or grid decomposition can still
|
||||||
|
be manually specified.
|
||||||
|
* Removed the option to compile in single-precision. This was a highly
|
||||||
|
specialized feature, and it appears better to allow users who wish to do this
|
||||||
|
to make their own modifications. This option also conflicted with building
|
||||||
|
Voro++ as a standard static library.
|
||||||
|
* Fixed a benign bug in the block computation list that would cause it to get
|
||||||
|
extended prematurely
|
||||||
|
* Numerous small improvements to memory allocation routines
|
||||||
|
* Added routines to copy a Voronoi cell
|
||||||
|
* Created a new wall_list class to handle a list of walls. This simplifies the
|
||||||
|
command-line utility code.
|
||||||
|
* Labels in the worklist that are used in the transition from the radius search
|
||||||
|
to the block search have been optimized
|
||||||
|
* The command-line utility can now produce POV-Ray output. Also, the main loop
|
||||||
|
in the utility has been combined so that the Voronoi tessellation is only
|
||||||
|
carried out once, even if POV-Ray and Gnuplot output is also required.
|
||||||
|
* The command-line utility does range checking on the filename to prevent
|
||||||
|
buffer overruns
|
||||||
|
* The routines that put particles into a container now do so more reliably for
|
||||||
|
periodic cases, remapping them into the primary domain if necessary
|
||||||
|
* A number of the POV-Ray header files have been altered to directly make use
|
||||||
|
of a right-handed coordinate system in which the z axis points upwards. This
|
||||||
|
matches the Gnuplot style, and the style used in many scientific simulations.
|
||||||
|
It avoids the need for a rotation or matrix transformation when rendering
|
||||||
|
many of the particle packings. Some of the test particle packings have been
|
||||||
|
transformed to ensure consistency with previous renderings.
|
||||||
|
* Some POV-Ray files have been cleaned up and there are additional comments
|
||||||
|
* Fixed a bug in the print_all_custom() routine, affecting "%P" output. Thanks
|
||||||
|
to David Waroquiers (Université Catholique de Louvain, Belgium) for pointing
|
||||||
|
this out.
|
||||||
|
* Fixed a bug that caused the neighbor list not to be outputted in the same
|
||||||
|
order as the other plane diagnostic routines. Thanks to Olufemi Olorode
|
||||||
|
(Texas A&M University) for pointing this out.
|
||||||
|
* Removed the add_vertex() and init_test() routines, which were mainly used for
|
||||||
|
debugging
|
||||||
|
* Updated Doxyfile to version 1.7.4
|
||||||
|
|
||||||
|
Version 0.3.1 (September 29, 2009)
|
||||||
|
==================================
|
||||||
|
* Carried out a major overhaul of the source code comments that are used by
|
||||||
|
Doxygen. Several errors in the documentation were fixed.
|
||||||
|
* Additional comments in the Makefiles, and added the "phony target" keyword
|
||||||
|
* Many code cleanups and standardizations. Some double and triple loops
|
||||||
|
were concatenated into one to reduce the amount of indentation.
|
||||||
|
* Fixed the import.cc example program
|
||||||
|
* Updated Doxyfile to version 1.6.1
|
||||||
|
|
||||||
|
Version 0.3 (August 17, 2009)
|
||||||
|
=============================
|
||||||
|
* In response to feedback from several people, the routines for computing
|
||||||
|
statistics about computed Voronoi cells have been significantly revised,
|
||||||
|
extended, and put within a common framework. The voronoicell class now has a
|
||||||
|
large number of routines of the form output_...() that will print cell
|
||||||
|
information to an output stream. There are also a number of new, simple
|
||||||
|
routines for computing basic statistics such as the number of edges and faces
|
||||||
|
of each cell. All of these routines can now be used during the container
|
||||||
|
analysis, by making use of the new print_custom() routine, which can output
|
||||||
|
according to a given format string, that uses control sequences similar to
|
||||||
|
the standard C printf() routine.
|
||||||
|
* Renamed the "radical" example directory to "custom", and added two
|
||||||
|
new programs called "cell_statistics.cc" and "custom_output.cc" for
|
||||||
|
demonstrating the new output routines for the voronoicell and container
|
||||||
|
classes respectively
|
||||||
|
* Added a routine for computing the centroid of a Voronoi cell
|
||||||
|
* Added new routines for computing neighbor normals, in response to a
|
||||||
|
request from Dave Greenwood
|
||||||
|
* Removed unnecessary trailing tabs and spaces in the source code
|
||||||
|
* Fixed a few text justification problems, and altered some of the comments
|
||||||
|
in the example programs
|
||||||
|
* Improved the command-line utility, allowing it to specify custom information
|
||||||
|
in the output. Implemented better error checking on command-line arguments.
|
||||||
|
* Removed the facets() routine, since this has been superseded by the new
|
||||||
|
output_...() routines. This also rendered some functions in the neighbor_none
|
||||||
|
and neighbor_track classes obsolete, and they have also been removed.
|
||||||
|
* Some reorganization of the cell.hh and container.hh header files to group
|
||||||
|
similar functions together
|
||||||
|
* Added torus.cc example that shows how to write custom walls as derived
|
||||||
|
classes
|
||||||
|
* Updated Doxyfile to version 1.5.9
|
||||||
|
|
||||||
|
Version 0.2.7 (March 25, 2009)
|
||||||
|
==============================
|
||||||
|
* Added some missing cstdlib and cstring header files that cause compilation
|
||||||
|
errors on some systems
|
||||||
|
* Some text cleanups in the main README file and cmd_line.cc
|
||||||
|
* The worklist_gen.pl script was in DOS format. It has been switched to Unix
|
||||||
|
format to match the rest of the code.
|
||||||
|
* Fixed some incorrect inequalities in degenerate2.cc
|
||||||
|
* Improved some error messages in container.cc
|
||||||
|
|
||||||
|
Version 0.2.6 (March 23, 2009)
|
||||||
|
==============================
|
||||||
|
* Significantly improved the error messages generated by the code. It now
|
||||||
|
makes use of the exit() routine rather than throwing errors, and it returns
|
||||||
|
various status codes (defined in config.hh) for different types of abnormal
|
||||||
|
behavior.
|
||||||
|
* Changed two occurences of "cin" to "cout" in the draw_particles routines
|
||||||
|
* Corrected error in comment in the tetrahedron example
|
||||||
|
* Minor comment cleanups of the worklist_gen.pl script
|
||||||
|
* Updated Doxyfile to version 1.5.8
|
||||||
|
* Added a routine print_facet_information() in response to a problem
|
||||||
|
from Hengxing Lan
|
||||||
|
* Many of the cell based statistics routines (like number_of_faces() and
|
||||||
|
facets()) internally track their progress by temporarily flipping the edge
|
||||||
|
table entries to negative values, so that they know where they have already
|
||||||
|
been. The common code that was used at the end of each of these functions for
|
||||||
|
resetting the edges back to positive has now been made into a private inline
|
||||||
|
function called reset_edges().
|
||||||
|
* Fixed a missing initialization of max_radius to zero in the radius_poly
|
||||||
|
class. This should not have ever caused any errors, as max_radius would
|
||||||
|
always have been big enough. However if max_radius was initially set to a
|
||||||
|
large value, it could have potentially made the code run slower.
|
||||||
|
* Fixed the code layout in the suretest class header
|
||||||
|
* Added some additional checks in the command-line utility to screen out
|
||||||
|
invalid command-line arguments. Switched the test on the number of
|
||||||
|
computational blocks to use floating point arithmetic, because integers
|
||||||
|
could potentially overflow and become negative.
|
||||||
|
* Included several more of the POV-Ray header files that were used to create
|
||||||
|
the example images on the website
|
||||||
|
* Removed a "cout" statement in the wall_cone class
|
||||||
|
* Cleanup of the README files for the basic examples and the wall examples
|
||||||
|
|
||||||
|
Version 0.2.5 (January 1, 2009)
|
||||||
|
===============================
|
||||||
|
* Added the DOE acknowledgements to the code overview document
|
||||||
|
|
||||||
|
Version 0.2.4 (December 14, 2008)
|
||||||
|
=================================
|
||||||
|
* Added the code overview PDF document to the package, in the docs directory
|
||||||
|
* Fixed some spelling errors in the comments
|
||||||
|
* Many more documentation updates
|
||||||
|
|
||||||
|
Version 0.2.3 (December 9, 2008)
|
||||||
|
================================
|
||||||
|
* Removed an unused variable that was reported by the Portland C compiler
|
||||||
|
* Documentation updates
|
||||||
|
* Added the import.pov script
|
||||||
|
* Added some simple functions to solve the problem from Stefan Eibl of counting
|
||||||
|
faces
|
||||||
|
* Renamed the facets_loop to voropp_loop
|
||||||
|
|
||||||
|
Version 0.2.2 (November 19, 2008)
|
||||||
|
=================================
|
||||||
|
* Main README file updated
|
||||||
|
|
||||||
|
Version 0.2.1 (November 3, 2008)
|
||||||
|
================================
|
||||||
|
* Much more documentation
|
||||||
|
* Brief Doxygen class comments
|
||||||
|
* Updated Doxyfile to version 1.5.7
|
||||||
|
|
||||||
|
Version 0.2 (October 31, 2008)
|
||||||
|
==============================
|
||||||
|
* Updated some occurrences of char* with const char* for compatability with
|
||||||
|
version 4.2 of the GNU C++ compiler
|
||||||
|
* Making use of default parameters in the wall classes
|
||||||
|
* The command-line utility can now add walls
|
||||||
|
|
||||||
|
Version 0.1 (August 22, 2008)
|
||||||
|
=============================
|
||||||
|
* Initial version uploaded to the web
|
153
extern/voro++/README2
vendored
Normal file
153
extern/voro++/README2
vendored
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
Voro++, a 3D cell-based Voronoi library (http://math.lbl.gov/voro++/)
|
||||||
|
By Chris H. Rycroft (UC Berkeley / Lawrence Berkeley Laboratory)
|
||||||
|
================================================================
|
||||||
|
Voro++ is a software library for carrying out three-dimensional computations
|
||||||
|
of the Voronoi tessellation. A distinguishing feature of the Voro++ library
|
||||||
|
is that it carries out cell-based calculations, computing the Voronoi cell
|
||||||
|
for each particle individually, rather than computing the Voronoi
|
||||||
|
tessellation as a global network of vertices and edges. It is particularly
|
||||||
|
well-suited for applications that rely on cell-based statistics, where
|
||||||
|
features of Voronoi cells (eg. volume, centroid, number of faces) can be
|
||||||
|
used to analyze a system of particles
|
||||||
|
|
||||||
|
Voro++ comprises of several C++ classes that can be built as a static library
|
||||||
|
and linked to. A command-line utility is also provided that can analyze text
|
||||||
|
files of particle configurations and use most of the features of the code.
|
||||||
|
Numerous examples are provided to demonstrate the library's features and all of
|
||||||
|
these are discussed in detail on the library website.
|
||||||
|
|
||||||
|
|
||||||
|
Compilation - Linux / Mac OS / Windows with Cygwin
|
||||||
|
==================================================
|
||||||
|
The code is written in ANSI C++, and compiles on many system architectures. The
|
||||||
|
package contains the C++ source code, example files, miscellaneous utilities
|
||||||
|
and documentation. On Linux, Mac OS, and Windows (using Cygwin), the
|
||||||
|
compilation and installed can be carried out using GNU Make.
|
||||||
|
|
||||||
|
To begin, the user should review the file "config.mk" in the top level
|
||||||
|
directory, to make sure that the compilation and installation settings are
|
||||||
|
appropriate for their system. Typing "make" will then compile the static
|
||||||
|
library, command-line utility, and examples. The command-line utility and
|
||||||
|
library will appear within the "src" directory.
|
||||||
|
|
||||||
|
Following successful compilation, the library, command-line utility, and
|
||||||
|
documentation can be installed by typing "sudo make install". By default, the
|
||||||
|
program files are installed into /usr/local, and it may be necessary to modify
|
||||||
|
your environment variables in order to access the installed files:
|
||||||
|
|
||||||
|
- to use the command-line utility, the variable PATH should contain
|
||||||
|
/usr/local/bin.
|
||||||
|
- to access the Voro++ man page, the variable MANPATH should contain
|
||||||
|
/usr/local/man.
|
||||||
|
- to access the Voro++ header files, code compilation should include
|
||||||
|
the flag '-I/usr/local/include/voro++'.
|
||||||
|
- to link to the static library, code compilation should include the
|
||||||
|
flags '-L/usr/local/lib' to tell the linker where to look, and then
|
||||||
|
'-lvoro++' to link to the library.
|
||||||
|
|
||||||
|
The library website contains additional notes on setting environment variables,
|
||||||
|
and many guides are available on the Internet.
|
||||||
|
|
||||||
|
The code can later be uninstalled with "sudo make uninstall". It is also
|
||||||
|
possible to use the library and command-line utility without installation by
|
||||||
|
calling the files directly once they have been compiled. On systems where the
|
||||||
|
user does not have root privileges to install into /usr/local, the "config.mk"
|
||||||
|
file can be modified to install into the user's home directory by setting
|
||||||
|
PREFIX=$(HOME). Voro++ supports parallel compilation by using the "make -j <n>"
|
||||||
|
command where n is the number of threads.
|
||||||
|
|
||||||
|
|
||||||
|
Compilation - Windows without Cygwin
|
||||||
|
====================================
|
||||||
|
On a Windows machine without a terminal environment like Cygwin, it is possible
|
||||||
|
to import and compile the library in many standard C++ development
|
||||||
|
environments. Users have reported success in building the library with
|
||||||
|
Microsoft Visual C++ Express and Code::Blocks.
|
||||||
|
|
||||||
|
|
||||||
|
Related programs
|
||||||
|
================
|
||||||
|
No external dependencies are required to compile and run the code, but several
|
||||||
|
programs may be useful for analyzing the output:
|
||||||
|
|
||||||
|
- The freeware plotting program Gnuplot (available at www.gnuplot.info) can be
|
||||||
|
used for rapid 2D and 3D visualization of the program output.
|
||||||
|
|
||||||
|
- The freeware raytracer POV-Ray (available at www.povray.org) can be used for
|
||||||
|
high-quality renderings of the program output.
|
||||||
|
|
||||||
|
- The reference manual is generated from comments in the source code using
|
||||||
|
Doxygen (available at www.doxygen.org). This package is only required if the
|
||||||
|
library files are being developed and the reference manuals need to be
|
||||||
|
regenerated. The complete reference manual to the current code is available
|
||||||
|
online at http://math.lbl.gov/voro++/doc/refman/
|
||||||
|
|
||||||
|
|
||||||
|
Contents
|
||||||
|
========
|
||||||
|
examples - many documented examples making use of the library
|
||||||
|
html - an HTML-based reference manual (generated by Doxygen)
|
||||||
|
man - contains the man page that is installed with the program
|
||||||
|
scripts - miscellaneous helper scripts
|
||||||
|
src - source code files
|
||||||
|
|
||||||
|
|
||||||
|
Usage
|
||||||
|
=====
|
||||||
|
Voro++ is released as free software through the Lawrence Berkeley National
|
||||||
|
Laboratory - a detailed copyright notice is provided below, and the complete
|
||||||
|
terms of the license can be found in the LICENSE file.
|
||||||
|
|
||||||
|
I am very interested to hear from users of the software, so if you find this
|
||||||
|
useful, please email me at chr@alum.mit.edu. Also, if you plan to publish an
|
||||||
|
academic paper using this software, please consider citing one of the following
|
||||||
|
publications:
|
||||||
|
|
||||||
|
- Chris H. Rycroft, "Voro++: A three-dimensional Voronoi cell library in C++",
|
||||||
|
Chaos 19, 041111 (2009).
|
||||||
|
|
||||||
|
- Chris H. Rycroft, Gary S. Grest, James W. Landry, and Martin Z. Bazant,
|
||||||
|
"Analysis of Granular Flow in a Pebble-Bed Nuclear Reactor",
|
||||||
|
Phys. Rev. E 74, 021306 (2006).
|
||||||
|
|
||||||
|
- Chris H. Rycroft, "Multiscale Modeling in Granular Flow", PhD thesis
|
||||||
|
submitted to the Massachusetts Institute of Technology, September 2007.
|
||||||
|
(http://math.berkeley.edu/~chr/publish/phd.html)
|
||||||
|
|
||||||
|
The first reference contains a one-page overview of the library. The second
|
||||||
|
reference contains some of the initial images that were made using a very early
|
||||||
|
version of this code, to track small changes in packing fraction in a large
|
||||||
|
particle simulation. The third reference discusses the use of 3D Voronoi cells,
|
||||||
|
and describes the algorithms that were employed in the early version of this
|
||||||
|
code. Since the publication of the above references, the algorithms in Voro++
|
||||||
|
have been significantly improved, and a paper specifically devoted to the
|
||||||
|
current code architecture will be published during 2012.
|
||||||
|
|
||||||
|
|
||||||
|
Copyright Notice
|
||||||
|
================
|
||||||
|
Voro++ Copyright (c) 2008, The Regents of the University of California, through
|
||||||
|
Lawrence Berkeley National Laboratory (subject to receipt of any required
|
||||||
|
approvals from the U.S. Dept. of Energy). All rights reserved.
|
||||||
|
|
||||||
|
If you have questions about your rights to use or distribute this software,
|
||||||
|
please contact Berkeley Lab's Technology Transfer Department at TTD@lbl.gov.
|
||||||
|
|
||||||
|
NOTICE. This software was developed under partial funding from the U.S.
|
||||||
|
Department of Energy. As such, the U.S. Government has been granted for itself
|
||||||
|
and others acting on its behalf a paid-up, nonexclusive, irrevocable, worldwide
|
||||||
|
license in the Software to reproduce, prepare derivative works, and perform
|
||||||
|
publicly and display publicly. Beginning five (5) years after the date
|
||||||
|
permission to assert copyright is obtained from the U.S. Department of Energy,
|
||||||
|
and subject to any subsequent five (5) year renewals, the U.S. Government is
|
||||||
|
granted for itself and others acting on its behalf a paid-up, nonexclusive,
|
||||||
|
irrevocable, worldwide license in the Software to reproduce, prepare derivative
|
||||||
|
works, distribute copies to the public, perform publicly and display publicly,
|
||||||
|
and to permit others to do so.
|
||||||
|
|
||||||
|
|
||||||
|
Acknowledgments
|
||||||
|
===============
|
||||||
|
This work was supported by the Director, Office of Science, Computational and
|
||||||
|
Technology Research, U.S. Department of Energy under Contract No.
|
||||||
|
DE-AC02-05CH11231.
|
12
extern/voro++/SConscript
vendored
Normal file
12
extern/voro++/SConscript
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
import os
|
||||||
|
Import ('env')
|
||||||
|
|
||||||
|
sources = env.Glob('src/*.cc')
|
||||||
|
sources.remove('src'+os.sep+'voro++.cc')
|
||||||
|
sources.remove('src'+os.sep+'v_base_wl.cc')
|
||||||
|
defs = []
|
||||||
|
incs = ['src']
|
||||||
|
|
||||||
|
env.BlenderLib ('extern_voro++', Split(sources), incs, defs, libtype=['extern'], priority=[40] )
|
2281
extern/voro++/src/Doxyfile
vendored
Normal file
2281
extern/voro++/src/Doxyfile
vendored
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user