Compare commits
378 Commits
temp-scale
...
multiview
Author | SHA1 | Date | |
---|---|---|---|
![]() |
3519a9f517 | ||
![]() |
bdf398daa8 | ||
![]() |
25d55cb560 | ||
![]() |
259c649a0f | ||
![]() |
a400c95c94 | ||
![]() |
cc6c55c4af | ||
![]() |
6ffd218444 | ||
![]() |
3fbab3bbba | ||
![]() |
af38ace3ae | ||
![]() |
ed94a8def2 | ||
![]() |
717d10154b | ||
![]() |
7f02b9e869 | ||
![]() |
bbf2305155 | ||
![]() |
7fc167f10f | ||
![]() |
ed5515dec3 | ||
![]() |
4f0f84fb05 | ||
![]() |
4728dbd309 | ||
![]() |
2179f01ef4 | ||
![]() |
18dab1fa80 | ||
![]() |
781efee98d | ||
![]() |
2bfabfd4b1 | ||
![]() |
2a69362b2b | ||
![]() |
a2ff63ca09 | ||
![]() |
35f1662d25 | ||
![]() |
8c064a83cf | ||
![]() |
3e1790feb1 | ||
![]() |
c6d2db21d3 | ||
![]() |
52ca9a1921 | ||
![]() |
83a729e471 | ||
![]() |
d3b915c273 | ||
![]() |
ced7d8fb79 | ||
![]() |
926a56a5a6 | ||
![]() |
156b1ccba0 | ||
![]() |
e426e18f77 | ||
![]() |
1fb36fe650 | ||
![]() |
2055cced49 | ||
![]() |
20c043d422 | ||
![]() |
bcc3cb7a75 | ||
![]() |
0a1942fbb4 | ||
![]() |
7ad48ff467 | ||
![]() |
fb658d87ff | ||
![]() |
82b26c553d | ||
![]() |
458a78d7f9 | ||
![]() |
8f3f8e66be | ||
![]() |
106d00eec0 | ||
![]() |
34cfd02806 | ||
![]() |
39423a894c | ||
![]() |
83cef40fa6 | ||
![]() |
347339d653 | ||
![]() |
48ab2d5984 | ||
![]() |
6df28be1f7 | ||
![]() |
92780acaeb | ||
![]() |
3cb5a07783 | ||
![]() |
43e10a6853 | ||
![]() |
38b854a544 | ||
![]() |
1566cb3291 | ||
![]() |
3302e5cc49 | ||
5370c00e6b | |||
21f6e13835 | |||
270b487360 | |||
![]() |
82139c399f | ||
![]() |
45d76c110f | ||
![]() |
cc4129b7bb | ||
![]() |
93ca780e4d | ||
![]() |
6da622c95f | ||
![]() |
1a574e51fe | ||
![]() |
56ec0bd871 | ||
![]() |
27a69cf4b0 | ||
![]() |
e6a45d88d8 | ||
f21db785d9 | |||
fa5c238950 | |||
04a9635686 | |||
fd5573c700 | |||
fcbf89b4d6 | |||
606e290500 | |||
9c30eaa675 | |||
ea3aeb974f | |||
f66f765c79 | |||
715db49f42 | |||
7b17b02669 | |||
f53ee18e0e | |||
![]() |
bf3a031e9b | ||
![]() |
a6a8cb846a | ||
![]() |
14c9d575ce | ||
![]() |
f426d4b173 | ||
![]() |
99779ccb6f | ||
![]() |
a1a5bff7d9 | ||
![]() |
7092a7a737 | ||
![]() |
f862307b5a | ||
![]() |
281b49cfa8 | ||
![]() |
84ac66445f | ||
![]() |
9697d1375f | ||
![]() |
c71d3a6232 | ||
![]() |
20e023541c | ||
![]() |
f6bd5b34e0 | ||
![]() |
5891dba59f | ||
![]() |
d6dcae331e | ||
![]() |
ec6b87e89f | ||
![]() |
9b5bb695dd | ||
![]() |
4156618620 | ||
![]() |
d845727661 | ||
![]() |
a07a020e5e | ||
![]() |
6bed3b60d6 | ||
![]() |
8ca0401d67 | ||
![]() |
3694692aec | ||
![]() |
3f795ec6f3 | ||
![]() |
9a6d9c16f3 | ||
![]() |
dce6d7b1ec | ||
![]() |
2cfe4f6858 | ||
![]() |
f7f6a44022 | ||
![]() |
1f3114ef63 | ||
![]() |
6478240648 | ||
![]() |
56cf38b00a | ||
![]() |
1a8769917c | ||
![]() |
39037fe06c | ||
![]() |
089c6d6694 | ||
![]() |
ebdedf8a96 | ||
![]() |
34069b71c4 | ||
4338e1298f | |||
fb7efc0541 | |||
21d3acb79f | |||
6ccc61c346 | |||
![]() |
fc9622a167 | ||
![]() |
4c050676e8 | ||
![]() |
2e207f9154 | ||
![]() |
11cb2ab919 | ||
![]() |
2da034db2f | ||
![]() |
7095b9555e | ||
![]() |
55d75953ce | ||
![]() |
a2ee2d866f | ||
![]() |
6b0b2783d6 | ||
![]() |
e692b3d1e3 | ||
![]() |
56be796099 | ||
![]() |
b6f853a4fc | ||
![]() |
ec4670d857 | ||
![]() |
a5a614e78e | ||
![]() |
2ae2e54a92 | ||
![]() |
7d24f22b79 | ||
![]() |
fb01c00286 | ||
![]() |
a96b382206 | ||
![]() |
0d5c4fceef | ||
![]() |
b9db39ab5e | ||
![]() |
dd3a2979a3 | ||
![]() |
67a2def60a | ||
![]() |
a74c5742cc | ||
![]() |
289c8d6c6c | ||
![]() |
fb2577ab31 | ||
![]() |
e150f4f268 | ||
![]() |
fb37fd9961 | ||
![]() |
7e62853719 | ||
![]() |
a6e05ad1dc | ||
![]() |
a87fd88c6b | ||
![]() |
4c5c103258 | ||
![]() |
803bf25dc8 | ||
![]() |
76ad40fbf7 | ||
![]() |
cc7b45ae1f | ||
![]() |
589209412d | ||
![]() |
0b4c9043e2 | ||
![]() |
046a5babb0 | ||
![]() |
d9d94d0cfc | ||
![]() |
774d02930d | ||
![]() |
f17f665e0c | ||
![]() |
293b795e9b | ||
![]() |
967d65960d | ||
![]() |
610c4273ec | ||
![]() |
7fefdaadc8 | ||
1b1090081b | |||
![]() |
a5176676b8 | ||
6f81acd7f9 | |||
281db468f1 | |||
![]() |
54596a84f5 | ||
d73d9629fb | |||
3480409ae8 | |||
c0c2881a92 | |||
cf1054bb75 | |||
8f4f6f3405 | |||
bce859c805 | |||
22995bf9dc | |||
0fb6b7a71f | |||
![]() |
7f1ebeb6ca | ||
![]() |
9674b10798 | ||
![]() |
058ec78f87 | ||
![]() |
ba81c53ba4 | ||
![]() |
70bb90e1e0 | ||
![]() |
e438d861ed | ||
![]() |
ef109f9032 | ||
![]() |
b132cbda03 | ||
![]() |
0b03ccbbcd | ||
![]() |
8eb050c058 | ||
![]() |
52bc4bff69 | ||
![]() |
5352fef28f | ||
![]() |
af29905d48 | ||
![]() |
6725532363 | ||
![]() |
a094c395c0 | ||
![]() |
d13789ccdc | ||
![]() |
7edc16245a | ||
![]() |
6dcbd52c44 | ||
![]() |
0a6402535d | ||
![]() |
7d36655e51 | ||
![]() |
6d6e0a7736 | ||
![]() |
53f3860622 | ||
![]() |
df888ef0cf | ||
![]() |
4ef8927781 | ||
![]() |
0e163beaf1 | ||
![]() |
aad21b5e17 | ||
![]() |
f8812fab51 | ||
![]() |
df0b4840ed | ||
![]() |
59bf863273 | ||
![]() |
5ed6e4a029 | ||
![]() |
08f2122d7a | ||
![]() |
20a7889df1 | ||
![]() |
306732ec56 | ||
![]() |
1a8cf4f8a4 | ||
![]() |
04a361f090 | ||
![]() |
482eac61a2 | ||
![]() |
3ce1849f25 | ||
![]() |
407d60330d | ||
![]() |
5b16c78913 | ||
![]() |
f9cb232851 | ||
![]() |
b62b55b03b | ||
![]() |
7b0c812a5b | ||
![]() |
53b48b9568 | ||
![]() |
11270fc3f1 | ||
![]() |
a1a66a8887 | ||
![]() |
a913047549 | ||
![]() |
6593212027 | ||
89dd233d5f | |||
97a7d3d7b1 | |||
5bf989d609 | |||
![]() |
c5211463f9 | ||
![]() |
8d4c498cb8 | ||
![]() |
560ee80286 | ||
04516721a0 | |||
6f662de83a | |||
e11fd354d4 | |||
3c70ec25c8 | |||
![]() |
268ab9e1b7 | ||
![]() |
876bc2b947 | ||
![]() |
c95e71a5fe | ||
![]() |
176bbdc3cf | ||
![]() |
3232751301 | ||
![]() |
cb12fac477 | ||
![]() |
fd5ee4dd18 | ||
![]() |
c588080245 | ||
![]() |
bf72d65607 | ||
![]() |
fc35c8ae26 | ||
![]() |
87d67a0c46 | ||
![]() |
4bb1566944 | ||
![]() |
7739ac8691 | ||
![]() |
153696489d | ||
![]() |
f4759ed978 | ||
![]() |
304f81b086 | ||
![]() |
85eadbf776 | ||
![]() |
c36dfb5950 | ||
![]() |
2910b0c77f | ||
![]() |
d75a10e986 | ||
![]() |
f964ccd582 | ||
![]() |
fd377e2612 | ||
![]() |
b0373525ca | ||
![]() |
1111b2101e | ||
![]() |
dbf135f53e | ||
![]() |
2a7f2287e6 | ||
![]() |
9ba7bb0e61 | ||
![]() |
2d1218a76e | ||
![]() |
c1a25c10c3 | ||
![]() |
008474521e | ||
![]() |
d73683af12 | ||
![]() |
6a324c1967 | ||
![]() |
0095ac2186 | ||
![]() |
04cd487448 | ||
![]() |
af178735ad | ||
![]() |
626a2865f5 | ||
![]() |
b3685a8ea3 | ||
![]() |
d2363db238 | ||
![]() |
53edcd5f97 | ||
![]() |
69bac908da | ||
![]() |
192039c355 | ||
![]() |
a4e537d0f4 | ||
![]() |
655804f23e | ||
![]() |
14da4996cc | ||
![]() |
04c20fd7b3 | ||
![]() |
483b9532a5 | ||
![]() |
2d677941f5 | ||
![]() |
58880ec965 | ||
![]() |
4dd894d1f5 | ||
![]() |
26f38f3fc0 | ||
![]() |
8216fb119c | ||
![]() |
7ae4b8ef1a | ||
![]() |
9e1d326892 | ||
![]() |
afe8054596 | ||
![]() |
a16fef8e61 | ||
![]() |
529484ed77 | ||
![]() |
2b606dc130 | ||
![]() |
b239314f29 | ||
![]() |
26ca7deae9 | ||
![]() |
1c33e9bb4d | ||
![]() |
2c35b52d16 | ||
![]() |
ea85ef9a17 | ||
![]() |
055c4feeb5 | ||
![]() |
8884eb8882 | ||
![]() |
c00d8fdb09 | ||
![]() |
cc4236efda | ||
![]() |
c556dc44da | ||
![]() |
327007e933 | ||
![]() |
610a66bf8c | ||
![]() |
920d6403f4 | ||
![]() |
8b96cf5d0b | ||
![]() |
ca14760dad | ||
![]() |
4f1e311d1b | ||
![]() |
45159fa2e3 | ||
![]() |
477daa9337 | ||
![]() |
273345ed84 | ||
![]() |
16d58a115b | ||
![]() |
f424d433f6 | ||
![]() |
92d846c7bb | ||
![]() |
1e2ddc45c1 | ||
![]() |
a79d4e0c1e | ||
2f839c26ac | |||
![]() |
79a3861413 | ||
![]() |
9475d5e8c2 | ||
![]() |
3fbc866077 | ||
![]() |
1e3a4891be | ||
![]() |
7f706ce3ab | ||
![]() |
fd14bbeee1 | ||
![]() |
4d4841f810 | ||
![]() |
d428079782 | ||
![]() |
f955759ba8 | ||
![]() |
eb19c93cb2 | ||
![]() |
77598ecd38 | ||
![]() |
f220d46679 | ||
![]() |
c65d6abd3b | ||
![]() |
6bd7e44a40 | ||
![]() |
a4ac20287c | ||
![]() |
97c8c290e8 | ||
![]() |
3051deeddd | ||
![]() |
f56325f0c1 | ||
![]() |
737e70e4f3 | ||
![]() |
7f3c4200aa | ||
![]() |
04b6f38a64 | ||
![]() |
43ffe6ef0c | ||
![]() |
e85098266d | ||
![]() |
01e15e5037 | ||
![]() |
c47cd40944 | ||
![]() |
09c6b31395 | ||
![]() |
a76a84225c | ||
![]() |
f230d15ce1 | ||
![]() |
4e85d8daea | ||
![]() |
5ec6e7091e | ||
![]() |
bf86d65273 | ||
![]() |
5c1da8a78a | ||
![]() |
05c8590896 | ||
![]() |
6311911466 | ||
![]() |
361ed81048 | ||
![]() |
136823c3d1 | ||
![]() |
633f55ac6b | ||
![]() |
029938fb96 | ||
![]() |
e611409068 | ||
![]() |
4bd686cc95 | ||
![]() |
e480f93e21 | ||
![]() |
65510c0bcd | ||
![]() |
0147d96aea | ||
![]() |
dd7469df12 | ||
![]() |
edeeb7866f | ||
![]() |
0f56e3d6ed | ||
![]() |
9c2dd855ea | ||
![]() |
0bfc90a317 | ||
![]() |
205afa0a06 | ||
![]() |
c7bcd6310b | ||
![]() |
99c988ce84 | ||
![]() |
baaf31864a | ||
![]() |
a0b49f357a | ||
![]() |
5bd7ed4298 | ||
![]() |
042cf19838 | ||
![]() |
aef5800b8c | ||
![]() |
f4eae173c2 | ||
![]() |
63d30c704d | ||
![]() |
04b98f6118 | ||
![]() |
92a1b76e29 |
@@ -1,8 +1,6 @@
|
|||||||
{
|
{
|
||||||
"project_id" : "Blender",
|
"project_id" : "Blender",
|
||||||
"conduit_uri" : "https://developer.blender.org/",
|
"conduit_uri" : "https://developer.blender.org/",
|
||||||
"phabricator.uri" : "https://developer.blender.org/",
|
|
||||||
"git.default-relative-commit" : "origin/master",
|
"git.default-relative-commit" : "origin/master",
|
||||||
"arc.land.update.default" : "rebase",
|
"arc.land.update.default" : "rebase"
|
||||||
"arc.land.onto.default" : "master"
|
|
||||||
}
|
}
|
||||||
|
273
.clang-format
273
.clang-format
@@ -1,273 +0,0 @@
|
|||||||
|
|
||||||
# Configuration of clang-format
|
|
||||||
# =============================
|
|
||||||
#
|
|
||||||
# Tested to work with versions: 8 to 11.
|
|
||||||
|
|
||||||
# This causes parameters on continuations to align to the opening brace.
|
|
||||||
#
|
|
||||||
# like_this_long_name(parameter_one,
|
|
||||||
# parameter_two,
|
|
||||||
# parameter_three);
|
|
||||||
#
|
|
||||||
AlignAfterOpenBracket: 'Align'
|
|
||||||
|
|
||||||
# Disallow short functions on one line; break them up.
|
|
||||||
AllowShortBlocksOnASingleLine: false
|
|
||||||
|
|
||||||
# These two settings trigger stacking of parameters in most cases; this is
|
|
||||||
# easier to read and also makes diffs easier to read (since an added or removed
|
|
||||||
# parameter is obvious). For example, function calls will look like this:
|
|
||||||
#
|
|
||||||
# like_this_long_name(parameter_one,
|
|
||||||
# parameter_two,
|
|
||||||
# parameter_three,
|
|
||||||
# parameter_four,
|
|
||||||
# parameter_five,
|
|
||||||
# parameter_six);
|
|
||||||
#
|
|
||||||
# Instead of:
|
|
||||||
#
|
|
||||||
# like_this_long_name(parameter_one, parameter_two, parameter_three, parameter_four,
|
|
||||||
# parameter_five, parameter_six);
|
|
||||||
#
|
|
||||||
BinPackArguments: false
|
|
||||||
BinPackParameters: false
|
|
||||||
|
|
||||||
# Line width (don't exceed 100).
|
|
||||||
ColumnLimit: 99
|
|
||||||
|
|
||||||
# Cause initializer lists to have one member initialized per line, in the case
|
|
||||||
# that all initializers can't fit on a single line.
|
|
||||||
ConstructorInitializerAllOnOneLineOrOnePerLine: true
|
|
||||||
|
|
||||||
# Indent the : after a constructor. For example:
|
|
||||||
#
|
|
||||||
# explicit foo_class ()
|
|
||||||
# : member1_(5)
|
|
||||||
# {
|
|
||||||
# }
|
|
||||||
#
|
|
||||||
ConstructorInitializerIndentWidth: 4
|
|
||||||
|
|
||||||
# Make access modifier slightly more visible.
|
|
||||||
AccessModifierOffset: -1
|
|
||||||
|
|
||||||
# This will unfortunately use spaces in some cases where it's not desired (like
|
|
||||||
# function calls) but the overall result is better since it will allow
|
|
||||||
# alignment to work properly with different tab width settings.
|
|
||||||
ContinuationIndentWidth: 4
|
|
||||||
|
|
||||||
# This tries to match Blender's style as much as possible. One
|
|
||||||
BreakBeforeBraces: Custom
|
|
||||||
BraceWrapping: {
|
|
||||||
AfterClass: 'false'
|
|
||||||
AfterControlStatement: 'false'
|
|
||||||
AfterEnum : 'false'
|
|
||||||
AfterFunction : 'true'
|
|
||||||
AfterNamespace : 'false'
|
|
||||||
AfterStruct : 'false'
|
|
||||||
AfterUnion : 'false'
|
|
||||||
BeforeCatch : 'true'
|
|
||||||
BeforeElse : 'true'
|
|
||||||
IndentBraces : 'false'
|
|
||||||
AfterObjCDeclaration: 'true'
|
|
||||||
}
|
|
||||||
|
|
||||||
# For switch statements, indent the cases.
|
|
||||||
IndentCaseLabels: true
|
|
||||||
|
|
||||||
# Indent after the hash inside preprocessor directives
|
|
||||||
IndentPPDirectives: AfterHash
|
|
||||||
|
|
||||||
BreakBeforeTernaryOperators: false
|
|
||||||
|
|
||||||
SpaceAfterTemplateKeyword: false
|
|
||||||
|
|
||||||
# Handy comment at the end of each C++ name space.
|
|
||||||
FixNamespaceComments: true
|
|
||||||
|
|
||||||
# Use "if (...)" instead of "if(...)", but have function calls like foo().
|
|
||||||
SpaceBeforeParens: ControlStatements
|
|
||||||
SpaceInEmptyParentheses: false
|
|
||||||
|
|
||||||
# Use two spaces before trailing comments, for example
|
|
||||||
#
|
|
||||||
# foo = bar; // comment
|
|
||||||
#
|
|
||||||
# Note that this doesn't work for C-style comments.
|
|
||||||
SpacesBeforeTrailingComments: 2
|
|
||||||
|
|
||||||
# Reflow comments, developers must disable formatting as with code to override this.
|
|
||||||
ReflowComments: true
|
|
||||||
|
|
||||||
# Never use tabs for indentation.
|
|
||||||
# Note: TabWidth and IndentWidth must be the same, or strange things happen.
|
|
||||||
UseTab: Never
|
|
||||||
TabWidth: 2
|
|
||||||
IndentWidth: 2
|
|
||||||
|
|
||||||
# Add a big penalty on breaking after the return type of functions. For example,
|
|
||||||
#
|
|
||||||
# static void foo(...)
|
|
||||||
#
|
|
||||||
# Instead of:
|
|
||||||
#
|
|
||||||
# static void
|
|
||||||
# foo(very long content here that maybe could be stacked)
|
|
||||||
#
|
|
||||||
PenaltyReturnTypeOnItsOwnLine: 10000
|
|
||||||
|
|
||||||
# Avoid having function calls broken onto a new line:
|
|
||||||
#
|
|
||||||
# int a = foo(
|
|
||||||
# long, list, of, many, params);
|
|
||||||
#
|
|
||||||
# Instead of:
|
|
||||||
#
|
|
||||||
# int a =
|
|
||||||
# foo(long, list, of, many, params);
|
|
||||||
#
|
|
||||||
PenaltyBreakAssignment: 100
|
|
||||||
|
|
||||||
AllowShortFunctionsOnASingleLine: None
|
|
||||||
|
|
||||||
SortIncludes: true
|
|
||||||
|
|
||||||
# Don't right align escaped newlines to the right because we have a wide default
|
|
||||||
AlignEscapedNewlines: DontAlign
|
|
||||||
|
|
||||||
# Always break:
|
|
||||||
#
|
|
||||||
# const char *foo =
|
|
||||||
# "multi"
|
|
||||||
# "line";
|
|
||||||
#
|
|
||||||
# Instead of:
|
|
||||||
#
|
|
||||||
# const char *foo = "multi"
|
|
||||||
# "line";
|
|
||||||
#
|
|
||||||
AlwaysBreakBeforeMultilineStrings: true
|
|
||||||
|
|
||||||
# We don't want literal strings to break,
|
|
||||||
# however clang-format seems to ignore this (sigh).
|
|
||||||
PenaltyBreakString: 1000000
|
|
||||||
|
|
||||||
# There are macros in Blender for custom for loops; tell Clang to treat them
|
|
||||||
# like loops rather than an expression, and so put the { on the same line.
|
|
||||||
#
|
|
||||||
# To find these use multi-line regex search:
|
|
||||||
# "^\s+[A-Z][A-Z0-9_]+\s*\([^\n]*\)\n\s*\{"
|
|
||||||
ForEachMacros:
|
|
||||||
- BEGIN_ANIMFILTER_SUBCHANNELS
|
|
||||||
- BKE_pbvh_vertex_iter_begin
|
|
||||||
- BLI_FOREACH_SPARSE_RANGE
|
|
||||||
- BLI_SMALLSTACK_ITER_BEGIN
|
|
||||||
- BMO_ITER
|
|
||||||
- BMO_ITER_INDEX
|
|
||||||
- BMW_ITER
|
|
||||||
- BM_FACES_OF_VERT_ITER_BEGIN
|
|
||||||
- BM_ITER_BPY_BM_SEQ
|
|
||||||
- BM_ITER_ELEM
|
|
||||||
- BM_ITER_ELEM_INDEX
|
|
||||||
- BM_ITER_MESH
|
|
||||||
- BM_ITER_MESH_INDEX
|
|
||||||
- BM_ITER_MESH_MUTABLE
|
|
||||||
- BM_LOOPS_OF_VERT_ITER_BEGIN
|
|
||||||
- BOOST_FOREACH
|
|
||||||
- CTX_DATA_BEGIN
|
|
||||||
- CTX_DATA_BEGIN_WITH_ID
|
|
||||||
- DEG_OBJECT_ITER_BEGIN
|
|
||||||
- DEG_OBJECT_ITER_FOR_RENDER_ENGINE_BEGIN
|
|
||||||
- DRW_ENABLED_ENGINE_ITER
|
|
||||||
- DRIVER_TARGETS_LOOPER_BEGIN
|
|
||||||
- DRIVER_TARGETS_USED_LOOPER_BEGIN
|
|
||||||
- FOREACH_BASE_IN_EDIT_MODE_BEGIN
|
|
||||||
- FOREACH_BASE_IN_MODE_BEGIN
|
|
||||||
- FOREACH_BEGIN
|
|
||||||
- FOREACH_COLLECTION_BEGIN
|
|
||||||
- FOREACH_COLLECTION_OBJECT_RECURSIVE_BEGIN
|
|
||||||
- FOREACH_COLLECTION_VISIBLE_OBJECT_RECURSIVE_BEGIN
|
|
||||||
- FOREACH_EDIT_OBJECT_BEGIN
|
|
||||||
- FOREACH_MAIN_ID_BEGIN
|
|
||||||
- FOREACH_MAIN_LISTBASE_BEGIN
|
|
||||||
- FOREACH_MAIN_LISTBASE_ID_BEGIN
|
|
||||||
- FOREACH_MESH_BUFFER_CACHE
|
|
||||||
- FOREACH_NODETREE_BEGIN
|
|
||||||
- FOREACH_OBJECT_BEGIN
|
|
||||||
- FOREACH_OBJECT_FLAG_BEGIN
|
|
||||||
- FOREACH_OBJECT_IN_EDIT_MODE_BEGIN
|
|
||||||
- FOREACH_OBJECT_IN_MODE_BEGIN
|
|
||||||
- FOREACH_OBJECT_RENDERABLE_BEGIN
|
|
||||||
- FOREACH_PCHAN_SELECTED_IN_OBJECT_BEGIN
|
|
||||||
- FOREACH_PCHAN_VISIBLE_IN_OBJECT_BEGIN
|
|
||||||
- FOREACH_SCENE_COLLECTION_BEGIN
|
|
||||||
- FOREACH_SCENE_OBJECT_BEGIN
|
|
||||||
- FOREACH_SELECTED_BASE_BEGIN
|
|
||||||
- FOREACH_SELECTED_EDITABLE_OBJECT_BEGIN
|
|
||||||
- FOREACH_SELECTED_OBJECT_BEGIN
|
|
||||||
- FOREACH_TRANS_DATA_CONTAINER
|
|
||||||
- FOREACH_VIEW_LAYER_TO_RENDER_BEGIN
|
|
||||||
- FOREACH_VISIBLE_BASE_BEGIN
|
|
||||||
- FOREACH_VISIBLE_OBJECT_BEGIN
|
|
||||||
- GHASH_FOREACH_BEGIN
|
|
||||||
- GHASH_ITER
|
|
||||||
- GHASH_ITER_INDEX
|
|
||||||
- GPU_SELECT_LOAD_IF_PICKSEL_LIST
|
|
||||||
- GP_EDITABLE_STROKES_BEGIN
|
|
||||||
- GP_EVALUATED_STROKES_BEGIN
|
|
||||||
- GSET_FOREACH_BEGIN
|
|
||||||
- GSET_ITER
|
|
||||||
- GSET_ITER_INDEX
|
|
||||||
- ITER_BEGIN
|
|
||||||
- ITER_PIXELS
|
|
||||||
- ITER_SLOTS
|
|
||||||
- ITER_SLOTS_BEGIN
|
|
||||||
- LOOP_EDITED_POINTS
|
|
||||||
- LOOP_KEYS
|
|
||||||
- LOOP_POINTS
|
|
||||||
- LOOP_SELECTED_KEYS
|
|
||||||
- LOOP_SELECTED_POINTS
|
|
||||||
- LOOP_TAGGED_KEYS
|
|
||||||
- LOOP_TAGGED_POINTS
|
|
||||||
- LOOP_UNSELECTED_POINTS
|
|
||||||
- LOOP_VISIBLE_KEYS
|
|
||||||
- LOOP_VISIBLE_POINTS
|
|
||||||
- LISTBASE_CIRCULAR_BACKWARD_BEGIN
|
|
||||||
- LISTBASE_CIRCULAR_FORWARD_BEGIN
|
|
||||||
- LISTBASE_FOREACH
|
|
||||||
- LISTBASE_FOREACH_BACKWARD
|
|
||||||
- LISTBASE_FOREACH_MUTABLE
|
|
||||||
- LISTBASE_FOREACH_BACKWARD_MUTABLE
|
|
||||||
- LISTBASE_FOREACH_INDEX
|
|
||||||
- MAN_ITER_AXES_BEGIN
|
|
||||||
- NODE_INSTANCE_HASH_ITER
|
|
||||||
- NODE_SOCKET_TYPES_BEGIN
|
|
||||||
- NODE_TREE_TYPES_BEGIN
|
|
||||||
- NODE_TYPES_BEGIN
|
|
||||||
- PIXEL_LOOPER_BEGIN
|
|
||||||
- PIXEL_LOOPER_BEGIN_CHANNELS
|
|
||||||
- RENDER_PASS_ITER_BEGIN
|
|
||||||
- RNA_BEGIN
|
|
||||||
- RNA_PROP_BEGIN
|
|
||||||
- RNA_STRUCT_BEGIN
|
|
||||||
- RNA_STRUCT_BEGIN_SKIP_RNA_TYPE
|
|
||||||
- SCULPT_VERTEX_DUPLICATES_AND_NEIGHBORS_ITER_BEGIN
|
|
||||||
- SCULPT_VERTEX_NEIGHBORS_ITER_BEGIN
|
|
||||||
- SEQ_ALL_BEGIN
|
|
||||||
- SEQ_ITERATOR_FOREACH
|
|
||||||
- SURFACE_QUAD_ITER_BEGIN
|
|
||||||
- foreach
|
|
||||||
- ED_screen_areas_iter
|
|
||||||
- SLOT_PROBING_BEGIN
|
|
||||||
- SET_SLOT_PROBING_BEGIN
|
|
||||||
- MAP_SLOT_PROBING_BEGIN
|
|
||||||
- VECTOR_SET_SLOT_PROBING_BEGIN
|
|
||||||
|
|
||||||
StatementMacros:
|
|
||||||
- PyObject_HEAD
|
|
||||||
- PyObject_VAR_HEAD
|
|
||||||
|
|
||||||
MacroBlockBegin: "^BSDF_CLOSURE_CLASS_BEGIN$"
|
|
||||||
MacroBlockEnd: "^BSDF_CLOSURE_CLASS_END$"
|
|
52
.clang-tidy
52
.clang-tidy
@@ -1,52 +0,0 @@
|
|||||||
# The warnings below are disabled because they are too pedantic and not worth fixing.
|
|
||||||
# Some of them will be enabled as part of the Clang-Tidy task, see T78535.
|
|
||||||
|
|
||||||
Checks: >
|
|
||||||
-*,
|
|
||||||
readability-*,
|
|
||||||
-readability-uppercase-literal-suffix,
|
|
||||||
-readability-magic-numbers,
|
|
||||||
-readability-isolate-declaration,
|
|
||||||
-readability-convert-member-functions-to-static,
|
|
||||||
-readability-implicit-bool-conversion,
|
|
||||||
-readability-avoid-const-params-in-decls,
|
|
||||||
-readability-simplify-boolean-expr,
|
|
||||||
-readability-make-member-function-const,
|
|
||||||
-readability-suspicious-call-argument,
|
|
||||||
-readability-redundant-member-init,
|
|
||||||
|
|
||||||
-readability-misleading-indentation,
|
|
||||||
|
|
||||||
-readability-use-anyofallof,
|
|
||||||
|
|
||||||
-readability-function-cognitive-complexity,
|
|
||||||
|
|
||||||
bugprone-*,
|
|
||||||
-bugprone-narrowing-conversions,
|
|
||||||
-bugprone-unhandled-self-assignment,
|
|
||||||
-bugprone-branch-clone,
|
|
||||||
-bugprone-macro-parentheses,
|
|
||||||
-bugprone-reserved-identifier,
|
|
||||||
-bugprone-easily-swappable-parameters,
|
|
||||||
-bugprone-implicit-widening-of-multiplication-result,
|
|
||||||
|
|
||||||
-bugprone-sizeof-expression,
|
|
||||||
-bugprone-integer-division,
|
|
||||||
|
|
||||||
-bugprone-redundant-branch-condition,
|
|
||||||
|
|
||||||
modernize-*,
|
|
||||||
-modernize-use-auto,
|
|
||||||
-modernize-use-trailing-return-type,
|
|
||||||
-modernize-avoid-c-arrays,
|
|
||||||
-modernize-use-nodiscard,
|
|
||||||
-modernize-loop-convert,
|
|
||||||
-modernize-pass-by-value,
|
|
||||||
# Cannot be enabled yet, because using raw string literals in tests breaks
|
|
||||||
# the windows compiler currently.
|
|
||||||
-modernize-raw-string-literal,
|
|
||||||
-modernize-return-braced-init-list
|
|
||||||
|
|
||||||
CheckOptions:
|
|
||||||
- key: modernize-use-default-member-init.UseAssignment
|
|
||||||
value: 1
|
|
@@ -1,44 +0,0 @@
|
|||||||
# C/C++
|
|
||||||
[*.{c,cc,h,hh,inl,glsl}]
|
|
||||||
charset = utf-8
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
insert_final_newline = true
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
||||||
max_line_length = 99
|
|
||||||
|
|
||||||
# CMake & Text
|
|
||||||
[*.{cmake,txt}]
|
|
||||||
charset = utf-8
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
insert_final_newline = true
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
||||||
max_line_length = 99
|
|
||||||
|
|
||||||
# Python
|
|
||||||
[*.py]
|
|
||||||
charset = utf-8
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
insert_final_newline = true
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 4
|
|
||||||
max_line_length = 120
|
|
||||||
|
|
||||||
# Shell
|
|
||||||
[*.sh]
|
|
||||||
charset = utf-8
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
insert_final_newline = true
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
||||||
max_line_length = 99
|
|
||||||
|
|
||||||
# reStructuredText
|
|
||||||
[*.rst]
|
|
||||||
charset = utf-8
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
insert_final_newline = true
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 3
|
|
||||||
max_line_length = 120
|
|
@@ -1,104 +0,0 @@
|
|||||||
# git config blame.ignoreRevsFile .git-blame-ignore-revs
|
|
||||||
#
|
|
||||||
# After running the above, commits listed in this file will be
|
|
||||||
# ignored by git blame. The blame will be shifted to the person
|
|
||||||
# who edited the line(s) before the ignored commit.
|
|
||||||
#
|
|
||||||
# To disable this ignorance for a command, run as follows
|
|
||||||
# git blame --ignore-revs-file="" <other options>
|
|
||||||
#
|
|
||||||
# Changes that belong here:
|
|
||||||
# - Massive comment, doxy-sections, or spelling corrections.
|
|
||||||
# - Clang-format, PEP8 or other automated changes which are *strictly* "no functional change".
|
|
||||||
# - Several commits should be added to this list at once, because adding
|
|
||||||
# one extra commit (to edit this file) after every cleanup is noisy.
|
|
||||||
# - No clang-tidy changes.
|
|
||||||
#
|
|
||||||
# Note:
|
|
||||||
# - The comment above the SHA should be the first line of the commit.
|
|
||||||
# - It is fine to pack together similar commits if they have the same explanatory comment.
|
|
||||||
# - Use only 40 character git SHAs; not smaller ones, not prefixed with rB.
|
|
||||||
#
|
|
||||||
# https://git-scm.com/docs/git-blame/2.23.0
|
|
||||||
|
|
||||||
# white space commit. (2 spaces -> tab).
|
|
||||||
0a3694cd6ebec710da7110e9f168a72d47c71ee0
|
|
||||||
|
|
||||||
# Cycles: Cleanup, spacing after preprocessor
|
|
||||||
cb4b5e12abf1fc6cf9ffc0944e0a1bc406286c63
|
|
||||||
|
|
||||||
# ClangFormat: apply to source, most of intern
|
|
||||||
e12c08e8d170b7ca40f204a5b0423c23a9fbc2c1
|
|
||||||
|
|
||||||
# Code Style: use "#pragma once" in source directory
|
|
||||||
91694b9b58ab953f3b313be9389cc1303e472fc2
|
|
||||||
|
|
||||||
# Code Style: use "#pragma once" in some newer headers
|
|
||||||
8198dbb888856b8c11757586df02aca15f132f90
|
|
||||||
|
|
||||||
# Code Style: use "#pragma once" in intern/ghost
|
|
||||||
1b1129f82a9cf316b54fbc025f8cfcc1a74b8589
|
|
||||||
|
|
||||||
# Cleanup: mostly comments, use doxy syntax & typos
|
|
||||||
e0cb02587012b4b2f4b18363dc7d0a7da2c02093
|
|
||||||
|
|
||||||
# Cleanup: use C comments for descriptive text
|
|
||||||
2abfcebb0eb7989e3d1e7d03f37ecf5c088210af
|
|
||||||
|
|
||||||
# use lowercase for cmake builtin names and macros, remove contents in else() and endif() which is no longer needed.
|
|
||||||
afacd184982e58a9c830a3d5366e25983939a7ba
|
|
||||||
|
|
||||||
# Spelling: It's Versus Its
|
|
||||||
3a7fd309fce89213b0224b3c6807adb2d1fe7ca8
|
|
||||||
|
|
||||||
# Spelling: Then Versus Than
|
|
||||||
d1eefc421544e2ea632fb35cb6bcaade4c39ce6b
|
|
||||||
|
|
||||||
# Spelling: Miscellaneous
|
|
||||||
84ef3b80de4915a24a9fd2fd214d0fa44e59b854
|
|
||||||
|
|
||||||
# Spelling: Loose Versus Lose
|
|
||||||
c0a6bc19794c69843c38451c762e91bc10136e0f
|
|
||||||
|
|
||||||
# Spelling: Apart Versus A Part
|
|
||||||
3d26cd01b9ba6381eb165e11536345ae652dfb41
|
|
||||||
|
|
||||||
# Cleanup: use 2 space indentation for CMake
|
|
||||||
3076d95ba441cd32706a27d18922a30f8fd28b8a
|
|
||||||
|
|
||||||
# Cleanup: use over-line for doxy comments
|
|
||||||
4b188bb08cf5aaae3c68ab57bbcfa037eef1ac10
|
|
||||||
|
|
||||||
# Cleanup: General comment style clean up of graph_edit.c and fcurve.c
|
|
||||||
0105f146bb40bd609ccbda3d3f6aeb8e14ad3f9e
|
|
||||||
|
|
||||||
# Cleanup: pep8 (indentation, spacing, long lines)
|
|
||||||
41d2d6da0c96d351b47acb64d3e0decdba16cb16
|
|
||||||
|
|
||||||
# Cleanup: pep8, blank lines
|
|
||||||
bab9de2a52929fe2b45ecddb1eb09da3378e303b
|
|
||||||
|
|
||||||
# Cleanup: PEP8 for python changes
|
|
||||||
1e7e94588daa66483190f45a9de5e98228f80e05
|
|
||||||
|
|
||||||
# GPencil: Cleanup pep8
|
|
||||||
a09cc3ee1a99f2cd5040bbf30c8ab8c588bb2bb1
|
|
||||||
|
|
||||||
# Cleanup: trailing space, remove tabs, pep8
|
|
||||||
c42a6b77b52560d257279de2cb624b4ef2c0d24c
|
|
||||||
|
|
||||||
# Cleanup: use C style doxygen comments
|
|
||||||
8c1726918374e1d2d2123e17bae8db5aadde3433
|
|
||||||
|
|
||||||
# Cleanup: use doxy sections for imbuf
|
|
||||||
c207f7c22e1439e0b285fba5d2c072bdae23f981
|
|
||||||
|
|
||||||
# Cleanup: clang-format
|
|
||||||
c4d8f6a4a8ddc29ed27311ed7578b3c8c31399d2
|
|
||||||
b5d310b569e07a937798a2d38539cfd290149f1c
|
|
||||||
8c846cccd6bdfd3e90a695fabbf05f53e5466a57
|
|
||||||
4eac03d821fa17546f562485f7d073813a5e5943
|
|
||||||
1166110a9d66af9c5a47cee2be591f50fdc445e8
|
|
||||||
|
|
||||||
# Cleanup: clang-format.
|
|
||||||
40d4a4cb1a6b4c3c2a486e8f2868f547530e0811
|
|
5
.github/pull_request_template.md
vendored
5
.github/pull_request_template.md
vendored
@@ -1,5 +0,0 @@
|
|||||||
This repository is only used as a mirror of git.blender.org. Blender development happens on
|
|
||||||
https://developer.blender.org.
|
|
||||||
|
|
||||||
To get started with contributing code, please see:
|
|
||||||
https://wiki.blender.org/wiki/Process/Contributing_Code
|
|
22
.github/stale.yml
vendored
22
.github/stale.yml
vendored
@@ -1,22 +0,0 @@
|
|||||||
# Configuration for probot-stale - https://github.com/probot/stale
|
|
||||||
# This file is used on Blender's GitHub mirror to automatically close any pull request
|
|
||||||
# and invite contributors to join the official development platform on blender.org
|
|
||||||
|
|
||||||
# Number of days of inactivity before an Issue or Pull Request becomes stale
|
|
||||||
daysUntilStale: 1
|
|
||||||
|
|
||||||
# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
|
|
||||||
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
|
|
||||||
daysUntilClose: 1
|
|
||||||
|
|
||||||
# Label to use when marking as stale
|
|
||||||
staleLabel: stale
|
|
||||||
|
|
||||||
# Comment to post when closing a stale Issue or Pull Request.
|
|
||||||
closeComment: >
|
|
||||||
This issue has been automatically closed, because this repository is only
|
|
||||||
used as a mirror of git.blender.org. Blender development happens on
|
|
||||||
developer.blender.org.
|
|
||||||
|
|
||||||
To get started contributing code, please read:
|
|
||||||
https://wiki.blender.org/wiki/Process/Contributing_Code
|
|
19
.gitignore
vendored
19
.gitignore
vendored
@@ -11,10 +11,6 @@ __pycache__/
|
|||||||
*.swo
|
*.swo
|
||||||
*#
|
*#
|
||||||
|
|
||||||
# Indexes for emacs, vi & others
|
|
||||||
TAGS
|
|
||||||
tags
|
|
||||||
|
|
||||||
# QtCreator
|
# QtCreator
|
||||||
CMakeLists.txt.user
|
CMakeLists.txt.user
|
||||||
|
|
||||||
@@ -25,7 +21,7 @@ Desktop.ini
|
|||||||
|
|
||||||
# commonly used paths in blender
|
# commonly used paths in blender
|
||||||
/blender.bin
|
/blender.bin
|
||||||
/BUILD_NOTES.txt
|
/user-config.py
|
||||||
|
|
||||||
# local patches
|
# local patches
|
||||||
/*.patch
|
/*.patch
|
||||||
@@ -36,16 +32,3 @@ Desktop.ini
|
|||||||
/doc/python_api/sphinx-in-tmp/
|
/doc/python_api/sphinx-in-tmp/
|
||||||
/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
|
|
||||||
|
|
||||||
# in-source lib downloads
|
|
||||||
/build_files/build_environment/downloads
|
|
||||||
|
|
||||||
# in-source buildbot signing configuration
|
|
||||||
/build_files/buildbot/codesign/config_server.py
|
|
||||||
|
|
||||||
# smoke simulation noise tile (generated)
|
|
||||||
waveletNoiseTile.bin
|
|
||||||
|
|
||||||
# testing environment
|
|
||||||
/Testing
|
|
||||||
|
10
.gitmodules
vendored
10
.gitmodules
vendored
@@ -1,20 +1,16 @@
|
|||||||
[submodule "release/scripts/addons"]
|
[submodule "release/scripts/addons"]
|
||||||
path = release/scripts/addons
|
path = release/scripts/addons
|
||||||
url = ../blender-addons.git
|
url = ../blender-addons.git
|
||||||
branch = master
|
|
||||||
ignore = all
|
ignore = all
|
||||||
[submodule "release/scripts/addons_contrib"]
|
[submodule "release/scripts/addons_contrib"]
|
||||||
path = release/scripts/addons_contrib
|
path = release/scripts/addons_contrib
|
||||||
url = ../blender-addons-contrib.git
|
url = ../blender-addons-contrib.git
|
||||||
branch = master
|
|
||||||
ignore = all
|
ignore = all
|
||||||
[submodule "release/datafiles/locale"]
|
[submodule "release/datafiles/locale"]
|
||||||
path = release/datafiles/locale
|
path = release/datafiles/locale
|
||||||
url = ../blender-translations.git
|
url = ../blender-translations.git
|
||||||
branch = master
|
|
||||||
ignore = all
|
ignore = all
|
||||||
[submodule "source/tools"]
|
[submodule "scons"]
|
||||||
path = source/tools
|
path = scons
|
||||||
url = ../blender-dev-tools.git
|
url = ../scons.git
|
||||||
branch = master
|
|
||||||
ignore = all
|
ignore = all
|
||||||
|
3856
CMakeLists.txt
3856
CMakeLists.txt
File diff suppressed because it is too large
Load Diff
596
GNUmakefile
596
GNUmakefile
@@ -1,4 +1,4 @@
|
|||||||
# -*- mode: gnumakefile; tab-width: 4; indent-tabs-mode: t; -*-
|
# -*- mode: gnumakefile; tab-width: 8; indent-tabs-mode: t; -*-
|
||||||
# vim: tabstop=4
|
# vim: tabstop=4
|
||||||
#
|
#
|
||||||
# ##### BEGIN GPL LICENSE BLOCK #####
|
# ##### BEGIN GPL LICENSE BLOCK #####
|
||||||
@@ -24,207 +24,25 @@
|
|||||||
# ../build_linux_i386
|
# ../build_linux_i386
|
||||||
# This is for users who like to configure & build blender with a single command.
|
# This is for users who like to configure & build blender with a single command.
|
||||||
|
|
||||||
define HELP_TEXT
|
|
||||||
|
|
||||||
Blender Convenience Targets
|
|
||||||
Provided for building Blender (multiple targets can be used at once).
|
|
||||||
|
|
||||||
* debug: Build a debug binary.
|
|
||||||
* full: Enable all supported dependencies & options.
|
|
||||||
* lite: Disable non essential features for a smaller binary and faster build.
|
|
||||||
* release: Complete build with all options enabled including CUDA and Optix, matching the releases on blender.org
|
|
||||||
* headless: Build without an interface (renderfarm or server automation).
|
|
||||||
* cycles: Build Cycles standalone only, without Blender.
|
|
||||||
* bpy: Build as a python module which can be loaded from python directly.
|
|
||||||
* developer: Enable faster builds, error checking and tests, recommended for developers.
|
|
||||||
* ninja: Use ninja build tool for faster builds.
|
|
||||||
* ccache: Use ccache for faster rebuilds.
|
|
||||||
|
|
||||||
Note: when passing in multiple targets their order is not important.
|
|
||||||
So for a fast build you can for e.g. run 'make lite ccache ninja'.
|
|
||||||
Note: passing the argument 'BUILD_DIR=path' when calling make will override the default build dir.
|
|
||||||
Note: passing the argument 'BUILD_CMAKE_ARGS=args' lets you add cmake arguments.
|
|
||||||
|
|
||||||
Other Convenience Targets
|
|
||||||
Provided for other building operations.
|
|
||||||
|
|
||||||
* config: Run cmake configuration tool to set build options.
|
|
||||||
* deps: Build library dependencies (intended only for platform maintainers).
|
|
||||||
|
|
||||||
The existance of locally build dependencies overrides the pre-built dependencies from subversion.
|
|
||||||
These must be manually removed from '../lib/' to go back to using the pre-compiled libraries.
|
|
||||||
|
|
||||||
Project Files
|
|
||||||
Generate project files for development environments.
|
|
||||||
|
|
||||||
* project_qtcreator: QtCreator Project Files.
|
|
||||||
* project_netbeans: NetBeans Project Files.
|
|
||||||
* project_eclipse: Eclipse CDT4 Project Files.
|
|
||||||
|
|
||||||
Package Targets
|
|
||||||
|
|
||||||
* package_debian: Build a debian package.
|
|
||||||
* package_pacman: Build an arch linux pacman package.
|
|
||||||
* package_archive: Build an archive package.
|
|
||||||
|
|
||||||
Testing Targets
|
|
||||||
Not associated with building Blender.
|
|
||||||
|
|
||||||
* test:
|
|
||||||
Run automated tests with ctest.
|
|
||||||
* test_cmake:
|
|
||||||
Runs our own cmake file checker
|
|
||||||
which detects errors in the cmake file list definitions
|
|
||||||
* test_pep8:
|
|
||||||
Checks all python script are pep8
|
|
||||||
which are tagged to use the stricter formatting
|
|
||||||
* test_deprecated:
|
|
||||||
Checks for deprecation tags in our code which may need to be removed
|
|
||||||
|
|
||||||
Static Source Code Checking
|
|
||||||
Not associated with building Blender.
|
|
||||||
|
|
||||||
* check_cppcheck: Run blender source through cppcheck (C & C++).
|
|
||||||
* check_clang_array: Run blender source through clang array checking script (C & C++).
|
|
||||||
* check_splint: Run blenders source through splint (C only).
|
|
||||||
* check_sparse: Run blenders source through sparse (C only).
|
|
||||||
* check_smatch: Run blenders source through smatch (C only).
|
|
||||||
* check_descriptions: Check for duplicate/invalid descriptions.
|
|
||||||
|
|
||||||
Spell Checkers
|
|
||||||
This runs the spell checker from the developer tools repositor.
|
|
||||||
|
|
||||||
* check_spelling_c: Check for spelling errors (C/C++ only),
|
|
||||||
* check_spelling_osl: Check for spelling errors (OSL only).
|
|
||||||
* check_spelling_py: Check for spelling errors (Python only).
|
|
||||||
|
|
||||||
Note: an additional word-list is maintained at: 'source/tools/check_source/check_spelling_c_config.py'
|
|
||||||
|
|
||||||
Note: that spell checkers can take a 'CHECK_SPELLING_CACHE' filepath argument,
|
|
||||||
so re-running does not need to re-check unchanged files.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
make check_spelling_c CHECK_SPELLING_CACHE=../spelling_cache.data
|
|
||||||
|
|
||||||
Utilities
|
|
||||||
Not associated with building Blender.
|
|
||||||
|
|
||||||
* icons:
|
|
||||||
Updates PNG icons from SVG files.
|
|
||||||
|
|
||||||
Optionally pass in variables: 'BLENDER_BIN', 'INKSCAPE_BIN'
|
|
||||||
otherwise default paths are used.
|
|
||||||
|
|
||||||
Example
|
|
||||||
make icons INKSCAPE_BIN=/path/to/inkscape
|
|
||||||
|
|
||||||
* icons_geom:
|
|
||||||
Updates Geometry icons from BLEND file.
|
|
||||||
|
|
||||||
Optionally pass in variable: 'BLENDER_BIN'
|
|
||||||
otherwise default paths are used.
|
|
||||||
|
|
||||||
Example
|
|
||||||
make icons_geom BLENDER_BIN=/path/to/blender
|
|
||||||
|
|
||||||
* source_archive:
|
|
||||||
Create a compressed archive of the source code.
|
|
||||||
|
|
||||||
* source_archive_complete:
|
|
||||||
Create a compressed archive of the source code and all the libraries of dependencies.
|
|
||||||
|
|
||||||
* update:
|
|
||||||
Updates git and all submodules and svn.
|
|
||||||
|
|
||||||
* update_code:
|
|
||||||
Updates git and all submodules but not svn.
|
|
||||||
|
|
||||||
* format:
|
|
||||||
Format source code using clang (uses PATHS if passed in). For example::
|
|
||||||
|
|
||||||
make format PATHS="source/blender/blenlib source/blender/blenkernel"
|
|
||||||
|
|
||||||
Environment Variables
|
|
||||||
|
|
||||||
* BUILD_CMAKE_ARGS: Arguments passed to CMake.
|
|
||||||
* BUILD_DIR: Override default build path.
|
|
||||||
* PYTHON: Use this for the Python command (used for checking tools).
|
|
||||||
* NPROCS: Number of processes to use building (auto-detect when omitted).
|
|
||||||
|
|
||||||
Documentation Targets
|
|
||||||
Not associated with building Blender.
|
|
||||||
|
|
||||||
* doc_py: Generate sphinx python api docs.
|
|
||||||
* doc_doxy: Generate doxygen C/C++ docs.
|
|
||||||
* doc_dna: Generate blender file format reference.
|
|
||||||
* doc_man: Generate manpage.
|
|
||||||
|
|
||||||
Information
|
|
||||||
|
|
||||||
* help: This help message.
|
|
||||||
* help_features: Show a list of optional features when building.
|
|
||||||
|
|
||||||
endef
|
|
||||||
# HELP_TEXT (end)
|
|
||||||
|
|
||||||
# This makefile is not meant for Windows
|
|
||||||
ifeq ($(OS),Windows_NT)
|
|
||||||
$(error On Windows, use "cmd //c make.bat" instead of "make")
|
|
||||||
endif
|
|
||||||
|
|
||||||
# System Vars
|
# System Vars
|
||||||
OS:=$(shell uname -s)
|
OS:=$(shell uname -s)
|
||||||
OS_NCASE:=$(shell uname -s | tr '[A-Z]' '[a-z]')
|
OS_NCASE:=$(shell uname -s | tr '[A-Z]' '[a-z]')
|
||||||
CPU:=$(shell uname -m)
|
# CPU:=$(shell uname -m) # UNUSED
|
||||||
|
|
||||||
|
|
||||||
# Source and Build DIR's
|
# Source and Build DIR's
|
||||||
BLENDER_DIR:=$(shell pwd -P)
|
BLENDER_DIR:=$(shell pwd -P)
|
||||||
BUILD_TYPE:=Release
|
BUILD_TYPE:=Release
|
||||||
|
|
||||||
# CMake arguments, assigned to local variable to make it mutable.
|
ifndef BUILD_CMAKE_ARGS
|
||||||
CMAKE_CONFIG_ARGS := $(BUILD_CMAKE_ARGS)
|
BUILD_CMAKE_ARGS:=
|
||||||
|
endif
|
||||||
|
|
||||||
ifndef BUILD_DIR
|
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
|
|
||||||
|
|
||||||
ifndef DEPS_BUILD_DIR
|
|
||||||
DEPS_BUILD_DIR:=$(BUILD_DIR)/deps
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifndef DEPS_INSTALL_DIR
|
|
||||||
DEPS_INSTALL_DIR:=$(shell dirname "$(BLENDER_DIR)")/lib/$(OS_NCASE)
|
|
||||||
|
|
||||||
# Add processor type to directory name, except for darwin x86_64
|
|
||||||
# which by convention does not have it.
|
|
||||||
ifeq ($(OS_NCASE),darwin)
|
|
||||||
ifneq ($(CPU),x86_64)
|
|
||||||
DEPS_INSTALL_DIR:=$(DEPS_INSTALL_DIR)_$(CPU)
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
DEPS_INSTALL_DIR:=$(DEPS_INSTALL_DIR)_$(CPU)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Allow to use alternative binary (pypy3, etc)
|
|
||||||
ifndef PYTHON
|
|
||||||
PYTHON:=python3
|
|
||||||
endif
|
|
||||||
|
|
||||||
# For macOS python3 is not installed by default, so fallback to python binary
|
|
||||||
# in libraries, or python 2 for running make update to get it.
|
|
||||||
ifeq ($(OS_NCASE),darwin)
|
|
||||||
ifeq (, $(shell command -v $(PYTHON)))
|
|
||||||
PYTHON:=$(DEPS_INSTALL_DIR)/python/bin/python3.7m
|
|
||||||
ifeq (, $(shell command -v $(PYTHON)))
|
|
||||||
PYTHON:=python
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# additional targets for the build configuration
|
# additional targets for the build configuration
|
||||||
@@ -236,93 +54,50 @@ ifneq "$(findstring debug, $(MAKECMDGOALS))" ""
|
|||||||
endif
|
endif
|
||||||
ifneq "$(findstring full, $(MAKECMDGOALS))" ""
|
ifneq "$(findstring full, $(MAKECMDGOALS))" ""
|
||||||
BUILD_DIR:=$(BUILD_DIR)_full
|
BUILD_DIR:=$(BUILD_DIR)_full
|
||||||
CMAKE_CONFIG_ARGS:=-C"$(BLENDER_DIR)/build_files/cmake/config/blender_full.cmake" $(CMAKE_CONFIG_ARGS)
|
BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C"$(BLENDER_DIR)/build_files/cmake/config/blender_full.cmake"
|
||||||
endif
|
endif
|
||||||
ifneq "$(findstring lite, $(MAKECMDGOALS))" ""
|
ifneq "$(findstring lite, $(MAKECMDGOALS))" ""
|
||||||
BUILD_DIR:=$(BUILD_DIR)_lite
|
BUILD_DIR:=$(BUILD_DIR)_lite
|
||||||
CMAKE_CONFIG_ARGS:=-C"$(BLENDER_DIR)/build_files/cmake/config/blender_lite.cmake" $(CMAKE_CONFIG_ARGS)
|
BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C"$(BLENDER_DIR)/build_files/cmake/config/blender_lite.cmake"
|
||||||
endif
|
|
||||||
ifneq "$(findstring release, $(MAKECMDGOALS))" ""
|
|
||||||
BUILD_DIR:=$(BUILD_DIR)_release
|
|
||||||
CMAKE_CONFIG_ARGS:=-C"$(BLENDER_DIR)/build_files/cmake/config/blender_release.cmake" $(CMAKE_CONFIG_ARGS)
|
|
||||||
endif
|
endif
|
||||||
ifneq "$(findstring cycles, $(MAKECMDGOALS))" ""
|
ifneq "$(findstring cycles, $(MAKECMDGOALS))" ""
|
||||||
BUILD_DIR:=$(BUILD_DIR)_cycles
|
BUILD_DIR:=$(BUILD_DIR)_cycles
|
||||||
CMAKE_CONFIG_ARGS:=-C"$(BLENDER_DIR)/build_files/cmake/config/cycles_standalone.cmake" $(CMAKE_CONFIG_ARGS)
|
BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C"$(BLENDER_DIR)/build_files/cmake/config/cycles_standalone.cmake"
|
||||||
endif
|
endif
|
||||||
ifneq "$(findstring headless, $(MAKECMDGOALS))" ""
|
ifneq "$(findstring headless, $(MAKECMDGOALS))" ""
|
||||||
BUILD_DIR:=$(BUILD_DIR)_headless
|
BUILD_DIR:=$(BUILD_DIR)_headless
|
||||||
CMAKE_CONFIG_ARGS:=-C"$(BLENDER_DIR)/build_files/cmake/config/blender_headless.cmake" $(CMAKE_CONFIG_ARGS)
|
BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C"$(BLENDER_DIR)/build_files/cmake/config/blender_headless.cmake"
|
||||||
endif
|
endif
|
||||||
ifneq "$(findstring bpy, $(MAKECMDGOALS))" ""
|
ifneq "$(findstring bpy, $(MAKECMDGOALS))" ""
|
||||||
BUILD_DIR:=$(BUILD_DIR)_bpy
|
BUILD_DIR:=$(BUILD_DIR)_bpy
|
||||||
CMAKE_CONFIG_ARGS:=-C"$(BLENDER_DIR)/build_files/cmake/config/bpy_module.cmake" $(CMAKE_CONFIG_ARGS)
|
BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C"$(BLENDER_DIR)/build_files/cmake/config/bpy_module.cmake"
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq "$(findstring developer, $(MAKECMDGOALS))" ""
|
|
||||||
CMAKE_CONFIG_ARGS:=-C"$(BLENDER_DIR)/build_files/cmake/config/blender_developer.cmake" $(CMAKE_CONFIG_ARGS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq "$(findstring ccache, $(MAKECMDGOALS))" ""
|
|
||||||
CMAKE_CONFIG_ARGS:=-DWITH_COMPILER_CCACHE=YES $(CMAKE_CONFIG_ARGS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
# build tool
|
|
||||||
|
|
||||||
ifneq "$(findstring ninja, $(MAKECMDGOALS))" ""
|
|
||||||
CMAKE_CONFIG_ARGS:=$(CMAKE_CONFIG_ARGS) -G Ninja
|
|
||||||
BUILD_COMMAND:=ninja
|
|
||||||
DEPS_BUILD_COMMAND:=ninja
|
|
||||||
else
|
|
||||||
ifneq ("$(wildcard $(BUILD_DIR)/build.ninja)","")
|
|
||||||
BUILD_COMMAND:=ninja
|
|
||||||
else
|
|
||||||
BUILD_COMMAND:=make -s
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ("$(wildcard $(DEPS_BUILD_DIR)/build.ninja)","")
|
|
||||||
DEPS_BUILD_COMMAND:=ninja
|
|
||||||
else
|
|
||||||
DEPS_BUILD_COMMAND:=make -s
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
# Blender binary path
|
|
||||||
|
|
||||||
# Allow passing in own BLENDER_BIN so developers who don't
|
|
||||||
# use the default build path can still use utility helpers.
|
|
||||||
ifeq ($(OS), Darwin)
|
|
||||||
BLENDER_BIN?="$(BUILD_DIR)/bin/Blender.app/Contents/MacOS/Blender"
|
|
||||||
else
|
|
||||||
BLENDER_BIN?="$(BUILD_DIR)/bin/blender"
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Get the number of cores for threaded build
|
# Get the number of cores for threaded build
|
||||||
ifndef NPROCS
|
NPROCS:=1
|
||||||
NPROCS:=1
|
ifeq ($(OS), Linux)
|
||||||
ifeq ($(OS), Linux)
|
NPROCS:=$(shell nproc)
|
||||||
NPROCS:=$(shell nproc)
|
endif
|
||||||
endif
|
ifeq ($(OS), Darwin)
|
||||||
ifeq ($(OS), NetBSD)
|
NPROCS:=$(shell sysctl -a | grep "hw.ncpu" | cut -d" " -f3)
|
||||||
NPROCS:=$(shell getconf NPROCESSORS_ONLN)
|
endif
|
||||||
endif
|
ifeq ($(OS), FreeBSD)
|
||||||
ifneq (,$(filter $(OS),Darwin FreeBSD))
|
NPROCS:=$(shell sysctl -a | grep "hw.ncpu" | cut -d" " -f2 )
|
||||||
NPROCS:=$(shell sysctl -n hw.ncpu)
|
endif
|
||||||
endif
|
ifeq ($(OS), NetBSD)
|
||||||
|
NPROCS:=$(shell sysctl -a | grep "hw.ncpu" | cut -d" " -f2 )
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Macro for configuring cmake
|
# Macro for configuring cmake
|
||||||
|
|
||||||
CMAKE_CONFIG = cmake $(CMAKE_CONFIG_ARGS) \
|
CMAKE_CONFIG = cmake $(BUILD_CMAKE_ARGS) \
|
||||||
-H"$(BLENDER_DIR)" \
|
-H"$(BLENDER_DIR)" \
|
||||||
-B"$(BUILD_DIR)" \
|
-B"$(BUILD_DIR)" \
|
||||||
-DCMAKE_BUILD_TYPE_INIT:STRING=$(BUILD_TYPE)
|
-DCMAKE_BUILD_TYPE:STRING=$(BUILD_TYPE)
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
@@ -331,87 +106,121 @@ CMAKE_CONFIG = cmake $(CMAKE_CONFIG_ARGS) \
|
|||||||
# X11 spesific
|
# X11 spesific
|
||||||
ifdef DISPLAY
|
ifdef DISPLAY
|
||||||
CMAKE_CONFIG_TOOL = cmake-gui
|
CMAKE_CONFIG_TOOL = cmake-gui
|
||||||
else
|
else
|
||||||
CMAKE_CONFIG_TOOL = ccmake
|
CMAKE_CONFIG_TOOL = ccmake
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Build Blender
|
# Build Blender
|
||||||
all: .FORCE
|
all: FORCE
|
||||||
@echo
|
@echo
|
||||||
@echo Configuring Blender in \"$(BUILD_DIR)\" ...
|
@echo Configuring Blender ...
|
||||||
|
|
||||||
# # if test ! -f $(BUILD_DIR)/CMakeCache.txt ; then \
|
# if test ! -f $(BUILD_DIR)/CMakeCache.txt ; then \
|
||||||
# # $(CMAKE_CONFIG); \
|
# $(CMAKE_CONFIG); \
|
||||||
# # fi
|
# fi
|
||||||
|
|
||||||
# # do this always incase of failed initial build, could be smarter here...
|
# do this always incase of failed initial build, could be smarter here...
|
||||||
@$(CMAKE_CONFIG)
|
$(CMAKE_CONFIG)
|
||||||
|
|
||||||
@echo
|
@echo
|
||||||
@echo Building Blender ...
|
@echo Building Blender ...
|
||||||
$(BUILD_COMMAND) -C "$(BUILD_DIR)" -j $(NPROCS) install
|
$(MAKE) -C "$(BUILD_DIR)" -s -j $(NPROCS) install
|
||||||
@echo
|
@echo
|
||||||
@echo edit build configuration with: "$(BUILD_DIR)/CMakeCache.txt" run make again to rebuild.
|
@echo edit build configuration with: "$(BUILD_DIR)/CMakeCache.txt" run make again to rebuild.
|
||||||
@echo Blender successfully built, run from: $(BLENDER_BIN)
|
@echo blender installed, run from: "$(BUILD_DIR)/bin/blender"
|
||||||
@echo
|
@echo
|
||||||
|
|
||||||
debug: all
|
debug: all
|
||||||
full: all
|
full: all
|
||||||
lite: all
|
lite: all
|
||||||
release: all
|
|
||||||
cycles: all
|
cycles: all
|
||||||
headless: all
|
headless: all
|
||||||
bpy: all
|
bpy: all
|
||||||
developer: all
|
|
||||||
ninja: all
|
|
||||||
ccache: 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 ...
|
|
||||||
$(DEPS_BUILD_COMMAND) -C "$(DEPS_BUILD_DIR)" -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)
|
||||||
config: .FORCE
|
config: FORCE
|
||||||
$(CMAKE_CONFIG_TOOL) "$(BUILD_DIR)"
|
$(CMAKE_CONFIG_TOOL) "$(BUILD_DIR)"
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Help for build targets
|
# Help for build targets
|
||||||
export HELP_TEXT
|
help: FORCE
|
||||||
help: .FORCE
|
@echo ""
|
||||||
@echo "$$HELP_TEXT"
|
@echo "Convenience targets provided for building blender, (multiple at once can be used)"
|
||||||
|
@echo " * debug - build a debug binary"
|
||||||
|
@echo " * full - enable all supported dependencies & options"
|
||||||
|
@echo " * lite - disable non essential features for a smaller binary and faster build"
|
||||||
|
@echo " * headless - build without an interface (renderfarm or server automation)"
|
||||||
|
@echo " * cycles - build Cycles standalone only, without Blender"
|
||||||
|
@echo " * bpy - build as a python module which can be loaded from python directly"
|
||||||
|
@echo ""
|
||||||
|
@echo " * config - run cmake configuration tool to set build options"
|
||||||
|
@echo ""
|
||||||
|
@echo " Note, passing the argument 'BUILD_DIR=path' when calling make will override the default build dir."
|
||||||
|
@echo " Note, passing the argument 'BUILD_CMAKE_ARGS=args' lets you add cmake arguments."
|
||||||
|
@echo ""
|
||||||
|
@echo ""
|
||||||
|
@echo "Project Files for IDE's"
|
||||||
|
@echo " * project_qtcreator - QtCreator Project Files"
|
||||||
|
@echo " * project_netbeans - NetBeans Project Files"
|
||||||
|
@echo " * project_eclipse - Eclipse CDT4 Project Files"
|
||||||
|
@echo ""
|
||||||
|
@echo "Package Targets"
|
||||||
|
@echo " * package_debian - build a debian package"
|
||||||
|
@echo " * package_pacman - build an arch linux pacman package"
|
||||||
|
@echo " * package_archive - build an archive package"
|
||||||
|
@echo ""
|
||||||
|
@echo "Testing Targets (not associated with building blender)"
|
||||||
|
@echo " * test - run ctest, currently tests import/export, operator execution and that python modules load"
|
||||||
|
@echo " * test_cmake - runs our own cmake file checker which detects errors in the cmake file list definitions"
|
||||||
|
@echo " * test_pep8 - checks all python script are pep8 which are tagged to use the stricter formatting"
|
||||||
|
@echo " * test_deprecated - checks for deprecation tags in our code which may need to be removed"
|
||||||
|
@echo " * test_style_c - checks C/C++ conforms with blenders style guide: http://wiki.blender.org/index.php/Dev:Doc/CodeStyle"
|
||||||
|
@echo " * test_style_c_qtc - same as test_style but outputs QtCreator tasks format"
|
||||||
|
@echo " * test_style_osl - checks OpenShadingLanguage conforms with blenders style guide: http://wiki.blender.org/index.php/Dev:Doc/CodeStyle"
|
||||||
|
@echo " * test_style_osl_qtc - checks OpenShadingLanguage conforms with blenders style guide: http://wiki.blender.org/index.php/Dev:Doc/CodeStyle"
|
||||||
|
@echo ""
|
||||||
|
@echo "Static Source Code Checking (not associated with building blender)"
|
||||||
|
@echo " * check_cppcheck - run blender source through cppcheck (C & C++)"
|
||||||
|
@echo " * check_clang_array - run blender source through clang array checking script (C & C++)"
|
||||||
|
@echo " * check_splint - run blenders source through splint (C only)"
|
||||||
|
@echo " * check_sparse - run blenders source through sparse (C only)"
|
||||||
|
@echo " * check_smatch - run blenders source through smatch (C only)"
|
||||||
|
@echo " * check_spelling_c - check for spelling errors (C/C++ only)"
|
||||||
|
@echo " * check_spelling_c_qtc - same as check_spelling_c but outputs QtCreator tasks format"
|
||||||
|
@echo " * check_spelling_osl - check for spelling errors (OSL only)"
|
||||||
|
@echo " * check_spelling_py - check for spelling errors (Python only)"
|
||||||
|
@echo " * check_descriptions - check for duplicate/invalid descriptions"
|
||||||
|
@echo ""
|
||||||
|
@echo "Utilities (not associated with building blender)"
|
||||||
|
@echo " * icons - updates PNG icons from SVG files."
|
||||||
|
@echo " * tgz - create a compressed archive of the source code."
|
||||||
|
@echo " * update - updates git and all submodules"
|
||||||
|
@echo ""
|
||||||
|
@echo "Documentation Targets (not associated with building blender)"
|
||||||
|
@echo " * doc_py - generate sphinx python api docs"
|
||||||
|
@echo " * doc_doxy - generate doxygen C/C++ docs"
|
||||||
|
@echo " * doc_dna - generate blender file format reference"
|
||||||
|
@echo " * doc_man - generate manpage"
|
||||||
|
@echo ""
|
||||||
|
@echo "Information"
|
||||||
|
@echo " * help - this help message"
|
||||||
|
@echo " * help_features - show a list of optional features when building"
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Packages
|
# Packages
|
||||||
#
|
#
|
||||||
package_debian: .FORCE
|
package_debian: FORCE
|
||||||
cd build_files/package_spec ; DEB_BUILD_OPTIONS="parallel=$(NPROCS)" sh ./build_debian.sh
|
cd build_files/package_spec ; DEB_BUILD_OPTIONS="parallel=$(NPROCS)" sh ./build_debian.sh
|
||||||
|
|
||||||
package_pacman: .FORCE
|
package_pacman: FORCE
|
||||||
cd build_files/package_spec/pacman ; MAKEFLAGS="-j$(NPROCS)" makepkg
|
cd build_files/package_spec/pacman ; MAKEFLAGS="-j$(NPROCS)" makepkg
|
||||||
|
|
||||||
package_archive: .FORCE
|
package_archive: FORCE
|
||||||
make -C "$(BUILD_DIR)" -s package_archive
|
make -C "$(BUILD_DIR)" -s package_archive
|
||||||
@echo archive in "$(BUILD_DIR)/release"
|
@echo archive in "$(BUILD_DIR)/release"
|
||||||
|
|
||||||
@@ -419,35 +228,74 @@ package_archive: .FORCE
|
|||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Tests
|
# Tests
|
||||||
#
|
#
|
||||||
test: .FORCE
|
test: FORCE
|
||||||
$(PYTHON) ./build_files/utils/make_test.py "$(BUILD_DIR)"
|
cd $(BUILD_DIR) ; ctest . --output-on-failure
|
||||||
|
|
||||||
# run pep8 check check on scripts we distribute.
|
# run pep8 check check on scripts we distribute.
|
||||||
test_pep8: .FORCE
|
test_pep8: FORCE
|
||||||
$(PYTHON) tests/python/pep8.py > test_pep8.log 2>&1
|
python3 tests/python/pep8.py > test_pep8.log 2>&1
|
||||||
@echo "written: test_pep8.log"
|
@echo "written: test_pep8.log"
|
||||||
|
|
||||||
# run some checks on our cmakefiles.
|
# run some checks on our cmakefiles.
|
||||||
test_cmake: .FORCE
|
test_cmake: FORCE
|
||||||
$(PYTHON) build_files/cmake/cmake_consistency_check.py > test_cmake_consistency.log 2>&1
|
python3 build_files/cmake/cmake_consistency_check.py > test_cmake_consistency.log 2>&1
|
||||||
@echo "written: test_cmake_consistency.log"
|
@echo "written: test_cmake_consistency.log"
|
||||||
|
|
||||||
# run deprecation tests, see if we have anything to remove.
|
# run deprecation tests, see if we have anything to remove.
|
||||||
test_deprecated: .FORCE
|
test_deprecated: FORCE
|
||||||
$(PYTHON) tests/check_deprecated.py
|
python3 tests/check_deprecated.py
|
||||||
|
|
||||||
|
test_style_c: FORCE
|
||||||
|
# run our own checks on C/C++ style
|
||||||
|
PYTHONIOENCODING=utf_8 python3 \
|
||||||
|
"$(BLENDER_DIR)/source/tools/check_source/check_style_c.py" \
|
||||||
|
"$(BLENDER_DIR)/source/blender" \
|
||||||
|
"$(BLENDER_DIR)/source/creator" \
|
||||||
|
--no-length-check
|
||||||
|
|
||||||
|
test_style_c_qtc: FORCE
|
||||||
|
# run our own checks on C/C++ style
|
||||||
|
USE_QTC_TASK=1 \
|
||||||
|
PYTHONIOENCODING=utf_8 python3 \
|
||||||
|
"$(BLENDER_DIR)/source/tools/check_source/check_style_c.py" \
|
||||||
|
"$(BLENDER_DIR)/source/blender" \
|
||||||
|
"$(BLENDER_DIR)/source/creator" \
|
||||||
|
--no-length-check \
|
||||||
|
> \
|
||||||
|
"$(BLENDER_DIR)/test_style.tasks"
|
||||||
|
@echo "written: test_style.tasks"
|
||||||
|
|
||||||
|
|
||||||
|
test_style_osl: FORCE
|
||||||
|
# run our own checks on C/C++ style
|
||||||
|
PYTHONIOENCODING=utf_8 python3 \
|
||||||
|
"$(BLENDER_DIR)/source/tools/check_source/check_style_c.py" \
|
||||||
|
"$(BLENDER_DIR)/intern/cycles/kernel/shaders" \
|
||||||
|
"$(BLENDER_DIR)/release/scripts/templates_osl"
|
||||||
|
|
||||||
|
|
||||||
|
test_style_osl_qtc: FORCE
|
||||||
|
# run our own checks on C/C++ style
|
||||||
|
USE_QTC_TASK=1 \
|
||||||
|
PYTHONIOENCODING=utf_8 python3 \
|
||||||
|
"$(BLENDER_DIR)/source/tools/check_source/check_style_c.py" \
|
||||||
|
"$(BLENDER_DIR)/intern/cycles/kernel/shaders" \
|
||||||
|
"$(BLENDER_DIR)/release/scripts/templates_osl" \
|
||||||
|
> \
|
||||||
|
"$(BLENDER_DIR)/test_style.tasks"
|
||||||
|
@echo "written: test_style.tasks"
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Project Files
|
# Project Files
|
||||||
#
|
#
|
||||||
|
|
||||||
project_qtcreator: .FORCE
|
project_qtcreator: FORCE
|
||||||
$(PYTHON) build_files/cmake/cmake_qtcreator_project.py --build-dir "$(BUILD_DIR)"
|
python3 build_files/cmake/cmake_qtcreator_project.py "$(BUILD_DIR)"
|
||||||
|
|
||||||
project_netbeans: .FORCE
|
project_netbeans: FORCE
|
||||||
$(PYTHON) build_files/cmake/cmake_netbeans_project.py "$(BUILD_DIR)"
|
python3 build_files/cmake/cmake_netbeans_project.py "$(BUILD_DIR)"
|
||||||
|
|
||||||
project_eclipse: .FORCE
|
project_eclipse: FORCE
|
||||||
cmake -G"Eclipse CDT4 - Unix Makefiles" -H"$(BLENDER_DIR)" -B"$(BUILD_DIR)"
|
cmake -G"Eclipse CDT4 - Unix Makefiles" -H"$(BLENDER_DIR)" -B"$(BUILD_DIR)"
|
||||||
|
|
||||||
|
|
||||||
@@ -455,101 +303,86 @@ project_eclipse: .FORCE
|
|||||||
# Static Checking
|
# Static Checking
|
||||||
#
|
#
|
||||||
|
|
||||||
check_cppcheck: .FORCE
|
check_cppcheck: FORCE
|
||||||
$(CMAKE_CONFIG)
|
$(CMAKE_CONFIG)
|
||||||
cd "$(BUILD_DIR)" ; \
|
cd "$(BUILD_DIR)" ; \
|
||||||
$(PYTHON) \
|
python3 "$(BLENDER_DIR)/build_files/cmake/cmake_static_check_cppcheck.py" 2> \
|
||||||
"$(BLENDER_DIR)/build_files/cmake/cmake_static_check_cppcheck.py" 2> \
|
|
||||||
"$(BLENDER_DIR)/check_cppcheck.txt"
|
"$(BLENDER_DIR)/check_cppcheck.txt"
|
||||||
@echo "written: check_cppcheck.txt"
|
@echo "written: check_cppcheck.txt"
|
||||||
|
|
||||||
check_clang_array: .FORCE
|
check_clang_array: FORCE
|
||||||
$(CMAKE_CONFIG)
|
$(CMAKE_CONFIG)
|
||||||
cd "$(BUILD_DIR)" ; \
|
cd "$(BUILD_DIR)" ; \
|
||||||
$(PYTHON) "$(BLENDER_DIR)/build_files/cmake/cmake_static_check_clang_array.py"
|
python3 "$(BLENDER_DIR)/build_files/cmake/cmake_static_check_clang_array.py"
|
||||||
|
|
||||||
check_splint: .FORCE
|
check_splint: FORCE
|
||||||
$(CMAKE_CONFIG)
|
$(CMAKE_CONFIG)
|
||||||
cd "$(BUILD_DIR)" ; \
|
cd "$(BUILD_DIR)" ; \
|
||||||
$(PYTHON) "$(BLENDER_DIR)/build_files/cmake/cmake_static_check_splint.py"
|
python3 "$(BLENDER_DIR)/build_files/cmake/cmake_static_check_splint.py"
|
||||||
|
|
||||||
check_sparse: .FORCE
|
check_sparse: FORCE
|
||||||
$(CMAKE_CONFIG)
|
$(CMAKE_CONFIG)
|
||||||
cd "$(BUILD_DIR)" ; \
|
cd "$(BUILD_DIR)" ; \
|
||||||
$(PYTHON) "$(BLENDER_DIR)/build_files/cmake/cmake_static_check_sparse.py"
|
python3 "$(BLENDER_DIR)/build_files/cmake/cmake_static_check_sparse.py"
|
||||||
|
|
||||||
check_smatch: .FORCE
|
check_smatch: FORCE
|
||||||
$(CMAKE_CONFIG)
|
$(CMAKE_CONFIG)
|
||||||
cd "$(BUILD_DIR)" ; \
|
cd "$(BUILD_DIR)" ; \
|
||||||
$(PYTHON) "$(BLENDER_DIR)/build_files/cmake/cmake_static_check_smatch.py"
|
python3 "$(BLENDER_DIR)/build_files/cmake/cmake_static_check_smatch.py"
|
||||||
|
|
||||||
check_mypy: .FORCE
|
check_spelling_py: FORCE
|
||||||
$(PYTHON) "$(BLENDER_DIR)/source/tools/check_source/check_mypy.py"
|
|
||||||
|
|
||||||
check_spelling_py: .FORCE
|
|
||||||
cd "$(BUILD_DIR)" ; \
|
cd "$(BUILD_DIR)" ; \
|
||||||
PYTHONIOENCODING=utf_8 $(PYTHON) \
|
PYTHONIOENCODING=utf_8 python3 \
|
||||||
"$(BLENDER_DIR)/source/tools/check_source/check_spelling.py" \
|
"$(BLENDER_DIR)/source/tools/check_source/check_spelling.py" \
|
||||||
"$(BLENDER_DIR)/release/scripts"
|
"$(BLENDER_DIR)/release/scripts"
|
||||||
|
|
||||||
check_spelling_c: .FORCE
|
check_spelling_c: FORCE
|
||||||
cd "$(BUILD_DIR)" ; \
|
cd "$(BUILD_DIR)" ; \
|
||||||
PYTHONIOENCODING=utf_8 $(PYTHON) \
|
PYTHONIOENCODING=utf_8 python3 \
|
||||||
"$(BLENDER_DIR)/source/tools/check_source/check_spelling.py" \
|
"$(BLENDER_DIR)/source/tools/check_source/check_spelling.py" \
|
||||||
--cache-file=$(CHECK_SPELLING_CACHE) \
|
|
||||||
"$(BLENDER_DIR)/source" \
|
"$(BLENDER_DIR)/source" \
|
||||||
"$(BLENDER_DIR)/intern/cycles" \
|
"$(BLENDER_DIR)/intern/cycles" \
|
||||||
"$(BLENDER_DIR)/intern/guardedalloc" \
|
"$(BLENDER_DIR)/intern/guardedalloc" \
|
||||||
"$(BLENDER_DIR)/intern/ghost" \
|
"$(BLENDER_DIR)/intern/ghost" \
|
||||||
|
|
||||||
check_spelling_osl: .FORCE
|
check_spelling_c_qtc: FORCE
|
||||||
cd "$(BUILD_DIR)" ;\
|
cd "$(BUILD_DIR)" ; USE_QTC_TASK=1 \
|
||||||
PYTHONIOENCODING=utf_8 $(PYTHON) \
|
PYTHONIOENCODING=utf_8 python3 \
|
||||||
|
"$(BLENDER_DIR)/source/tools/check_source/check_spelling.py" \
|
||||||
|
"$(BLENDER_DIR)/source" \
|
||||||
|
"$(BLENDER_DIR)/intern/cycles" \
|
||||||
|
"$(BLENDER_DIR)/intern/guardedalloc" \
|
||||||
|
"$(BLENDER_DIR)/intern/ghost" \
|
||||||
|
> \
|
||||||
|
"$(BLENDER_DIR)/check_spelling_c.tasks"
|
||||||
|
|
||||||
|
check_spelling_osl: FORCE
|
||||||
|
cd "$(BUILD_DIR)" ;\
|
||||||
|
PYTHONIOENCODING=utf_8 python3 \
|
||||||
"$(BLENDER_DIR)/source/tools/check_source/check_spelling.py" \
|
"$(BLENDER_DIR)/source/tools/check_source/check_spelling.py" \
|
||||||
--cache-file=$(CHECK_SPELLING_CACHE) \
|
|
||||||
"$(BLENDER_DIR)/intern/cycles/kernel/shaders"
|
"$(BLENDER_DIR)/intern/cycles/kernel/shaders"
|
||||||
|
|
||||||
check_descriptions: .FORCE
|
check_descriptions: FORCE
|
||||||
$(BLENDER_BIN) --background -noaudio --factory-startup --python \
|
"$(BUILD_DIR)/bin/blender" --background -noaudio --factory-startup --python \
|
||||||
"$(BLENDER_DIR)/source/tools/check_source/check_descriptions.py"
|
"$(BLENDER_DIR)/source/tools/check_source/check_descriptions.py"
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Utilities
|
# Utilities
|
||||||
#
|
#
|
||||||
|
|
||||||
source_archive: .FORCE
|
tgz: FORCE
|
||||||
python3 ./build_files/utils/make_source_archive.py
|
./build_files/utils/build_tgz.sh
|
||||||
|
|
||||||
source_archive_complete: .FORCE
|
icons: FORCE
|
||||||
cmake \
|
"$(BLENDER_DIR)/release/datafiles/blender_icons_update.py"
|
||||||
-S "$(BLENDER_DIR)/build_files/build_environment" -B"$(BUILD_DIR)/source_archive" \
|
"$(BLENDER_DIR)/release/datafiles/prvicons_update.py"
|
||||||
-DCMAKE_BUILD_TYPE_INIT:STRING=$(BUILD_TYPE) -DPACKAGE_USE_UPSTREAM_SOURCES=OFF
|
|
||||||
# This assumes CMake is still using a default `PACKAGE_DIR` variable:
|
|
||||||
python3 ./build_files/utils/make_source_archive.py --include-packages "$(BUILD_DIR)/source_archive/packages"
|
|
||||||
|
|
||||||
|
update: FORCE
|
||||||
INKSCAPE_BIN?="inkscape"
|
if [ -d "../lib" ]; then \
|
||||||
icons: .FORCE
|
svn update ../lib/* ; \
|
||||||
BLENDER_BIN=$(BLENDER_BIN) INKSCAPE_BIN=$(INKSCAPE_BIN) \
|
fi
|
||||||
"$(BLENDER_DIR)/release/datafiles/blender_icons_update.py"
|
git pull --rebase
|
||||||
INKSCAPE_BIN=$(INKSCAPE_BIN) \
|
git submodule foreach git pull --rebase origin master
|
||||||
"$(BLENDER_DIR)/release/datafiles/prvicons_update.py"
|
|
||||||
INKSCAPE_BIN=$(INKSCAPE_BIN) \
|
|
||||||
"$(BLENDER_DIR)/release/datafiles/alert_icons_update.py"
|
|
||||||
|
|
||||||
icons_geom: .FORCE
|
|
||||||
BLENDER_BIN=$(BLENDER_BIN) \
|
|
||||||
"$(BLENDER_DIR)/release/datafiles/blender_icons_geom_update.py"
|
|
||||||
|
|
||||||
update: .FORCE
|
|
||||||
$(PYTHON) ./build_files/utils/make_update.py
|
|
||||||
|
|
||||||
update_code: .FORCE
|
|
||||||
$(PYTHON) ./build_files/utils/make_update.py --no-libraries
|
|
||||||
|
|
||||||
format: .FORCE
|
|
||||||
PATH="../lib/${OS_NCASE}_${CPU}/llvm/bin/:../lib/${OS_NCASE}_centos7_${CPU}/llvm/bin/:../lib/${OS_NCASE}/llvm/bin/:$(PATH)" \
|
|
||||||
$(PYTHON) source/tools/utils_maintenance/clang_format_paths.py $(PATHS)
|
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
@@ -557,33 +390,36 @@ format: .FORCE
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Simple version of ./doc/python_api/sphinx_doc_gen.sh with no PDF generation.
|
# Simple version of ./doc/python_api/sphinx_doc_gen.sh with no PDF generation.
|
||||||
doc_py: .FORCE
|
doc_py: FORCE
|
||||||
ASAN_OPTIONS=halt_on_error=0:${ASAN_OPTIONS} \
|
"$(BUILD_DIR)/bin/blender" --background -noaudio --factory-startup --python doc/python_api/sphinx_doc_gen.py
|
||||||
$(BLENDER_BIN) \
|
cd doc/python_api ; sphinx-build -b html sphinx-in sphinx-out
|
||||||
--background -noaudio --factory-startup \
|
@echo "docs written into: '$(BLENDER_DIR)/doc/python_api/sphinx-out/contents.html'"
|
||||||
--python doc/python_api/sphinx_doc_gen.py
|
|
||||||
sphinx-build -b html -j $(NPROCS) doc/python_api/sphinx-in doc/python_api/sphinx-out
|
|
||||||
@echo "docs written into: '$(BLENDER_DIR)/doc/python_api/sphinx-out/index.html'"
|
|
||||||
|
|
||||||
doc_doxy: .FORCE
|
doc_doxy: FORCE
|
||||||
cd doc/doxygen; doxygen Doxyfile
|
cd doc/doxygen; doxygen Doxyfile
|
||||||
@echo "docs written into: '$(BLENDER_DIR)/doc/doxygen/html/index.html'"
|
@echo "docs written into: '$(BLENDER_DIR)/doc/doxygen/html/index.html'"
|
||||||
|
|
||||||
doc_dna: .FORCE
|
doc_dna: FORCE
|
||||||
$(BLENDER_BIN) \
|
"$(BUILD_DIR)/bin/blender" --background -noaudio --factory-startup --python doc/blender_file_format/BlendFileDnaExporter_25.py
|
||||||
--background -noaudio --factory-startup \
|
|
||||||
--python doc/blender_file_format/BlendFileDnaExporter_25.py
|
|
||||||
@echo "docs written into: '$(BLENDER_DIR)/doc/blender_file_format/dna.html'"
|
@echo "docs written into: '$(BLENDER_DIR)/doc/blender_file_format/dna.html'"
|
||||||
|
|
||||||
doc_man: .FORCE
|
doc_man: FORCE
|
||||||
$(PYTHON) doc/manpage/blender.1.py $(BLENDER_BIN) blender.1
|
python3 doc/manpage/blender.1.py "$(BUILD_DIR)/bin/blender"
|
||||||
|
|
||||||
help_features: .FORCE
|
help_features: FORCE
|
||||||
@$(PYTHON) "$(BLENDER_DIR)/build_files/cmake/cmake_print_build_options.py" $(BLENDER_DIR)"/CMakeLists.txt"
|
@python3 -c \
|
||||||
|
"import re; \
|
||||||
|
print('\n'.join([ \
|
||||||
|
w for l in open('"$(BLENDER_DIR)"/CMakeLists.txt', 'r').readlines() \
|
||||||
|
if not l.lstrip().startswith('#') \
|
||||||
|
for w in (re.sub(\
|
||||||
|
r'.*\boption\s*\(\s*(WITH_[a-zA-Z0-9_]+)\s+(\".*\")\s*.*', r'\g<1> - \g<2>', l).strip('() \n'),) \
|
||||||
|
if w.startswith('WITH_')]))" | uniq
|
||||||
|
|
||||||
clean: .FORCE
|
|
||||||
$(BUILD_COMMAND) -C "$(BUILD_DIR)" clean
|
clean: FORCE
|
||||||
|
$(MAKE) -C "$(BUILD_DIR)" clean
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
|
|
||||||
.FORCE:
|
FORCE:
|
||||||
|
1370
SConstruct
Normal file
1370
SConstruct
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,175 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
####################################################################################################
|
|
||||||
#
|
|
||||||
# This is a build system used by platform maintainers to build library dependencies on
|
|
||||||
# Windows, macOS and Linux.
|
|
||||||
#
|
|
||||||
# For users building Blender, we recommend using the precompiled libraries from lib/ on
|
|
||||||
# Windows and macOS, and install_deps.sh on Linux.
|
|
||||||
#
|
|
||||||
# WINDOWS USAGE:
|
|
||||||
# Don't call this cmake file yourself, use build_deps.cmd
|
|
||||||
# build_deps 2013 x64 / build_deps 2013 x86
|
|
||||||
# build_deps 2015 x64 / build_deps 2015 x86
|
|
||||||
#
|
|
||||||
# MAC OS X USAGE:
|
|
||||||
# Install with homebrew: brew install autoconf automake bison cmake libtool pkg-config yasm
|
|
||||||
# Additional requirements for macOS arm64: brew install flex
|
|
||||||
# Run "make deps" from main Blender directory
|
|
||||||
#
|
|
||||||
# LINUX USAGE:
|
|
||||||
# Install compiler cmake autoconf automake libtool yasm tcl
|
|
||||||
# Run "make deps" from main Blender directory
|
|
||||||
#
|
|
||||||
####################################################################################################
|
|
||||||
|
|
||||||
project("BlenderDependencies")
|
|
||||||
cmake_minimum_required(VERSION 3.5)
|
|
||||||
|
|
||||||
include(ExternalProject)
|
|
||||||
include(cmake/check_software.cmake)
|
|
||||||
include(cmake/options.cmake)
|
|
||||||
include(cmake/versions.cmake)
|
|
||||||
include(cmake/download.cmake)
|
|
||||||
|
|
||||||
if(ENABLE_MINGW64)
|
|
||||||
include(cmake/setup_mingw64.cmake)
|
|
||||||
else()
|
|
||||||
set(mingw_LIBDIR ${LIBDIR})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
include(cmake/zlib.cmake)
|
|
||||||
include(cmake/zstd.cmake)
|
|
||||||
include(cmake/openal.cmake)
|
|
||||||
include(cmake/png.cmake)
|
|
||||||
include(cmake/jpeg.cmake)
|
|
||||||
include(cmake/blosc.cmake)
|
|
||||||
include(cmake/pthreads.cmake)
|
|
||||||
include(cmake/openexr.cmake)
|
|
||||||
include(cmake/freetype.cmake)
|
|
||||||
include(cmake/freeglut.cmake)
|
|
||||||
include(cmake/glew.cmake)
|
|
||||||
include(cmake/alembic.cmake)
|
|
||||||
include(cmake/glfw.cmake)
|
|
||||||
include(cmake/clew.cmake)
|
|
||||||
include(cmake/cuew.cmake)
|
|
||||||
include(cmake/opensubdiv.cmake)
|
|
||||||
include(cmake/sdl.cmake)
|
|
||||||
include(cmake/opencollada.cmake)
|
|
||||||
include(cmake/llvm.cmake)
|
|
||||||
if(APPLE)
|
|
||||||
include(cmake/openmp.cmake)
|
|
||||||
endif()
|
|
||||||
if(UNIX)
|
|
||||||
include(cmake/nasm.cmake)
|
|
||||||
endif()
|
|
||||||
include(cmake/openimageio.cmake)
|
|
||||||
include(cmake/tiff.cmake)
|
|
||||||
if(WIN32)
|
|
||||||
include(cmake/flexbison.cmake)
|
|
||||||
elseif(UNIX AND NOT APPLE)
|
|
||||||
include(cmake/flex.cmake)
|
|
||||||
endif()
|
|
||||||
include(cmake/osl.cmake)
|
|
||||||
include(cmake/tbb.cmake)
|
|
||||||
include(cmake/openvdb.cmake)
|
|
||||||
include(cmake/nanovdb.cmake)
|
|
||||||
include(cmake/python.cmake)
|
|
||||||
option(USE_PIP_NUMPY "Install NumPy using pip wheel instead of building from source" OFF)
|
|
||||||
if(APPLE AND ("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64"))
|
|
||||||
set(USE_PIP_NUMPY ON)
|
|
||||||
else()
|
|
||||||
include(cmake/numpy.cmake)
|
|
||||||
endif()
|
|
||||||
include(cmake/python_site_packages.cmake)
|
|
||||||
include(cmake/package_python.cmake)
|
|
||||||
include(cmake/usd.cmake)
|
|
||||||
include(cmake/potrace.cmake)
|
|
||||||
include(cmake/haru.cmake)
|
|
||||||
# Boost needs to be included after python.cmake due to the PYTHON_BINARY variable being needed.
|
|
||||||
include(cmake/boost.cmake)
|
|
||||||
include(cmake/pugixml.cmake)
|
|
||||||
include(cmake/ispc.cmake)
|
|
||||||
include(cmake/openimagedenoise.cmake)
|
|
||||||
include(cmake/embree.cmake)
|
|
||||||
if(NOT APPLE)
|
|
||||||
include(cmake/xr_openxr.cmake)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# OpenColorIO and dependencies.
|
|
||||||
include(cmake/expat.cmake)
|
|
||||||
include(cmake/yamlcpp.cmake)
|
|
||||||
include(cmake/opencolorio.cmake)
|
|
||||||
|
|
||||||
if(BLENDER_PLATFORM_ARM)
|
|
||||||
include(cmake/sse2neon.cmake)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WITH_WEBP)
|
|
||||||
include(cmake/webp.cmake)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT WIN32 OR ENABLE_MINGW64)
|
|
||||||
include(cmake/gmp.cmake)
|
|
||||||
include(cmake/openjpeg.cmake)
|
|
||||||
if(NOT WIN32 OR BUILD_MODE STREQUAL Release)
|
|
||||||
if(WIN32)
|
|
||||||
include(cmake/zlib_mingw.cmake)
|
|
||||||
endif()
|
|
||||||
include(cmake/lame.cmake)
|
|
||||||
include(cmake/ogg.cmake)
|
|
||||||
include(cmake/vorbis.cmake)
|
|
||||||
include(cmake/theora.cmake)
|
|
||||||
include(cmake/opus.cmake)
|
|
||||||
include(cmake/vpx.cmake)
|
|
||||||
include(cmake/x264.cmake)
|
|
||||||
include(cmake/xvidcore.cmake)
|
|
||||||
include(cmake/ffmpeg.cmake)
|
|
||||||
include(cmake/fftw.cmake)
|
|
||||||
include(cmake/sndfile.cmake)
|
|
||||||
if(WIN32)
|
|
||||||
include(cmake/iconv.cmake)
|
|
||||||
endif()
|
|
||||||
if(UNIX)
|
|
||||||
include(cmake/flac.cmake)
|
|
||||||
include(cmake/xml2.cmake)
|
|
||||||
if(NOT APPLE)
|
|
||||||
include(cmake/spnav.cmake)
|
|
||||||
include(cmake/jemalloc.cmake)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(UNIX)
|
|
||||||
include(cmake/bzip2.cmake)
|
|
||||||
include(cmake/ffi.cmake)
|
|
||||||
include(cmake/lzma.cmake)
|
|
||||||
include(cmake/ssl.cmake)
|
|
||||||
include(cmake/sqlite.cmake)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
|
||||||
include(cmake/libglu.cmake)
|
|
||||||
include(cmake/mesa.cmake)
|
|
||||||
include(cmake/wayland_protocols.cmake)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
include(cmake/harvest.cmake)
|
|
@@ -1,76 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(ALEMBIC_EXTRA_ARGS
|
|
||||||
-DBUILDSTATIC=ON
|
|
||||||
-DLINKSTATIC=ON
|
|
||||||
-DILMBASE_ROOT=${LIBDIR}/openexr
|
|
||||||
-DALEMBIC_ILMBASE_INCLUDE_DIRECTORY=${LIBDIR}/openexr/include/OpenEXR
|
|
||||||
-DALEMBIC_ILMBASE_HALF_LIB=${LIBDIR}/openexr/lib/${LIBPREFIX}Half${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
|
||||||
-DALEMBIC_ILMBASE_IMATH_LIB=${LIBDIR}/openexr/lib/${LIBPREFIX}Imath${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
|
||||||
-DALEMBIC_ILMBASE_ILMTHREAD_LIB=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmThread${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
|
||||||
-DALEMBIC_ILMBASE_IEX_LIB=${LIBDIR}/openexr/lib/${LIBPREFIX}Iex${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
|
||||||
-DALEMBIC_ILMBASE_IEXMATH_LIB=${LIBDIR}/openexr/lib/${LIBPREFIX}IexMath${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
|
||||||
-DUSE_PYILMBASE=0
|
|
||||||
-DUSE_PYALEMBIC=0
|
|
||||||
-DUSE_ARNOLD=0
|
|
||||||
-DUSE_MAYA=0
|
|
||||||
-DUSE_PRMAN=0
|
|
||||||
-DUSE_HDF5=Off
|
|
||||||
-DUSE_STATIC_HDF5=Off
|
|
||||||
-DUSE_TESTS=Off
|
|
||||||
-DALEMBIC_NO_OPENGL=1
|
|
||||||
-DUSE_BINARIES=ON
|
|
||||||
-DALEMBIC_ILMBASE_LINK_STATIC=On
|
|
||||||
-DALEMBIC_SHARED_LIBS=OFF
|
|
||||||
-DGLUT_INCLUDE_DIR=""
|
|
||||||
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
|
||||||
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_alembic
|
|
||||||
URL file://${PACKAGE_DIR}/${ALEMBIC_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${ALEMBIC_HASH_TYPE}=${ALEMBIC_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/alembic
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/alembic -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${ALEMBIC_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/alembic
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_alembic after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/alembic ${HARVEST_TARGET}/alembic
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_alembic after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/alembic/lib/alembic.lib ${HARVEST_TARGET}/alembic/lib/alembic_d.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_alembic
|
|
||||||
external_zlib
|
|
||||||
external_openexr
|
|
||||||
)
|
|
@@ -1,73 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(BLOSC_EXTRA_ARGS
|
|
||||||
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
|
||||||
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
|
||||||
-DBUILD_TESTS=OFF
|
|
||||||
-DBUILD_BENCHMARKS=OFF
|
|
||||||
-DCMAKE_DEBUG_POSTFIX=_d
|
|
||||||
-DThreads_FOUND=1
|
|
||||||
-DPTHREAD_LIBS=${LIBDIR}/pthreads/lib/pthreadVC3.lib
|
|
||||||
-DPTHREAD_INCLUDE_DIR=${LIBDIR}/pthreads/inc
|
|
||||||
-DDEACTIVATE_SNAPPY=ON
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
||||||
)
|
|
||||||
|
|
||||||
# Prevent blosc from including its own local copy of zlib in the object file
|
|
||||||
# and cause linker errors with everybody else.
|
|
||||||
set(BLOSC_EXTRA_ARGS ${BLOSC_EXTRA_ARGS}
|
|
||||||
-DPREFER_EXTERNAL_ZLIB=ON
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_blosc
|
|
||||||
URL file://${PACKAGE_DIR}/${BLOSC_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${BLOSC_HASH_TYPE}=${BLOSC_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/blosc
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/blosc/src/external_blosc < ${PATCH_DIR}/blosc.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/blosc ${DEFAULT_CMAKE_FLAGS} ${BLOSC_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/blosc
|
|
||||||
)
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_blosc
|
|
||||||
external_zlib
|
|
||||||
)
|
|
||||||
if(WIN32)
|
|
||||||
add_dependencies(
|
|
||||||
external_blosc
|
|
||||||
external_pthreads
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_blosc after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/blosc/lib/libblosc.lib ${HARVEST_TARGET}/blosc/lib/libblosc.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/blosc/include/ ${HARVEST_TARGET}/blosc/include/
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_blosc after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/blosc/lib/libblosc_d.lib ${HARVEST_TARGET}/blosc/lib/libblosc_d.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@@ -1,112 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(BOOST_ADDRESS_MODEL 64)
|
|
||||||
|
|
||||||
if(BLENDER_PLATFORM_ARM)
|
|
||||||
set(BOOST_ARCHITECTURE arm)
|
|
||||||
else()
|
|
||||||
set(BOOST_ARCHITECTURE x86)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(BOOST_TOOLSET toolset=msvc-14.1)
|
|
||||||
set(BOOST_COMPILER_STRING -vc141)
|
|
||||||
|
|
||||||
set(BOOST_CONFIGURE_COMMAND bootstrap.bat)
|
|
||||||
set(BOOST_BUILD_COMMAND b2)
|
|
||||||
set(BOOST_BUILD_OPTIONS runtime-link=shared )
|
|
||||||
set(BOOST_HARVEST_CMD ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/boost/lib/ ${HARVEST_TARGET}/boost/lib/ )
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
set(BOOST_HARVEST_CMD ${BOOST_HARVEST_CMD} && ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/boost/include/boost-${BOOST_VERSION_NODOTS_SHORT}/ ${HARVEST_TARGET}/boost/include/)
|
|
||||||
endif()
|
|
||||||
elseif(APPLE)
|
|
||||||
set(BOOST_CONFIGURE_COMMAND ./bootstrap.sh)
|
|
||||||
set(BOOST_BUILD_COMMAND ./b2)
|
|
||||||
set(BOOST_BUILD_OPTIONS toolset=clang-darwin cxxflags=${PLATFORM_CXXFLAGS} linkflags=${PLATFORM_LDFLAGS} visibility=global --disable-icu boost.locale.icu=off)
|
|
||||||
set(BOOST_HARVEST_CMD echo .)
|
|
||||||
set(BOOST_PATCH_COMMAND echo .)
|
|
||||||
else()
|
|
||||||
set(BOOST_HARVEST_CMD echo .)
|
|
||||||
set(BOOST_CONFIGURE_COMMAND ./bootstrap.sh)
|
|
||||||
set(BOOST_BUILD_COMMAND ./b2)
|
|
||||||
set(BOOST_BUILD_OPTIONS cxxflags=${PLATFORM_CXXFLAGS} --disable-icu boost.locale.icu=off)
|
|
||||||
set(BOOST_PATCH_COMMAND echo .)
|
|
||||||
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
|
|
||||||
set(BOOST_ADDRESS_MODEL 64)
|
|
||||||
else()
|
|
||||||
set(BOOST_ADDRESS_MODEL 32)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WITH_BOOST_PYTHON)
|
|
||||||
set(JAM_FILE ${BUILD_DIR}/boost.user-config.jam)
|
|
||||||
configure_file(${PATCH_DIR}/boost.user.jam.in ${JAM_FILE})
|
|
||||||
set(BOOST_PYTHON_OPTIONS
|
|
||||||
--with-python
|
|
||||||
--user-config=${JAM_FILE}
|
|
||||||
)
|
|
||||||
if(WIN32 AND BUILD_MODE STREQUAL Debug)
|
|
||||||
set(BOOST_PYTHON_OPTIONS
|
|
||||||
${BOOST_PYTHON_OPTIONS}
|
|
||||||
define=BOOST_DEBUG_PYTHON
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(BOOST_OPTIONS
|
|
||||||
--with-filesystem
|
|
||||||
--with-locale
|
|
||||||
--with-thread
|
|
||||||
--with-regex
|
|
||||||
--with-system
|
|
||||||
--with-date_time
|
|
||||||
--with-wave
|
|
||||||
--with-atomic
|
|
||||||
--with-serialization
|
|
||||||
--with-program_options
|
|
||||||
--with-iostreams
|
|
||||||
-sNO_BZIP2=1
|
|
||||||
-sNO_LZMA=1
|
|
||||||
-sNO_ZSTD=1
|
|
||||||
${BOOST_TOOLSET}
|
|
||||||
${BOOST_PYTHON_OPTIONS}
|
|
||||||
)
|
|
||||||
|
|
||||||
string(TOLOWER ${BUILD_MODE} BOOST_BUILD_TYPE)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_boost
|
|
||||||
URL file://${PACKAGE_DIR}/${BOOST_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${BOOST_HASH_TYPE}=${BOOST_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/boost
|
|
||||||
UPDATE_COMMAND ""
|
|
||||||
PATCH_COMMAND ${BOOST_PATCH_COMMAND}
|
|
||||||
CONFIGURE_COMMAND ${BOOST_CONFIGURE_COMMAND}
|
|
||||||
BUILD_COMMAND ${BOOST_BUILD_COMMAND} ${BOOST_BUILD_OPTIONS} -j${MAKE_THREADS} architecture=${BOOST_ARCHITECTURE} address-model=${BOOST_ADDRESS_MODEL} link=static threading=multi ${BOOST_OPTIONS} --prefix=${LIBDIR}/boost install
|
|
||||||
BUILD_IN_SOURCE 1
|
|
||||||
INSTALL_COMMAND "${BOOST_HARVEST_CMD}"
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WITH_BOOST_PYTHON)
|
|
||||||
add_dependencies(
|
|
||||||
external_boost
|
|
||||||
external_python
|
|
||||||
external_numpy
|
|
||||||
)
|
|
||||||
endif()
|
|
@@ -1,41 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(BZIP2_PREFIX "${LIBDIR}/bzip2")
|
|
||||||
set(BZIP2_CONFIGURE_ENV echo .)
|
|
||||||
set(BZIP2_CONFIGURATION_ARGS)
|
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
|
||||||
set(BZIP2_LDFLAGS "-Wl,--as-needed")
|
|
||||||
set(BZIP2_CFLAGS "-fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64")
|
|
||||||
set(BZIP2_CONFIGURE_ENV ${BZIP2_CONFIGURE_ENV} && export LDFLAGS=${BZIP2_LDFLAGS} && export CFLAGS=${BZIP2_CFLAGS}
|
|
||||||
&& export PREFIX=${BZIP2_PREFIX})
|
|
||||||
else()
|
|
||||||
set(BZIP2_CONFIGURE_ENV ${CONFIGURE_ENV})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_bzip2
|
|
||||||
URL file://${PACKAGE_DIR}/${BZIP2_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${BZIP2_HASH_TYPE}=${BZIP2_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/bzip2
|
|
||||||
CONFIGURE_COMMAND echo .
|
|
||||||
BUILD_COMMAND ${BZIP2_CONFIGURE_ENV} && cd ${BUILD_DIR}/bzip2/src/external_bzip2/ && make CFLAGS=${BZIP2_CFLAGS} LDFLAGS=${BZIP2_LDFLAGS} -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${BZIP2_CONFIGURE_ENV} && cd ${BUILD_DIR}/bzip2/src/external_bzip2/ && make CFLAGS=${BZIP2_CFLAGS} LDFLAGS=${BZIP2_LDFLAGS} PREFIX=${BZIP2_PREFIX} install
|
|
||||||
INSTALL_DIR ${LIBDIR}/bzip2
|
|
||||||
)
|
|
@@ -1,85 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(UNIX)
|
|
||||||
if(APPLE)
|
|
||||||
set(_libtoolize_name glibtoolize)
|
|
||||||
else()
|
|
||||||
set(_libtoolize_name libtoolize)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(_required_software
|
|
||||||
autoconf
|
|
||||||
automake
|
|
||||||
bison
|
|
||||||
${_libtoolize_name}
|
|
||||||
pkg-config
|
|
||||||
tclsh
|
|
||||||
yasm
|
|
||||||
)
|
|
||||||
|
|
||||||
if(NOT APPLE)
|
|
||||||
set(_required_software
|
|
||||||
${_required_software}
|
|
||||||
|
|
||||||
# Needed for Mesa.
|
|
||||||
meson
|
|
||||||
ninja
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
foreach(_software ${_required_software})
|
|
||||||
find_program(_software_find NAMES ${_software})
|
|
||||||
if(NOT _software_find)
|
|
||||||
set(_software_missing "${_software_missing}${_software} ")
|
|
||||||
endif()
|
|
||||||
unset(_software_find CACHE)
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
if(APPLE)
|
|
||||||
# Homebrew has different default locations for ARM and Intel macOS.
|
|
||||||
if("${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "arm64")
|
|
||||||
set(HOMEBREW_LOCATION "/opt/homebrew")
|
|
||||||
else()
|
|
||||||
set(HOMEBREW_LOCATION "/usr/local")
|
|
||||||
endif()
|
|
||||||
if(NOT EXISTS "${HOMEBREW_LOCATION}/opt/bison/bin/bison")
|
|
||||||
string(APPEND _software_missing " bison")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(_software_missing)
|
|
||||||
message(
|
|
||||||
"\n"
|
|
||||||
"Missing software for building Blender dependencies:\n"
|
|
||||||
" ${_software_missing}\n"
|
|
||||||
"\n"
|
|
||||||
"On Debian and Ubuntu:\n"
|
|
||||||
" apt install autoconf automake libtool yasm tcl ninja-build meson python3-mako\n"
|
|
||||||
"\n"
|
|
||||||
"On macOS Intel (with homebrew):\n"
|
|
||||||
" brew install autoconf automake bison libtool pkg-config yasm\n"
|
|
||||||
"\n"
|
|
||||||
"On macOS ARM (with homebrew):\n"
|
|
||||||
" brew install autoconf automake bison flex libtool pkg-config yasm\n"
|
|
||||||
"\n"
|
|
||||||
"Other platforms:\n"
|
|
||||||
" Install equivalent packages.\n")
|
|
||||||
message(FATAL_ERROR "Install missing software before continuing")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@@ -1,28 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(CLEW_EXTRA_ARGS)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_clew
|
|
||||||
URL file://${PACKAGE_DIR}/${CLEW_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${CLEW_HASH_TYPE}=${CLEW_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/clew
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/clew -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${CLEW_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/clew
|
|
||||||
)
|
|
@@ -1,29 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(CUEW_EXTRA_ARGS)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_cuew
|
|
||||||
URL file://${PACKAGE_DIR}/${CUEW_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${CUEW_HASH_TYPE}=${CUEW_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/cuew
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/cuew/src/external_cuew < ${PATCH_DIR}/cuew.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/cuew -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${CUEW_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/cuew
|
|
||||||
)
|
|
@@ -1,96 +0,0 @@
|
|||||||
function(download_source dep)
|
|
||||||
set(TARGET_FILE ${${dep}_FILE})
|
|
||||||
set(TARGET_HASH_TYPE ${${dep}_HASH_TYPE})
|
|
||||||
set(TARGET_HASH ${${dep}_HASH})
|
|
||||||
if(PACKAGE_USE_UPSTREAM_SOURCES)
|
|
||||||
set(TARGET_URI ${${dep}_URI})
|
|
||||||
else()
|
|
||||||
set(TARGET_URI https://svn.blender.org/svnroot/bf-blender/trunk/lib/packages/${TARGET_FILE})
|
|
||||||
endif()
|
|
||||||
set(TARGET_FILE ${PACKAGE_DIR}/${TARGET_FILE})
|
|
||||||
message("Checking source : ${dep} (${TARGET_FILE})")
|
|
||||||
if(NOT EXISTS ${TARGET_FILE})
|
|
||||||
message("Checking source : ${dep} - source not found downloading from ${TARGET_URI}")
|
|
||||||
file(DOWNLOAD ${TARGET_URI} ${TARGET_FILE}
|
|
||||||
TIMEOUT 1800 # seconds
|
|
||||||
EXPECTED_HASH ${TARGET_HASH_TYPE}=${TARGET_HASH}
|
|
||||||
TLS_VERIFY ON
|
|
||||||
SHOW_PROGRESS
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endfunction(download_source)
|
|
||||||
|
|
||||||
download_source(ZLIB)
|
|
||||||
download_source(OPENAL)
|
|
||||||
download_source(PNG)
|
|
||||||
download_source(JPEG)
|
|
||||||
download_source(BOOST)
|
|
||||||
download_source(BLOSC)
|
|
||||||
download_source(PTHREADS)
|
|
||||||
download_source(OPENEXR)
|
|
||||||
download_source(FREETYPE)
|
|
||||||
download_source(GLEW)
|
|
||||||
download_source(FREEGLUT)
|
|
||||||
download_source(ALEMBIC)
|
|
||||||
download_source(GLFW)
|
|
||||||
download_source(CLEW)
|
|
||||||
download_source(GLFW)
|
|
||||||
download_source(CUEW)
|
|
||||||
download_source(OPENSUBDIV)
|
|
||||||
download_source(SDL)
|
|
||||||
download_source(OPENCOLLADA)
|
|
||||||
download_source(OPENCOLORIO)
|
|
||||||
download_source(LLVM)
|
|
||||||
download_source(OPENMP)
|
|
||||||
download_source(OPENIMAGEIO)
|
|
||||||
download_source(TIFF)
|
|
||||||
download_source(OSL)
|
|
||||||
download_source(PYTHON)
|
|
||||||
download_source(TBB)
|
|
||||||
download_source(OPENVDB)
|
|
||||||
download_source(NANOVDB)
|
|
||||||
download_source(NUMPY)
|
|
||||||
download_source(LAME)
|
|
||||||
download_source(OGG)
|
|
||||||
download_source(VORBIS)
|
|
||||||
download_source(THEORA)
|
|
||||||
download_source(FLAC)
|
|
||||||
download_source(VPX)
|
|
||||||
download_source(OPUS)
|
|
||||||
download_source(X264)
|
|
||||||
download_source(XVIDCORE)
|
|
||||||
download_source(OPENJPEG)
|
|
||||||
download_source(FFMPEG)
|
|
||||||
download_source(FFTW)
|
|
||||||
download_source(ICONV)
|
|
||||||
download_source(SNDFILE)
|
|
||||||
if(WITH_WEBP)
|
|
||||||
download_source(WEBP)
|
|
||||||
endif()
|
|
||||||
download_source(SPNAV)
|
|
||||||
download_source(JEMALLOC)
|
|
||||||
download_source(XML2)
|
|
||||||
download_source(TINYXML)
|
|
||||||
download_source(YAMLCPP)
|
|
||||||
download_source(EXPAT)
|
|
||||||
download_source(PUGIXML)
|
|
||||||
download_source(FLEXBISON)
|
|
||||||
download_source(BZIP2)
|
|
||||||
download_source(FFI)
|
|
||||||
download_source(LZMA)
|
|
||||||
download_source(SSL)
|
|
||||||
download_source(SQLITE)
|
|
||||||
download_source(EMBREE)
|
|
||||||
download_source(USD)
|
|
||||||
download_source(OIDN)
|
|
||||||
download_source(LIBGLU)
|
|
||||||
download_source(MESA)
|
|
||||||
download_source(NASM)
|
|
||||||
download_source(XR_OPENXR_SDK)
|
|
||||||
download_source(WL_PROTOCOLS)
|
|
||||||
download_source(ISPC)
|
|
||||||
download_source(GMP)
|
|
||||||
download_source(POTRACE)
|
|
||||||
download_source(HARU)
|
|
||||||
download_source(ZSTD)
|
|
||||||
download_source(FLEX)
|
|
@@ -1,104 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
# Note the utility apps may use png/tiff/gif system libraries, but the
|
|
||||||
# library itself does not depend on them, so should give no problems.
|
|
||||||
|
|
||||||
set(EMBREE_EXTRA_ARGS
|
|
||||||
-DEMBREE_ISPC_SUPPORT=OFF
|
|
||||||
-DEMBREE_TUTORIALS=OFF
|
|
||||||
-DEMBREE_STATIC_LIB=ON
|
|
||||||
-DEMBREE_RAY_MASK=ON
|
|
||||||
-DEMBREE_FILTER_FUNCTION=ON
|
|
||||||
-DEMBREE_BACKFACE_CULLING=OFF
|
|
||||||
-DEMBREE_MAX_ISA=AVX2
|
|
||||||
-DEMBREE_TASKING_SYSTEM=TBB
|
|
||||||
-DEMBREE_TBB_ROOT=${LIBDIR}/tbb
|
|
||||||
-DTBB_ROOT=${LIBDIR}/tbb
|
|
||||||
-DTBB_STATIC_LIB=${TBB_STATIC_LIBRARY}
|
|
||||||
)
|
|
||||||
|
|
||||||
if(TBB_STATIC_LIBRARY)
|
|
||||||
set(EMBREE_EXTRA_ARGS
|
|
||||||
${EMBREE_EXTRA_ARGS}
|
|
||||||
-DEMBREE_TBB_LIBRARY_NAME=tbb_static
|
|
||||||
-DEMBREE_TBBMALLOC_LIBRARY_NAME=tbbmalloc_static
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(EMBREE_BUILD_DIR ${BUILD_MODE}/)
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
list(APPEND EMBREE_EXTRA_ARGS
|
|
||||||
-DEMBREE_TBBMALLOC_LIBRARY_NAME=tbbmalloc_debug
|
|
||||||
-DEMBREE_TBB_LIBRARY_NAME=tbb_debug
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
set(EMBREE_BUILD_DIR)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(BLENDER_PLATFORM_ARM)
|
|
||||||
ExternalProject_Add(external_embree
|
|
||||||
GIT_REPOSITORY ${EMBREE_ARM_GIT}
|
|
||||||
GIT_TAG "blender-arm"
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
PREFIX ${BUILD_DIR}/embree
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/embree ${DEFAULT_CMAKE_FLAGS} ${EMBREE_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/embree
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
ExternalProject_Add(external_embree
|
|
||||||
URL file://${PACKAGE_DIR}/${EMBREE_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${EMBREE_HASH_TYPE}=${EMBREE_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/embree
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/embree/src/external_embree < ${PATCH_DIR}/embree.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/embree ${DEFAULT_CMAKE_FLAGS} ${EMBREE_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/embree
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_embree
|
|
||||||
external_tbb
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_embree after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/embree ${HARVEST_TARGET}/embree
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
ExternalProject_Add_Step(external_embree after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/embree3.lib ${HARVEST_TARGET}/embree/lib/embree3_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/embree_avx.lib ${HARVEST_TARGET}/embree/lib/embree_avx_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/embree_avx2.lib ${HARVEST_TARGET}/embree/lib/embree_avx2_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/embree_sse42.lib ${HARVEST_TARGET}/embree/lib/embree_sse42_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/lexers.lib ${HARVEST_TARGET}/embree/lib/lexers_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/math.lib ${HARVEST_TARGET}/embree/lib/math_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/simd.lib ${HARVEST_TARGET}/embree/lib/simd_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/sys.lib ${HARVEST_TARGET}/embree/lib/sys_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/embree/lib/tasking.lib ${HARVEST_TARGET}/embree/lib/tasking_d.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
endif()
|
|
@@ -1,35 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(EXPAT_EXTRA_ARGS
|
|
||||||
-DEXPAT_BUILD_DOCS=OFF
|
|
||||||
-DEXPAT_BUILD_EXAMPLES=OFF
|
|
||||||
-DEXPAT_BUILD_TESTS=OFF
|
|
||||||
-DEXPAT_BUILD_TOOLS=OFF
|
|
||||||
-DEXPAT_SHARED_LIBS=OFF
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_expat
|
|
||||||
URL file://${PACKAGE_DIR}/${EXPAT_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${EXPAT_HASH_TYPE}=${EXPAT_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/expat
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/expat ${DEFAULT_CMAKE_FLAGS} ${EXPAT_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/expat
|
|
||||||
SOURCE_SUBDIR expat
|
|
||||||
)
|
|
@@ -1,40 +0,0 @@
|
|||||||
# ***** 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_ffi
|
|
||||||
URL file://${PACKAGE_DIR}/${FFI_FILE}
|
|
||||||
URL_HASH ${FFI_HASH_TYPE}=${FFI_HASH}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
PREFIX ${BUILD_DIR}/ffi
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ffi/src/external_ffi/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/ffi
|
|
||||||
--enable-shared=no
|
|
||||||
--enable-static=yes
|
|
||||||
--with-pic
|
|
||||||
--libdir=${LIBDIR}/ffi/lib/
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ffi/src/external_ffi/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ffi/src/external_ffi/ && make install
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 0 -d ${BUILD_DIR}/ffi/src/external_ffi < ${PATCH_DIR}/ffi.diff
|
|
||||||
INSTALL_DIR ${LIBDIR}/ffi
|
|
||||||
)
|
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
|
||||||
ExternalProject_Add_Step(external_ffi after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/ffi/lib/libffi.a ${LIBDIR}/ffi/lib/libffi_pic.a
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
@@ -1,164 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(FFMPEG_CFLAGS "-I${mingw_LIBDIR}/lame/include -I${mingw_LIBDIR}/openjpeg/include/ -I${mingw_LIBDIR}/ogg/include -I${mingw_LIBDIR}/vorbis/include -I${mingw_LIBDIR}/theora/include -I${mingw_LIBDIR}/opus/include -I${mingw_LIBDIR}/vpx/include -I${mingw_LIBDIR}/x264/include -I${mingw_LIBDIR}/xvidcore/include -I${mingw_LIBDIR}/zlib/include")
|
|
||||||
set(FFMPEG_LDFLAGS "-L${mingw_LIBDIR}/lame/lib -L${mingw_LIBDIR}/openjpeg/lib -L${mingw_LIBDIR}/ogg/lib -L${mingw_LIBDIR}/vorbis/lib -L${mingw_LIBDIR}/theora/lib -L${mingw_LIBDIR}/opus/lib -L${mingw_LIBDIR}/vpx/lib -L${mingw_LIBDIR}/x264/lib -L${mingw_LIBDIR}/xvidcore/lib -L${mingw_LIBDIR}/zlib/lib")
|
|
||||||
set(FFMPEG_EXTRA_FLAGS --pkg-config-flags=--static --extra-cflags=${FFMPEG_CFLAGS} --extra-ldflags=${FFMPEG_LDFLAGS})
|
|
||||||
set(FFMPEG_ENV PKG_CONFIG_PATH=${mingw_LIBDIR}/openjpeg/lib/pkgconfig:${mingw_LIBDIR}/x264/lib/pkgconfig:${mingw_LIBDIR}/vorbis/lib/pkgconfig:${mingw_LIBDIR}/ogg/lib/pkgconfig:${mingw_LIBDIR}:${mingw_LIBDIR}/vpx/lib/pkgconfig:${mingw_LIBDIR}/theora/lib/pkgconfig:${mingw_LIBDIR}/openjpeg/lib/pkgconfig:${mingw_LIBDIR}/opus/lib/pkgconfig:)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(FFMPEG_ENV set ${FFMPEG_ENV} &&)
|
|
||||||
set(FFMPEG_EXTRA_FLAGS
|
|
||||||
${FFMPEG_EXTRA_FLAGS}
|
|
||||||
--disable-static
|
|
||||||
--enable-shared
|
|
||||||
--enable-w32threads
|
|
||||||
--disable-pthreads
|
|
||||||
--enable-libopenjpeg
|
|
||||||
--disable-mediafoundation
|
|
||||||
)
|
|
||||||
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4")
|
|
||||||
set(FFMPEG_EXTRA_FLAGS
|
|
||||||
${FFMPEG_EXTRA_FLAGS}
|
|
||||||
--x86asmexe=yasm
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
set(FFMPEG_EXTRA_FLAGS
|
|
||||||
${FFMPEG_EXTRA_FLAGS}
|
|
||||||
--enable-static
|
|
||||||
--disable-shared
|
|
||||||
--enable-libopenjpeg
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(APPLE)
|
|
||||||
set(FFMPEG_EXTRA_FLAGS
|
|
||||||
${FFMPEG_EXTRA_FLAGS}
|
|
||||||
--target-os=darwin
|
|
||||||
--x86asmexe=${LIBDIR}/nasm/bin/nasm
|
|
||||||
)
|
|
||||||
elseif(UNIX)
|
|
||||||
set(FFMPEG_EXTRA_FLAGS
|
|
||||||
${FFMPEG_EXTRA_FLAGS}
|
|
||||||
--x86asmexe=${LIBDIR}/nasm/bin/nasm
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_ffmpeg
|
|
||||||
URL file://${PACKAGE_DIR}/${FFMPEG_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${FFMPEG_HASH_TYPE}=${FFMPEG_HASH}
|
|
||||||
# OpenJpeg is compiled with pthread support on Linux, which is all fine and is what we
|
|
||||||
# want for maximum runtime performance, but due to static nature of that library we
|
|
||||||
# need to force ffmpeg to link against pthread, otherwise test program used by autoconf
|
|
||||||
# will fail. This patch does that in a way that is compatible with multiple distributions.
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/ffmpeg/src/external_ffmpeg < ${PATCH_DIR}/ffmpeg.diff
|
|
||||||
PREFIX ${BUILD_DIR}/ffmpeg
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV_NO_PERL} &&
|
|
||||||
cd ${BUILD_DIR}/ffmpeg/src/external_ffmpeg/ &&
|
|
||||||
${FFMPEG_ENV} ${CONFIGURE_COMMAND_NO_TARGET} ${FFMPEG_EXTRA_FLAGS}
|
|
||||||
--disable-lzma
|
|
||||||
--disable-avfilter
|
|
||||||
--disable-vdpau
|
|
||||||
--disable-bzlib
|
|
||||||
--disable-libgsm
|
|
||||||
--disable-libspeex
|
|
||||||
--enable-libvpx
|
|
||||||
--enable-libopus
|
|
||||||
--prefix=${LIBDIR}/ffmpeg
|
|
||||||
--enable-libtheora
|
|
||||||
--enable-libvorbis
|
|
||||||
--enable-zlib
|
|
||||||
--enable-stripping
|
|
||||||
--enable-runtime-cpudetect
|
|
||||||
--disable-vaapi
|
|
||||||
--disable-nonfree
|
|
||||||
--enable-gpl
|
|
||||||
--disable-postproc
|
|
||||||
--enable-libmp3lame
|
|
||||||
--disable-librtmp
|
|
||||||
--enable-libx264
|
|
||||||
--enable-libxvid
|
|
||||||
--disable-libopencore-amrnb
|
|
||||||
--disable-libopencore-amrwb
|
|
||||||
--disable-libdc1394
|
|
||||||
--disable-version3
|
|
||||||
--disable-debug
|
|
||||||
--enable-optimizations
|
|
||||||
--enable-ffplay
|
|
||||||
--disable-openssl
|
|
||||||
--disable-securetransport
|
|
||||||
--disable-indev=avfoundation
|
|
||||||
--disable-indev=qtkit
|
|
||||||
--disable-sdl2
|
|
||||||
--disable-gnutls
|
|
||||||
--disable-videotoolbox
|
|
||||||
--disable-libxcb
|
|
||||||
--disable-xlib
|
|
||||||
--disable-audiotoolbox
|
|
||||||
--disable-cuvid
|
|
||||||
--disable-nvenc
|
|
||||||
--disable-indev=jack
|
|
||||||
--disable-indev=alsa
|
|
||||||
--disable-outdev=alsa
|
|
||||||
--disable-crystalhd
|
|
||||||
--disable-sndio
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/ffmpeg/src/external_ffmpeg/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/ffmpeg/src/external_ffmpeg/ && make install
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/ffmpeg ${DEFAULT_CMAKE_FLAGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/ffmpeg
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
set_target_properties(external_ffmpeg PROPERTIES FOLDER Mingw)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_ffmpeg
|
|
||||||
external_zlib
|
|
||||||
external_openjpeg
|
|
||||||
external_xvidcore
|
|
||||||
external_x264
|
|
||||||
external_opus
|
|
||||||
external_vpx
|
|
||||||
external_theora
|
|
||||||
external_vorbis
|
|
||||||
external_ogg
|
|
||||||
external_lame
|
|
||||||
)
|
|
||||||
if(WIN32)
|
|
||||||
add_dependencies(
|
|
||||||
external_ffmpeg
|
|
||||||
external_zlib_mingw
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if(UNIX)
|
|
||||||
add_dependencies(
|
|
||||||
external_ffmpeg
|
|
||||||
external_nasm
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Release AND WIN32)
|
|
||||||
ExternalProject_Add_Step(external_ffmpeg after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/ffmpeg/include ${HARVEST_TARGET}/ffmpeg/include
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/ffmpeg/bin ${HARVEST_TARGET}/ffmpeg/lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
@@ -1,52 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(FFTW_EXTRA_ARGS)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(FFTW3_PATCH_COMMAND ${PATCH_CMD} --verbose -p 0 -N -d ${BUILD_DIR}/fftw3/src/external_fftw3 < ${PATCH_DIR}/fftw3.diff)
|
|
||||||
set(FFTW_EXTRA_ARGS --disable-static --enable-shared)
|
|
||||||
set(FFTW_INSTALL install-strip)
|
|
||||||
else()
|
|
||||||
set(FFTW_EXTRA_ARGS --enable-static)
|
|
||||||
set(FFTW_INSTALL install)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_fftw3
|
|
||||||
URL file://${PACKAGE_DIR}/${FFTW_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${FFTW_HASH_TYPE}=${FFTW_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/fftw3
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && ${CONFIGURE_COMMAND} ${FFTW_EXTRA_ARGS} --prefix=${mingw_LIBDIR}/fftw3
|
|
||||||
PATCH_COMMAND ${FFTW3_PATCH_COMMAND}
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/fftw3/src/external_fftw3/ && make ${FFTW_INSTALL}
|
|
||||||
INSTALL_DIR ${LIBDIR}/fftw3
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
set_target_properties(external_fftw3 PROPERTIES FOLDER Mingw)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_fftw3 after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/lib/libfftw3.dll.a ${HARVEST_TARGET}/fftw3/lib/libfftw.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/bin/libfftw3-3.dll ${HARVEST_TARGET}/fftw3/lib/libfftw3-3.dll
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/fftw3/include/fftw3.h ${HARVEST_TARGET}/fftw3/include/fftw3.h
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@@ -1,32 +0,0 @@
|
|||||||
# ***** 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_flac
|
|
||||||
URL file://${PACKAGE_DIR}/${FLAC_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${FLAC_HASH_TYPE}=${FLAC_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/flac
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flac/src/external_flac/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/flac --disable-shared --enable-static
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flac/src/external_flac/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flac/src/external_flac/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/flac
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
set_target_properties(external_flac PROPERTIES FOLDER Mingw)
|
|
||||||
endif()
|
|
@@ -1,28 +0,0 @@
|
|||||||
# ***** 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_flex
|
|
||||||
URL file://${PACKAGE_DIR}/${FLEX_FILE}
|
|
||||||
URL_HASH ${FLEX_HASH_TYPE}=${FLEX_HASH}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
PREFIX ${BUILD_DIR}/flex
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flex/src/external_flex/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/flex
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flex/src/external_flex/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/flex/src/external_flex/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/flex
|
|
||||||
)
|
|
@@ -1,31 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(FLEXBISON_EXTRA_ARGS)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_flexbison
|
|
||||||
URL file://${PACKAGE_DIR}/${FLEXBISON_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${FLEXBISON_HASH_TYPE}=${FLEXBISON_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/flexbison
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/flexbison ${DEFAULT_CMAKE_FLAGS} ${FLEXBISON_EXTRA_ARGS}
|
|
||||||
CONFIGURE_COMMAND echo .
|
|
||||||
BUILD_COMMAND echo .
|
|
||||||
INSTALL_COMMAND COMMAND ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/flexbison/src/external_flexbison/ ${LIBDIR}/flexbison/
|
|
||||||
INSTALL_DIR ${LIBDIR}/flexbison
|
|
||||||
)
|
|
@@ -1,35 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
set(FREEGLUT_EXTRA_ARGS
|
|
||||||
-DFREEGLUT_BUILD_SHARED_LIBS=Off
|
|
||||||
-DFREEGLUT_BUILD_STATIC_LIBS=On
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_freeglut
|
|
||||||
URL file://${PACKAGE_DIR}/${FREEGLUT_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${FREEGLUT_HASH_TYPE}=${FREEGLUT_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/freeglut
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/freeglut ${DEFAULT_C_FLAGS} ${DEFAULT_CXX_FLAGS} ${FREEGLUT_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/freeglut
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@@ -1,44 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(FREETYPE_EXTRA_ARGS
|
|
||||||
-DCMAKE_RELEASE_POSTFIX:STRING=2ST
|
|
||||||
-DCMAKE_DEBUG_POSTFIX:STRING=2ST_d
|
|
||||||
-DWITH_BZip2=OFF
|
|
||||||
-DWITH_HarfBuzz=OFF
|
|
||||||
-DFT_WITH_HARFBUZZ=OFF
|
|
||||||
-DFT_WITH_BZIP2=OFF
|
|
||||||
-DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE
|
|
||||||
-DCMAKE_DISABLE_FIND_PACKAGE_BZip2=TRUE
|
|
||||||
-DCMAKE_DISABLE_FIND_PACKAGE_BrotliDec=TRUE)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_freetype
|
|
||||||
URL file://${PACKAGE_DIR}/${FREETYPE_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${FREETYPE_HASH_TYPE}=${FREETYPE_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/freetype
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/freetype ${DEFAULT_CMAKE_FLAGS} ${FREETYPE_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/freetype
|
|
||||||
)
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Release AND WIN32)
|
|
||||||
ExternalProject_Add_Step(external_freetype after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/freetype ${HARVEST_TARGET}/freetype
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
@@ -1,32 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(GLEW_EXTRA_ARGS
|
|
||||||
-DBUILD_UTILS=Off
|
|
||||||
-DBUILD_SHARED_LIBS=Off
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_glew
|
|
||||||
URL file://${PACKAGE_DIR}/${GLEW_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${GLEW_HASH_TYPE}=${GLEW_HASH}
|
|
||||||
PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_glew.txt ${BUILD_DIR}/glew/src/external_glew/CMakeLists.txt
|
|
||||||
PREFIX ${BUILD_DIR}/glew
|
|
||||||
CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=${LIBDIR}/glew ${DEFAULT_CMAKE_FLAGS} ${GLEW_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/glew
|
|
||||||
)
|
|
@@ -1,28 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(GLFW_EXTRA_ARGS)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_glfw
|
|
||||||
URL file://${PACKAGE_DIR}/${GLFW_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${GLFW_HASH_TYPE}=${GLFW_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/glfw
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/glfw -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${GLFW_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/glfw
|
|
||||||
)
|
|
@@ -1,108 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(GMP_EXTRA_ARGS -enable-cxx)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
# Shared for windows because static libs will drag in a libgcc dependency.
|
|
||||||
set(GMP_OPTIONS --disable-static --enable-shared --enable-fat --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32)
|
|
||||||
else()
|
|
||||||
set(GMP_OPTIONS --enable-static --disable-shared )
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(APPLE AND NOT BLENDER_PLATFORM_ARM)
|
|
||||||
set(GMP_OPTIONS
|
|
||||||
${GMP_OPTIONS}
|
|
||||||
--with-pic
|
|
||||||
)
|
|
||||||
elseif(UNIX AND NOT APPLE)
|
|
||||||
set(GMP_OPTIONS
|
|
||||||
${GMP_OPTIONS}
|
|
||||||
--with-pic
|
|
||||||
--enable-fat
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(BLENDER_PLATFORM_ARM)
|
|
||||||
set(GMP_OPTIONS
|
|
||||||
${GMP_OPTIONS}
|
|
||||||
--disable-assembly
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_gmp
|
|
||||||
URL file://${PACKAGE_DIR}/${GMP_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${GMP_HASH_TYPE}=${GMP_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/gmp
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/gmp/src/external_gmp/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/gmp ${GMP_OPTIONS} ${GMP_EXTRA_ARGS}
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/gmp/src/external_gmp/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV_NO_PERL} && cd ${BUILD_DIR}/gmp/src/external_gmp/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/gmp
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
set_target_properties(external_gmp PROPERTIES FOLDER Mingw)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Release AND WIN32)
|
|
||||||
ExternalProject_Add_Step(external_gmp after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-3.dll.def ${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-10.def
|
|
||||||
COMMAND lib /def:${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-10.def /machine:x64 /out:${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-10.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/gmp/bin/libgmp-10.dll ${HARVEST_TARGET}/gmp/lib/libgmp-10.dll
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-10.lib ${HARVEST_TARGET}/gmp/lib/libgmp-10.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/gmp/include ${HARVEST_TARGET}/gmp/include
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Debug AND WIN32)
|
|
||||||
ExternalProject_Add_Step(external_gmp after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-3.dll.def ${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-10.def
|
|
||||||
COMMAND lib /def:${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-10.def /machine:x64 /out:${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-10.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
# gmpxx is somewhat special, it builds on top of the C style gmp library but exposes C++ bindings
|
|
||||||
# given the C++ ABI between MSVC and mingw is not compatible, we need to build the bindings
|
|
||||||
# with MSVC, while GMP can only be build with mingw.
|
|
||||||
ExternalProject_Add(external_gmpxx
|
|
||||||
URL file://${PACKAGE_DIR}/${GMP_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${GMP_HASH_TYPE}=${GMP_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/gmpxx
|
|
||||||
PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_gmpxx.txt ${BUILD_DIR}/gmpxx/src/external_gmpxx/CMakeLists.txt &&
|
|
||||||
${CMAKE_COMMAND} -E copy ${PATCH_DIR}/config_gmpxx.h ${BUILD_DIR}/gmpxx/src/external_gmpxx/config.h
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/gmpxx ${DEFAULT_CMAKE_FLAGS} -DGMP_LIBRARY=${BUILD_DIR}/gmp/src/external_gmp/.libs/libgmp-10.lib -DGMP_INCLUDE_DIR=${BUILD_DIR}/gmp/src/external_gmp -DCMAKE_DEBUG_POSTFIX=_d
|
|
||||||
INSTALL_DIR ${LIBDIR}/gmpxx
|
|
||||||
)
|
|
||||||
set_target_properties(external_gmpxx PROPERTIES FOLDER Mingw)
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_gmpxx
|
|
||||||
external_gmp
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add_Step(external_gmpxx after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/gmpxx/ ${HARVEST_TARGET}/gmp
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
@@ -1,46 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(HARU_EXTRA_ARGS
|
|
||||||
-DLIBHPDF_SHARED=OFF
|
|
||||||
-DLIBHPDF_STATIC=ON
|
|
||||||
-DLIBHPDF_EXAMPLES=OFF
|
|
||||||
-DLIBHPDF_ENABLE_EXCEPTIONS=ON
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_haru
|
|
||||||
URL file://${PACKAGE_DIR}/${HARU_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${HARU_HASH_TYPE}=${HARU_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/haru
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/haru/src/external_haru < ${PATCH_DIR}/haru.diff
|
|
||||||
CMAKE_ARGS
|
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=${LIBDIR}/haru
|
|
||||||
${DEFAULT_CMAKE_FLAGS} ${HARU_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/haru
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_haru after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/haru/include ${HARVEST_TARGET}/haru/include
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/haru/lib/libhpdfs.lib ${HARVEST_TARGET}/haru/lib/libhpdfs.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@@ -1,204 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
########################################################################
|
|
||||||
# Copy all generated files to the proper structure as blender prefers
|
|
||||||
########################################################################
|
|
||||||
|
|
||||||
if(NOT DEFINED HARVEST_TARGET)
|
|
||||||
set(HARVEST_TARGET ${CMAKE_CURRENT_SOURCE_DIR}/Harvest)
|
|
||||||
endif()
|
|
||||||
message("HARVEST_TARGET = ${HARVEST_TARGET}")
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
add_custom_target(Harvest_Release_Results
|
|
||||||
COMMAND # jpeg rename libfile + copy include
|
|
||||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/jpg/lib/jpeg-static.lib ${HARVEST_TARGET}/jpeg/lib/libjpeg.lib &&
|
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/jpg/include/ ${HARVEST_TARGET}/jpeg/include/ &&
|
|
||||||
# png
|
|
||||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/png/lib/libpng16_static.lib ${HARVEST_TARGET}/png/lib/libpng.lib &&
|
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/png/include/ ${HARVEST_TARGET}/png/include/ &&
|
|
||||||
# freeglut-> opengl
|
|
||||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/freeglut/lib/freeglut_static.lib ${HARVEST_TARGET}/opengl/lib/freeglut_static.lib &&
|
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/freeglut/include/ ${HARVEST_TARGET}/opengl/include/ &&
|
|
||||||
# glew-> opengl
|
|
||||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/glew/lib/libglew32.lib ${HARVEST_TARGET}/opengl/lib/glew.lib &&
|
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/glew/include/ ${HARVEST_TARGET}/opengl/include/ &&
|
|
||||||
# tiff
|
|
||||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/tiff/lib/tiff.lib ${HARVEST_TARGET}/tiff/lib/libtiff.lib &&
|
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/tiff/include/ ${HARVEST_TARGET}/tiff/include/
|
|
||||||
DEPENDS
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
else(WIN32)
|
|
||||||
|
|
||||||
function(harvest from to)
|
|
||||||
set(pattern "")
|
|
||||||
foreach(f ${ARGN})
|
|
||||||
set(pattern ${f})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
if(pattern STREQUAL "")
|
|
||||||
get_filename_component(dirpath ${to} DIRECTORY)
|
|
||||||
get_filename_component(filename ${to} NAME)
|
|
||||||
install(
|
|
||||||
FILES ${LIBDIR}/${from}
|
|
||||||
DESTINATION ${HARVEST_TARGET}/${dirpath}
|
|
||||||
RENAME ${filename})
|
|
||||||
else()
|
|
||||||
install(
|
|
||||||
DIRECTORY ${LIBDIR}/${from}/
|
|
||||||
DESTINATION ${HARVEST_TARGET}/${to}
|
|
||||||
USE_SOURCE_PERMISSIONS
|
|
||||||
FILES_MATCHING PATTERN ${pattern}
|
|
||||||
PATTERN "pkgconfig" EXCLUDE
|
|
||||||
PATTERN "cmake" EXCLUDE
|
|
||||||
PATTERN "__pycache__" EXCLUDE
|
|
||||||
PATTERN "tests" EXCLUDE)
|
|
||||||
endif()
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
harvest(alembic/include alembic/include "*.h")
|
|
||||||
harvest(alembic/lib/libAlembic.a alembic/lib/libAlembic.a)
|
|
||||||
harvest(alembic/bin alembic/bin "*")
|
|
||||||
harvest(boost/include boost/include "*")
|
|
||||||
harvest(boost/lib boost/lib "*.a")
|
|
||||||
harvest(ffmpeg/include ffmpeg/include "*.h")
|
|
||||||
harvest(ffmpeg/lib ffmpeg/lib "*.a")
|
|
||||||
harvest(fftw3/include fftw3/include "*.h")
|
|
||||||
harvest(fftw3/lib fftw3/lib "*.a")
|
|
||||||
harvest(flac/lib sndfile/lib "libFLAC.a")
|
|
||||||
harvest(freetype/include freetype/include "*.h")
|
|
||||||
harvest(freetype/lib/libfreetype2ST.a freetype/lib/libfreetype.a)
|
|
||||||
harvest(glew/include glew/include "*.h")
|
|
||||||
harvest(glew/lib glew/lib "*.a")
|
|
||||||
harvest(gmp/include gmp/include "*.h")
|
|
||||||
harvest(gmp/lib gmp/lib "*.a")
|
|
||||||
harvest(jemalloc/include jemalloc/include "*.h")
|
|
||||||
harvest(jemalloc/lib jemalloc/lib "*.a")
|
|
||||||
harvest(jpg/include jpeg/include "*.h")
|
|
||||||
harvest(jpg/lib jpeg/lib "libjpeg.a")
|
|
||||||
harvest(lame/lib ffmpeg/lib "*.a")
|
|
||||||
harvest(llvm/bin llvm/bin "clang-format")
|
|
||||||
if(BUILD_CLANG_TOOLS)
|
|
||||||
harvest(llvm/bin llvm/bin "clang-tidy")
|
|
||||||
harvest(llvm/share/clang llvm/share "run-clang-tidy.py")
|
|
||||||
endif()
|
|
||||||
harvest(llvm/include llvm/include "*")
|
|
||||||
harvest(llvm/bin llvm/bin "llvm-config")
|
|
||||||
harvest(llvm/lib llvm/lib "libLLVM*.a")
|
|
||||||
harvest(llvm/lib llvm/lib "libclang*.a")
|
|
||||||
harvest(llvm/lib/clang llvm/lib/clang "*.h")
|
|
||||||
if(APPLE)
|
|
||||||
harvest(openmp/lib openmp/lib "*")
|
|
||||||
harvest(openmp/include openmp/include "*.h")
|
|
||||||
endif()
|
|
||||||
if(BLENDER_PLATFORM_ARM)
|
|
||||||
harvest(sse2neon sse2neon "*.h")
|
|
||||||
endif()
|
|
||||||
harvest(ogg/lib ffmpeg/lib "*.a")
|
|
||||||
harvest(openal/include openal/include "*.h")
|
|
||||||
if(UNIX AND NOT APPLE)
|
|
||||||
harvest(openal/lib openal/lib "*.a")
|
|
||||||
|
|
||||||
harvest(blosc/include blosc/include "*.h")
|
|
||||||
harvest(blosc/lib blosc/lib "*.a")
|
|
||||||
|
|
||||||
harvest(zlib/include zlib/include "*.h")
|
|
||||||
harvest(zlib/lib zlib/lib "*.a")
|
|
||||||
|
|
||||||
harvest(xml2/include xml2/include "*.h")
|
|
||||||
harvest(xml2/lib xml2/lib "*.a")
|
|
||||||
|
|
||||||
harvest(wayland-protocols/share/wayland-protocols wayland-protocols/share/wayland-protocols/ "*.xml")
|
|
||||||
else()
|
|
||||||
harvest(blosc/lib openvdb/lib "*.a")
|
|
||||||
harvest(xml2/lib opencollada/lib "*.a")
|
|
||||||
endif()
|
|
||||||
harvest(opencollada/include/opencollada opencollada/include "*.h")
|
|
||||||
harvest(opencollada/lib/opencollada opencollada/lib "*.a")
|
|
||||||
harvest(opencolorio/include opencolorio/include "*.h")
|
|
||||||
harvest(opencolorio/lib opencolorio/lib "*.a")
|
|
||||||
harvest(opencolorio/lib/static opencolorio/lib "*.a")
|
|
||||||
harvest(openexr/include openexr/include "*.h")
|
|
||||||
harvest(openexr/lib openexr/lib "*.a")
|
|
||||||
harvest(openimageio/bin openimageio/bin "idiff")
|
|
||||||
harvest(openimageio/bin openimageio/bin "maketx")
|
|
||||||
harvest(openimageio/bin openimageio/bin "oiiotool")
|
|
||||||
harvest(openimageio/include openimageio/include "*")
|
|
||||||
harvest(openimageio/lib openimageio/lib "*.a")
|
|
||||||
harvest(openimagedenoise/include openimagedenoise/include "*")
|
|
||||||
harvest(openimagedenoise/lib openimagedenoise/lib "*.a")
|
|
||||||
harvest(embree/include embree/include "*.h")
|
|
||||||
harvest(embree/lib embree/lib "*.a")
|
|
||||||
harvest(openjpeg/include/openjpeg-2.3 openjpeg/include "*.h")
|
|
||||||
harvest(openjpeg/lib openjpeg/lib "*.a")
|
|
||||||
harvest(opensubdiv/include opensubdiv/include "*.h")
|
|
||||||
harvest(opensubdiv/lib opensubdiv/lib "*.a")
|
|
||||||
harvest(openvdb/include/openvdb openvdb/include/openvdb "*.h")
|
|
||||||
harvest(openvdb/lib openvdb/lib "*.a")
|
|
||||||
harvest(nanovdb/nanovdb nanovdb/include/nanovdb "*.h")
|
|
||||||
harvest(xr_openxr_sdk/include/openxr xr_openxr_sdk/include/openxr "*.h")
|
|
||||||
harvest(xr_openxr_sdk/lib xr_openxr_sdk/lib "*.a")
|
|
||||||
harvest(osl/bin osl/bin "oslc")
|
|
||||||
harvest(osl/include osl/include "*.h")
|
|
||||||
harvest(osl/lib osl/lib "*.a")
|
|
||||||
harvest(osl/share/OSL/shaders osl/share/OSL/shaders "*.h")
|
|
||||||
harvest(png/include png/include "*.h")
|
|
||||||
harvest(png/lib png/lib "*.a")
|
|
||||||
harvest(pugixml/include pugixml/include "*.hpp")
|
|
||||||
harvest(pugixml/lib pugixml/lib "*.a")
|
|
||||||
harvest(python/bin python/bin "python${PYTHON_SHORT_VERSION}")
|
|
||||||
harvest(python/include python/include "*h")
|
|
||||||
harvest(python/lib python/lib "*")
|
|
||||||
harvest(sdl/include/SDL2 sdl/include "*.h")
|
|
||||||
harvest(sdl/lib sdl/lib "libSDL2.a")
|
|
||||||
harvest(sndfile/include sndfile/include "*.h")
|
|
||||||
harvest(sndfile/lib sndfile/lib "*.a")
|
|
||||||
harvest(spnav/include spnav/include "*.h")
|
|
||||||
harvest(spnav/lib spnav/lib "*.a")
|
|
||||||
harvest(tbb/include tbb/include "*.h")
|
|
||||||
harvest(tbb/lib/libtbb_static.a tbb/lib/libtbb.a)
|
|
||||||
harvest(theora/lib ffmpeg/lib "*.a")
|
|
||||||
harvest(tiff/include tiff/include "*.h")
|
|
||||||
harvest(tiff/lib tiff/lib "*.a")
|
|
||||||
harvest(vorbis/lib ffmpeg/lib "*.a")
|
|
||||||
harvest(opus/lib ffmpeg/lib "*.a")
|
|
||||||
harvest(vpx/lib ffmpeg/lib "*.a")
|
|
||||||
harvest(webp/lib ffmpeg/lib "*.a")
|
|
||||||
harvest(x264/lib ffmpeg/lib "*.a")
|
|
||||||
harvest(xvidcore/lib ffmpeg/lib "*.a")
|
|
||||||
harvest(usd/include usd/include "*.h")
|
|
||||||
harvest(usd/lib/usd usd/lib/usd "*")
|
|
||||||
harvest(usd/plugin usd/plugin "*")
|
|
||||||
harvest(potrace/include potrace/include "*.h")
|
|
||||||
harvest(potrace/lib potrace/lib "*.a")
|
|
||||||
harvest(haru/include haru/include "*.h")
|
|
||||||
harvest(haru/lib haru/lib "*.a")
|
|
||||||
harvest(zstd/include zstd/include "*.h")
|
|
||||||
harvest(zstd/lib zstd/lib "*.a")
|
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
|
||||||
harvest(libglu/lib mesa/lib "*.so*")
|
|
||||||
harvest(mesa/lib64 mesa/lib "*.so*")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
endif()
|
|
@@ -1,41 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(ICONV_EXTRA_ARGS)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_iconv
|
|
||||||
URL file://${PACKAGE_DIR}/${ICONV_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${ICONV_HASH_TYPE}=${ICONV_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/iconv
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/iconv/src/external_iconv/ && ${CONFIGURE_COMMAND} --enable-static --prefix=${mingw_LIBDIR}/iconv
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/iconv/src/external_iconv/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/iconv/src/external_iconv/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/iconv
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
set_target_properties(external_iconv PROPERTIES FOLDER Mingw)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_iconv after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/iconv/lib/libiconv.a ${HARVEST_TARGET}/iconv/lib/iconv.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/iconv/include/iconv.h ${HARVEST_TARGET}/iconv/include/iconv.h
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@@ -1,92 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(ISPC_EXTRA_ARGS_WIN
|
|
||||||
-DFLEX_EXECUTABLE=${LIBDIR}/flexbison/win_flex.exe
|
|
||||||
-DBISON_EXECUTABLE=${LIBDIR}/flexbison/win_bison.exe
|
|
||||||
-DM4_EXECUTABLE=${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/m4.exe
|
|
||||||
-DARM_ENABLED=Off
|
|
||||||
)
|
|
||||||
elseif(APPLE)
|
|
||||||
# Use bison and flex installed via Homebrew.
|
|
||||||
# The ones that come with Xcode toolset are too old.
|
|
||||||
if("${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "arm64")
|
|
||||||
set(ISPC_EXTRA_ARGS_APPLE
|
|
||||||
-DBISON_EXECUTABLE=/opt/homebrew/opt/bison/bin/bison
|
|
||||||
-DFLEX_EXECUTABLE=/opt/homebrew/opt/flex/bin/flex
|
|
||||||
-DARM_ENABLED=On
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
set(ISPC_EXTRA_ARGS_APPLE
|
|
||||||
-DBISON_EXECUTABLE=/usr/local/opt/bison/bin/bison
|
|
||||||
-DFLEX_EXECUTABLE=/usr/local/opt/flex/bin/flex
|
|
||||||
-DARM_ENABLED=Off
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
elseif(UNIX)
|
|
||||||
set(ISPC_EXTRA_ARGS_UNIX
|
|
||||||
-DCMAKE_C_COMPILER=${LIBDIR}/llvm/bin/clang
|
|
||||||
-DCMAKE_CXX_COMPILER=${LIBDIR}/llvm/bin/clang++
|
|
||||||
-DARM_ENABLED=Off
|
|
||||||
-DFLEX_EXECUTABLE=${LIBDIR}/flex/bin/flex
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(ISPC_EXTRA_ARGS
|
|
||||||
-DISPC_NO_DUMPS=On
|
|
||||||
-DISPC_INCLUDE_EXAMPLES=Off
|
|
||||||
-DISPC_INCLUDE_TESTS=Off
|
|
||||||
-DLLVM_ROOT=${LIBDIR}/llvm/lib/cmake/llvm
|
|
||||||
-DLLVM_LIBRARY_DIR=${LIBDIR}/llvm/lib
|
|
||||||
-DCLANG_EXECUTABLE=${LIBDIR}/llvm/bin/clang
|
|
||||||
-DCLANGPP_EXECUTABLE=${LIBDIR}/llvm/bin/clang++
|
|
||||||
-DISPC_INCLUDE_TESTS=Off
|
|
||||||
-DCLANG_LIBRARY_DIR=${LIBDIR}/llvm/lib
|
|
||||||
-DCLANG_INCLUDE_DIRS=${LIBDIR}/llvm/include
|
|
||||||
${ISPC_EXTRA_ARGS_WIN}
|
|
||||||
${ISPC_EXTRA_ARGS_APPLE}
|
|
||||||
${ISPC_EXTRA_ARGS_UNIX}
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_ispc
|
|
||||||
URL file://${PACKAGE_DIR}/${ISPC_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${ISPC_HASH_TYPE}=${ISPC_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/ispc
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/ispc/src/external_ispc < ${PATCH_DIR}/ispc.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/ispc -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${ISPC_EXTRA_ARGS} ${BUILD_DIR}/ispc/src/external_ispc
|
|
||||||
INSTALL_DIR ${LIBDIR}/ispc
|
|
||||||
)
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_ispc
|
|
||||||
ll
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
add_dependencies(
|
|
||||||
external_ispc
|
|
||||||
external_flexbison
|
|
||||||
)
|
|
||||||
elseif(UNIX AND NOT APPLE)
|
|
||||||
add_dependencies(
|
|
||||||
external_ispc
|
|
||||||
external_flex
|
|
||||||
)
|
|
||||||
endif()
|
|
@@ -1,28 +0,0 @@
|
|||||||
# ***** 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_jemalloc
|
|
||||||
URL file://${PACKAGE_DIR}/${JEMALLOC_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${JEMALLOC_HASH_TYPE}=${JEMALLOC_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/jemalloc
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/jemalloc/src/external_jemalloc/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/jemalloc --disable-shared --enable-static --with-pic
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/jemalloc/src/external_jemalloc/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/jemalloc/src/external_jemalloc/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/jemalloc
|
|
||||||
)
|
|
@@ -1,62 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
# cmake for windows
|
|
||||||
set(JPEG_EXTRA_ARGS -DNASM=${NASM_PATH} -DWITH_JPEG8=ON -DCMAKE_DEBUG_POSTFIX=d -DWITH_CRT_DLL=On)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_jpeg
|
|
||||||
URL file://${PACKAGE_DIR}/${JPEG_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${JPEG_HASH_TYPE}=${JPEG_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/jpg
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/jpg ${DEFAULT_CMAKE_FLAGS} ${JPEG_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/jpg
|
|
||||||
)
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_jpeg after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/jpg/lib/jpegd${LIBEXT} ${LIBDIR}/jpg/lib/jpeg${LIBEXT}
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
set(JPEG_LIBRARY jpeg-static${LIBEXT})
|
|
||||||
else()
|
|
||||||
set(JPEG_LIBRARY jpeg-staticd${LIBEXT})
|
|
||||||
endif()
|
|
||||||
else(WIN32)
|
|
||||||
# cmake for unix
|
|
||||||
set(JPEG_EXTRA_ARGS
|
|
||||||
-DWITH_JPEG8=ON
|
|
||||||
-DENABLE_STATIC=ON
|
|
||||||
-DENABLE_SHARED=OFF
|
|
||||||
-DCMAKE_INSTALL_LIBDIR=${LIBDIR}/jpg/lib)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_jpeg
|
|
||||||
URL file://${PACKAGE_DIR}/${JPEG_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${JPEG_HASH_TYPE}=${JPEG_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/jpg
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/jpg ${DEFAULT_CMAKE_FLAGS} ${JPEG_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/jpg
|
|
||||||
)
|
|
||||||
|
|
||||||
set(JPEG_LIBRARY libjpeg${LIBEXT})
|
|
||||||
endif()
|
|
@@ -1,47 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(LAME_EXTRA_ARGS)
|
|
||||||
if(MSVC)
|
|
||||||
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4")
|
|
||||||
set(LAME_EXTRA_ARGS CFLAGS=-msse)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_lame
|
|
||||||
URL file://${PACKAGE_DIR}/${LAME_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${LAME_HASH_TYPE}=${LAME_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/lame
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/lame/src/external_lame/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/lame --disable-shared --enable-static ${LAME_EXTRA_ARGS}
|
|
||||||
--enable-export=full
|
|
||||||
--with-fileio=sndfile
|
|
||||||
--without-vorbis
|
|
||||||
--with-pic
|
|
||||||
--disable-mp3x
|
|
||||||
--disable-mp3rtp
|
|
||||||
--disable-gtktest
|
|
||||||
--disable-frontend
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/lame/src/external_lame/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/lame/src/external_lame/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/lame
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
set_target_properties(external_lame PROPERTIES FOLDER Mingw)
|
|
||||||
endif()
|
|
@@ -1,40 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(LIBGLU_CFLAGS "-static-libgcc")
|
|
||||||
set(LIBGLU_CXXFLAGS "-static-libgcc -static-libstdc++ -Bstatic -lstdc++ -Bdynamic -l:libstdc++.a")
|
|
||||||
set(LIBGLU_LDFLAGS "-pthread -static-libgcc -static-libstdc++ -Bstatic -lstdc++ -Bdynamic -l:libstdc++.a")
|
|
||||||
|
|
||||||
set(LIBGLU_EXTRA_FLAGS
|
|
||||||
CFLAGS=${LIBGLU_CFLAGS}
|
|
||||||
CXXFLAGS=${LIBGLU_CXXFLAGS}
|
|
||||||
LDFLAGS=${LIBGLU_LDFLAGS}
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_libglu
|
|
||||||
URL file://${PACKAGE_DIR}/${LIBGLU_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${LIBGLU_HASH_TYPE}=${LIBGLU_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/libglu
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} &&
|
|
||||||
cd ${BUILD_DIR}/libglu/src/external_libglu/ &&
|
|
||||||
${CONFIGURE_COMMAND_NO_TARGET} --prefix=${LIBDIR}/libglu ${LIBGLU_EXTRA_FLAGS}
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/libglu/src/external_libglu/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/libglu/src/external_libglu/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/libglu
|
|
||||||
)
|
|
@@ -1,92 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(BLENDER_PLATFORM_ARM)
|
|
||||||
set(LLVM_TARGETS AArch64$<SEMICOLON>ARM)
|
|
||||||
else()
|
|
||||||
set(LLVM_TARGETS X86)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(APPLE)
|
|
||||||
set(LLVM_XML2_ARGS
|
|
||||||
-DLIBXML2_LIBRARY=${LIBDIR}/xml2/lib/libxml2.a
|
|
||||||
)
|
|
||||||
set(LLVM_BUILD_CLANG_TOOLS_EXTRA ^^clang-tools-extra)
|
|
||||||
set(BUILD_CLANG_TOOLS ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
set(LLVM_EXTRA_ARGS
|
|
||||||
-DLLVM_USE_CRT_RELEASE=MD
|
|
||||||
-DLLVM_USE_CRT_DEBUG=MDd
|
|
||||||
-DLLVM_INCLUDE_TESTS=OFF
|
|
||||||
-DLLVM_TARGETS_TO_BUILD=${LLVM_TARGETS}
|
|
||||||
-DLLVM_INCLUDE_EXAMPLES=OFF
|
|
||||||
-DLLVM_ENABLE_TERMINFO=OFF
|
|
||||||
-DLLVM_BUILD_LLVM_C_DYLIB=OFF
|
|
||||||
-DLLVM_ENABLE_UNWIND_TABLES=OFF
|
|
||||||
-DLLVM_ENABLE_PROJECTS=clang${LLVM_BUILD_CLANG_TOOLS_EXTRA}
|
|
||||||
${LLVM_XML2_ARGS}
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(LLVM_GENERATOR "Ninja")
|
|
||||||
else()
|
|
||||||
set(LLVM_GENERATOR "Unix Makefiles")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# short project name due to long filename issues on windows
|
|
||||||
ExternalProject_Add(ll
|
|
||||||
URL file://${PACKAGE_DIR}/${LLVM_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${LLVM_HASH_TYPE}=${LLVM_HASH}
|
|
||||||
CMAKE_GENERATOR ${LLVM_GENERATOR}
|
|
||||||
LIST_SEPARATOR ^^
|
|
||||||
PREFIX ${BUILD_DIR}/ll
|
|
||||||
SOURCE_SUBDIR llvm
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/ll/src/ll < ${PATCH_DIR}/llvm.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/llvm ${DEFAULT_CMAKE_FLAGS} ${LLVM_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/llvm
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
set(LLVM_HARVEST_COMMAND
|
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/llvm/lib ${HARVEST_TARGET}/llvm/lib &&
|
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/llvm/include ${HARVEST_TARGET}/llvm/include &&
|
|
||||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/llvm/bin/clang-format.exe ${HARVEST_TARGET}/llvm/bin/clang-format.exe
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
set(LLVM_HARVEST_COMMAND
|
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/llvm/lib/ ${HARVEST_TARGET}/llvm/debug/lib/ &&
|
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/llvm/include/ ${HARVEST_TARGET}/llvm/debug/include/
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
ExternalProject_Add_Step(ll after_install
|
|
||||||
COMMAND ${LLVM_HARVEST_COMMAND}
|
|
||||||
DEPENDEES mkdir update patch download configure build install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# We currently do not build libxml2 on Windows.
|
|
||||||
if(APPLE)
|
|
||||||
add_dependencies(
|
|
||||||
ll
|
|
||||||
external_xml2
|
|
||||||
)
|
|
||||||
endif()
|
|
@@ -1,32 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(LZMA_PATCH_CMD echo .)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_lzma
|
|
||||||
URL file://${PACKAGE_DIR}/${LZMA_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${LZMA_HASH_TYPE}=${LZMA_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/lzma
|
|
||||||
PATCH_COMMAND ${LZMA_PATCH_CMD}
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/lzma/src/external_lzma/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/lzma
|
|
||||||
--disable-shared
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/lzma/src/external_lzma/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/lzma/src/external_lzma/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/lzma
|
|
||||||
)
|
|
@@ -1,71 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(MESA_CFLAGS "-static-libgcc")
|
|
||||||
set(MESA_CXXFLAGS "-static-libgcc -static-libstdc++ -Bstatic -lstdc++ -Bdynamic -l:libstdc++.a")
|
|
||||||
set(MESA_LDFLAGS "-L${LIBDIR}/zlib/lib -pthread -static-libgcc -static-libstdc++ -Bstatic -lstdc++ -Bdynamic -l:libstdc++.a -l:libz_pic.a")
|
|
||||||
|
|
||||||
# The 'native-file', used for overrides with the meson build system.
|
|
||||||
# meson does not provide a way to do this using command line arguments.
|
|
||||||
#
|
|
||||||
# Note that we can't output to "${BUILD_DIR}/mesa/src/external_mesa" as
|
|
||||||
# it doesn't exist when CMake first executes.
|
|
||||||
file(WRITE ${BUILD_DIR}/mesa/tmp/native-file.ini "\
|
|
||||||
[binaries]
|
|
||||||
llvm-config = '${LIBDIR}/llvm/bin/llvm-config'"
|
|
||||||
)
|
|
||||||
|
|
||||||
set(MESA_EXTRA_FLAGS
|
|
||||||
-Dbuildtype=release
|
|
||||||
-Dc_args=${MESA_CFLAGS}
|
|
||||||
-Dcpp_args=${MESA_CXXFLAGS}
|
|
||||||
-Dc_link_args=${MESA_LDFLAGS}
|
|
||||||
-Dcpp_link_args=${MESA_LDFLAGS}
|
|
||||||
-Dglx=gallium-xlib
|
|
||||||
-Dgallium-drivers=swrast
|
|
||||||
-Ddri-drivers=
|
|
||||||
-Dvulkan-drivers=
|
|
||||||
-Dgbm=disabled
|
|
||||||
-Degl=disabled
|
|
||||||
-Dgles1=disabled
|
|
||||||
-Dgles2=disabled
|
|
||||||
-Dshared-llvm=disabled
|
|
||||||
# Without this, the build fails when: `wayland-scanner` is not found.
|
|
||||||
# At some point we will likely want to support Wayland.
|
|
||||||
# Disable for now since it's not officially supported.
|
|
||||||
-Dplatforms=x11
|
|
||||||
--native-file ${BUILD_DIR}/mesa/tmp/native-file.ini
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_mesa
|
|
||||||
URL file://${PACKAGE_DIR}/${MESA_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${MESA_HASH_TYPE}=${MESA_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/mesa
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} &&
|
|
||||||
cd ${BUILD_DIR}/mesa/src/external_mesa/ &&
|
|
||||||
meson ${BUILD_DIR}/mesa/src/external_mesa-build --prefix=${LIBDIR}/mesa ${MESA_EXTRA_FLAGS}
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/mesa/src/external_mesa-build && ninja -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/mesa/src/external_mesa-build && ninja install
|
|
||||||
INSTALL_DIR ${LIBDIR}/mesa
|
|
||||||
)
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_mesa
|
|
||||||
ll
|
|
||||||
)
|
|
@@ -1,55 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(NANOVDB_EXTRA_ARGS
|
|
||||||
# NanoVDB is header-only, so only need the install target
|
|
||||||
-DNANOVDB_BUILD_UNITTESTS=OFF
|
|
||||||
-DNANOVDB_BUILD_EXAMPLES=OFF
|
|
||||||
-DNANOVDB_BUILD_BENCHMARK=OFF
|
|
||||||
-DNANOVDB_BUILD_DOCS=OFF
|
|
||||||
-DNANOVDB_BUILD_TOOLS=OFF
|
|
||||||
-DNANOVDB_CUDA_KEEP_PTX=OFF
|
|
||||||
# Do not need to include any of the dependencies because of this
|
|
||||||
-DNANOVDB_USE_OPENVDB=OFF
|
|
||||||
-DNANOVDB_USE_OPENGL=OFF
|
|
||||||
-DNANOVDB_USE_OPENCL=OFF
|
|
||||||
-DNANOVDB_USE_CUDA=OFF
|
|
||||||
-DNANOVDB_USE_TBB=OFF
|
|
||||||
-DNANOVDB_USE_BLOSC=OFF
|
|
||||||
-DNANOVDB_USE_ZLIB=OFF
|
|
||||||
-DNANOVDB_USE_OPTIX=OFF
|
|
||||||
-DNANOVDB_ALLOW_FETCHCONTENT=OFF
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(nanovdb
|
|
||||||
URL file://${PACKAGE_DIR}/${NANOVDB_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${NANOVDB_HASH_TYPE}=${NANOVDB_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/nanovdb
|
|
||||||
SOURCE_SUBDIR nanovdb
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/nanovdb/src/nanovdb < ${PATCH_DIR}/nanovdb.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/nanovdb ${DEFAULT_CMAKE_FLAGS} ${NANOVDB_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/nanovdb
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
ExternalProject_Add_Step(nanovdb after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/nanovdb/nanovdb ${HARVEST_TARGET}/nanovdb/include/nanovdb
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
@@ -1,38 +0,0 @@
|
|||||||
# ***** 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_nasm
|
|
||||||
URL file://${PACKAGE_DIR}/${NASM_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${NASM_HASH_TYPE}=${NASM_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/nasm
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/nasm/src/external_nasm < ${PATCH_DIR}/nasm.diff
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/nasm/src/external_nasm/ && ./autogen.sh && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/nasm
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/nasm/src/external_nasm/ && make -j${MAKE_THREADS} && make manpages
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/nasm/src/external_nasm/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/nasm
|
|
||||||
)
|
|
||||||
|
|
||||||
if(UNIX)
|
|
||||||
# `touch nasm.1 ndisasm.1` helps to create the manual pages files, even when
|
|
||||||
# local `asciidoc` and `xmlto` packages are not installed.
|
|
||||||
ExternalProject_Add_Step(external_nasm after_configure
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E touch ${BUILD_DIR}/nasm/src/external_nasm/nasm.1 ${BUILD_DIR}/nasm/src/external_nasm/ndisasm.1
|
|
||||||
DEPENDEES configure
|
|
||||||
)
|
|
||||||
endif()
|
|
@@ -1,50 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
message("BIN >${PYTHON_BINARY}<")
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
set(NUMPY_DIR_POSTFIX -pydebug)
|
|
||||||
set(NUMPY_ARCHIVE_POSTFIX d)
|
|
||||||
set(NUMPY_BUILD_OPTION --debug)
|
|
||||||
else()
|
|
||||||
set(NUMPY_DIR_POSTFIX)
|
|
||||||
set(NUMPY_ARCHIVE_POSTFIX)
|
|
||||||
set(NUMPY_BUILD_OPTION)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(NUMPY_POSTFIX)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_numpy
|
|
||||||
URL file://${PACKAGE_DIR}/${NUMPY_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${NUMPY_HASH_TYPE}=${NUMPY_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/numpy
|
|
||||||
PATCH_COMMAND ${NUMPY_PATCH}
|
|
||||||
CONFIGURE_COMMAND ""
|
|
||||||
LOG_BUILD 1
|
|
||||||
BUILD_COMMAND ${PYTHON_BINARY} ${BUILD_DIR}/numpy/src/external_numpy/setup.py build ${NUMPY_BUILD_OPTION} install --old-and-unmanageable
|
|
||||||
INSTALL_COMMAND ""
|
|
||||||
)
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_numpy
|
|
||||||
external_python
|
|
||||||
external_python_site_packages
|
|
||||||
)
|
|
@@ -1,33 +0,0 @@
|
|||||||
# ***** 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_ogg
|
|
||||||
URL file://${PACKAGE_DIR}/${OGG_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${OGG_HASH_TYPE}=${OGG_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/ogg
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} --verbose -p 1 -N -d ${BUILD_DIR}/ogg/src/external_ogg < ${PATCH_DIR}/ogg.diff
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ogg/src/external_ogg/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/ogg --disable-shared --enable-static
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ogg/src/external_ogg/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ogg/src/external_ogg/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/ogg
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
set_target_properties(external_ogg PROPERTIES FOLDER Mingw)
|
|
||||||
endif()
|
|
@@ -1,66 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
set(OPENAL_EXTRA_ARGS
|
|
||||||
-DALSOFT_UTILS=OFF
|
|
||||||
-DALSOFT_NO_CONFIG_UTIL=ON
|
|
||||||
-DALSOFT_EXAMPLES=OFF
|
|
||||||
-DALSOFT_TESTS=OFF
|
|
||||||
-DALSOFT_CONFIG=OFF
|
|
||||||
-DALSOFT_HRTF_DEFS=OFF
|
|
||||||
-DALSOFT_INSTALL=ON
|
|
||||||
-DALSOFT_BACKEND_SNDIO=OFF
|
|
||||||
)
|
|
||||||
|
|
||||||
if(UNIX)
|
|
||||||
set(OPENAL_EXTRA_ARGS
|
|
||||||
${OPENAL_EXTRA_ARGS}
|
|
||||||
-DLIBTYPE=STATIC
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
|
||||||
# Ensure we have backends for playback.
|
|
||||||
set(OPENAL_EXTRA_ARGS
|
|
||||||
${OPENAL_EXTRA_ARGS}
|
|
||||||
-DALSOFT_REQUIRE_ALSA=ON
|
|
||||||
-DALSOFT_REQUIRE_OSS=ON
|
|
||||||
-DALSOFT_REQUIRE_PULSEAUDIO=ON
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_openal
|
|
||||||
URL file://${PACKAGE_DIR}/${OPENAL_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${OPENAL_HASH_TYPE}=${OPENAL_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/openal
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openal ${DEFAULT_CMAKE_FLAGS} ${OPENAL_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/openal
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
ExternalProject_Add_Step(external_openal after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openal/lib/openal32.lib ${HARVEST_TARGET}/openal/lib/openal32.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openal/bin/openal32.dll ${HARVEST_TARGET}/openal/lib/openal32.dll
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openal/include/ ${HARVEST_TARGET}/openal/include/
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
endif()
|
|
@@ -1,65 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(UNIX)
|
|
||||||
set(OPENCOLLADA_EXTRA_ARGS
|
|
||||||
-DLIBXML2_INCLUDE_DIR=${LIBDIR}/xml2/include/libxml2
|
|
||||||
-DLIBXML2_LIBRARIES=${LIBDIR}/xml2/lib/libxml2.a)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_opencollada
|
|
||||||
URL file://${PACKAGE_DIR}/${OPENCOLLADA_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${OPENCOLLADA_HASH_TYPE}=${OPENCOLLADA_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/opencollada
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/opencollada/src/external_opencollada < ${PATCH_DIR}/opencollada.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/opencollada ${DEFAULT_CMAKE_FLAGS} ${OPENCOLLADA_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/opencollada
|
|
||||||
)
|
|
||||||
|
|
||||||
if(UNIX)
|
|
||||||
add_dependencies(
|
|
||||||
external_opencollada
|
|
||||||
external_xml2
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_opencollada after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencollada/ ${HARVEST_TARGET}/opencollada/
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_opencollada after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/buffer.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/buffer_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/ftoa.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/ftoa_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/GeneratedSaxParser.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/GeneratedSaxParser_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/MathMLSolver.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/MathMLSolver_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADABaseUtils.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADABaseUtils_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADAFramework.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADAFramework_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADASaxFrameworkLoader.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADASaxFrameworkLoader_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/OpenCOLLADAStreamWriter.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/OpenCOLLADAStreamWriter_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/pcre.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/pcre_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/UTF.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/UTF_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencollada/lib/opencollada/xml.lib ${HARVEST_TARGET}/opencollada/lib/opencollada/xml_d.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@@ -1,101 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(OPENCOLORIO_EXTRA_ARGS
|
|
||||||
-DOCIO_BUILD_APPS=OFF
|
|
||||||
-DOCIO_BUILD_PYTHON=OFF
|
|
||||||
-DOCIO_BUILD_NUKE=OFF
|
|
||||||
-DOCIO_BUILD_JAVA=OFF
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
-DOCIO_BUILD_DOCS=OFF
|
|
||||||
-DOCIO_BUILD_TESTS=OFF
|
|
||||||
-DOCIO_BUILD_GPU_TESTS=OFF
|
|
||||||
-DOCIO_USE_SSE=ON
|
|
||||||
|
|
||||||
# Manually build ext packages except for pystring, which does not have
|
|
||||||
# a CMake or autotools build system that we can easily use.
|
|
||||||
-DOCIO_INSTALL_EXT_PACKAGES=MISSING
|
|
||||||
-DHalf_ROOT=${LIBDIR}/openexr
|
|
||||||
-DHalf_STATIC_LIBRARY=ON
|
|
||||||
-Dexpat_ROOT=${LIBDIR}/expat
|
|
||||||
-Dyaml-cpp_ROOT=${LIBDIR}/yamlcpp
|
|
||||||
)
|
|
||||||
|
|
||||||
if(BLENDER_PLATFORM_ARM)
|
|
||||||
set(OPENCOLORIO_EXTRA_ARGS
|
|
||||||
${OPENCOLORIO_EXTRA_ARGS}
|
|
||||||
-DOCIO_USE_SSE=OFF
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(OPENCOLORIO_EXTRA_ARGS
|
|
||||||
${OPENCOLORIO_EXTRA_ARGS}
|
|
||||||
-DOCIO_INLINES_HIDDEN=OFF
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
set(OPENCOLORIO_EXTRA_ARGS
|
|
||||||
${OPENCOLORIO_EXTRA_ARGS}
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_opencolorio
|
|
||||||
URL file://${PACKAGE_DIR}/${OPENCOLORIO_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${OPENCOLORIO_HASH_TYPE}=${OPENCOLORIO_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/opencolorio
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/opencolorio/src/external_opencolorio < ${PATCH_DIR}/opencolorio.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/opencolorio ${DEFAULT_CMAKE_FLAGS} ${OPENCOLORIO_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/opencolorio
|
|
||||||
)
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_opencolorio
|
|
||||||
external_yamlcpp
|
|
||||||
external_expat
|
|
||||||
external_openexr
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_opencolorio after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencolorio/include ${HARVEST_TARGET}/opencolorio/include
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opencolorio/lib ${HARVEST_TARGET}/opencolorio/lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/yamlcpp/lib/libyaml-cppmd.lib ${HARVEST_TARGET}/opencolorio/lib/libyaml-cpp.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/expat/lib/libexpatMD.lib ${HARVEST_TARGET}/opencolorio/lib/libexpatMD.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/opencolorio/src/external_opencolorio-build/ext/dist/lib/pystring.lib ${HARVEST_TARGET}/opencolorio/lib/pystring.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_opencolorio after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opencolorio/lib/Opencolorio.lib ${HARVEST_TARGET}/opencolorio/lib/OpencolorIO_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/yamlcpp/lib/libyaml-cppmdd.lib ${HARVEST_TARGET}/opencolorio/lib/libyaml-cpp_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/expat/lib/libexpatdMD.lib ${HARVEST_TARGET}/opencolorio/lib/libexpatdMD.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/opencolorio/src/external_opencolorio-build/ext/dist/lib/pystring.lib ${HARVEST_TARGET}/opencolorio/lib/pystring_d.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
ExternalProject_Add_Step(external_opencolorio after_install
|
|
||||||
COMMAND cp ${LIBDIR}/yamlcpp/lib/libyaml-cpp.a ${LIBDIR}/opencolorio/lib/
|
|
||||||
COMMAND cp ${LIBDIR}/expat/lib/libexpat.a ${LIBDIR}/opencolorio/lib/
|
|
||||||
COMMAND cp ${BUILD_DIR}/opencolorio/src/external_opencolorio-build/ext/dist/lib/libpystring.a ${LIBDIR}/opencolorio/lib/
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
@@ -1,64 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(OPENEXR_CMAKE_CXX_STANDARD_LIBRARIES "kernel32${LIBEXT} user32${LIBEXT} gdi32${LIBEXT} winspool${LIBEXT} shell32${LIBEXT} ole32${LIBEXT} oleaut32${LIBEXT} uuid${LIBEXT} comdlg32${LIBEXT} advapi32${LIBEXT} psapi${LIBEXT}")
|
|
||||||
set(OPENEXR_EXTRA_ARGS
|
|
||||||
-DCMAKE_CXX_STANDARD_LIBRARIES=${OPENEXR_CMAKE_CXX_STANDARD_LIBRARIES}
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
set(OPENEXR_EXTRA_ARGS
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(OPENEXR_EXTRA_ARGS
|
|
||||||
${OPENEXR_EXTRA_ARGS}
|
|
||||||
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
|
||||||
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
|
||||||
-DBUILD_TESTING=OFF
|
|
||||||
-DOPENEXR_BUILD_BOTH_STATIC_SHARED=OFF
|
|
||||||
-DILMBASE_BUILD_BOTH_STATIC_SHARED=OFF
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
-DOPENEXR_BUILD_UTILS=OFF
|
|
||||||
-DPYILMBASE_ENABLE=OFF
|
|
||||||
-DOPENEXR_VIEWERS_ENABLE=OFF
|
|
||||||
-DILMBASE_LIB_SUFFIX=${OPENEXR_VERSION_BUILD_POSTFIX}
|
|
||||||
-DOPENEXR_LIB_SUFFIX=${OPENEXR_VERSION_BUILD_POSTFIX}
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_openexr
|
|
||||||
URL file://${PACKAGE_DIR}/${OPENEXR_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${OPENEXR_HASH_TYPE}=${OPENEXR_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/openexr
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openexr ${DEFAULT_CMAKE_FLAGS} ${OPENEXR_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/openexr
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
ExternalProject_Add_Step(external_openexr after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/lib ${HARVEST_TARGET}/openexr/lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openexr/include ${HARVEST_TARGET}/openexr/include
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_openexr
|
|
||||||
external_zlib
|
|
||||||
)
|
|
@@ -1,76 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
|
|
||||||
set(OIDN_EXTRA_ARGS
|
|
||||||
-DOIDN_APPS=OFF
|
|
||||||
-DTBB_ROOT=${LIBDIR}/tbb
|
|
||||||
-DTBB_STATIC_LIB=${TBB_STATIC_LIBRARY}
|
|
||||||
-DOIDN_STATIC_LIB=ON
|
|
||||||
-DOIDN_STATIC_RUNTIME=OFF
|
|
||||||
-DISPC_EXECUTABLE=${LIBDIR}/ispc/bin/ispc
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(OIDN_EXTRA_ARGS
|
|
||||||
${OIDN_EXTRA_ARGS}
|
|
||||||
-DTBB_DEBUG_LIBRARY=${LIBDIR}/tbb/lib/tbb.lib
|
|
||||||
-DTBB_DEBUG_LIBRARY_MALLOC=${LIBDIR}/tbb/lib/tbbmalloc.lib
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
set(OIDN_EXTRA_ARGS
|
|
||||||
${OIDN_EXTRA_ARGS}
|
|
||||||
-Dtbb_LIBRARY_RELEASE=${LIBDIR}/tbb/lib/tbb_static.a
|
|
||||||
-Dtbbmalloc_LIBRARY_RELEASE=${LIBDIR}/tbb/lib/tbbmalloc_static.a
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_openimagedenoise
|
|
||||||
URL file://${PACKAGE_DIR}/${OIDN_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${OIDN_HASH_TYPE}=${OIDN_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/openimagedenoise
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openimagedenoise ${DEFAULT_CMAKE_FLAGS} ${OIDN_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/openimagedenoise
|
|
||||||
)
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_openimagedenoise
|
|
||||||
external_tbb
|
|
||||||
external_ispc
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_openimagedenoise after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openimagedenoise/include ${HARVEST_TARGET}/openimagedenoise/include
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/openimagedenoise.lib ${HARVEST_TARGET}/openimagedenoise/lib/openimagedenoise.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/common.lib ${HARVEST_TARGET}/openimagedenoise/lib/common.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/dnnl.lib ${HARVEST_TARGET}/openimagedenoise/lib/dnnl.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_openimagedenoise after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/openimagedenoise.lib ${HARVEST_TARGET}/openimagedenoise/lib/openimagedenoise_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/common.lib ${HARVEST_TARGET}/openimagedenoise/lib/common_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimagedenoise/lib/dnnl.lib ${HARVEST_TARGET}/openimagedenoise/lib/dnnl_d.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@@ -1,161 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
set(OIIO_TOOLS ON)
|
|
||||||
else()
|
|
||||||
set(OIIO_TOOLS OFF)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
|
||||||
# This causes linking to static pthread libraries which gives link errors.
|
|
||||||
# Since we manually specify library paths it should static link other libs.
|
|
||||||
set(OPENIMAGEIO_LINKSTATIC -DLINKSTATIC=OFF)
|
|
||||||
else()
|
|
||||||
set(OPENIMAGEIO_LINKSTATIC -DLINKSTATIC=ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(PNG_LIBNAME libpng16_static${LIBEXT})
|
|
||||||
set(OIIO_SIMD_FLAGS -DUSE_SIMD=sse2)
|
|
||||||
set(OPENJPEG_POSTFIX _msvc)
|
|
||||||
else()
|
|
||||||
set(PNG_LIBNAME libpng${LIBEXT})
|
|
||||||
set(OIIO_SIMD_FLAGS)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WITH_WEBP)
|
|
||||||
set(WEBP_ARGS
|
|
||||||
-DWEBP_INCLUDE_DIR=${LIBDIR}/webp/include
|
|
||||||
-DWEBP_LIBRARY=${LIBDIR}/webp/lib/${LIBPREFIX}webp${LIBEXT}
|
|
||||||
)
|
|
||||||
set(WEBP_DEP external_webp)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
set(OPENJPEG_FLAGS
|
|
||||||
-DOpenJpeg_ROOT=${LIBDIR}/openjpeg_msvc
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
set(OPENJPEG_FLAGS
|
|
||||||
-DOpenJpeg_ROOT=${LIBDIR}/openjpeg
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(OPENIMAGEIO_EXTRA_ARGS
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
${OPENIMAGEIO_LINKSTATIC}
|
|
||||||
-DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
|
|
||||||
-DBoost_USE_MULTITHREADED=ON
|
|
||||||
-DBoost_USE_STATIC_LIBS=ON
|
|
||||||
-DBoost_USE_STATIC_RUNTIME=OFF
|
|
||||||
-DBOOST_ROOT=${LIBDIR}/boost
|
|
||||||
-DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/
|
|
||||||
-DBoost_NO_SYSTEM_PATHS=ON
|
|
||||||
-DBoost_NO_BOOST_CMAKE=ON
|
|
||||||
-DUSE_LIBSQUISH=OFF
|
|
||||||
-DUSE_QT5=OFF
|
|
||||||
-DUSE_NUKE=OFF
|
|
||||||
-DUSE_OPENVDB=OFF
|
|
||||||
-DUSE_BZIP2=OFF
|
|
||||||
-DUSE_FREETYPE=OFF
|
|
||||||
-DUSE_DCMTK=OFF
|
|
||||||
-DUSE_LIBHEIF=OFF
|
|
||||||
-DUSE_OPENGL=OFF
|
|
||||||
-DUSE_TBB=OFF
|
|
||||||
-DUSE_FIELD3D=OFF
|
|
||||||
-DUSE_QT=OFF
|
|
||||||
-DUSE_PYTHON=OFF
|
|
||||||
-DUSE_GIF=OFF
|
|
||||||
-DUSE_OPENCV=OFF
|
|
||||||
-DUSE_OPENJPEG=ON
|
|
||||||
-DUSE_FFMPEG=OFF
|
|
||||||
-DUSE_PTEX=OFF
|
|
||||||
-DUSE_FREETYPE=OFF
|
|
||||||
-DUSE_LIBRAW=OFF
|
|
||||||
-DUSE_OPENCOLORIO=OFF
|
|
||||||
-DUSE_WEBP=${WITH_WEBP}
|
|
||||||
-DOIIO_BUILD_TOOLS=${OIIO_TOOLS}
|
|
||||||
-DOIIO_BUILD_TESTS=OFF
|
|
||||||
-DBUILD_TESTING=OFF
|
|
||||||
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
|
||||||
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include
|
|
||||||
-DPNG_LIBRARY=${LIBDIR}/png/lib/${PNG_LIBNAME}
|
|
||||||
-DPNG_PNG_INCLUDE_DIR=${LIBDIR}/png/include
|
|
||||||
-DTIFF_LIBRARY=${LIBDIR}/tiff/lib/${LIBPREFIX}tiff${LIBEXT}
|
|
||||||
-DTIFF_INCLUDE_DIR=${LIBDIR}/tiff/include
|
|
||||||
-DJPEG_LIBRARY=${LIBDIR}/jpg/lib/${JPEG_LIBRARY}
|
|
||||||
-DJPEG_INCLUDE_DIR=${LIBDIR}/jpg/include
|
|
||||||
${OPENJPEG_FLAGS}
|
|
||||||
-DOpenEXR_USE_STATIC_LIBS=On
|
|
||||||
-DILMBASE_INCLUDE_DIR=${LIBDIR}/openexr/include/
|
|
||||||
-DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/
|
|
||||||
-DOPENEXR_HALF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Half${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
|
||||||
-DOPENEXR_IMATH_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Imath${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
|
||||||
-DOPENEXR_ILMTHREAD_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmThread${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
|
||||||
-DOPENEXR_IEX_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Iex${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
|
||||||
-DOPENEXR_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
|
||||||
-DSTOP_ON_WARNING=OFF
|
|
||||||
-DUSE_EXTERNAL_PUGIXML=ON
|
|
||||||
-DPUGIXML_LIBRARY=${LIBDIR}/pugixml/lib/${LIBPREFIX}pugixml${LIBEXT}
|
|
||||||
-DPUGIXML_INCLUDE_DIR=${LIBDIR}/pugixml/include/
|
|
||||||
${WEBP_FLAGS}
|
|
||||||
${OIIO_SIMD_FLAGS}
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_openimageio
|
|
||||||
URL file://${PACKAGE_DIR}/${OPENIMAGEIO_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${OPENIMAGEIO_HASH_TYPE}=${OPENIMAGEIO_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/openimageio
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/ < ${PATCH_DIR}/openimageio.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openimageio ${DEFAULT_CMAKE_FLAGS} ${OPENIMAGEIO_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/openimageio
|
|
||||||
)
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_openimageio
|
|
||||||
external_png
|
|
||||||
external_zlib
|
|
||||||
external_openexr
|
|
||||||
external_jpeg
|
|
||||||
external_boost
|
|
||||||
external_tiff
|
|
||||||
external_pugixml
|
|
||||||
external_openjpeg${OPENJPEG_POSTFIX}
|
|
||||||
${WEBP_DEP}
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_openimageio after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/include ${HARVEST_TARGET}/OpenImageIO/include
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/OpenImageIO/lib ${HARVEST_TARGET}/OpenImageIO/lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/OpenImageIO/bin/idiff.exe ${HARVEST_TARGET}/OpenImageIO/bin/idiff.exe
|
|
||||||
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_openimageio after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimageio/lib/OpenImageIO.lib ${HARVEST_TARGET}/openimageio/lib/OpenImageIO_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openimageio/lib/OpenImageIO_Util.lib ${HARVEST_TARGET}/openimageio/lib/OpenImageIO_Util_d.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@@ -1,64 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
# Note the encoder/decoder may use png/tiff/lcms system libraries, but the
|
|
||||||
# library itself does not depend on them, so should give no problems.
|
|
||||||
|
|
||||||
set(OPENJPEG_EXTRA_ARGS -DBUILD_SHARED_LIBS=OFF)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(OPENJPEG_EXTRA_ARGS -G "MSYS Makefiles" -DBUILD_PKGCONFIG_FILES=On)
|
|
||||||
else()
|
|
||||||
set(OPENJPEG_EXTRA_ARGS ${DEFAULT_CMAKE_FLAGS})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_openjpeg
|
|
||||||
URL file://${PACKAGE_DIR}/${OPENJPEG_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${OPENJPEG_HASH_TYPE}=${OPENJPEG_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/openjpeg
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openjpeg/src/external_openjpeg-build && ${CMAKE_COMMAND} ${OPENJPEG_EXTRA_ARGS} -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openjpeg -DBUILD_SHARED_LIBS=Off -DBUILD_THIRDPARTY=OFF ${BUILD_DIR}/openjpeg/src/external_openjpeg
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openjpeg/src/external_openjpeg-build/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/openjpeg/src/external_openjpeg-build/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/openjpeg
|
|
||||||
)
|
|
||||||
|
|
||||||
# On windows ffmpeg wants a mingw build, while oiio needs a msvc build.
|
|
||||||
if(MSVC)
|
|
||||||
set(OPENJPEG_EXTRA_ARGS ${DEFAULT_CMAKE_FLAGS})
|
|
||||||
ExternalProject_Add(external_openjpeg_msvc
|
|
||||||
URL file://${PACKAGE_DIR}/${OPENJPEG_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${OPENJPEG_HASH_TYPE}=${OPENJPEG_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/openjpeg_msvc
|
|
||||||
CMAKE_ARGS ${OPENJPEG_EXTRA_ARGS} -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openjpeg_msvc -DBUILD_SHARED_LIBS=Off -DBUILD_THIRDPARTY=OFF
|
|
||||||
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()
|
|
||||||
|
|
||||||
set(OPENJPEG_LIBRARY libopenjp2${LIBEXT})
|
|
||||||
if(MSVC)
|
|
||||||
set_target_properties(external_openjpeg PROPERTIES FOLDER Mingw)
|
|
||||||
endif()
|
|
@@ -1,39 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(APPLE)
|
|
||||||
set(OPENMP_PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/openmp/src/external_openmp < ${PATCH_DIR}/openmp.diff)
|
|
||||||
else()
|
|
||||||
set(OPENMP_PATCH_COMMAND)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_openmp
|
|
||||||
URL file://${PACKAGE_DIR}/${OPENMP_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${OPENMP_HASH_TYPE}=${OPENMP_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/openmp
|
|
||||||
PATCH_COMMAND ${OPENMP_PATCH_COMMAND}
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openmp ${DEFAULT_CMAKE_FLAGS}
|
|
||||||
INSTALL_COMMAND cd ${BUILD_DIR}/openmp/src/external_openmp-build && install_name_tool -id @rpath/libomp.dylib runtime/src/libomp.dylib && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/openmp
|
|
||||||
)
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_openmp
|
|
||||||
ll
|
|
||||||
)
|
|
@@ -1,100 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(OPENSUBDIV_EXTRA_ARGS
|
|
||||||
-DNO_EXAMPLES=ON
|
|
||||||
-DNO_REGRESSION=ON
|
|
||||||
-DNO_PYTHON=ON
|
|
||||||
-DNO_MAYA=ON
|
|
||||||
-DNO_PTEX=ON
|
|
||||||
-DNO_DOC=ON
|
|
||||||
-DNO_CLEW=OFF
|
|
||||||
-DNO_OPENCL=OFF
|
|
||||||
-DNO_TUTORIALS=ON
|
|
||||||
-DGLEW_INCLUDE_DIR=${LIBDIR}/glew/include
|
|
||||||
-DGLEW_LIBRARY=${LIBDIR}/glew/lib/libGLEW${LIBEXT}
|
|
||||||
-DGLFW_INCLUDE_DIR=${LIBDIR}/glfw/include
|
|
||||||
-DGLFW_LIBRARIES=${LIBDIR}/glfw/lib/glfw3${LIBEXT}
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(OPENSUBDIV_EXTRA_ARGS
|
|
||||||
${OPENSUBDIV_EXTRA_ARGS}
|
|
||||||
-DTBB_INCLUDE_DIR=${LIBDIR}/tbb/include
|
|
||||||
-DTBB_LIBRARIES=${LIBDIR}/tbb/lib/tbb.lib
|
|
||||||
-DCLEW_INCLUDE_DIR=${LIBDIR}/clew/include/CL
|
|
||||||
-DCLEW_LIBRARY=${LIBDIR}/clew/lib/clew${LIBEXT}
|
|
||||||
-DCUEW_INCLUDE_DIR=${LIBDIR}/cuew/include
|
|
||||||
-DCUEW_LIBRARY=${LIBDIR}/cuew/lib/cuew${LIBEXT}
|
|
||||||
)
|
|
||||||
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
|
|
||||||
set(OPENSUBDIV_EXTRA_ARGS
|
|
||||||
${OPENSUBDIV_EXTRA_ARGS}
|
|
||||||
-DNO_CUDA=OFF
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
set(OPENSUBDIV_EXTRA_ARGS
|
|
||||||
${OPENSUBDIV_EXTRA_ARGS}
|
|
||||||
-DNO_CUDA=ON
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
else()
|
|
||||||
set(OPENSUBDIV_EXTRA_ARGS
|
|
||||||
${OPENSUBDIV_EXTRA_ARGS}
|
|
||||||
-DNO_CUDA=ON
|
|
||||||
-DCUEW_INCLUDE_DIR=${LIBDIR}/cuew/include
|
|
||||||
-DCLEW_INCLUDE_DIR=${LIBDIR}/clew/include/CL
|
|
||||||
-DCLEW_LIBRARY=${LIBDIR}/clew/lib/static/${LIBPREFIX}clew${LIBEXT}
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_opensubdiv
|
|
||||||
URL file://${PACKAGE_DIR}/${OPENSUBDIV_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${OPENSUBDIV_HASH_TYPE}=${OPENSUBDIV_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/opensubdiv
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/opensubdiv -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${OPENSUBDIV_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/opensubdiv
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_opensubdiv after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opensubdiv/lib ${HARVEST_TARGET}/opensubdiv/lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/opensubdiv/include ${HARVEST_TARGET}/opensubdiv/include
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_opensubdiv after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opensubdiv/lib/osdCPU.lib ${HARVEST_TARGET}/opensubdiv/lib/osdCPU_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/opensubdiv/lib/osdGPU.lib ${HARVEST_TARGET}/opensubdiv/lib/osdGPU_d.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_opensubdiv
|
|
||||||
external_glew
|
|
||||||
external_glfw
|
|
||||||
external_clew
|
|
||||||
external_cuew
|
|
||||||
external_tbb
|
|
||||||
)
|
|
@@ -1,114 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
set(BLOSC_POST _d)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(OPENVDB_SHARED ON)
|
|
||||||
set(OPENVDB_STATIC OFF)
|
|
||||||
else()
|
|
||||||
set(OPENVDB_SHARED OFF)
|
|
||||||
set(OPENVDB_STATIC ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(OPENVDB_EXTRA_ARGS
|
|
||||||
-DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
|
|
||||||
-DBoost_USE_MULTITHREADED=ON
|
|
||||||
-DBoost_USE_STATIC_LIBS=ON
|
|
||||||
-DBoost_USE_STATIC_RUNTIME=OFF
|
|
||||||
-DBOOST_ROOT=${LIBDIR}/boost
|
|
||||||
-DBoost_NO_SYSTEM_PATHS=ON
|
|
||||||
-DBoost_NO_BOOST_CMAKE=ON
|
|
||||||
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
|
||||||
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
|
||||||
-DBlosc_INCLUDE_DIR=${LIBDIR}/blosc/include/
|
|
||||||
-DBlosc_LIBRARY=${LIBDIR}/blosc/lib/libblosc${BLOSC_POST}${LIBEXT}
|
|
||||||
-DOPENVDB_ENABLE_3_ABI_COMPATIBLE=OFF
|
|
||||||
-DOPENVDB_BUILD_UNITTESTS=Off
|
|
||||||
-DOPENVDB_BUILD_PYTHON_MODULE=Off
|
|
||||||
-DBlosc_ROOT=${LIBDIR}/blosc/
|
|
||||||
-DTBB_ROOT=${LIBDIR}/tbb/
|
|
||||||
-DOpenEXR_ROOT=${LIBDIR}/openexr
|
|
||||||
-DIlmBase_ROOT=${LIBDIR}/openexr
|
|
||||||
-DOPENEXR_LIBRARYDIR=${LIBDIR}/openexr/lib
|
|
||||||
# All libs live in openexr, even the ilmbase ones
|
|
||||||
-DILMBASE_LIBRARYDIR=${LIBDIR}/openexr/lib
|
|
||||||
-DOPENVDB_CORE_SHARED=${OPENVDB_SHARED}
|
|
||||||
-DOPENVDB_CORE_STATIC=${OPENVDB_STATIC}
|
|
||||||
-DOPENVDB_BUILD_BINARIES=Off
|
|
||||||
-DCMAKE_DEBUG_POSTFIX=_d
|
|
||||||
-DILMBASE_USE_STATIC_LIBS=On
|
|
||||||
-DOPENEXR_USE_STATIC_LIBS=On
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
# Namespaces seem to be buggy and cause linker errors due to things not
|
|
||||||
# being in the correct namespace
|
|
||||||
# needs to link pthreads due to it being a blosc dependency
|
|
||||||
set(OPENVDB_EXTRA_ARGS ${OPENVDB_EXTRA_ARGS}
|
|
||||||
-DCMAKE_CXX_STANDARD_LIBRARIES="${LIBDIR}/pthreads/lib/pthreadVC3.lib"
|
|
||||||
-DUSE_EXR=On
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
# OpenVDB can't find the _static libraries automatically.
|
|
||||||
set(OPENVDB_EXTRA_ARGS ${OPENVDB_EXTRA_ARGS}
|
|
||||||
-DTbb_LIBRARIES=${LIBDIR}/tbb/lib/${LIBPREFIX}tbb_static${LIBEXT}
|
|
||||||
-DTbb_tbb_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbb_static${LIBEXT}
|
|
||||||
-DTbb_tbbmalloc_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbbmalloc_static${LIBEXT}
|
|
||||||
-DTbb_tbbmalloc_proxy_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}tbbmalloc_proxy_static${LIBEXT}
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(openvdb
|
|
||||||
URL file://${PACKAGE_DIR}/${OPENVDB_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${OPENVDB_HASH_TYPE}=${OPENVDB_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/openvdb
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/openvdb/src/openvdb < ${PATCH_DIR}/openvdb.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/openvdb ${DEFAULT_CMAKE_FLAGS} ${OPENVDB_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/openvdb
|
|
||||||
)
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
openvdb
|
|
||||||
external_tbb
|
|
||||||
external_boost
|
|
||||||
external_openexr
|
|
||||||
external_zlib
|
|
||||||
external_blosc
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(openvdb after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/openvdb/include/openvdb ${HARVEST_TARGET}/openvdb/include/openvdb
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/lib/openvdb.lib ${HARVEST_TARGET}/openvdb/lib/openvdb.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/bin/openvdb.dll ${HARVEST_TARGET}/openvdb/bin/openvdb.dll
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(openvdb after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/lib/openvdb_d.lib ${HARVEST_TARGET}/openvdb/lib/openvdb_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/openvdb/bin/openvdb_d.dll ${HARVEST_TARGET}/openvdb/bin/openvdb_d.dll
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@@ -1,227 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
option(ENABLE_MINGW64 "Enable building of ffmpeg/iconv/libsndfile/fftw3 by installing mingw64" ON)
|
|
||||||
endif()
|
|
||||||
option(WITH_WEBP "Enable building of oiio with webp support" OFF)
|
|
||||||
option(WITH_BOOST_PYTHON "Enable building of boost with python support" OFF)
|
|
||||||
cmake_host_system_information(RESULT NUM_CORES QUERY NUMBER_OF_LOGICAL_CORES)
|
|
||||||
set(MAKE_THREADS ${NUM_CORES} CACHE STRING "Number of threads to run make with")
|
|
||||||
|
|
||||||
if(NOT BUILD_MODE)
|
|
||||||
set(BUILD_MODE "Release")
|
|
||||||
message(STATUS "Build type not specified: defaulting to a release build.")
|
|
||||||
endif()
|
|
||||||
message("BuildMode = ${BUILD_MODE}")
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL "Debug")
|
|
||||||
set(LIBDIR ${CMAKE_CURRENT_BINARY_DIR}/Debug)
|
|
||||||
else(BUILD_MODE STREQUAL "Debug")
|
|
||||||
set(LIBDIR ${CMAKE_CURRENT_BINARY_DIR}/Release)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(DOWNLOAD_DIR "${CMAKE_CURRENT_BINARY_DIR}/downloads" CACHE STRING "Path for downloaded files")
|
|
||||||
# This path must be hard-coded like this, so that the GNUmakefile knows where it is and can pass it to make_source_archive.py:
|
|
||||||
set(PACKAGE_DIR "${CMAKE_CURRENT_BINARY_DIR}/packages")
|
|
||||||
option(PACKAGE_USE_UPSTREAM_SOURCES "Use sources upstream to download the package sources, when OFF the blender mirror will be used" ON)
|
|
||||||
|
|
||||||
file(TO_CMAKE_PATH ${DOWNLOAD_DIR} DOWNLOAD_DIR)
|
|
||||||
file(TO_CMAKE_PATH ${PACKAGE_DIR} PACKAGE_DIR)
|
|
||||||
set(PATCH_DIR ${CMAKE_CURRENT_SOURCE_DIR}/patches)
|
|
||||||
set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/build)
|
|
||||||
|
|
||||||
message("LIBDIR = ${LIBDIR}")
|
|
||||||
message("DOWNLOAD_DIR = ${DOWNLOAD_DIR}")
|
|
||||||
message("PACKAGE_DIR = ${PACKAGE_DIR}")
|
|
||||||
message("PATCH_DIR = ${PATCH_DIR}")
|
|
||||||
message("BUILD_DIR = ${BUILD_DIR}")
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(PATCH_CMD ${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/patch.exe)
|
|
||||||
set(LIBEXT ".lib")
|
|
||||||
set(LIBPREFIX "")
|
|
||||||
|
|
||||||
# For OIIO and OSL
|
|
||||||
set(COMMON_DEFINES /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS)
|
|
||||||
|
|
||||||
if(MSVC_VERSION GREATER 1909)
|
|
||||||
set(COMMON_MSVC_FLAGS "/Wv:18") #some deps with warnings as error aren't quite ready for dealing with the new 2017 warnings.
|
|
||||||
endif()
|
|
||||||
string(APPEND COMMON_MSVC_FLAGS " /bigobj")
|
|
||||||
if(WITH_OPTIMIZED_DEBUG)
|
|
||||||
set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MDd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
|
||||||
else()
|
|
||||||
set(BLENDER_CMAKE_C_FLAGS_DEBUG "/MDd ${COMMON_MSVC_FLAGS} /Zi /Ob0 /Od /RTC1 /D_DEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
|
||||||
endif()
|
|
||||||
set(BLENDER_CMAKE_C_FLAGS_MINSIZEREL "/MD ${COMMON_MSVC_FLAGS} /O1 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
|
||||||
set(BLENDER_CMAKE_C_FLAGS_RELEASE "/MD ${COMMON_MSVC_FLAGS} /O2 /Ob2 /DNDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
|
||||||
set(BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO "/MD ${COMMON_MSVC_FLAGS} /Zi /O2 /Ob1 /D NDEBUG /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
|
||||||
|
|
||||||
if(WITH_OPTIMIZED_DEBUG)
|
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "/MDd ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
|
||||||
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 "/MD /${COMMON_MSVC_FLAGS} /O1 /Ob1 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_RELEASE "/MD ${COMMON_MSVC_FLAGS} /O2 /Ob2 /D NDEBUG /D PLATFORM_WINDOWS /DPSAPI_VERSION=1 /DOIIO_STATIC_BUILD /DTINYFORMAT_ALLOW_WCHAR_STRINGS")
|
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD ${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_CXX_FLAGS)
|
|
||||||
set(PLATFORM_CMAKE_FLAGS)
|
|
||||||
|
|
||||||
set(MINGW_PATH ${DOWNLOAD_DIR}/mingw/mingw64)
|
|
||||||
set(MINGW_SHELL ming64sh.cmd)
|
|
||||||
set(PERL_SHELL ${DOWNLOAD_DIR}/perl/portableshell.bat)
|
|
||||||
set(MINGW_HOST x86_64-w64-mingw32)
|
|
||||||
|
|
||||||
set(CONFIGURE_ENV
|
|
||||||
cd ${MINGW_PATH} &&
|
|
||||||
call ${PERL_SHELL} &&
|
|
||||||
call ${MINGW_SHELL} &&
|
|
||||||
set path &&
|
|
||||||
set CFLAGS=-g &&
|
|
||||||
set LDFLAGS=-Wl,--as-needed -static-libgcc
|
|
||||||
)
|
|
||||||
|
|
||||||
set(CONFIGURE_ENV_NO_PERL
|
|
||||||
cd ${MINGW_PATH} &&
|
|
||||||
call ${MINGW_SHELL} &&
|
|
||||||
set path &&
|
|
||||||
set CFLAGS=-g &&
|
|
||||||
set LDFLAGS=-Wl,--as-needed -static-libgcc
|
|
||||||
)
|
|
||||||
|
|
||||||
set(CONFIGURE_COMMAND sh ./configure)
|
|
||||||
set(CONFIGURE_COMMAND_NO_TARGET ${CONFIGURE_COMMAND})
|
|
||||||
else()
|
|
||||||
set(PATCH_CMD patch)
|
|
||||||
set(LIBEXT ".a")
|
|
||||||
set(LIBPREFIX "lib")
|
|
||||||
|
|
||||||
if(APPLE)
|
|
||||||
# Let's get the current Xcode dir, to support xcode-select
|
|
||||||
execute_process(
|
|
||||||
COMMAND xcode-select --print-path
|
|
||||||
OUTPUT_VARIABLE XCODE_DEV_PATH OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
||||||
)
|
|
||||||
execute_process(
|
|
||||||
COMMAND xcodebuild -version -sdk macosx SDKVersion
|
|
||||||
OUTPUT_VARIABLE MACOSX_SDK_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
||||||
|
|
||||||
if(NOT CMAKE_OSX_ARCHITECTURES)
|
|
||||||
execute_process(COMMAND uname -m OUTPUT_VARIABLE ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
||||||
message(STATUS "Detected native architecture ${ARCHITECTURE}.")
|
|
||||||
set(CMAKE_OSX_ARCHITECTURES "${ARCHITECTURE}")
|
|
||||||
endif()
|
|
||||||
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64")
|
|
||||||
set(OSX_DEPLOYMENT_TARGET 10.13)
|
|
||||||
else()
|
|
||||||
set(OSX_DEPLOYMENT_TARGET 11.00)
|
|
||||||
endif()
|
|
||||||
set(OSX_SYSROOT ${XCODE_DEV_PATH}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk)
|
|
||||||
|
|
||||||
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
|
|
||||||
set(BLENDER_PLATFORM_ARM ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(PLATFORM_CFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET} -arch ${CMAKE_OSX_ARCHITECTURES}")
|
|
||||||
set(PLATFORM_CXXFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET} -std=c++11 -stdlib=libc++ -arch ${CMAKE_OSX_ARCHITECTURES}")
|
|
||||||
set(PLATFORM_LDFLAGS "-isysroot ${OSX_SYSROOT} -mmacosx-version-min=${OSX_DEPLOYMENT_TARGET} -arch ${CMAKE_OSX_ARCHITECTURES}")
|
|
||||||
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64")
|
|
||||||
set(PLATFORM_BUILD_TARGET --build=x86_64-apple-darwin17.0.0) # OS X 10.13
|
|
||||||
else()
|
|
||||||
set(PLATFORM_BUILD_TARGET --build=aarch64-apple-darwin20.0.0) # macOS 11.00
|
|
||||||
endif()
|
|
||||||
set(PLATFORM_CMAKE_FLAGS
|
|
||||||
-DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
|
|
||||||
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${OSX_DEPLOYMENT_TARGET}
|
|
||||||
-DCMAKE_OSX_SYSROOT:PATH=${OSX_SYSROOT}
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64")
|
|
||||||
set(BLENDER_PLATFORM_ARM ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(PLATFORM_CFLAGS "-fPIC")
|
|
||||||
set(PLATFORM_CXXFLAGS "-std=c++11 -fPIC")
|
|
||||||
set(PLATFORM_LDFLAGS)
|
|
||||||
set(PLATFORM_BUILD_TARGET)
|
|
||||||
set(PLATFORM_CMAKE_FLAGS -DCMAKE_INSTALL_LIBDIR=lib)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WITH_OPTIMIZED_DEBUG)
|
|
||||||
set(BLENDER_CMAKE_C_FLAGS_DEBUG "-O2 -DNDEBUG ${PLATFORM_CFLAGS}")
|
|
||||||
else()
|
|
||||||
set(BLENDER_CMAKE_C_FLAGS_DEBUG "-g ${PLATFORM_CFLAGS}")
|
|
||||||
endif()
|
|
||||||
set(BLENDER_CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG ${PLATFORM_CFLAGS}")
|
|
||||||
set(BLENDER_CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG ${PLATFORM_CFLAGS}")
|
|
||||||
set(BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG ${PLATFORM_CFLAGS}")
|
|
||||||
|
|
||||||
if(WITH_OPTIMIZED_DEBUG)
|
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "-O2 -DNDEBUG ${PLATFORM_CXXFLAGS}")
|
|
||||||
else()
|
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_DEBUG "-g ${PLATFORM_CXXFLAGS}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG ${PLATFORM_CXXFLAGS}")
|
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG ${PLATFORM_CXXFLAGS}")
|
|
||||||
set(BLENDER_CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG ${PLATFORM_CXXFLAGS}")
|
|
||||||
|
|
||||||
set(CONFIGURE_ENV
|
|
||||||
export MACOSX_DEPLOYMENT_TARGET=${OSX_DEPLOYMENT_TARGET} &&
|
|
||||||
export MACOSX_SDK_VERSION=${OSX_DEPLOYMENT_TARGET} &&
|
|
||||||
export CFLAGS=${PLATFORM_CFLAGS} &&
|
|
||||||
export CXXFLAGS=${PLATFORM_CXXFLAGS} &&
|
|
||||||
export LDFLAGS=${PLATFORM_LDFLAGS}
|
|
||||||
)
|
|
||||||
set(CONFIGURE_ENV_NO_PERL ${CONFIGURE_ENV})
|
|
||||||
set(CONFIGURE_COMMAND ./configure ${PLATFORM_BUILD_TARGET})
|
|
||||||
set(CONFIGURE_COMMAND_NO_TARGET ./configure)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(DEFAULT_CMAKE_FLAGS
|
|
||||||
-DCMAKE_BUILD_TYPE=${BUILD_MODE}
|
|
||||||
-DCMAKE_C_FLAGS_DEBUG=${BLENDER_CMAKE_C_FLAGS_DEBUG}
|
|
||||||
-DCMAKE_C_FLAGS_MINSIZEREL=${BLENDER_CMAKE_C_FLAGS_MINSIZEREL}
|
|
||||||
-DCMAKE_C_FLAGS_RELEASE=${BLENDER_CMAKE_C_FLAGS_RELEASE}
|
|
||||||
-DCMAKE_C_FLAGS_RELWITHDEBINFO=${BLENDER_CMAKE_C_FLAGS_RELWITHDEBINFO}
|
|
||||||
-DCMAKE_CXX_FLAGS_DEBUG=${BLENDER_CMAKE_CXX_FLAGS_DEBUG}
|
|
||||||
-DCMAKE_CXX_FLAGS_MINSIZEREL=${BLENDER_CMAKE_CXX_FLAGS_MINSIZEREL}
|
|
||||||
-DCMAKE_CXX_FLAGS_RELEASE=${BLENDER_CMAKE_CXX_FLAGS_RELEASE}
|
|
||||||
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO}
|
|
||||||
${PLATFORM_CMAKE_FLAGS}
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
set(ZLIB_LIBRARY zlibstaticd${LIBEXT})
|
|
||||||
else()
|
|
||||||
set(ZLIB_LIBRARY zlibstatic${LIBEXT})
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
set(ZLIB_LIBRARY libz${LIBEXT})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(CMAKE_INSTALL_MESSAGE LAZY)
|
|
@@ -1,35 +0,0 @@
|
|||||||
# ***** 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_opus
|
|
||||||
URL file://${PACKAGE_DIR}/${OPUS_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${OPUS_HASH_TYPE}=${OPUS_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/opus
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/opus/src/external_opus/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/opus
|
|
||||||
--disable-shared
|
|
||||||
--enable-static
|
|
||||||
--with-pic
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/opus/src/external_opus/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/opus/src/external_opus/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/opus
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
set_target_properties(external_opus PROPERTIES FOLDER Mingw)
|
|
||||||
endif()
|
|
@@ -1,121 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(OSL_CMAKE_CXX_STANDARD_LIBRARIES "kernel32${LIBEXT} user32${LIBEXT} gdi32${LIBEXT} winspool${LIBEXT} shell32${LIBEXT} ole32${LIBEXT} oleaut32${LIBEXT} uuid${LIBEXT} comdlg32${LIBEXT} advapi32${LIBEXT} psapi${LIBEXT}")
|
|
||||||
set(OSL_FLEX_BISON -DFLEX_EXECUTABLE=${LIBDIR}/flexbison/win_flex.exe -DBISON_EXECUTABLE=${LIBDIR}/flexbison/win_bison.exe)
|
|
||||||
set(OSL_SIMD_FLAGS -DOIIO_NOSIMD=1 -DOIIO_SIMD=sse2)
|
|
||||||
else()
|
|
||||||
set(OSL_CMAKE_CXX_STANDARD_LIBRARIES)
|
|
||||||
set(OSL_FLEX_BISON)
|
|
||||||
set(OSL_OPENIMAGEIO_LIBRARY "${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO${LIBEXT};${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO_Util${LIBEXT};${LIBDIR}/png/lib/${LIBPREFIX}png16${LIBEXT};${LIBDIR}/jpg/lib/${LIBPREFIX}jpeg${LIBEXT};${LIBDIR}/tiff/lib/${LIBPREFIX}tiff${LIBEXT};${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(OSL_ILMBASE_CUSTOM_LIBRARIES "${LIBDIR}/openexr/lib/Imath${OPENEXR_VERSION_POSTFIX}.lib^^${LIBDIR}/openexr/lib/Half{OPENEXR_VERSION_POSTFIX}.lib^^${LIBDIR}/openexr/lib/IlmThread${OPENEXR_VERSION_POSTFIX}.lib^^${LIBDIR}/openexr/lib/Iex${OPENEXR_VERSION_POSTFIX}.lib")
|
|
||||||
|
|
||||||
set(OSL_EXTRA_ARGS
|
|
||||||
-DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
|
|
||||||
-DBoost_USE_MULTITHREADED=ON
|
|
||||||
-DBoost_USE_STATIC_LIBS=ON
|
|
||||||
-DBoost_USE_STATIC_RUNTIME=OFF
|
|
||||||
-DBOOST_ROOT=${LIBDIR}/boost
|
|
||||||
-DBOOST_LIBRARYDIR=${LIBDIR}/boost/lib/
|
|
||||||
-DBoost_NO_SYSTEM_PATHS=ON
|
|
||||||
-DBoost_NO_BOOST_CMAKE=ON
|
|
||||||
-DOpenEXR_ROOT=${LIBDIR}/openexr/
|
|
||||||
-DIlmBase_ROOT=${LIBDIR}/openexr/
|
|
||||||
-DILMBASE_INCLUDE_DIR=${LIBDIR}/openexr/include/
|
|
||||||
-DOPENEXR_HALF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Half${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
|
||||||
-DOPENEXR_IMATH_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Imath${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
|
||||||
-DOPENEXR_ILMTHREAD_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmThread${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
|
||||||
-DOPENEXR_IEX_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}Iex${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
|
||||||
-DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/
|
|
||||||
-DOPENEXR_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}
|
|
||||||
-DOpenImageIO_ROOT=${LIBDIR}/openimageio/
|
|
||||||
-DOSL_BUILD_TESTS=OFF
|
|
||||||
-DOSL_BUILD_MATERIALX=OFF
|
|
||||||
-DPNG_ROOT=${LIBDIR}/png
|
|
||||||
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
|
||||||
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
|
||||||
${OSL_FLEX_BISON}
|
|
||||||
-DCMAKE_CXX_STANDARD_LIBRARIES=${OSL_CMAKE_CXX_STANDARD_LIBRARIES}
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
-DLINKSTATIC=ON
|
|
||||||
-DOSL_BUILD_PLUGINS=OFF
|
|
||||||
-DSTOP_ON_WARNING=OFF
|
|
||||||
-DUSE_LLVM_BITCODE=OFF
|
|
||||||
-DLLVM_ROOT=${LIBDIR}/llvm/
|
|
||||||
-DLLVM_DIRECTORY=${LIBDIR}/llvm/
|
|
||||||
-DUSE_PARTIO=OFF
|
|
||||||
-DUSE_QT=OFF
|
|
||||||
-DUSE_Qt5=OFF
|
|
||||||
-DINSTALL_DOCS=OFF
|
|
||||||
${OSL_SIMD_FLAGS}
|
|
||||||
-Dpugixml_ROOT=${LIBDIR}/pugixml
|
|
||||||
-DUSE_PYTHON=OFF
|
|
||||||
-DCMAKE_CXX_STANDARD=14
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_osl
|
|
||||||
URL file://${PACKAGE_DIR}/${OSL_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
LIST_SEPARATOR ^^
|
|
||||||
URL_HASH ${OSL_HASH_TYPE}=${OSL_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/osl
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/osl/src/external_osl < ${PATCH_DIR}/osl.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/osl -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ${DEFAULT_CMAKE_FLAGS} ${OSL_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/osl
|
|
||||||
)
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_osl
|
|
||||||
external_boost
|
|
||||||
ll
|
|
||||||
external_openexr
|
|
||||||
external_zlib
|
|
||||||
external_openimageio
|
|
||||||
external_pugixml
|
|
||||||
)
|
|
||||||
if(WIN32)
|
|
||||||
add_dependencies(
|
|
||||||
external_osl
|
|
||||||
external_flexbison
|
|
||||||
)
|
|
||||||
elseif(UNIX AND NOT APPLE)
|
|
||||||
add_dependencies(
|
|
||||||
external_osl
|
|
||||||
external_flex
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_osl after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/osl/ ${HARVEST_TARGET}/osl
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_osl after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslcomp.lib ${HARVEST_TARGET}/osl/lib/oslcomp_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslexec.lib ${HARVEST_TARGET}/osl/lib/oslexec_d.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/osl/lib/oslquery.lib ${HARVEST_TARGET}/osl/lib/oslquery_d.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@@ -1,60 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
set(PYTARGET ${HARVEST_TARGET}/python/${PYTHON_SHORT_VERSION_NO_DOTS})
|
|
||||||
set(PYSRC ${LIBDIR}/python/)
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT ${PYTARGET}/bin/python${PYTHON_POSTFIX}.exe
|
|
||||||
COMMAND echo packaging python
|
|
||||||
COMMAND echo this should output at ${PYTARGET}/bin/python${PYTHON_POSTFIX}.exe
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${PYTARGET}/libs
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${PYSRC}/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}.lib ${PYTARGET}/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${PYSRC}/python.exe ${PYTARGET}/bin/python.exe
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${PYSRC}/python${PYTHON_SHORT_VERSION_NO_DOTS}.dll ${PYTARGET}/bin/python${PYTHON_SHORT_VERSION_NO_DOTS}.dll
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${PYSRC}/python3${PYTHON_POSTFIX}.dll ${PYTARGET}/bin/python3${PYTHON_POSTFIX}.dll
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${PYSRC}/python${PYTHON_SHORT_VERSION_NO_DOTS}.pdb ${PYTARGET}/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}.pdb
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PYSRC}/include/ ${PYTARGET}/include/
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PYSRC}/lib/ ${PYTARGET}/lib/
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PYSRC}/DLLs/ ${PYTARGET}/DLLs/
|
|
||||||
COMMAND cd ${PYTARGET}/lib/ && for /d /r . %%d in (__pycache__) do @if exist "%%d" echo "%%d" && rd /s/q "%%d"
|
|
||||||
)
|
|
||||||
add_custom_target(Package_Python ALL DEPENDS external_python external_numpy external_python_site_packages OUTPUT ${HARVEST_TARGET}/python/${PYTHON_SHORT_VERSION_NO_DOTS}/bin/python${PYTHON_POSTFIX}.exe)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT ${PYTARGET}/bin/python${PYTHON_POSTFIX}.exe
|
|
||||||
COMMAND echo packaging python
|
|
||||||
COMMAND echo this should output at ${PYTARGET}/bin/python${PYTHON_POSTFIX}.exe
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${PYTARGET}/libs
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${PYSRC}/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib ${PYTARGET}/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${PYSRC}/python${PYTHON_POSTFIX}.exe ${PYTARGET}/bin/python${PYTHON_POSTFIX}.exe
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${PYSRC}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.dll ${PYTARGET}/bin/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.dll
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${PYSRC}/python3${PYTHON_POSTFIX}.dll ${PYTARGET}/bin/python3${PYTHON_POSTFIX}.dll
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${PYSRC}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.pdb ${PYTARGET}/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.pdb
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PYSRC}/include/ ${PYTARGET}/include/
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PYSRC}/lib/ ${PYTARGET}/lib/
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PYSRC}/DLLs/ ${PYTARGET}/DLLs/
|
|
||||||
COMMAND cd ${PYTARGET}/lib/ && for /d /r . %%d in (__pycache__) do @if exist "%%d" echo "%%d" && rd /s/q "%%d"
|
|
||||||
)
|
|
||||||
add_custom_target(Package_Python ALL DEPENDS external_python external_numpy external_python_site_packages OUTPUT ${PYTARGET}/bin/python${PYTHON_POSTFIX}.exe)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@@ -1,48 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(PNG_EXTRA_ARGS
|
|
||||||
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
|
||||||
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/
|
|
||||||
-DPNG_STATIC=ON
|
|
||||||
)
|
|
||||||
|
|
||||||
if(BLENDER_PLATFORM_ARM)
|
|
||||||
set(PNG_EXTRA_ARGS ${PNG_EXTRA_ARGS} -DPNG_HARDWARE_OPTIMIZATIONS=ON -DPNG_ARM_NEON=on -DCMAKE_SYSTEM_PROCESSOR="aarch64")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_png
|
|
||||||
URL file://${PACKAGE_DIR}/${PNG_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${PNG_HASH_TYPE}=${PNG_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/png
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/png ${DEFAULT_CMAKE_FLAGS} ${PNG_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/png
|
|
||||||
)
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_png
|
|
||||||
external_zlib
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32 AND BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_png after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/png/lib/libpng16_staticd${LIBEXT} ${LIBDIR}/png/lib/libpng16${LIBEXT}
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
@@ -1,38 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(POTRACE_EXTRA_ARGS
|
|
||||||
)
|
|
||||||
|
|
||||||
if((WIN32 AND BUILD_MODE STREQUAL Release) OR UNIX)
|
|
||||||
ExternalProject_Add(external_potrace
|
|
||||||
URL file://${PACKAGE_DIR}/${POTRACE_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${POTRACE_HASH_TYPE}=${POTRACE_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/potrace
|
|
||||||
PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_potrace.txt ${BUILD_DIR}/potrace/src/external_potrace/CMakeLists.txt
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/potrace ${DEFAULT_CMAKE_FLAGS} ${POTRACE_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/potrace
|
|
||||||
)
|
|
||||||
if(WIN32)
|
|
||||||
ExternalProject_Add_Step(external_potrace after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/potrace ${HARVEST_TARGET}/potrace
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@@ -1,54 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
|
|
||||||
if(MSVC14) # vs2015 has timespec
|
|
||||||
set(PTHREAD_CPPFLAGS "/I. /DHAVE_CONFIG_H /D_TIMESPEC_DEFINED ")
|
|
||||||
else() # everything before doesn't
|
|
||||||
set(PTHREAD_CPPFLAGS "/I. /DHAVE_CONFIG_H ")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(PTHREADS_BUILD cd ${BUILD_DIR}/pthreads/src/external_pthreads/ && cd && nmake VC-static /e CPPFLAGS=${PTHREAD_CPPFLAGS})
|
|
||||||
|
|
||||||
ExternalProject_Add(external_pthreads
|
|
||||||
URL file://${PACKAGE_DIR}/${PTHREADS_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${PTHREADS_HASH_TYPE}=${PTHREADS_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/pthreads
|
|
||||||
CONFIGURE_COMMAND echo .
|
|
||||||
PATCH_COMMAND COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/pthreads/src/external_pthreads < ${PATCH_DIR}/pthreads.diff
|
|
||||||
BUILD_COMMAND ${PTHREADS_BUILD}
|
|
||||||
INSTALL_COMMAND COMMAND
|
|
||||||
${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/libpthreadVC3${LIBEXT} ${LIBDIR}/pthreads/lib/pthreadVC3${LIBEXT} &&
|
|
||||||
${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/semaphore.h ${LIBDIR}/pthreads/inc/semaphore.h &&
|
|
||||||
${CMAKE_COMMAND} -E copy ${BUILD_DIR}/pthreads/src/external_pthreads/_ptw32.h ${LIBDIR}/pthreads/inc/_ptw32.h
|
|
||||||
INSTALL_DIR ${LIBDIR}/pthreads
|
|
||||||
)
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_pthreads after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/pthreads/inc/ ${HARVEST_TARGET}/pthreads/include/
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/pthreads/lib/ ${HARVEST_TARGET}/pthreads/lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
endif()
|
|
@@ -1,43 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(PUGIXML_EXTRA_ARGS
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_pugixml
|
|
||||||
URL file://${PACKAGE_DIR}/${PUGIXML_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${PUGIXML_HASH_TYPE}=${PUGIXML_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/pugixml
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/pugixml ${DEFAULT_CMAKE_FLAGS} ${PUGIXML_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/pugixml
|
|
||||||
)
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_pugixml after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/pugixml ${HARVEST_TARGET}/pugixml
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_pugixml after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/pugixml/lib/pugixml.lib ${HARVEST_TARGET}/pugixml/lib/pugixml_d.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@@ -1,114 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(PYTHON_POSTFIX)
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
set(PYTHON_POSTFIX _d)
|
|
||||||
set(PYTHON_EXTRA_INSTLAL_FLAGS -d)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(PYTHON_BINARY_INTERNAL ${BUILD_DIR}/python/src/external_python/PCBuild/amd64/python${PYTHON_POSTFIX}.exe)
|
|
||||||
set(PYTHON_BINARY ${LIBDIR}/python/python${PYTHON_POSTFIX}.exe)
|
|
||||||
set(PYTHON_SRC ${BUILD_DIR}/python/src/external_python/)
|
|
||||||
macro(cmake_to_dos_path MsysPath ResultingPath)
|
|
||||||
string(REPLACE "/" "\\" ${ResultingPath} "${MsysPath}")
|
|
||||||
endmacro()
|
|
||||||
|
|
||||||
set(PYTHON_EXTERNALS_FOLDER ${BUILD_DIR}/python/src/external_python/externals)
|
|
||||||
set(DOWNLOADS_EXTERNALS_FOLDER ${DOWNLOAD_DIR}/externals)
|
|
||||||
|
|
||||||
cmake_to_dos_path(${PYTHON_EXTERNALS_FOLDER} PYTHON_EXTERNALS_FOLDER_DOS)
|
|
||||||
cmake_to_dos_path(${DOWNLOADS_EXTERNALS_FOLDER} DOWNLOADS_EXTERNALS_FOLDER_DOS)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_python
|
|
||||||
URL file://${PACKAGE_DIR}/${PYTHON_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${PYTHON_HASH_TYPE}=${PYTHON_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/python
|
|
||||||
CONFIGURE_COMMAND ""
|
|
||||||
BUILD_COMMAND cd ${BUILD_DIR}/python/src/external_python/pcbuild/ && set IncludeTkinter=false && call build.bat -e -p x64 -c ${BUILD_MODE}
|
|
||||||
INSTALL_COMMAND ${PYTHON_BINARY_INTERNAL} ${PYTHON_SRC}/PC/layout/main.py -b ${PYTHON_SRC}/PCbuild/amd64 -s ${PYTHON_SRC} -t ${PYTHON_SRC}/tmp/ --include-stable --include-pip --include-dev --include-launchers --include-venv --include-symbols ${PYTHON_EXTRA_INSTLAL_FLAGS} --copy ${LIBDIR}/python
|
|
||||||
)
|
|
||||||
|
|
||||||
else()
|
|
||||||
if(APPLE)
|
|
||||||
# Disable functions that can be in 10.13 sdk but aren't available on 10.9 target.
|
|
||||||
#
|
|
||||||
# Disable libintl (gettext library) as it might come from Homebrew, which makes
|
|
||||||
# it so test program compiles, but the Python does not. This is because for Python
|
|
||||||
# we use isysroot, which seems to forbid using libintl.h.
|
|
||||||
# The gettext functionality seems to come from CoreFoundation, so should be all fine.
|
|
||||||
set(PYTHON_FUNC_CONFIGS
|
|
||||||
export ac_cv_func_futimens=no &&
|
|
||||||
export ac_cv_func_utimensat=no &&
|
|
||||||
export ac_cv_func_basename_r=no &&
|
|
||||||
export ac_cv_func_clock_getres=no &&
|
|
||||||
export ac_cv_func_clock_gettime=no &&
|
|
||||||
export ac_cv_func_clock_settime=no &&
|
|
||||||
export ac_cv_func_dirname_r=no &&
|
|
||||||
export ac_cv_func_getentropy=no &&
|
|
||||||
export ac_cv_func_mkostemp=no &&
|
|
||||||
export ac_cv_func_mkostemps=no &&
|
|
||||||
export ac_cv_func_timingsafe_bcmp=no &&
|
|
||||||
export ac_cv_header_libintl_h=no &&
|
|
||||||
export ac_cv_lib_intl_textdomain=no
|
|
||||||
)
|
|
||||||
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
|
|
||||||
set(PYTHON_FUNC_CONFIGS ${PYTHON_FUNC_CONFIGS} && export PYTHON_DECIMAL_WITH_MACHINE=ansi64)
|
|
||||||
endif()
|
|
||||||
set(PYTHON_CONFIGURE_ENV ${CONFIGURE_ENV} && ${PYTHON_FUNC_CONFIGS})
|
|
||||||
set(PYTHON_BINARY ${BUILD_DIR}/python/src/external_python/python.exe)
|
|
||||||
else()
|
|
||||||
set(PYTHON_CONFIGURE_ENV ${CONFIGURE_ENV})
|
|
||||||
set(PYTHON_BINARY ${BUILD_DIR}/python/src/external_python/python)
|
|
||||||
endif()
|
|
||||||
# Link against zlib statically (Unix). Avoid rpath issues (macOS).
|
|
||||||
set(PYTHON_PATCH ${PATCH_CMD} --verbose -p1 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python_unix.diff)
|
|
||||||
set(PYTHON_CONFIGURE_EXTRA_ARGS "--with-openssl=${LIBDIR}/ssl")
|
|
||||||
set(PYTHON_CFLAGS "-I${LIBDIR}/sqlite/include -I${LIBDIR}/bzip2/include -I${LIBDIR}/lzma/include -I${LIBDIR}/zlib/include ${PLATFORM_CFLAGS}")
|
|
||||||
set(PYTHON_LDFLAGS "-L${LIBDIR}/ffi/lib -L${LIBDIR}/sqlite/lib -L${LIBDIR}/bzip2/lib -L${LIBDIR}/lzma/lib -L${LIBDIR}/zlib/lib ${PLATFORM_LDFLAGS}")
|
|
||||||
set(PYTHON_CONFIGURE_EXTRA_ENV
|
|
||||||
export CFLAGS=${PYTHON_CFLAGS} &&
|
|
||||||
export CPPFLAGS=${PYTHON_CFLAGS} &&
|
|
||||||
export LDFLAGS=${PYTHON_LDFLAGS} &&
|
|
||||||
export PKG_CONFIG_PATH=${LIBDIR}/ffi/lib/pkgconfig)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_python
|
|
||||||
URL file://${PACKAGE_DIR}/${PYTHON_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${PYTHON_HASH_TYPE}=${PYTHON_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/python
|
|
||||||
PATCH_COMMAND ${PYTHON_PATCH}
|
|
||||||
CONFIGURE_COMMAND ${PYTHON_CONFIGURE_ENV} && ${PYTHON_CONFIGURE_EXTRA_ENV} && cd ${BUILD_DIR}/python/src/external_python/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/python ${PYTHON_CONFIGURE_EXTRA_ARGS}
|
|
||||||
BUILD_COMMAND ${PYTHON_CONFIGURE_ENV} && cd ${BUILD_DIR}/python/src/external_python/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${PYTHON_CONFIGURE_ENV} && cd ${BUILD_DIR}/python/src/external_python/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/python)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(UNIX)
|
|
||||||
add_dependencies(
|
|
||||||
external_python
|
|
||||||
external_bzip2
|
|
||||||
external_ffi
|
|
||||||
external_lzma
|
|
||||||
external_ssl
|
|
||||||
external_sqlite
|
|
||||||
external_zlib
|
|
||||||
)
|
|
||||||
endif()
|
|
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
global:
|
|
||||||
Py*;
|
|
||||||
_Py*;
|
|
||||||
_py*;
|
|
||||||
local:
|
|
||||||
*;
|
|
||||||
};
|
|
||||||
|
|
@@ -1,49 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(WIN32 AND BUILD_MODE STREQUAL Debug)
|
|
||||||
set(SITE_PACKAGES_EXTRA --global-option build --global-option --debug)
|
|
||||||
# zstandard is determined to build and link release mode libs in a debug
|
|
||||||
# configuration, the only way to make it happy is to bend to its will
|
|
||||||
# and give it a library to link with.
|
|
||||||
set(PIP_CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/python/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}_d.lib ${LIBDIR}/python/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}.lib)
|
|
||||||
else()
|
|
||||||
set(PIP_CONFIGURE_COMMAND echo ".")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_python_site_packages
|
|
||||||
DOWNLOAD_COMMAND ""
|
|
||||||
CONFIGURE_COMMAND ${PIP_CONFIGURE_COMMAND}
|
|
||||||
BUILD_COMMAND ""
|
|
||||||
PREFIX ${BUILD_DIR}/site_packages
|
|
||||||
INSTALL_COMMAND ${PYTHON_BINARY} -m pip install ${SITE_PACKAGES_EXTRA} cython==${CYTHON_VERSION} idna==${IDNA_VERSION} charset-normalizer==${CHARSET_NORMALIZER_VERSION} urllib3==${URLLIB3_VERSION} certifi==${CERTIFI_VERSION} requests==${REQUESTS_VERSION} zstandard==${ZSTANDARD_VERSION} --no-binary :all:
|
|
||||||
)
|
|
||||||
|
|
||||||
if(USE_PIP_NUMPY)
|
|
||||||
# Use only wheel (and not build from source) to stop NumPy from linking against buggy
|
|
||||||
# Accelerate framework backend on macOS. Official wheels are built with OpenBLAS.
|
|
||||||
ExternalProject_Add_Step(external_python_site_packages after_install
|
|
||||||
COMMAND ${PYTHON_BINARY} -m pip install --no-cache-dir numpy==${NUMPY_VERSION} --only-binary :all:
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_python_site_packages
|
|
||||||
external_python
|
|
||||||
)
|
|
@@ -1,49 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(SDL_EXTRA_ARGS
|
|
||||||
-DSDL_STATIC=Off
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
set(SDL_EXTRA_ARGS
|
|
||||||
-DSDL_STATIC=ON
|
|
||||||
-DSDL_SHARED=OFF
|
|
||||||
-DSDL_VIDEO=OFF
|
|
||||||
-DSNDIO=OFF
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_sdl
|
|
||||||
URL file://${PACKAGE_DIR}/${SDL_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${SDL_HASH_TYPE}=${SDL_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/sdl
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 0 -N -d ${BUILD_DIR}/sdl/src/external_sdl < ${PATCH_DIR}/sdl.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/sdl ${DEFAULT_CMAKE_FLAGS} ${SDL_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/sdl
|
|
||||||
)
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Release AND WIN32)
|
|
||||||
ExternalProject_Add_Step(external_sdl after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/sdl/include/sdl2 ${HARVEST_TARGET}/sdl/include
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/sdl/lib ${HARVEST_TARGET}/sdl/lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/sdl/bin ${HARVEST_TARGET}/sdl/lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
@@ -1,235 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
####################################################################################################################
|
|
||||||
# Mingw64 Builds
|
|
||||||
####################################################################################################################
|
|
||||||
# This installs mingw64+msys to compile ffmpeg/iconv/libsndfile/fftw3
|
|
||||||
####################################################################################################################
|
|
||||||
|
|
||||||
message("LIBDIR = ${LIBDIR}")
|
|
||||||
macro(cmake_to_msys_path MsysPath ResultingPath)
|
|
||||||
string(REPLACE ":" "" TmpPath "${MsysPath}")
|
|
||||||
string(SUBSTRING ${TmpPath} 0 1 Drive)
|
|
||||||
string(SUBSTRING ${TmpPath} 1 255 PathPart)
|
|
||||||
string(TOLOWER ${Drive} LowerDrive)
|
|
||||||
string(CONCAT ${ResultingPath} "/" ${LowerDrive} ${PathPart})
|
|
||||||
endmacro()
|
|
||||||
cmake_to_msys_path(${LIBDIR} mingw_LIBDIR)
|
|
||||||
message("mingw_LIBDIR = ${mingw_LIBDIR}")
|
|
||||||
|
|
||||||
message("Checking for mingw64")
|
|
||||||
# download ming64
|
|
||||||
if(NOT EXISTS "${DOWNLOAD_DIR}/x86_64-4.9.4-release-win32-seh-rt_v5-rev0.7z")
|
|
||||||
message("Downloading mingw64")
|
|
||||||
file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.9.4/threads-win32/seh/x86_64-4.9.4-release-win32-seh-rt_v5-rev0.7z" "${DOWNLOAD_DIR}/x86_64-4.9.4-release-win32-seh-rt_v5-rev0.7z")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# make mingw root directory
|
|
||||||
if(NOT EXISTS "${DOWNLOAD_DIR}/mingw")
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/mingw
|
|
||||||
WORKING_DIRECTORY ${DOWNLOAD_DIR}
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# extract mingw64
|
|
||||||
if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/ming64sh.cmd") AND (EXISTS "${DOWNLOAD_DIR}/x86_64-4.9.4-release-win32-seh-rt_v5-rev0.7z"))
|
|
||||||
message("Extracting mingw64")
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/x86_64-4.9.4-release-win32-seh-rt_v5-rev0.7z
|
|
||||||
WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
message("Checking for pkg-config")
|
|
||||||
if(NOT EXISTS "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip")
|
|
||||||
message("Downloading pkg-config")
|
|
||||||
file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/pkgconfiglite/0.28-1/pkg-config-lite-0.28-1_bin-win32.zip" "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# extract pkgconfig
|
|
||||||
if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/pkg-config.exe") AND (EXISTS "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip"))
|
|
||||||
message("Extracting pkg-config")
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1_bin-win32.zip"
|
|
||||||
WORKING_DIRECTORY ${DOWNLOAD_DIR}/
|
|
||||||
)
|
|
||||||
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/pkg-config-lite-0.28-1/bin/pkg-config.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/pkg-config.exe"
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
|
||||||
message("Checking for nasm")
|
|
||||||
if(NOT EXISTS "${DOWNLOAD_DIR}/nasm-2.13.02-win64.zip")
|
|
||||||
message("Downloading nasm")
|
|
||||||
file(DOWNLOAD "http://www.nasm.us/pub/nasm/releasebuilds/2.13.02/win64/nasm-2.13.02-win64.zip" "${DOWNLOAD_DIR}/nasm-2.13.02-win64.zip")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# extract nasm
|
|
||||||
if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/nasm.exe") AND (EXISTS "${DOWNLOAD_DIR}/nasm-2.13.02-win64.zip"))
|
|
||||||
message("Extracting nasm")
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/nasm-2.13.02-win64.zip"
|
|
||||||
WORKING_DIRECTORY ${DOWNLOAD_DIR}/
|
|
||||||
)
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/nasm-2.13.02/nasm.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/nasm.exe"
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
SET(NASM_PATH ${DOWNLOAD_DIR}/mingw/mingw64/bin/nasm.exe)
|
|
||||||
|
|
||||||
message("Checking for mingwGet")
|
|
||||||
if(NOT EXISTS "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip")
|
|
||||||
message("Downloading mingw-get")
|
|
||||||
file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/mingw/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip" "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# extract mingw_get
|
|
||||||
if((NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get.exe") AND (EXISTS "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip"))
|
|
||||||
message("Extracting mingw-get")
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E tar jxf "${DOWNLOAD_DIR}/mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip"
|
|
||||||
WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw64/
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if((EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get.exe") AND (NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/make.exe"))
|
|
||||||
message("Installing MSYS")
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get install msys msys-patch
|
|
||||||
WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw64/bin/
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if((EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get.exe") AND (NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/mktemp.exe"))
|
|
||||||
message("Installing mktemp")
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get install msys msys-mktemp
|
|
||||||
WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw64/bin/
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if((EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get.exe") AND (NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/m4.exe"))
|
|
||||||
message("Installing m4")
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${DOWNLOAD_DIR}/mingw/mingw64/bin/mingw-get install msys msys-m4
|
|
||||||
WORKING_DIRECTORY ${DOWNLOAD_DIR}/mingw/mingw64/bin/
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
message("Checking for CoreUtils")
|
|
||||||
# download old core_utils for pr.exe (ffmpeg needs it to build)
|
|
||||||
if(NOT EXISTS "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2")
|
|
||||||
message("Downloading CoreUtils 5.97")
|
|
||||||
file(DOWNLOAD "https://nchc.dl.sourceforge.net/project/mingw/MSYS/Base/msys-core/_obsolete/coreutils-5.97-MSYS-1.0.11-2/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2" "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if((EXISTS "${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2") AND (NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/pr.exe"))
|
|
||||||
message("Installing pr from CoreUtils 5.97")
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/tmp_coreutils
|
|
||||||
WORKING_DIRECTORY ${DOWNLOAD_DIR}
|
|
||||||
)
|
|
||||||
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2
|
|
||||||
WORKING_DIRECTORY ${DOWNLOAD_DIR}/tmp_coreutils/
|
|
||||||
)
|
|
||||||
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${DOWNLOAD_DIR}/tmp_coreutils/coreutils-5.97/bin/pr.exe "${DOWNLOAD_DIR}/mingw/mingw64/msys/1.0/bin/pr.exe"
|
|
||||||
WORKING_DIRECTORY ${DOWNLOAD_DIR}/tmp_coreutils/
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/ming64sh.cmd")
|
|
||||||
message("Installing ming64sh.cmd")
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/ming64sh.cmd ${DOWNLOAD_DIR}/mingw/mingw64/ming64sh.cmd
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
message("Checking for perl")
|
|
||||||
# download perl for libvpx
|
|
||||||
if(NOT EXISTS "${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-64bit-portable.zip")
|
|
||||||
message("Downloading perl")
|
|
||||||
file(DOWNLOAD "http://strawberryperl.com/download/5.22.1.3/strawberry-perl-5.22.1.3-64bit-portable.zip" "${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-64bit-portable.zip")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# make perl root directory
|
|
||||||
if(NOT EXISTS "${DOWNLOAD_DIR}/perl")
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${DOWNLOAD_DIR}/perl
|
|
||||||
WORKING_DIRECTORY ${DOWNLOAD_DIR}
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# extract perl
|
|
||||||
if((NOT EXISTS "${DOWNLOAD_DIR}/perl/portable.perl") AND (EXISTS "${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-64bit-portable.zip"))
|
|
||||||
message("Extracting perl")
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E tar jxf ${DOWNLOAD_DIR}/strawberry-perl-5.22.1.3-64bit-portable.zip
|
|
||||||
WORKING_DIRECTORY ${DOWNLOAD_DIR}/perl
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# get yasm for vpx
|
|
||||||
if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/yasm.exe")
|
|
||||||
message("Downloading yasm")
|
|
||||||
file(DOWNLOAD "http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win64.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/yasm.exe")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
message("checking x86_64-w64-mingw32-strings.exe")
|
|
||||||
# copy strings.exe to x86_64-w64-mingw32-strings.exe for x264
|
|
||||||
if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-strings.exe")
|
|
||||||
message("fixing x86_64-w64-mingw32-strings.exe")
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw64/bin/strings.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-strings.exe"
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
message("checking x86_64-w64-mingw32-ar.exe")
|
|
||||||
# copy ar.exe to x86_64-w64-mingw32-ar.exe for x264
|
|
||||||
if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-ar.exe")
|
|
||||||
message("fixing x86_64-w64-mingw32-ar.exe")
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw64/bin/ar.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-ar.exe"
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
message("checking x86_64-w64-mingw32-strip.exe")
|
|
||||||
# copy strip.exe to x86_64-w64-mingw32-strip.exe for x264
|
|
||||||
if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-strip.exe")
|
|
||||||
message("fixing x86_64-w64-mingw32-strip.exe")
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw64/bin/strip.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-strip.exe"
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
message("checking x86_64-w64-mingw32-ranlib.exe")
|
|
||||||
# copy ranlib.exe to x86_64-w64-mingw32-ranlib.exe for x264
|
|
||||||
if(NOT EXISTS "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-ranlib.exe")
|
|
||||||
message("fixing x86_64-w64-mingw32-ranlib.exe")
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy "${DOWNLOAD_DIR}/mingw/mingw64/bin/ranlib.exe" "${DOWNLOAD_DIR}/mingw/mingw64/bin/x86_64-w64-mingw32-ranlib.exe"
|
|
||||||
)
|
|
||||||
endif()
|
|
@@ -1,73 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(SNDFILE_EXTRA_ARGS)
|
|
||||||
set(SNDFILE_ENV PKG_CONFIG_PATH=${mingw_LIBDIR}/ogg/lib/pkgconfig:${mingw_LIBDIR}/vorbis/lib/pkgconfig:${mingw_LIBDIR}/flac/lib/pkgconfig:${mingw_LIBDIR})
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(SNDFILE_ENV set ${SNDFILE_ENV} &&)
|
|
||||||
# Shared for windows because static libs will drag in a libgcc dependency.
|
|
||||||
set(SNDFILE_OPTIONS --disable-static --enable-shared )
|
|
||||||
else()
|
|
||||||
set(SNDFILE_OPTIONS --enable-static --disable-shared )
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(UNIX)
|
|
||||||
set(SNDFILE_PATCH_CMD ${PATCH_CMD} --verbose -p 0 -d ${BUILD_DIR}/sndfile/src/external_sndfile < ${PATCH_DIR}/sndfile.diff)
|
|
||||||
else()
|
|
||||||
set(SNDFILE_PATCH_CMD)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_sndfile
|
|
||||||
URL file://${PACKAGE_DIR}/${SNDFILE_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${SNDFILE_HASH_TYPE}=${SNDFILE_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/sndfile
|
|
||||||
PATCH_COMMAND ${SNDFILE_PATCH_CMD}
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sndfile/src/external_sndfile/ && ${SNDFILE_ENV} ${CONFIGURE_COMMAND} ${SNDFILE_OPTIONS} --prefix=${mingw_LIBDIR}/sndfile
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sndfile/src/external_sndfile/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sndfile/src/external_sndfile/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/sndfile
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
set_target_properties(external_sndfile PROPERTIES FOLDER Mingw)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_sndfile
|
|
||||||
external_ogg
|
|
||||||
external_vorbis
|
|
||||||
)
|
|
||||||
if(UNIX)
|
|
||||||
add_dependencies(
|
|
||||||
external_sndfile
|
|
||||||
external_flac
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Release AND WIN32)
|
|
||||||
ExternalProject_Add_Step(external_sndfile after_install
|
|
||||||
COMMAND lib /def:${BUILD_DIR}/sndfile/src/external_sndfile/src/libsndfile-1.def /machine:x64 /out:${BUILD_DIR}/sndfile/src/external_sndfile/src/libsndfile-1.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/sndfile/bin/libsndfile-1.dll ${HARVEST_TARGET}/sndfile/lib/libsndfile-1.dll
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/sndfile/src/external_sndfile/src/libsndfile-1.lib ${HARVEST_TARGET}/sndfile/lib/libsndfile-1.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/sndfile/include/sndfile.h ${HARVEST_TARGET}/sndfile/include/sndfile.h
|
|
||||||
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
@@ -1,28 +0,0 @@
|
|||||||
# ***** 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_spnav
|
|
||||||
URL file://${PACKAGE_DIR}/${SPNAV_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${SPNAV_HASH_TYPE}=${SPNAV_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/spnav
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/spnav/src/external_spnav/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/spnav --disable-shared --enable-static --with-pic
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/spnav/src/external_spnav/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/spnav/src/external_spnav/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/spnav
|
|
||||||
)
|
|
@@ -1,72 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(SQLITE_CONFIGURE_ENV echo .)
|
|
||||||
set(SQLITE_CONFIGURATION_ARGS)
|
|
||||||
|
|
||||||
if(UNIX)
|
|
||||||
if(NOT APPLE)
|
|
||||||
set(SQLITE_LDFLAGS -Wl,--as-needed)
|
|
||||||
endif()
|
|
||||||
set(SQLITE_CFLAGS
|
|
||||||
"-DSQLITE_SECURE_DELETE -DSQLITE_ENABLE_COLUMN_METADATA \
|
|
||||||
-DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS \
|
|
||||||
-DSQLITE_ENABLE_RTREE=1 -DSQLITE_SOUNDEX=1 \
|
|
||||||
-DSQLITE_ENABLE_UNLOCK_NOTIFY \
|
|
||||||
-DSQLITE_OMIT_LOOKASIDE=1 -DSQLITE_ENABLE_DBSTAT_VTAB \
|
|
||||||
-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1 \
|
|
||||||
-DSQLITE_ENABLE_LOAD_EXTENSION \
|
|
||||||
-DSQLITE_ENABLE_JSON1 \
|
|
||||||
-DSQLITE_LIKE_DOESNT_MATCH_BLOBS \
|
|
||||||
-DSQLITE_THREADSAFE=1 \
|
|
||||||
-DSQLITE_ENABLE_FTS3_TOKENIZER=1 \
|
|
||||||
-DSQLITE_MAX_SCHEMA_RETRY=25 \
|
|
||||||
-DSQLITE_ENABLE_PREUPDATE_HOOK \
|
|
||||||
-DSQLITE_ENABLE_SESSION \
|
|
||||||
-DSQLITE_ENABLE_STMTVTAB \
|
|
||||||
-DSQLITE_MAX_VARIABLE_NUMBER=250000 \
|
|
||||||
-fPIC")
|
|
||||||
set(SQLITE_CONFIGURE_ENV ${SQLITE_CONFIGURE_ENV} && export LDFLAGS=${SQLITE_LDFLAGS} && export CFLAGS=${SQLITE_CFLAGS})
|
|
||||||
set(SQLITE_CONFIGURATION_ARGS
|
|
||||||
${SQLITE_CONFIGURATION_ARGS}
|
|
||||||
--enable-threadsafe
|
|
||||||
--enable-load-extension
|
|
||||||
--enable-json1
|
|
||||||
--enable-fts4
|
|
||||||
--enable-fts5
|
|
||||||
# While building `tcl` is harmless, it causes problems when the install step
|
|
||||||
# tries to copy the files into the system path.
|
|
||||||
# Since this isn't required by Python or Blender this can be disabled.
|
|
||||||
# Note that Debian (for example), splits this off into a separate package,
|
|
||||||
# so it's safe to turn off.
|
|
||||||
--disable-tcl
|
|
||||||
--enable-shared=no
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_sqlite
|
|
||||||
URL file://${PACKAGE_DIR}/${SQLITE_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${SQLITE_HASH_TYPE}=${SQLITE_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/sqlite
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/sqlite/src/external_sqlite < ${PATCH_DIR}/sqlite.diff
|
|
||||||
CONFIGURE_COMMAND ${SQLITE_CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/sqlite ${SQLITE_CONFIGURATION_ARGS}
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/sqlite/src/external_sqlite/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/sqlite
|
|
||||||
)
|
|
@@ -1,28 +0,0 @@
|
|||||||
# ***** 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_sse2neon
|
|
||||||
GIT_REPOSITORY ${SSE2NEON_GIT}
|
|
||||||
GIT_TAG ${SSE2NEON_GIT_HASH}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
PREFIX ${BUILD_DIR}/sse2neon
|
|
||||||
CONFIGURE_COMMAND echo sse2neon - Nothing to configure
|
|
||||||
BUILD_COMMAND echo sse2neon - nothing to build
|
|
||||||
INSTALL_COMMAND mkdir -p ${LIBDIR}/sse2neon && cp ${BUILD_DIR}/sse2neon/src/external_sse2neon/sse2neon.h ${LIBDIR}/sse2neon
|
|
||||||
INSTALL_DIR ${LIBDIR}/sse2neon
|
|
||||||
)
|
|
@@ -1,50 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(SSL_CONFIGURE_COMMAND ./Configure)
|
|
||||||
set(SSL_PATCH_CMD echo .)
|
|
||||||
|
|
||||||
if(APPLE)
|
|
||||||
set(SSL_OS_COMPILER "blender-darwin-${CMAKE_OSX_ARCHITECTURES}")
|
|
||||||
else()
|
|
||||||
if(BLENDER_PLATFORM_ARM)
|
|
||||||
set(SSL_OS_COMPILER "blender-linux-aarch64")
|
|
||||||
elseif("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
|
|
||||||
set(SSL_EXTRA_ARGS enable-ec_nistp_64_gcc_128)
|
|
||||||
set(SSL_OS_COMPILER "blender-linux-x86_64")
|
|
||||||
else()
|
|
||||||
set(SSL_OS_COMPILER "blender-linux-x86")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_ssl
|
|
||||||
URL file://${PACKAGE_DIR}/${SSL_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${SSL_HASH_TYPE}=${SSL_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/ssl
|
|
||||||
PATCH_COMMAND ${SSL_PATCH_CMD}
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ssl/src/external_ssl/ && ${SSL_CONFIGURE_COMMAND} --prefix=${LIBDIR}/ssl
|
|
||||||
--openssldir=${LIBDIR}/ssl
|
|
||||||
no-shared
|
|
||||||
no-idea no-mdc2 no-rc5 no-zlib no-ssl3 enable-unit-test no-ssl3-method enable-rfc3779 enable-cms
|
|
||||||
--config=${CMAKE_CURRENT_SOURCE_DIR}/cmake/ssl.conf
|
|
||||||
${SSL_OS_COMPILER}
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ssl/src/external_ssl/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ssl/src/external_ssl/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/ssl
|
|
||||||
)
|
|
@@ -1,25 +0,0 @@
|
|||||||
my %targets = (
|
|
||||||
|
|
||||||
"blender-linux-x86" => {
|
|
||||||
inherit_from => [ "linux-x86" ],
|
|
||||||
cflags => add("-fPIC"),
|
|
||||||
},
|
|
||||||
"blender-linux-x86_64" => {
|
|
||||||
inherit_from => [ "linux-x86_64" ],
|
|
||||||
cflags => add("-fPIC"),
|
|
||||||
},
|
|
||||||
"blender-linux-aarch64" => {
|
|
||||||
inherit_from => [ "linux-aarch64" ],
|
|
||||||
cxxflags => add("-fPIC"),
|
|
||||||
cflags => add("-fPIC"),
|
|
||||||
},
|
|
||||||
"blender-darwin-x86_64" => {
|
|
||||||
inherit_from => [ "darwin64-x86_64-cc" ],
|
|
||||||
cflags => add("-fPIC"),
|
|
||||||
},
|
|
||||||
"blender-darwin-arm64" => {
|
|
||||||
inherit_from => [ "darwin-common" ],
|
|
||||||
cxxflags => add("-fPIC -arch arm64"),
|
|
||||||
cflags => add("-fPIC -arch arm64"),
|
|
||||||
},
|
|
||||||
);
|
|
@@ -1,89 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
if(WIN32)
|
|
||||||
set(TBB_EXTRA_ARGS
|
|
||||||
-DTBB_BUILD_SHARED=On
|
|
||||||
-DTBB_BUILD_TBBMALLOC=On
|
|
||||||
-DTBB_BUILD_TBBMALLOC_PROXY=On
|
|
||||||
-DTBB_BUILD_STATIC=Off
|
|
||||||
-DTBB_BUILD_TESTS=Off
|
|
||||||
-DCMAKE_DEBUG_POSTFIX=_debug
|
|
||||||
)
|
|
||||||
set(TBB_LIBRARY tbb)
|
|
||||||
set(TBB_STATIC_LIBRARY Off)
|
|
||||||
else()
|
|
||||||
set(TBB_EXTRA_ARGS
|
|
||||||
-DTBB_BUILD_SHARED=Off
|
|
||||||
-DTBB_BUILD_TBBMALLOC=On
|
|
||||||
-DTBB_BUILD_TBBMALLOC_PROXY=Off
|
|
||||||
-DTBB_BUILD_STATIC=On
|
|
||||||
-DTBB_BUILD_TESTS=Off
|
|
||||||
)
|
|
||||||
set(TBB_LIBRARY tbb_static)
|
|
||||||
set(TBB_STATIC_LIBRARY On)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# CMake script for TBB from https://github.com/wjakob/tbb/blob/master/CMakeLists.txt
|
|
||||||
ExternalProject_Add(external_tbb
|
|
||||||
URL file://${PACKAGE_DIR}/${TBB_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${TBB_HASH_TYPE}=${TBB_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/tbb
|
|
||||||
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/vs2013/version_string.ver ${BUILD_DIR}/tbb/src/external_tbb/build/version_string.ver.in &&
|
|
||||||
${PATCH_CMD} -p 1 -d ${BUILD_DIR}/tbb/src/external_tbb < ${PATCH_DIR}/tbb.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/tbb ${DEFAULT_CMAKE_FLAGS} ${TBB_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/tbb
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_tbb after_install
|
|
||||||
# findtbb.cmake in some deps *NEEDS* to find tbb_debug.lib even if they are not going to use it
|
|
||||||
# to make that test pass, we place a copy with the right name in the lib folder.
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.lib ${LIBDIR}/tbb/lib/tbb_debug.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc.lib ${LIBDIR}/tbb/lib/tbbmalloc_debug.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbb.dll ${LIBDIR}/tbb/bin/tbb_debug.dll
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbbmalloc.dll ${LIBDIR}/tbb/bin/tbbmalloc_debug.dll
|
|
||||||
# Normal collection of build artifacts
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.lib ${HARVEST_TARGET}/tbb/lib/tbb.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbb.dll ${HARVEST_TARGET}/tbb/bin/tbb.dll
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbbmalloc.dll ${HARVEST_TARGET}/tbb/bin/tbbmalloc.dll
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc_proxy.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc_proxy.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbbmalloc_proxy.dll ${HARVEST_TARGET}/tbb/bin/tbbmalloc_proxy.dll
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/tbb/include/ ${HARVEST_TARGET}/tbb/include/
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_tbb after_install
|
|
||||||
# findtbb.cmake in some deps *NEEDS* to find tbb.lib even if they are not going to use it
|
|
||||||
# to make that test pass, we place a copy with the right name in the lib folder.
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb_debug.lib ${LIBDIR}/tbb/lib/tbb.lib
|
|
||||||
# Normal collection of build artifacts
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb_debug.lib ${HARVEST_TARGET}/tbb/lib/tbb_debug.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbb_debug.dll ${HARVEST_TARGET}/tbb/bin/tbb_debug.dll
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc_debug.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc_debug.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc_proxy_debug.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc_proxy_debug.lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbbmalloc_debug.dll ${HARVEST_TARGET}/tbb/bin/tbbmalloc_debug.dll
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbbmalloc_proxy_debug.dll ${HARVEST_TARGET}/tbb/bin/tbbmalloc_proxy_debug.dll
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@@ -1,51 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(UNIX)
|
|
||||||
set(THEORA_CONFIGURE_ENV ${CONFIGURE_ENV} && export HAVE_PDFLATEX=no)
|
|
||||||
else()
|
|
||||||
set(THEORA_CONFIGURE_ENV ${CONFIGURE_ENV})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_theora
|
|
||||||
URL file://${PACKAGE_DIR}/${THEORA_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${THEORA_HASH_TYPE}=${THEORA_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/theora
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 0 -d ${BUILD_DIR}/theora/src/external_theora < ${PATCH_DIR}/theora.diff
|
|
||||||
CONFIGURE_COMMAND ${THEORA_CONFIGURE_ENV} && cd ${BUILD_DIR}/theora/src/external_theora/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/theora
|
|
||||||
--disable-shared
|
|
||||||
--enable-static
|
|
||||||
--with-pic
|
|
||||||
--with-ogg=${LIBDIR}/ogg
|
|
||||||
--with-vorbis=${LIBDIR}/vorbis
|
|
||||||
--disable-examples
|
|
||||||
BUILD_COMMAND ${THEORA_CONFIGURE_ENV} && cd ${BUILD_DIR}/theora/src/external_theora/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${THEORA_CONFIGURE_ENV} && cd ${BUILD_DIR}/theora/src/external_theora/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/theora
|
|
||||||
)
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_theora
|
|
||||||
external_vorbis
|
|
||||||
external_ogg
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
set_target_properties(external_theora PROPERTIES FOLDER Mingw)
|
|
||||||
endif()
|
|
@@ -1,55 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(WITH_WEBP)
|
|
||||||
set(WITH_TIFF_WEBP ON)
|
|
||||||
else()
|
|
||||||
set(WITH_TIFF_WEBP OFF)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(TIFF_EXTRA_ARGS
|
|
||||||
-DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY}
|
|
||||||
-DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include
|
|
||||||
-DPNG_STATIC=ON
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
-Dlzma=OFF
|
|
||||||
-Djbig=OFF
|
|
||||||
-Dzstd=OFF
|
|
||||||
-Dwebp=${WITH_TIFF_WEBP}
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_tiff
|
|
||||||
URL file://${PACKAGE_DIR}/${TIFF_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${TIFF_HASH_TYPE}=${TIFF_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/tiff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/tiff ${DEFAULT_CMAKE_FLAGS} ${TIFF_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/tiff
|
|
||||||
)
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_tiff
|
|
||||||
external_zlib
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32 AND BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_tiff after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tiff/lib/tiffd${LIBEXT} ${LIBDIR}/tiff/lib/tiff${LIBEXT}
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
@@ -1,106 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(USD_EXTRA_ARGS
|
|
||||||
-DBoost_COMPILER:STRING=${BOOST_COMPILER_STRING}
|
|
||||||
-DBoost_USE_MULTITHREADED=ON
|
|
||||||
-DBoost_USE_STATIC_LIBS=ON
|
|
||||||
-DBoost_USE_STATIC_RUNTIME=OFF
|
|
||||||
-DBOOST_ROOT=${LIBDIR}/boost
|
|
||||||
-DBoost_NO_SYSTEM_PATHS=ON
|
|
||||||
-DBoost_NO_BOOST_CMAKE=ON
|
|
||||||
-DTBB_INCLUDE_DIRS=${LIBDIR}/tbb/include
|
|
||||||
-DTBB_LIBRARIES=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
|
|
||||||
-DTbb_TBB_LIBRARY=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
|
|
||||||
# USD wants the tbb debug lib set even when you are doing a release build
|
|
||||||
# Otherwise it will error out during the cmake configure phase.
|
|
||||||
-DTBB_LIBRARIES_DEBUG=${LIBDIR}/tbb/lib/${LIBPREFIX}${TBB_LIBRARY}${LIBEXT}
|
|
||||||
|
|
||||||
# This is a preventative measure that avoids possible conflicts when add-ons
|
|
||||||
# try to load another USD library into the same process space.
|
|
||||||
-DPXR_SET_INTERNAL_NAMESPACE=usdBlender
|
|
||||||
|
|
||||||
-DPXR_ENABLE_PYTHON_SUPPORT=OFF
|
|
||||||
-DPXR_BUILD_IMAGING=OFF
|
|
||||||
-DPXR_BUILD_TESTS=OFF
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
-DPYTHON_EXECUTABLE=${PYTHON_BINARY}
|
|
||||||
-DPXR_BUILD_MONOLITHIC=ON
|
|
||||||
|
|
||||||
# The PXR_BUILD_USD_TOOLS argument is patched-in by usd.diff. An upstream pull request
|
|
||||||
# can be found at https://github.com/PixarAnimationStudios/USD/pull/1048.
|
|
||||||
-DPXR_BUILD_USD_TOOLS=OFF
|
|
||||||
|
|
||||||
-DCMAKE_DEBUG_POSTFIX=_d
|
|
||||||
# USD is hellbound on making a shared lib, unless you point this variable to a valid cmake file
|
|
||||||
# doesn't have to make sense, but as long as it points somewhere valid it will skip the shared lib.
|
|
||||||
-DPXR_MONOLITHIC_IMPORT=${BUILD_DIR}/usd/src/external_usd/cmake/defaults/Version.cmake
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_usd
|
|
||||||
URL file://${PACKAGE_DIR}/${USD_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${USD_HASH_TYPE}=${USD_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/usd
|
|
||||||
PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/usd/src/external_usd < ${PATCH_DIR}/usd.diff
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/usd -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${USD_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/usd
|
|
||||||
)
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_usd
|
|
||||||
external_tbb
|
|
||||||
external_boost
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
# USD currently demands python be available at build time
|
|
||||||
# and then proceeds not to use it, but still checks that the
|
|
||||||
# version of the interpreter it is not going to use is atleast 2.7
|
|
||||||
# so we need this dep currently since there is no system python
|
|
||||||
# on windows.
|
|
||||||
add_dependencies(
|
|
||||||
external_usd
|
|
||||||
external_python
|
|
||||||
)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_usd after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/usd/ ${HARVEST_TARGET}/usd
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/usd/src/external_usd-build/pxr/Release/usd_m.lib ${HARVEST_TARGET}/usd/lib/libusd_m.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_usd after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/usd/lib ${HARVEST_TARGET}/usd/lib
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/usd/src/external_usd-build/pxr/Debug/usd_m_d.lib ${HARVEST_TARGET}/usd/lib/libusd_m_d.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
# USD has two build options. The default build creates lots of small libraries,
|
|
||||||
# whereas the 'monolithic' build produces only a single library. The latter
|
|
||||||
# makes linking simpler, so that's what we use in Blender. However, running
|
|
||||||
# 'make install' in the USD sources doesn't install the static library in that
|
|
||||||
# case (only the shared library). As a result, we need to grab the `libusd_m.a`
|
|
||||||
# file from the build directory instead of from the install directory.
|
|
||||||
ExternalProject_Add_Step(external_usd after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/usd/src/external_usd-build/pxr/libusd_m.a ${HARVEST_TARGET}/usd/lib/libusd_m.a
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
@@ -1,502 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(ZLIB_VERSION 1.2.11)
|
|
||||||
set(ZLIB_URI https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz)
|
|
||||||
set(ZLIB_HASH 1c9f62f0778697a09d36121ead88e08e)
|
|
||||||
set(ZLIB_HASH_TYPE MD5)
|
|
||||||
set(ZLIB_FILE zlib-${ZLIB_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(OPENAL_VERSION 1.20.1)
|
|
||||||
set(OPENAL_URI http://openal-soft.org/openal-releases/openal-soft-${OPENAL_VERSION}.tar.bz2)
|
|
||||||
set(OPENAL_HASH 556695068ce8375b89986083d810fd35)
|
|
||||||
set(OPENAL_HASH_TYPE MD5)
|
|
||||||
set(OPENAL_FILE openal-soft-${OPENAL_VERSION}.tar.bz2)
|
|
||||||
|
|
||||||
set(PNG_VERSION 1.6.37)
|
|
||||||
set(PNG_URI http://prdownloads.sourceforge.net/libpng/libpng-${PNG_VERSION}.tar.xz)
|
|
||||||
set(PNG_HASH 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca)
|
|
||||||
set(PNG_HASH_TYPE SHA256)
|
|
||||||
set(PNG_FILE libpng-${PNG_VERSION}.tar.xz)
|
|
||||||
|
|
||||||
set(JPEG_VERSION 2.0.4)
|
|
||||||
set(JPEG_URI https://github.com/libjpeg-turbo/libjpeg-turbo/archive/${JPEG_VERSION}.tar.gz)
|
|
||||||
set(JPEG_HASH 44c43e4a9fb352f47090804529317c88)
|
|
||||||
set(JPEG_HASH_TYPE MD5)
|
|
||||||
set(JPEG_FILE libjpeg-turbo-${JPEG_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(BOOST_VERSION 1.73.0)
|
|
||||||
set(BOOST_VERSION_NODOTS 1_73_0)
|
|
||||||
set(BOOST_VERSION_NODOTS_SHORT 1_73)
|
|
||||||
set(BOOST_URI https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION}/source/boost_${BOOST_VERSION_NODOTS}.tar.gz)
|
|
||||||
set(BOOST_HASH 4036cd27ef7548b8d29c30ea10956196)
|
|
||||||
set(BOOST_HASH_TYPE MD5)
|
|
||||||
set(BOOST_FILE boost_${BOOST_VERSION_NODOTS}.tar.gz)
|
|
||||||
|
|
||||||
# Using old version as recommended by OpenVDB build documentation.
|
|
||||||
set(BLOSC_VERSION 1.5.0)
|
|
||||||
set(BLOSC_URI https://github.com/Blosc/c-blosc/archive/v${BLOSC_VERSION}.tar.gz)
|
|
||||||
set(BLOSC_HASH 6e4a49c8c06f05aa543f3312cfce3d55)
|
|
||||||
set(BLOSC_HASH_TYPE MD5)
|
|
||||||
set(BLOSC_FILE blosc-${BLOSC_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(PTHREADS_VERSION 3.0.0)
|
|
||||||
set(PTHREADS_URI http://prdownloads.sourceforge.net/pthreads4w/pthreads4w-code-v${PTHREADS_VERSION}.zip)
|
|
||||||
set(PTHREADS_HASH f3bf81bb395840b3446197bcf4ecd653)
|
|
||||||
set(PTHREADS_HASH_TYPE MD5)
|
|
||||||
set(PTHREADS_FILE pthreads4w-code-${PTHREADS_VERSION}.zip)
|
|
||||||
|
|
||||||
set(OPENEXR_VERSION 2.5.5)
|
|
||||||
set(OPENEXR_URI https://github.com/AcademySoftwareFoundation/openexr/archive/v${OPENEXR_VERSION}.tar.gz)
|
|
||||||
set(OPENEXR_HASH 85e8a979092c9055d10ed103062d31a0)
|
|
||||||
set(OPENEXR_HASH_TYPE MD5)
|
|
||||||
set(OPENEXR_FILE openexr-${OPENEXR_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
# Openexr started appending _d on its own so now
|
|
||||||
# we need to tell the build the postfix is _s while
|
|
||||||
# telling all other deps the postfix is _s_d
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
set(OPENEXR_VERSION_POSTFIX _s)
|
|
||||||
set(OPENEXR_VERSION_BUILD_POSTFIX _s)
|
|
||||||
else()
|
|
||||||
set(OPENEXR_VERSION_POSTFIX _s_d)
|
|
||||||
set(OPENEXR_VERSION_BUILD_POSTFIX _s)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
set(OPENEXR_VERSION_BUILD_POSTFIX)
|
|
||||||
set(OPENEXR_VERSION_POSTFIX)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(FREETYPE_VERSION 2.10.2)
|
|
||||||
set(FREETYPE_URI http://prdownloads.sourceforge.net/freetype/freetype-${FREETYPE_VERSION}.tar.gz)
|
|
||||||
set(FREETYPE_HASH b1cb620e4c875cd4d1bfa04945400945)
|
|
||||||
set(FREETYPE_HASH_TYPE MD5)
|
|
||||||
set(FREETYPE_FILE freetype-${FREETYPE_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(GLEW_VERSION 1.13.0)
|
|
||||||
set(GLEW_URI http://prdownloads.sourceforge.net/glew/glew/${GLEW_VERSION}/glew-${GLEW_VERSION}.tgz)
|
|
||||||
set(GLEW_HASH 7cbada3166d2aadfc4169c4283701066)
|
|
||||||
set(GLEW_HASH_TYPE MD5)
|
|
||||||
set(GLEW_FILE glew-${GLEW_VERSION}.tgz)
|
|
||||||
|
|
||||||
set(FREEGLUT_VERSION 3.0.0)
|
|
||||||
set(FREEGLUT_URI http://prdownloads.sourceforge.net/freeglut/freeglut/${FREEGLUT_VERSION}/freeglut-${FREEGLUT_VERSION}.tar.gz)
|
|
||||||
set(FREEGLUT_HASH 90c3ca4dd9d51cf32276bc5344ec9754)
|
|
||||||
set(FREEGLUT_HASH_TYPE MD5)
|
|
||||||
set(FREEGLUT_FILE freeglut-${FREEGLUT_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(ALEMBIC_VERSION 1.7.16)
|
|
||||||
set(ALEMBIC_URI https://github.com/alembic/alembic/archive/${ALEMBIC_VERSION}.tar.gz)
|
|
||||||
set(ALEMBIC_HASH effcc86e42fe6605588e3de57bde6677)
|
|
||||||
set(ALEMBIC_HASH_TYPE MD5)
|
|
||||||
set(ALEMBIC_FILE alembic-${ALEMBIC_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
# hash is for 3.1.2
|
|
||||||
set(GLFW_GIT_UID 30306e54705c3adae9fe082c816a3be71963485c)
|
|
||||||
set(GLFW_URI https://github.com/glfw/glfw/archive/${GLFW_GIT_UID}.zip)
|
|
||||||
set(GLFW_HASH 20cacb1613da7eeb092f3ac4f6b2b3d0)
|
|
||||||
set(GLFW_HASH_TYPE MD5)
|
|
||||||
set(GLFW_FILE glfw-${GLFW_GIT_UID}.zip)
|
|
||||||
|
|
||||||
# latest uid in git as of 2016-04-01
|
|
||||||
set(CLEW_GIT_UID 277db43f6cafe8b27c6f1055f69dc67da4aeb299)
|
|
||||||
set(CLEW_URI https://github.com/OpenCLWrangler/clew/archive/${CLEW_GIT_UID}.zip)
|
|
||||||
set(CLEW_HASH 2c699d10ed78362e71f56fae2a4c5f98)
|
|
||||||
set(CLEW_HASH_TYPE MD5)
|
|
||||||
set(CLEW_FILE clew-${CLEW_GIT_UID}.zip)
|
|
||||||
|
|
||||||
# latest uid in git as of 2016-04-01
|
|
||||||
set(CUEW_GIT_UID 1744972026de9cf27c8a7dc39cf39cd83d5f922f)
|
|
||||||
set(CUEW_URI https://github.com/CudaWrangler/cuew/archive/${CUEW_GIT_UID}.zip)
|
|
||||||
set(CUEW_HASH 86760d62978ebfd96cd93f5aa1abaf4a)
|
|
||||||
set(CUEW_HASH_TYPE MD5)
|
|
||||||
set(CUEW_FILE cuew-${CUEW_GIT_UID}.zip)
|
|
||||||
|
|
||||||
set(OPENSUBDIV_VERSION v3_4_3)
|
|
||||||
set(OPENSUBDIV_URI https://github.com/PixarAnimationStudios/OpenSubdiv/archive/${OPENSUBDIV_VERSION}.tar.gz)
|
|
||||||
set(OPENSUBDIV_HASH 7bbfa275d021fb829e521df749160edb)
|
|
||||||
set(OPENSUBDIV_HASH_TYPE MD5)
|
|
||||||
set(OPENSUBDIV_FILE opensubdiv-${OPENSUBDIV_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(SDL_VERSION 2.0.12)
|
|
||||||
set(SDL_URI https://www.libsdl.org/release/SDL2-${SDL_VERSION}.tar.gz)
|
|
||||||
set(SDL_HASH 783b6f2df8ff02b19bb5ce492b99c8ff)
|
|
||||||
set(SDL_HASH_TYPE MD5)
|
|
||||||
set(SDL_FILE SDL2-${SDL_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(OPENCOLLADA_VERSION v1.6.68)
|
|
||||||
set(OPENCOLLADA_URI https://github.com/KhronosGroup/OpenCOLLADA/archive/${OPENCOLLADA_VERSION}.tar.gz)
|
|
||||||
set(OPENCOLLADA_HASH ee7dae874019fea7be11613d07567493)
|
|
||||||
set(OPENCOLLADA_HASH_TYPE MD5)
|
|
||||||
set(OPENCOLLADA_FILE opencollada-${OPENCOLLADA_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(OPENCOLORIO_VERSION 2.0.0)
|
|
||||||
set(OPENCOLORIO_URI https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v${OPENCOLORIO_VERSION}.tar.gz)
|
|
||||||
set(OPENCOLORIO_HASH 1a2e3478b6cd9a1549f24e1b2205e3f0)
|
|
||||||
set(OPENCOLORIO_HASH_TYPE MD5)
|
|
||||||
set(OPENCOLORIO_FILE OpenColorIO-${OPENCOLORIO_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(LLVM_VERSION 12.0.0)
|
|
||||||
set(LLVM_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/llvm-project-${LLVM_VERSION}.src.tar.xz)
|
|
||||||
set(LLVM_HASH 5a4fab4d7fc84aefffb118ac2c8a4fc0)
|
|
||||||
set(LLVM_HASH_TYPE MD5)
|
|
||||||
set(LLVM_FILE llvm-project-${LLVM_VERSION}.src.tar.xz)
|
|
||||||
|
|
||||||
if(APPLE)
|
|
||||||
# Cloth physics test is crashing due to this bug:
|
|
||||||
# https://bugs.llvm.org/show_bug.cgi?id=50579
|
|
||||||
set(OPENMP_VERSION 9.0.1)
|
|
||||||
set(OPENMP_HASH 6eade16057edbdecb3c4eef9daa2bfcf)
|
|
||||||
else()
|
|
||||||
set(OPENMP_VERSION ${LLVM_VERSION})
|
|
||||||
set(OPENMP_HASH ac48ce3e4582ccb82f81ab59eb3fc9dc)
|
|
||||||
endif()
|
|
||||||
set(OPENMP_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${OPENMP_VERSION}/openmp-${OPENMP_VERSION}.src.tar.xz)
|
|
||||||
set(OPENMP_HASH_TYPE MD5)
|
|
||||||
set(OPENMP_FILE openmp-${OPENMP_VERSION}.src.tar.xz)
|
|
||||||
|
|
||||||
set(OPENIMAGEIO_VERSION 2.2.15.1)
|
|
||||||
set(OPENIMAGEIO_URI https://github.com/OpenImageIO/oiio/archive/Release-${OPENIMAGEIO_VERSION}.tar.gz)
|
|
||||||
set(OPENIMAGEIO_HASH 3db5c5f0b3dc91597c75e5df09eb9072)
|
|
||||||
set(OPENIMAGEIO_HASH_TYPE MD5)
|
|
||||||
set(OPENIMAGEIO_FILE OpenImageIO-${OPENIMAGEIO_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(TIFF_VERSION 4.1.0)
|
|
||||||
set(TIFF_URI http://download.osgeo.org/libtiff/tiff-${TIFF_VERSION}.tar.gz)
|
|
||||||
set(TIFF_HASH 2165e7aba557463acc0664e71a3ed424)
|
|
||||||
set(TIFF_HASH_TYPE MD5)
|
|
||||||
set(TIFF_FILE tiff-${TIFF_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(OSL_VERSION 1.11.14.1)
|
|
||||||
set(OSL_URI https://github.com/imageworks/OpenShadingLanguage/archive/Release-${OSL_VERSION}.tar.gz)
|
|
||||||
set(OSL_HASH 1abd7ce40481771a9fa937f19595d2f2)
|
|
||||||
set(OSL_HASH_TYPE MD5)
|
|
||||||
set(OSL_FILE OpenShadingLanguage-${OSL_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(PYTHON_VERSION 3.9.7)
|
|
||||||
set(PYTHON_SHORT_VERSION 3.9)
|
|
||||||
set(PYTHON_SHORT_VERSION_NO_DOTS 39)
|
|
||||||
set(PYTHON_URI https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz)
|
|
||||||
set(PYTHON_HASH fddb060b483bc01850a3f412eea1d954)
|
|
||||||
set(PYTHON_HASH_TYPE MD5)
|
|
||||||
set(PYTHON_FILE Python-${PYTHON_VERSION}.tar.xz)
|
|
||||||
|
|
||||||
set(TBB_VERSION 2020_U2)
|
|
||||||
set(TBB_URI https://github.com/oneapi-src/oneTBB/archive/${TBB_VERSION}.tar.gz)
|
|
||||||
set(TBB_HASH 1b711ae956524855088df3bbf5ec65dc)
|
|
||||||
set(TBB_HASH_TYPE MD5)
|
|
||||||
set(TBB_FILE oneTBB-${TBB_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(OPENVDB_VERSION 8.0.1)
|
|
||||||
set(OPENVDB_URI https://github.com/AcademySoftwareFoundation/openvdb/archive/v${OPENVDB_VERSION}.tar.gz)
|
|
||||||
set(OPENVDB_HASH 01b490be16cc0e15c690f9a153c21461)
|
|
||||||
set(OPENVDB_HASH_TYPE MD5)
|
|
||||||
set(OPENVDB_FILE openvdb-${OPENVDB_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(NANOVDB_GIT_UID dc37d8a631922e7bef46712947dc19b755f3e841)
|
|
||||||
set(NANOVDB_URI https://github.com/AcademySoftwareFoundation/openvdb/archive/${NANOVDB_GIT_UID}.tar.gz)
|
|
||||||
set(NANOVDB_HASH e7b9e863ec2f3b04ead171dec2322807)
|
|
||||||
set(NANOVDB_HASH_TYPE MD5)
|
|
||||||
set(NANOVDB_FILE nano-vdb-${NANOVDB_GIT_UID}.tar.gz)
|
|
||||||
|
|
||||||
set(IDNA_VERSION 3.2)
|
|
||||||
set(CHARSET_NORMALIZER_VERSION 2.0.6)
|
|
||||||
set(URLLIB3_VERSION 1.26.7)
|
|
||||||
set(CERTIFI_VERSION 2021.10.8)
|
|
||||||
set(REQUESTS_VERSION 2.26.0)
|
|
||||||
set(CYTHON_VERSION 0.29.24)
|
|
||||||
set(ZSTANDARD_VERSION 0.15.2 )
|
|
||||||
|
|
||||||
set(NUMPY_VERSION 1.21.2)
|
|
||||||
set(NUMPY_SHORT_VERSION 1.21)
|
|
||||||
set(NUMPY_URI https://github.com/numpy/numpy/releases/download/v${NUMPY_VERSION}/numpy-${NUMPY_VERSION}.zip)
|
|
||||||
set(NUMPY_HASH 5638d5dae3ca387be562912312db842e)
|
|
||||||
set(NUMPY_HASH_TYPE MD5)
|
|
||||||
set(NUMPY_FILE numpy-${NUMPY_VERSION}.zip)
|
|
||||||
|
|
||||||
set(LAME_VERSION 3.100)
|
|
||||||
set(LAME_URI http://downloads.sourceforge.net/project/lame/lame/3.100/lame-${LAME_VERSION}.tar.gz)
|
|
||||||
set(LAME_HASH 83e260acbe4389b54fe08e0bdbf7cddb)
|
|
||||||
set(LAME_HASH_TYPE MD5)
|
|
||||||
set(LAME_FILE lame-${LAME_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(OGG_VERSION 1.3.4)
|
|
||||||
set(OGG_URI http://downloads.xiph.org/releases/ogg/libogg-${OGG_VERSION}.tar.gz)
|
|
||||||
set(OGG_HASH fe5670640bd49e828d64d2879c31cb4dde9758681bb664f9bdbf159a01b0c76e)
|
|
||||||
set(OGG_HASH_TYPE SHA256)
|
|
||||||
set(OGG_FILE libogg-${OGG_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(VORBIS_VERSION 1.3.6)
|
|
||||||
set(VORBIS_URI http://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VERSION}.tar.gz)
|
|
||||||
set(VORBIS_HASH 6ed40e0241089a42c48604dc00e362beee00036af2d8b3f46338031c9e0351cb)
|
|
||||||
set(VORBIS_HASH_TYPE SHA256)
|
|
||||||
set(VORBIS_FILE libvorbis-${VORBIS_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(THEORA_VERSION 1.1.1)
|
|
||||||
set(THEORA_URI http://downloads.xiph.org/releases/theora/libtheora-${THEORA_VERSION}.tar.bz2)
|
|
||||||
set(THEORA_HASH b6ae1ee2fa3d42ac489287d3ec34c5885730b1296f0801ae577a35193d3affbc)
|
|
||||||
set(THEORA_HASH_TYPE SHA256)
|
|
||||||
set(THEORA_FILE libtheora-${THEORA_VERSION}.tar.bz2)
|
|
||||||
|
|
||||||
set(FLAC_VERSION 1.3.3)
|
|
||||||
set(FLAC_URI http://downloads.xiph.org/releases/flac/flac-${FLAC_VERSION}.tar.xz)
|
|
||||||
set(FLAC_HASH 213e82bd716c9de6db2f98bcadbc4c24c7e2efe8c75939a1a84e28539c4e1748)
|
|
||||||
set(FLAC_HASH_TYPE SHA256)
|
|
||||||
set(FLAC_FILE flac-${FLAC_VERSION}.tar.xz)
|
|
||||||
|
|
||||||
set(VPX_VERSION 1.8.2)
|
|
||||||
set(VPX_URI https://github.com/webmproject/libvpx/archive/v${VPX_VERSION}/libvpx-v${VPX_VERSION}.tar.gz)
|
|
||||||
set(VPX_HASH 8735d9fcd1a781ae6917f28f239a8aa358ce4864ba113ea18af4bb2dc8b474ac)
|
|
||||||
set(VPX_HASH_TYPE SHA256)
|
|
||||||
set(VPX_FILE libvpx-v${VPX_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(OPUS_VERSION 1.3.1)
|
|
||||||
set(OPUS_URI https://archive.mozilla.org/pub/opus/opus-${OPUS_VERSION}.tar.gz)
|
|
||||||
set(OPUS_HASH 65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d)
|
|
||||||
set(OPUS_HASH_TYPE SHA256)
|
|
||||||
set(OPUS_FILE opus-${OPUS_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(X264_VERSION 33f9e1474613f59392be5ab6a7e7abf60fa63622)
|
|
||||||
set(X264_URI https://code.videolan.org/videolan/x264/-/archive/${X264_VERSION}/x264-${X264_VERSION}.tar.gz)
|
|
||||||
set(X264_HASH 5456450ee1ae02cd2328be3157367a232a0ab73315e8c8f80dab80469524f525)
|
|
||||||
set(X264_HASH_TYPE SHA256)
|
|
||||||
set(X264_FILE x264-${X264_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(XVIDCORE_VERSION 1.3.7)
|
|
||||||
set(XVIDCORE_URI https://downloads.xvid.com/downloads/xvidcore-${XVIDCORE_VERSION}.tar.gz)
|
|
||||||
set(XVIDCORE_HASH abbdcbd39555691dd1c9b4d08f0a031376a3b211652c0d8b3b8aa9be1303ce2d)
|
|
||||||
set(XVIDCORE_HASH_TYPE SHA256)
|
|
||||||
set(XVIDCORE_FILE xvidcore-${XVIDCORE_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(OPENJPEG_VERSION 2.3.1)
|
|
||||||
set(OPENJPEG_SHORT_VERSION 2.3)
|
|
||||||
set(OPENJPEG_URI https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VERSION}.tar.gz)
|
|
||||||
set(OPENJPEG_HASH 63f5a4713ecafc86de51bfad89cc07bb788e9bba24ebbf0c4ca637621aadb6a9)
|
|
||||||
set(OPENJPEG_HASH_TYPE SHA256)
|
|
||||||
set(OPENJPEG_FILE openjpeg-v${OPENJPEG_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(FFMPEG_VERSION 4.4)
|
|
||||||
set(FFMPEG_URI http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2)
|
|
||||||
set(FFMPEG_HASH 42093549751b582cf0f338a21a3664f52e0a9fbe0d238d3c992005e493607d0e)
|
|
||||||
set(FFMPEG_HASH_TYPE SHA256)
|
|
||||||
set(FFMPEG_FILE ffmpeg-${FFMPEG_VERSION}.tar.bz2)
|
|
||||||
|
|
||||||
set(FFTW_VERSION 3.3.8)
|
|
||||||
set(FFTW_URI http://www.fftw.org/fftw-${FFTW_VERSION}.tar.gz)
|
|
||||||
set(FFTW_HASH 8aac833c943d8e90d51b697b27d4384d)
|
|
||||||
set(FFTW_HASH_TYPE MD5)
|
|
||||||
set(FFTW_FILE fftw-${FFTW_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(ICONV_VERSION 1.16)
|
|
||||||
set(ICONV_URI http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz)
|
|
||||||
set(ICONV_HASH 7d2a800b952942bb2880efb00cfd524c)
|
|
||||||
set(ICONV_HASH_TYPE MD5)
|
|
||||||
set(ICONV_FILE libiconv-${ICONV_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(SNDFILE_VERSION 1.0.28)
|
|
||||||
set(SNDFILE_URI http://www.mega-nerd.com/libsndfile/files/libsndfile-${SNDFILE_VERSION}.tar.gz)
|
|
||||||
set(SNDFILE_HASH 646b5f98ce89ac60cdb060fcd398247c)
|
|
||||||
set(SNDFILE_HASH_TYPE MD5)
|
|
||||||
set(SNDFILE_FILE libsndfile-${SNDFILE_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(WEBP_VERSION 0.6.1)
|
|
||||||
set(WEBP_URI https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${WEBP_VERSION}.tar.gz)
|
|
||||||
set(WEBP_HASH b49ce9c3e3e9acae4d91bca44bb85a72)
|
|
||||||
set(WEBP_HASH_TYPE MD5)
|
|
||||||
set(WEBP_FILE libwebp-${WEBP_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(SPNAV_VERSION 0.2.3)
|
|
||||||
set(SPNAV_URI http://downloads.sourceforge.net/project/spacenav/spacenav%20library%20%28SDK%29/libspnav%20${SPNAV_VERSION}/libspnav-${SPNAV_VERSION}.tar.gz)
|
|
||||||
set(SPNAV_HASH 44d840540d53326d4a119c0f1aa7bf0a)
|
|
||||||
set(SPNAV_HASH_TYPE MD5)
|
|
||||||
set(SPNAV_FILE libspnav-${SPNAV_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(JEMALLOC_VERSION 5.2.1)
|
|
||||||
set(JEMALLOC_URI https://github.com/jemalloc/jemalloc/releases/download/${JEMALLOC_VERSION}/jemalloc-${JEMALLOC_VERSION}.tar.bz2)
|
|
||||||
set(JEMALLOC_HASH 3d41fbf006e6ebffd489bdb304d009ae)
|
|
||||||
set(JEMALLOC_HASH_TYPE MD5)
|
|
||||||
set(JEMALLOC_FILE jemalloc-${JEMALLOC_VERSION}.tar.bz2)
|
|
||||||
|
|
||||||
set(XML2_VERSION 2.9.10)
|
|
||||||
set(XML2_URI http://xmlsoft.org/sources/libxml2-${XML2_VERSION}.tar.gz)
|
|
||||||
set(XML2_HASH 10942a1dc23137a8aa07f0639cbfece5)
|
|
||||||
set(XML2_HASH_TYPE MD5)
|
|
||||||
set(XML2_FILE libxml2-${XML2_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(TINYXML_VERSION 2_6_2)
|
|
||||||
set(TINYXML_VERSION_DOTS 2.6.2)
|
|
||||||
set(TINYXML_URI https://nchc.dl.sourceforge.net/project/tinyxml/tinyxml/${TINYXML_VERSION_DOTS}/tinyxml_${TINYXML_VERSION}.tar.gz)
|
|
||||||
set(TINYXML_HASH c1b864c96804a10526540c664ade67f0)
|
|
||||||
set(TINYXML_HASH_TYPE MD5)
|
|
||||||
set(TINYXML_FILE tinyxml_${TINYXML_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(YAMLCPP_VERSION 0.6.3)
|
|
||||||
set(YAMLCPP_URI https://codeload.github.com/jbeder/yaml-cpp/tar.gz/yaml-cpp-${YAMLCPP_VERSION})
|
|
||||||
set(YAMLCPP_HASH b45bf1089a382e81f6b661062c10d0c2)
|
|
||||||
set(YAMLCPP_HASH_TYPE MD5)
|
|
||||||
set(YAMLCPP_FILE yaml-cpp-${YAMLCPP_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(EXPAT_VERSION 2_2_10)
|
|
||||||
set(EXPAT_URI https://github.com/libexpat/libexpat/archive/R_${EXPAT_VERSION}.tar.gz)
|
|
||||||
set(EXPAT_HASH 7ca5f09959fcb9a57618368deb627b9f)
|
|
||||||
set(EXPAT_HASH_TYPE MD5)
|
|
||||||
set(EXPAT_FILE libexpat-${EXPAT_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(PUGIXML_VERSION 1.10)
|
|
||||||
set(PUGIXML_URI https://github.com/zeux/pugixml/archive/v${PUGIXML_VERSION}.tar.gz)
|
|
||||||
set(PUGIXML_HASH 0c208b0664c7fb822bf1b49ad035e8fd)
|
|
||||||
set(PUGIXML_HASH_TYPE MD5)
|
|
||||||
set(PUGIXML_FILE pugixml-${PUGIXML_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(FLEXBISON_VERSION 2.5.24)
|
|
||||||
set(FLEXBISON_URI http://prdownloads.sourceforge.net/winflexbison/win_flex_bison-${FLEXBISON_VERSION}.zip)
|
|
||||||
set(FLEXBISON_HASH 6b549d43e34ece0e8ed05af92daa31c4)
|
|
||||||
set(FLEXBISON_HASH_TYPE MD5)
|
|
||||||
set(FLEXBISON_FILE win_flex_bison-${FLEXBISON_VERSION}.zip)
|
|
||||||
|
|
||||||
set(FLEX_VERSION 2.6.4)
|
|
||||||
set(FLEX_URI https://github.com/westes/flex/releases/download/v${FLEX_VERSION}/flex-${FLEX_VERSION}.tar.gz)
|
|
||||||
set(FLEX_HASH 2882e3179748cc9f9c23ec593d6adc8d)
|
|
||||||
set(FLEX_HASH_TYPE MD5)
|
|
||||||
set(FLEX_FILE flex-${FLEX_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
# Libraries to keep Python modules static on Linux.
|
|
||||||
|
|
||||||
# NOTE: bzip.org domain does no longer belong to BZip 2 project, so we download
|
|
||||||
# sources from Debian packaging.
|
|
||||||
set(BZIP2_VERSION 1.0.8)
|
|
||||||
set(BZIP2_URI http://http.debian.net/debian/pool/main/b/bzip2/bzip2_${BZIP2_VERSION}.orig.tar.gz)
|
|
||||||
set(BZIP2_HASH ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269)
|
|
||||||
set(BZIP2_HASH_TYPE SHA256)
|
|
||||||
set(BZIP2_FILE bzip2_${BZIP2_VERSION}.orig.tar.gz)
|
|
||||||
|
|
||||||
set(FFI_VERSION 3.3)
|
|
||||||
set(FFI_URI https://sourceware.org/pub/libffi/libffi-${FFI_VERSION}.tar.gz)
|
|
||||||
set(FFI_HASH 72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056)
|
|
||||||
set(FFI_HASH_TYPE SHA256)
|
|
||||||
set(FFI_FILE libffi-${FFI_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(LZMA_VERSION 5.2.5)
|
|
||||||
set(LZMA_URI https://tukaani.org/xz/xz-${LZMA_VERSION}.tar.bz2)
|
|
||||||
set(LZMA_HASH 5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df)
|
|
||||||
set(LZMA_HASH_TYPE SHA256)
|
|
||||||
set(LZMA_FILE xz-${LZMA_VERSION}.tar.bz2)
|
|
||||||
|
|
||||||
if(BLENDER_PLATFORM_ARM)
|
|
||||||
# Need at least 1.1.1i for aarch64 support (https://github.com/openssl/openssl/pull/13218)
|
|
||||||
set(SSL_VERSION 1.1.1i)
|
|
||||||
set(SSL_URI https://www.openssl.org/source/openssl-${SSL_VERSION}.tar.gz)
|
|
||||||
set(SSL_HASH e8be6a35fe41d10603c3cc635e93289ed00bf34b79671a3a4de64fcee00d5242)
|
|
||||||
set(SSL_HASH_TYPE SHA256)
|
|
||||||
set(SSL_FILE openssl-${SSL_VERSION}.tar.gz)
|
|
||||||
else()
|
|
||||||
set(SSL_VERSION 1.1.1g)
|
|
||||||
set(SSL_URI https://www.openssl.org/source/openssl-${SSL_VERSION}.tar.gz)
|
|
||||||
set(SSL_HASH ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46)
|
|
||||||
set(SSL_HASH_TYPE SHA256)
|
|
||||||
set(SSL_FILE openssl-${SSL_VERSION}.tar.gz)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(SQLITE_VERSION 3.31.1)
|
|
||||||
set(SQLITE_URI https://www.sqlite.org/2018/sqlite-src-3240000.zip)
|
|
||||||
set(SQLITE_HASH fb558c49ee21a837713c4f1e7e413309aabdd9c7)
|
|
||||||
set(SQLITE_HASH_TYPE SHA1)
|
|
||||||
set(SQLITE_FILE sqlite-src-3240000.zip)
|
|
||||||
|
|
||||||
set(EMBREE_VERSION 3.10.0)
|
|
||||||
set(EMBREE_URI https://github.com/embree/embree/archive/v${EMBREE_VERSION}.zip)
|
|
||||||
set(EMBREE_HASH 4bbe29e7eaa46417efc75fc5f1e8eb87)
|
|
||||||
set(EMBREE_HASH_TYPE MD5)
|
|
||||||
set(EMBREE_FILE embree-v${EMBREE_VERSION}.zip)
|
|
||||||
set(EMBREE_ARM_GIT https://github.com/brechtvl/embree.git)
|
|
||||||
|
|
||||||
set(USD_VERSION 21.02)
|
|
||||||
set(USD_URI https://github.com/PixarAnimationStudios/USD/archive/v${USD_VERSION}.tar.gz)
|
|
||||||
set(USD_HASH 1dd1e2092d085ed393c1f7c450a4155a)
|
|
||||||
set(USD_HASH_TYPE MD5)
|
|
||||||
set(USD_FILE usd-v${USD_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(OIDN_VERSION 1.4.1)
|
|
||||||
set(OIDN_URI https://github.com/OpenImageDenoise/oidn/releases/download/v${OIDN_VERSION}/oidn-${OIDN_VERSION}.src.tar.gz)
|
|
||||||
set(OIDN_HASH df4007b0ab93b1c41cdf223b075d01c0)
|
|
||||||
set(OIDN_HASH_TYPE MD5)
|
|
||||||
set(OIDN_FILE oidn-${OIDN_VERSION}.src.tar.gz)
|
|
||||||
|
|
||||||
set(LIBGLU_VERSION 9.0.1)
|
|
||||||
set(LIBGLU_URI ftp://ftp.freedesktop.org/pub/mesa/glu/glu-${LIBGLU_VERSION}.tar.xz)
|
|
||||||
set(LIBGLU_HASH 151aef599b8259efe9acd599c96ea2a3)
|
|
||||||
set(LIBGLU_HASH_TYPE MD5)
|
|
||||||
set(LIBGLU_FILE glu-${LIBGLU_VERSION}.tar.xz)
|
|
||||||
|
|
||||||
set(MESA_VERSION 21.1.5)
|
|
||||||
set(MESA_URI ftp://ftp.freedesktop.org/pub/mesa/mesa-${MESA_VERSION}.tar.xz)
|
|
||||||
set(MESA_HASH 022c7293074aeeced2278c872db4fa693147c70f8595b076cf3f1ef81520766d)
|
|
||||||
set(MESA_HASH_TYPE SHA256)
|
|
||||||
set(MESA_FILE mesa-${MESA_VERSION}.tar.xz)
|
|
||||||
|
|
||||||
set(NASM_VERSION 2.15.02)
|
|
||||||
set(NASM_URI https://github.com/netwide-assembler/nasm/archive/nasm-${NASM_VERSION}.tar.gz)
|
|
||||||
set(NASM_HASH aded8b796c996a486a56e0515c83e414116decc3b184d88043480b32eb0a8589)
|
|
||||||
set(NASM_HASH_TYPE SHA256)
|
|
||||||
set(NASM_FILE nasm-${NASM_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(XR_OPENXR_SDK_VERSION 1.0.17)
|
|
||||||
set(XR_OPENXR_SDK_URI https://github.com/KhronosGroup/OpenXR-SDK/archive/release-${XR_OPENXR_SDK_VERSION}.tar.gz)
|
|
||||||
set(XR_OPENXR_SDK_HASH bf0fd8828837edff01047474e90013e1)
|
|
||||||
set(XR_OPENXR_SDK_HASH_TYPE MD5)
|
|
||||||
set(XR_OPENXR_SDK_FILE OpenXR-SDK-${XR_OPENXR_SDK_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(WL_PROTOCOLS_VERSION 1.21)
|
|
||||||
set(WL_PROTOCOLS_FILE wayland-protocols-${WL_PROTOCOLS_VERSION}.tar.gz)
|
|
||||||
set(WL_PROTOCOLS_URI https://gitlab.freedesktop.org/wayland/wayland-protocols/-/archive/${WL_PROTOCOLS_VERSION}/${WL_PROTOCOLS_FILE})
|
|
||||||
set(WL_PROTOCOLS_HASH af5ca07e13517cdbab33504492cef54a)
|
|
||||||
set(WL_PROTOCOLS_HASH_TYPE MD5)
|
|
||||||
|
|
||||||
set(ISPC_VERSION v1.16.0)
|
|
||||||
set(ISPC_URI https://github.com/ispc/ispc/archive/${ISPC_VERSION}.tar.gz)
|
|
||||||
set(ISPC_HASH 2e3abedbc0ea9aaec17d6562c632454d)
|
|
||||||
set(ISPC_HASH_TYPE MD5)
|
|
||||||
set(ISPC_FILE ispc-${ISPC_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(GMP_VERSION 6.2.0)
|
|
||||||
set(GMP_URI https://gmplib.org/download/gmp/gmp-${GMP_VERSION}.tar.xz)
|
|
||||||
set(GMP_HASH a325e3f09e6d91e62101e59f9bda3ec1)
|
|
||||||
set(GMP_HASH_TYPE MD5)
|
|
||||||
set(GMP_FILE gmp-${GMP_VERSION}.tar.xz)
|
|
||||||
|
|
||||||
set(POTRACE_VERSION 1.16)
|
|
||||||
set(POTRACE_URI http://potrace.sourceforge.net/download/${POTRACE_VERSION}/potrace-${POTRACE_VERSION}.tar.gz)
|
|
||||||
set(POTRACE_HASH 5f0bd87ddd9a620b0c4e65652ef93d69)
|
|
||||||
set(POTRACE_HASH_TYPE MD5)
|
|
||||||
set(POTRACE_FILE potrace-${POTRACE_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(HARU_VERSION 2_3_0)
|
|
||||||
set(HARU_URI https://github.com/libharu/libharu/archive/RELEASE_${HARU_VERSION}.tar.gz)
|
|
||||||
set(HARU_HASH 4f916aa49c3069b3a10850013c507460)
|
|
||||||
set(HARU_HASH_TYPE MD5)
|
|
||||||
set(HARU_FILE libharu-${HARU_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(ZSTD_VERSION 1.5.0)
|
|
||||||
set(ZSTD_URI https://github.com/facebook/zstd/releases/download/v${ZSTD_VERSION}/zstd-${ZSTD_VERSION}.tar.gz)
|
|
||||||
set(ZSTD_HASH 5194fbfa781fcf45b98c5e849651aa7b3b0a008c6b72d4a0db760f3002291e94)
|
|
||||||
set(ZSTD_HASH_TYPE SHA256)
|
|
||||||
set(ZSTD_FILE zstd-${ZSTD_VERSION}.tar.gz)
|
|
||||||
|
|
||||||
set(SSE2NEON_GIT https://github.com/DLTcollab/sse2neon.git)
|
|
||||||
set(SSE2NEON_GIT_HASH fe5ff00bb8d19b327714a3c290f3e2ce81ba3525)
|
|
@@ -1,41 +0,0 @@
|
|||||||
# ***** 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_vorbis
|
|
||||||
URL file://${PACKAGE_DIR}/${VORBIS_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${VORBIS_HASH_TYPE}=${VORBIS_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/vorbis
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/vorbis/src/external_vorbis/ && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/vorbis
|
|
||||||
--disable-shared
|
|
||||||
--enable-static
|
|
||||||
--with-pic
|
|
||||||
--with-ogg=${LIBDIR}/ogg
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/vorbis/src/external_vorbis/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/vorbis/src/external_vorbis/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/vorbis
|
|
||||||
)
|
|
||||||
|
|
||||||
add_dependencies(
|
|
||||||
external_vorbis
|
|
||||||
external_ogg
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
set_target_properties(external_vorbis PROPERTIES FOLDER Mingw)
|
|
||||||
endif()
|
|
@@ -1,66 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
|
|
||||||
set(VPX_EXTRA_FLAGS --target=x86_64-win64-gcc --disable-multithread)
|
|
||||||
else()
|
|
||||||
set(VPX_EXTRA_FLAGS --target=x86-win32-gcc --disable-multithread)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
if(APPLE)
|
|
||||||
if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "arm64")
|
|
||||||
set(VPX_EXTRA_FLAGS --target=generic-gnu)
|
|
||||||
else()
|
|
||||||
set(VPX_EXTRA_FLAGS --target=x86_64-darwin17-gcc)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
set(VPX_EXTRA_FLAGS --target=generic-gnu)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_vpx
|
|
||||||
URL file://${PACKAGE_DIR}/${VPX_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${VPX_HASH_TYPE}=${VPX_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/vpx
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} &&
|
|
||||||
cd ${BUILD_DIR}/vpx/src/external_vpx/ &&
|
|
||||||
${CONFIGURE_COMMAND_NO_TARGET} --prefix=${LIBDIR}/vpx
|
|
||||||
--disable-shared
|
|
||||||
--enable-static
|
|
||||||
--disable-install-bins
|
|
||||||
--disable-install-srcs
|
|
||||||
--disable-sse4_1
|
|
||||||
--disable-sse3
|
|
||||||
--disable-ssse3
|
|
||||||
--disable-avx
|
|
||||||
--disable-avx2
|
|
||||||
--disable-unit-tests
|
|
||||||
--disable-examples
|
|
||||||
--enable-vp8
|
|
||||||
--enable-vp9
|
|
||||||
${VPX_EXTRA_FLAGS}
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/vpx/src/external_vpx/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/vpx/src/external_vpx/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/vpx
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
set_target_properties(external_vpx PROPERTIES FOLDER Mingw)
|
|
||||||
endif()
|
|
@@ -1,27 +0,0 @@
|
|||||||
# ***** 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_wayland_protocols
|
|
||||||
URL file://${PACKAGE_DIR}/${WL_PROTOCOLS_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${WL_PROTOCOLS_HASH_TYPE}=${WL_PROTOCOLS_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/wayland-protocols
|
|
||||||
CONFIGURE_COMMAND meson --prefix ${LIBDIR}/wayland-protocols . ../external_wayland_protocols -Dtests=false
|
|
||||||
BUILD_COMMAND ninja
|
|
||||||
INSTALL_COMMAND ninja install
|
|
||||||
)
|
|
@@ -1,50 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
# Note the utility apps may use png/tiff/gif system libraries, but the
|
|
||||||
# library itself does not depend on them, so should give no problems.
|
|
||||||
|
|
||||||
set(WEBP_EXTRA_ARGS
|
|
||||||
-DWEBP_HAVE_SSE2=ON
|
|
||||||
-DWEBP_HAVE_SSE41=OFF
|
|
||||||
-DWEBP_HAVE_AVX2=OFF
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(WEBP_BUILD_DIR ${BUILD_MODE}/)
|
|
||||||
else()
|
|
||||||
set(WEBP_BUILD_DIR)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_webp
|
|
||||||
URL file://${PACKAGE_DIR}/${WEBP_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${WEBP_HASH_TYPE}=${WEBP_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/webp
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/webp -Wno-dev ${DEFAULT_CMAKE_FLAGS} ${WEBP_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/webp
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_webp after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/webp ${HARVEST_TARGET}/webp
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@@ -1,60 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(X264_EXTRA_ARGS --enable-win32thread --cross-prefix=${MINGW_HOST}- --host=${MINGW_HOST})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(BLENDER_PLATFORM_ARM)
|
|
||||||
set(X264_EXTRA_ARGS ${X264_EXTRA_ARGS} "--disable-asm")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if((APPLE AND NOT BLENDER_PLATFORM_ARM) OR (UNIX AND NOT APPLE))
|
|
||||||
set(X264_CONFIGURE_ENV
|
|
||||||
export AS=${LIBDIR}/nasm/bin/nasm
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
set(X264_CONFIGURE_ENV echo .)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_x264
|
|
||||||
URL file://${PACKAGE_DIR}/${X264_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${X264_HASH_TYPE}=${X264_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/x264
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && ${X264_CONFIGURE_ENV} && cd ${BUILD_DIR}/x264/src/external_x264/ &&
|
|
||||||
${CONFIGURE_COMMAND} --prefix=${LIBDIR}/x264
|
|
||||||
--enable-static
|
|
||||||
--enable-pic
|
|
||||||
--disable-lavf
|
|
||||||
${X264_EXTRA_ARGS}
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/x264/src/external_x264/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/x264/src/external_x264/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/x264
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
set_target_properties(external_x264 PROPERTIES FOLDER Mingw)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(UNIX)
|
|
||||||
add_dependencies(
|
|
||||||
external_x264
|
|
||||||
external_nasm
|
|
||||||
)
|
|
||||||
endif()
|
|
@@ -1,36 +0,0 @@
|
|||||||
# ***** 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_xml2
|
|
||||||
URL file://${PACKAGE_DIR}/${XML2_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${XML2_HASH_TYPE}=${XML2_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/xml2
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xml2/src/external_xml2/ && ${CONFIGURE_COMMAND}
|
|
||||||
--prefix=${LIBDIR}/xml2
|
|
||||||
--disable-shared
|
|
||||||
--enable-static
|
|
||||||
--with-pic
|
|
||||||
--with-python=no
|
|
||||||
--with-lzma=no
|
|
||||||
--with-zlib=no
|
|
||||||
--with-iconv=no
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xml2/src/external_xml2/ && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xml2/src/external_xml2/ && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/xml2
|
|
||||||
)
|
|
@@ -1,60 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
|
|
||||||
# Keep flags in sync with install_deps.sh ones in compile_XR_OpenXR_SDK()
|
|
||||||
set(XR_OPENXR_SDK_EXTRA_ARGS
|
|
||||||
-DBUILD_FORCE_GENERATION=OFF
|
|
||||||
-DBUILD_LOADER=ON
|
|
||||||
-DDYNAMIC_LOADER=OFF
|
|
||||||
)
|
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
|
||||||
list(APPEND XR_OPENXR_SDK_EXTRA_ARGS
|
|
||||||
-DBUILD_WITH_WAYLAND_HEADERS=OFF
|
|
||||||
-DBUILD_WITH_XCB_HEADERS=OFF
|
|
||||||
-DBUILD_WITH_XLIB_HEADERS=ON
|
|
||||||
-DBUILD_WITH_SYSTEM_JSONCPP=OFF
|
|
||||||
-DCMAKE_CXX_FLAGS=-DDISABLE_STD_FILESYSTEM=1
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_xr_openxr_sdk
|
|
||||||
URL file://${PACKAGE_DIR}/${XR_OPENXR_SDK_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${XR_OPENXR_SDK_HASH_TYPE}=${XR_OPENXR_SDK_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/xr_openxr_sdk
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/xr_openxr_sdk ${DEFAULT_CMAKE_FLAGS} ${XR_OPENXR_SDK_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/xr_openxr_sdk
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_xr_openxr_sdk after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/xr_openxr_sdk/include/openxr ${HARVEST_TARGET}/xr_openxr_sdk/include/openxr
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/xr_openxr_sdk/lib ${HARVEST_TARGET}/xr_openxr_sdk/lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_xr_openxr_sdk after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/xr_openxr_sdk/lib/openxr_loaderd.lib ${HARVEST_TARGET}/xr_openxr_sdk/lib/openxr_loaderd.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@@ -1,44 +0,0 @@
|
|||||||
# ***** 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 *****
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(XVIDCORE_EXTRA_ARGS --host=${MINGW_HOST})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_xvidcore
|
|
||||||
URL file://${PACKAGE_DIR}/${XVIDCORE_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${XVIDCORE_HASH_TYPE}=${XVIDCORE_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/xvidcore
|
|
||||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xvidcore/src/external_xvidcore/build/generic && ${CONFIGURE_COMMAND} --prefix=${LIBDIR}/xvidcore ${XVIDCORE_EXTRA_ARGS}
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/xvidcore/src/external_xvidcore/build/generic && make -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND ${CONFIGURE_ENV} &&
|
|
||||||
${CMAKE_COMMAND} -E remove ${LIBDIR}/xvidcore/lib/* && # clean because re-installing fails otherwise
|
|
||||||
cd ${BUILD_DIR}/xvidcore/src/external_xvidcore/build/generic && make install
|
|
||||||
INSTALL_DIR ${LIBDIR}/xvidcore
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add_Step(external_xvidcore after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E rename ${LIBDIR}/xvidcore/lib/xvidcore.a ${LIBDIR}/xvidcore/lib/libxvidcore.a || true
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E remove ${LIBDIR}/xvidcore/lib/xvidcore.dll.a
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
set_target_properties(external_xvidcore PROPERTIES FOLDER Mingw)
|
|
||||||
endif()
|
|
@@ -1,39 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(YAMLCPP_EXTRA_ARGS
|
|
||||||
-DYAML_CPP_BUILD_TESTS=OFF
|
|
||||||
-DYAML_CPP_BUILD_TOOLS=OFF
|
|
||||||
-DYAML_CPP_BUILD_CONTRIB=OFF
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(YAMLCPP_EXTRA_ARGS
|
|
||||||
${YAMLCPP_EXTRA_ARGS}
|
|
||||||
-DBUILD_GMOCK=OFF
|
|
||||||
-DYAML_MSVC_SHARED_RT=ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(external_yamlcpp
|
|
||||||
URL file://${PACKAGE_DIR}/${YAMLCPP_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${YAMLCPP_HASH_TYPE}=${YAMLCPP_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/yamlcpp
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/yamlcpp ${DEFAULT_CMAKE_FLAGS} ${YAMLCPP_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/yamlcpp
|
|
||||||
)
|
|
@@ -1,46 +0,0 @@
|
|||||||
# ***** 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_zlib
|
|
||||||
URL file://${PACKAGE_DIR}/${ZLIB_FILE}
|
|
||||||
URL_HASH ${ZLIB_HASH_TYPE}=${ZLIB_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/zlib
|
|
||||||
CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=${LIBDIR}/zlib ${DEFAULT_CMAKE_FLAGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/zlib
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_zlib after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/zlib/lib/zlibstatic${LIBEXT} ${HARVEST_TARGET}/zlib/lib/libz_st${LIBEXT}
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/zlib/include/ ${HARVEST_TARGET}/zlib/include/
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
if(BUILD_MODE STREQUAL Debug)
|
|
||||||
ExternalProject_Add_Step(external_zlib after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/zlib/lib/zlibstaticd${LIBEXT} ${HARVEST_TARGET}/zlib/lib/libz_st_d${LIBEXT}
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
ExternalProject_Add_Step(external_zlib after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/zlib/lib/libz.a ${LIBDIR}/zlib/lib/libz_pic.a
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
@@ -1,39 +0,0 @@
|
|||||||
# ***** 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_zlib_mingw
|
|
||||||
URL file://${PACKAGE_DIR}/${ZLIB_FILE}
|
|
||||||
URL_HASH ${ZLIB_HASH_TYPE}=${ZLIB_HASH}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
PREFIX ${BUILD_DIR}/zlib_mingw
|
|
||||||
CONFIGURE_COMMAND echo .
|
|
||||||
BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/zlib_mingw/src/external_zlib_mingw/ && make -f win32/makefile.gcc -j${MAKE_THREADS}
|
|
||||||
INSTALL_COMMAND echo .
|
|
||||||
INSTALL_DIR ${LIBDIR}/zlib_mingw
|
|
||||||
)
|
|
||||||
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_zlib_mingw after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/zlib_mingw/src/external_zlib_mingw/libz.a ${LIBDIR}/zlib/lib/z.lib
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
set_target_properties(external_zlib_mingw PROPERTIES FOLDER Mingw)
|
|
||||||
endif()
|
|
@@ -1,51 +0,0 @@
|
|||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
set(ZSTD_EXTRA_ARGS
|
|
||||||
-DZSTD_BUILD_PROGRAMS=OFF
|
|
||||||
-DZSTD_BUILD_SHARED=OFF
|
|
||||||
-DZSTD_BUILD_STATIC=ON
|
|
||||||
-DZSTD_BUILD_TESTS=OFF
|
|
||||||
-DZSTD_LEGACY_SUPPORT=OFF
|
|
||||||
-DZSTD_LZ4_SUPPORT=OFF
|
|
||||||
-DZSTD_LZMA_SUPPORT=OFF
|
|
||||||
-DZSTD_MULTITHREAD_SUPPORT=ON
|
|
||||||
-DZSTD_PROGRAMS_LINK_SHARED=OFF
|
|
||||||
-DZSTD_USE_STATIC_RUNTIME=OFF
|
|
||||||
-DZSTD_ZLIB_SUPPORT=OFF
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Add(external_zstd
|
|
||||||
URL file://${PACKAGE_DIR}/${ZSTD_FILE}
|
|
||||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
||||||
URL_HASH ${ZSTD_HASH_TYPE}=${ZSTD_HASH}
|
|
||||||
PREFIX ${BUILD_DIR}/zstd
|
|
||||||
SOURCE_SUBDIR build/cmake
|
|
||||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/zstd ${DEFAULT_CMAKE_FLAGS} ${ZSTD_EXTRA_ARGS}
|
|
||||||
INSTALL_DIR ${LIBDIR}/zstd
|
|
||||||
)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(BUILD_MODE STREQUAL Release)
|
|
||||||
ExternalProject_Add_Step(external_zstd after_install
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/zstd/lib/zstd_static${LIBEXT} ${HARVEST_TARGET}/zstd/lib/zstd_static${LIBEXT}
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/zstd/include/ ${HARVEST_TARGET}/zstd/include/
|
|
||||||
DEPENDEES install
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
@@ -1,100 +0,0 @@
|
|||||||
strict graph {
|
|
||||||
graph[autosize = false, size = "25.7,8.3!", resolution = 300, overlap = false, splines = false, outputorder=edgesfirst ];
|
|
||||||
node [style=filled fillcolor=white];
|
|
||||||
external_alembic -- external_boost;
|
|
||||||
external_alembic -- external_zlib;
|
|
||||||
external_alembic -- external_openexr;
|
|
||||||
external_blosc -- external_zlib;
|
|
||||||
external_blosc -- external_pthreads;
|
|
||||||
external_boost -- Make_Python_Environment;
|
|
||||||
external_clang -- ll;
|
|
||||||
external_ffmpeg -- external_zlib;
|
|
||||||
external_ffmpeg -- external_faad;
|
|
||||||
external_ffmpeg -- external_openjpeg;
|
|
||||||
external_ffmpeg -- external_xvidcore;
|
|
||||||
external_ffmpeg -- external_x264;
|
|
||||||
external_ffmpeg -- external_vpx;
|
|
||||||
external_ffmpeg -- external_theora;
|
|
||||||
external_ffmpeg -- external_vorbis;
|
|
||||||
external_ffmpeg -- external_ogg;
|
|
||||||
external_ffmpeg -- external_lame;
|
|
||||||
external_ffmpeg -- external_zlib_mingw;
|
|
||||||
external_numpy -- Make_Python_Environment;
|
|
||||||
external_opencollada -- external_xml2;
|
|
||||||
external_opencolorio -- external_boost;
|
|
||||||
external_opencolorio -- external_tinyxml;
|
|
||||||
external_opencolorio -- external_yamlcpp;
|
|
||||||
external_openexr -- external_zlib;
|
|
||||||
external_openimageio -- external_png;
|
|
||||||
external_openimageio -- external_zlib;
|
|
||||||
external_openimageio -- external_openexr;
|
|
||||||
external_openimageio -- external_openexr;
|
|
||||||
external_openimageio -- external_jpeg;
|
|
||||||
external_openimageio -- external_boost;
|
|
||||||
external_openimageio -- external_tiff;
|
|
||||||
external_openimageio -- external_opencolorio;
|
|
||||||
external_openimageio -- external_openjpeg;
|
|
||||||
external_openimageio -- external_webp;
|
|
||||||
external_openimageio -- external_opencolorio_extra;
|
|
||||||
external_openmp -- external_clang;
|
|
||||||
external_opensubdiv -- external_glew;
|
|
||||||
external_opensubdiv -- external_glfw;
|
|
||||||
external_opensubdiv -- external_clew;
|
|
||||||
external_opensubdiv -- external_cuew;
|
|
||||||
external_opensubdiv -- external_tbb;
|
|
||||||
openvdb -- external_tbb;
|
|
||||||
openvdb -- external_boost;
|
|
||||||
openvdb -- external_openexr;
|
|
||||||
openvdb -- external_openexr;
|
|
||||||
openvdb -- external_zlib;
|
|
||||||
openvdb -- external_blosc;
|
|
||||||
external_osl -- external_boost;
|
|
||||||
external_osl -- ll;
|
|
||||||
external_osl -- external_clang;
|
|
||||||
external_osl -- external_openexr;
|
|
||||||
external_osl -- external_openexr;
|
|
||||||
external_osl -- external_zlib;
|
|
||||||
external_osl -- external_flexbison;
|
|
||||||
external_osl -- external_openimageio;
|
|
||||||
external_osl -- external_pugixml;
|
|
||||||
external_png -- external_zlib;
|
|
||||||
external_python_site_packages -- Make_Python_Environment;
|
|
||||||
external_sndfile -- external_ogg;
|
|
||||||
external_sndfile -- external_vorbis;
|
|
||||||
external_sndfile -- external_flac;
|
|
||||||
external_theora -- external_vorbis;
|
|
||||||
external_theora -- external_ogg;
|
|
||||||
external_tiff -- external_zlib;
|
|
||||||
external_vorbis -- external_ogg;
|
|
||||||
blender-- external_ffmpeg;
|
|
||||||
blender-- external_alembic;
|
|
||||||
blender-- external_openjpeg;
|
|
||||||
blender-- external_opencolorio;
|
|
||||||
blender-- external_openexr;
|
|
||||||
blender-- external_opensubdiv;
|
|
||||||
blender-- openvdb;
|
|
||||||
blender-- external_osl;
|
|
||||||
blender-- external_boost;
|
|
||||||
blender-- external_jpeg;
|
|
||||||
blender-- external_png;
|
|
||||||
blender-- external_python;
|
|
||||||
blender-- external_sndfile;
|
|
||||||
blender-- external_iconv;
|
|
||||||
blender-- external_fftw3;
|
|
||||||
external_python-- external_python_site_packages;
|
|
||||||
external_python_site_packages-- requests;
|
|
||||||
external_python_site_packages-- idna;
|
|
||||||
external_python_site_packages-- chardet;
|
|
||||||
external_python_site_packages-- urllib3;
|
|
||||||
external_python_site_packages-- certifi;
|
|
||||||
external_python-- external_numpy;
|
|
||||||
external_usd-- external_boost;
|
|
||||||
external_usd-- external_tbb;
|
|
||||||
blender-- external_opencollada;
|
|
||||||
blender-- external_sdl;
|
|
||||||
blender-- external_freetype;
|
|
||||||
blender-- external_pthreads;
|
|
||||||
blender-- external_zlib;
|
|
||||||
blender-- external_openal;
|
|
||||||
blender-- external_usd;
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
@@ -1,2 +0,0 @@
|
|||||||
# Files contains mixed line endings, patch needs to preserve them to apply.
|
|
||||||
opencollada.diff binary
|
|
@@ -1,131 +0,0 @@
|
|||||||
diff -Naur src/blosc/CMakeLists.txt external_blosc/blosc/CMakeLists.txt
|
|
||||||
--- src/blosc/CMakeLists.txt 2016-02-03 10:26:28 -0700
|
|
||||||
+++ external_blosc/blosc/CMakeLists.txt 2017-03-03 09:03:31 -0700
|
|
||||||
@@ -61,6 +61,8 @@
|
|
||||||
set(SOURCES ${SOURCES} win32/pthread.c)
|
|
||||||
else(NOT Threads_FOUND)
|
|
||||||
set(LIBS ${LIBS} ${CMAKE_THREAD_LIBS_INIT})
|
|
||||||
+ set(LIBS ${LIBS} ${PTHREAD_LIBS})
|
|
||||||
+ include_directories( ${PTHREAD_INCLUDE_DIR} )
|
|
||||||
endif(NOT Threads_FOUND)
|
|
||||||
else(WIN32)
|
|
||||||
find_package(Threads REQUIRED)
|
|
||||||
diff -Naur src/CMakeLists.txt external_blosc/CMakeLists.txt
|
|
||||||
--- src/CMakeLists.txt 2016-02-03 10:26:28 -0700
|
|
||||||
+++ external_blosc/CMakeLists.txt 2017-03-03 09:03:31 -0700
|
|
||||||
@@ -17,8 +17,8 @@
|
|
||||||
# do not include support for the Snappy library
|
|
||||||
# DEACTIVATE_ZLIB: default OFF
|
|
||||||
# do not include support for the Zlib library
|
|
||||||
-# PREFER_EXTERNAL_COMPLIBS: default ON
|
|
||||||
-# when found, use the installed compression libs instead of included sources
|
|
||||||
+# PREFER_EXTERNAL_ZLIB: default ON
|
|
||||||
+# when found, use the installed zlib instead of included sources
|
|
||||||
# TEST_INCLUDE_BENCH_SINGLE_1: default ON
|
|
||||||
# add a test that runs the benchmark program passing "single" with 1 thread
|
|
||||||
# as first parameter
|
|
||||||
@@ -80,29 +80,23 @@
|
|
||||||
"Do not include support for the SNAPPY library." OFF)
|
|
||||||
option(DEACTIVATE_ZLIB
|
|
||||||
"Do not include support for the ZLIB library." OFF)
|
|
||||||
-option(PREFER_EXTERNAL_COMPLIBS
|
|
||||||
- "When found, use the installed compression libs instead of included sources." ON)
|
|
||||||
+option(PREFER_EXTERNAL_ZLIB
|
|
||||||
+ "When found, use the installed zlib instead of included sources." ON)
|
|
||||||
|
|
||||||
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
|
|
||||||
|
|
||||||
-if(NOT PREFER_EXTERNAL_COMPLIBS)
|
|
||||||
+if(NOT PREFER_EXTERNAL_ZLIB)
|
|
||||||
message(STATUS "Finding external libraries disabled. Using internal sources.")
|
|
||||||
-endif(NOT PREFER_EXTERNAL_COMPLIBS)
|
|
||||||
+endif(NOT PREFER_EXTERNAL_ZLIB)
|
|
||||||
|
|
||||||
|
|
||||||
if(NOT DEACTIVATE_LZ4)
|
|
||||||
- if(PREFER_EXTERNAL_COMPLIBS)
|
|
||||||
- find_package(LZ4)
|
|
||||||
- endif(PREFER_EXTERNAL_COMPLIBS)
|
|
||||||
# HAVE_LZ4 will be set to true because even if the library is
|
|
||||||
# not found, we will use the included sources for it
|
|
||||||
set(HAVE_LZ4 TRUE)
|
|
||||||
endif(NOT DEACTIVATE_LZ4)
|
|
||||||
|
|
||||||
if(NOT DEACTIVATE_SNAPPY)
|
|
||||||
- if(PREFER_EXTERNAL_COMPLIBS)
|
|
||||||
- find_package(Snappy)
|
|
||||||
- endif(PREFER_EXTERNAL_COMPLIBS)
|
|
||||||
# HAVE_SNAPPY will be set to true because even if the library is not found,
|
|
||||||
# we will use the included sources for it
|
|
||||||
set(HAVE_SNAPPY TRUE)
|
|
||||||
@@ -110,13 +104,13 @@
|
|
||||||
|
|
||||||
if(NOT DEACTIVATE_ZLIB)
|
|
||||||
# import the ZLIB_ROOT environment variable to help finding the zlib library
|
|
||||||
- if(PREFER_EXTERNAL_COMPLIBS)
|
|
||||||
+ if(PREFER_EXTERNAL_ZLIB)
|
|
||||||
set(ZLIB_ROOT $ENV{ZLIB_ROOT})
|
|
||||||
find_package( ZLIB )
|
|
||||||
if (NOT ZLIB_FOUND )
|
|
||||||
message(STATUS "No zlib found. Using internal sources.")
|
|
||||||
endif (NOT ZLIB_FOUND )
|
|
||||||
- endif(PREFER_EXTERNAL_COMPLIBS)
|
|
||||||
+ endif(PREFER_EXTERNAL_ZLIB)
|
|
||||||
# HAVE_ZLIB will be set to true because even if the library is not found,
|
|
||||||
# we will use the included sources for it
|
|
||||||
set(HAVE_ZLIB TRUE)
|
|
||||||
diff -Naur external_blosc.orig/blosc/blosc.c external_blosc/blosc/blosc.c
|
|
||||||
--- external_blosc.orig/blosc/blosc.c 2018-07-30 04:56:38 -0600
|
|
||||||
+++ external_blosc/blosc/blosc.c 2018-08-11 15:27:26 -0600
|
|
||||||
@@ -41,12 +41,7 @@
|
|
||||||
#include <inttypes.h>
|
|
||||||
#endif /* _WIN32 */
|
|
||||||
|
|
||||||
-#if defined(_WIN32)
|
|
||||||
- #include "win32/pthread.h"
|
|
||||||
- #include "win32/pthread.c"
|
|
||||||
-#else
|
|
||||||
- #include <pthread.h>
|
|
||||||
-#endif
|
|
||||||
+#include <pthread.h>
|
|
||||||
|
|
||||||
|
|
||||||
/* Some useful units */
|
|
||||||
diff --git a/blosc/shuffle.c b/blosc/shuffle.c
|
|
||||||
index 84b5095..23053b4 100644
|
|
||||||
--- a/blosc/shuffle.c
|
|
||||||
+++ b/blosc/shuffle.c
|
|
||||||
@@ -490,12 +490,12 @@ void unshuffle(size_t bytesoftype, size_t blocksize,
|
|
||||||
#else /* no __SSE2__ available */
|
|
||||||
|
|
||||||
void shuffle(size_t bytesoftype, size_t blocksize,
|
|
||||||
- uint8_t* _src, uint8_t* _dest) {
|
|
||||||
+ const uint8_t* _src, uint8_t* _dest) {
|
|
||||||
_shuffle(bytesoftype, blocksize, _src, _dest);
|
|
||||||
}
|
|
||||||
|
|
||||||
void unshuffle(size_t bytesoftype, size_t blocksize,
|
|
||||||
- uint8_t* _src, uint8_t* _dest) {
|
|
||||||
+ const uint8_t* _src, uint8_t* _dest) {
|
|
||||||
_unshuffle(bytesoftype, blocksize, _src, _dest);
|
|
||||||
}
|
|
||||||
--- a/cmake/FindSSE.cmake
|
|
||||||
+++ b/cmake/FindSSE.cmake
|
|
||||||
@@ -49,6 +49,17 @@
|
|
||||||
set(AVX_FOUND false CACHE BOOL "AVX available on host")
|
|
||||||
ENDIF (AVX_TRUE)
|
|
||||||
ELSEIF(CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
|
||||||
+ execute_process(COMMAND uname -m OUTPUT_VARIABLE ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
||||||
+ message(STATUS "Detected architecture ${ARCHITECTURE}")
|
|
||||||
+ IF("${ARCHITECTURE}" STREQUAL "arm64")
|
|
||||||
+ set(SSE2_FOUND false CACHE BOOL "SSE2 available on host")
|
|
||||||
+ set(SSE3_FOUND false CACHE BOOL "SSE3 available on host")
|
|
||||||
+ set(SSSE3_FOUND false CACHE BOOL "SSSE3 available on host")
|
|
||||||
+ set(SSE4_1_FOUND false CACHE BOOL "SSE4.1 available on host")
|
|
||||||
+ set(AVX_FOUND false CACHE BOOL "AVX available on host")
|
|
||||||
+ return()
|
|
||||||
+ ENDIF()
|
|
||||||
+
|
|
||||||
EXEC_PROGRAM("/usr/sbin/sysctl -n machdep.cpu.features" OUTPUT_VARIABLE
|
|
||||||
CPUINFO)
|
|
||||||
|
|
@@ -1,4 +0,0 @@
|
|||||||
using python : @PYTHON_SHORT_VERSION@ : @PYTHON_BINARY@
|
|
||||||
: @LIBDIR@/python/include @LIBDIR@/python/include/python@PYTHON_SHORT_VERSION@m/
|
|
||||||
: @LIBDIR@/python/libs
|
|
||||||
;
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user