Compare commits
1195 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
c0418c96db | ||
|
83cc25e05b | ||
|
8b536fff48 | ||
|
ac76263667 | ||
|
efc007f044 | ||
|
c45ac27846 | ||
|
4a1eddc2c9 | ||
|
f001c6f012 | ||
|
8271ac6728 | ||
|
293b9f436b | ||
|
acac44d571 | ||
|
7aaed2ce3b | ||
|
da76ea432b | ||
|
53152e6dd9 | ||
|
1a1739b200 | ||
|
fd5c113a03 | ||
|
f74f684b16 | ||
|
621ed3bc36 | ||
|
81d569625e | ||
|
6072d3093c | ||
|
e1b097eb67 | ||
|
92d22d7d62 | ||
|
1b423e3287 | ||
|
cb8519be19 | ||
|
617a2905a9 | ||
|
18559e93cf | ||
|
c2e01cc5cc | ||
|
0acc1ab47c | ||
|
b315a85dd7 | ||
|
411ad1a819 | ||
|
bbf49a300c | ||
|
0bab2704ae | ||
|
33c8a72788 | ||
|
315ed0be41 | ||
|
d74b1e9dd3 | ||
|
b47b075ac5 | ||
|
7a52478f16 | ||
|
9db675b3d6 | ||
|
e1d576bf31 | ||
|
e1f7382910 | ||
|
dee5eb82b5 | ||
|
c2eed2a326 | ||
|
3a2ca49b6d | ||
|
4f53e7b37c | ||
|
e01ce0cd52 | ||
|
34c407eb34 | ||
|
ef4e5e3bf1 | ||
|
ca1491f88b | ||
|
b284dc42dc | ||
|
a0ffd4a521 | ||
|
07e803dee1 | ||
|
ec2d883e53 | ||
|
1593d38b13 | ||
|
aaa03c1efb | ||
|
b2bce1d928 | ||
|
581016faeb | ||
|
6bf38f219b | ||
|
63fa56bc83 | ||
|
a29bae45f9 | ||
|
6d1a049be7 | ||
|
b1970c8a47 | ||
|
f8c45c2f0d | ||
|
94748ad20e | ||
|
2e0b684df3 | ||
|
a1f027b66e | ||
|
88ff1a3834 | ||
|
fb30026cf1 | ||
|
714fb6b516 | ||
|
bf8b7e08f1 | ||
|
24e4b3c83b | ||
|
10a19b2a75 | ||
|
d30f25e6b1 | ||
|
cec41bb93d | ||
|
e9c43fee29 | ||
|
812afe4edb | ||
|
48e4aad412 | ||
|
23c56fc66a | ||
|
795c0d5d73 | ||
|
fbf9efb8d5 | ||
|
9b9aac4a7b | ||
|
86d6c284c2 | ||
|
84d39c06fa | ||
|
df69c26472 | ||
|
b56df3a60a | ||
|
dcbd679c8b | ||
|
b9280b8b27 | ||
|
2052b04e5b | ||
|
6036998511 | ||
|
33463eef63 | ||
|
84f42008b7 | ||
|
cb6c7c458c | ||
|
d2c11b791c | ||
|
73035770f6 | ||
|
1966e6af07 | ||
|
5dd4cb6e60 | ||
|
034d1403b1 | ||
|
267738fc40 | ||
|
e976df2329 | ||
|
82598ec0f2 | ||
|
7b3f255f23 | ||
|
4e1b5fcbf0 | ||
|
9416ba5fb0 | ||
|
e9a13cf123 | ||
|
a0b4fff17a | ||
|
51db8cab7b | ||
|
8af9bbd59a | ||
|
1f45f21358 | ||
|
d7f5072158 | ||
|
7090725e2b | ||
|
d8bfee7b03 | ||
|
879768fbf2 | ||
|
179fb34661 | ||
|
1caf5fd317 | ||
|
fc41d3b1c0 | ||
|
08d9c0ae45 | ||
|
7021de2fe7 | ||
|
e455c54bf0 | ||
|
d31e5dbbb4 | ||
|
878ea8cd2b | ||
|
ee6581adbe | ||
|
1fff4ad5a7 | ||
|
a793b75e21 | ||
|
5078d0d84e | ||
|
ad3825f821 | ||
|
fe12f15cb4 | ||
|
b2ec2f5d42 | ||
|
e3fd3d83da | ||
|
1f37f1d50a | ||
|
1f000e5974 | ||
|
2491eec38b | ||
|
ab279b126b | ||
|
e4753a7d16 | ||
|
5ae6f08cc6 | ||
|
9b337ad8e5 | ||
|
3425e83f4b | ||
|
e720157864 | ||
|
452ba192d5 | ||
|
9140163ba8 | ||
|
7573a45deb | ||
|
802180e1a5 | ||
|
8ca58a51a7 | ||
|
acce2c1448 | ||
|
633084b809 | ||
|
a9e5f65041 | ||
|
b9a372bbcd | ||
|
b5204c6c37 | ||
|
75e2ba1695 | ||
|
5c48956f8e | ||
|
b9184c2714 | ||
|
e61aa824db | ||
|
5a846a5d2c | ||
|
b91e601442 | ||
|
cfde7eebb3 | ||
|
600ee85631 | ||
|
8dee83b0f3 | ||
|
2d0dd76414 | ||
|
08984eda3d | ||
|
b66cf6dae5 | ||
|
f91202f3ee | ||
|
072b4d382d | ||
|
3d21fe1aee | ||
|
2922a73ea7 | ||
|
e2d60d0f7f | ||
|
ae38730d35 | ||
|
e1f5ac2c9b | ||
|
0b6a0adb3a | ||
|
59cfb82b02 | ||
|
1eed3c7873 | ||
|
7109a4ae58 | ||
|
ff77ee8103 | ||
|
223ae699c7 | ||
|
9eee5ab7e4 | ||
|
5614b1369a | ||
|
33a4d46b28 | ||
|
d7dac7fc36 | ||
|
ba9548c55b | ||
|
2275caec09 | ||
|
ddb9ed4810 | ||
|
7073768338 | ||
|
71943b31f8 | ||
|
0101c6febe | ||
|
dfa2a6719c | ||
|
9ff36dac47 | ||
|
7e524fcbe1 | ||
|
d925497360 | ||
|
6cb968fd6f | ||
|
e2a956a633 | ||
|
16a263dc17 | ||
|
2ac4e1beee | ||
|
2f23e4e3a5 | ||
|
bcecb5832b | ||
|
f32cb549d8 | ||
|
ce7fe22d97 | ||
|
1bc34debc1 | ||
|
302ad26bff | ||
|
90eac74988 | ||
|
4d476dd2ed | ||
|
f291ad2528 | ||
|
468856bf4a | ||
|
2f195ab915 | ||
|
6ba81a695f | ||
|
e463b2f685 | ||
|
e3dae4a9f3 | ||
|
f4f9ce4b77 | ||
|
4af354e6ed | ||
|
8f7159cbaa | ||
|
bf2884afbe | ||
|
18c678759e | ||
|
340b2327b6 | ||
|
7ce8fe052d | ||
|
ccd3858e63 | ||
|
4ec4e4e8a8 | ||
|
90da038e9d | ||
|
9a52982920 | ||
|
68a8b15260 | ||
|
03eb96038e | ||
|
44f6e8d5e8 | ||
|
4f5e934445 | ||
|
65acdce54c | ||
|
30fa5f6713 | ||
|
740833a6a8 | ||
|
2009530611 | ||
|
250ad34d90 | ||
|
4a837ecec2 | ||
|
58c0958b50 | ||
|
323e88ada7 | ||
|
d0cf7e8f3c | ||
|
4e69a6ac05 | ||
|
b6b55c3d96 | ||
|
87b7b496ec | ||
|
e1aa4ee31f | ||
|
120dec9fb3 | ||
|
3bbcf114f0 | ||
|
d62df471b2 | ||
|
7ac3f543c7 | ||
|
7c3daf20d1 | ||
|
a81bd74a38 | ||
|
c1e15aa538 | ||
|
519c84b43e | ||
|
794b3d8936 | ||
|
c8365a1c28 | ||
|
45143b7a24 | ||
|
9eab1511b0 | ||
|
0ffecc2fc7 | ||
|
6eddc28410 | ||
|
97e80b8c30 | ||
|
57c5e9e895 | ||
|
2b40ee81d1 | ||
|
62874fa199 | ||
|
e77bcb6b57 | ||
|
d4edeaed31 | ||
|
80ffc5f84d | ||
|
d1069cad4b | ||
|
0c4931e873 | ||
|
3ea347e562 | ||
|
510d099d15 | ||
|
5bd54bef32 | ||
|
4f7ad5fb76 | ||
|
f706c128c2 | ||
|
209ae313a5 | ||
|
81f57d1135 | ||
|
9923f08703 | ||
|
5b756182c2 | ||
|
5f69cfa70c | ||
|
19da974edc | ||
|
bcb2a742a7 | ||
|
005caf39cf | ||
|
2c8c4b8086 | ||
|
7e63845c9e | ||
|
f8d8c3f2bc | ||
|
4e61131a1c | ||
|
4e2151f654 | ||
|
475da0f135 | ||
|
538700ffa2 | ||
|
eb78d737d4 | ||
|
c1638a8db8 | ||
|
0c9c466e9d | ||
|
16f9b46dbb | ||
|
34043fc845 | ||
|
56b495d93b | ||
|
96b92906de | ||
|
f1c209dc77 | ||
|
f9ae10ed21 | ||
|
956d91571c | ||
|
c2064b60e7 | ||
|
eba0379cde | ||
|
41fc11b056 | ||
|
0f05f21194 | ||
|
7d5e26eb2e | ||
|
5c38397303 | ||
|
ca65b1ae37 | ||
|
b4871a3b12 | ||
|
ff60d28357 | ||
|
307fef1dcd | ||
|
95c380d252 | ||
|
f277dcbbc0 | ||
|
af0cb16691 | ||
|
f72c595119 | ||
|
3e9cb80644 | ||
|
9af0d66b84 | ||
|
3be25c1170 | ||
|
ea99d048d7 | ||
|
c585f731eb | ||
|
c983176406 | ||
|
5dd92c395a | ||
|
296dbe8cc8 | ||
|
812ee2c9be | ||
|
92c1f9728e | ||
|
b878139461 | ||
|
5aa7b61083 | ||
|
eee6a80a90 | ||
|
58f2990bc5 | ||
|
7c6fecf9a8 | ||
|
13b36bb14f | ||
|
e2421df543 | ||
|
1e6b2065b5 | ||
|
e2d6f0e37a | ||
|
9ae883970d | ||
|
8019a482b5 | ||
|
36d21f1a1a | ||
|
8a17a8bb45 | ||
|
8dcb81ac82 | ||
|
cd4977383d | ||
|
801e67bc7b | ||
|
7d7541ceeb | ||
|
e8ae1c42a8 | ||
|
74a53b82dc | ||
|
efac173377 | ||
|
35ad04e78b | ||
|
8ab0b859df | ||
|
5e76328243 | ||
|
41e2eed0fc | ||
|
a1ae05e173 | ||
|
f26ee38f2a | ||
|
4391df896c | ||
|
872a7e3a7e | ||
|
82bee1621a | ||
|
d03c08988c | ||
|
632deee0b0 | ||
|
9443cf8ec4 | ||
|
3016a39071 | ||
|
e21db5b80e | ||
|
e639e9bcdc | ||
|
0b1fd5909d | ||
|
13584d1468 | ||
|
c1b3ce202a | ||
|
ce83709ac9 | ||
|
19691a22fd | ||
|
7e187d6b22 | ||
|
55b5d19bd8 | ||
|
8f70959571 | ||
|
9dd8af261f | ||
|
8a77384b0c | ||
|
45d498ef1f | ||
|
da80ff68f1 | ||
|
9592ae247b | ||
|
91428b468b | ||
|
7b5f784419 | ||
|
715fcb5a92 | ||
|
fceeb82917 | ||
|
11c23250dc | ||
|
fd42e7645d | ||
|
d9d75a845f | ||
|
aeef9e2c13 | ||
|
45fc824bac | ||
|
f227f3dc96 | ||
|
1b5eb2be23 | ||
|
27e64adb38 | ||
|
e93008abdd | ||
|
1a75fcddae | ||
|
286e9f13f3 | ||
|
32f86ef5a3 | ||
|
6054db8a29 | ||
|
bec59435e0 | ||
|
4e993e4d0d | ||
|
ad3f20c684 | ||
|
000c21fa0c | ||
|
f1c034f905 | ||
|
a3b2aaefac | ||
|
b7344f5d72 | ||
|
acab849d30 | ||
|
9ee9e5ec34 | ||
|
06d40093b7 | ||
|
cb7f92396f | ||
|
7b17aba789 | ||
|
0f04bd99d0 | ||
|
d1b591e580 | ||
|
d5c71e2057 | ||
|
9e5e4c0c84 | ||
|
1f3c5058f2 | ||
|
9749af25ae | ||
|
0770d850d6 | ||
|
16222b8cd2 | ||
|
73dee81133 | ||
|
503374ad84 | ||
|
c123c310df | ||
|
91836c86eb | ||
|
c9337e33a6 | ||
|
51d4a4f9d0 | ||
|
4db6d89bc6 | ||
|
690757a382 | ||
|
168c27c69e | ||
|
1790e9f28c | ||
|
42633ff642 | ||
|
1aee888374 | ||
|
50174691dc | ||
|
3e6e62d861 | ||
|
902b31b6ee | ||
|
f9ab9f7f1c | ||
|
7b3a032f1e | ||
|
623e54f9ac | ||
|
aa71e826ca | ||
|
6a920e0243 | ||
|
1b6b8afcd0 | ||
|
ff1f0c9ae2 | ||
|
d5477f8c82 | ||
|
5b441ee1a0 | ||
|
2315a04424 | ||
|
1e4f29c5af | ||
|
18a353149e | ||
|
3738565abb | ||
|
793d165af6 | ||
|
3326f9238c | ||
|
ccb3502a56 | ||
|
0038de11f4 | ||
|
807340d924 | ||
|
03c9cc86c6 | ||
|
df23a355c4 | ||
|
604aa3f4b3 | ||
|
f0ca3c819f | ||
|
0461e7fd03 | ||
|
e1eb39d29d | ||
|
77d94fd174 | ||
|
4d67a36952 | ||
|
c1ce84dcb3 | ||
|
114e7a9022 | ||
|
d16ecfe28e | ||
|
9a5bfc1c07 | ||
|
d1b8120b69 | ||
|
06392edef7 | ||
|
44a5aa517b | ||
|
8d52a74d03 | ||
|
da02839efe | ||
|
f5682e9f78 | ||
|
14ba0bbad7 | ||
|
1220d98e7a | ||
|
11bbf75932 | ||
|
d82eb9de24 | ||
|
03ca365a6c | ||
|
2641792e45 | ||
|
43d09575e1 | ||
|
2c276f91da | ||
|
977d3d479e | ||
|
b04cd5d587 | ||
|
36fbf05b15 | ||
|
62eafa5ac7 | ||
|
596e783958 | ||
|
cece953cb4 | ||
|
342bb7fd4d | ||
|
376d374d1f | ||
|
fd2efe5428 | ||
|
a34bddcfd6 | ||
|
d0d9e9375f | ||
|
f6651f22e6 | ||
|
ad3dc75556 | ||
|
b06da8f1f1 | ||
|
e186cf152b | ||
|
316ea29318 | ||
|
b69e576af0 | ||
|
e8e157df45 | ||
|
1294d5e39e | ||
|
93e453aa02 | ||
|
57357010a8 | ||
|
b907cca37e | ||
|
d85cd274c4 | ||
|
87b68a0fd6 | ||
|
e76471b558 | ||
|
d37aef5ccf | ||
|
75e1b51170 | ||
|
9e7cc3ad59 | ||
|
194c71af96 | ||
|
24579ecd6e | ||
|
de8a63e98e | ||
|
3d42fbc189 | ||
|
a2af24d1a9 | ||
|
c6aa2a8317 | ||
|
95bdefb201 | ||
|
c57bf5636c | ||
|
5c9493b348 | ||
|
5e4f263d1c | ||
|
ae64fe0119 | ||
|
5e6e59146f | ||
|
00e9052bee | ||
|
51c21d1fe4 | ||
|
d0b8f0108f | ||
|
cb766858b7 | ||
|
20085dac44 | ||
|
cdcb843ef4 | ||
|
08eda8e30d | ||
|
5443dd2ffa | ||
|
3483c64453 | ||
|
bbc5899a8c | ||
|
bff660919f | ||
|
c69e0e408f | ||
|
6c2cf030e2 | ||
|
285b5189cd | ||
|
e816dce36e | ||
|
6387996871 | ||
|
0d828ac838 | ||
|
a076535090 | ||
|
1a96d253a5 | ||
|
bbd9292784 | ||
|
ef188756a0 | ||
|
f7ad1e7e37 | ||
|
0c2517292f | ||
|
b8ef513c8f | ||
|
e22a91ccc9 | ||
|
b8db9379fe | ||
|
655e883cb9 | ||
|
9b329b9aa4 | ||
|
43eddb470f | ||
|
b470ebea04 | ||
|
61a05a3658 | ||
|
941f6cae55 | ||
|
a604968547 | ||
|
114db5a5ce | ||
|
3ae8c60b87 | ||
|
442850c032 | ||
|
58210e5983 | ||
|
19ed08fda6 | ||
|
e70625d6b1 | ||
|
395d00e058 | ||
|
d6e050ac44 | ||
|
6498be7036 | ||
|
952a0565d7 | ||
|
e3d4b87912 | ||
|
329e5df986 | ||
|
7fd4958d45 | ||
|
42ddd0028c | ||
|
33425a46b8 | ||
|
ba590cbf15 | ||
|
bc0711a5c3 | ||
|
53219061ca | ||
|
decbff0dfd | ||
|
1507ccda40 | ||
|
478862fcc2 | ||
|
39e6123e3b | ||
|
79d49683d6 | ||
|
72ed06442e | ||
|
02a2beaad9 | ||
|
4bf072e4eb | ||
|
4464c6b591 | ||
|
9299697997 | ||
|
93cdaa76da | ||
|
127330f9d7 | ||
|
374dffea0b | ||
|
e44b849de9 | ||
|
a13df0fee0 | ||
|
930b466c9b | ||
|
a8b605eb5e | ||
|
008210c3e2 | ||
|
92f8ec2f01 | ||
|
9ee2481598 | ||
|
8d55cb22a8 | ||
|
2daa5d95a5 | ||
|
9779ff75fd | ||
|
830616a60b | ||
|
e03a03fdc2 | ||
|
1ff3663c91 | ||
|
665dc9e50b | ||
|
00a72254dc | ||
|
0c38be8f8d | ||
|
1ac837b2c2 | ||
|
75642c1489 | ||
|
7106e4c8b1 | ||
|
a36a30b724 | ||
|
4551e1be75 | ||
|
8df3104cd2 | ||
|
e1d17cebe2 | ||
|
82b856b880 | ||
|
4ad4054c90 | ||
|
a0073def2d | ||
|
8f8fe4a97c | ||
|
776302d46b | ||
|
961c002c46 | ||
|
538ab5dd8a | ||
|
a46ab511c5 | ||
|
8948e18df8 | ||
|
5634c81a9b | ||
|
5de4b704fe | ||
|
96049f2e3d | ||
|
b007889efd | ||
|
fe2a8faab6 | ||
|
7b5e532f83 | ||
|
5be130de06 | ||
|
5bae0bebe4 | ||
|
4925946065 | ||
|
78c4e836b1 | ||
|
9f45d35b6b | ||
|
6fab0b3428 | ||
|
f4e7c30785 | ||
|
92cc34d702 | ||
|
ff6122e008 | ||
|
607f045954 | ||
|
be8c9f2bde | ||
|
85381cfaf2 | ||
|
c0efce7c3b | ||
|
d84e866973 | ||
|
37f80e163c | ||
|
0f26ed5476 | ||
|
4b52faa56f | ||
|
ab80de54da | ||
|
54adc5e979 | ||
|
83746de803 | ||
|
cfb54c0c0a | ||
|
4b7fee8f47 | ||
|
f3a53980a8 | ||
|
d723356fca | ||
|
894133a5ad | ||
|
41046145c4 | ||
|
b2a63f9b6f | ||
|
8d8971e7b8 | ||
|
ba562b2b7a | ||
|
73dc2d3ae5 | ||
|
b81b237fa4 | ||
|
3b1129a546 | ||
|
2057c37b67 | ||
|
3273937d01 | ||
|
d45edf248c | ||
|
5fd0b80027 | ||
|
04114fd201 | ||
|
983aaaeb03 | ||
|
e529b67d19 | ||
|
39b707a6d2 | ||
|
9283bba22f | ||
|
53f46612d9 | ||
|
2fda738623 | ||
|
38b336df80 | ||
|
0177fe2617 | ||
|
7fb9d6d573 | ||
|
14eea8293d | ||
|
1e1158c78b | ||
|
fccc168a6f | ||
|
6169ae2d3d | ||
|
6eb502b27b | ||
|
a2cb8561eb | ||
|
59500bb229 | ||
|
a8d3a0b102 | ||
|
c6685c65fd | ||
|
31174e1a58 | ||
|
465ffe2840 | ||
|
a25d5aaa30 | ||
|
65cec1a6ef | ||
|
c22b52d60e | ||
|
266877a7c3 | ||
|
c74e3dc300 | ||
|
954caad094 | ||
|
c026141bb6 | ||
|
1e08a76f1e | ||
|
1aa38057ef | ||
|
75cf82505b | ||
|
b735354545 | ||
|
6078550944 | ||
|
716cf4d96b | ||
|
4268c64672 | ||
|
a110c4a377 | ||
|
d66f7c0fa2 | ||
|
59069d3fd8 | ||
|
90e0d12d8f | ||
|
b84b672185 | ||
|
9d9edcf49d | ||
|
9a640cbe72 | ||
|
9ab58ebf65 | ||
|
65eed8ff8e | ||
|
0f5a1a9485 | ||
|
4552cb8552 | ||
|
21c7c45701 | ||
|
81ff49158a | ||
|
d99673cf22 | ||
|
6e01c25ad1 | ||
|
026aec1860 | ||
|
ad2ef2599a | ||
|
c5b42a1afe | ||
|
e89202ea02 | ||
|
0aeb898418 | ||
|
24f9d04c72 | ||
|
84d0342cef | ||
|
5ae53d4986 | ||
|
0d7753d266 | ||
|
628c0211d5 | ||
|
dbecff5fab | ||
|
7a88ce5b98 | ||
|
2b7fd8c81c | ||
|
a8b9d7eb27 | ||
|
71af3370c4 | ||
|
40858cc79c | ||
|
3940436ae2 | ||
|
c3da64a686 | ||
|
4065c66c24 | ||
|
94f16a8961 | ||
|
aa7e9f8d78 | ||
|
5445eaeed5 | ||
|
07bc68e8d8 | ||
|
ec4128df29 | ||
|
f41fd243b6 | ||
|
9f9490e1ae | ||
|
0612bb7010 | ||
|
7ccfd41fa2 | ||
|
692decba26 | ||
|
1b9cb073b9 | ||
|
380748c340 | ||
|
a966542b8a | ||
|
8833fd4dc5 | ||
|
1877dc98c9 | ||
|
3e98579a83 | ||
|
16ed73bec5 | ||
|
ae9f4b64ca | ||
|
870ae593c3 | ||
|
135c2bd908 | ||
|
6eeb528cd1 | ||
|
815f039bd2 | ||
|
81f2078cdb | ||
|
794aa3390c | ||
|
d922149528 | ||
|
2958b91f62 | ||
|
cdfcd39b69 | ||
|
c4d4fceaa7 | ||
|
d730835599 | ||
|
a84f14abee | ||
|
278da162dc | ||
|
baf60a870c | ||
|
99c9a82021 | ||
|
bf46352772 | ||
|
a2176e6524 | ||
|
50ae6dad80 | ||
|
809a2e13f8 | ||
|
b81a7e3160 | ||
|
afe3ff9aaa | ||
|
b9ec690a2f | ||
|
d430d12909 | ||
|
6522304c17 | ||
|
dba9887351 | ||
|
e6c8fcfed4 | ||
|
0a6d974274 | ||
|
06ce029fb9 | ||
|
6b6d06fa08 | ||
|
825c3a4a4b | ||
|
5dab9b575b | ||
|
2d863ff7bd | ||
|
27ce25199f | ||
|
28828566e9 | ||
|
7e6da17b9f | ||
|
ac5b3cbc0a | ||
|
6183f3fead | ||
|
4945e8be99 | ||
|
42624fdc75 | ||
|
e2409d34b5 | ||
|
9211c8ffbc | ||
|
68922bccc4 | ||
|
ed75148574 | ||
|
8c36926a54 | ||
|
14abc514ed | ||
|
8a39adb7d8 | ||
|
0e57793fc6 | ||
|
9df0497931 | ||
|
f2006a6f19 | ||
|
689dc3b1c9 | ||
|
0b55d29b6a | ||
|
99178701db | ||
|
d476fc37f8 | ||
|
b3bf8485a2 | ||
|
113bda7072 | ||
|
b0b7668261 | ||
|
4661dcadd4 | ||
|
3d46ce87d7 | ||
|
ebfd071c3c | ||
|
c6d45aceb8 | ||
|
87cf7029c3 | ||
|
06f68996cf | ||
|
ba98b079eb | ||
|
16bb5630bc | ||
|
ce97cd9708 | ||
|
99ca2eec6b | ||
|
9390642d49 | ||
|
df9f66149b | ||
|
6a2fb7a1d1 | ||
|
ee3280a94f | ||
|
296f017a16 | ||
|
242af8c222 | ||
|
74fdb82c73 | ||
|
8fde921fbe | ||
|
48cbe5f797 | ||
|
97454ee0cb | ||
|
cd0705f660 | ||
|
65da6e2e3e | ||
|
7f7d121f90 | ||
|
2547d97917 | ||
|
2fa0e902f0 | ||
|
8b77b2fc99 | ||
|
6c9f3cf15c | ||
|
7a3e8aad74 | ||
|
88610dfc0e | ||
|
0784d6e3cb | ||
|
897aeb207f | ||
|
b95caec47d | ||
|
7e785937b3 | ||
|
99289bed0a | ||
|
bf0114a372 | ||
|
183c99caf8 | ||
|
e0a25f3d93 | ||
|
c99ad5d760 | ||
|
59e11a2f75 | ||
|
dbab9c538c | ||
|
d9d03f10c3 | ||
|
c3e0e1de43 | ||
|
ed753e10df | ||
|
630ab53881 | ||
|
bbbb6bff1f | ||
|
6b63dc83c3 | ||
|
b19cde437e | ||
|
4637000015 | ||
|
60f7b22536 | ||
|
a516227511 | ||
|
f0da497005 | ||
|
ba8175dd5d | ||
|
129d6e8cc4 | ||
|
59af6f852a | ||
|
8f34d47e21 | ||
|
b3df3dcd82 | ||
|
992876e98f | ||
|
eca6e7c547 | ||
|
a75f5cdd86 | ||
|
b3da9c3ede | ||
|
17a5b56767 | ||
|
f5e758d239 | ||
|
cdddd079cc | ||
|
fba34cf8ba | ||
|
dda9303c69 | ||
|
7d47ebdbcd | ||
|
d6c489212b | ||
|
68a2329305 | ||
|
90bc1adb77 | ||
|
af7fa1438e | ||
|
6f04cbb1fb | ||
|
d99f0355e3 | ||
|
1d99a2baaa | ||
|
4c99a1f80a | ||
|
fe3dbc63fc | ||
|
8e16477b50 | ||
|
ce9aefc8aa | ||
|
f3269ef5f1 | ||
|
63e5cfcaab | ||
|
0fb210edbf | ||
|
4254e74196 | ||
|
12e6d49993 | ||
|
dae2a92241 | ||
|
76fada6839 | ||
|
5980a9fb23 | ||
|
1bf23e5bb6 | ||
|
e0b2443737 | ||
|
148820b2a9 | ||
|
9c4214b416 | ||
|
4c7a3faef5 | ||
|
9f013fee98 | ||
|
6d8f9f4a49 | ||
|
d27293d9bf | ||
|
b011420f28 | ||
|
d533dafb56 | ||
|
078f916446 | ||
|
c28d4a89d4 | ||
|
6531dfeacd | ||
|
dbc8becff4 | ||
|
99ee8f1a83 | ||
|
7465bfa65e | ||
|
b939a13923 | ||
|
41ccce129d | ||
|
529444be92 | ||
|
210914d562 | ||
|
3e85dfc5e5 | ||
|
453103d191 | ||
|
3f54cc41a8 | ||
|
e8e8b273bb | ||
|
2a6b7c2306 | ||
|
cdc54fb017 | ||
|
6d1d35e4b8 | ||
|
72e9e86732 | ||
|
3e9c1d1e5a | ||
|
8f5760bc16 | ||
|
6bd5d0a26d | ||
|
bea1065693 | ||
|
8b742dc132 | ||
|
dad7fede39 | ||
|
7e251883e1 | ||
|
d6fbb2aba4 | ||
|
79e9ba31d2 | ||
|
832a6f4412 | ||
|
4e8371cb1f | ||
|
d22962e4e0 | ||
|
2ff1d580f1 | ||
|
64f128c111 | ||
|
08b7a39f75 | ||
|
ceddb5ca9a | ||
|
bbe85f2b40 | ||
|
ef779ae0da | ||
|
003c363cf4 | ||
|
dccf867561 | ||
|
5d904c3454 | ||
|
9a31c01064 | ||
|
32b723d5c6 | ||
|
36cc58f85d | ||
|
09543c2d99 | ||
|
a7400019ce | ||
|
1fc1a207b0 | ||
|
59ec2ccec9 | ||
|
d4cefcc0da | ||
|
872f98d9ef | ||
|
2ba1172b73 | ||
|
e4e3254a35 | ||
|
04c5a696e4 | ||
|
ae58f70718 | ||
|
faff37677c | ||
|
691711cd3e | ||
|
8189cc72d0 | ||
|
c6f14a5213 | ||
|
4db6748cc5 | ||
|
158f2931a7 | ||
|
4b59685af1 | ||
|
9e9b826aa1 | ||
|
64e8b010af | ||
|
1b6e8b9f09 | ||
|
b04decfaae | ||
|
79aa9b5cf6 | ||
|
72e6020d50 | ||
|
a87b1b3738 | ||
|
fa8a462827 | ||
|
0ebe5b0a7f | ||
|
39c8dc708f | ||
|
dcc4e908c2 | ||
|
b40cdc2b55 | ||
|
2615c2d705 | ||
|
23fe70ec52 | ||
|
331bcfc0d0 | ||
|
7ff18fb9cc | ||
|
ab9e277f15 | ||
|
0439d1cf44 | ||
|
e1c9a10311 | ||
|
9ad4ff93a0 | ||
|
89fcfe1551 | ||
|
a24a782174 | ||
|
5a2f31c887 | ||
|
67a843c0d4 | ||
|
b9f43ad13b | ||
|
b8a00b410a | ||
|
e00b8ed948 | ||
|
590b3f0416 | ||
|
62fbfa9856 | ||
|
1f9cb9f999 | ||
|
13dd311c9b | ||
|
1e1b83c07b | ||
|
8f08e231fa | ||
|
f0ada3e8d4 | ||
|
9171cefaad | ||
|
247ecf1b16 | ||
|
3f7e5e99d5 | ||
|
6d43db4f74 | ||
|
128654b60b | ||
|
21095f2dc2 | ||
|
420f5c8682 | ||
|
85b147584e | ||
|
7f24b768c3 | ||
|
787ff2408c | ||
|
64943a5187 | ||
|
486ad71287 | ||
|
c9125b6232 | ||
|
87c7d55469 | ||
|
14b741b0ef | ||
|
89180f9822 | ||
|
517ba7aa70 | ||
|
68064d7bc3 | ||
|
62afcbbb4a | ||
|
7ef1f9b7c1 | ||
|
877fd611ac | ||
|
dc9f1dbf69 | ||
|
895a80d38a | ||
|
6a9f983a16 | ||
|
22fa1da36e | ||
|
fb99177766 | ||
|
67441d0ca3 | ||
|
b5163d2f8d | ||
|
29263c947e | ||
|
08669adf1b | ||
|
68ad329c9d | ||
|
d6e18114eb | ||
|
e5c11edd7b | ||
|
fffc249f21 | ||
|
739c7e5968 | ||
|
f732ea1ab5 | ||
|
ae87bb87d0 | ||
|
3d60d73f76 | ||
|
0950253ca6 | ||
|
f6d8ca74d5 | ||
|
00cdefc7a2 | ||
|
d850414af1 | ||
|
b380b06c5d | ||
|
c64efd9e30 | ||
|
cd43c08f2b | ||
|
28b13b31aa | ||
|
10ac040338 | ||
|
7e1c1e4869 | ||
|
a2803f37e7 | ||
|
18348b382e | ||
|
64e68ea690 | ||
|
bee13ef1cf | ||
|
e73ef9d219 | ||
|
8b3fbdef34 | ||
|
e2550e48f1 | ||
|
62beabff7c | ||
|
5e06dfcb32 | ||
|
35befde2ad | ||
|
bc73b00672 | ||
|
00ea7f2676 | ||
|
fe758dbe2c | ||
|
8811d6f2aa | ||
|
1939cfd9cb | ||
|
7860770232 | ||
|
6216ed573e | ||
|
973f7d55bd | ||
|
0c74168c42 | ||
|
3eba1c72ef | ||
|
e83d440f92 | ||
|
6558400123 | ||
|
389f5b59dd | ||
|
08353e37cf | ||
|
c8bead4752 | ||
|
9df71488b3 | ||
|
ef59b5e064 | ||
|
0c061f3d9d | ||
|
88b312d3a4 | ||
|
0858125fd4 | ||
|
89d855ba58 | ||
|
d415125a68 | ||
|
0da2ecac41 | ||
|
bdd09cfaf4 | ||
|
9504a30d15 | ||
|
9a1701fbcb | ||
|
c68c346d2b | ||
|
e2447a80ea | ||
|
936ce1f273 | ||
|
6ef7a1f9e5 | ||
|
23c2ae55c7 | ||
|
8bfae263c1 | ||
|
1c2ddf5612 | ||
|
5a8d30b87b | ||
|
b7b22996bb | ||
|
552a74d829 | ||
|
c37bd936c3 | ||
|
4e8c1d8666 | ||
|
72f6dc612c | ||
|
f051908edc | ||
|
420b38fde9 | ||
|
34e7ac6817 | ||
|
2b5a58a33c | ||
|
e513a6c538 | ||
|
8c2d331426 | ||
|
caee80f39f | ||
|
01b2f506d6 | ||
|
df8c7e3e18 | ||
|
3f1675c941 | ||
|
6a56fe9240 | ||
|
51ee6a7dbb | ||
|
14a356b178 | ||
|
4eff0c0480 | ||
|
8f00325d73 | ||
|
9a90a4524e | ||
|
31a5a359bb | ||
|
bf97419a18 | ||
|
4c26106f76 | ||
|
15e4e6a23e | ||
|
6b467e52bb | ||
|
08b438b076 | ||
|
a14f2b4722 | ||
|
a1a9b24952 | ||
|
f979709590 | ||
|
e9d05765c2 | ||
|
7756fc599d | ||
|
b31fbc832d | ||
|
1bd04b5a02 | ||
|
6466cc9eb1 | ||
|
f7fc0c03be | ||
|
67312b7991 | ||
|
f4a7308f61 | ||
|
53d770b3a2 | ||
|
7ed6e985e2 | ||
|
da6b95a075 | ||
|
565baee64b | ||
|
36e28f96f6 | ||
|
215dd33149 | ||
|
5646c90e87 | ||
|
97e0059b05 | ||
|
8445efca81 | ||
|
a6a66c3a21 | ||
|
cc99be369e | ||
|
1a5007a920 | ||
|
3818aacaa5 | ||
|
e1d039d56d | ||
|
a4815d5509 | ||
|
ba00aab7a0 | ||
|
aaf8d6a98d | ||
|
b008226203 | ||
|
eff3eff916 | ||
|
bf327822d6 | ||
|
63da0df9c2 | ||
|
13a44c4b7f | ||
|
f04de1335c | ||
|
c08fd12706 | ||
|
d7992a77f6 | ||
|
8c787b5fa9 | ||
|
44fafc477f | ||
|
780fbc2897 | ||
|
620a6baa59 | ||
|
89073268fd | ||
|
6ed44b1ca9 | ||
|
746cb7c328 | ||
|
8ba3d978db | ||
|
c275673dbf | ||
|
9e3045dae1 | ||
|
c2bcd98369 | ||
|
683b72c3c1 | ||
|
3358ed643b | ||
|
2724a0b3cc | ||
|
0deeff45a0 | ||
|
fd47711d68 | ||
|
c61c864f73 | ||
|
d9619512e1 | ||
|
7863dabb54 | ||
|
cf97685735 | ||
|
92686513a2 | ||
|
8c186dad9b | ||
|
3de0f78449 | ||
|
8aafd5f9e3 | ||
|
cc50812d6f | ||
|
467e864adf | ||
|
0a5ec5f380 | ||
|
27bd52b540 | ||
|
9196ea9d5a | ||
|
d537c5e67d | ||
|
e774a5534c | ||
|
258a844b63 | ||
|
cbaac5de6d | ||
|
1f99e08822 | ||
|
eb62cbc494 | ||
|
1e0a1fc9cb | ||
|
25093c3f54 | ||
|
0904aa6395 | ||
|
c42ef16585 | ||
|
1f44d29a0f | ||
|
05ed7ed8e0 | ||
|
f4b0c77247 | ||
|
487942b562 | ||
|
8b037fe4ea | ||
|
cd58de63de | ||
|
5859be3886 | ||
|
d45b7860a5 | ||
|
0cdaa8a4a5 | ||
|
3b80dc166a | ||
|
fdae2107d9 | ||
|
44b80414d3 | ||
|
b1492cb30f | ||
|
5c225e8e07 | ||
|
3068c3bb65 | ||
|
ac293bde7f | ||
|
a53d3975c9 | ||
|
94beb42a68 | ||
|
5a7808160e | ||
|
9063f1e089 | ||
|
fa68c1e116 | ||
|
ba165db3d3 | ||
|
f2c862db07 | ||
|
a90dd15e6b | ||
|
f9c58d7c4e | ||
|
ce64c9ad5e | ||
|
dec7af167b | ||
|
14c7f553a9 | ||
|
7a74087601 | ||
|
9eefb360a7 | ||
|
3f50e94e33 | ||
|
bbd8ce1008 | ||
|
30870f51f4 | ||
|
741c4f3ecc | ||
|
611684187d | ||
|
c8428cb3e4 | ||
|
1202160b57 | ||
|
59ee34efc0 | ||
|
7185019ae6 | ||
|
090ef04012 |
4
.gitattributes
vendored
@@ -1,6 +1,8 @@
|
||||
.gitattributes eol=lf
|
||||
.gitignore eol=lf
|
||||
*.txt eol=lf
|
||||
*.htm eol=lf
|
||||
*.html eol=lf
|
||||
*.h eol=lf
|
||||
*.c eol=lf
|
||||
*.inl eol=lf
|
||||
@@ -29,6 +31,7 @@
|
||||
*.xib eol=lf
|
||||
*.plist eol=lf
|
||||
*.java eol=lf
|
||||
*.js eol=lf
|
||||
*.igs eol=lf
|
||||
*.iges eol=lf
|
||||
*.stp eol=lf
|
||||
@@ -44,6 +47,7 @@
|
||||
FILES eol=lf
|
||||
PACKAGES eol=lf
|
||||
EXTERNLIB eol=lf
|
||||
EXTERNLIB_STATIC eol=lf
|
||||
UDLIST eol=lf
|
||||
tests/* eol=lf
|
||||
tests/*/* eol=lf
|
||||
|
6
.gitignore
vendored
@@ -12,12 +12,6 @@
|
||||
win32
|
||||
win64
|
||||
|
||||
# standard names of directories for objects and binaries for samples
|
||||
bin
|
||||
obj
|
||||
Debug
|
||||
Release
|
||||
|
||||
# project files and artifacts
|
||||
/adm/msvc
|
||||
/adm/wnt
|
||||
|
282
CMakeLists.txt
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR)
|
||||
cmake_minimum_required (VERSION 3.1 FATAL_ERROR)
|
||||
|
||||
set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/adm/cmake")
|
||||
|
||||
@@ -6,6 +6,10 @@ set (CMAKE_SUPPRESS_REGENERATION TRUE)
|
||||
|
||||
set (CMAKE_CONFIGURATION_TYPES Release Debug RelWithDebInfo CACHE INTERNAL "" FORCE)
|
||||
|
||||
# set using C++ standard
|
||||
set (BUILD_CPP_STANDARD "C++11" CACHE STRING "Select using c++ standard.")
|
||||
set_property(CACHE BUILD_CPP_STANDARD PROPERTY STRINGS "C++11" "C++14" "C++17" "C++20" "C++23")
|
||||
|
||||
# macro: include patched file if it exists
|
||||
macro (OCCT_INCLUDE_CMAKE_FILE BEING_INCLUDED_FILE)
|
||||
if (BUILD_PATCH AND EXISTS "${BUILD_PATCH}/${BEING_INCLUDED_FILE}.cmake")
|
||||
@@ -56,6 +60,20 @@ set_property (GLOBAL PROPERTY OCC_VERSION_MAJOR ${OCC_VERSION_MAJOR})
|
||||
set_property (GLOBAL PROPERTY OCC_VERSION_MINOR ${OCC_VERSION_MINOR})
|
||||
set_property (GLOBAL PROPERTY OCC_VERSION_MAINTENANCE ${OCC_VERSION_MAINTENANCE})
|
||||
|
||||
# set soversion variable determining compatibility version on platforms with symlinks
|
||||
# 0 - for empty, 1 - for major, 2 - for major.minor, 3 - for major.minor.maintenance
|
||||
if (NOT BUILD_SOVERSION_NUMBERS)
|
||||
set (BUILD_SOVERSION_NUMBERS "0" CACHE STRING "${BUILD_SOVERSION_NUMBERS_DESCR}" FORCE)
|
||||
SET_PROPERTY(CACHE BUILD_SOVERSION_NUMBERS PROPERTY STRINGS 0 1 2 3)
|
||||
|
||||
# update default state of soversion on different platforms
|
||||
if (WIN32 OR ANDROID OR EMSCRIPTEN)
|
||||
set (BUILD_SOVERSION_NUMBERS 0)
|
||||
else()
|
||||
set (BUILD_SOVERSION_NUMBERS 2)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set (INSTALL_TEST_CASES OFF CACHE BOOL "${INSTALL_TEST_CASES_DESCR}")
|
||||
|
||||
# Regeneration of OCCT resource files
|
||||
@@ -91,6 +109,16 @@ if (NOT DEFINED BUILD_RELEASE_DISABLE_EXCEPTIONS)
|
||||
set (BUILD_RELEASE_DISABLE_EXCEPTIONS ON CACHE BOOL "${BUILD_RELEASE_DISABLE_EXCEPTIONS_DESCR}")
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
set (BUILD_FORCE_RelWithDebInfo OFF CACHE BOOL "${BUILD_FORCE_RelWithDebInfo_DESCR}")
|
||||
else()
|
||||
set (BUILD_FORCE_RelWithDebInfo OFF)
|
||||
endif()
|
||||
|
||||
if (BUILD_FORCE_RelWithDebInfo)
|
||||
set (CMAKE_CONFIGURATION_TYPES Release Debug CACHE INTERNAL "" FORCE)
|
||||
endif()
|
||||
|
||||
# option to enable or disable use of precompiled headers
|
||||
if (NOT DEFINED BUILD_USE_PCH)
|
||||
set (BUILD_USE_PCH OFF CACHE BOOL "${BUILD_USE_PCH_DESCR}")
|
||||
@@ -219,7 +247,7 @@ if (NOT DEFINED INSTALL_DIR_BIN)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# define folder contaning all shell/batch scripts
|
||||
# define folder containing all shell/batch scripts
|
||||
if (NOT DEFINED INSTALL_DIR_SCRIPT)
|
||||
if ("${INSTALL_DIR_LAYOUT}" STREQUAL "Unix")
|
||||
set (INSTALL_DIR_SCRIPT "${INSTALL_DIR_BIN}" CACHE PATH "${INSTALL_DIR_SCRIPT_DESCR}")
|
||||
@@ -311,7 +339,7 @@ if (NOT DEFINED INSTALL_DIR_DOC)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# define folder contaning CMake configuration files
|
||||
# define folder containing CMake configuration files
|
||||
if (NOT DEFINED INSTALL_DIR_CMAKE)
|
||||
if ("${INSTALL_DIR_LAYOUT}" STREQUAL "Unix")
|
||||
if (INSTALL_DIR_WITH_VERSION)
|
||||
@@ -364,12 +392,28 @@ if (MSVC)
|
||||
endif()
|
||||
|
||||
# whether use optional 3rdparty or not
|
||||
if (APPLE)
|
||||
set (USE_GLX OFF CACHE BOOL "${USE_GLX_DESCR}")
|
||||
set (USE_TK ON CACHE BOOL "${USE_TK_DESCR}")
|
||||
set (USE_FREETYPE ON CACHE BOOL "${USE_FREETYPE_DESCR}")
|
||||
set (USE_FREEIMAGE OFF CACHE BOOL "${USE_FREEIMAGE_DESCR}")
|
||||
set (USE_FFMPEG OFF CACHE BOOL "${USE_FFMPEG_DESCR}")
|
||||
set (USE_OPENVR OFF CACHE BOOL "${USE_OPENVR_DESCR}")
|
||||
set (USE_RAPIDJSON OFF CACHE BOOL "${USE_RAPIDJSON_DESCR}")
|
||||
set (USE_DRACO OFF CACHE BOOL "${USE_DRACO_DESCR}")
|
||||
set (USE_TBB OFF CACHE BOOL "${USE_TBB_DESCR}")
|
||||
set (USE_EIGEN OFF CACHE BOOL "${USE_EIGEN_DESCR}")
|
||||
|
||||
if (WIN32 OR ANDROID OR IOS OR EMSCRIPTEN)
|
||||
# no Xlib
|
||||
elseif (APPLE)
|
||||
set (USE_XLIB OFF CACHE BOOL "${USE_XLIB_DESCR}")
|
||||
else()
|
||||
set (USE_XLIB ON CACHE BOOL "${USE_XLIB_DESCR}")
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
set (USE_D3D OFF CACHE BOOL "${USE_D3D_DESCR}")
|
||||
else()
|
||||
set (USE_D3D OFF)
|
||||
endif()
|
||||
|
||||
# Enable/Disable the floating point exceptions (FPE) during runtime.
|
||||
@@ -383,6 +427,15 @@ else()
|
||||
set (BUILD_ENABLE_FPE_SIGNAL_HANDLER 0)
|
||||
endif()
|
||||
|
||||
# OpenGL
|
||||
if (ANDROID OR IOS OR EMSCRIPTEN OR "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
|
||||
set (USE_OPENGL OFF)
|
||||
set (USE_GLES2 ON)
|
||||
else()
|
||||
set (USE_OPENGL ON CACHE BOOL "${USE_OPENGL_DESCR}")
|
||||
set (USE_GLES2 OFF CACHE BOOL "${USE_GLES2_DESCR}")
|
||||
endif()
|
||||
|
||||
# include the patched or original list of modules
|
||||
# list <MODULENAME>_TOOLKITS is created foreach module and contains its toolkits
|
||||
# list <OCCT_MODULES> will contain all modules
|
||||
@@ -414,10 +467,6 @@ if (NOT DEFINED BUILD_DOC_Overview)
|
||||
set (BUILD_DOC_Overview ${CAN_DOXYGEN_BE_USED} CACHE BOOL "${BUILD_DOC_Overview_DESCR}")
|
||||
endif()
|
||||
|
||||
if (NOT USE_D3D)
|
||||
list (REMOVE_ITEM Visualization_TOOLKITS TKD3DHost)
|
||||
endif()
|
||||
|
||||
# accumulate used toolkits (first level) in BUILD_TOOLKITS variable
|
||||
list (APPEND BUILD_TOOLKITS ${BUILD_ADDITIONAL_TOOLKITS})
|
||||
|
||||
@@ -427,12 +476,6 @@ foreach (OCCT_MODULE ${OCCT_MODULES})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# DRAWEXE excluded when library build is static
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
list (REMOVE_ITEM BUILD_TOOLKITS DRAWEXE)
|
||||
message (STATUS "Info: DRAWEXE is not included due to ${BUILD_LIBRARY_TYPE} build library type")
|
||||
endif()
|
||||
|
||||
# accumulate all used toolkits
|
||||
list (REMOVE_DUPLICATES BUILD_TOOLKITS)
|
||||
set (RAW_BUILD_TOOLKITS)
|
||||
@@ -484,36 +527,71 @@ endif()
|
||||
# search for CSF variable in EXTERNLIB of each being used toolkit
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_FreeImagePlus CAN_USE_FREEIMAGE)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_TclLibs USE_TCL)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_FREETYPE USE_FREETYPE)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_OpenGlLibs CAN_USE_GLES2)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_TclTkLibs CAN_USE_TK)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_XwLibs CAN_USE_XLIB)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_FREETYPE CAN_USE_FREETYPE)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_OpenGlLibs CAN_USE_OPENGL)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_OpenGlesLibs CAN_USE_GLES2)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_TBB CAN_USE_TBB)
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_EIGEN CAN_USE_EIGEN)
|
||||
|
||||
# define CSF variable
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_csf")
|
||||
|
||||
# Tcl (mandatory for Draw Harness)
|
||||
if (USE_TCL)
|
||||
message (STATUS "Info: TCL is used by OCCT")
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/tcl")
|
||||
|
||||
message (STATUS "Info: TK is used by OCCT")
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/tk")
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TCL")
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TK")
|
||||
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_TCL")
|
||||
endif()
|
||||
|
||||
# Tk (optional for Draw Harness)
|
||||
if (CAN_USE_TK)
|
||||
if (USE_TK)
|
||||
message (STATUS "Info: TK is used by OCCT")
|
||||
add_definitions (-DHAVE_TK)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/tk")
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TK")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_TK")
|
||||
endif()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET ("USE_TK")
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TK")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_TK")
|
||||
endif()
|
||||
|
||||
if (USE_FREETYPE)
|
||||
message (STATUS "Info: Freetype is used by OCCT")
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/freetype")
|
||||
# Xlib
|
||||
if (CAN_USE_XLIB)
|
||||
if (USE_XLIB)
|
||||
message (STATUS "Info: Xlib is used by OCCT")
|
||||
add_definitions (-DHAVE_XLIB)
|
||||
if (APPLE)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/glx")
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET ("USE_XLIB")
|
||||
endif()
|
||||
|
||||
# FreeType
|
||||
if (CAN_USE_FREETYPE)
|
||||
if (USE_FREETYPE)
|
||||
message (STATUS "Info: FreeType is used by OCCT")
|
||||
add_definitions (-DHAVE_FREETYPE)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/freetype")
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_FREETYPE")
|
||||
OCCT_CHECK_AND_UNSET ("3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2")
|
||||
OCCT_CHECK_AND_UNSET ("3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_FREETYPE")
|
||||
endif()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET ("USE_FREETYPE")
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_FREETYPE")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_FREETYPE")
|
||||
endif()
|
||||
|
||||
# VTK
|
||||
@@ -532,25 +610,8 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# D3D
|
||||
if (USE_D3D)
|
||||
add_definitions (-DHAVE_D3D)
|
||||
#if(MSVC_VERSION LESS 1700)
|
||||
#OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/d3d")
|
||||
#endif()
|
||||
endif()
|
||||
|
||||
# GLX
|
||||
if (USE_GLX)
|
||||
add_definitions (-DMACOSX_USE_GLX)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/glx")
|
||||
endif()
|
||||
|
||||
# FREEIMAGE
|
||||
|
||||
if (CAN_USE_FREEIMAGE)
|
||||
set (USE_FREEIMAGE OFF CACHE BOOL "${USE_FREEIMAGE_DESCR}")
|
||||
|
||||
if (USE_FREEIMAGE)
|
||||
add_definitions (-DHAVE_FREEIMAGE)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/freeimage")
|
||||
@@ -565,13 +626,29 @@ else()
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_FREEIMAGE")
|
||||
endif()
|
||||
|
||||
# OpenVR
|
||||
# search for CSF_OpenVR variable in EXTERNLIB of each being used toolkit
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_OpenVR CAN_USE_OPENVR)
|
||||
if (CAN_USE_OPENVR)
|
||||
if (USE_OPENVR)
|
||||
add_definitions (-DHAVE_OPENVR)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/openvr")
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_OPENVR")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_OPENVR")
|
||||
endif()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET ("USE_OPENVR")
|
||||
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_OPENVR")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_OPENVR")
|
||||
endif()
|
||||
|
||||
# FFmpeg
|
||||
# search for CSF_FFmpeg variable in EXTERNLIB of each being used toolkit
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_FFmpeg CAN_USE_FFMPEG)
|
||||
|
||||
if (CAN_USE_FFMPEG)
|
||||
set (USE_FFMPEG OFF CACHE BOOL "${USE_FFMPEG_DESCR}")
|
||||
|
||||
if (USE_FFMPEG)
|
||||
add_definitions (-DHAVE_FFMPEG)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/ffmpeg")
|
||||
@@ -586,23 +663,33 @@ else()
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_FFMPEG")
|
||||
endif()
|
||||
|
||||
# OpenGL
|
||||
if (CAN_USE_OPENGL)
|
||||
if (USE_OPENGL)
|
||||
add_definitions (-DHAVE_OPENGL_EXT)
|
||||
else()
|
||||
list (REMOVE_ITEM BUILD_TOOLKITS TKOpenGl)
|
||||
list (REMOVE_ITEM BUILD_TOOLKITS TKOpenGlTest)
|
||||
endif()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET ("USE_OPENGL")
|
||||
endif()
|
||||
|
||||
# OpenGL ES 2.0
|
||||
if (CAN_USE_GLES2)
|
||||
if ("${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
|
||||
set (USE_GLES2 ON)
|
||||
else()
|
||||
set (USE_GLES2 OFF CACHE BOOL "${USE_GLES2_DESCR}")
|
||||
endif()
|
||||
|
||||
if (USE_GLES2)
|
||||
add_definitions (-DHAVE_GLES2)
|
||||
add_definitions (-DHAVE_GLES2_EXT)
|
||||
if (NOT IOS)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/egl")
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/gles2")
|
||||
endif()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_EGL")
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_GLES2")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_EGL")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_GLES2")
|
||||
list (REMOVE_ITEM BUILD_TOOLKITS TKOpenGles)
|
||||
list (REMOVE_ITEM BUILD_TOOLKITS TKOpenGlesTest)
|
||||
endif()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET ("USE_GLES2")
|
||||
@@ -613,22 +700,31 @@ else()
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_GLES2")
|
||||
endif()
|
||||
|
||||
# D3D
|
||||
if (USE_D3D)
|
||||
add_definitions (-DHAVE_D3D)
|
||||
#if(MSVC_VERSION LESS 1700)
|
||||
#OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/d3d")
|
||||
#endif()
|
||||
else()
|
||||
list (REMOVE_ITEM BUILD_TOOLKITS TKD3DHost)
|
||||
list (REMOVE_ITEM BUILD_TOOLKITS TKD3DHostTest)
|
||||
endif()
|
||||
|
||||
# TBB
|
||||
if (NOT DEFINED ANDROID AND CAN_USE_TBB)
|
||||
set (USE_TBB OFF CACHE BOOL "${USE_TBB_DESCR}")
|
||||
|
||||
if (USE_TBB)
|
||||
add_definitions (-DHAVE_TBB)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/tbb")
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TBB")
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TBB12")
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TBBMALLOC")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_TBB")
|
||||
endif()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET ("USE_TBB")
|
||||
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TBB")
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TBB12")
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TBBMALLOC")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_TBB")
|
||||
endif()
|
||||
@@ -637,8 +733,6 @@ endif()
|
||||
# search for CSF_RapidJSON variable in EXTERNLIB of each being used toolkit
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_RapidJSON CAN_USE_RAPIDJSON)
|
||||
if (CAN_USE_RAPIDJSON)
|
||||
set (USE_RAPIDJSON OFF CACHE BOOL "${USE_RAPIDJSON_DESCR}")
|
||||
|
||||
if (USE_RAPIDJSON)
|
||||
add_definitions (-DHAVE_RAPIDJSON)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/rapidjson")
|
||||
@@ -653,10 +747,26 @@ else()
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_RAPIDJSON")
|
||||
endif()
|
||||
|
||||
# Draco library
|
||||
# search for CSF_Draco variable in EXTERNLIB of each being used toolkit
|
||||
OCCT_IS_PRODUCT_REQUIRED (CSF_Draco CAN_USE_DRACO)
|
||||
if (CAN_USE_DRACO)
|
||||
if (USE_DRACO)
|
||||
add_definitions (-DHAVE_DRACO)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/draco")
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_DRACO")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_DRACO")
|
||||
endif()
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET ("USE_DRACO")
|
||||
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_DRACO")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_DRACO")
|
||||
endif()
|
||||
|
||||
# EIGEN
|
||||
if (CAN_USE_EIGEN)
|
||||
set (USE_EIGEN OFF CACHE BOOL "${USE_EIGEN_DESCR}")
|
||||
|
||||
if (USE_EIGEN)
|
||||
add_definitions (-DHAVE_EIGEN)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/eigen")
|
||||
@@ -708,6 +818,18 @@ else()
|
||||
OCCT_CHECK_AND_UNSET ("3RDPARTY_FLEX_EXECUTABLE")
|
||||
endif()
|
||||
|
||||
# qt for inspector and samples
|
||||
if (BUILD_Inspector OR BUILD_SAMPLES_QT)
|
||||
# check qt 3rdparty path
|
||||
add_definitions (-DHAVE_QT)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/qt")
|
||||
message (STATUS "Info: Qt is used by OCCT")
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_QT")
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TQTMALLOC")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_QT")
|
||||
endif()
|
||||
|
||||
# check all 3rdparty include paths
|
||||
string (REGEX REPLACE ";" " " 3RDPARTY_NOT_INCLUDED "${3RDPARTY_NOT_INCLUDED}")
|
||||
if (3RDPARTY_NOT_INCLUDED)
|
||||
@@ -795,17 +917,6 @@ else()
|
||||
set (SCRIPT_EXT sh)
|
||||
endif()
|
||||
|
||||
if (BUILD_Inspector OR BUILD_SAMPLES_QT)
|
||||
# check qt 3rdparty path
|
||||
add_definitions (-DHAVE_QT)
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/qt")
|
||||
message (STATUS "Info: Qt is used by OCCT")
|
||||
else()
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_QT")
|
||||
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TQTMALLOC")
|
||||
OCCT_CHECK_AND_UNSET ("INSTALL_QT")
|
||||
endif()
|
||||
|
||||
# OCCT tools
|
||||
# include the patched or original list of tools
|
||||
# list <TOOLNAME>_TOOLKITS is created foreach tool and contains its toolkits
|
||||
@@ -848,9 +959,11 @@ if (INSTALL_SAMPLES)
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/java" "${INSTALL_DIR_SAMPLES}")
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/ocafsamples" "${INSTALL_DIR_SAMPLES}")
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/qt" "${INSTALL_DIR_SAMPLES}")
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/OCCTOverview/code" "${INSTALL_DIR_SAMPLES}/OCCTOverview")
|
||||
|
||||
install (FILES "${CMAKE_BINARY_DIR}/env.samples.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SAMPLES}/qt/FuncDemo" RENAME "env.${SCRIPT_EXT}")
|
||||
install (FILES "${CMAKE_BINARY_DIR}/env.samples.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SAMPLES}/qt/IESample" RENAME "env.${SCRIPT_EXT}")
|
||||
install (FILES "${CMAKE_BINARY_DIR}/env.samples.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SAMPLES}/qt/OCCTOverview" RENAME "env.${SCRIPT_EXT}")
|
||||
install (FILES "${CMAKE_BINARY_DIR}/env.samples.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SAMPLES}/qt/Tutorial" RENAME "env.${SCRIPT_EXT}")
|
||||
endif()
|
||||
|
||||
@@ -929,6 +1042,9 @@ if (WIN32)
|
||||
OCCT_CONFIGURE ("adm/templates/env.${SCRIPT_EXT}.in" "env.${SCRIPT_EXT}")
|
||||
# install env script
|
||||
install (FILES "${CMAKE_BINARY_DIR}/env.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}")
|
||||
# copy build.bat and install.bat scripts to CMake binary folder
|
||||
OCCT_COPY_FILE_OR_DIR ("adm/templates/build.bat" "${CMAKE_BINARY_DIR}")
|
||||
OCCT_COPY_FILE_OR_DIR ("adm/templates/install.bat" "${CMAKE_BINARY_DIR}")
|
||||
else()
|
||||
set (SUB_ENV_NAME "env.${SCRIPT_EXT}")
|
||||
set (SUB_ENV_BUILD_NAME "env.install.${SCRIPT_EXT}")
|
||||
@@ -961,6 +1077,15 @@ if (BUILD_SAMPLES_QT)
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/${RESOURCE}" "${INSTALL_DIR_RESOURCE}/samples")
|
||||
#message("Copy Sample resources: samples/${RESOURCE} into ${INSTALL_DIR_RESOURCE}/samples")
|
||||
endforeach()
|
||||
|
||||
## Copy sources of OCCTOverview for using in the sample
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/OCCTOverview/code/DataExchangeSamples.cxx" "${INSTALL_DIR_SAMPLES}/OCCTOverview/code")
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/OCCTOverview/code/OcafSamples.cxx" "${INSTALL_DIR_SAMPLES}/OCCTOverview/code")
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/OCCTOverview/code/GeometrySamples.cxx" "${INSTALL_DIR_SAMPLES}/OCCTOverview/code")
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/OCCTOverview/code/TopologySamples.cxx" "${INSTALL_DIR_SAMPLES}/OCCTOverview/code")
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/OCCTOverview/code/TriangulationSamples.cxx" "${INSTALL_DIR_SAMPLES}/OCCTOverview/code")
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/OCCTOverview/code/Viewer2dSamples.cxx" "${INSTALL_DIR_SAMPLES}/OCCTOverview/code")
|
||||
OCCT_INSTALL_FILE_OR_DIR ("samples/OCCTOverview/code/Viewer3dSamples.cxx" "${INSTALL_DIR_SAMPLES}/OCCTOverview/code")
|
||||
endif()
|
||||
|
||||
|
||||
@@ -1019,14 +1144,8 @@ if (BUILD_SAMPLES_MFC)
|
||||
add_subdirectory(samples/mfc/standard/mfcsample)
|
||||
add_subdirectory(samples/mfc/standard/01_Geometry)
|
||||
add_subdirectory(samples/mfc/standard/02_Modeling)
|
||||
add_subdirectory(samples/mfc/standard/03_Viewer2d)
|
||||
add_subdirectory(samples/mfc/standard/04_Viewer3d)
|
||||
add_subdirectory(samples/mfc/standard/05_ImportExport)
|
||||
add_subdirectory(samples/mfc/standard/06_Ocaf)
|
||||
add_subdirectory(samples/mfc/standard/07_Triangulation)
|
||||
add_subdirectory(samples/mfc/standard/08_HLR)
|
||||
add_subdirectory(samples/mfc/standard/09_Animation)
|
||||
add_subdirectory(samples/mfc/standard/10_Convert)
|
||||
add_subdirectory(samples/mfc/standard/03_ImportExport)
|
||||
add_subdirectory(samples/mfc/standard/04_HLR)
|
||||
|
||||
message (STATUS "Info: \(${CURRENT_TIME}\) MFC Sample projects added")
|
||||
endif()
|
||||
@@ -1104,6 +1223,9 @@ foreach (OCCT_TOOLKIT ${BUILD_TOOLKITS})
|
||||
endforeach()
|
||||
list (REMOVE_DUPLICATES OCCT_MODULES_ENABLED)
|
||||
list (REMOVE_DUPLICATES OCCT_COMPILE_DEFINITIONS)
|
||||
# these macros are defined for specific tookits, not globalwise
|
||||
list (REMOVE_ITEM OCCT_COMPILE_DEFINITIONS HAVE_OPENGL)
|
||||
list (REMOVE_ITEM OCCT_COMPILE_DEFINITIONS HAVE_GLES2)
|
||||
|
||||
# export compile definitions and C/C++ flags for each configuration to OpenCASCADE config files
|
||||
foreach (OCCT_CONFIGURATION ${CMAKE_CONFIGURATION_TYPES})
|
||||
@@ -1121,7 +1243,7 @@ foreach (OCCT_CONFIGURATION ${CMAKE_CONFIGURATION_TYPES})
|
||||
endforeach()
|
||||
# install OpenCASCADE config file with compile definitions and C/C++ flags ONLY for current configuration
|
||||
install (CODE "string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWER)")
|
||||
install (CODE "configure_file(\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)")
|
||||
install (CODE "file(INSTALL FILES \"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" DESTINATION \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/\" TYPE FILE)")
|
||||
|
||||
foreach (OCCT_MODULE ${OCCT_MODULES})
|
||||
if (BUILD_MODULE_${OCCT_MODULE})
|
||||
@@ -1157,7 +1279,7 @@ if (WIN32)
|
||||
set (SET_OpenCASCADE_WITH_D3D "set (OpenCASCADE_WITH_D3D ${USE_D3D})")
|
||||
endif()
|
||||
if (APPLE)
|
||||
set (SET_OpenCASCADE_WITH_GLX "set (OpenCASCADE_WITH_GLX ${USE_GLX})")
|
||||
set (SET_OpenCASCADE_WITH_GLX "set (OpenCASCADE_WITH_GLX ${USE_XLIB})")
|
||||
endif()
|
||||
|
||||
# Configure and install cmake config file
|
||||
|
@@ -1,7 +1,7 @@
|
||||
FoundationClasses TKernel TKMath
|
||||
ModelingData TKG2d TKG3d TKGeomBase TKBRep
|
||||
ModelingAlgorithms TKGeomAlgo TKTopAlgo TKPrim TKBO TKBool TKHLR TKFillet TKOffset TKFeat TKMesh TKXMesh TKShHealing
|
||||
Visualization TKService TKV3d TKOpenGl TKMeshVS TKIVtk TKD3DHost
|
||||
Visualization TKService TKV3d TKOpenGl TKOpenGles TKMeshVS TKIVtk TKD3DHost
|
||||
ApplicationFramework TKCDF TKLCAF TKCAF TKBinL TKXmlL TKBin TKXml TKStdL TKStd TKTObj TKBinTObj TKXmlTObj TKVCAF
|
||||
DataExchange TKXSBase TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP TKIGES TKXCAF TKXDEIGES TKXDESTEP TKSTL TKVRML TKXmlXCAF TKBinXCAF TKRWMesh
|
||||
Draw TKDraw TKTopTest TKViewerTest TKXSDRAW TKDCAF TKXDEDRAW TKTObjDRAW TKQADraw TKIVtkDraw DRAWEXE
|
||||
DataExchange TKXDE TKXSBase TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP TKIGES TKXCAF TKXDEIGES TKXDESTEP TKSTL TKVRML TKXmlXCAF TKBinXCAF TKRWMesh TKXDECascade
|
||||
Draw TKDraw TKTopTest TKOpenGlTest TKOpenGlesTest TKD3DHostTest TKViewerTest TKXSDRAW TKDCAF TKXDEDRAW TKTObjDRAW TKQADraw TKIVtkDraw DRAWEXE
|
||||
|
@@ -3,6 +3,7 @@ StdResource
|
||||
SHMessage
|
||||
Textures
|
||||
Shaders
|
||||
XRResources
|
||||
XSMessage
|
||||
XSTEPResource
|
||||
XmlOcafResource
|
||||
|
@@ -1 +1 @@
|
||||
qt AndroidQt FuncDemo IESample Tutorial
|
||||
qt AndroidQt FuncDemo IESample Tutorial OCCTOverview
|
@@ -1,2 +1,3 @@
|
||||
qt/Common/res/
|
||||
qt/Tutorial/res/
|
||||
qt/OCCTOverview/res/
|
43
adm/UDLIST
@@ -11,7 +11,6 @@ n Expr
|
||||
n ExprIntrp
|
||||
n FSD
|
||||
n GeomAbs
|
||||
n MMgt
|
||||
n Message
|
||||
n OSD
|
||||
n PLib
|
||||
@@ -108,6 +107,7 @@ n BRepMesh
|
||||
n BRepMeshData
|
||||
n BRepOffset
|
||||
n BRepOffsetAPI
|
||||
n BRepPreviewAPI
|
||||
n BRepPrim
|
||||
n BRepPrimAPI
|
||||
n BRepProj
|
||||
@@ -197,15 +197,16 @@ t TKPrim
|
||||
t TKShHealing
|
||||
t TKTopAlgo
|
||||
t TKXMesh
|
||||
n InterfaceGraphic
|
||||
n AIS
|
||||
n Aspect
|
||||
n DsgPrs
|
||||
n PrsDim
|
||||
n Graphic3d
|
||||
n Image
|
||||
n Media
|
||||
n MeshVS
|
||||
n OpenGl
|
||||
n OpenGles
|
||||
n D3DHost
|
||||
n Prs3d
|
||||
n PrsMgr
|
||||
@@ -214,15 +215,17 @@ n SelectBasics
|
||||
n SelectMgr
|
||||
n StdPrs
|
||||
n StdSelect
|
||||
n TColQuantity
|
||||
n V3d
|
||||
n Wasm
|
||||
n WNT
|
||||
n Xw
|
||||
n Cocoa
|
||||
r Textures
|
||||
r Shaders
|
||||
r XRResources
|
||||
t TKMeshVS
|
||||
t TKOpenGl
|
||||
t TKOpenGles
|
||||
t TKD3DHost
|
||||
t TKService
|
||||
t TKV3d
|
||||
@@ -325,6 +328,7 @@ n RWStepDimTol
|
||||
n RWStepElement
|
||||
n RWStepFEA
|
||||
n RWStepGeom
|
||||
n RWStepKinematics
|
||||
n RWStepRepr
|
||||
n RWStepShape
|
||||
n RWStepVisual
|
||||
@@ -344,6 +348,7 @@ n StepDimTol
|
||||
n StepElement
|
||||
n StepFEA
|
||||
n StepGeom
|
||||
n StepKinematics
|
||||
n StepRepr
|
||||
n StepSelect
|
||||
n StepShape
|
||||
@@ -379,6 +384,8 @@ t TKSTEPBase
|
||||
t TKSTL
|
||||
t TKVRML
|
||||
t TKXCAF
|
||||
t TKXDE
|
||||
t TKXDECascade
|
||||
t TKXDEIGES
|
||||
t TKXDESTEP
|
||||
t TKXSBase
|
||||
@@ -389,6 +396,9 @@ n DBRep
|
||||
n DDF
|
||||
n DDataStd
|
||||
n DDocStd
|
||||
n DE
|
||||
n DEXCAFCascade
|
||||
n DEBRepCascade
|
||||
n DNaming
|
||||
n DPrsStd
|
||||
n Draw
|
||||
@@ -401,6 +411,9 @@ n HLRTest
|
||||
n MeshTest
|
||||
n SWDRAW
|
||||
n TObjDRAW
|
||||
n OpenGlTest
|
||||
n OpenGlesTest
|
||||
n D3DHostTest
|
||||
n ViewerTest
|
||||
n XDEDRAW
|
||||
n XSDRAW
|
||||
@@ -412,6 +425,9 @@ t TKDCAF
|
||||
t TKDraw
|
||||
t TKTObjDRAW
|
||||
t TKTopTest
|
||||
t TKOpenGlTest
|
||||
t TKOpenGlesTest
|
||||
t TKD3DHostTest
|
||||
t TKViewerTest
|
||||
t TKXDEDRAW
|
||||
t TKXSDRAW
|
||||
@@ -443,3 +459,24 @@ t TKRWMesh
|
||||
n RWGltf
|
||||
n RWMesh
|
||||
n RWObj
|
||||
n RWPly
|
||||
n DFBrowser
|
||||
n DFBrowserPane
|
||||
n DFBrowserPaneXDE
|
||||
n ShapeView
|
||||
n TInspector
|
||||
n TInspectorAPI
|
||||
x TInspectorEXE
|
||||
t TKDFBrowser
|
||||
t TKShapeView
|
||||
t TKTInspector
|
||||
t TKTInspectorAPI
|
||||
t TKToolsDraw
|
||||
t TKTreeModel
|
||||
t TKView
|
||||
t TKVInspector
|
||||
n ToolsDraw
|
||||
n TreeModel
|
||||
n View
|
||||
n ViewControl
|
||||
n VInspector
|
||||
|
@@ -97,12 +97,12 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_CSF_NAME LIBRARY_NAME
|
||||
if (3RDPARTY_${PRODUCT_NAME}_DIR AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DIR}")
|
||||
find_path (3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR NAMES ${HEADER_NAME}
|
||||
PATHS ${3RDPARTY_${PRODUCT_NAME}_DIR}
|
||||
PATH_SUFFIXES include inc
|
||||
PATH_SUFFIXES include inc headers
|
||||
CMAKE_FIND_ROOT_PATH_BOTH
|
||||
NO_DEFAULT_PATH)
|
||||
else()
|
||||
find_path (3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR NAMES ${HEADER_NAME}
|
||||
PATH_SUFFIXES include inc
|
||||
PATH_SUFFIXES include inc headers
|
||||
CMAKE_FIND_ROOT_PATH_BOTH)
|
||||
endif()
|
||||
endif()
|
||||
@@ -125,10 +125,14 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_CSF_NAME LIBRARY_NAME
|
||||
set (${PRODUCT_NAME}_PATH_SUFFIXES lib)
|
||||
if (WIN32)
|
||||
set (${PRODUCT_NAME}_PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES} win${COMPILER_BITNESS}/${COMPILER}/lib)
|
||||
set (${PRODUCT_NAME}_PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES} lib/win${COMPILER_BITNESS})
|
||||
endif()
|
||||
if (ANDROID)
|
||||
set (${PRODUCT_NAME}_PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES} libs/${ANDROID_ABI})
|
||||
endif()
|
||||
if(UNIX AND NOT APPLE AND NOT ANDROID)
|
||||
set (${PRODUCT_NAME}_PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES} lib/linux${COMPILER_BITNESS})
|
||||
endif()
|
||||
|
||||
# set 3RDPARTY_${PRODUCT_NAME}_LIBRARY as notfound, otherwise find_library can't assign a new value to 3RDPARTY_${PRODUCT_NAME}_LIBRARY
|
||||
set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX} "3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX}-NOTFOUND" CACHE FILEPATH "The path to ${PRODUCT_NAME} library \"${LIBRARY_NAME}\"" FORCE)
|
||||
@@ -184,7 +188,7 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_CSF_NAME LIBRARY_NAME
|
||||
if ((3RDPARTY_${PRODUCT_NAME}_DIR AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DIR}") OR (3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME} AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME}}"))
|
||||
find_library (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX} NAMES ${LIBRARY_NAME}
|
||||
PATHS "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME}}" "${3RDPARTY_${PRODUCT_NAME}_DIR}"
|
||||
PATH_SUFFIXES bin win${COMPILER_BITNESS}/${COMPILER}/bin
|
||||
PATH_SUFFIXES bin win${COMPILER_BITNESS}/${COMPILER}/bin bin/win${COMPILER_BITNESS}
|
||||
NO_DEFAULT_PATH)
|
||||
if (3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX} STREQUAL "3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX}-NOTFOUND")
|
||||
# find directory recursive
|
||||
@@ -238,6 +242,7 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_CSF_NAME LIBRARY_NAME
|
||||
if (INSTALL_${PRODUCT_NAME})
|
||||
OCCT_MAKE_OS_WITH_BITNESS()
|
||||
OCCT_MAKE_COMPILER_SHORT_NAME()
|
||||
set (USED_3RDPARTY_${PRODUCT_NAME}_DIR "")
|
||||
|
||||
if (WIN32)
|
||||
if (SINGLE_GENERATOR)
|
||||
@@ -288,6 +293,9 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_CSF_NAME LIBRARY_NAME
|
||||
set (USED_3RDPARTY_${PRODUCT_NAME}_DIRS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR_${LIBRARY_NAME_SUFFIX}}:${USED_3RDPARTY_${PRODUCT_NAME}_DIRS}")
|
||||
endif()
|
||||
endforeach()
|
||||
if (WIN32)
|
||||
set (USED_3RDPARTY_${PRODUCT_NAME}_DIR ${3RDPARTY_${PRODUCT_NAME}_DLL_DIR_${LIBRARY_NAME_SUFFIX}})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
mark_as_advanced (3RDPARTY_${PRODUCT_NAME}_LIBRARY_${LIBRARY_NAME_SUFFIX} 3RDPARTY_${PRODUCT_NAME}_DLL_${LIBRARY_NAME_SUFFIX})
|
||||
|
@@ -2,19 +2,26 @@
|
||||
|
||||
# execute FindBISON script by "find_package (Bison)" is required to define BISON_TARGET macro
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_BISON_EXECUTABLE)
|
||||
set (3RDPARTY_BISON_EXECUTABLE "" CACHE FILEPATH "The path to the bison command")
|
||||
# delete obsolete 3RDPARTY_BISON_EXECUTABLE cache variable (not used anymore)
|
||||
unset (3RDPARTY_BISON_EXECUTABLE CACHE)
|
||||
|
||||
# delete BISON_EXECUTABLE cache variable if it is empty, otherwise find_package will fail
|
||||
# without reasonable diagnostic
|
||||
if (NOT BISON_EXECUTABLE OR NOT EXISTS "${BISON_EXECUTABLE}")
|
||||
unset (BISON_EXECUTABLE CACHE)
|
||||
endif()
|
||||
|
||||
# BISON_EXECUTABLE is required by BISON_TARGET macro and should be defined
|
||||
set (BISON_EXECUTABLE "${3RDPARTY_BISON_EXECUTABLE}" CACHE FILEPATH "path to the bison executable" FORCE)
|
||||
|
||||
find_package (BISON)
|
||||
|
||||
if (BISON_FOUND)
|
||||
set (3RDPARTY_BISON_EXECUTABLE "${BISON_EXECUTABLE}" CACHE FILEPATH "The Path to the bison command" FORCE)
|
||||
# Add paths to 3rdparty subfolders containing name "bison" to CMAKE_PROGRAM_PATH variable to make
|
||||
# these paths searhed by find_package
|
||||
if (3RDPARTY_DIR)
|
||||
file (GLOB BISON_PATHS LIST_DIRECTORIES true "${3RDPARTY_DIR}/*bison*/")
|
||||
foreach (candidate_path ${BISON_PATHS})
|
||||
if (IS_DIRECTORY ${candidate_path})
|
||||
list (APPEND CMAKE_PROGRAM_PATH ${candidate_path})
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
if (NOT 3RDPARTY_BISON_EXECUTABLE OR NOT EXISTS "${3RDPARTY_BISON_EXECUTABLE}")
|
||||
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_BISON_EXECUTABLE)
|
||||
endif()
|
||||
# bison 3.2 is required because it provides options to avoid generation of redundant header
|
||||
# files and embedding of local paths in the generated code
|
||||
find_package (BISON 3.2)
|
||||
|
@@ -32,15 +32,13 @@ if(__COTIRE_INCLUDED)
|
||||
endif()
|
||||
set(__COTIRE_INCLUDED TRUE)
|
||||
|
||||
# call cmake_minimum_required, but prevent modification of the CMake policy stack in include mode
|
||||
# cmake_minimum_required also sets the policy version as a side effect, which we have to avoid
|
||||
if (NOT CMAKE_SCRIPT_MODE_FILE)
|
||||
cmake_policy(PUSH)
|
||||
endif()
|
||||
cmake_minimum_required(VERSION 2.8.12)
|
||||
if (NOT CMAKE_SCRIPT_MODE_FILE)
|
||||
cmake_policy(POP)
|
||||
endif()
|
||||
# Caution! Be careful, when increase minimal cmake version:
|
||||
# using of newer version may leads (by default) to applying
|
||||
# of some new policies. It may break compilation.
|
||||
# For canceling of applying new policies use:
|
||||
# cmake_policy(PUSH) before `cmake_minimum_required`
|
||||
# and cmake_policy(POP) after.
|
||||
cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
|
||||
|
||||
set (COTIRE_CMAKE_MODULE_FILE "${CMAKE_CURRENT_LIST_FILE}")
|
||||
set (COTIRE_CMAKE_MODULE_VERSION "1.7.9")
|
||||
@@ -2402,7 +2400,7 @@ function (cotire_setup_target_pch_usage _languages _target _wholeTarget)
|
||||
message (STATUS "add_custom_command: TARGET ${_target} PRE_BUILD ${_cmds}")
|
||||
endif()
|
||||
# because CMake PRE_BUILD command does not support dependencies,
|
||||
# we check dependencies explicity in cotire script mode when the pre-build action is run
|
||||
# we check dependencies explicitly in cotire script mode when the pre-build action is run
|
||||
add_custom_command(
|
||||
TARGET "${_target}"
|
||||
PRE_BUILD ${_cmds}
|
||||
@@ -3017,7 +3015,7 @@ function (cotire_setup_unity_build_target _languages _configurations _target)
|
||||
endif()
|
||||
else()
|
||||
if (_targetAutoMoc OR _targetAutoUic OR _targetAutoRcc)
|
||||
# depend on the original target's implicity generated <targetname>_automoc target
|
||||
# depend on the original target's implicitly generated <targetname>_automoc target
|
||||
if (CMAKE_VERSION VERSION_LESS "3.8.0")
|
||||
add_dependencies(${_unityTargetName} ${_target}_automoc)
|
||||
else()
|
||||
|
96
adm/cmake/draco.cmake
Normal file
@@ -0,0 +1,96 @@
|
||||
# Draco - a library for a lossy vertex data compression, used as extension to glTF format.
|
||||
# https://github.com/google/draco
|
||||
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
|
||||
|
||||
if (NOT DEFINED INSTALL_DRACO)
|
||||
set (INSTALL_DRACO OFF CACHE BOOL "${INSTALL_DRACO_DESCR}")
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_DRACO_DIR)
|
||||
set (3RDPARTY_DRACO_DIR "" CACHE PATH "The directory containing Draco")
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_DRACO_INCLUDE_DIR)
|
||||
set (3RDPARTY_DRACO_INCLUDE_DIR "" CACHE PATH "The directory containing headers of the Draco")
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_DRACO_LIBRARY OR NOT 3RDPARTY_DRACO_LIBRARY_DIR OR NOT EXISTS "${3RDPARTY_DRACO_LIBRARY_DIR}")
|
||||
set (3RDPARTY_DRACO_LIBRARY "" CACHE FILEPATH "Draco library" FORCE)
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_DRACO_LIBRARY_DIR)
|
||||
set (3RDPARTY_DRACO_LIBRARY_DIR "" CACHE PATH "The directory containing Draco library")
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_DIR AND EXISTS "${3RDPARTY_DIR}")
|
||||
if (NOT 3RDPARTY_DRACO_DIR OR NOT EXISTS "${3RDPARTY_DRACO_DIR}")
|
||||
FIND_PRODUCT_DIR("${3RDPARTY_DIR}" draco DRACO_DIR_NAME)
|
||||
if (DRACO_DIR_NAME)
|
||||
set (3RDPARTY_DRACO_DIR "${3RDPARTY_DIR}/${DRACO_DIR_NAME}" CACHE PATH "The directory containing Draco" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_DRACO_DIR AND EXISTS "${3RDPARTY_DRACO_DIR}")
|
||||
set (DRACO_INCLUDE_PATH "${3RDPARTY_DRACO_DIR}/include")
|
||||
set (DRACO_LIBRARY_PATH "${3RDPARTY_DRACO_DIR}/lib")
|
||||
endif()
|
||||
|
||||
if (NOT 3RDPARTY_DRACO_INCLUDE_DIR)
|
||||
if (DRACO_INCLUDE_PATH AND EXISTS "${DRACO_INCLUDE_PATH}")
|
||||
set (3RDPARTY_DRACO_INCLUDE_DIR "${DRACO_INCLUDE_PATH}" CACHE FILEPATH "The directory containing headers of DRACO" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (NOT 3RDPARTY_DRACO_LIBRARY_DIR)
|
||||
if (DRACO_LIBRARY_PATH AND EXISTS "${DRACO_LIBRARY_PATH}")
|
||||
set (3RDPARTY_DRACO_LIBRARY_DIR "${DRACO_LIBRARY_PATH}" CACHE FILEPATH "The directory containing DRACO library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_DRACO_INCLUDE_DIR AND EXISTS "${3RDPARTY_DRACO_INCLUDE_DIR}")
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_DRACO_INCLUDE_DIR}")
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_DRACO_INCLUDE_DIR)
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_DRACO_DIR AND EXISTS "${3RDPARTY_DRACO_DIR}")
|
||||
if (NOT 3RDPARTY_DRACO_LIBRARY OR NOT EXISTS "${3RDPARTY_DRACO_LIBRARY}")
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES .lib .so .dylib .a)
|
||||
set (3RDPARTY_DRACO_LIBRARY "3RDPARTY_DRACO_LIBRARY-NOTFOUND" CACHE FILEPATH "The path to Draco library" FORCE)
|
||||
|
||||
find_library (3RDPARTY_DRACO_LIBRARY NAMES ${CSF_Draco}
|
||||
PATHS "${3RDPARTY_DRACO_LIBRARY_DIR}"
|
||||
PATH_SUFFIXES lib
|
||||
CMAKE_FIND_ROOT_PATH_BOTH
|
||||
NO_DEFAULT_PATH)
|
||||
if (3RDPARTY_DRACO_LIBRARY AND EXISTS "${3RDPARTY_DRACO_LIBRARY}")
|
||||
get_filename_component (3RDPARTY_DRACO_LIBRARY_DIR "${3RDPARTY_DRACO_LIBRARY}" PATH)
|
||||
set (3RDPARTY_DRACO_LIBRARY_DIR "${3RDPARTY_DRACO_LIBRARY_DIR}" CACHE FILEPATH "The directory containing Draco library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_DRACO_LIBRARY_DIR AND EXISTS "${3RDPARTY_DRACO_LIBRARY_DIR}")
|
||||
list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_DRACO_LIBRARY_DIR}")
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_DRACO_LIBRARY_DIR)
|
||||
endif()
|
||||
|
||||
if (INSTALL_DRACO)
|
||||
get_filename_component(3RDPARTY_DRACO_LIBRARY_REALPATH ${3RDPARTY_DRACO_LIBRARY} REALPATH)
|
||||
if (SINGLE_GENERATOR)
|
||||
install (FILES ${3RDPARTY_DRACO_LIBRARY_REALPATH} DESTINATION "${INSTALL_DIR_LIB}")
|
||||
else()
|
||||
install (FILES ${3RDPARTY_DRACO_LIBRARY_REALPATH}
|
||||
CONFIGURATIONS Release
|
||||
DESTINATION "${INSTALL_DIR_LIB}")
|
||||
install (FILES ${3RDPARTY_DRACO_LIBRARY_REALPATH}
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR_LIB}i")
|
||||
install (FILES ${3RDPARTY_DRACO_LIBRARY_REALPATH}
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR_LIB}d")
|
||||
endif()
|
||||
endif()
|
@@ -1,3 +1,3 @@
|
||||
# EGL
|
||||
|
||||
THIRDPARTY_PRODUCT("EGL" "EGL/egl.h" "CSF_OpenGlLibs" "")
|
||||
THIRDPARTY_PRODUCT("EGL" "EGL/egl.h" "CSF_OpenGlesLibs" "")
|
||||
|
@@ -191,13 +191,13 @@ foreach (LIBRARY_NAME ${CSF_FFmpeg})
|
||||
else()
|
||||
install (FILES "${3RDPARTY_FFMPEG_DLL_${LIBRARY_NAME}}"
|
||||
CONFIGURATIONS Release
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/${INSTALL_DIR_BIN}")
|
||||
install (FILES "${3RDPARTY_FFMPEG_DLL_${LIBRARY_NAME}}"
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bini")
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/${INSTALL_DIR_BIN}i")
|
||||
install (FILES "${3RDPARTY_FFMPEG_DLL_${LIBRARY_NAME}}"
|
||||
CONFIGURATIONS Debug
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
|
||||
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/${INSTALL_DIR_BIN}d")
|
||||
endif()
|
||||
else()
|
||||
get_filename_component(3RDPARTY_FFMPEG_LIBRARY_ABS ${3RDPARTY_FFMPEG_LIBRARY_${LIBRARY_NAME}} REALPATH)
|
||||
|
@@ -2,19 +2,34 @@
|
||||
|
||||
# execute FindFLEX script by "find_package (Flex)" is required to define FLEX_TARGET macro
|
||||
|
||||
if (NOT DEFINED 3RDPARTY_FLEX_EXECUTABLE)
|
||||
set (3RDPARTY_FLEX_EXECUTABLE "" CACHE FILEPATH "The Path to the flex command")
|
||||
# delete obsolete 3RDPARTY_FLEX_EXECUTABLE cache variable (not used anymore)
|
||||
unset (3RDPARTY_FLEX_EXECUTABLE CACHE)
|
||||
|
||||
# delete FLEX_EXECUTABLE cache variable if it is empty, otherwise find_package will fail
|
||||
# without reasonable diagnostic
|
||||
if (NOT FLEX_EXECUTABLE OR NOT EXISTS "${FLEX_EXECUTABLE}")
|
||||
unset (FLEX_EXECUTABLE CACHE)
|
||||
endif()
|
||||
if (NOT FLEX_INCLUDE_DIR OR NOT EXISTS "${FLEX_INCLUDE_DIR}")
|
||||
unset (FLEX_INCLUDE_DIR CACHE)
|
||||
endif()
|
||||
|
||||
# FLEX_EXECUTABLE is required by FLEX_TARGET macro and should be defined
|
||||
set (FLEX_EXECUTABLE "${3RDPARTY_FLEX_EXECUTABLE}" CACHE FILEPATH "path to the flex executable" FORCE)
|
||||
|
||||
find_package (FLEX)
|
||||
|
||||
if (FLEX_FOUND)
|
||||
set (3RDPARTY_FLEX_EXECUTABLE "${FLEX_EXECUTABLE}" CACHE FILEPATH "The Path to the flex command" FORCE)
|
||||
# Add paths to 3rdparty subfolders containing name "flex" to CMAKE_PROGRAM_PATH and
|
||||
# CMAKE_INCLUDE_PATH variables to make these paths searhed by find_package
|
||||
if (3RDPARTY_DIR)
|
||||
file (GLOB FLEX_PATHS LIST_DIRECTORIES true "${3RDPARTY_DIR}/*flex*")
|
||||
foreach (candidate_path ${FLEX_PATHS})
|
||||
if (IS_DIRECTORY ${candidate_path})
|
||||
list (APPEND CMAKE_PROGRAM_PATH ${candidate_path})
|
||||
list (APPEND CMAKE_INCLUDE_PATH ${candidate_path})
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
if (NOT 3RDPARTY_FLEX_EXECUTABLE OR NOT EXISTS "${3RDPARTY_FLEX_EXECUTABLE}")
|
||||
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_FLEX_EXECUTABLE)
|
||||
# flex 2.5.37 is required because closest known lower version, 2.5.3 from WOK 6.8.0,
|
||||
# generates code which is unusable on Windows (includes unistd.h without any way to avoid this)
|
||||
find_package (FLEX 2.5.37)
|
||||
|
||||
if (NOT FLEX_FOUND OR NOT FLEX_INCLUDE_DIR OR NOT EXISTS "${FLEX_INCLUDE_DIR}/FlexLexer.h")
|
||||
list (APPEND 3RDPARTY_NOT_INCLUDED FLEX_INCLUDE_DIR)
|
||||
endif()
|
@@ -1,3 +1,3 @@
|
||||
# OpenGL ES 2.0
|
||||
|
||||
THIRDPARTY_PRODUCT("GLES2" "GLES2/gl2.h" "CSF_OpenGlLibs" "")
|
||||
THIRDPARTY_PRODUCT("GLES2" "GLES2/gl2.h" "CSF_OpenGlesLibs" "")
|
||||
|
@@ -12,7 +12,7 @@ endif()
|
||||
|
||||
# TBB
|
||||
if (USE_TBB)
|
||||
set (CSF_TBB "tbb tbbmalloc")
|
||||
set (CSF_TBB "tbb12 tbbmalloc")
|
||||
else()
|
||||
set (CSF_TBB)
|
||||
endif()
|
||||
@@ -42,22 +42,46 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# TCL/TK
|
||||
# OpenVR
|
||||
if (USE_OPENVR)
|
||||
set (CSF_OpenVR "openvr_api")
|
||||
else()
|
||||
set (CSF_OpenVR)
|
||||
endif()
|
||||
|
||||
# TCL
|
||||
if (USE_TCL)
|
||||
if (WIN32)
|
||||
set (CSF_TclLibs "tcl86")
|
||||
else()
|
||||
if(APPLE)
|
||||
set (CSF_TclLibs Tcl)
|
||||
elseif(UNIX)
|
||||
set (CSF_TclLibs "tcl8.6")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# TK
|
||||
if (USE_TK)
|
||||
if (WIN32)
|
||||
set (CSF_TclTkLibs "tk86")
|
||||
else()
|
||||
if(APPLE)
|
||||
set (CSF_TclTkLibs Tk)
|
||||
set (CSF_TclLibs Tcl)
|
||||
elseif(UNIX)
|
||||
set (CSF_TclLibs "tcl8.6")
|
||||
set (CSF_TclTkLibs "tk8.6")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Draco
|
||||
if (USE_DRACO)
|
||||
set (CSF_Draco "draco")
|
||||
else()
|
||||
set (CSF_Draco)
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
set (CSF_advapi32 "advapi32.lib")
|
||||
set (CSF_gdi32 "gdi32.lib")
|
||||
@@ -67,12 +91,8 @@ if (WIN32)
|
||||
set (CSF_psapi "psapi.lib")
|
||||
set (CSF_winmm "winmm.lib")
|
||||
set (CSF_d3d9 "D3D9.lib")
|
||||
if ("${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore" OR USE_GLES2)
|
||||
set (CSF_OpenGlLibs "libEGL libGLESv2")
|
||||
else()
|
||||
set (CSF_OpenGlLibs "opengl32.lib")
|
||||
endif()
|
||||
|
||||
set (CSF_OpenGlesLibs "libEGL libGLESv2")
|
||||
else()
|
||||
|
||||
if (APPLE)
|
||||
@@ -93,30 +113,38 @@ else()
|
||||
OCCT_CHECK_AND_UNSET (IOKit_LIB)
|
||||
|
||||
if (IOS)
|
||||
find_library (OpenGlLibs_LIB NAMES OpenGLES)
|
||||
set (CSF_OpenGlLibs ${OpenGlLibs_LIB})
|
||||
OCCT_CHECK_AND_UNSET (OpenGlLibs_LIB)
|
||||
elseif (USE_GLX)
|
||||
set (CSF_OpenGlLibs GL)
|
||||
set (CSF_XwLibs "X11 Xext Xmu Xi")
|
||||
find_library (OpenGlesLibs_LIB NAMES OpenGLES)
|
||||
set (CSF_OpenGlesLibs ${OpenGlesLibs_LIB})
|
||||
OCCT_CHECK_AND_UNSET (OpenGlesLibs_LIB)
|
||||
elseif (USE_XLIB)
|
||||
set (CSF_OpenGlLibs "GL")
|
||||
set (CSF_XwLibs "X11")
|
||||
else()
|
||||
find_library (OpenGlLibs_LIB NAMES OpenGL)
|
||||
set (CSF_OpenGlLibs ${OpenGlLibs_LIB})
|
||||
OCCT_CHECK_AND_UNSET (OpenGlLibs_LIB)
|
||||
endif()
|
||||
|
||||
elseif (EMSCRIPTEN)
|
||||
set (CSF_ThreadLibs "pthread rt stdc++")
|
||||
set (CSF_OpenGlesLibs "EGL GLESv2")
|
||||
set (CSF_dl "dl")
|
||||
elseif (ANDROID)
|
||||
set (CSF_ThreadLibs "c")
|
||||
set (CSF_OpenGlLibs "EGL GLESv2")
|
||||
set (CSF_OpenGlesLibs "EGL GLESv2")
|
||||
set (CSF_androidlog "log")
|
||||
elseif (UNIX)
|
||||
set (CSF_ThreadLibs "pthread rt stdc++")
|
||||
if (USE_GLES2)
|
||||
set (CSF_OpenGlLibs "EGL GLESv2")
|
||||
else()
|
||||
if (USE_XLIB)
|
||||
set (CSF_OpenGlLibs "GL")
|
||||
set (CSF_XwLibs "X11")
|
||||
else()
|
||||
set (CSF_OpenGlLibs "GL EGL")
|
||||
endif()
|
||||
set (CSF_XwLibs "X11 Xext Xmu Xi")
|
||||
set (CSF_OpenGlesLibs "EGL GLESv2")
|
||||
set (CSF_dl "dl")
|
||||
if (USE_FREETYPE)
|
||||
set (CSF_fontconfig "fontconfig")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
@@ -25,6 +25,9 @@ if (NOT CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
# suppress C26812 on VS2019/C++20 (prefer 'enum class' over 'enum')
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fp:precise /wd\"26812\"")
|
||||
# suppress warning on using portable non-secure functions in favor of non-portable secure ones
|
||||
add_definitions (-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE)
|
||||
else()
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions -fPIC")
|
||||
@@ -40,6 +43,19 @@ elseif (MSVC)
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHa")
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
# string pooling (GF), function-level linking (Gy)
|
||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GF /Gy")
|
||||
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /GF /Gy")
|
||||
if (BUILD_FORCE_RelWithDebInfo)
|
||||
# generate debug info (Zi), inline expansion level (Ob1)
|
||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi /Ob1")
|
||||
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /Zi /Ob1")
|
||||
# generate debug info (debug), OptimizeReferences=true (OPT:REF), EnableCOMDATFolding=true (OPT:ICF)
|
||||
set (CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /debug /OPT:REF /OPT:ICF")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# remove _WINDOWS flag if it exists
|
||||
string (REGEX MATCH "/D_WINDOWS" IS_WINDOWSFLAG "${CMAKE_CXX_FLAGS}")
|
||||
if (IS_WINDOWSFLAG)
|
||||
@@ -100,8 +116,11 @@ if (MSVC)
|
||||
else()
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
|
||||
endif()
|
||||
elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]"))
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra")
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wshorten-64-to-32")
|
||||
endif()
|
||||
if (BUILD_SHARED_LIBS)
|
||||
if (APPLE)
|
||||
set (CMAKE_SHARED_LINKER_FLAGS "-lm ${CMAKE_SHARED_LINKER_FLAGS}")
|
||||
@@ -111,34 +130,41 @@ elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMP
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(MINGW)
|
||||
# Set default release optimization option to O2 instead of O3, since in
|
||||
# some OCCT related examples, this gives significantly smaller binaries
|
||||
# at comparable performace with MinGW-w64.
|
||||
string (REGEX MATCH "-O3" IS_O3_CXX "${CMAKE_CXX_FLAGS_RELEASE}")
|
||||
if (IS_O3_CXX)
|
||||
string (REGEX REPLACE "-O3" "-O2" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
|
||||
else()
|
||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2")
|
||||
endif()
|
||||
# Set desired C++ standard
|
||||
if ("${BUILD_CPP_STANDARD}" STREQUAL "C++11")
|
||||
set (CMAKE_CXX_STANDARD 11)
|
||||
elseif ("${BUILD_CPP_STANDARD}" STREQUAL "C++14")
|
||||
set (CMAKE_CXX_STANDARD 14)
|
||||
elseif ("${BUILD_CPP_STANDARD}" STREQUAL "C++17")
|
||||
set (CMAKE_CXX_STANDARD 17)
|
||||
elseif ("${BUILD_CPP_STANDARD}" STREQUAL "C++20")
|
||||
set (CMAKE_CXX_STANDARD 20)
|
||||
elseif ("${BUILD_CPP_STANDARD}" STREQUAL "C++23")
|
||||
set (CMAKE_CXX_STANDARD 23)
|
||||
else ()
|
||||
message (FATAL_ERROR, "misprint in c++ standard name")
|
||||
endif()
|
||||
set (CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
set (CMAKE_CXX_FLAGS "-std=gnu++0x ${CMAKE_CXX_FLAGS}")
|
||||
add_definitions(-D_WIN32_WINNT=0x0501)
|
||||
# workaround bugs in mingw with vtable export
|
||||
set (CMAKE_SHARED_LINKER_FLAGS "-Wl,--export-all-symbols")
|
||||
elseif ("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xClang")
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]")
|
||||
if (APPLE)
|
||||
# CLang can be used with both libstdc++ and libc++, however on OS X libstdc++ is outdated.
|
||||
set (CMAKE_CXX_FLAGS "-std=c++0x -stdlib=libc++ ${CMAKE_CXX_FLAGS}")
|
||||
else()
|
||||
set (CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}")
|
||||
set (CMAKE_CXX_FLAGS "-stdlib=libc++ ${CMAKE_CXX_FLAGS}")
|
||||
endif()
|
||||
elseif (DEFINED CMAKE_COMPILER_IS_GNUCXX)
|
||||
set (CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}")
|
||||
endif()
|
||||
# Optimize size of binaries
|
||||
set (CMAKE_SHARED_LINKER_FLAGS "-Wl,-s ${CMAKE_SHARED_LINKER_FLAGS}")
|
||||
elseif(MINGW)
|
||||
add_definitions(-D_WIN32_WINNT=0x0601)
|
||||
# _WIN32_WINNT=0x0601 (use Windows 7 SDK)
|
||||
#set (CMAKE_SYSTEM_VERSION "6.1")
|
||||
# workaround bugs in mingw with vtable export
|
||||
set (CMAKE_SHARED_LINKER_FLAGS "-Wl,--export-all-symbols")
|
||||
|
||||
# Optimize size of binaries
|
||||
if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR MINGW)
|
||||
# Optimize size of binaries
|
||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
|
||||
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
|
||||
elseif (DEFINED CMAKE_COMPILER_IS_GNUCXX)
|
||||
# Optimize size of binaries
|
||||
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
|
||||
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
|
||||
endif()
|
||||
|
@@ -12,18 +12,12 @@ macro (OCCT_CHECK_AND_UNSET VARNAME)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro (OCCT_CHECK_AND_UNSET_GROUP VARNAME)
|
||||
OCCT_CHECK_AND_UNSET ("${VARNAME}_DIR")
|
||||
|
||||
OCCT_CHECK_AND_UNSET ("${VARNAME}_INCLUDE_DIR")
|
||||
|
||||
OCCT_CHECK_AND_UNSET ("${VARNAME}_LIBRARY")
|
||||
OCCT_CHECK_AND_UNSET ("${VARNAME}_LIBRARY_DIR")
|
||||
|
||||
if (WIN32)
|
||||
OCCT_CHECK_AND_UNSET ("${VARNAME}_DLL")
|
||||
OCCT_CHECK_AND_UNSET ("${VARNAME}_DLL_DIR")
|
||||
endif()
|
||||
macro (OCCT_CHECK_AND_UNSET_GROUP GROUPNAME)
|
||||
get_cmake_property(VARS VARIABLES)
|
||||
string (REGEX MATCHALL "(^|;)${GROUPNAME}[A-Za-z0-9_]*" GROUPNAME_VARS "${VARS}")
|
||||
foreach(GROUPNAME_VAR ${GROUPNAME_VARS})
|
||||
OCCT_CHECK_AND_UNSET(${GROUPNAME_VAR})
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
macro (OCCT_CHECK_AND_UNSET_INSTALL_DIR_SUBDIRS)
|
||||
@@ -86,9 +80,9 @@ macro (OCCT_MAKE_COMPILER_SHORT_NAME)
|
||||
set (COMPILER gcc)
|
||||
elseif (DEFINED CMAKE_COMPILER_IS_GNUCXX)
|
||||
set (COMPILER gxx)
|
||||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
elseif (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]")
|
||||
set (COMPILER clang)
|
||||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
|
||||
elseif (CMAKE_CXX_COMPILER_ID MATCHES "[Ii][Nn][Tt][Ee][Ll]")
|
||||
set (COMPILER icc)
|
||||
else()
|
||||
set (COMPILER ${CMAKE_GENERATOR})
|
||||
@@ -274,7 +268,7 @@ macro (COLLECT_AND_INSTALL_OCCT_HEADER_FILES ROOT_TARGET_OCCT_DIR OCCT_BUILD_TOO
|
||||
list (LENGTH OCCT_ALL_FILE_NAMES ALL_FILES_NB)
|
||||
math (EXPR ALL_FILES_NB "${ALL_FILES_NB} - 1" )
|
||||
|
||||
# emit warnings if there is unprocessed headers
|
||||
# emit warnings if there are unprocessed headers
|
||||
file (GLOB OCCT_ALL_FILES_IN_DIR "${OCCT_COLLECT_SOURCE_DIR}/${OCCT_PACKAGE}/*.*")
|
||||
file (GLOB OCCT_ALL_FILES_IN_PATCH_DIR "${BUILD_PATCH}/src/${OCCT_PACKAGE}/*.*")
|
||||
|
||||
@@ -307,8 +301,8 @@ macro (COLLECT_AND_INSTALL_OCCT_HEADER_FILES ROOT_TARGET_OCCT_DIR OCCT_BUILD_TOO
|
||||
list (APPEND OCCT_HEADER_FILES_COMPLETE ${OCCT_FILE_IN_DIR})
|
||||
|
||||
# collect header files with name that does not contain its package one
|
||||
string (FIND "${OCCT_FILE_NAME}" "${OCCT_PACKAGE}_" FOUND_INDEX)
|
||||
if (NOT ${FOUND_INDEX} EQUAL 0)
|
||||
string (REGEX MATCH "^${OCCT_PACKAGE}[_.]" IS_HEADER_MATHCING_PACKAGE "${OCCT_FILE_NAME}")
|
||||
if (NOT IS_HEADER_MATHCING_PACKAGE)
|
||||
list (APPEND OCCT_HEADER_FILE_WITH_PROPER_NAMES "${OCCT_FILE_NAME}")
|
||||
endif()
|
||||
endif()
|
||||
@@ -355,12 +349,12 @@ macro (COLLECT_AND_INSTALL_OCCT_HEADER_FILES ROOT_TARGET_OCCT_DIR OCCT_BUILD_TOO
|
||||
list (FIND OCCT_USED_PACKAGES ${PACKAGE_NAME} IS_HEADER_FOUND)
|
||||
if (NOT ${IS_HEADER_FOUND} EQUAL -1)
|
||||
if (NOT EXISTS "${OCCT_COLLECT_SOURCE_DIR}/${PACKAGE_NAME}/${HEADER_FILE_NAME}")
|
||||
message (STATUS "Warning. ${OCCT_HEADER_FILE_OLD} is not presented in the sources and will be removed from ${ROOT_TARGET_OCCT_DIR}/inc")
|
||||
message (STATUS "Warning. ${OCCT_HEADER_FILE_OLD} is not present in the sources and will be removed from ${ROOT_TARGET_OCCT_DIR}/inc")
|
||||
file (REMOVE "${OCCT_HEADER_FILE_OLD}")
|
||||
else()
|
||||
list (FIND OCCT_HEADER_FILE_NAMES_NOT_IN_FILES ${PACKAGE_NAME} IS_HEADER_FOUND)
|
||||
if (NOT ${IS_HEADER_FOUND} EQUAL -1)
|
||||
message (STATUS "Warning. ${OCCT_HEADER_FILE_OLD} is presented in the sources but not involved in FILES and will be removed from ${ROOT_TARGET_OCCT_DIR}/inc")
|
||||
message (STATUS "Warning. ${OCCT_HEADER_FILE_OLD} is present in the sources but not involved in FILES and will be removed from ${ROOT_TARGET_OCCT_DIR}/inc")
|
||||
file (REMOVE "${OCCT_HEADER_FILE_OLD}")
|
||||
endif()
|
||||
endif()
|
||||
@@ -595,9 +589,7 @@ macro (OCCT_UPDATE_TARGET_FILE)
|
||||
endif()
|
||||
|
||||
install (CODE
|
||||
"cmake_policy(PUSH)
|
||||
cmake_policy(SET CMP0007 NEW)
|
||||
string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWERCASE)
|
||||
"string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWERCASE)
|
||||
file (GLOB ALL_OCCT_TARGET_FILES \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
|
||||
foreach(TARGET_FILENAME \${ALL_OCCT_TARGET_FILES})
|
||||
file (STRINGS \"\${TARGET_FILENAME}\" TARGET_FILE_CONTENT)
|
||||
@@ -606,8 +598,7 @@ macro (OCCT_UPDATE_TARGET_FILE)
|
||||
string (REGEX REPLACE \"[\\\\]?[\\\$]{OCCT_INSTALL_BIN_LETTER}\" \"\${OCCT_INSTALL_BIN_LETTER}\" line \"\${line}\")
|
||||
file (APPEND \"\${TARGET_FILENAME}\" \"\${line}\\n\")
|
||||
endforeach()
|
||||
endforeach()
|
||||
cmake_policy(POP)")
|
||||
endforeach()")
|
||||
endmacro()
|
||||
|
||||
macro (OCCT_INSERT_CODE_FOR_TARGET)
|
||||
@@ -621,17 +612,14 @@ macro (OCCT_INSERT_CODE_FOR_TARGET)
|
||||
endmacro()
|
||||
|
||||
macro (OCCT_UPDATE_DRAW_DEFAULT_FILE)
|
||||
install(CODE "cmake_policy(PUSH)
|
||||
cmake_policy(SET CMP0007 NEW)
|
||||
set (DRAW_DEFAULT_FILE_NAME \"${INSTALL_DIR}/${INSTALL_DIR_RESOURCE}/DrawResources/DrawPlugin\")
|
||||
install(CODE "set (DRAW_DEFAULT_FILE_NAME \"${INSTALL_DIR}/${INSTALL_DIR_RESOURCE}/DrawResources/DrawPlugin\")
|
||||
file (STRINGS \"\${DRAW_DEFAULT_FILE_NAME}\" DRAW_DEFAULT_CONTENT)
|
||||
file (REMOVE \"\${DRAW_DEFAULT_FILE_NAME}\")
|
||||
foreach (line IN LISTS DRAW_DEFAULT_CONTENT)
|
||||
string (REGEX MATCH \": TK\([a-zA-Z]+\)$\" IS_TK_LINE \"\${line}\")
|
||||
string (REGEX REPLACE \": TK\([a-zA-Z]+\)$\" \": TK\${CMAKE_MATCH_1}${BUILD_SHARED_LIBRARY_NAME_POSTFIX}\" line \"\${line}\")
|
||||
file (APPEND \"\${DRAW_DEFAULT_FILE_NAME}\" \"\${line}\\n\")
|
||||
endforeach()
|
||||
cmake_policy(POP)")
|
||||
endforeach()")
|
||||
endmacro()
|
||||
|
||||
macro (OCCT_CREATE_SYMLINK_TO_FILE LIBRARY_NAME LINK_NAME)
|
||||
|
@@ -22,7 +22,7 @@ if ("${OCCT_TOOLKITS_NAME_SUFFIX}" STREQUAL "")
|
||||
set (OCCT_TOOLKITS_NAME_SUFFIX "TOOLKITS")
|
||||
endif()
|
||||
|
||||
# parce PACKAGES file
|
||||
# parse PACKAGES file
|
||||
FILE_TO_LIST ("${RELATIVE_SOURCES_DIR}/${PROJECT_NAME}/PACKAGES" USED_PACKAGES)
|
||||
if ("${USED_PACKAGES}" STREQUAL "")
|
||||
set (USED_PACKAGES ${PROJECT_NAME})
|
||||
@@ -39,7 +39,7 @@ set (PRECOMPILED_DEFS)
|
||||
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
list (APPEND PRECOMPILED_DEFS "-DOCCT_NO_PLUGINS")
|
||||
if (WIN32)
|
||||
if (WIN32 AND NOT EXECUTABLE_PROJECT)
|
||||
list (APPEND PRECOMPILED_DEFS "-DOCCT_STATIC_BUILD")
|
||||
endif()
|
||||
endif()
|
||||
@@ -57,11 +57,6 @@ foreach (OCCT_PACKAGE ${USED_PACKAGES})
|
||||
set (OCCT_PACKAGE_NAME "${OCCT_PACKAGE}")
|
||||
endif()
|
||||
|
||||
# TKService contains platform-dependent packages: Xw and WNT
|
||||
if ((WIN32 AND "${OCCT_PACKAGE}" STREQUAL "Xw") OR (NOT WIN32 AND "${OCCT_PACKAGE}" STREQUAL "WNT"))
|
||||
# do nothing
|
||||
else()
|
||||
|
||||
if (WIN32)
|
||||
list (APPEND PRECOMPILED_DEFS "-D__${OCCT_PACKAGE_NAME}_DLL")
|
||||
endif()
|
||||
@@ -71,7 +66,6 @@ foreach (OCCT_PACKAGE ${USED_PACKAGES})
|
||||
|
||||
# Generate Flex and Bison files
|
||||
if (${BUILD_YACCLEX})
|
||||
|
||||
# flex files
|
||||
OCCT_ORIGIN_AND_PATCHED_FILES ("${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}" "*[.]lex" SOURCE_FILES_FLEX)
|
||||
list (LENGTH SOURCE_FILES_FLEX SOURCE_FILES_FLEX_LEN)
|
||||
@@ -97,10 +91,40 @@ foreach (OCCT_PACKAGE ${USED_PACKAGES})
|
||||
string (COMPARE EQUAL ${CURRENT_FLEX_FILE_NAME} ${CURRENT_BISON_FILE_NAME} ARE_FILES_EQUAL)
|
||||
|
||||
if (EXISTS "${CURRENT_FLEX_FILE}" AND EXISTS "${CURRENT_BISON_FILE}" AND ${ARE_FILES_EQUAL})
|
||||
set (BISON_OUTPUT_FILE ${CURRENT_BISON_FILE_NAME}.tab.c)
|
||||
set (FLEX_OUTPUT_FILE lex.${CURRENT_FLEX_FILE_NAME}.c)
|
||||
BISON_TARGET (Parser_${CURRENT_BISON_FILE_NAME} ${CURRENT_BISON_FILE} ${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}/${BISON_OUTPUT_FILE} COMPILE_FLAGS "-p ${CURRENT_BISON_FILE_NAME}")
|
||||
FLEX_TARGET (Scanner_${CURRENT_FLEX_FILE_NAME} ${CURRENT_FLEX_FILE} ${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}/${FLEX_OUTPUT_FILE} COMPILE_FLAGS "-P${CURRENT_FLEX_FILE_NAME}")
|
||||
|
||||
# Note: files are generated in original source directory (not in patch!)
|
||||
set (FLEX_BISON_TARGET_DIR "${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}")
|
||||
|
||||
# choose appropriate extension for generated files: "cxx" if source file contains
|
||||
# instruction to generate C++ code, "c" otherwise
|
||||
set (BISON_OUTPUT_FILE_EXT "c")
|
||||
set (FLEX_OUTPUT_FILE_EXT "c")
|
||||
file (STRINGS "${CURRENT_BISON_FILE}" FILE_BISON_CONTENT)
|
||||
foreach (FILE_BISON_CONTENT_LINE ${FILE_BISON_CONTENT})
|
||||
string (REGEX MATCH "%language \"C\\+\\+\"" CXX_BISON_LANGUAGE_FOUND ${FILE_BISON_CONTENT_LINE})
|
||||
if (CXX_BISON_LANGUAGE_FOUND)
|
||||
set (BISON_OUTPUT_FILE_EXT "cxx")
|
||||
endif()
|
||||
endforeach()
|
||||
file (STRINGS "${CURRENT_FLEX_FILE}" FILE_FLEX_CONTENT)
|
||||
foreach (FILE_FLEX_CONTENT_LINE ${FILE_FLEX_CONTENT})
|
||||
string (REGEX MATCH "%option c\\+\\+" CXX_FLEX_LANGUAGE_FOUND ${FILE_FLEX_CONTENT_LINE})
|
||||
if (CXX_FLEX_LANGUAGE_FOUND)
|
||||
set (FLEX_OUTPUT_FILE_EXT "cxx")
|
||||
|
||||
# install copy of FlexLexer.h locally to allow further building without flex
|
||||
if (FLEX_INCLUDE_DIR AND EXISTS "${FLEX_INCLUDE_DIR}/FlexLexer.h")
|
||||
configure_file("${FLEX_INCLUDE_DIR}/FlexLexer.h" "${FLEX_BISON_TARGET_DIR}/FlexLexer.h" @ONLY NEWLINE_STYLE LF)
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
set (BISON_OUTPUT_FILE ${CURRENT_BISON_FILE_NAME}.tab.${BISON_OUTPUT_FILE_EXT})
|
||||
set (FLEX_OUTPUT_FILE lex.${CURRENT_FLEX_FILE_NAME}.${FLEX_OUTPUT_FILE_EXT})
|
||||
|
||||
BISON_TARGET (Parser_${CURRENT_BISON_FILE_NAME} ${CURRENT_BISON_FILE} "${FLEX_BISON_TARGET_DIR}/${BISON_OUTPUT_FILE}"
|
||||
COMPILE_FLAGS "-p ${CURRENT_BISON_FILE_NAME} -l -M ${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/=")
|
||||
FLEX_TARGET (Scanner_${CURRENT_FLEX_FILE_NAME} ${CURRENT_FLEX_FILE} "${FLEX_BISON_TARGET_DIR}/${FLEX_OUTPUT_FILE}"
|
||||
COMPILE_FLAGS "-P${CURRENT_FLEX_FILE_NAME} -L")
|
||||
ADD_FLEX_BISON_DEPENDENCY (Scanner_${CURRENT_FLEX_FILE_NAME} Parser_${CURRENT_BISON_FILE_NAME})
|
||||
|
||||
list (APPEND SOURCE_FILES ${BISON_OUTPUT_FILE} ${FLEX_OUTPUT_FILE})
|
||||
@@ -167,7 +191,6 @@ foreach (OCCT_PACKAGE ${USED_PACKAGES})
|
||||
foreach(RESOURCE_FILE ${RESOURCE_FILES})
|
||||
SOURCE_GROUP ("Resource Files\\${OCCT_PACKAGE_NAME}" FILES "${RESOURCE_FILE}")
|
||||
endforeach()
|
||||
endif()
|
||||
endforeach()
|
||||
string (REGEX REPLACE ";" " " PRECOMPILED_DEFS "${PRECOMPILED_DEFS}")
|
||||
|
||||
@@ -205,12 +228,21 @@ if (EXECUTABLE_PROJECT)
|
||||
|
||||
install (TARGETS ${PROJECT_NAME}
|
||||
DESTINATION "${INSTALL_DIR_BIN}\${OCCT_INSTALL_BIN_LETTER}")
|
||||
|
||||
if (EMSCRIPTEN)
|
||||
install(FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.wasm DESTINATION "${INSTALL_DIR_BIN}/${OCCT_INSTALL_BIN_LETTER}")
|
||||
endif()
|
||||
else()
|
||||
add_library (${PROJECT_NAME} ${USED_SRCFILES} ${USED_INCFILES} ${USED_RCFILE} ${RESOURCE_FILES} ${${PROJECT_NAME}_MOC_FILES})
|
||||
|
||||
if (MSVC)
|
||||
if (BUILD_FORCE_RelWithDebInfo)
|
||||
set (aReleasePdbConf "Release")
|
||||
else()
|
||||
set (aReleasePdbConf)
|
||||
endif()
|
||||
install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.pdb
|
||||
CONFIGURATIONS Debug RelWithDebInfo
|
||||
CONFIGURATIONS Debug ${aReleasePdbConf} RelWithDebInfo
|
||||
DESTINATION "${INSTALL_DIR_BIN}\${OCCT_INSTALL_BIN_LETTER}")
|
||||
endif()
|
||||
|
||||
@@ -223,7 +255,8 @@ else()
|
||||
EXPORT OpenCASCADE${CURRENT_MODULE}Targets
|
||||
RUNTIME DESTINATION "${INSTALL_DIR_BIN}\${OCCT_INSTALL_BIN_LETTER}"
|
||||
ARCHIVE DESTINATION "${INSTALL_DIR_LIB}\${OCCT_INSTALL_BIN_LETTER}"
|
||||
LIBRARY DESTINATION "${INSTALL_DIR_LIB}\${OCCT_INSTALL_BIN_LETTER}")
|
||||
LIBRARY DESTINATION "${INSTALL_DIR_LIB}\${OCCT_INSTALL_BIN_LETTER}"
|
||||
INCLUDES DESTINATION ${INSTALL_DIR_INCLUDE})
|
||||
|
||||
if (NOT WIN32)
|
||||
if (BUILD_SHARED_LIBS AND NOT "${BUILD_SHARED_LIBRARY_NAME_POSTFIX}" STREQUAL "")
|
||||
@@ -248,20 +281,27 @@ get_property (OCC_VERSION_MAJOR GLOBAL PROPERTY OCC_VERSION_MAJOR)
|
||||
get_property (OCC_VERSION_MINOR GLOBAL PROPERTY OCC_VERSION_MINOR)
|
||||
get_property (OCC_VERSION_MAINTENANCE GLOBAL PROPERTY OCC_VERSION_MAINTENANCE)
|
||||
|
||||
if (ANDROID)
|
||||
# do not append version to the filename
|
||||
set_target_properties (${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${PRECOMPILED_DEFS}")
|
||||
else()
|
||||
set_target_properties (${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${PRECOMPILED_DEFS}"
|
||||
SOVERSION "${OCC_VERSION_MAJOR}"
|
||||
VERSION "${OCC_VERSION_MAJOR}.${OCC_VERSION_MINOR}.${OCC_VERSION_MAINTENANCE}")
|
||||
set (OCC_SOVERSION "")
|
||||
if (BUILD_SOVERSION_NUMBERS GREATER 2)
|
||||
set (OCC_SOVERSION "${OCC_VERSION_MAJOR}.${OCC_VERSION_MINOR}.${OCC_VERSION_MAINTENANCE}")
|
||||
elseif (BUILD_SOVERSION_NUMBERS GREATER 1)
|
||||
set (OCC_SOVERSION "${OCC_VERSION_MAJOR}.${OCC_VERSION_MINOR}")
|
||||
elseif (BUILD_SOVERSION_NUMBERS GREATER 0)
|
||||
set (OCC_SOVERSION "${OCC_VERSION_MAJOR}")
|
||||
endif()
|
||||
set_target_properties (${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${PRECOMPILED_DEFS}"
|
||||
SOVERSION "${OCC_SOVERSION}"
|
||||
VERSION "${OCC_VERSION_MAJOR}.${OCC_VERSION_MINOR}.${OCC_VERSION_MAINTENANCE}")
|
||||
|
||||
set (USED_TOOLKITS_BY_CURRENT_PROJECT)
|
||||
set (USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT)
|
||||
|
||||
# parce EXTERNLIB file
|
||||
FILE_TO_LIST ("${RELATIVE_SOURCES_DIR}/${PROJECT_NAME}/EXTERNLIB" USED_EXTERNLIB_AND_TOOLKITS)
|
||||
# parse EXTERNLIB file
|
||||
if (CUSTOM_EXTERNLIB)
|
||||
set (USED_EXTERNLIB_AND_TOOLKITS ${CUSTOM_EXTERNLIB})
|
||||
else()
|
||||
FILE_TO_LIST ("${RELATIVE_SOURCES_DIR}/${PROJECT_NAME}/EXTERNLIB" USED_EXTERNLIB_AND_TOOLKITS)
|
||||
endif()
|
||||
foreach (USED_ITEM ${USED_EXTERNLIB_AND_TOOLKITS})
|
||||
string (REGEX MATCH "^ *#" COMMENT_FOUND ${USED_ITEM})
|
||||
if (NOT COMMENT_FOUND)
|
||||
@@ -280,6 +320,13 @@ foreach (USED_ITEM ${USED_EXTERNLIB_AND_TOOLKITS})
|
||||
else() # get CSF_ value
|
||||
set (CURRENT_CSF ${${USED_ITEM}})
|
||||
if (NOT "x${CURRENT_CSF}" STREQUAL "x")
|
||||
if ("${CURRENT_CSF}" STREQUAL "${CSF_OpenGlLibs}")
|
||||
add_definitions (-DHAVE_OPENGL)
|
||||
endif()
|
||||
if ("${CURRENT_CSF}" STREQUAL "${CSF_OpenGlesLibs}")
|
||||
add_definitions (-DHAVE_GLES2)
|
||||
endif()
|
||||
|
||||
set (LIBRARY_FROM_CACHE 0)
|
||||
separate_arguments (CURRENT_CSF)
|
||||
foreach (CSF_LIBRARY ${CURRENT_CSF})
|
||||
@@ -321,7 +368,7 @@ endforeach()
|
||||
if (APPLE)
|
||||
list (FIND USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT X11 IS_X11_FOUND)
|
||||
if (NOT ${IS_X11_FOUND} EQUAL -1)
|
||||
find_package (X11 COMPONENTS X11 Xext Xmu Xi)
|
||||
find_package (X11 COMPONENTS X11)
|
||||
if (NOT X11_FOUND)
|
||||
message (STATUS "Warning: X11 is not found. It's required to install The XQuartz project: http://www.xquartz.org")
|
||||
endif()
|
||||
@@ -330,7 +377,7 @@ endif()
|
||||
|
||||
# Update list of used VTK libraries if OpenGL2 Rendering BackEnd is used.
|
||||
# Add VTK_OPENGL2_BACKEND definition.
|
||||
if("${VTK_RENDERING_BACKEND}" STREQUAL "OpenGL2")
|
||||
if("${VTK_RENDERING_BACKEND}" STREQUAL "OpenGL2" OR IS_VTK_9XX)
|
||||
add_definitions(-DVTK_OPENGL2_BACKEND)
|
||||
foreach (VTK_EXCLUDE_LIBRARY vtkRenderingOpenGL vtkRenderingFreeTypeOpenGL)
|
||||
list (FIND USED_TOOLKITS_BY_CURRENT_PROJECT "${VTK_EXCLUDE_LIBRARY}" IS_VTK_OPENGL_FOUND)
|
||||
@@ -353,7 +400,10 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
if (BUILD_SHARED_LIBS OR EXECUTABLE_PROJECT)
|
||||
if(IS_VTK_9XX)
|
||||
string (REGEX REPLACE "vtk" "VTK::" USED_TOOLKITS_BY_CURRENT_PROJECT "${USED_TOOLKITS_BY_CURRENT_PROJECT}")
|
||||
endif()
|
||||
target_link_libraries (${PROJECT_NAME} ${USED_TOOLKITS_BY_CURRENT_PROJECT} ${USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT})
|
||||
endif()
|
||||
|
||||
|
5
adm/cmake/openvr.cmake
Normal file
@@ -0,0 +1,5 @@
|
||||
# OpenVR SDK
|
||||
# OpenVR is an API and runtime that allows access to VR hardware from multiple vendors without requiring that applications have specific knowledge of the hardware they are targeting.
|
||||
# https://github.com/ValveSoftware/openvr
|
||||
|
||||
THIRDPARTY_PRODUCT("OPENVR" "openvr.h" "CSF_OpenVR" "")
|
@@ -1,23 +1,22 @@
|
||||
#qt
|
||||
|
||||
#looking for 3RDPARTY_QT_DIR variable used later in qt_macro.cmake
|
||||
SET(CSF_QtCore "QtCore")
|
||||
THIRDPARTY_PRODUCT("QT" "" "CSF_QtCore" "d")
|
||||
# Qt is searched manually first (just determine root)
|
||||
message (STATUS "Processing Qt 3-rd party")
|
||||
|
||||
list (APPEND 3RDPARTY_DLL_DIRS "${3RDPARTY_QT_DIR}/bin")
|
||||
if (NOT DEFINED ${3RDPARTY_QT_DIR} AND ${3RDPARTY_QT_DIR} STREQUAL "")
|
||||
FIND_PRODUCT_DIR ("${3RDPARTY_DIR}" Qt 3RDPARTY_QT_DIR_NAME)
|
||||
|
||||
list (REMOVE_ITEM 3RDPARTY_NOT_INCLUDED "3RDPARTY_QT_INCLUDE_DIR")
|
||||
list (REMOVE_ITEM 3RDPARTY_NO_LIBS "3RDPARTY_QT_LIBRARY_DIR")
|
||||
list (REMOVE_ITEM 3RDPARTY_NO_DLLS "3RDPARTY_QT_DLL_DIR")
|
||||
if (NOT DEFINED ${3RDPARTY_QT_DIR_NAME} AND ${3RDPARTY_QT_DIR_NAME} STREQUAL "")
|
||||
set (3RDPARTY_QT_DIR "" CACHE PATH "The directory containing qt")
|
||||
message (FATAL_ERROR "Could not find used third-party product: 3RDPARTY_QT_DIR")
|
||||
endif()
|
||||
|
||||
UNSET (${3RDPARTY_QT_DLL} CACHE)
|
||||
UNSET (${3RDPARTY_QT_DLL_DIR} CACHE)
|
||||
UNSET (${3RDPARTY_QT_INCLUDE_DIR} CACHE)
|
||||
UNSET (${3RDPARTY_QT_LIBRARY} CACHE)
|
||||
UNSET (${3RDPARTY_QT_LIBRARY_DIR} CACHE)
|
||||
# Combine directory name with absolute path and show in GUI
|
||||
set (3RDPARTY_QT_DIR "${3RDPARTY_DIR}/${3RDPARTY_QT_DIR_NAME}" CACHE PATH "The directory containing Qt" FORCE)
|
||||
message (STATUS "Info: Qt is used from folder: ${3RDPARTY_QT_DIR}")
|
||||
endif()
|
||||
|
||||
set (USED_3RDPARTY_QT_DIR "${3RDPARTY_QT_DIR}")
|
||||
message (STATUS "Info: Qt is used from folder: ${3RDPARTY_QT_DIR}")
|
||||
|
||||
# Now set CMAKE_PREFIX_PATH to point to local Qt installation.
|
||||
# Without this setting find_package() will not work
|
||||
@@ -34,3 +33,9 @@ if (NOT ${Qt5_FOUND})
|
||||
else()
|
||||
#message (STATUS "Qt5 cmake configuration")
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_QT_DIR OR EXISTS "${3RDPARTY_QT_DIR}")
|
||||
list (APPEND 3RDPARTY_DLL_DIRS "${3RDPARTY_QT_DIR}/bin")
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NO_DLLS 3RDPARTY_QT_DLL_DIR)
|
||||
endif()
|
||||
|
@@ -69,12 +69,12 @@ else()
|
||||
set (3RDPARTY_TBB_INCLUDE_DIR "" CACHE PATH "the path to tbb.h" FORCE)
|
||||
endif()
|
||||
|
||||
# common steps for tbb and tbbmalloc
|
||||
# common steps for tbb12 and tbbmalloc
|
||||
macro (TBB_PRODUCT_SEARCH PRODUCT_LIBRARY_NAME)
|
||||
|
||||
string (TOUPPER ${PRODUCT_LIBRARY_NAME} upper_PRODUCT_LIBRARY_NAME)
|
||||
|
||||
# define required tbb/tbbmalloc variables
|
||||
# define required tbb12/tbbmalloc variables
|
||||
if (NOT DEFINED 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY OR NOT 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR OR NOT EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR}")
|
||||
set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY "" CACHE FILEPATH "${upper_PRODUCT_LIBRARY_NAME} library" FORCE)
|
||||
endif()
|
||||
@@ -126,7 +126,7 @@ macro (TBB_PRODUCT_SEARCH PRODUCT_LIBRARY_NAME)
|
||||
set (${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME intel64)
|
||||
endif()
|
||||
|
||||
# tbb/tbbmalloc library
|
||||
# tbb12/tbbmalloc library
|
||||
if (NOT 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY OR NOT EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}")
|
||||
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES .lib .so .dylib .a)
|
||||
@@ -178,7 +178,7 @@ macro (TBB_PRODUCT_SEARCH PRODUCT_LIBRARY_NAME)
|
||||
set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY "" CACHE FILEPATH "The path to ${upper_PRODUCT_LIBRARY_NAME} library" FORCE)
|
||||
endif()
|
||||
|
||||
# tbb/tbbmalloc shared library
|
||||
# tbb12/tbbmalloc shared library
|
||||
if (WIN32)
|
||||
if (NOT 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL OR NOT EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL}")
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES .dll)
|
||||
@@ -230,7 +230,7 @@ macro (TBB_PRODUCT_SEARCH PRODUCT_LIBRARY_NAME)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# install tbb/tbbmalloc
|
||||
# install tbb12/tbbmalloc
|
||||
if (INSTALL_TBB)
|
||||
OCCT_MAKE_OS_WITH_BITNESS()
|
||||
OCCT_MAKE_COMPILER_SHORT_NAME()
|
||||
@@ -286,9 +286,9 @@ endmacro()
|
||||
else()
|
||||
# the library directory for using by the executable
|
||||
if (WIN32)
|
||||
set (USED_3RDPARTY_TBB_DIR ${3RDPARTY_TBB_DLL_DIR})
|
||||
set (USED_3RDPARTY_TBB_DIR ${3RDPARTY_TBB12_DLL_DIR})
|
||||
else()
|
||||
set (USED_3RDPARTY_TBB_DIR ${3RDPARTY_TBB_LIBRARY_DIR})
|
||||
set (USED_3RDPARTY_TBB_DIR ${3RDPARTY_TBB12_LIBRARY_DIR})
|
||||
endif()
|
||||
endif()
|
||||
#endif()
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# tcl
|
||||
|
||||
if (NOT DEFINED INSTALL_TCL AND BUILD_SHARED_LIBS)
|
||||
if (NOT DEFINED INSTALL_TCL)
|
||||
set (INSTALL_TCL OFF CACHE BOOL "${INSTALL_TCL_DESCR}")
|
||||
endif()
|
||||
|
||||
@@ -14,30 +14,30 @@ if (NOT DEFINED 3RDPARTY_TCL_INCLUDE_DIR)
|
||||
set (3RDPARTY_TCL_INCLUDE_DIR "" CACHE FILEPATH "The directory containing headers of tcl")
|
||||
endif()
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
# tcl library file (with absolute path)
|
||||
if (NOT DEFINED 3RDPARTY_TCL_LIBRARY OR NOT 3RDPARTY_TCL_LIBRARY_DIR)
|
||||
|
||||
# tcl library file (with absolute path)
|
||||
if (NOT DEFINED 3RDPARTY_TCL_LIBRARY OR NOT 3RDPARTY_TCL_LIBRARY_DIR)
|
||||
set (3RDPARTY_TCL_LIBRARY "" CACHE FILEPATH "tcl library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# tcl library directory
|
||||
if (NOT DEFINED 3RDPARTY_TCL_LIBRARY_DIR)
|
||||
# tcl library directory
|
||||
if (NOT DEFINED 3RDPARTY_TCL_LIBRARY_DIR)
|
||||
set (3RDPARTY_TCL_LIBRARY_DIR "" CACHE FILEPATH "The directory containing tcl library")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# tcl shared library (with absolute path)
|
||||
if (WIN32)
|
||||
# tcl shared library (with absolute path)
|
||||
if (WIN32)
|
||||
if (NOT DEFINED 3RDPARTY_TCL_DLL OR NOT 3RDPARTY_TCL_DLL_DIR)
|
||||
set (3RDPARTY_TCL_DLL "" CACHE FILEPATH "tcl shared library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# tcl shared library directory
|
||||
if (WIN32 AND NOT DEFINED 3RDPARTY_TCL_DLL_DIR)
|
||||
set (3RDPARTY_TCL_DLL_DIR "" CACHE FILEPATH "The directory containing tcl shared library")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# tcl shared library directory
|
||||
if (WIN32 AND NOT DEFINED 3RDPARTY_TCL_DLL_DIR)
|
||||
set (3RDPARTY_TCL_DLL_DIR "" CACHE FILEPATH "The directory containing tcl shared library")
|
||||
endif()
|
||||
|
||||
|
||||
# search for tcl in user defined directory
|
||||
if (NOT 3RDPARTY_TCL_DIR AND 3RDPARTY_DIR)
|
||||
FIND_PRODUCT_DIR("${3RDPARTY_DIR}" tcl TCL_DIR_NAME)
|
||||
@@ -64,9 +64,8 @@ if (NOT 3RDPARTY_TCL_INCLUDE_DIR)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
# tcl dir and library
|
||||
if (NOT 3RDPARTY_TCL_LIBRARY)
|
||||
# tcl dir and library
|
||||
if (NOT 3RDPARTY_TCL_LIBRARY)
|
||||
if (TCL_LIBRARY AND EXISTS "${TCL_LIBRARY}")
|
||||
set (3RDPARTY_TCL_LIBRARY "${TCL_LIBRARY}" CACHE FILEPATH "TCL library" FORCE)
|
||||
|
||||
@@ -75,10 +74,9 @@ if (BUILD_SHARED_LIBS)
|
||||
set (3RDPARTY_TCL_LIBRARY_DIR "${3RDPARTY_TCL_LIBRARY_DIR}" CACHE FILEPATH "The directory containing TCL library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
if (WIN32)
|
||||
if (WIN32)
|
||||
if (NOT 3RDPARTY_TCL_DLL)
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES .lib .dll .a)
|
||||
|
||||
@@ -97,14 +95,12 @@ if (BUILD_SHARED_LIBS)
|
||||
PATHS "${DLL_FOLDER_FOR_SEARCH}"
|
||||
NO_DEFAULT_PATH)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
COMPLIANCE_PRODUCT_CONSISTENCY(TCL)
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
# tcl dir and library
|
||||
if (NOT 3RDPARTY_TCL_LIBRARY)
|
||||
# tcl dir and library
|
||||
if (NOT 3RDPARTY_TCL_LIBRARY)
|
||||
set (3RDPARTY_TCL_LIBRARY "3RDPARTY_TCL_LIBRARY-NOTFOUND" CACHE FILEPATH "TCL library" FORCE)
|
||||
find_library (3RDPARTY_TCL_LIBRARY NAMES ${CSF_TclLibs}
|
||||
PATHS "${3RDPARTY_TCL_LIBRARY_DIR}"
|
||||
@@ -115,7 +111,6 @@ if (BUILD_SHARED_LIBS)
|
||||
PATHS "${3RDPARTY_TCL_DIR}/lib"
|
||||
NO_DEFAULT_PATH)
|
||||
|
||||
|
||||
if (NOT 3RDPARTY_TCL_LIBRARY OR NOT EXISTS "${3RDPARTY_TCL_LIBRARY}")
|
||||
set (3RDPARTY_TCL_LIBRARY "" CACHE FILEPATH "TCL library" FORCE)
|
||||
endif()
|
||||
@@ -124,10 +119,10 @@ if (BUILD_SHARED_LIBS)
|
||||
get_filename_component (3RDPARTY_TCL_LIBRARY_DIR "${3RDPARTY_TCL_LIBRARY}" PATH)
|
||||
set (3RDPARTY_TCL_LIBRARY_DIR "${3RDPARTY_TCL_LIBRARY_DIR}" CACHE FILEPATH "The directory containing TCL library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set (3RDPARTY_TCL_LIBRARY_VERSION "")
|
||||
if (3RDPARTY_TCL_LIBRARY AND EXISTS "${3RDPARTY_TCL_LIBRARY}")
|
||||
set (3RDPARTY_TCL_LIBRARY_VERSION "")
|
||||
if (3RDPARTY_TCL_LIBRARY AND EXISTS "${3RDPARTY_TCL_LIBRARY}")
|
||||
get_filename_component (TCL_LIBRARY_NAME "${3RDPARTY_TCL_LIBRARY}" NAME)
|
||||
string(REGEX REPLACE "^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY_NAME}")
|
||||
|
||||
@@ -136,16 +131,16 @@ if (BUILD_SHARED_LIBS)
|
||||
else() # if the version isn't found - seek other library with 8.6 or 8.5 version in the same dir
|
||||
message (STATUS "Info: TCL version isn't found")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set (3RDPARTY_TCL_LIBRARY_VERSION_WITH_DOT "")
|
||||
if (3RDPARTY_TCL_LIBRARY_VERSION)
|
||||
set (3RDPARTY_TCL_LIBRARY_VERSION_WITH_DOT "")
|
||||
if (3RDPARTY_TCL_LIBRARY_VERSION)
|
||||
string (REGEX REPLACE "^.*([0-9])[^0-9]*[0-9].*$" "\\1" 3RDPARTY_TCL_MAJOR_VERSION "${3RDPARTY_TCL_LIBRARY_VERSION}")
|
||||
string (REGEX REPLACE "^.*[0-9][^0-9]*([0-9]).*$" "\\1" 3RDPARTY_TCL_MINOR_VERSION "${3RDPARTY_TCL_LIBRARY_VERSION}")
|
||||
set (3RDPARTY_TCL_LIBRARY_VERSION_WITH_DOT "${3RDPARTY_TCL_MAJOR_VERSION}.${3RDPARTY_TCL_MINOR_VERSION}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
if (WIN32)
|
||||
if (NOT 3RDPARTY_TCL_DLL)
|
||||
set (CMAKE_FIND_LIBRARY_SUFFIXES .lib .dll .a)
|
||||
|
||||
@@ -172,31 +167,31 @@ if (BUILD_SHARED_LIBS)
|
||||
get_filename_component (3RDPARTY_TCL_DLL_DIR "${3RDPARTY_TCL_DLL}" PATH)
|
||||
set (3RDPARTY_TCL_DLL_DIR "${3RDPARTY_TCL_DLL_DIR}" CACHE FILEPATH "The directory containing TCL shared library" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# include found paths to common variables
|
||||
if (3RDPARTY_TCL_INCLUDE_DIR AND EXISTS "${3RDPARTY_TCL_INCLUDE_DIR}")
|
||||
# include found paths to common variables
|
||||
if (3RDPARTY_TCL_INCLUDE_DIR AND EXISTS "${3RDPARTY_TCL_INCLUDE_DIR}")
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_TCL_INCLUDE_DIR}")
|
||||
else()
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TCL_INCLUDE_DIR)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_TCL_LIBRARY AND EXISTS "${3RDPARTY_TCL_LIBRARY}")
|
||||
if (3RDPARTY_TCL_LIBRARY AND EXISTS "${3RDPARTY_TCL_LIBRARY}")
|
||||
list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_TCL_LIBRARY_DIR}")
|
||||
else()
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_TCL_LIBRARY_DIR)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
if (WIN32)
|
||||
if (3RDPARTY_TCL_DLL OR EXISTS "${3RDPARTY_TCL_DLL}")
|
||||
list (APPEND 3RDPARTY_DLL_DIRS "${3RDPARTY_TCL_DLL_DIR}")
|
||||
else()
|
||||
list (APPEND 3RDPARTY_NO_DLLS 3RDPARTY_TCL_DLL_DIR)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# install tcl
|
||||
if (INSTALL_TCL)
|
||||
# install tcl
|
||||
if (INSTALL_TCL)
|
||||
# include occt macros. compiler_bitness, os_wiht_bit, compiler
|
||||
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
|
||||
|
||||
@@ -245,23 +240,22 @@ if (BUILD_SHARED_LIBS)
|
||||
install (DIRECTORY "${3RDPARTY_TCL_LIBRARY_DIR}/tcl8" DESTINATION "${INSTALL_DIR_LIB}")
|
||||
install (DIRECTORY "${3RDPARTY_TCL_LIBRARY_DIR}/tcl${TCL_TCLSH_VERSION}" DESTINATION "${INSTALL_DIR_LIB}")
|
||||
else()
|
||||
message (STATUS "\nWarning: tclX.X subdir won't be copyied during the installation process.")
|
||||
message (STATUS "\nWarning: tclX.X subdir won't be copied during the installation process.")
|
||||
message (STATUS "Try seeking tcl within another folder by changing 3RDPARTY_TCL_DIR variable.")
|
||||
endif()
|
||||
|
||||
set (USED_3RDPARTY_TCL_DIR "")
|
||||
else()
|
||||
else()
|
||||
# the library directory for using by the executable
|
||||
if (WIN32)
|
||||
set (USED_3RDPARTY_TCL_DIR ${3RDPARTY_TCL_DLL_DIR})
|
||||
else()
|
||||
set (USED_3RDPARTY_TCL_DIR ${3RDPARTY_TCL_LIBRARY_DIR})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
mark_as_advanced (3RDPARTY_TCL_LIBRARY 3RDPARTY_TCL_DLL)
|
||||
endif()
|
||||
|
||||
mark_as_advanced (3RDPARTY_TCL_LIBRARY 3RDPARTY_TCL_DLL)
|
||||
|
||||
if (TK_FOUND AND 3RDPARTY_TCL_DIR)
|
||||
|
||||
get_filename_component (TK_WISH_ABSOLUTE "${TK_WISH}" ABSOLUTE)
|
||||
@@ -285,10 +279,3 @@ OCCT_CHECK_AND_UNSET (TK_LIBRARY)
|
||||
OCCT_CHECK_AND_UNSET (TK_INCLUDE_PATH)
|
||||
OCCT_CHECK_AND_UNSET (TK_WISH)
|
||||
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
OCCT_CHECK_AND_UNSET (3RDPARTY_TCL_LIBRARY)
|
||||
OCCT_CHECK_AND_UNSET (3RDPARTY_TCL_LIBRARY_DIR)
|
||||
OCCT_CHECK_AND_UNSET (3RDPARTY_TCL_DLL)
|
||||
OCCT_CHECK_AND_UNSET (3RDPARTY_TCL_DLL_DIR)
|
||||
OCCT_CHECK_AND_UNSET (INSTALL_TCL)
|
||||
endif()
|
||||
|
@@ -250,7 +250,7 @@ if (BUILD_SHARED_LIBS)
|
||||
# tk is required to install in lib folder (without)
|
||||
install (DIRECTORY "${3RDPARTY_TK_LIBRARY_DIR}/tk${TCL_TCLSH_VERSION}" DESTINATION "${INSTALL_DIR_LIB}")
|
||||
else()
|
||||
message (STATUS "\nWarning: tkX.X subdir won't be copyied during the installation process.")
|
||||
message (STATUS "\nWarning: tkX.X subdir won't be copied during the installation process.")
|
||||
message (STATUS "Try seeking tk within another folder by changing 3RDPARTY_TK_DIR variable.")
|
||||
endif()
|
||||
|
||||
|
@@ -28,6 +28,9 @@ Applies only for Debug configuration.")
|
||||
set (BUILD_SHARED_LIBRARY_NAME_POSTFIX_DESCR
|
||||
"Append the postfix to names of output libraries")
|
||||
|
||||
set (BUILD_SOVERSION_NUMBERS_DESCR
|
||||
"Version numbers to put into SONAME: 0 - for empty, 1 - for major, 2 - for major.minor, 3 - for major.minor.maintenance")
|
||||
|
||||
set (BUILD_RELEASE_DISABLE_EXCEPTIONS_DESCR
|
||||
"Disables exceptions like Standard_OutOfRange in Release builds.
|
||||
Defines No_Exception macros for Release builds when enabled (default).
|
||||
@@ -38,6 +41,9 @@ set (BUILD_ENABLE_FPE_SIGNAL_HANDLER_DESCR
|
||||
Corresponding environment variable (CSF_FPE) can be changed manually
|
||||
in custom.bat/sh scripts without regeneration by CMake.")
|
||||
|
||||
set (BUILD_FORCE_RelWithDebInfo_DESCR
|
||||
"Generate PDB files within normal Release build.")
|
||||
|
||||
set (BUILD_USE_PCH_DESCR
|
||||
"Use precompiled headers to accelerate the build.
|
||||
Precompiled headers are generated automatically by Cotire tool.")
|
||||
@@ -89,6 +95,7 @@ INSTALL_MESSAGE (INSTALL_TEST_CASES "non-regression OCCT test scripts")
|
||||
INSTALL_MESSAGE (INSTALL_DOC_Overview "OCCT overview documentation (HTML format)")
|
||||
INSTALL_MESSAGE (INSTALL_FFMPEG "FFmpeg binaries")
|
||||
INSTALL_MESSAGE (INSTALL_FREEIMAGE "FreeImage binaries")
|
||||
INSTALL_MESSAGE (INSTALL_OPENVR "OpenVR binaries")
|
||||
INSTALL_MESSAGE (INSTALL_EIGEN "EIGEN header files")
|
||||
INSTALL_MESSAGE (INSTALL_EGL "EGL binaries")
|
||||
INSTALL_MESSAGE (INSTALL_GLES2 "OpenGL ES 2.0 binaries")
|
||||
@@ -154,25 +161,38 @@ set (3RDPARTY_DIR_DESCR
|
||||
third-party product have been found - corresponding CMake variables will be specified
|
||||
(VTK: 3RDPARTY_VTK_DIR, 3RDPARTY_VTK_INCLUDE_DIR, 3RDPARTY_VTK_LIBRARY_DIR)")
|
||||
|
||||
set (USE_TK_DESCR
|
||||
"Indicates whether Tk product should be used by Draw Harness for user interface")
|
||||
|
||||
set (USE_FREETYPE_DESCR
|
||||
"Indicates whether FreeType product should be used in OCCT for text rendering using external font files")
|
||||
|
||||
set (USE_FFMPEG_DESCR
|
||||
"Indicates whether FFmpeg framework is used or not. FFmpeg stands for
|
||||
multimedia data handling, open-source software libraries used for video encoding and decoding.")
|
||||
|
||||
set (USE_FREEIMAGE_DESCR
|
||||
"Indicates whether Freeimage product should be used in OCCT visualization
|
||||
"Indicates whether FreeImage product should be used in OCCT visualization
|
||||
module for support of popular graphics image formats (PNG, BMP etc)")
|
||||
|
||||
set (USE_OPENVR_DESCR
|
||||
"Indicates whether OpenVR should be used in OCCT visualization module for VR support")
|
||||
|
||||
set (USE_RAPIDJSON_DESCR
|
||||
"Indicates whether RapidJSON product should be used in OCCT DataExchange
|
||||
module for support of JSON-based formats like glTF")
|
||||
|
||||
set (USE_DRACO_DESCR
|
||||
"Indicates whether Draco mesh decoding library should be used by glTF reader")
|
||||
|
||||
set (USE_EGL_DESCR
|
||||
"Indicates whether EGL should be used in OCCT visualization
|
||||
module instead of conventional OpenGL context creation APIs")
|
||||
|
||||
set (USE_OPENGL_DESCR
|
||||
"Indicates whether OpenGL desktop should be used in OCCT visualization module")
|
||||
set (USE_GLES2_DESCR
|
||||
"Indicates whether OpenGL ES 2.0 should be used in OCCT visualization
|
||||
module instead of desktop OpenGL")
|
||||
"Indicates whether OpenGL ES 2.0 should be used in OCCT visualization module")
|
||||
|
||||
set (USE_TBB_DESCR
|
||||
"Indicates whether TBB is used or not. TBB stands for Threading Building Blocks,
|
||||
@@ -185,7 +205,7 @@ ToolKit, the technology of Kitware Inc intended for general-purpose scientific
|
||||
visualization. OCCT comes with a bridge between CAD data representation and
|
||||
VTK by means of its dedicated VIS component (VTK Integration Services).")
|
||||
|
||||
set (USE_GLX_DESCR "Indicates whether X11 OpenGl on OSX is used or not")
|
||||
set (USE_XLIB_DESCR "Indicates whether X11 is used or not")
|
||||
|
||||
set (USE_D3D_DESCR "Indicates whether optional Direct3D wrapper in OCCT visualization module should be build or not")
|
||||
|
||||
|
@@ -66,10 +66,15 @@ if (3RDPARTY_VTK_DIR AND EXISTS "${3RDPARTY_VTK_DIR}")
|
||||
set (ENV{VTK_DIR} ${CACHED_VTK_DIR})
|
||||
endif()
|
||||
|
||||
unset (IS_VTK_9XX)
|
||||
if (VTK_FOUND)
|
||||
|
||||
message ("VTK version (${VTK_VERSION})")
|
||||
if(VTK_MAJOR_VERSION EQUAL 8 AND VTK_MINOR_VERSION GREATER 9 OR VTK_MAJOR_VERSION GREATER 8)
|
||||
set (IS_VTK_9XX 1)
|
||||
else()
|
||||
# add compiler flags, preprocessor definitions, include and link dirs
|
||||
include (${VTK_USE_FILE})
|
||||
endif()
|
||||
|
||||
if (VTK_LIBRARIES)
|
||||
|
||||
@@ -81,8 +86,15 @@ if (VTK_FOUND)
|
||||
# endif()
|
||||
|
||||
foreach (VTK_LIBRARY ${VTK_LIBRARIES})
|
||||
if (IS_VTK_9XX)
|
||||
string (REGEX MATCH "^VTK::" IS_VTK_LIBRARY ${VTK_LIBRARY})
|
||||
else()
|
||||
string (REGEX MATCH "^vtk" IS_VTK_LIBRARY ${VTK_LIBRARY})
|
||||
if (IS_VTK_LIBRARY AND TARGET ${VTK_LIBRARY})
|
||||
endif()
|
||||
if (NOT IS_VTK_LIBRARY OR NOT TARGET ${VTK_LIBRARY})
|
||||
continue()
|
||||
endif()
|
||||
|
||||
# get paths from corresponding variables
|
||||
if (${VTK_LIBRARY}_INCLUDE_DIRS AND EXISTS "${${VTK_LIBRARY}_INCLUDE_DIRS}")
|
||||
list (APPEND 3RDPARTY_VTK_INCLUDE_DIRS "${${VTK_LIBRARY}_INCLUDE_DIRS}")
|
||||
@@ -101,7 +113,6 @@ if (VTK_FOUND)
|
||||
|
||||
# get paths from corresponding properties
|
||||
get_target_property (TARGET_VTK_IMPORT_CONFS ${VTK_LIBRARY} IMPORTED_CONFIGURATIONS)
|
||||
|
||||
if (TARGET_VTK_IMPORT_CONFS)
|
||||
list (GET TARGET_VTK_IMPORT_CONFS 0 CHOSEN_IMPORT_CONF)
|
||||
|
||||
@@ -155,8 +166,6 @@ if (VTK_FOUND)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
@@ -187,6 +196,7 @@ if (VTK_FOUND)
|
||||
endif()
|
||||
endif()
|
||||
# endif()
|
||||
endif()
|
||||
|
||||
if (3RDPARTY_VTK_INCLUDE_DIR AND EXISTS "${3RDPARTY_VTK_INCLUDE_DIR}")
|
||||
list (APPEND 3RDPARTY_INCLUDE_DIRS ${3RDPARTY_VTK_INCLUDE_DIR})
|
||||
|
524
adm/genconf.tcl
@@ -24,6 +24,9 @@
|
||||
# load tools
|
||||
source [file join [file dirname [info script]] genconfdeps.tcl]
|
||||
|
||||
# proxy variable for implicit file path normalization
|
||||
set PRODUCTS_PATH_INPUT "$::PRODUCTS_PATH"
|
||||
|
||||
package require Tk
|
||||
|
||||
set aRowIter 0
|
||||
@@ -53,21 +56,52 @@ lappend ::SYS_PRJNAME_LIST "Qt Creator (.pro)"
|
||||
|
||||
set aPrjIndex [lsearch $::SYS_PRJFMT_LIST $::PRJFMT]
|
||||
set ::PRJNAME [lindex $::SYS_PRJNAME_LIST $aPrjIndex]
|
||||
set ::CONFIG "Release"
|
||||
|
||||
set SYS_VS_LIST {}
|
||||
set SYS_VC_LIST {}
|
||||
set SYS_VCVARS_LIST {}
|
||||
|
||||
# detect installed Visual Studio 2017 instances by running vswhere.exe
|
||||
if { ! [catch {exec vswhere.exe -version "\[15.0,15.99\]" -latest -requires Microsoft.VisualStudio.Workload.NativeDesktop -property installationPath} res] } {
|
||||
# detect installed Visual Studio 2017+ instances by running vswhere.exe
|
||||
if { ! [catch {exec vswhere.exe -version "\[15.0,15.99\]" -latest -requires Microsoft.VisualStudio.Workload.NativeDesktop -property installationPath} res] && "$res" != "" } {
|
||||
lappend ::SYS_VS_LIST "Visual Studio 2017 (15, toolset v141)"
|
||||
lappend ::SYS_VC_LIST "vc141"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\\vcvarsall.bat"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
|
||||
}
|
||||
if { ! [catch {exec vswhere.exe -version "\[15.0,15.99\]" -latest -requires Microsoft.VisualStudio.Workload.Universal -property installationPath} res] } {
|
||||
if { ! [catch {exec vswhere.exe -version "\[15.0,15.99\]" -latest -requires Microsoft.VisualStudio.Workload.Universal -property installationPath} res] && "$res" != "" } {
|
||||
lappend ::SYS_VS_LIST "Visual Studio 2017 (15, toolset v141) UWP"
|
||||
lappend ::SYS_VC_LIST "vc141-uwp"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\\vcvarsall.bat"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
|
||||
}
|
||||
if { ! [catch {exec vswhere.exe -version "\[16.0,16.99\]" -latest -requires Microsoft.VisualStudio.Workload.NativeDesktop -property installationPath} res] && "$res" != "" } {
|
||||
lappend ::SYS_VS_LIST "Visual Studio 2019 (16, toolset v142)"
|
||||
lappend ::SYS_VC_LIST "vc142"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
|
||||
}
|
||||
if { ! [catch {exec vswhere.exe -version "\[16.0,16.99\]" -latest -requires Microsoft.VisualStudio.Workload.Universal -property installationPath} res] && "$res" != "" } {
|
||||
lappend ::SYS_VS_LIST "Visual Studio 2019 (16, toolset v142) UWP"
|
||||
lappend ::SYS_VC_LIST "vc142-uwp"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
|
||||
}
|
||||
if { ! [catch {exec vswhere.exe -version "\[16.0,16.99\]" -latest -requires Microsoft.VisualStudio.Component.VC.ClangCL -property installationPath} res] && "$res" != "" } {
|
||||
lappend ::SYS_VS_LIST "Visual Studio 2019 (16, toolset ClangCL)"
|
||||
lappend ::SYS_VC_LIST "vclang"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\Auxiliary\\Build\\vcvarsall.bat"
|
||||
}
|
||||
if { ! [catch {exec vswhere.exe -version "\[17.0,17.99\]" -latest -requires Microsoft.VisualStudio.Workload.NativeDesktop -property installationPath} res] && "$res" != "" } {
|
||||
lappend ::SYS_VS_LIST "Visual Studio 2022 (17, toolset v143)"
|
||||
lappend ::SYS_VC_LIST "vc143"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
|
||||
}
|
||||
if { ! [catch {exec vswhere.exe -version "\[17.0,17.99\]" -latest -requires Microsoft.VisualStudio.Workload.Universal -property installationPath} res] && "$res" != "" } {
|
||||
lappend ::SYS_VS_LIST "Visual Studio 2022 (17, toolset v143) UWP"
|
||||
lappend ::SYS_VC_LIST "vc143-uwp"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
|
||||
}
|
||||
if { ! [catch {exec vswhere.exe -version "\[17.0,17.99\]" -latest -requires Microsoft.VisualStudio.Component.VC.ClangCL -property installationPath} res] && "$res" != "" } {
|
||||
lappend ::SYS_VS_LIST "Visual Studio 2022 (17, toolset ClangCL)"
|
||||
lappend ::SYS_VC_LIST "vclang"
|
||||
lappend ::SYS_VCVARS_LIST "$res\\VC\\Auxiliary\\Build\\vcvarsall.bat"
|
||||
}
|
||||
|
||||
# detect installed Visual Studio instances from global environment
|
||||
@@ -120,6 +154,13 @@ proc wokdep:gui:Close {} {
|
||||
exit
|
||||
}
|
||||
|
||||
proc wokdep:gui:configSuffix {} {
|
||||
if { "$::CONFIG" == "Debug" } {
|
||||
return "D"
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
proc wokdep:gui:SwitchConfig {} {
|
||||
set ::PRJFMT [lindex $::SYS_PRJFMT_LIST [.myFrame.myPrjFrame.myPrjCombo current]]
|
||||
set ::VCVER [lindex $::SYS_VC_LIST [.myFrame.myVsFrame.myVsCombo current]]
|
||||
@@ -130,16 +171,15 @@ proc wokdep:gui:SwitchConfig {} {
|
||||
set ::CSF_OPT_LIB64 {}
|
||||
set ::CSF_OPT_BIN32 {}
|
||||
set ::CSF_OPT_BIN64 {}
|
||||
set ::CSF_OPT_LIB32D {}
|
||||
set ::CSF_OPT_LIB64D {}
|
||||
set ::CSF_OPT_BIN32D {}
|
||||
set ::CSF_OPT_BIN64D {}
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:SwitchArch {} {
|
||||
if { "$::ARCH" == "32" } {
|
||||
wokdep:gui:Show32Bitness ::aRowIter
|
||||
}
|
||||
if { "$::ARCH" == "64" } {
|
||||
wokdep:gui:Show64Bitness ::aRowIter
|
||||
}
|
||||
wokdep:gui:Show3264Bitness ::aRowIter
|
||||
|
||||
if { [llength [grid info .myFrame.mySave]] != 0 } {
|
||||
grid forget .myFrame.mySave .myFrame.myClose
|
||||
@@ -150,6 +190,16 @@ proc wokdep:gui:SwitchArch {} {
|
||||
grid .myFrame.myClose -row $::aRowIter -column 6 -columnspan 2
|
||||
}
|
||||
|
||||
# update label text and visibility
|
||||
font create wokdep:gui:EmptyFont -size -1
|
||||
proc wokdep:gui:SetLabelText {theLabel theText} {
|
||||
set aFont TkDefaultFont
|
||||
if { $theText == "" } {
|
||||
set aFont wokdep:gui:EmptyFont
|
||||
}
|
||||
$theLabel configure -text $theText -font $aFont
|
||||
}
|
||||
|
||||
proc wokdep:gui:UpdateList {} {
|
||||
set anIncErrs {}
|
||||
set anLib32Errs {}
|
||||
@@ -157,7 +207,9 @@ proc wokdep:gui:UpdateList {} {
|
||||
set anBin32Errs {}
|
||||
set anBin64Errs {}
|
||||
wokdep:SearchTclTk anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
if { "$::HAVE_FREETYPE" == "true" } {
|
||||
wokdep:SearchFreeType anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
}
|
||||
wokdep:SearchX11 anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
if { "$::HAVE_GLES2" == "true" } {
|
||||
wokdep:SearchEGL anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
@@ -169,6 +221,9 @@ proc wokdep:gui:UpdateList {} {
|
||||
if { "$::HAVE_FFMPEG" == "true" } {
|
||||
wokdep:SearchFFmpeg anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
}
|
||||
if { "$::HAVE_OPENVR" == "true" } {
|
||||
wokdep:SearchOpenVR anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
}
|
||||
if { "$::HAVE_TBB" == "true" } {
|
||||
wokdep:SearchTBB anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
}
|
||||
@@ -180,7 +235,11 @@ proc wokdep:gui:UpdateList {} {
|
||||
}
|
||||
|
||||
if { "$::HAVE_ZLIB" == "true" } {
|
||||
wokdep:SearchStandardLibrary anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs "zlib" "zlib.h" "zlib" {"zlib"}
|
||||
set aCheckLib "z"
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
set aCheckLib "zlib"
|
||||
}
|
||||
wokdep:SearchStandardLibrary anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs "zlib" "zlib.h" "$aCheckLib" {"zlib"}
|
||||
}
|
||||
if { "$::HAVE_LIBLZMA" == "true" } {
|
||||
set aCheckLib "lzma"
|
||||
@@ -189,22 +248,56 @@ proc wokdep:gui:UpdateList {} {
|
||||
}
|
||||
wokdep:SearchStandardLibrary anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs "liblzma" "lzma.h" "$aCheckLib" {"lzma" "xz"}
|
||||
}
|
||||
if { "$::HAVE_E57" == "true" } {
|
||||
wokdep:SearchStandardLibrary anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs "e57" "e57/E57Foundation.h" "E57RefImpl" {"e57"}
|
||||
set aCheckLib "xerces-c"
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
set aCheckLib "xerces-c_3"
|
||||
}
|
||||
wokdep:SearchStandardLibrary anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs "xerces-c" "xercesc/sax2/XMLReaderFactory.hpp" "$aCheckLib" {"xerces"}
|
||||
}
|
||||
if { "$::HAVE_RAPIDJSON" == "true" } {
|
||||
wokdep:SearchRapidJson anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
}
|
||||
|
||||
if { "$::CHECK_QT4" == "true" } {
|
||||
wokdep:SearchQt4 anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
if { "$::HAVE_DRACO" == "true" } {
|
||||
set aDummy {}
|
||||
wokdep:SearchStandardLibrary anIncErrs anLib32Errs anLib64Errs aDummy aDummy "draco" "draco/compression/decode.h" "draco" {"draco"}
|
||||
}
|
||||
|
||||
if {"$::BUILD_Inspector" == "true" } {
|
||||
set ::CHECK_QT "true"
|
||||
}
|
||||
|
||||
if { "$::CHECK_QT" == "true" } {
|
||||
wokdep:SearchQt anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
}
|
||||
|
||||
if { "$::CHECK_JDK" == "true" } {
|
||||
wokdep:SearchJDK anIncErrs anLib32Errs anLib64Errs anBin32Errs anBin64Errs
|
||||
}
|
||||
|
||||
.myFrame.myIncErrLbl configure -text [join $anIncErrs "\n"]
|
||||
.myFrame.myLib32ErrLbl configure -text [join $anLib32Errs "\n"]
|
||||
.myFrame.myLib64ErrLbl configure -text [join $anLib64Errs "\n"]
|
||||
.myFrame.myBin32ErrLbl configure -text [join $anBin32Errs "\n"]
|
||||
.myFrame.myBin64ErrLbl configure -text [join $anBin64Errs "\n"]
|
||||
wokdep:gui:SetLabelText .myFrame.myIncErrLbl [join $anIncErrs "\n"]
|
||||
|
||||
wokdep:gui:SetLabelText .myFrame.myIncErrLbl [join $anIncErrs "\n"]
|
||||
wokdep:gui:SetLabelText .myFrame.myLib32_ErrLbl [join $anLib32Errs "\n"]
|
||||
wokdep:gui:SetLabelText .myFrame.myLib64_ErrLbl [join $anLib64Errs "\n"]
|
||||
wokdep:gui:SetLabelText .myFrame.myBin32_ErrLbl [join $anBin32Errs "\n"]
|
||||
wokdep:gui:SetLabelText .myFrame.myBin64_ErrLbl [join $anBin64Errs "\n"]
|
||||
|
||||
wokdep:gui:SetLabelText .myFrame.myLib32D_ErrLbl [join $anLib32Errs "\n"]
|
||||
wokdep:gui:SetLabelText .myFrame.myLib64D_ErrLbl [join $anLib64Errs "\n"]
|
||||
wokdep:gui:SetLabelText .myFrame.myBin32D_ErrLbl [join $anBin32Errs "\n"]
|
||||
wokdep:gui:SetLabelText .myFrame.myBin64D_ErrLbl [join $anBin64Errs "\n"]
|
||||
|
||||
# merge duplicates
|
||||
set ::CSF_OPT_LIB32 [lsort -unique $::CSF_OPT_LIB32]
|
||||
set ::CSF_OPT_LIB64 [lsort -unique $::CSF_OPT_LIB64]
|
||||
set ::CSF_OPT_BIN32 [lsort -unique $::CSF_OPT_BIN32]
|
||||
set ::CSF_OPT_BIN64 [lsort -unique $::CSF_OPT_BIN64]
|
||||
set ::CSF_OPT_LIB32D [lsort -unique $::CSF_OPT_LIB32D]
|
||||
set ::CSF_OPT_LIB64D [lsort -unique $::CSF_OPT_LIB64D]
|
||||
set ::CSF_OPT_BIN32D [lsort -unique $::CSF_OPT_BIN32D]
|
||||
set ::CSF_OPT_BIN64D [lsort -unique $::CSF_OPT_BIN64D]
|
||||
}
|
||||
|
||||
proc wokdep:gui:BrowseVcVars {} {
|
||||
@@ -215,9 +308,9 @@ proc wokdep:gui:BrowseVcVars {} {
|
||||
}
|
||||
|
||||
proc wokdep:gui:BrowsePartiesRoot {} {
|
||||
set aResult [tk_chooseDirectory -initialdir $::PRODUCTS_PATH -title "Choose a directory"]
|
||||
set aResult [tk_chooseDirectory -initialdir $::PRODUCTS_PATH_INPUT -title "Choose a directory"]
|
||||
if { "$aResult" != "" } {
|
||||
set ::PRODUCTS_PATH $aResult
|
||||
set ::PRODUCTS_PATH_INPUT $aResult
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
}
|
||||
@@ -230,34 +323,20 @@ proc wokdep:gui:AddIncPath {} {
|
||||
}
|
||||
}
|
||||
|
||||
proc wokdep:gui:AddLib32Path {} {
|
||||
proc wokdep:gui:AddLibPath {} {
|
||||
set aCfg [wokdep:gui:configSuffix]
|
||||
set aResult [tk_chooseDirectory -title "Choose a directory"]
|
||||
if { "$aResult" != "" } {
|
||||
lappend ::CSF_OPT_LIB32 "$aResult"
|
||||
lappend ::CSF_OPT_LIB${::ARCH}${aCfg} "$aResult"
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
}
|
||||
|
||||
proc wokdep:gui:AddLib64Path {} {
|
||||
proc wokdep:gui:AddBinPath {} {
|
||||
set aCfg [wokdep:gui:configSuffix]
|
||||
set aResult [tk_chooseDirectory -title "Choose a directory"]
|
||||
if { "$aResult" != "" } {
|
||||
lappend ::CSF_OPT_LIB64 "$aResult"
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
}
|
||||
|
||||
proc wokdep:gui:AddBin32Path {} {
|
||||
set aResult [tk_chooseDirectory -title "Choose a directory"]
|
||||
if { "$aResult" != "" } {
|
||||
lappend ::CSF_OPT_BIN32 "$aResult"
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
}
|
||||
|
||||
proc wokdep:gui:AddBin64Path {} {
|
||||
set aResult [tk_chooseDirectory -title "Choose a directory"]
|
||||
if { "$aResult" != "" } {
|
||||
lappend ::CSF_OPT_BIN64 "$aResult"
|
||||
lappend ::CSF_OPT_BIN${::ARCH}${aCfg} "$aResult"
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
}
|
||||
@@ -270,34 +349,20 @@ proc wokdep:gui:RemoveIncPath {} {
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:RemoveLib32Path {} {
|
||||
set aSelIndices [.myFrame.myLib32List curselection]
|
||||
proc wokdep:gui:RemoveLibPath {} {
|
||||
set aCfg [wokdep:gui:configSuffix]
|
||||
set aSelIndices [.myFrame.myLib${::ARCH}${aCfg}_List curselection]
|
||||
if { [llength $aSelIndices] != 0 } {
|
||||
.myFrame.myLib32List delete [lindex $aSelIndices 0]
|
||||
.myFrame.myLib${::ARCH}${aCfg}_List delete [lindex $aSelIndices 0]
|
||||
}
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:RemoveLib64Path {} {
|
||||
set aSelIndices [.myFrame.myLib64List curselection]
|
||||
proc wokdep:gui:RemoveBinPath {} {
|
||||
set aCfg [wokdep:gui:configSuffix]
|
||||
set aSelIndices [.myFrame.myBin${::ARCH}${aCfg}_List curselection]
|
||||
if { [llength $aSelIndices] != 0 } {
|
||||
.myFrame.myLib64List delete [lindex $aSelIndices 0]
|
||||
}
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:RemoveBin32Path {} {
|
||||
set aSelIndices [.myFrame.myBin32List curselection]
|
||||
if { [llength $aSelIndices] != 0 } {
|
||||
.myFrame.myBin32List delete [lindex $aSelIndices 0]
|
||||
}
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:RemoveBin64Path {} {
|
||||
set aSelIndices [.myFrame.myBin64List curselection]
|
||||
if { [llength $aSelIndices] != 0 } {
|
||||
.myFrame.myBin64List delete [lindex $aSelIndices 0]
|
||||
.myFrame.myBin${::ARCH}${aCfg}_List delete [lindex $aSelIndices 0]
|
||||
}
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
@@ -307,109 +372,73 @@ proc wokdep:gui:ResetIncPath {} {
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:ResetLib32Path {} {
|
||||
set ::CSF_OPT_LIB32 {}
|
||||
proc wokdep:gui:ResetLibPath {} {
|
||||
set ::CSF_OPT_LIB${::ARCH} {}
|
||||
set ::CSF_OPT_LIB${::ARCH}D {}
|
||||
set ::CSF_OPT_BIN${::ARCH} {}
|
||||
set ::CSF_OPT_BIN${::ARCH}D {}
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:ResetLib64Path {} {
|
||||
set ::CSF_OPT_LIB64 {}
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:ResetBin32Path {} {
|
||||
set ::CSF_OPT_BIN32 {}
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:ResetBin64Path {} {
|
||||
set ::CSF_OPT_BIN64 {}
|
||||
wokdep:gui:UpdateList
|
||||
}
|
||||
|
||||
proc wokdep:gui:Show32Bitness { theRowIter } {
|
||||
proc wokdep:gui:Show3264Bitness { theRowIter } {
|
||||
upvar $theRowIter aRowIter
|
||||
|
||||
if { [llength [grid info .myFrame.myLib64Lbl]] != 0 } {
|
||||
grid forget .myFrame.myLib64Lbl .myFrame.myLib64List .myFrame.myLib64Scrl
|
||||
grid forget .myFrame.myLib64Add .myFrame.myLib64Remove .myFrame.myLib64Clear .myFrame.myLib64ErrLbl
|
||||
grid forget .myFrame.myBin64Lbl .myFrame.myBin64List .myFrame.myBin64Scrl
|
||||
grid forget .myFrame.myBin64Add .myFrame.myBin64Remove .myFrame.myBin64Clear .myFrame.myBin64ErrLbl
|
||||
set aArchOld ""
|
||||
set aCfg [wokdep:gui:configSuffix]
|
||||
if { "$::ARCH" == "32" } {
|
||||
set aArchOld "64"
|
||||
} else {
|
||||
set aArchOld "32"
|
||||
}
|
||||
|
||||
# Additional libraries (32-bit) search paths
|
||||
grid .myFrame.myLib32Lbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
grid .myFrame.myLib32List -row $aRowIter -column 0 -rowspan 4 -columnspan 5
|
||||
grid .myFrame.myLib32Scrl -row $aRowIter -column 5 -rowspan 4
|
||||
grid .myFrame.myLib32Add -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
#grid .myFrame.myLib32Edit -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myLib32Remove -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myLib32Clear -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myLib32ErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
|
||||
# Additional executables (32-bit) search paths
|
||||
grid .myFrame.myBin32Lbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
grid .myFrame.myBin32List -row $aRowIter -column 0 -rowspan 4 -columnspan 5
|
||||
grid .myFrame.myBin32Scrl -row $aRowIter -column 5 -rowspan 4
|
||||
grid .myFrame.myBin32Add -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
#grid .myFrame.myBin32Edit -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myBin32Remove -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myBin32Clear -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myBin32ErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
}
|
||||
|
||||
proc wokdep:gui:Show64Bitness { theRowIter } {
|
||||
upvar $theRowIter aRowIter
|
||||
|
||||
if { [llength [grid info .myFrame.myLib32Lbl]] != 0 } {
|
||||
grid forget .myFrame.myLib32Lbl .myFrame.myLib32List .myFrame.myLib32Scrl
|
||||
grid forget .myFrame.myLib32Add .myFrame.myLib32Remove .myFrame.myLib32Clear .myFrame.myLib32ErrLbl
|
||||
grid forget .myFrame.myBin32Lbl .myFrame.myBin32List .myFrame.myBin32Scrl
|
||||
grid forget .myFrame.myBin32Add .myFrame.myBin32Remove .myFrame.myBin32Clear .myFrame.myBin32ErrLbl
|
||||
set aCfgOld "D"
|
||||
if { "$::CONFIG" == "Debug" } { set aCfgOld "" }
|
||||
set aDelArch ${aArchOld}${aCfg}
|
||||
if { [llength [grid info .myFrame.myLib${aDelArch}_Lbl]] != 0 } {
|
||||
grid forget .myFrame.myLib${aDelArch}_Lbl .myFrame.myLib${aDelArch}_List .myFrame.myLib${aDelArch}_Scrl
|
||||
grid forget .myFrame.myLib${aDelArch}_Add .myFrame.myLib${aDelArch}_Remove .myFrame.myLib${aDelArch}_Clear .myFrame.myLib${aDelArch}_ErrLbl
|
||||
grid forget .myFrame.myBin${aDelArch}_Lbl .myFrame.myBin${aDelArch}_List .myFrame.myBin${aDelArch}_Scrl
|
||||
grid forget .myFrame.myBin${aDelArch}_Add .myFrame.myBin${aDelArch}_Remove .myFrame.myBin${aDelArch}_Clear .myFrame.myBin${aDelArch}_ErrLbl
|
||||
}
|
||||
set aDelCfg ${::ARCH}${aCfgOld}
|
||||
if { [llength [grid info .myFrame.myLib${aDelCfg}_Lbl]] != 0 } {
|
||||
grid forget .myFrame.myLib${aDelCfg}_Lbl .myFrame.myLib${aDelCfg}_List .myFrame.myLib${aDelCfg}_Scrl
|
||||
grid forget .myFrame.myLib${aDelCfg}_Add .myFrame.myLib${aDelCfg}_Remove .myFrame.myLib${aDelCfg}_Clear .myFrame.myLib${aDelCfg}_ErrLbl
|
||||
grid forget .myFrame.myBin${aDelCfg}_Lbl .myFrame.myBin${aDelCfg}_List .myFrame.myBin${aDelCfg}_Scrl
|
||||
grid forget .myFrame.myBin${aDelCfg}_Add .myFrame.myBin${aDelCfg}_Remove .myFrame.myBin${aDelCfg}_Clear .myFrame.myBin${aDelCfg}_ErrLbl
|
||||
}
|
||||
|
||||
# Additional libraries (64-bit) search paths
|
||||
grid .myFrame.myLib64Lbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
set aNewCfg ${::ARCH}${aCfg}
|
||||
# Additional libraries search paths
|
||||
grid .myFrame.myLib${aNewCfg}_Lbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
grid .myFrame.myLib64List -row $aRowIter -column 0 -rowspan 4 -columnspan 5
|
||||
grid .myFrame.myLib64Scrl -row $aRowIter -column 5 -rowspan 4
|
||||
grid .myFrame.myLib64Add -row $aRowIter -column 6
|
||||
grid .myFrame.myLib${aNewCfg}_List -row $aRowIter -column 0 -rowspan 4 -columnspan 5
|
||||
grid .myFrame.myLib${aNewCfg}_Scrl -row $aRowIter -column 5 -rowspan 4
|
||||
grid .myFrame.myLib${aNewCfg}_Add -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
#grid .myFrame.myLib64Edit -row $aRowIter -column 6
|
||||
#grid .myFrame.myLib${aNewCfg}_Edit -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myLib64Remove -row $aRowIter -column 6
|
||||
grid .myFrame.myLib${aNewCfg}_Remove -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myLib64Clear -row $aRowIter -column 6
|
||||
grid .myFrame.myLib${aNewCfg}_Clear -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myLib64ErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
grid .myFrame.myLib${aNewCfg}_ErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
|
||||
# Additional executables (64-bit) search paths
|
||||
grid .myFrame.myBin64Lbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
# Additional executables search paths
|
||||
grid .myFrame.myBin${aNewCfg}_Lbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
grid .myFrame.myBin64List -row $aRowIter -column 0 -rowspan 4 -columnspan 5
|
||||
grid .myFrame.myBin64Scrl -row $aRowIter -column 5 -rowspan 4
|
||||
grid .myFrame.myBin64Add -row $aRowIter -column 6
|
||||
grid .myFrame.myBin${aNewCfg}_List -row $aRowIter -column 0 -rowspan 4 -columnspan 5
|
||||
grid .myFrame.myBin${aNewCfg}_Scrl -row $aRowIter -column 5 -rowspan 4
|
||||
grid .myFrame.myBin${aNewCfg}_Add -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
#grid .myFrame.myBin64Edit -row $aRowIter -column 6
|
||||
#grid .myFrame.myBin${aNewCfg}_Edit -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myBin64Remove -row $aRowIter -column 6
|
||||
grid .myFrame.myBin${aNewCfg}_Remove -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myBin64Clear -row $aRowIter -column 6
|
||||
grid .myFrame.myBin${aNewCfg}_Clear -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
grid .myFrame.myBin64ErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
grid .myFrame.myBin${aNewCfg}_ErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
}
|
||||
|
||||
@@ -419,6 +448,7 @@ ttk::combobox .myFrame.myPrjFrame.myPrjCombo -values $SYS_PRJNAME_LIST -state
|
||||
ttk::label .myFrame.myVsFrame.myVsLbl -text "Visual Studio configuration:" -padding {5 5 20 5}
|
||||
ttk::combobox .myFrame.myVsFrame.myVsCombo -values $SYS_VS_LIST -state readonly -textvariable VSVER -width 40
|
||||
ttk::combobox .myFrame.myVsFrame.myArchCombo -values { {32} {64} } -textvariable ARCH -state readonly -width 6
|
||||
ttk::combobox .myFrame.myVsFrame.myConfigCombo -values { {Release} {Debug} } -textvariable CONFIG -state readonly -width 6
|
||||
entry .myFrame.myVcEntry -textvariable VCVER -width 10
|
||||
entry .myFrame.myVcVarsEntry -textvariable VCVARS -width 70
|
||||
ttk::button .myFrame.myVcBrowseBtn -text "Browse" -command wokdep:gui:BrowseVcVars
|
||||
@@ -431,12 +461,16 @@ ttk::label .myFrame.myHxxChecks.myScutsLbl -text "Strategy for filling he
|
||||
|
||||
#
|
||||
ttk::label .myFrame.mySrchLbl -text "3rd-parties search path:" -padding {5 5 80 5}
|
||||
entry .myFrame.mySrchEntry -textvariable PRODUCTS_PATH -width 80
|
||||
entry .myFrame.mySrchEntry -textvariable PRODUCTS_PATH_INPUT -width 80
|
||||
ttk::button .myFrame.mySrchBrowseBtn -text "Browse" -command wokdep:gui:BrowsePartiesRoot
|
||||
checkbutton .myFrame.myChecks.myFreeTypeCheck -offvalue "false" -onvalue "true" -variable HAVE_FREETYPE -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myFreeTypeLbl -text "Use FreeType"
|
||||
checkbutton .myFrame.myChecks.myFImageCheck -offvalue "false" -onvalue "true" -variable HAVE_FREEIMAGE -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myFImageLbl -text "Use FreeImage"
|
||||
checkbutton .myFrame.myChecks.myTbbCheck -offvalue "false" -onvalue "true" -variable HAVE_TBB -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myTbbLbl -text "Use Intel TBB"
|
||||
checkbutton .myFrame.myChecks.myOpenVrCheck -offvalue "false" -onvalue "true" -variable HAVE_OPENVR -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myOpenVrLbl -text "Use OpenVR"
|
||||
if { "$::tcl_platform(os)" != "Darwin" } {
|
||||
checkbutton .myFrame.myChecks.myGlesCheck -offvalue "false" -onvalue "true" -variable HAVE_GLES2 -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myGlesLbl -text "Use OpenGL ES"
|
||||
@@ -449,8 +483,13 @@ checkbutton .myFrame.myChecks.myFFmpegCheck -offvalue "false" -onvalue "true
|
||||
ttk::label .myFrame.myChecks.myFFmpegLbl -text "Use FFmpeg"
|
||||
#checkbutton .myFrame.myChecks.myOpenClCheck -offvalue "false" -onvalue "true" -variable HAVE_OPENCL -command wokdep:gui:UpdateList
|
||||
#ttk::label .myFrame.myChecks.myOpenClLbl -text "Use OpenCL"
|
||||
checkbutton .myFrame.myChecks.myMacGLXCheck -offvalue "false" -onvalue "true" -variable MACOSX_USE_GLX
|
||||
ttk::label .myFrame.myChecks.myMacGLXLbl -text "Use X11 for windows drawing"
|
||||
checkbutton .myFrame.myChecks.myRapidJsonCheck -offvalue "false" -onvalue "true" -variable HAVE_RAPIDJSON -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myRapidJsonLbl -text "Use RapidJSON"
|
||||
checkbutton .myFrame.myChecks.myDracoCheck -offvalue "false" -onvalue "true" -variable HAVE_DRACO -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myDracoLbl -text "Use Draco"
|
||||
|
||||
checkbutton .myFrame.myChecks.myXLibCheck -offvalue "false" -onvalue "true" -variable HAVE_XLIB
|
||||
ttk::label .myFrame.myChecks.myXLibLbl -text "Use X11 for windows drawing"
|
||||
ttk::label .myFrame.myChecks.myVtkLbl -text "Use VTK"
|
||||
checkbutton .myFrame.myChecks.myVtkCheck -offvalue "false" -onvalue "true" -variable HAVE_VTK -command wokdep:gui:UpdateList
|
||||
|
||||
@@ -458,15 +497,19 @@ checkbutton .myFrame.myChecks.myZLibCheck -offvalue "false" -onvalue "true
|
||||
ttk::label .myFrame.myChecks.myZLibLbl -text "Use zlib"
|
||||
checkbutton .myFrame.myChecks.myLzmaCheck -offvalue "false" -onvalue "true" -variable HAVE_LIBLZMA -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myLzmaLbl -text "Use liblzma"
|
||||
checkbutton .myFrame.myChecks.myE57Check -offvalue "false" -onvalue "true" -variable HAVE_E57 -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myE57Lbl -text "Use E57"
|
||||
|
||||
checkbutton .myFrame.myChecks.myRapidJsonCheck -offvalue "false" -onvalue "true" -variable HAVE_RAPIDJSON -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myRapidJsonLbl -text "Use RapidJSON"
|
||||
|
||||
checkbutton .myFrame.myChecks.myQt4Check -offvalue "false" -onvalue "true" -variable CHECK_QT4 -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myQt4Lbl -text "Search Qt4"
|
||||
checkbutton .myFrame.myChecks.myQtCheck -offvalue "false" -onvalue "true" -variable CHECK_QT -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myQtLbl -text "Search Qt"
|
||||
checkbutton .myFrame.myChecks.myJDKCheck -offvalue "false" -onvalue "true" -variable CHECK_JDK -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myJDKLbl -text "Search JDK"
|
||||
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
checkbutton .myFrame.myChecks.myInspectorBuild -offvalue "false" -onvalue "true" -variable BUILD_Inspector -command wokdep:gui:UpdateList
|
||||
ttk::label .myFrame.myChecks.myInspectorLbl -text "Build Inspector"
|
||||
}
|
||||
|
||||
# Additional headers search paths
|
||||
ttk::label .myFrame.myIncLbl -text "Additional headers search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myIncScrl -command ".myFrame.myIncList yview"
|
||||
@@ -478,44 +521,84 @@ ttk::button .myFrame.myIncClear -text "Reset" -command wokdep:gui:ResetIncP
|
||||
ttk::label .myFrame.myIncErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
|
||||
# Additional libraries (32-bit) search paths
|
||||
ttk::label .myFrame.myLib32Lbl -text "Additional libraries (32-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myLib32Scrl -command ".myFrame.myLib32List yview"
|
||||
listbox .myFrame.myLib32List -listvariable CSF_OPT_LIB32 -width 80 -height 5 -yscrollcommand ".myFrame.myLib32Scrl set"
|
||||
ttk::button .myFrame.myLib32Add -text "Add" -command wokdep:gui:AddLib32Path
|
||||
ttk::button .myFrame.myLib32Edit -text "Edit"
|
||||
ttk::button .myFrame.myLib32Remove -text "Remove" -command wokdep:gui:RemoveLib32Path
|
||||
ttk::button .myFrame.myLib32Clear -text "Reset" -command wokdep:gui:ResetLib32Path
|
||||
ttk::label .myFrame.myLib32ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
ttk::label .myFrame.myLib32_Lbl -text "Additional libraries (32-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myLib32_Scrl -command ".myFrame.myLib32_List yview"
|
||||
listbox .myFrame.myLib32_List -listvariable CSF_OPT_LIB32 -width 80 -height 5 -yscrollcommand ".myFrame.myLib32_Scrl set"
|
||||
ttk::button .myFrame.myLib32_Add -text "Add" -command wokdep:gui:AddLibPath
|
||||
ttk::button .myFrame.myLib32_Edit -text "Edit"
|
||||
ttk::button .myFrame.myLib32_Remove -text "Remove" -command wokdep:gui:RemoveLibPath
|
||||
ttk::button .myFrame.myLib32_Clear -text "Reset" -command wokdep:gui:ResetLibPath
|
||||
ttk::label .myFrame.myLib32_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
|
||||
# Additional debug libraries (32-bit) search paths
|
||||
ttk::label .myFrame.myLib32D_Lbl -text "Additional debug libraries (32-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myLib32D_Scrl -command ".myFrame.myLib32D_List yview"
|
||||
listbox .myFrame.myLib32D_List -listvariable CSF_OPT_LIB32D -width 80 -height 5 -yscrollcommand ".myFrame.myLib32D_Scrl set"
|
||||
ttk::button .myFrame.myLib32D_Add -text "Add" -command wokdep:gui:AddLibPath
|
||||
ttk::button .myFrame.myLib32D_Edit -text "Edit"
|
||||
ttk::button .myFrame.myLib32D_Remove -text "Remove" -command wokdep:gui:RemoveLibPath
|
||||
ttk::button .myFrame.myLib32D_Clear -text "Reset" -command wokdep:gui:ResetLibPath
|
||||
ttk::label .myFrame.myLib32D_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
|
||||
# Additional libraries (64-bit) search paths
|
||||
ttk::label .myFrame.myLib64Lbl -text "Additional libraries (64-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myLib64Scrl -command ".myFrame.myLib64List yview"
|
||||
listbox .myFrame.myLib64List -listvariable CSF_OPT_LIB64 -width 80 -height 5 -yscrollcommand ".myFrame.myLib64Scrl set"
|
||||
ttk::button .myFrame.myLib64Add -text "Add" -command wokdep:gui:AddLib64Path
|
||||
ttk::button .myFrame.myLib64Edit -text "Edit"
|
||||
ttk::button .myFrame.myLib64Remove -text "Remove" -command wokdep:gui:RemoveLib64Path
|
||||
ttk::button .myFrame.myLib64Clear -text "Reset" -command wokdep:gui:ResetLib64Path
|
||||
ttk::label .myFrame.myLib64ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
ttk::label .myFrame.myLib64_Lbl -text "Additional libraries (64-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myLib64_Scrl -command ".myFrame.myLib64_List yview"
|
||||
listbox .myFrame.myLib64_List -listvariable CSF_OPT_LIB64 -width 80 -height 5 -yscrollcommand ".myFrame.myLib64_Scrl set"
|
||||
ttk::button .myFrame.myLib64_Add -text "Add" -command wokdep:gui:AddLibPath
|
||||
ttk::button .myFrame.myLib64_Edit -text "Edit"
|
||||
ttk::button .myFrame.myLib64_Remove -text "Remove" -command wokdep:gui:RemoveLibPath
|
||||
ttk::button .myFrame.myLib64_Clear -text "Reset" -command wokdep:gui:ResetLibPath
|
||||
ttk::label .myFrame.myLib64_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
|
||||
# Additional debug libraries (64-bit) search paths
|
||||
ttk::label .myFrame.myLib64D_Lbl -text "Additional debug libraries (64-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myLib64D_Scrl -command ".myFrame.myLib64D_List yview"
|
||||
listbox .myFrame.myLib64D_List -listvariable CSF_OPT_LIB64D -width 80 -height 5 -yscrollcommand ".myFrame.myLib64D_Scrl set"
|
||||
ttk::button .myFrame.myLib64D_Add -text "Add" -command wokdep:gui:AddLibPath
|
||||
ttk::button .myFrame.myLib64D_Edit -text "Edit"
|
||||
ttk::button .myFrame.myLib64D_Remove -text "Remove" -command wokdep:gui:RemoveLibPath
|
||||
ttk::button .myFrame.myLib64D_Clear -text "Reset" -command wokdep:gui:ResetLibPath
|
||||
ttk::label .myFrame.myLib64D_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
|
||||
# Additional executables (32-bit) search paths
|
||||
ttk::label .myFrame.myBin32Lbl -text "Additional executables (32-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myBin32Scrl -command ".myFrame.myBin32List yview"
|
||||
listbox .myFrame.myBin32List -listvariable CSF_OPT_BIN32 -width 80 -height 5 -yscrollcommand ".myFrame.myBin32Scrl set"
|
||||
ttk::button .myFrame.myBin32Add -text "Add" -command wokdep:gui:AddBin32Path
|
||||
ttk::button .myFrame.myBin32Edit -text "Edit"
|
||||
ttk::button .myFrame.myBin32Remove -text "Remove" -command wokdep:gui:RemoveBin32Path
|
||||
ttk::button .myFrame.myBin32Clear -text "Reset" -command wokdep:gui:ResetBin32Path
|
||||
ttk::label .myFrame.myBin32ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
ttk::label .myFrame.myBin32_Lbl -text "Additional executables (32-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myBin32_Scrl -command ".myFrame.myBin32_List yview"
|
||||
listbox .myFrame.myBin32_List -listvariable CSF_OPT_BIN32 -width 80 -height 5 -yscrollcommand ".myFrame.myBin32_Scrl set"
|
||||
ttk::button .myFrame.myBin32_Add -text "Add" -command wokdep:gui:AddBinPath
|
||||
ttk::button .myFrame.myBin32_Edit -text "Edit"
|
||||
ttk::button .myFrame.myBin32_Remove -text "Remove" -command wokdep:gui:RemoveBinPath
|
||||
ttk::button .myFrame.myBin32_Clear -text "Reset" -command wokdep:gui:ResetLibPath
|
||||
ttk::label .myFrame.myBin32_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
|
||||
# Additional debug executables (32-bit) search paths
|
||||
ttk::label .myFrame.myBin32D_Lbl -text "Additional debug executables (32-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myBin32D_Scrl -command ".myFrame.myBin32D_List yview"
|
||||
listbox .myFrame.myBin32D_List -listvariable CSF_OPT_BIN32D -width 80 -height 5 -yscrollcommand ".myFrame.myBin32D_Scrl set"
|
||||
ttk::button .myFrame.myBin32D_Add -text "Add" -command wokdep:gui:AddBinPath
|
||||
ttk::button .myFrame.myBin32D_Edit -text "Edit"
|
||||
ttk::button .myFrame.myBin32D_Remove -text "Remove" -command wokdep:gui:RemoveBinPath
|
||||
ttk::button .myFrame.myBin32D_Clear -text "Reset" -command wokdep:gui:ResetLibPath
|
||||
ttk::label .myFrame.myBin32D_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
|
||||
# Additional executables (64-bit) search paths
|
||||
ttk::label .myFrame.myBin64Lbl -text "Additional executables (64-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myBin64Scrl -command ".myFrame.myBin64List yview"
|
||||
listbox .myFrame.myBin64List -listvariable CSF_OPT_BIN64 -width 80 -height 5 -yscrollcommand ".myFrame.myBin64Scrl set"
|
||||
ttk::button .myFrame.myBin64Add -text "Add" -command wokdep:gui:AddBin64Path
|
||||
ttk::button .myFrame.myBin64Edit -text "Edit"
|
||||
ttk::button .myFrame.myBin64Remove -text "Remove" -command wokdep:gui:RemoveBin64Path
|
||||
ttk::button .myFrame.myBin64Clear -text "Reset" -command wokdep:gui:ResetBin64Path
|
||||
ttk::label .myFrame.myBin64ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
ttk::label .myFrame.myBin64_Lbl -text "Additional executables (64-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myBin64_Scrl -command ".myFrame.myBin64_List yview"
|
||||
listbox .myFrame.myBin64_List -listvariable CSF_OPT_BIN64 -width 80 -height 5 -yscrollcommand ".myFrame.myBin64_Scrl set"
|
||||
ttk::button .myFrame.myBin64_Add -text "Add" -command wokdep:gui:AddBinPath
|
||||
ttk::button .myFrame.myBin64_Edit -text "Edit"
|
||||
ttk::button .myFrame.myBin64_Remove -text "Remove" -command wokdep:gui:RemoveBinPath
|
||||
ttk::button .myFrame.myBin64_Clear -text "Reset" -command wokdep:gui:ResetLibPath
|
||||
ttk::label .myFrame.myBin64_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
|
||||
# Additional debug executables (64-bit) search paths
|
||||
ttk::label .myFrame.myBin64D_Lbl -text "Additional debug executables (64-bit) search paths:" -padding {5 5 80 5}
|
||||
scrollbar .myFrame.myBin64D_Scrl -command ".myFrame.myBin64D_List yview"
|
||||
listbox .myFrame.myBin64D_List -listvariable CSF_OPT_BIN64D -width 80 -height 5 -yscrollcommand ".myFrame.myBin64D_Scrl set"
|
||||
ttk::button .myFrame.myBin64D_Add -text "Add" -command wokdep:gui:AddBinPath
|
||||
ttk::button .myFrame.myBin64D_Edit -text "Edit"
|
||||
ttk::button .myFrame.myBin64D_Remove -text "Remove" -command wokdep:gui:RemoveBinPath
|
||||
ttk::button .myFrame.myBin64D_Clear -text "Reset" -command wokdep:gui:ResetLibPath
|
||||
ttk::label .myFrame.myBin64D_ErrLbl -text "Error: " -foreground red -padding {5 5 5 5}
|
||||
|
||||
# Bottom
|
||||
ttk::button .myFrame.mySave -text "Save" -command wokdep:SaveCustom
|
||||
@@ -526,17 +609,22 @@ ttk::button .myFrame.myClose -text "Close" -command wokdep:gui:Close
|
||||
grid .myFrame.myPrjFrame -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
grid .myFrame.myPrjFrame.myPrjLbl -row 0 -column 0
|
||||
grid .myFrame.myPrjFrame.myPrjCombo -row 0 -column 1
|
||||
incr aRowIter
|
||||
if { "$tcl_platform(platform)" == "windows" } {
|
||||
incr aRowIter
|
||||
grid .myFrame.myVsFrame -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
grid .myFrame.myVsFrame.myVsLbl -row 0 -column 0
|
||||
grid .myFrame.myVsFrame.myVsCombo -row 0 -column 1 -padx 5
|
||||
grid .myFrame.myVsFrame.myArchCombo -row 0 -column 2
|
||||
grid .myFrame.myVsFrame.myConfigCombo -row 0 -column 3
|
||||
incr aRowIter
|
||||
grid .myFrame.myVcEntry -row $aRowIter -column 0
|
||||
grid .myFrame.myVcVarsEntry -row $aRowIter -column 1 -columnspan 4 -sticky w
|
||||
grid .myFrame.myVcBrowseBtn -row $aRowIter -column 6
|
||||
incr aRowIter
|
||||
} else {
|
||||
grid .myFrame.myVsFrame -row $aRowIter -column 4 -sticky w
|
||||
grid .myFrame.myVsFrame.myConfigCombo -row 0 -column 0
|
||||
incr aRowIter
|
||||
}
|
||||
|
||||
#
|
||||
@@ -557,10 +645,10 @@ incr aRowIter
|
||||
|
||||
grid .myFrame.myChecks -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
grid .myFrame.myChecks.myFImageCheck -row $aCheckRowIter -column 0 -sticky e
|
||||
grid .myFrame.myChecks.myFImageLbl -row $aCheckRowIter -column 1 -sticky w
|
||||
grid .myFrame.myChecks.myTbbCheck -row $aCheckRowIter -column 2 -sticky e
|
||||
grid .myFrame.myChecks.myTbbLbl -row $aCheckRowIter -column 3 -sticky w
|
||||
grid .myFrame.myChecks.myFreeTypeCheck -row $aCheckRowIter -column 0 -sticky e
|
||||
grid .myFrame.myChecks.myFreeTypeLbl -row $aCheckRowIter -column 1 -sticky w
|
||||
grid .myFrame.myChecks.myRapidJsonCheck -row $aCheckRowIter -column 2 -sticky e
|
||||
grid .myFrame.myChecks.myRapidJsonLbl -row $aCheckRowIter -column 3 -sticky w
|
||||
if { "$::tcl_platform(os)" != "Darwin" } {
|
||||
grid .myFrame.myChecks.myGlesCheck -row $aCheckRowIter -column 4 -sticky e
|
||||
grid .myFrame.myChecks.myGlesLbl -row $aCheckRowIter -column 5 -sticky w
|
||||
@@ -570,17 +658,21 @@ if { "$::tcl_platform(os)" != "Darwin" } {
|
||||
grid .myFrame.myChecks.myZLibCheck -row $aCheckRowIter -column 6 -sticky e
|
||||
grid .myFrame.myChecks.myZLibLbl -row $aCheckRowIter -column 7 -sticky w
|
||||
|
||||
grid .myFrame.myChecks.myQt4Check -row $aCheckRowIter -column 12 -sticky e
|
||||
grid .myFrame.myChecks.myQt4Lbl -row $aCheckRowIter -column 13 -sticky w
|
||||
grid .myFrame.myChecks.myQtCheck -row $aCheckRowIter -column 12 -sticky e
|
||||
grid .myFrame.myChecks.myQtLbl -row $aCheckRowIter -column 13 -sticky w
|
||||
|
||||
incr aCheckRowIter
|
||||
grid .myFrame.myChecks.myFFmpegCheck -row $aCheckRowIter -column 0 -sticky e
|
||||
grid .myFrame.myChecks.myFFmpegLbl -row $aCheckRowIter -column 1 -sticky w
|
||||
grid .myFrame.myChecks.myVtkCheck -row $aCheckRowIter -column 2 -sticky e
|
||||
grid .myFrame.myChecks.myVtkLbl -row $aCheckRowIter -column 3 -sticky w
|
||||
grid .myFrame.myChecks.myFImageCheck -row $aCheckRowIter -column 0 -sticky e
|
||||
grid .myFrame.myChecks.myFImageLbl -row $aCheckRowIter -column 1 -sticky w
|
||||
grid .myFrame.myChecks.myDracoCheck -row $aCheckRowIter -column 2 -sticky e
|
||||
grid .myFrame.myChecks.myDracoLbl -row $aCheckRowIter -column 3 -sticky w
|
||||
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
grid .myFrame.myChecks.myD3dCheck -row $aCheckRowIter -column 4 -sticky e
|
||||
grid .myFrame.myChecks.myD3dLbl -row $aCheckRowIter -column 5 -sticky w
|
||||
} else {
|
||||
grid .myFrame.myChecks.myXLibCheck -row $aCheckRowIter -column 4 -sticky e
|
||||
grid .myFrame.myChecks.myXLibLbl -row $aCheckRowIter -column 5 -sticky w
|
||||
}
|
||||
grid .myFrame.myChecks.myLzmaCheck -row $aCheckRowIter -column 6 -sticky e
|
||||
grid .myFrame.myChecks.myLzmaLbl -row $aCheckRowIter -column 7 -sticky w
|
||||
@@ -588,14 +680,25 @@ grid .myFrame.myChecks.myJDKCheck -row $aCheckRowIter -column 12 -sticky e
|
||||
grid .myFrame.myChecks.myJDKLbl -row $aCheckRowIter -column 13 -sticky w
|
||||
|
||||
incr aCheckRowIter
|
||||
if { "$::tcl_platform(os)" == "Darwin" } {
|
||||
grid .myFrame.myChecks.myMacGLXCheck -row $aCheckRowIter -column 0 -sticky e
|
||||
grid .myFrame.myChecks.myMacGLXLbl -row $aCheckRowIter -column 1 -sticky w
|
||||
incr aCheckRowIter
|
||||
grid .myFrame.myChecks.myFFmpegCheck -row $aCheckRowIter -column 0 -sticky e
|
||||
grid .myFrame.myChecks.myFFmpegLbl -row $aCheckRowIter -column 1 -sticky w
|
||||
grid .myFrame.myChecks.myVtkCheck -row $aCheckRowIter -column 2 -sticky e
|
||||
grid .myFrame.myChecks.myVtkLbl -row $aCheckRowIter -column 3 -sticky w
|
||||
grid .myFrame.myChecks.myOpenVrCheck -row $aCheckRowIter -column 4 -sticky e
|
||||
grid .myFrame.myChecks.myOpenVrLbl -row $aCheckRowIter -column 5 -sticky w
|
||||
grid .myFrame.myChecks.myE57Check -row $aCheckRowIter -column 6 -sticky e
|
||||
grid .myFrame.myChecks.myE57Lbl -row $aCheckRowIter -column 7 -sticky w
|
||||
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
grid .myFrame.myChecks.myInspectorBuild -row $aCheckRowIter -column 12 -sticky e
|
||||
grid .myFrame.myChecks.myInspectorLbl -row $aCheckRowIter -column 13 -sticky w
|
||||
}
|
||||
|
||||
grid .myFrame.myChecks.myRapidJsonCheck -row $aCheckRowIter -column 6 -sticky e
|
||||
grid .myFrame.myChecks.myRapidJsonLbl -row $aCheckRowIter -column 7 -sticky w
|
||||
incr aCheckRowIter
|
||||
|
||||
grid .myFrame.myChecks.myTbbCheck -row $aCheckRowIter -column 12 -sticky e
|
||||
grid .myFrame.myChecks.myTbbLbl -row $aCheckRowIter -column 13 -sticky w
|
||||
|
||||
incr aCheckRowIter
|
||||
|
||||
# Additional headers search paths
|
||||
@@ -614,15 +717,8 @@ incr aRowIter
|
||||
grid .myFrame.myIncErrLbl -row $aRowIter -column 0 -columnspan 10 -sticky w
|
||||
incr aRowIter
|
||||
|
||||
# Additional 32-bit search paths
|
||||
if { "$ARCH" == "32" } {
|
||||
wokdep:gui:Show32Bitness aRowIter
|
||||
}
|
||||
|
||||
# Additional 64-bit search paths
|
||||
if { "$ARCH" == "64" } {
|
||||
wokdep:gui:Show64Bitness aRowIter
|
||||
}
|
||||
# Additional search paths
|
||||
wokdep:gui:Show3264Bitness aRowIter
|
||||
|
||||
# Bottom section
|
||||
grid .myFrame.mySave -row $aRowIter -column 4 -columnspan 2
|
||||
@@ -638,8 +734,12 @@ bind .myFrame.myVsFrame.myVsCombo <<ComboboxSelected>> {
|
||||
bind .myFrame.myVsFrame.myArchCombo <<ComboboxSelected>> {
|
||||
wokdep:gui:SwitchArch
|
||||
}
|
||||
bind .myFrame.myVsFrame.myConfigCombo <<ComboboxSelected>> {
|
||||
wokdep:gui:SwitchArch
|
||||
}
|
||||
|
||||
.myFrame.mySrchEntry configure -validate all -validatecommand {
|
||||
set ::PRODUCTS_PATH [file normalize "$::PRODUCTS_PATH_INPUT"]
|
||||
#return [file exists "$::PRODUCTS_PATH"]
|
||||
wokdep:gui:UpdateList
|
||||
return 1
|
||||
|
@@ -52,6 +52,10 @@ set CSF_OPT_LIB32 [list]
|
||||
set CSF_OPT_LIB64 [list]
|
||||
set CSF_OPT_BIN32 [list]
|
||||
set CSF_OPT_BIN64 [list]
|
||||
set CSF_OPT_LIB32D [list]
|
||||
set CSF_OPT_LIB64D [list]
|
||||
set CSF_OPT_BIN32D [list]
|
||||
set CSF_OPT_BIN64D [list]
|
||||
|
||||
if { "$tcl_platform(pointerSize)" == "4" } {
|
||||
set ARCH "32"
|
||||
@@ -68,9 +72,15 @@ if { [info exists ::env(SHORTCUT_HEADERS)] } {
|
||||
}
|
||||
|
||||
# fetch environment variables (e.g. set by custom.sh or custom.bat) and set them as tcl variables with the same name
|
||||
set THE_ENV_VARIABLES {HAVE_FREEIMAGE HAVE_FFMPEG HAVE_TBB HAVE_GLES2 HAVE_D3D HAVE_VTK HAVE_ZLIB HAVE_LIBLZMA HAVE_RAPIDJSON HAVE_OPENCL CHECK_QT4 CHECK_JDK MACOSX_USE_GLX HAVE_RelWithDebInfo}
|
||||
set THE_ENV_VARIABLES { HAVE_TK HAVE_FREETYPE HAVE_FREEIMAGE HAVE_FFMPEG HAVE_TBB HAVE_GLES2 HAVE_D3D HAVE_VTK \
|
||||
HAVE_ZLIB HAVE_LIBLZMA HAVE_E57 HAVE_RAPIDJSON HAVE_DRACO HAVE_OPENVR HAVE_OPENCL \
|
||||
CHECK_QT4 CHECK_JDK HAVE_XLIB \
|
||||
HAVE_RelWithDebInfo BUILD_Inspector }
|
||||
foreach anEnvIter $THE_ENV_VARIABLES { set ${anEnvIter} "false" }
|
||||
set HAVE_TK "true"
|
||||
set HAVE_FREETYPE "true"
|
||||
if { "$tcl_platform(os)" != "Darwin" } { set HAVE_XLIB "true" }
|
||||
foreach anEnvIter $THE_ENV_VARIABLES {
|
||||
set ${anEnvIter} "false"
|
||||
if { [info exists ::env(${anEnvIter})] } {
|
||||
set ${anEnvIter} "$::env(${anEnvIter})"
|
||||
}
|
||||
@@ -78,18 +88,21 @@ foreach anEnvIter $THE_ENV_VARIABLES {
|
||||
# do not export platform-specific variables
|
||||
if { "$::tcl_platform(os)" == "Darwin" } {
|
||||
set HAVE_GLES2 ""
|
||||
} else {
|
||||
set MACOSX_USE_GLX ""
|
||||
}
|
||||
if { "$tcl_platform(platform)" != "windows" } {
|
||||
set HAVE_D3D ""
|
||||
set HAVE_RelWithDebInfo ""
|
||||
} else {
|
||||
set HAVE_XLIB ""
|
||||
}
|
||||
foreach anEnvIter {ARCH VCVER VCVARS PRJFMT PRODUCTS_PATH} {
|
||||
foreach anEnvIter {ARCH VCVER VCVARS PRJFMT } {
|
||||
if { [info exists ::env(${anEnvIter})] } {
|
||||
set ${anEnvIter} "$::env(${anEnvIter})"
|
||||
}
|
||||
}
|
||||
if { [info exists ::env(PRODUCTS_PATH)] } {
|
||||
set PRODUCTS_PATH [file normalize "$::env(PRODUCTS_PATH)"]
|
||||
}
|
||||
|
||||
if { [info exists ::env(CSF_OPT_INC)] } {
|
||||
set CSF_OPT_INC [split "$::env(CSF_OPT_INC)" $::SYS_PATH_SPLITTER]
|
||||
@@ -107,6 +120,35 @@ if { [info exists ::env(CSF_OPT_BIN64)] } {
|
||||
set CSF_OPT_BIN64 [split "$::env(CSF_OPT_BIN64)" $::SYS_PATH_SPLITTER]
|
||||
}
|
||||
|
||||
if { [info exists ::env(CSF_OPT_LIB32D)] } {
|
||||
set CSF_OPT_LIB32D [split "$::env(CSF_OPT_LIB32D)" $::SYS_PATH_SPLITTER]
|
||||
foreach aLibIter $::CSF_OPT_LIB32 {
|
||||
set aPos [lsearch -exact $::CSF_OPT_LIB32D $aLibIter]
|
||||
set ::CSF_OPT_LIB32D [lreplace $::CSF_OPT_LIB32D $aPos $aPos]
|
||||
}
|
||||
}
|
||||
if { [info exists ::env(CSF_OPT_LIB64D)] } {
|
||||
set CSF_OPT_LIB64D [split "$::env(CSF_OPT_LIB64D)" $::SYS_PATH_SPLITTER]
|
||||
foreach aLibIter $::CSF_OPT_LIB64 {
|
||||
set aPos [lsearch -exact $::CSF_OPT_LIB64D $aLibIter]
|
||||
set ::CSF_OPT_LIB64D [lreplace $::CSF_OPT_LIB64D $aPos $aPos]
|
||||
}
|
||||
}
|
||||
if { [info exists ::env(CSF_OPT_BIN32D)] } {
|
||||
set CSF_OPT_BIN32D [split "$::env(CSF_OPT_BIN32D)" $::SYS_PATH_SPLITTER]
|
||||
foreach aLibIter $::CSF_OPT_BIN32 {
|
||||
set aPos [lsearch -exact $::CSF_OPT_BIN32D $aLibIter]
|
||||
set ::CSF_OPT_BIN32D [lreplace $::CSF_OPT_BIN32D $aPos $aPos]
|
||||
}
|
||||
}
|
||||
if { [info exists ::env(CSF_OPT_BIN64D)] } {
|
||||
set CSF_OPT_BIN64D [split "$::env(CSF_OPT_BIN64D)" $::SYS_PATH_SPLITTER]
|
||||
foreach aLibIter $::CSF_OPT_BIN64 {
|
||||
set aPos [lsearch -exact $::CSF_OPT_BIN64D $aLibIter]
|
||||
set ::CSF_OPT_BIN64D [lreplace $::CSF_OPT_BIN64D $aPos $aPos]
|
||||
}
|
||||
}
|
||||
|
||||
# Search header file in $::CSF_OPT_INC and standard paths
|
||||
proc wokdep:SearchHeader {theHeader} {
|
||||
# search in custom paths
|
||||
@@ -144,8 +186,11 @@ proc wokdep:SearchHeader {theHeader} {
|
||||
proc wokdep:SearchLib {theLib theBitness {theSearchPath ""}} {
|
||||
if { "$theSearchPath" != "" } {
|
||||
set aPath "${theSearchPath}/${::SYS_LIB_PREFIX}${theLib}.${::SYS_LIB_SUFFIX}"
|
||||
set aPath2 "${theSearchPath}/${::SYS_LIB_PREFIX}${theLib}.a"
|
||||
if { [file exists "$aPath"] } {
|
||||
return "$aPath"
|
||||
} elseif { "$::tcl_platform(platform)" != "windows" && [file exists "$aPath2"] } {
|
||||
return "$aPath2"
|
||||
} else {
|
||||
return ""
|
||||
}
|
||||
@@ -154,30 +199,41 @@ proc wokdep:SearchLib {theLib theBitness {theSearchPath ""}} {
|
||||
# search in custom paths
|
||||
foreach aLibPath [set ::CSF_OPT_LIB$theBitness] {
|
||||
set aPath "${aLibPath}/${::SYS_LIB_PREFIX}${theLib}.${::SYS_LIB_SUFFIX}"
|
||||
set aPath2 "${aLibPath}/${::SYS_LIB_PREFIX}${theLib}.a"
|
||||
if { [file exists "$aPath"] } {
|
||||
return "$aPath"
|
||||
} elseif { "$::tcl_platform(platform)" != "windows" && [file exists "$aPath2"] } {
|
||||
return "$aPath2"
|
||||
}
|
||||
}
|
||||
|
||||
# search in system
|
||||
if { "$::ARCH" == "$theBitness"} {
|
||||
set aPath "/usr/lib/${::SYS_LIB_PREFIX}${theLib}.${::SYS_LIB_SUFFIX}"
|
||||
set aPath2 "/usr/lib/${::SYS_LIB_PREFIX}${theLib}.a"
|
||||
if { [file exists "$aPath"] } {
|
||||
return "$aPath"
|
||||
} elseif { [file exists "$aPath2"] } {
|
||||
return "$aPath2"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if { "$::tcl_platform(os)" == "Linux" } {
|
||||
if { "$theBitness" == "64" } {
|
||||
set aPath "/usr/lib/x86_64-linux-gnu/lib${theLib}.so"
|
||||
set aPath2 "/usr/lib/x86_64-linux-gnu/lib${theLib}.a"
|
||||
if { [file exists "$aPath"] } {
|
||||
return "$aPath"
|
||||
} elseif { [file exists "$aPath2"] } {
|
||||
return "$aPath2"
|
||||
}
|
||||
} else {
|
||||
set aPath "/usr/lib/i386-linux-gnu/lib${theLib}.so"
|
||||
set aPath2 "/usr/lib/i386-linux-gnu/lib${theLib}.a"
|
||||
if { [file exists "$aPath"] } {
|
||||
return "$aPath"
|
||||
} elseif { [file exists "$aPath2"] } {
|
||||
return "$aPath2"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -224,8 +280,12 @@ proc wokdep:Preferred {theList theCmpl theArch} {
|
||||
|
||||
# keep only two first digits in "vc141"
|
||||
if { ! [regexp {^vc[0-9][0-9]} $theCmpl aCmpl] } {
|
||||
if { [regexp {^vclang} $theCmpl] } {
|
||||
set aCmpl vc14
|
||||
} else {
|
||||
set aCmpl $theCmpl
|
||||
}
|
||||
}
|
||||
|
||||
set aShortList {}
|
||||
foreach aPath $theList {
|
||||
@@ -289,6 +349,12 @@ proc wokdep:SearchStandardLibrary {theErrInc theErrLib32 theErrLib64 theErrBin32
|
||||
lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib"
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
|
||||
set hasLib true
|
||||
|
||||
set aLibDPath [wokdep:SearchLib "$theCheckLib" "$anArchIter" "$aPath/libd"]
|
||||
if { "$aLibDPath" != "" } {
|
||||
lappend ::CSF_OPT_LIB${anArchIter}D "$aPath/libd"
|
||||
lappend ::CSF_OPT_BIN${anArchIter}D "$aPath/bind"
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
@@ -604,6 +670,59 @@ proc wokdep:SearchFFmpeg {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBi
|
||||
return "$isFound"
|
||||
}
|
||||
|
||||
# Search OpenVR SDK placement
|
||||
proc wokdep:SearchOpenVR {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
|
||||
upvar $theErrInc anErrInc
|
||||
upvar $theErrLib32 anErrLib32
|
||||
upvar $theErrLib64 anErrLib64
|
||||
upvar $theErrBin32 anErrBin32
|
||||
upvar $theErrBin64 anErrBin64
|
||||
|
||||
set isFound "true"
|
||||
set anOpenVrHPath [wokdep:SearchHeader "openvr.h"]
|
||||
if { "$anOpenVrHPath" == "" } {
|
||||
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{openvr}*] "$::VCVER" "$::ARCH" ]
|
||||
if { "$aPath" != "" && [file exists "$aPath/include/openvr.h"] } {
|
||||
lappend ::CSF_OPT_INC "$aPath/include"
|
||||
} elseif { "$aPath" != "" && [file exists "$aPath/headers/openvr.h"] } {
|
||||
lappend ::CSF_OPT_INC "$aPath/headers"
|
||||
} else {
|
||||
lappend anErrInc "Error: 'openvr.h' not found (OpenVR)"
|
||||
set isFound "false"
|
||||
}
|
||||
}
|
||||
|
||||
set aPlatform "unknown"
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
set aPlatform "win"
|
||||
} elseif { "$::tcl_platform(os)" == "Darwin" } {
|
||||
set aPlatform "osx"
|
||||
} elseif { "$::tcl_platform(os)" == "Linux" } {
|
||||
set aPlatform "linux"
|
||||
}
|
||||
|
||||
foreach anArchIter {64 32} {
|
||||
set anOpenVrLibPath [wokdep:SearchLib "openvr_api" "$anArchIter"]
|
||||
if { "$anOpenVrLibPath" == "" } {
|
||||
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{openvr}*] "$::VCVER" "$anArchIter" ]
|
||||
set anOpenVrLibPath [wokdep:SearchLib "openvr_api" "$anArchIter" "$aPath/lib/${aPlatform}${anArchIter}"]
|
||||
set anOpenVrLibPath2 [wokdep:SearchLib "openvr_api" "$anArchIter" "$aPath/lib"]
|
||||
if { "$anOpenVrLibPath" != "" } {
|
||||
lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib/${aPlatform}${anArchIter}"
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin/${aPlatform}${anArchIter}"
|
||||
} elseif { "$anOpenVrLibPath2" != "" } {
|
||||
lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib"
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
|
||||
} else {
|
||||
lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}openvr_api.${::SYS_LIB_SUFFIX}' not found (OpenVR)"
|
||||
if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return "$isFound"
|
||||
}
|
||||
|
||||
# Search TBB library placement
|
||||
proc wokdep:SearchTBB {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
|
||||
upvar $theErrInc anErrInc
|
||||
@@ -614,8 +733,12 @@ proc wokdep:SearchTBB {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64
|
||||
|
||||
# keep only two first digits in "vc141"
|
||||
if { ! [regexp {^vc[0-9][0-9]} ${::VCVER} aVcLib] } {
|
||||
if { [regexp {^vclang} ${::VCVER}] } {
|
||||
set aVcLib vc14
|
||||
} else {
|
||||
set aVcLib ${::VCVER}
|
||||
}
|
||||
}
|
||||
|
||||
set isFound "true"
|
||||
set aTbbHPath [wokdep:SearchHeader "tbb/scalable_allocator.h"]
|
||||
@@ -652,19 +775,19 @@ proc wokdep:SearchTBB {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64
|
||||
lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib/$aSubDir/$aVcLib"
|
||||
}
|
||||
if { "$aTbbLibPath" == "" } {
|
||||
lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}tbb.${::SYS_LIB_SUFFIX}' not found (Intel TBB)"
|
||||
lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}tbb12.${::SYS_LIB_SUFFIX}' not found (Intel TBB)"
|
||||
if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
|
||||
}
|
||||
}
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
set aTbbDllPath [wokdep:SearchBin "tbb.dll" "$anArchIter"]
|
||||
set aTbbDllPath [wokdep:SearchBin "tbb12.dll" "$anArchIter"]
|
||||
if { "$aTbbDllPath" == "" } {
|
||||
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{tbb}*] $aVcLib "$anArchIter" ]
|
||||
set aTbbDllPath [wokdep:SearchBin "tbb.dll" "$anArchIter" "$aPath/bin/$aSubDir/$aVcLib"]
|
||||
set aTbbDllPath [wokdep:SearchBin "tbb12.dll" "$anArchIter" "$aPath/bin/$aSubDir/$aVcLib"]
|
||||
if { "$aTbbDllPath" != "" } {
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin/$aSubDir/$aVcLib"
|
||||
} else {
|
||||
lappend anErrBin$anArchIter "Error: 'tbb.dll' not found (Intel TBB)"
|
||||
lappend anErrBin$anArchIter "Error: 'tbb12.dll' not found (Intel TBB)"
|
||||
if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
|
||||
}
|
||||
}
|
||||
@@ -963,42 +1086,51 @@ proc wokdep:SearchVTK {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Search binary path
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
foreach anArchIter {64 32} {
|
||||
set aVtkBinPath [wokdep:SearchBin "vtkCommonCore-${aVtkVer}.dll" "$anArchIter"]
|
||||
if { "$aVtkBinPath" == "" } {
|
||||
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{VTK}*] "$::VCVER" "$anArchIter" ]
|
||||
set aPathList [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{VTK}*]
|
||||
set aPath [wokdep:Preferred $aPathList "$::VCVER" "$anArchIter" ]
|
||||
set aVtkBinPath [wokdep:SearchBin "vtkCommonCore-${aVtkVer}.dll" "$anArchIter" "$aPath/bin"]
|
||||
if { "$aVtkBinPath" != "" } { lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
|
||||
if { "$aVtkBinPath" != "" } {
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
|
||||
} else {
|
||||
set aVtkBinPath [wokdep:SearchBin "vtkCommonCore-${aVtkVer}.dll" "$anArchIter" "$aPath/lib"]
|
||||
if { "$aVtkBinPath" != "" } { lappend ::CSF_OPT_BIN$anArchIter "$aPath/lib" }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# We didn't find preferred binary path => search through inc path or among all available VTK directories
|
||||
if { "$aVtkBinPath" == "" } {
|
||||
# Try to find in lib path
|
||||
set aPath [wokdep:SearchBin "vtkCommonCore-${aVtkVer}.dll" "$anArchIter" "$aVtkLibPath/bin"]
|
||||
if { "$aPath" != "" } { lappend ::CSF_OPT_BIN$anArchIter "$aVtkLibPath/bin"
|
||||
} elseif { [wokdep:SearchBin "vtkCommonCore-${aVtkVer}.dll" "$anArchIter" "$aVtkLibPath/lib"] != "" } {
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$aVtkLibPath/lib"
|
||||
set aVtkBinPath [wokdep:SearchBin "vtkCommonCore-${aVtkVer}.dll" "$anArchIter" "$aPath/lib"]
|
||||
if { "$aVtkBinPath" != "" } {
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$aPath/lib"
|
||||
} else {
|
||||
# We didn't find preferred binary path => search through all available VTK directories
|
||||
foreach anIt $aPathList {
|
||||
set aVtkBinPath [wokdep:SearchBin "vtkCommonCore-${aVtkVer}.dll" "$anArchIter" "$anIt/bin"]
|
||||
if { "$aVtkBinPath" != "" } {
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$anIt/bin"
|
||||
break
|
||||
} else {
|
||||
# Try to find in lib path
|
||||
set aVtkBinPath [wokdep:SearchBin "vtkCommonCore-${aVtkVer}.dll" "$anArchIter" "$anIt/lib"]
|
||||
if { "$aVtkBinPath" != "" } {
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$anIt/lib"
|
||||
}
|
||||
}
|
||||
}
|
||||
if { "$aVtkBinPath" == "" } {
|
||||
lappend anErrBin$anArchIter "Error: 'vtkCommonCore-${aVtkVer}.dll' not found (VTK)"
|
||||
set isFound "false"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return "$isFound"
|
||||
}
|
||||
|
||||
# Search Qt4 libraries placement
|
||||
proc wokdep:SearchQt4 {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
|
||||
# Search Qt libraries placement
|
||||
proc wokdep:SearchQt {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64} {
|
||||
upvar $theErrInc anErrInc
|
||||
upvar $theErrLib32 anErrLib32
|
||||
upvar $theErrLib64 anErrLib64
|
||||
@@ -1006,53 +1138,46 @@ proc wokdep:SearchQt4 {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64
|
||||
upvar $theErrBin64 anErrBin64
|
||||
|
||||
set isFound "true"
|
||||
set aQMsgBoxHPath [wokdep:SearchHeader "QtGui/qmessagebox.h"]
|
||||
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{qt}*] "$::VCVER" "$::ARCH" ]
|
||||
set aQMsgBoxHPath [wokdep:SearchHeader "QtGui/qguiapplication.h"]
|
||||
if { "$aQMsgBoxHPath" == "" } {
|
||||
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{qt4}*] "$::VCVER" "$::ARCH" ]
|
||||
if { "$aPath" != "" && [file exists "$aPath/include/QtGui/qmessagebox.h"] } {
|
||||
if { "$aPath" != "" && [file exists "$aPath/include/QtGui/qguiapplication.h"] } {
|
||||
lappend ::CSF_OPT_INC "$aPath/include"
|
||||
lappend ::CSF_OPT_INC "$aPath/include/Qt"
|
||||
lappend ::CSF_OPT_INC "$aPath/include/QtGui"
|
||||
lappend ::CSF_OPT_INC "$aPath/include/QtCore"
|
||||
lappend ::CSF_OPT_INC "$aPath/include/QtWidgets"
|
||||
lappend ::CSF_OPT_INC "$aPath/include/QtXml"
|
||||
} else {
|
||||
if { [file exists "/usr/include/qt4/QtGui/qmessagebox.h"] } {
|
||||
lappend ::CSF_OPT_INC "/usr/include/qt4"
|
||||
lappend ::CSF_OPT_INC "/usr/include/qt4/Qt"
|
||||
lappend ::CSF_OPT_INC "/usr/include/qt4/QtGui"
|
||||
lappend ::CSF_OPT_INC "/usr/include/qt4/QtCore"
|
||||
} else {
|
||||
lappend anErrInc "Error: 'QtGui/qmessagebox.h' not found (Qt4)"
|
||||
lappend anErrInc "Error: 'QtGui/qguiapplication.h' not found"
|
||||
set isFound "false"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
set aQtGuiLibName "QtGui"
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
set aQtGuiLibName "QtGui4"
|
||||
set aQtGuiLibName "Qt5Gui"
|
||||
}
|
||||
|
||||
foreach anArchIter {64 32} {
|
||||
set aQMsgBoxLibPath [wokdep:SearchLib "${aQtGuiLibName}" "$anArchIter"]
|
||||
if { "$aQMsgBoxLibPath" == "" } {
|
||||
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{qt4}*] "$::VCVER" "$anArchIter" ]
|
||||
set aQMsgBoxLibPath [wokdep:SearchLib "${aQtGuiLibName}" "$anArchIter" "$aPath/lib"]
|
||||
if { "$aQMsgBoxLibPath" != "" } {
|
||||
lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib"
|
||||
} else {
|
||||
lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}${aQtGuiLibName}.${::SYS_LIB_SUFFIX}' not found (Qt4)"
|
||||
lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}${aQtGuiLibName}.${::SYS_LIB_SUFFIX}' not found (Qt)"
|
||||
if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
|
||||
}
|
||||
}
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
set aQMsgBoxDllPath [wokdep:SearchBin "QtGui4.dll" "$anArchIter"]
|
||||
set aQMsgBoxDllPath [wokdep:SearchBin "${aQtGuiLibName}.dll" "$anArchIter"]
|
||||
if { "$aQMsgBoxDllPath" == "" } {
|
||||
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{qt4}*] "$::VCVER" "$anArchIter" ]
|
||||
set aQMsgBoxDllPath [wokdep:SearchBin "QtGui4.dll" "$anArchIter" "$aPath/bin"]
|
||||
set aQMsgBoxDllPath [wokdep:SearchBin "${aQtGuiLibName}.dll" "$anArchIter" "$aPath/bin"]
|
||||
if { "$aQMsgBoxDllPath" != "" } {
|
||||
lappend ::CSF_OPT_BIN$anArchIter "$aPath/bin"
|
||||
} else {
|
||||
lappend anErrBin$anArchIter "Error: 'QtGui4.dll' not found (Qt4)"
|
||||
lappend anErrBin$anArchIter "Error: '${aQtGuiLibName}.dll' not found (Qt)"
|
||||
if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
|
||||
}
|
||||
}
|
||||
@@ -1122,17 +1247,17 @@ proc wokdep:SearchX11 {theErrInc theErrLib32 theErrLib64 theErrBin32 theErrBin64
|
||||
upvar $theErrBin64 anErrBin64
|
||||
|
||||
set isFound "true"
|
||||
if { "$::tcl_platform(platform)" == "windows" || ( "$::tcl_platform(os)" == "Darwin" && "$::MACOSX_USE_GLX" != "true" ) } {
|
||||
if { "$::tcl_platform(platform)" == "windows" || ( "$::tcl_platform(os)" == "Darwin" && "$::HAVE_XLIB" != "true" ) } {
|
||||
return "$isFound"
|
||||
}
|
||||
|
||||
set aXmuLibPath [wokdep:SearchLib "Xmu" "$::ARCH"]
|
||||
if { "$aXmuLibPath" == "" } {
|
||||
set aXmuLibPath [wokdep:SearchLib "Xmu" "$::ARCH" "/usr/X11/lib"]
|
||||
if { "$aXmuLibPath" != "" } {
|
||||
set aX11LibPath [wokdep:SearchLib "X11" "$::ARCH"]
|
||||
if { "$aX11LibPath" == "" } {
|
||||
set aX11LibPath [wokdep:SearchLib "X11" "$::ARCH" "/usr/X11/lib"]
|
||||
if { "$aX11LibPath" != "" } {
|
||||
#lappend ::CSF_OPT_LIB$::ARCH "/usr/X11/lib"
|
||||
} else {
|
||||
lappend anErrLib$::ARCH "Error: '${::SYS_LIB_PREFIX}Xmu.${::SYS_LIB_SUFFIX}' not found (X11)"
|
||||
lappend anErrLib$::ARCH "Error: '${::SYS_LIB_PREFIX}X11.${::SYS_LIB_SUFFIX}' not found (X11)"
|
||||
set isFound "false"
|
||||
}
|
||||
}
|
||||
@@ -1201,6 +1326,18 @@ proc wokdep:SaveCustom {} {
|
||||
puts $aFile "rem Additional libraries (32-bit) search paths"
|
||||
puts $aFile "set \"CSF_OPT_LIB32=$aStringLib32\""
|
||||
|
||||
set aStringLib32d [join $::CSF_OPT_LIB32D $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringLib32d [regsub -all "$::PRODUCTS_PATH" $aStringLib32d "%PRODUCTS_PATH%"]
|
||||
}
|
||||
puts $aFile ""
|
||||
puts $aFile "rem Additional debug libraries (32-bit) search paths"
|
||||
if { "$aStringLib32d" != "" && "$aStringLib32" != "" } {
|
||||
puts $aFile "set \"CSF_OPT_LIB32D=$aStringLib32d;%CSF_OPT_LIB32%\""
|
||||
} else {
|
||||
puts $aFile "set \"CSF_OPT_LIB32D=$aStringLib32d\""
|
||||
}
|
||||
|
||||
set aStringLib64 [join $::CSF_OPT_LIB64 $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringLib64 [regsub -all "$::PRODUCTS_PATH" $aStringLib64 "%PRODUCTS_PATH%"]
|
||||
@@ -1209,6 +1346,18 @@ proc wokdep:SaveCustom {} {
|
||||
puts $aFile "rem Additional libraries (64-bit) search paths"
|
||||
puts $aFile "set \"CSF_OPT_LIB64=$aStringLib64\""
|
||||
|
||||
set aStringLib64d [join $::CSF_OPT_LIB64D $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringLib64d [regsub -all "$::PRODUCTS_PATH" $aStringLib64d "%PRODUCTS_PATH%"]
|
||||
}
|
||||
puts $aFile ""
|
||||
puts $aFile "rem Additional debug libraries (64-bit) search paths"
|
||||
if { "$aStringLib64d" != "" && "$aStringLib64" != "" } {
|
||||
puts $aFile "set \"CSF_OPT_LIB64D=$aStringLib64d;%CSF_OPT_LIB64%\""
|
||||
} else {
|
||||
puts $aFile "set \"CSF_OPT_LIB64D=$aStringLib64d\""
|
||||
}
|
||||
|
||||
set aStringBin32 [join $::CSF_OPT_BIN32 $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringBin32 [regsub -all "$::PRODUCTS_PATH" $aStringBin32 "%PRODUCTS_PATH%"]
|
||||
@@ -1217,6 +1366,18 @@ proc wokdep:SaveCustom {} {
|
||||
puts $aFile "rem Additional (32-bit) search paths"
|
||||
puts $aFile "set \"CSF_OPT_BIN32=$aStringBin32\""
|
||||
|
||||
set aStringBin32d [join $::CSF_OPT_BIN32D $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringBin32d [regsub -all "$::PRODUCTS_PATH" $aStringBin32d "%PRODUCTS_PATH%"]
|
||||
}
|
||||
puts $aFile ""
|
||||
puts $aFile "rem Additional debug (32-bit) search paths"
|
||||
if { "$aStringBin32d" != "" && "$aStringBin32" != "" } {
|
||||
puts $aFile "set \"CSF_OPT_BIN32D=$aStringBin32d;%CSF_OPT_BIN32%\""
|
||||
} else {
|
||||
puts $aFile "set \"CSF_OPT_BIN32D=$aStringBin32d\""
|
||||
}
|
||||
|
||||
set aStringBin64 [join $::CSF_OPT_BIN64 $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringBin64 [regsub -all "$::PRODUCTS_PATH" $aStringBin64 "%PRODUCTS_PATH%"]
|
||||
@@ -1225,6 +1386,18 @@ proc wokdep:SaveCustom {} {
|
||||
puts $aFile "rem Additional (64-bit) search paths"
|
||||
puts $aFile "set \"CSF_OPT_BIN64=$aStringBin64\""
|
||||
|
||||
set aStringBin64d [join $::CSF_OPT_BIN64D $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringBin64d [regsub -all "$::PRODUCTS_PATH" $aStringBin64d "%PRODUCTS_PATH%"]
|
||||
}
|
||||
puts $aFile ""
|
||||
puts $aFile "rem Additional debug (64-bit) search paths"
|
||||
if { "$aStringBin64d" != "" && "$aStringBin64" != "" } {
|
||||
puts $aFile "set \"CSF_OPT_BIN64D=$aStringBin64d;%CSF_OPT_BIN64%\""
|
||||
} else {
|
||||
puts $aFile "set \"CSF_OPT_BIN64D=$aStringBin64d\""
|
||||
}
|
||||
|
||||
close $aFile
|
||||
} else {
|
||||
set aCustomFilePath "./custom.sh"
|
||||
@@ -1266,6 +1439,18 @@ proc wokdep:SaveCustom {} {
|
||||
puts $aFile "# Additional libraries ($::ARCH-bit) search paths"
|
||||
puts $aFile "export CSF_OPT_LIB$::ARCH=\"[set aStringLib]\""
|
||||
|
||||
set aStringLibD [join [set ::CSF_OPT_LIB${::ARCH}D] $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringLibD [regsub -all "$::PRODUCTS_PATH" $aStringLibD "\${PRODUCTS_PATH}"]
|
||||
}
|
||||
puts $aFile ""
|
||||
puts $aFile "# Additional debug libraries ($::ARCH-bit) search paths"
|
||||
if { "$aStringLibD" != "" && "$aStringLib" != "" } {
|
||||
puts $aFile "export CSF_OPT_LIB${::ARCH}D=\"[set aStringLibD]:\$CSF_OPT_LIB${::ARCH}\""
|
||||
} else {
|
||||
puts $aFile "export CSF_OPT_LIB${::ARCH}D=\"[set aStringLibD]\""
|
||||
}
|
||||
|
||||
set aStringBin [join [set ::CSF_OPT_BIN$::ARCH] $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringBin [regsub -all "$::PRODUCTS_PATH" $aStringBin "\${PRODUCTS_PATH}"]
|
||||
@@ -1274,6 +1459,18 @@ proc wokdep:SaveCustom {} {
|
||||
puts $aFile "# Additional ($::ARCH-bit) search paths"
|
||||
puts $aFile "export CSF_OPT_BIN$::ARCH=\"[set aStringBin]\""
|
||||
|
||||
set aStringBinD [join [set ::CSF_OPT_BIN${::ARCH}D] $::SYS_PATH_SPLITTER]
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aStringBinD [regsub -all "$::PRODUCTS_PATH" $aStringBinD "\${PRODUCTS_PATH}"]
|
||||
}
|
||||
puts $aFile ""
|
||||
puts $aFile "# Additional debug ($::ARCH-bit) search paths"
|
||||
if { "$aStringBinD" != "" && "$aStringBin" != "" } {
|
||||
puts $aFile "export CSF_OPT_BIN${::ARCH}D=\"[set aStringBinD]:\$CSF_OPT_BIN${::ARCH}\""
|
||||
} else {
|
||||
puts $aFile "export CSF_OPT_BIN${::ARCH}D=\"[set aStringBinD]\""
|
||||
}
|
||||
|
||||
close $aFile
|
||||
}
|
||||
puts "Configuration saved to file '$aCustomFilePath'"
|
||||
@@ -1311,6 +1508,27 @@ proc wokdep:SaveCustom {} {
|
||||
puts $aFile "INCLUDEPATH += \"${anIncPath}\""
|
||||
}
|
||||
|
||||
puts $aFile ""
|
||||
puts $aFile "CONFIG(debug, debug|release) {"
|
||||
puts $aFile " # Additional debug libraries search paths"
|
||||
foreach aLibPath [set ::CSF_OPT_LIB${::ARCH}D] {
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aLibPath [regsub -all "$::PRODUCTS_PATH" $aLibPath "\$\$\{PRODUCTS_PATH\}"]
|
||||
}
|
||||
puts $aFile " LIBS += -L\"${aLibPath}\""
|
||||
}
|
||||
if { "$::tcl_platform(platform)" == "windows" } {
|
||||
puts $aFile ""
|
||||
puts $aFile " # Additional debug DLLs search paths"
|
||||
foreach aDllPath [set ::CSF_OPT_BIN${::ARCH}D] {
|
||||
if { "$::PRODUCTS_PATH" != "" } {
|
||||
set aDllPath [regsub -all "$::PRODUCTS_PATH" $aDllPath "\$\$\{PRODUCTS_PATH\}"]
|
||||
}
|
||||
puts $aFile " LIBS += -L\"${aDllPath}\""
|
||||
}
|
||||
}
|
||||
puts $aFile "}"
|
||||
|
||||
puts $aFile ""
|
||||
puts $aFile "# Additional libraries search paths"
|
||||
foreach aLibPath [set ::CSF_OPT_LIB$::ARCH] {
|
||||
|
@@ -237,8 +237,10 @@ proc gendoc {args} {
|
||||
}
|
||||
} elseif {$arg_n == "s"} {
|
||||
if { [ lsearch $args_names "pdf" ] != -1 } {
|
||||
puts "Warning: search is not used with PDF and will be ignored."
|
||||
continue
|
||||
}
|
||||
|
||||
if {$args_values(s) != "NULL"} {
|
||||
set SEARCH_MODE $args_values(s)
|
||||
} else {
|
||||
@@ -247,6 +249,9 @@ proc gendoc {args} {
|
||||
}
|
||||
} elseif {$arg_n == "mathjax"} {
|
||||
if { [ lsearch $args_names "pdf" ] != -1 } {
|
||||
puts "Warning: MathJax is not used with PDF and will be ignored."
|
||||
}
|
||||
|
||||
set possible_mathjax_loc $args_values(mathjax)
|
||||
if {[file exist [file join $possible_mathjax_loc $mathjax_js_name]]} {
|
||||
set MATHJAX_LOCATION $args_values(mathjax)
|
||||
@@ -255,9 +260,6 @@ proc gendoc {args} {
|
||||
puts "Warning: $mathjax_js_name is not found in $possible_mathjax_loc."
|
||||
puts " MathJax will be used from $MATHJAX_LOCATION"
|
||||
}
|
||||
} else {
|
||||
puts "Warning: MathJax is not used with pdf and will be ignored."
|
||||
}
|
||||
} else {
|
||||
puts "\nWrong argument: $arg_n"
|
||||
OCCDoc_PrintHelpMessage
|
||||
@@ -686,6 +688,17 @@ proc OCCDoc_MakeDoxyfile {docType outDir tagFileDir {doxyFileName} {generatorMod
|
||||
# Write specific options
|
||||
if { $docType == "REFMAN" } {
|
||||
|
||||
# always include optional components
|
||||
set aHaveD3dBack ""
|
||||
set aHaveGlesBack ""
|
||||
set aHaveVtkBack ""
|
||||
if { [info exists ::env(HAVE_D3D)] } { set aHaveD3dBack "$::env(HAVE_D3D)" }
|
||||
if { [info exists ::env(HAVE_GLES2)] } { set aHaveGlesBack "$::env(HAVE_GLES2)" }
|
||||
if { [info exists ::env(HAVE_VTK)] } { set aHaveVtkBack "$::env(HAVE_VTK)" }
|
||||
set ::env(HAVE_D3D) "true"
|
||||
set ::env(HAVE_GLES2) "true"
|
||||
set ::env(HAVE_VTK) "true"
|
||||
|
||||
# Load lists of modules scripts
|
||||
if { $productsPath == "" } {
|
||||
set modules_scripts [glob -nocomplain -type f -directory "[OCCDoc_GetSourceDir $productsPath]/OS/" *.tcl]
|
||||
@@ -811,12 +824,18 @@ proc OCCDoc_MakeDoxyfile {docType outDir tagFileDir {doxyFileName} {generatorMod
|
||||
|
||||
puts $doxyFile ""
|
||||
|
||||
# restore environment variables
|
||||
set ::env(HAVE_D3D) "$aHaveD3dBack"
|
||||
set ::env(HAVE_GLES2) "$aHaveGlesBack"
|
||||
set ::env(HAVE_VTK) "$aHaveVtkBack"
|
||||
|
||||
} elseif { $docType == "OVERVIEW" } {
|
||||
|
||||
# Add common options for generation of Overview and User Guides
|
||||
puts $doxyFile "PROJECT_NUMBER = $occt_version"
|
||||
puts $doxyFile "OUTPUT_DIRECTORY = $outDir/."
|
||||
puts $doxyFile "PROJECT_LOGO = [OCCDoc_GetDoxDir]/resources/occ_logo.png"
|
||||
puts $doxyFile "EXAMPLE_PATH = [OCCDoc_GetSourceDir $productsPath]"
|
||||
|
||||
set PARAM_INPUT "INPUT ="
|
||||
set PARAM_IMAGEPATH "IMAGE_PATH = [OCCDoc_GetDoxDir]/resources/ "
|
||||
|
744
adm/genproj.tcl
@@ -16,7 +16,7 @@
|
||||
# commercial license or contractual agreement.
|
||||
|
||||
# =======================================================================
|
||||
# This script contains auxilary functions which can be used
|
||||
# This script contains auxiliary functions which can be used
|
||||
# in documentation generation process
|
||||
# =======================================================================
|
||||
|
||||
@@ -179,8 +179,10 @@ proc OCCDoc_DetectNecessarySoftware { DOXYGEN_PATH GRAPHVIZ_PATH INKSCAPE_PATH H
|
||||
}
|
||||
if {"$is_win" == "yes"} {
|
||||
set exe ".exe"
|
||||
set com ".com"
|
||||
} else {
|
||||
set exe ""
|
||||
set com ""
|
||||
}
|
||||
|
||||
set g_flag "no"
|
||||
@@ -224,11 +226,11 @@ proc OCCDoc_DetectNecessarySoftware { DOXYGEN_PATH GRAPHVIZ_PATH INKSCAPE_PATH H
|
||||
}
|
||||
}
|
||||
if {$i_flag == "no"} {
|
||||
if { [file exists $path/inkscape$exe] } {
|
||||
if { [file exists $path/inkscape$com] } {
|
||||
catch { exec $path/inkscape -V } version
|
||||
puts "Info: $version "
|
||||
puts " found in $path."
|
||||
set inkscape_path "$path/inkscape$exe"
|
||||
set inkscape_path "$path/inkscape$com"
|
||||
set i_flag "yes"
|
||||
}
|
||||
}
|
||||
@@ -356,16 +358,30 @@ proc OCCDoc_DetectNecessarySoftware { DOXYGEN_PATH GRAPHVIZ_PATH INKSCAPE_PATH H
|
||||
# Convert SVG files to PDF format to allow including them to PDF
|
||||
# (requires InkScape to be in PATH)
|
||||
proc OCCDoc_ProcessSvg {latexDir verboseMode} {
|
||||
set anSvgList [glob -nocomplain $latexDir/*.svg]
|
||||
if { $anSvgList == {} } {
|
||||
return
|
||||
}
|
||||
|
||||
foreach file [glob -nocomplain $latexDir/*.svg] {
|
||||
catch { exec inkscape -V } anInkVer
|
||||
set isOldSyntax 0
|
||||
if {[string match "Inkscape 0.*" $anInkVer]} { set isOldSyntax 1 }
|
||||
foreach file $anSvgList {
|
||||
if {$verboseMode == "YES"} {
|
||||
puts "Info: Converting file $file..."
|
||||
}
|
||||
set pdffile "[file rootname $file].pdf"
|
||||
if { $isOldSyntax == 1 } {
|
||||
if { [catch {exec inkscape -z -D --file=$file --export-pdf=$pdffile} res] } {
|
||||
#puts "Error: $res."
|
||||
return
|
||||
}
|
||||
} else {
|
||||
if { [catch {exec inkscape $file --export-area-drawing --export-type=pdf --export-filename=$pdffile} res] } {
|
||||
#puts "Error: $res."
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -619,7 +635,7 @@ proc OCCDoc_MakeMainPage {outDir outFile modules {theProductsDir ""} } {
|
||||
foreach mod $modules {
|
||||
puts $fd "\\li \\subpage [string tolower $module_prefix$mod]"
|
||||
}
|
||||
# insert modules relationship diagramm
|
||||
# insert modules relationship diagram
|
||||
puts $fd "\\dotfile [OCCDoc_CreateModulesDependencyGraph $outDir/html schema_all_modules $modules $module_prefix]"
|
||||
puts $fd "**/\n"
|
||||
}
|
||||
|
@@ -13,8 +13,8 @@ OccGitRoot = $$_PRO_FILE_PWD_/../../../..
|
||||
|
||||
# Define compilation flags
|
||||
CONFIG += warn_on
|
||||
QMAKE_CFLAGS_WARN_ON = -Wall
|
||||
QMAKE_CXXFLAGS_WARN_ON = -Wall
|
||||
QMAKE_CFLAGS_WARN_ON = -Wall -Wextra
|
||||
QMAKE_CXXFLAGS_WARN_ON = -Wall -Wextra
|
||||
win32 {
|
||||
QMAKE_CFLAGS_WARN_ON = -W4
|
||||
QMAKE_CXXFLAGS_WARN_ON = -W4
|
||||
@@ -39,6 +39,10 @@ win32 {
|
||||
DEFINES += _SCL_SECURE_NO_WARNINGS
|
||||
} else {
|
||||
CONFIG += c++11
|
||||
clang {
|
||||
QMAKE_CFLAGS_WARN_ON += -Wshorten-64-to-32
|
||||
QMAKE_CXXFLAGS_WARN_ON += -Wshorten-64-to-32
|
||||
}
|
||||
QMAKE_CFLAGS += -fexceptions
|
||||
QMAKE_CXXFLAGS += -fexceptions
|
||||
QMAKE_CXXFLAGS += -fvisibility=default
|
||||
@@ -49,6 +53,9 @@ win32 {
|
||||
} else {
|
||||
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.14
|
||||
}
|
||||
} else:gcc {
|
||||
# ask linker to report missing library dependencies
|
||||
QMAKE_LFLAGS += -Wl,-z,defs
|
||||
}
|
||||
}
|
||||
!CONFIG(debug, debug|release) {
|
||||
@@ -112,6 +119,8 @@ android-g++ {
|
||||
# VS2015, vc141
|
||||
} else:equals(aMsvcVer, 16.0){
|
||||
# VS2019, vc142
|
||||
} else:equals(aMsvcVer, 17.0){
|
||||
# VS2022, vc143
|
||||
} else {
|
||||
warning (Unknown msvc version. "$$MY_COMPILER" is used)
|
||||
}
|
||||
@@ -153,5 +162,4 @@ win32 {
|
||||
}
|
||||
}
|
||||
|
||||
#OBJECTS_DIR = $$DESTDIR/../obj$${MY_BUILDTYPE}/$${TARGET}
|
||||
OBJECTS_DIR = $$DESTDIR/../obj$${MY_BUILDTYPE}
|
||||
OBJECTS_DIR = $$DESTDIR/../obj$${MY_BUILDTYPE}/$${TARGET}
|
||||
|
@@ -15,8 +15,14 @@ for (aModuleIter, aModuleList) {
|
||||
equals (aToolKit, $$OCC_MODULE_NAME) { toSkipToolkit = 1 }
|
||||
!HAVE_VTK:equals (aToolKit, "TKIVtk") { toSkipToolkit = 1 }
|
||||
!HAVE_VTK:equals (aToolKit, "TKIVtkDraw") { toSkipToolkit = 1 }
|
||||
#!HAVE_OPENGL: equals (aToolKit, "TKOpenGl") { toSkipToolkit = 1 }
|
||||
#!HAVE_OPENGL: equals (aToolKit, "TKOpenGlTest") { toSkipToolkit = 1 }
|
||||
!HAVE_GLES2: equals (aToolKit, "TKOpenGles") { toSkipToolkit = 1 }
|
||||
!HAVE_GLES2: equals (aToolKit, "TKOpenGlesTest") { toSkipToolkit = 1 }
|
||||
!win32: equals (aToolKit, "TKD3DHost") { toSkipToolkit = 1 }
|
||||
!win32: equals (aToolKit, "TKD3DHostTest") { toSkipToolkit = 1 }
|
||||
equals (toSkipToolkit, 0) {
|
||||
|
||||
#warning(aToolKit($$OCC_MODULE_NAME)=$$aToolKit)
|
||||
eval(occtkgen_$${aToolKit}.input = $$_PRO_FILE_PWD_/../OccToolkit.pro.in)
|
||||
eval(occtkgen_$${aToolKit}.output = $$_PRO_FILE_PWD_/$${aToolKit}/$${aToolKit}.pro)
|
||||
|
@@ -18,14 +18,15 @@ aHxxRoot = $$OccGitRoot/inc
|
||||
INCLUDEPATH += $$aHxxRoot
|
||||
|
||||
# CSF variables
|
||||
CSF_FREETYPE = -lfreetype
|
||||
HAVE_FREETYPE { CSF_FREETYPE = -lfreetype }
|
||||
CSF_TclLibs = -ltcl8.6
|
||||
CSF_TclTkLibs = -ltk8.6
|
||||
HAVE_FREEIMAGE { CSF_FreeImagePlus = -lfreeimage } else:win32 { CSF_FreeImagePlus = -lwindowscodecs -lole32 }
|
||||
HAVE_FFMPEG { CSF_FFmpeg = -lavcodec -lavformat -lswscale -lavutil }
|
||||
HAVE_TBB { CSF_TBB = -ltbb -ltbbmalloc }
|
||||
HAVE_TBB { CSF_TBB = -ltbb12 -ltbbmalloc }
|
||||
HAVE_ZLIB { CSF_ZLIB = -lzlib }
|
||||
HAVE_LIBLZMA { CSF_LIBLZMA = -lliblzma }
|
||||
HAVE_DRACO { CSF_Draco = -ldraco }
|
||||
win32 {
|
||||
CSF_kernel32 = -lkernel32
|
||||
CSF_advapi32 = -ladvapi32
|
||||
@@ -36,7 +37,7 @@ win32 {
|
||||
CSF_wsock32 = -lwsock32
|
||||
CSF_netapi32 = -lnetapi32
|
||||
CSF_OpenGlLibs = -lopengl32
|
||||
HAVE_GLES2 { CSF_OpenGlLibs = -llibEGL -llibGLESv2 }
|
||||
CSF_OpenGlesLibs = -llibEGL -llibGLESv2
|
||||
CSF_psapi = -lPsapi
|
||||
CSF_winmm = -lwinmm
|
||||
CSF_d3d9 = -ld3d9
|
||||
@@ -46,12 +47,12 @@ win32 {
|
||||
} else:mac {
|
||||
CSF_dl = -ldl
|
||||
CSF_objc = -lobjc
|
||||
CSF_OpenGlLibs = -framework OpenGL
|
||||
CSF_OpenGlesLibs = -framework OpenGLES
|
||||
iphoneos {
|
||||
CSF_Appkit = -framework UIKit
|
||||
CSF_OpenGlLibs = -framework OpenGLES
|
||||
} else {
|
||||
CSF_Appkit = -framework AppKit
|
||||
CSF_OpenGlLibs = -framework OpenGL
|
||||
}
|
||||
CSF_IOKit = -framework IOKit
|
||||
CSF_TclLibs = -framework Tcl
|
||||
@@ -59,26 +60,31 @@ win32 {
|
||||
} else {
|
||||
CSF_dl = -ldl
|
||||
CSF_ThreadLibs = -lpthread -lrt
|
||||
CSF_OpenGlesLibs = -lEGL -lGLESv2
|
||||
CSF_TclTkLibs = -ltk8.6
|
||||
HAVE_XLIB {
|
||||
CSF_OpenGlLibs = -lGL
|
||||
CSF_TclTkLibs = -lX11 -ltk8.6
|
||||
CSF_XwLibs = -lX11 -lXext -lXmu -lXi
|
||||
CSF_MotifLibs = -lX11
|
||||
CSF_fontconfig = -lfontconfig
|
||||
HAVE_GLES2 { CSF_OpenGlLibs = -lEGL -lGLESv2 }
|
||||
CSF_XwLibs = -lX11
|
||||
} else {
|
||||
CSF_OpenGlLibs = -lGL -lEGL
|
||||
}
|
||||
HAVE_FREETYPE { CSF_fontconfig = -lfontconfig }
|
||||
}
|
||||
|
||||
for (aCfgIter, CONFIG) {
|
||||
aRes = $$find(aCfgIter, "^HAVE_")
|
||||
!equals(aCfgIter, "HAVE_GLES2") {
|
||||
count(aRes, 1) {
|
||||
DEFINES += $$aCfgIter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Define the list of standard OCCT file extensions
|
||||
aHxxRegex = ^.*\.(hxx|h|lxx|gxx)$
|
||||
aPxxRegex = ^.*\.(pxx)$
|
||||
aCxxRegex = ^.*\.(cxx|c)$
|
||||
mac { aCxxRegex = ^.*\.(cxx|c|m|mm)$ }
|
||||
aCxxRegex = ^.*\.(cxx|cpp|c)$
|
||||
mac { aCxxRegex = ^.*\.(cxx|cpp|c|m|mm)$ }
|
||||
|
||||
# Auxiliary function for probing file extension
|
||||
defineTest (occCheckExtension) {
|
||||
@@ -103,6 +109,12 @@ for (anExternLib, anExternLibs) {
|
||||
count(hasCsf, 1) {
|
||||
aList = $$split($$anExternLib, "\n")
|
||||
LIBS += $$aList
|
||||
equals(anExternLib, "CSF_OpenGlLibs") {
|
||||
DEFINES += "HAVE_OPENGL"
|
||||
}
|
||||
equals(anExternLib, "CSF_OpenGlesLibs") {
|
||||
DEFINES += "HAVE_GLES2"
|
||||
}
|
||||
} else {
|
||||
LIBS += -l$$anExternLib
|
||||
}
|
||||
@@ -120,21 +132,31 @@ for (aPackage, aPackages) {
|
||||
}
|
||||
}
|
||||
|
||||
# extend clean with versioned .so files
|
||||
!win32 {
|
||||
aVerList = $$split(VERSION, ".")
|
||||
aVerMaj = $$member(aVerList, 0)
|
||||
aVerMin = $$member(aVerList, 1)
|
||||
aVerMic = $$member(aVerList, 2)
|
||||
|
||||
equals(TEMPLATE, app) {
|
||||
QMAKE_CLEAN += $$DESTDIR/$${TARGET}
|
||||
} else {
|
||||
mac {
|
||||
# override qmake soname versionong logic
|
||||
QMAKE_LFLAGS_SONAME =
|
||||
QMAKE_LFLAGS += -Wl,-soname=lib$${TARGET}.dylib.$${aVerMaj}.$${aVerMin}
|
||||
|
||||
# extend clean with versioned .dylib files
|
||||
QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.dylib
|
||||
QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.$${aVerMaj}.dylib
|
||||
QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.$${aVerMaj}.$${aVerMin}.dylib
|
||||
QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.$${aVerMaj}.$${aVerMin}.$${aVerMic}.dylib
|
||||
} else {
|
||||
# override qmake soname versionong logic
|
||||
QMAKE_LFLAGS_SONAME =
|
||||
QMAKE_LFLAGS += -Wl,-soname=lib$${TARGET}.so.$${aVerMaj}.$${aVerMin}
|
||||
|
||||
# extend clean with versioned .so files
|
||||
QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.so
|
||||
QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.so.$${aVerMaj}
|
||||
QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.so.$${aVerMaj}.$${aVerMin}
|
||||
|
@@ -9,6 +9,10 @@
|
||||
# - Open project in Qt Creator, and call "Run qmake".
|
||||
# - Close the project in Qt Creator, open it again so that you should see the sub-modules in Project tree; call "Run qmake" again.
|
||||
# - "Run qmake" and perform Build.
|
||||
#
|
||||
# Within Debian-based Linux repository Qt Creator can be installed like this:
|
||||
# > sudo apt-get install qtcreator qtbase5-dev
|
||||
|
||||
TEMPLATE = subdirs
|
||||
exists(custom.auto.pri) { include(custom.auto.pri) }
|
||||
exists(custom.pri) { include(custom.pri) }
|
||||
|
39
adm/qmake/qtcreator-occt-cpp.xml
Normal file
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorCodeStyle>
|
||||
<!-- Written by QtCreator 3.6.1, 2016-05-19T14:46:43. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>CodeStyleData</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="AlignAssignments">true</value>
|
||||
<value type="bool" key="AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="BindStarToIdentifier">false</value>
|
||||
<value type="bool" key="BindStarToLeftSpecifier">true</value>
|
||||
<value type="bool" key="BindStarToRightSpecifier">false</value>
|
||||
<value type="bool" key="BindStarToTypeName">true</value>
|
||||
<value type="bool" key="ExtraPaddingForConditionsIfConfusingAlign">true</value>
|
||||
<value type="bool" key="IndentAccessSpecifiers">false</value>
|
||||
<value type="bool" key="IndentBlockBody">true</value>
|
||||
<value type="bool" key="IndentBlockBraces">false</value>
|
||||
<value type="bool" key="IndentBlocksRelativeToSwitchLabels">true</value>
|
||||
<value type="bool" key="IndentClassBraces">false</value>
|
||||
<value type="bool" key="IndentControlFlowRelativeToSwitchLabels">true</value>
|
||||
<value type="bool" key="IndentDeclarationsRelativeToAccessSpecifiers">true</value>
|
||||
<value type="bool" key="IndentEnumBraces">false</value>
|
||||
<value type="bool" key="IndentFunctionBody">true</value>
|
||||
<value type="bool" key="IndentFunctionBraces">false</value>
|
||||
<value type="bool" key="IndentNamespaceBody">true</value>
|
||||
<value type="bool" key="IndentNamespaceBraces">false</value>
|
||||
<value type="int" key="IndentSize">2</value>
|
||||
<value type="bool" key="IndentStatementsRelativeToSwitchLabels">true</value>
|
||||
<value type="bool" key="IndentSwitchLabels">true</value>
|
||||
<value type="int" key="PaddingMode">2</value>
|
||||
<value type="bool" key="SpacesForTabs">true</value>
|
||||
<value type="int" key="TabSize">2</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>DisplayName</variable>
|
||||
<value type="QString">occt</value>
|
||||
</data>
|
||||
</qtcreator>
|
2
adm/scripts/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
*custom.bat
|
||||
*custom.sh
|
267
adm/scripts/android_build.bat
Normal file
@@ -0,0 +1,267 @@
|
||||
@echo OFF
|
||||
|
||||
rem Auxiliary script for semi-automated building of OCCT for Android platform.
|
||||
rem android_custom.bat should be configured with paths
|
||||
rem to CMake, 3rd-parties, Android NDK and MinGW make tool.
|
||||
|
||||
set "aCasSrc=%~dp0..\.."
|
||||
set "aBuildRoot=%aCasSrc%\work"
|
||||
|
||||
set aNbJobs=%NUMBER_OF_PROCESSORS%
|
||||
|
||||
rem Paths to 3rd-party tools and libraries
|
||||
set "anNdkPath="
|
||||
set "aFreeType="
|
||||
set "aRapidJson="
|
||||
set "aDraco="
|
||||
|
||||
rem Build stages to perform
|
||||
set "toCMake=1"
|
||||
set "toClean=0"
|
||||
set "toMake=1"
|
||||
set "toInstall=1"
|
||||
set "toPack=1"
|
||||
set "isStatic=0"
|
||||
|
||||
rem Minimal Android platform and CPU architectures
|
||||
set "anNdkApiLevel=21"
|
||||
set "anNdkAbiList=armeabi-v7a x86 arm64-v8a x86_64"
|
||||
|
||||
rem OCCT Modules to build
|
||||
set "BUILD_ModelingData=ON"
|
||||
set "BUILD_ModelingAlgorithms=ON"
|
||||
set "BUILD_Visualization=ON"
|
||||
set "BUILD_ApplicationFramework=ON"
|
||||
set "BUILD_DataExchange=ON"
|
||||
|
||||
rem Optional 3rd-party libraries to enable
|
||||
set "USE_FREETYPE=ON"
|
||||
set "USE_RAPIDJSON=OFF"
|
||||
set "USE_DRACO=OFF"
|
||||
|
||||
rem Archive tool
|
||||
set "THE_7Z_PARAMS=-t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on"
|
||||
set "THE_7Z_PATH=%ProgramW6432%\7-Zip\7z.exe"
|
||||
|
||||
rem Configuration file
|
||||
if exist "%~dp0android_custom.bat" call "%~dp0android_custom.bat"
|
||||
|
||||
set "aCompiler=gcc"
|
||||
set "aCppLib=gnustl_shared"
|
||||
if not exist "%anNdkPath%/sources/cxx-stl/gnu-libstdc++" (
|
||||
if exist "%anNdkPath%/sources/cxx-stl/llvm-libc++" (
|
||||
set "aCompiler=clang"
|
||||
set "aCppLib=c++_shared"
|
||||
)
|
||||
)
|
||||
set "aLibType=Shared"
|
||||
if ["%isStatic%"] == ["1"] set "aLibType=Static"
|
||||
set "aDestDir=%aBuildRoot%\android-%aCompiler%"
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
if ["%toClean%"] == ["1"] (
|
||||
rmdir /S /Q %aDestDir%"
|
||||
)
|
||||
)
|
||||
|
||||
set "anOcctVerSuffix="
|
||||
set "anOcctVersion=0.0.0"
|
||||
set "aGitBranch="
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr /b /c:"#define OCC_VERSION_DEVELOPMENT" "%aCasSrc%\src\Standard\Standard_Version.hxx"') do ( set "anOcctVerSuffix=%%i" )
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr /b /c:"#define OCC_VERSION_COMPLETE" "%aCasSrc%\src\Standard\Standard_Version.hxx"') do ( set "anOcctVersion=%%i" )
|
||||
for /f %%i in ('git symbolic-ref --short HEAD') do ( set "aGitBranch=%%i" )
|
||||
|
||||
for %%s in (%anNdkAbiList%) do (
|
||||
call :cmakeGenerate "%anNdkApiLevel%" "%%s"
|
||||
if errorlevel 1 (
|
||||
if not ["%1"] == ["-nopause"] (
|
||||
pause
|
||||
)
|
||||
exit /B 1
|
||||
goto :eof
|
||||
)
|
||||
)
|
||||
|
||||
for /F "skip=1 delims=" %%F in ('
|
||||
wmic PATH Win32_LocalTime GET Day^,Month^,Year /FORMAT:TABLE
|
||||
') do (
|
||||
for /F "tokens=1-3" %%L in ("%%F") do (
|
||||
set DAY00=0%%L
|
||||
set MONTH00=0%%M
|
||||
set YEAR=%%N
|
||||
)
|
||||
)
|
||||
set DAY00=%DAY00:~-2%
|
||||
set MONTH00=%MONTH00:~-2%
|
||||
set "aRevision=-%YEAR%-%MONTH00%-%DAY00%"
|
||||
rem set "aRevision=-%aGitBranch%"
|
||||
set "anArchName=occt-%anOcctVersion%%anOcctVerSuffix%%aRevision%-android"
|
||||
set "aTarget=%aBuildRoot%\%anArchName%"
|
||||
if ["%toPack%"] == ["1"] (
|
||||
echo Creating archive %anArchName%.7z
|
||||
rmdir /S /Q "%aTarget%"
|
||||
if not exist "%aTarget%" ( mkdir "%aTarget%" )
|
||||
if exist "%aBuildRoot%/%anArchName%.7z" del "%aBuildRoot%/%anArchName%.7z"
|
||||
xcopy /S /Y "%aDestDir%\*" "%aTarget%\"
|
||||
|
||||
"%THE_7Z_PATH%" a -r %THE_7Z_PARAMS% "%aBuildRoot%/%anArchName%.7z" "%aTarget%"
|
||||
)
|
||||
if not ["%1"] == ["-nopause"] (
|
||||
pause
|
||||
)
|
||||
|
||||
goto :eof
|
||||
|
||||
:cmakeGenerate
|
||||
set "anApi=%~1"
|
||||
set "anAbi=%~2"
|
||||
if ["%anApi%"] == [""] (
|
||||
set "anApi=21"
|
||||
if ["%anAbi%"] == ["armeabi-v7a"] ( set "anApi=16" )
|
||||
if ["%anAbi%"] == ["x86"] ( set "anApi=16" )
|
||||
)
|
||||
set "aPlatformAndCompiler=android-%anAbi%-%aCompiler%"
|
||||
set "aWorkDir=%aBuildRoot%\%aPlatformAndCompiler%-make"
|
||||
set "aLogFile=%aBuildRoot%\build-%aPlatformAndCompiler%.log"
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
if ["%toClean%"] == ["1"] (
|
||||
rmdir /S /Q %aWorkDir%"
|
||||
)
|
||||
)
|
||||
if not exist "%aWorkDir%" ( mkdir "%aWorkDir%" )
|
||||
if exist "%aLogFile%" ( del "%aLogFile%" )
|
||||
|
||||
rem include some information about OCCT into archive
|
||||
echo ^<pre^>> "%aWorkDir%\VERSION.html"
|
||||
git status >> "%aWorkDir%\VERSION.html"
|
||||
git log -n 100 >> "%aWorkDir%\VERSION.html"
|
||||
echo ^</pre^>>> "%aWorkDir%\VERSION.html"
|
||||
|
||||
echo Start building OCCT for %aPlatformAndCompiler%
|
||||
echo Start building OCCT for %aPlatformAndCompiler%, API level %anApi%>> %aLogFile%
|
||||
|
||||
pushd "%aWorkDir%"
|
||||
|
||||
set "aFreeTypeLibName=libfreetype.so"
|
||||
if exist "%aFreeType%/libs/%anAbi%/libfreetype.a" ( set "aFreeTypeLibName=libfreetype.a" )
|
||||
|
||||
set "aTimeZERO=%TIME%"
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
echo Configuring OCCT for Android %anAbi%, API level %anApi%...
|
||||
cmake -G "MinGW Makefiles" ^
|
||||
-D CMAKE_SYSTEM_NAME:STRING="Android" ^
|
||||
-D CMAKE_ANDROID_NDK="%anNdkPath%" ^
|
||||
-D CMAKE_BUILD_TYPE:STRING="Release" ^
|
||||
-D CMAKE_ANDROID_ARCH_ABI:STRING="%anAbi%" ^
|
||||
-D CMAKE_SYSTEM_VERSION:STRING="%anApi%" ^
|
||||
-D CMAKE_ANDROID_STL_TYPE="%aCppLib%" ^
|
||||
-D BUILD_LIBRARY_TYPE:STRING="%aLibType%" ^
|
||||
-D INSTALL_DIR:PATH="%aDestDir%" ^
|
||||
-D INSTALL_DIR_INCLUDE:STRING="inc" ^
|
||||
-D INSTALL_DIR_LIB:STRING="libs/%anAbi%" ^
|
||||
-D INSTALL_DIR_CMAKE:STRING="libs/%anAbi%/cmake/opencascade" ^
|
||||
-D INSTALL_DIR_RESOURCE:STRING="src" ^
|
||||
-D BUILD_MODULE_FoundationClasses:BOOL="ON" ^
|
||||
-D BUILD_MODULE_ModelingData:BOOL="%BUILD_ModelingData%" ^
|
||||
-D BUILD_MODULE_ModelingAlgorithms:BOOL="%BUILD_ModelingAlgorithms%" ^
|
||||
-D BUILD_MODULE_Visualization:BOOL="%BUILD_Visualization%" ^
|
||||
-D BUILD_MODULE_ApplicationFramework:BOOL="%BUILD_ApplicationFramework%" ^
|
||||
-D BUILD_MODULE_DataExchange:BOOL="%BUILD_DataExchange%" ^
|
||||
-D BUILD_MODULE_Draw:BOOL="OFF" ^
|
||||
-D BUILD_DOC_Overview:BOOL="OFF" ^
|
||||
-D USE_FREETYPE:BOOL="%USE_FREETYPE%" ^
|
||||
-D 3RDPARTY_FREETYPE_DIR:PATH="%aFreeType%" ^
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2:FILEPATH="%aFreeType%/include" ^
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build:FILEPATH="%aFreeType%/include" ^
|
||||
-D 3RDPARTY_FREETYPE_LIBRARY_DIR:PATH="%aFreeType%/libs/%anAbi%" ^
|
||||
-D 3RDPARTY_FREETYPE_LIBRARY:FILEPATH="%aFreeType%/libs/%anAbi%/%aFreeTypeLibName%" ^
|
||||
-D USE_RAPIDJSON:BOOL="%USE_RAPIDJSON%" ^
|
||||
-D 3RDPARTY_RAPIDJSON_DIR:PATH="%aRapidJson%" ^
|
||||
-D 3RDPARTY_RAPIDJSON_INCLUDE_DIR:PATH="%aRapidJson%/include" ^
|
||||
-D USE_DRACO:BOOL="%USE_DRACO%" ^
|
||||
-D 3RDPARTY_DRACO_DIR:PATH="%aDraco%" ^
|
||||
-D 3RDPARTY_DRACO_INCLUDE_DIR:FILEPATH="%aDraco%/include" ^
|
||||
-D 3RDPARTY_DRACO_LIBRARY_DIR_draco:PATH="%aDraco%/libs/%anAbi%" ^
|
||||
"%aCasSrc%"
|
||||
|
||||
if errorlevel 1 (
|
||||
popd
|
||||
exit /B 1
|
||||
goto :eof
|
||||
)
|
||||
)
|
||||
set "aTimeGEN=%TIME%"
|
||||
call :computeDuration %aTimeZERO% %aTimeGEN%
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
echo Generation time: %DURATION%
|
||||
echo Generation time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
|
||||
if ["%toClean%"] == ["1"] (
|
||||
mingw32-make clean
|
||||
)
|
||||
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Building...
|
||||
mingw32-make -j %aNbJobs% 2>> "%aLogFile%"
|
||||
if errorlevel 1 (
|
||||
type "%aLogFile%"
|
||||
popd
|
||||
exit /B 1
|
||||
goto :eof
|
||||
)
|
||||
type "%aLogFile%"
|
||||
)
|
||||
set "aTimeBUILD=%TIME%"
|
||||
call :computeDuration %aTimeGEN% %aTimeBUILD%
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Building time: %DURATION%
|
||||
echo Building time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
call :computeDuration %aTimeZERO% %aTimeBUILD%
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Total building time: %DURATION%
|
||||
echo Total building time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
|
||||
if ["%toInstall%"] == ["1"] (
|
||||
echo Installing into %aDestDir%...
|
||||
mingw32-make install 2>> "%aLogFile%"
|
||||
copy /Y "%aWorkDir%\VERSION.html" "%aDestDir%\VERSION.html"
|
||||
)
|
||||
set "aTimeINSTALL=%TIME%"
|
||||
call :computeDuration "%aTimeBUILD%" "%aTimeINSTALL%"
|
||||
if ["%toInstall%"] == ["1"] (
|
||||
echo Install time: %DURATION%
|
||||
echo Install time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
|
||||
call :computeDuration "%aTimeZERO%" "%aTimeINSTALL%"
|
||||
echo Total time: %DURATION%
|
||||
echo Total time: %DURATION%>> "%aLogFile%"
|
||||
|
||||
popd
|
||||
goto :eof
|
||||
|
||||
:computeDuration
|
||||
set "aTimeFrom=%~1"
|
||||
set "aTimeEnd=%~2"
|
||||
rem handle time before 10AM (win10 - remove empty space at the beginning)
|
||||
if "%aTimeFrom:~0,1%"==" " set "aTimeFrom=%aTimeFrom:~1%"
|
||||
if "%aTimeEnd:~0,1%"==" " set "aTimeEnd=%aTimeEnd:~1%"
|
||||
rem handle time before 10AM (win7 - add 0 at the beginning)
|
||||
if "%aTimeFrom:~1,1%"==":" set "aTimeFrom=0%aTimeFrom%"
|
||||
if "%aTimeEnd:~1,1%"==":" set "aTimeEnd=0%aTimeEnd%"
|
||||
rem convert hours:minutes:seconds:ms into duration
|
||||
set /A aTimeFrom=(1%aTimeFrom:~0,2%-100)*360000 + (1%aTimeFrom:~3,2%-100)*6000 + (1%aTimeFrom:~6,2%-100)*100 + (1%aTimeFrom:~9,2%-100)
|
||||
set /A aTimeEnd= (1%aTimeEnd:~0,2%-100)*360000 + (1%aTimeEnd:~3,2%-100)*6000 + (1%aTimeEnd:~6,2%-100)*100 + (1%aTimeEnd:~9,2%-100)
|
||||
set /A aDurTotalSec=%aTimeEnd%-%aTimeFrom%
|
||||
if %aTimeEnd% LSS %aTimeFrom% set set /A aDurTotalSec=%aTimeFrom%-%aTimeEnd%
|
||||
set /A aDurHH=%aDurTotalSec% / 360000
|
||||
set /A aDurMM=(%aDurTotalSec% - %aDurHH%*360000) / 6000
|
||||
set /A aDurSS=(%aDurTotalSec% - %aDurHH%*360000 - %aDurMM%*6000) / 100
|
||||
if %aDurHH% LSS 10 set aDurHH=0%aDurHH%
|
||||
if %aDurMM% LSS 10 set aDurMM=0%aDurMM%
|
||||
if %aDurSS% LSS 10 set aDurSS=0%aDurSS%
|
||||
|
||||
set "DURATION=%aDurHH%:%aDurMM%:%aDurSS%"
|
||||
goto :eof
|
33
adm/scripts/android_custom.bat.template
Normal file
@@ -0,0 +1,33 @@
|
||||
rem Environment configuration template for android_build.bat (to be renamed as android_custom.bat)
|
||||
|
||||
rem Paths to 3rd-party tools and libraries
|
||||
rem call c:\TDM-GCC-64\mingwvars.bat
|
||||
rem set "PATH=c:\CMake\bin;%PATH%"
|
||||
rem set "anNdkPath=c:/android-ndk-r12"
|
||||
rem set "aFreeType=c:/freetype-2.7.1-android"
|
||||
rem set "aRapidJson=c:/rapidjson-1.1.0"
|
||||
rem set "aDraco=c:/draco-1.4.1-android"
|
||||
|
||||
rem Uncomment to customize building steps
|
||||
rem set "aBuildRoot=%~dp0..\..\work"
|
||||
rem set "toCMake=1"
|
||||
rem set "toClean=0"
|
||||
rem set "toMake=1"
|
||||
rem set "toInstall=1"
|
||||
rem set "toPack=1"
|
||||
rem set "isStatic=0"
|
||||
|
||||
rem Minimal Android platform and CPU architectures
|
||||
rem set "anNdkApiLevel=21"
|
||||
rem set "anNdkAbiList=arm64-v8a x86_64"
|
||||
|
||||
rem OCCT Modules to build
|
||||
rem set "BUILD_ModelingData=ON"
|
||||
rem set "BUILD_ModelingAlgorithms=ON"
|
||||
rem set "BUILD_Visualization=ON"
|
||||
rem set "BUILD_ApplicationFramework=ON"
|
||||
rem set "BUILD_DataExchange=ON"
|
||||
|
||||
rem Optional 3rd-party libraries to enable
|
||||
rem set "USE_RAPIDJSON=ON"
|
||||
rem set "USE_DRACO=ON"
|
48
adm/scripts/cmake_custom.bat.template
Normal file
@@ -0,0 +1,48 @@
|
||||
rem Environment configuration template for cmake_gen.bat (to be renamed as cmake_gen_custom.bat)
|
||||
|
||||
set "OCCT3RDPARTY=%SrcRoot%\..\3rdparty"
|
||||
|
||||
set VS=14
|
||||
set VSDATA=2015
|
||||
|
||||
rem Leave VSPLATFORM empty to build for x86 platform
|
||||
set VSPLATFORM=Win64
|
||||
|
||||
rem ------------------------------------
|
||||
rem Uncomment to customize building steps
|
||||
rem ------------------------------------
|
||||
|
||||
rem set "BUILD_DIR=build-vs%VS%-%VSPLATFORM%"
|
||||
rem set "INSTALL_DIR=%SrcRoot%\install"
|
||||
|
||||
rem set BUILD_DOC_Overview=OFF
|
||||
rem set BUILD_Inspector=OFF
|
||||
rem set BUILD_LIBRARY_TYPE=Shared
|
||||
rem set BUILD_RELEASE_DISABLE_EXCEPTIONS=ON
|
||||
rem set BUILD_WITH_DEBUG=OFF
|
||||
rem set BUILD_ENABLE_FPE_SIGNAL_HANDLER=ON
|
||||
rem set BUILD_USE_PCH=OFF
|
||||
rem set BUILD_FORCE_RelWithDebInfo=OFF
|
||||
|
||||
rem Use semicolon-separated list of toolkits if you want to disable all modules
|
||||
rem and build only some toolkits.
|
||||
rem set BUILD_ADDITIONAL_TOOLKITS=
|
||||
|
||||
rem Set a directory recognized as a patch for OCCT.
|
||||
rem set BUILD_PATCH=
|
||||
|
||||
rem set BUILD_MODULE_ApplicationFramework=ON
|
||||
rem set BUILD_MODULE_DataExchange=ON
|
||||
rem set BUILD_MODULE_Draw=ON
|
||||
rem set BUILD_MODULE_ModelingAlgorithms=ON
|
||||
rem set BUILD_MODULE_ModelingData=ON
|
||||
rem set BUILD_MODULE_Visualization=ON
|
||||
|
||||
rem set USE_D3D=OFF
|
||||
rem set USE_FFMPEG=OFF
|
||||
rem set USE_FREEIMAGE=OFF
|
||||
rem set USE_GLES2=OFF
|
||||
rem set USE_RAPIDJSON=OFF
|
||||
rem set USE_DRACO=OFF
|
||||
rem set USE_TBB=OFF
|
||||
rem set USE_VTK=OFF
|
43
adm/scripts/cmake_custom.sh.template
Normal file
@@ -0,0 +1,43 @@
|
||||
# Environment configuration template for cmake_gen.sh (to be renamed as cmake_gen_custom.sh)
|
||||
|
||||
OCCT3RDPARTY="$SrcRoot/../3rdparty"
|
||||
FREETYPE_DIR="$OCCT3RDPARTY/freetype-2.7.1"
|
||||
|
||||
# ------------------------------------
|
||||
# Uncomment to customize building steps
|
||||
# ------------------------------------
|
||||
|
||||
#BUILD_DIR=build
|
||||
#INSTALL_DIR="$SrcRoot/install"
|
||||
|
||||
#BUILD_DOC_Overview=OFF
|
||||
#BUILD_Inspector=OFF
|
||||
#BUILD_LIBRARY_TYPE=Shared
|
||||
#BUILD_RELEASE_DISABLE_EXCEPTIONS=ON
|
||||
#BUILD_WITH_DEBUG=OFF
|
||||
#BUILD_ENABLE_FPE_SIGNAL_HANDLER=ON
|
||||
|
||||
# Use semicolon-separated list of toolkits if you want to disable all modules
|
||||
# and build only some toolkits.
|
||||
#BUILD_ADDITIONAL_TOOLKITS=
|
||||
|
||||
# Set a directory recognized as a patch for OCCT.
|
||||
#BUILD_PATCH=
|
||||
|
||||
#BUILD_MODULE_ApplicationFramework=ON
|
||||
#BUILD_MODULE_DataExchange=ON
|
||||
#BUILD_MODULE_Draw=ON
|
||||
#BUILD_MODULE_ModelingAlgorithms=ON
|
||||
#BUILD_MODULE_ModelingData=ON
|
||||
#BUILD_MODULE_Visualization=ON
|
||||
|
||||
#USE_FFMPEG=OFF
|
||||
#USE_FREEIMAGE=OFF
|
||||
#USE_GLES2=OFF
|
||||
#USE_RAPIDJSON=OFF
|
||||
#USE_DRACO=OFF
|
||||
#USE_TBB=OFF
|
||||
#USE_VTK=OFF
|
||||
|
||||
# This is to add any additional arguments to cmake
|
||||
#AUX_ARGS=
|
88
adm/scripts/cmake_gen.bat
Normal file
@@ -0,0 +1,88 @@
|
||||
@echo off
|
||||
|
||||
rem Auxiliary script for semi-automated building of OCCT using cmake.
|
||||
rem cmake_custom.bat should be configured with VS version and path to 3rd-parties.
|
||||
rem OCCT3RDPARTY must be specified as mandatory dependency.
|
||||
|
||||
setlocal
|
||||
|
||||
set "SrcRoot=%~dp0..\.."
|
||||
|
||||
set VS=14
|
||||
set VSDATA=2015
|
||||
set VSPLATFORM=Win64
|
||||
set "BUILD_DIR=build-vs%VS%-%VSPLATFORM%"
|
||||
set "OCCT3RDPARTY="
|
||||
set "INSTALL_DIR=%SrcRoot%\install"
|
||||
|
||||
set BUILD_ADDITIONAL_TOOLKITS=
|
||||
set BUILD_DOC_Overview=OFF
|
||||
set BUILD_Inspector=OFF
|
||||
set BUILD_LIBRARY_TYPE=Shared
|
||||
set BUILD_PATCH=
|
||||
set BUILD_RELEASE_DISABLE_EXCEPTIONS=ON
|
||||
set BUILD_WITH_DEBUG=OFF
|
||||
set BUILD_ENABLE_FPE_SIGNAL_HANDLER=ON
|
||||
set BUILD_USE_PCH=OFF
|
||||
set BUILD_FORCE_RelWithDebInfo=OFF
|
||||
|
||||
set BUILD_MODULE_ApplicationFramework=ON
|
||||
set BUILD_MODULE_DataExchange=ON
|
||||
set BUILD_MODULE_Draw=ON
|
||||
set BUILD_MODULE_ModelingAlgorithms=ON
|
||||
set BUILD_MODULE_ModelingData=ON
|
||||
set BUILD_MODULE_Visualization=ON
|
||||
|
||||
set USE_D3D=OFF
|
||||
set USE_FFMPEG=OFF
|
||||
set USE_FREEIMAGE=OFF
|
||||
set USE_GLES2=OFF
|
||||
set USE_RAPIDJSON=OFF
|
||||
set USE_DRACO=OFF
|
||||
set USE_TBB=OFF
|
||||
set USE_VTK=OFF
|
||||
|
||||
if exist "%~dp0cmake_custom.bat" call "%~dp0cmake_custom.bat"
|
||||
|
||||
if not "%VSPLATFORM%"=="" set "arch_compile=Visual Studio %VS% %VSDATA% %VSPLATFORM%"
|
||||
if "%VSPLATFORM%"=="" set "arch_compile=Visual Studio %VS% %VSDATA%"
|
||||
|
||||
set "INSTALL_DIR=%INSTALL_DIR:\=/%"
|
||||
set "OCCT3RDPARTY=%OCCT3RDPARTY:\=/%"
|
||||
|
||||
set "BUILD_DIR=%SrcRoot%\%BUILD_DIR%"
|
||||
if not exist "%BUILD_DIR%" mkdir "%BUILD_DIR%"
|
||||
pushd "%BUILD_DIR%"
|
||||
|
||||
cmake -G "%arch_compile%" ^
|
||||
-D 3RDPARTY_DIR:STRING="%OCCT3RDPARTY%" ^
|
||||
-D BUILD_ADDITIONAL_TOOLKITS:STRING="%BUILD_ADDITIONAL_TOOLKITS%" ^
|
||||
-D BUILD_DOC_Overview:BOOL=%BUILD_DOC_Overview% ^
|
||||
-D BUILD_Inspector:BOOL=%BUILD_Inspector% ^
|
||||
-D BUILD_LIBRARY_TYPE:STRING=%BUILD_LIBRARY_TYPE% ^
|
||||
-D BUILD_MODULE_ApplicationFramework:BOOL=%BUILD_MODULE_ApplicationFramework% ^
|
||||
-D BUILD_MODULE_DataExchange:BOOL=%BUILD_MODULE_DataExchange% ^
|
||||
-D BUILD_MODULE_Draw:BOOL=%BUILD_MODULE_Draw% ^
|
||||
-D BUILD_MODULE_FoundationClasses:BOOL=ON ^
|
||||
-D BUILD_MODULE_ModelingAlgorithms:BOOL=%BUILD_MODULE_ModelingAlgorithms% ^
|
||||
-D BUILD_MODULE_ModelingData:BOOL=%BUILD_MODULE_ModelingData% ^
|
||||
-D BUILD_MODULE_Visualization:BOOL=%BUILD_MODULE_Visualization% ^
|
||||
-D BUILD_PATCH:PATH="%BUILD_PATCH%" ^
|
||||
-D BUILD_RELEASE_DISABLE_EXCEPTIONS:BOOL=%BUILD_RELEASE_DISABLE_EXCEPTIONS% ^
|
||||
-D BUILD_WITH_DEBUG:BOOL=%BUILD_WITH_DEBUG% ^
|
||||
-D BUILD_ENABLE_FPE_SIGNAL_HANDLER:BOOL=%BUILD_ENABLE_FPE_SIGNAL_HANDLER% ^
|
||||
-D BUILD_USE_PCH:BOOL=%BUILD_USE_PCH% ^
|
||||
-D BUILD_FORCE_RelWithDebInfo:BOOL=%BUILD_FORCE_RelWithDebInfo% ^
|
||||
-D INSTALL_DIR:PATH="%INSTALL_DIR%" ^
|
||||
-D USE_D3D:BOOL=%USE_D3D% ^
|
||||
-D USE_FFMPEG:BOOL=%USE_FFMPEG% ^
|
||||
-D USE_FREEIMAGE:BOOL=%USE_FREEIMAGE% ^
|
||||
-D USE_GLES2:BOOL=%USE_GLES2% ^
|
||||
-D USE_RAPIDJSON:BOOL=%USE_RAPIDJSON% ^
|
||||
-D USE_DRACO:BOOL=%USE_DRACO% ^
|
||||
-D USE_TBB:BOOL=%USE_TBB% ^
|
||||
-D USE_VTK:BOOL=%USE_VTK% ^
|
||||
"%SrcRoot%"
|
||||
|
||||
popd
|
||||
endlocal
|
88
adm/scripts/cmake_gen.sh
Executable file
@@ -0,0 +1,88 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Auxiliary script for semi-automated building of OCCT using cmake.
|
||||
# cmake_custom.sh should be configured with path to 3rd-parties.
|
||||
# OCCT3RDPARTY and FREETYPE_DIR must be specified as mandatory dependencies.
|
||||
|
||||
ScriptDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||
SrcRoot="${ScriptDir}/../.."
|
||||
|
||||
INSTALL_DIR="$SrcRoot/install"
|
||||
|
||||
BUILD_DIR=build
|
||||
DEB=
|
||||
CMAKE_BUILD_TYPE=Release
|
||||
if [ "$1" = "-d" ]; then
|
||||
DEB=d
|
||||
BUILD_DIR=${BUILD_DIR}-deb
|
||||
CMAKE_BUILD_TYPE=Debug
|
||||
fi
|
||||
INSTALL_DIR_BIN=lin64/gcc/bin$DEB
|
||||
INSTALL_DIR_LIB=lin64/gcc/lib$DEB
|
||||
|
||||
BUILD_ADDITIONAL_TOOLKITS=
|
||||
BUILD_DOC_Overview=OFF
|
||||
BUILD_Inspector=OFF
|
||||
BUILD_LIBRARY_TYPE=Shared
|
||||
BUILD_PATCH=
|
||||
BUILD_RELEASE_DISABLE_EXCEPTIONS=ON
|
||||
BUILD_WITH_DEBUG=OFF
|
||||
BUILD_ENABLE_FPE_SIGNAL_HANDLER=ON
|
||||
|
||||
BUILD_MODULE_ApplicationFramework=ON
|
||||
BUILD_MODULE_DataExchange=ON
|
||||
BUILD_MODULE_Draw=ON
|
||||
BUILD_MODULE_ModelingAlgorithms=ON
|
||||
BUILD_MODULE_ModelingData=ON
|
||||
BUILD_MODULE_Visualization=ON
|
||||
|
||||
USE_FFMPEG=OFF
|
||||
USE_FREEIMAGE=OFF
|
||||
USE_GLES2=OFF
|
||||
USE_RAPIDJSON=OFF
|
||||
USE_DRACO=OFF
|
||||
USE_TBB=OFF
|
||||
USE_VTK=OFF
|
||||
AUX_ARGS=
|
||||
|
||||
if [ -f "${ScriptDir}/cmake_custom.sh" ]; then
|
||||
. "${ScriptDir}/cmake_custom.sh"
|
||||
fi
|
||||
|
||||
BUILD_DIR="$SrcRoot/$BUILD_DIR"
|
||||
if [ ! -d "$BUILD_DIR" ]; then mkdir -p "$BUILD_DIR"; fi
|
||||
pushd "$BUILD_DIR"
|
||||
|
||||
cmake -G "Unix Makefiles" \
|
||||
-D CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \
|
||||
-D 3RDPARTY_DIR:PATH="$OCCT3RDPARTY" \
|
||||
-D 3RDPARTY_FREETYPE_DIR:PATH="$FREETYPE_DIR" \
|
||||
-D BUILD_ADDITIONAL_TOOLKITS:STRING="$BUILD_ADDITIONAL_TOOLKITS" \
|
||||
-D BUILD_DOC_Overview:BOOL=$BUILD_DOC_Overview \
|
||||
-D BUILD_Inspector:BOOL=$BUILD_Inspector \
|
||||
-D BUILD_LIBRARY_TYPE:STRING=$BUILD_LIBRARY_TYPE \
|
||||
-D BUILD_MODULE_ApplicationFramework:BOOL=$BUILD_MODULE_ApplicationFramework \
|
||||
-D BUILD_MODULE_DataExchange:BOOL=$BUILD_MODULE_DataExchange \
|
||||
-D BUILD_MODULE_Draw:BOOL=$BUILD_MODULE_Draw \
|
||||
-D BUILD_MODULE_FoundationClasses:BOOL=ON \
|
||||
-D BUILD_MODULE_ModelingAlgorithms:BOOL=$BUILD_MODULE_ModelingAlgorithms \
|
||||
-D BUILD_MODULE_ModelingData:BOOL=$BUILD_MODULE_ModelingData \
|
||||
-D BUILD_MODULE_Visualization:BOOL=$BUILD_MODULE_Visualization \
|
||||
-D BUILD_PATCH:PATH="$BUILD_PATCH" \
|
||||
-D BUILD_RELEASE_DISABLE_EXCEPTIONS:BOOL=$BUILD_RELEASE_DISABLE_EXCEPTIONS \
|
||||
-D BUILD_WITH_DEBUG:BOOL=$BUILD_WITH_DEBUG \
|
||||
-D BUILD_ENABLE_FPE_SIGNAL_HANDLER:BOOL=$BUILD_ENABLE_FPE_SIGNAL_HANDLER \
|
||||
-D INSTALL_DIR:PATH="$INSTALL_DIR" \
|
||||
-D INSTALL_DIR_LAYOUT:STRING=Windows \
|
||||
-D INSTALL_DIR_BIN:STRING=$INSTALL_DIR_BIN \
|
||||
-D INSTALL_DIR_LIB:STRING=$INSTALL_DIR_LIB \
|
||||
-D USE_FFMPEG:BOOL=$USE_FFMPEG \
|
||||
-D USE_FREEIMAGE:BOOL=$USE_FREEIMAGE \
|
||||
-D USE_GLES2:BOOL=$USE_GLES2 \
|
||||
-D USE_RAPIDJSON:BOOL=$USE_RAPIDJSON \
|
||||
-D USE_DRACO:BOOL=$USE_DRACO \
|
||||
-D USE_TBB:BOOL=$USE_TBB \
|
||||
-D USE_VTK:BOOL=$USE_VTK \
|
||||
$AUX_ARGS "$SrcRoot"
|
||||
|
||||
popd
|
267
adm/scripts/ios_build.sh
Executable file
@@ -0,0 +1,267 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Auxiliary script for semi-automated building of OCCT for iOS platform.
|
||||
# macos_custom.sh should be configured with paths to CMake and other 3rd-parties.
|
||||
# FreeType should be specified as mandatory dependency.
|
||||
|
||||
aScriptDir=${BASH_SOURCE%/*}
|
||||
if [ -d "$aScriptDir" ]; then cd "$aScriptDir"; fi
|
||||
aScriptDir="$PWD"
|
||||
|
||||
aCasSrc=${aScriptDir}/../..
|
||||
aNbJobs="$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
export aBuildRoot=work
|
||||
|
||||
# paths to pre-built 3rd-parties
|
||||
export aFreeType=
|
||||
export aFreeImage=
|
||||
export aRapidJson=
|
||||
export aDraco=
|
||||
|
||||
# build stages to perform
|
||||
export isStatic=1
|
||||
export toCMake=1
|
||||
export toClean=1
|
||||
export toMake=1
|
||||
export toInstall=1
|
||||
export toPack=0
|
||||
export toPackFat=0
|
||||
export toDebug=0
|
||||
|
||||
export BUILD_ModelingData=ON
|
||||
export BUILD_ModelingAlgorithms=ON
|
||||
export BUILD_Visualization=ON
|
||||
export BUILD_ApplicationFramework=ON
|
||||
export BUILD_DataExchange=ON
|
||||
|
||||
export USE_FREETYPE=ON
|
||||
export USE_FREEIMAGE=OFF
|
||||
export USE_RAPIDJSON=OFF
|
||||
export USE_DRACO=OFF
|
||||
|
||||
export IPHONEOS_DEPLOYMENT_TARGET=8.0
|
||||
#export anAbiList="iPhoneOS|arm64 iPhoneSimulator|arm64 iPhoneSimulator|x86_64"
|
||||
export anAbiList="iPhoneOS|arm64"
|
||||
|
||||
if [[ -f "${aScriptDir}/ios_custom.sh" ]]; then
|
||||
source "${aScriptDir}/ios_custom.sh"
|
||||
fi
|
||||
|
||||
anOcctVerSuffix=`grep -e "#define OCC_VERSION_DEVELOPMENT" "$aCasSrc/src/Standard/Standard_Version.hxx" | awk '{print $3}' | xargs`
|
||||
anOcctVersion=`grep -e "#define OCC_VERSION_COMPLETE" "$aCasSrc/src/Standard/Standard_Version.hxx" | awk '{print $3}' | xargs`
|
||||
aGitBranch=`git symbolic-ref --short HEAD`
|
||||
|
||||
YEAR=$(date +"%Y")
|
||||
MONTH=$(date +"%m")
|
||||
DAY=$(date +"%d")
|
||||
aRevision=-${YEAR}-${MONTH}-${DAY}
|
||||
#aRevision=-${aGitBranch}
|
||||
|
||||
set -o pipefail
|
||||
|
||||
aBuildType="Release"
|
||||
aBuildTypePrefix=
|
||||
if [[ $toDebug == 1 ]]; then
|
||||
aBuildType="Debug"
|
||||
aBuildTypePrefix="-debug"
|
||||
fi
|
||||
aLibType="Shared"
|
||||
if [[ $isStatic == 1 ]]; then
|
||||
aLibType="Static"
|
||||
fi
|
||||
|
||||
function buildArch {
|
||||
anAbi=$1
|
||||
aPlatformSdk=$2
|
||||
|
||||
aPlatformAndCompiler=${aPlatformSdk}-${anAbi}${aBuildTypePrefix}-clang
|
||||
|
||||
aWorkDir="${aCasSrc}/${aBuildRoot}/${aPlatformAndCompiler}-make"
|
||||
aDestDir="${aCasSrc}/${aBuildRoot}/${aPlatformAndCompiler}"
|
||||
aLogFile="${aCasSrc}/${aBuildRoot}/build-${aPlatformAndCompiler}.log"
|
||||
|
||||
if [[ $toCMake == 1 ]] && [[ $toClean == 1 ]]; then
|
||||
rm -r -f "$aWorkDir"
|
||||
rm -r -f "$aDestDir"
|
||||
fi
|
||||
mkdir -p "$aWorkDir"
|
||||
mkdir -p "$aDestDir"
|
||||
rm -f "$aLogFile"
|
||||
|
||||
# include some information about OCCT into archive
|
||||
echo \<pre\>> "${aWorkDir}/VERSION.html"
|
||||
git status >> "${aWorkDir}/VERSION.html"
|
||||
git log -n 100 >> "${aWorkDir}/VERSION.html"
|
||||
echo \</pre\>>> "${aWorkDir}/VERSION.html"
|
||||
|
||||
pushd "$aWorkDir"
|
||||
|
||||
aTimeZERO=$SECONDS
|
||||
|
||||
function logDuration {
|
||||
if [[ $1 == 1 ]]; then
|
||||
aDur=$(($4 - $3))
|
||||
echo $2 time: $aDur sec>> "$aLogFile"
|
||||
fi
|
||||
}
|
||||
|
||||
aSysRoot="/Applications/Xcode.app/Contents/Developer/Platforms/${aPlatformSdk}.platform/Developer/SDKs/${aPlatformSdk}.sdk"
|
||||
|
||||
# (re)generate Make files
|
||||
if [[ $toCMake == 1 ]]; then
|
||||
echo Configuring OCCT for iOS...
|
||||
cmake -G "Unix Makefiles" \
|
||||
-D CMAKE_SYSTEM_NAME="iOS" \
|
||||
-D CMAKE_OSX_ARCHITECTURES:STRING="$anAbi" \
|
||||
-D CMAKE_OSX_DEPLOYMENT_TARGET:STRING="$IPHONEOS_DEPLOYMENT_TARGET" \
|
||||
-D CMAKE_OSX_SYSROOT:PATH="$aSysRoot" \
|
||||
-D CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS:BOOL="OFF" \
|
||||
-D CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS:BOOL="OFF" \
|
||||
-D CMAKE_BUILD_TYPE:STRING="$aBuildType" \
|
||||
-D BUILD_LIBRARY_TYPE:STRING="$aLibType" \
|
||||
-D INSTALL_DIR:PATH="$aDestDir" \
|
||||
-D INSTALL_DIR_INCLUDE:STRING="inc" \
|
||||
-D INSTALL_DIR_LIB:STRING="lib" \
|
||||
-D INSTALL_DIR_RESOURCE:STRING="src" \
|
||||
-D INSTALL_NAME_DIR:STRING="@executable_path/../Frameworks" \
|
||||
-D USE_FREETYPE:BOOL="$USE_FREETYPE" \
|
||||
-D 3RDPARTY_FREETYPE_DIR:PATH="$aFreeType" \
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2:FILEPATH="$aFreeType/include" \
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build:FILEPATH="$aFreeType/include" \
|
||||
-D 3RDPARTY_FREETYPE_LIBRARY_DIR:PATH="$aFreeType/lib" \
|
||||
-D USE_RAPIDJSON:BOOL="$USE_RAPIDJSON" \
|
||||
-D 3RDPARTY_RAPIDJSON_DIR:PATH="$aRapidJson" \
|
||||
-D 3RDPARTY_RAPIDJSON_INCLUDE_DIR:PATH="$aRapidJson/include" \
|
||||
-D USE_DRACO:BOOL="$USE_DRACO" \
|
||||
-D 3RDPARTY_DRACO_DIR:PATH="$aDraco" \
|
||||
-D 3RDPARTY_DRACO_INCLUDE_DIR:FILEPATH="$aDraco/include" \
|
||||
-D 3RDPARTY_DRACO_LIBRARY_DIR:PATH="$aDraco/lib" \
|
||||
-D USE_FREEIMAGE:BOOL="$USE_FREEIMAGE" \
|
||||
-D 3RDPARTY_FREEIMAGE_DIR:PATH="$aFreeImage" \
|
||||
-D 3RDPARTY_FREEIMAGE_INCLUDE_DIR:FILEPATH="$aFreeImage/include" \
|
||||
-D 3RDPARTY_FREEIMAGE_LIBRARY_DIR:PATH="$aFreeImage/lib" \
|
||||
-D 3RDPARTY_FREEIMAGE_LIBRARY:FILEPATH="$aFreeImage/lib/libfreeimage.a" \
|
||||
-D BUILD_MODULE_FoundationClasses:BOOL="ON" \
|
||||
-D BUILD_MODULE_ModelingData:BOOL="${BUILD_ModelingData}" \
|
||||
-D BUILD_MODULE_ModelingAlgorithms:BOOL="${BUILD_ModelingAlgorithms}" \
|
||||
-D BUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \
|
||||
-D BUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \
|
||||
-D BUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \
|
||||
-D BUILD_MODULE_Draw:BOOL="OFF" \
|
||||
-D BUILD_DOC_Overview:BOOL="OFF" \
|
||||
"$aCasSrc" 2>&1 | tee -a "$aLogFile"
|
||||
aResult=$?; if [[ $aResult != 0 ]]; then exit $aResult; fi
|
||||
fi
|
||||
aTimeGEN=$SECONDS
|
||||
logDuration $toCMake "Generation" $aTimeZERO $aTimeGEN
|
||||
|
||||
# clean up from previous build
|
||||
if [[ $toClean == 1 ]]; then
|
||||
make clean
|
||||
fi
|
||||
|
||||
# build the project
|
||||
if [[ $toMake == 1 ]]; then
|
||||
echo Building...
|
||||
make -j $aNbJobs 2>&1 | tee -a "$aLogFile"
|
||||
aResult=$?; if [[ $aResult != 0 ]]; then exit $aResult; fi
|
||||
fi
|
||||
aTimeBUILD=$SECONDS
|
||||
logDuration $toMake "Building" $aTimeGEN $aTimeBUILD
|
||||
logDuration $toMake "Total building" $aTimeZERO $aTimeBUILD
|
||||
|
||||
# install the project
|
||||
if [[ $toInstall == 1 ]]; then
|
||||
echo Installing OCCT into $aDestDir...
|
||||
make install 2>&1 | tee -a "$aLogFile"
|
||||
cp -f "$aWorkDir/VERSION.html" "$aDestDir/VERSION.html"
|
||||
echo Platform: ${aPlatformSdk} ABI: ${anAbi} Build: ${aBuildType} IPHONEOS_DEPLOYMENT_TARGET: ${IPHONEOS_DEPLOYMENT_TARGET} > "$aDestDir/build_target.txt"
|
||||
fi
|
||||
aTimeINSTALL=$SECONDS
|
||||
logDuration $toInstall "Install" $aTimeBUILD $aTimeINSTALL
|
||||
|
||||
# create an archive
|
||||
if [[ $toPack == 1 ]]; then
|
||||
anArchName=occt-${anOcctVersion}${anOcctVerSuffix}${aRevision}-${aPlatformAndCompiler}.tar.bz2
|
||||
echo Creating an archive ${aCasSrc}/${aBuildRoot}/${anArchName}...
|
||||
rm ${aDestDir}/../${anArchName} &>/dev/null
|
||||
pushd "$aDestDir"
|
||||
tar -jcf ${aDestDir}/../${anArchName} *
|
||||
popd
|
||||
fi
|
||||
aTimePACK=$SECONDS
|
||||
logDuration $toPack "Packing archive" $aTimeINSTALL $aTimePACK
|
||||
|
||||
# finished
|
||||
DURATION=$(($aTimePACK - $aTimeZERO))
|
||||
echo Total time: $DURATION sec
|
||||
logDuration 1 "Total" $aTimeZERO $aTimePACK
|
||||
|
||||
popd
|
||||
}
|
||||
|
||||
for anArchIter in $anAbiList
|
||||
do
|
||||
IFS="|" read -r aPlatform anArch <<< "$anArchIter"
|
||||
echo Platform: ${aPlatform} ABI: ${anArch} Build: ${aBuildType}
|
||||
buildArch $anArch $aPlatform
|
||||
done
|
||||
|
||||
# create a FAT archive
|
||||
if [[ $toPackFat == 1 ]]; then
|
||||
for aPlatIter in iPhoneOS iPhoneSimulator
|
||||
do
|
||||
aSuffixFat=${aPlatIter}${aBuildTypePrefix}-clang
|
||||
aFatDir="${aCasSrc}/${aBuildRoot}/${aSuffixFat}"
|
||||
|
||||
# merge per-arch builds into fat builds
|
||||
hasPlatform=0
|
||||
for anArchIter in $anAbiList
|
||||
do
|
||||
IFS="|" read -r aPlatform anArch <<< "$anArchIter"
|
||||
if [[ $aPlatIter != ${aPlatform} ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
aSuffixThin=${aPlatform}-${anArch}${aBuildTypePrefix}-clang
|
||||
anArchDir="${aCasSrc}/${aBuildRoot}/${aSuffixThin}"
|
||||
if [[ $hasPlatform == 0 ]]; then
|
||||
hasPlatform=1
|
||||
echo Packing FAT archive for platform: ${aPlatform}
|
||||
rm -r -f "$aFatDir"
|
||||
mkdir -p "$aFatDir"
|
||||
rsync -r --exclude '*.a' "$anArchDir/" "$aFatDir"
|
||||
rm -f "$aFatDir/build_target.txt"
|
||||
for aLibIter in $anArchDir/lib/*.a; do
|
||||
aLibName=`basename $aLibIter`
|
||||
lipo "$anArchDir/lib/$aLibName" -output "$aFatDir/lib/$aLibName" -create
|
||||
done
|
||||
else
|
||||
for aLibIter in $aFatDir/lib/*.a; do
|
||||
aLibName=`basename $aLibIter`
|
||||
lipo "$aFatDir/lib/$aLibName" "$anArchDir/lib/$aLibName" -output "$aFatDir/lib/$aLibName" -create
|
||||
#lipo -info "$aFatDir/lib/$aLibName"
|
||||
done
|
||||
fi
|
||||
cat "$anArchDir/build_target.txt" >> "$aFatDir/build_target.txt"
|
||||
done
|
||||
|
||||
# create an archive
|
||||
for anArchIter in $anAbiList
|
||||
do
|
||||
IFS="|" read -r aPlatform anArch <<< "$anArchIter"
|
||||
if [[ $aPlatIter != ${aPlatform} ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
anArchName=occt-${anOcctVersion}${anOcctVerSuffix}${aRevision}-${aSuffixFat}.tar.bz2
|
||||
echo Creating an archive ${aCasSrc}/${aBuildRoot}/${anArchName}...
|
||||
rm ${aFatDir}/../${anArchName} &>/dev/null
|
||||
pushd "$aFatDir"
|
||||
tar -jcf ${aFatDir}/../${anArchName} *
|
||||
popd
|
||||
break
|
||||
done
|
||||
done
|
||||
fi
|
30
adm/scripts/ios_custom.sh.template
Normal file
@@ -0,0 +1,30 @@
|
||||
# environment configuration template for ios_build.sh (to be renamed as ios_custom_env.sh)
|
||||
export PATH=/Applications/CMake.app/Contents/bin:$PATH
|
||||
export aFreeType="$aSrcRoot/../3rdparty/freetype-2.10.4-ios"
|
||||
export aFreeImage="$aSrcRoot/../3rdparty/freeimage-3.18-ios"
|
||||
export aRapidJson="$aSrcRoot/../3rdparty/rapidjson-1.1.0"
|
||||
export aDraco="$aSrcRoot/../3rdparty/draco-1.4.1-ios"
|
||||
|
||||
# Uncomment to customize building steps
|
||||
#export isStatic=0
|
||||
#export toCMake=1
|
||||
#export toClean=1
|
||||
#export toMake=1
|
||||
#export toInstall=1
|
||||
#export toPack=0
|
||||
#export toPackFat=1
|
||||
#export toDebug=0
|
||||
|
||||
#export BUILD_ModelingData=ON
|
||||
#export BUILD_ModelingAlgorithms=ON
|
||||
#export BUILD_Visualization=ON
|
||||
#export BUILD_ApplicationFramework=ON
|
||||
#export BUILD_DataExchange=ON
|
||||
|
||||
#export USE_RAPIDJSON=ON
|
||||
#export USE_DRACO=ON
|
||||
#export USE_FREEIMAGE=ON
|
||||
|
||||
#export IPHONEOS_DEPLOYMENT_TARGET=8.0
|
||||
#export anAbiList="iPhoneOS|arm64 iPhoneSimulator|arm64 iPhoneSimulator|x86_64"
|
||||
#export anAbiList="iPhoneOS|arm64"
|
268
adm/scripts/macos_build.sh
Executable file
@@ -0,0 +1,268 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Auxiliary script for semi-automated building of OCCT for macOS platform.
|
||||
# macos_custom.sh should be configured with paths to CMake and other 3rd-parties.
|
||||
# FreeType should be specified as mandatory dependency.
|
||||
|
||||
aScriptDir=${BASH_SOURCE%/*}
|
||||
if [ -d "$aScriptDir" ]; then cd "$aScriptDir"; fi
|
||||
aScriptDir="$PWD"
|
||||
|
||||
aCasSrc=${aScriptDir}/../..
|
||||
aNbJobs="$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
export aBuildRoot=work
|
||||
|
||||
# paths to pre-built 3rd-parties
|
||||
export aFreeType=
|
||||
export aFreeImage=
|
||||
export aRapidJson=
|
||||
export aDraco=
|
||||
|
||||
# build stages to perform
|
||||
export isStatic=0
|
||||
export toCMake=1
|
||||
export toClean=1
|
||||
export toMake=1
|
||||
export toInstall=1
|
||||
export toPack=0
|
||||
export toPackFat=0
|
||||
export toDebug=0
|
||||
|
||||
export BUILD_ModelingData=ON
|
||||
export BUILD_ModelingAlgorithms=ON
|
||||
export BUILD_Visualization=ON
|
||||
export BUILD_ApplicationFramework=ON
|
||||
export BUILD_DataExchange=ON
|
||||
export BUILD_Draw=ON
|
||||
|
||||
export USE_FREETYPE=ON
|
||||
export USE_FREEIMAGE=ON
|
||||
export USE_RAPIDJSON=OFF
|
||||
export USE_DRACO=OFF
|
||||
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.10
|
||||
#export anAbiList="arm64 x86_64"
|
||||
export anAbiList="x86_64"
|
||||
aPlatform="macos"
|
||||
|
||||
if [[ -f "${aScriptDir}/macos_custom.sh" ]]; then
|
||||
source "${aScriptDir}/macos_custom.sh"
|
||||
fi
|
||||
|
||||
anOcctVerSuffix=`grep -e "#define OCC_VERSION_DEVELOPMENT" "$aCasSrc/src/Standard/Standard_Version.hxx" | awk '{print $3}' | xargs`
|
||||
anOcctVersion=`grep -e "#define OCC_VERSION_COMPLETE" "$aCasSrc/src/Standard/Standard_Version.hxx" | awk '{print $3}' | xargs`
|
||||
aGitBranch=`git symbolic-ref --short HEAD`
|
||||
|
||||
YEAR=$(date +"%Y")
|
||||
MONTH=$(date +"%m")
|
||||
DAY=$(date +"%d")
|
||||
aRevision=-${YEAR}-${MONTH}-${DAY}
|
||||
#aRevision=-${aGitBranch}
|
||||
|
||||
set -o pipefail
|
||||
|
||||
aBuildType="Release"
|
||||
aBuildTypePrefix=
|
||||
if [[ $toDebug == 1 ]]; then
|
||||
aBuildType="Debug"
|
||||
aBuildTypePrefix="-debug"
|
||||
fi
|
||||
aLibType="Shared"
|
||||
aLibExt="dylib"
|
||||
if [[ $isStatic == 1 ]]; then
|
||||
aLibType="Static"
|
||||
aLibExt="a"
|
||||
fi
|
||||
|
||||
function buildArch {
|
||||
anAbi=$1
|
||||
|
||||
aPlatformAndCompiler=${aPlatform}-${anAbi}${aBuildTypePrefix}-clang
|
||||
|
||||
aWorkDir="${aCasSrc}/${aBuildRoot}/${aPlatformAndCompiler}-make"
|
||||
aDestDir="${aCasSrc}/${aBuildRoot}/${aPlatformAndCompiler}"
|
||||
aLogFile="${aCasSrc}/${aBuildRoot}/build-${aPlatformAndCompiler}.log"
|
||||
|
||||
if [[ $toCMake == 1 ]] && [[ $toClean == 1 ]]; then
|
||||
rm -r -f "$aWorkDir"
|
||||
rm -r -f "$aDestDir"
|
||||
fi
|
||||
mkdir -p "$aWorkDir"
|
||||
mkdir -p "$aDestDir"
|
||||
rm -f "$aLogFile"
|
||||
|
||||
# include some information about OCCT into archive
|
||||
echo \<pre\>> "${aWorkDir}/VERSION.html"
|
||||
git status >> "${aWorkDir}/VERSION.html"
|
||||
git log -n 100 >> "${aWorkDir}/VERSION.html"
|
||||
echo \</pre\>>> "${aWorkDir}/VERSION.html"
|
||||
|
||||
pushd "$aWorkDir"
|
||||
|
||||
aTimeZERO=$SECONDS
|
||||
|
||||
function logDuration {
|
||||
if [[ $1 == 1 ]]; then
|
||||
aDur=$(($4 - $3))
|
||||
echo $2 time: $aDur sec>> "$aLogFile"
|
||||
fi
|
||||
}
|
||||
|
||||
# (re)generate Make files
|
||||
if [[ $toCMake == 1 ]]; then
|
||||
echo Configuring OCCT for macOS...
|
||||
cmake -G "Unix Makefiles" \
|
||||
-D CMAKE_OSX_ARCHITECTURES:STRING="$anAbi" \
|
||||
-D CMAKE_BUILD_TYPE:STRING="$aBuildType" \
|
||||
-D BUILD_LIBRARY_TYPE:STRING="$aLibType" \
|
||||
-D INSTALL_DIR:PATH="$aDestDir" \
|
||||
-D INSTALL_DIR_INCLUDE:STRING="inc" \
|
||||
-D INSTALL_DIR_LIB:STRING="lib" \
|
||||
-D INSTALL_DIR_RESOURCE:STRING="src" \
|
||||
-D INSTALL_NAME_DIR:STRING="@executable_path/../Frameworks" \
|
||||
-D USE_FREETYPE:BOOL="$USE_FREETYPE" \
|
||||
-D 3RDPARTY_FREETYPE_DIR:PATH="$aFreeType" \
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2:FILEPATH="$aFreeType/include" \
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build:FILEPATH="$aFreeType/include" \
|
||||
-D 3RDPARTY_FREETYPE_LIBRARY_DIR:PATH="$aFreeType/lib" \
|
||||
-D 3RDPARTY_FREETYPE_LIBRARY:FILEPATH="$aFreeType/lib/libfreetype.dylib" \
|
||||
-D USE_RAPIDJSON:BOOL="$USE_RAPIDJSON" \
|
||||
-D 3RDPARTY_RAPIDJSON_DIR:PATH="$aRapidJson" \
|
||||
-D 3RDPARTY_RAPIDJSON_INCLUDE_DIR:PATH="$aRapidJson/include" \
|
||||
-D USE_DRACO:BOOL="$USE_DRACO" \
|
||||
-D 3RDPARTY_DRACO_DIR:PATH="$aDraco" \
|
||||
-D 3RDPARTY_DRACO_INCLUDE_DIR:FILEPATH="$aDraco/include" \
|
||||
-D 3RDPARTY_DRACO_LIBRARY_DIR:PATH="$aDraco/lib" \
|
||||
-D USE_FREEIMAGE:BOOL="$USE_FREEIMAGE" \
|
||||
-D 3RDPARTY_FREEIMAGE_DIR:PATH="$aFreeImage" \
|
||||
-D 3RDPARTY_FREEIMAGE_INCLUDE_DIR:FILEPATH="$aFreeImage/include" \
|
||||
-D 3RDPARTY_FREEIMAGE_LIBRARY_DIR:PATH="$aFreeImage/lib" \
|
||||
-D 3RDPARTY_FREEIMAGE_LIBRARY:FILEPATH="$aFreeImage/lib/libfreeimage.a" \
|
||||
-D BUILD_MODULE_FoundationClasses:BOOL="ON" \
|
||||
-D BUILD_MODULE_ModelingData:BOOL="${BUILD_ModelingData}" \
|
||||
-D BUILD_MODULE_ModelingAlgorithms:BOOL="${BUILD_ModelingAlgorithms}" \
|
||||
-D BUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \
|
||||
-D BUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \
|
||||
-D BUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \
|
||||
-D BUILD_MODULE_Draw:BOOL="${BUILD_Draw}" \
|
||||
-D BUILD_DOC_Overview:BOOL="OFF" \
|
||||
"$aCasSrc" 2>&1 | tee -a "$aLogFile"
|
||||
aResult=$?; if [[ $aResult != 0 ]]; then exit $aResult; fi
|
||||
fi
|
||||
aTimeGEN=$SECONDS
|
||||
logDuration $toCMake "Generation" $aTimeZERO $aTimeGEN
|
||||
|
||||
# clean up from previous build
|
||||
if [[ $toClean == 1 ]]; then
|
||||
make clean
|
||||
fi
|
||||
|
||||
# build the project
|
||||
if [[ $toMake == 1 ]]; then
|
||||
echo Building OCCT...
|
||||
make -j $aNbJobs 2>&1 | tee -a "$aLogFile"
|
||||
aResult=$?; if [[ $aResult != 0 ]]; then exit $aResult; fi
|
||||
fi
|
||||
aTimeBUILD=$SECONDS
|
||||
logDuration $toMake "Building" $aTimeGEN $aTimeBUILD
|
||||
logDuration $toMake "Total building" $aTimeZERO $aTimeBUILD
|
||||
|
||||
# install the project
|
||||
if [[ $toInstall == 1 ]]; then
|
||||
echo Installing OCCT into $aDestDir...
|
||||
make install 2>&1 | tee -a "$aLogFile"
|
||||
cp -f "$aWorkDir/VERSION.html" "$aDestDir/VERSION.html"
|
||||
echo Platform: macOS ABI: ${anAbi} Build: ${aBuildType} MACOSX_DEPLOYMENT_TARGET: ${MACOSX_DEPLOYMENT_TARGET} > "$aDestDir/build_target.txt"
|
||||
fi
|
||||
aTimeINSTALL=$SECONDS
|
||||
logDuration $toInstall "Install" $aTimeBUILD $aTimeINSTALL
|
||||
|
||||
# create an archive
|
||||
if [[ $toPack == 1 ]]; then
|
||||
anArchName=occt-${anOcctVersion}${anOcctVerSuffix}${aRevision}-${aPlatformAndCompiler}.tar.bz2
|
||||
echo Creating an archive ${aCasSrc}/${aBuildRoot}/${anArchName}...
|
||||
rm ${aDestDir}/../${anArchName} &>/dev/null
|
||||
pushd "$aDestDir"
|
||||
tar -jcf ${aDestDir}/../${anArchName} *
|
||||
popd
|
||||
fi
|
||||
aTimePACK=$SECONDS
|
||||
logDuration $toPack "Packing archive" $aTimeINSTALL $aTimePACK
|
||||
|
||||
# finished
|
||||
DURATION=$(($aTimePACK - $aTimeZERO))
|
||||
echo Total time: $DURATION sec
|
||||
logDuration 1 "Total" $aTimeZERO $aTimePACK
|
||||
|
||||
popd
|
||||
}
|
||||
|
||||
for anArchIter in $anAbiList
|
||||
do
|
||||
echo Platform: macOS ABI: ${anArchIter} Build: ${aBuildType}
|
||||
buildArch $anArchIter
|
||||
done
|
||||
|
||||
# create a FAT archive
|
||||
if [[ $toPackFat == 1 ]]; then
|
||||
aSuffixFat=${aPlatform}${aBuildTypePrefix}-clang
|
||||
aFatDir="${aCasSrc}/${aBuildRoot}/${aSuffixFat}"
|
||||
|
||||
# merge per-arch builds into fat builds
|
||||
hasPlatform=0
|
||||
for anArchIter in $anAbiList
|
||||
do
|
||||
aSuffixThin=${aPlatform}-${anArchIter}${aBuildTypePrefix}-clang
|
||||
anArchDir="${aCasSrc}/${aBuildRoot}/${aSuffixThin}"
|
||||
if [[ $hasPlatform == 0 ]]; then
|
||||
hasPlatform=1
|
||||
echo Packing FAT archive
|
||||
rm -r -f "$aFatDir"
|
||||
mkdir -p "$aFatDir"
|
||||
if [[ $isStatic == 1 ]]; then
|
||||
rsync -r -l --exclude '*.a' "$anArchDir/" "$aFatDir"
|
||||
else
|
||||
rsync -r -l --exclude '*.dylib' "$anArchDir/" "$aFatDir"
|
||||
fi
|
||||
rm -f "$aFatDir/build_target.txt"
|
||||
|
||||
if [[ -L "$anArchDir/bin/DRAWEXE" ]]; then
|
||||
aDrawExe=$(readlink "$anArchDir/bin/DRAWEXE")
|
||||
rm $aFatDir/bin/$aDrawExe
|
||||
lipo "$anArchDir/bin/$aDrawExe" -output "$aFatDir/bin/$aDrawExe" -create
|
||||
fi
|
||||
|
||||
for aLibIter in $anArchDir/lib/*.$aLibExt; do
|
||||
aLibName=`basename $aLibIter`
|
||||
if [[ -L "$anArchDir/lib/$aLibName" ]]; then
|
||||
cp -a "$anArchDir/lib/$aLibName" "$aFatDir/lib/"
|
||||
else
|
||||
lipo "$anArchDir/lib/$aLibName" -output "$aFatDir/lib/$aLibName" -create
|
||||
fi
|
||||
done
|
||||
else
|
||||
if [[ -L "$anArchDir/bin/DRAWEXE" ]]; then
|
||||
aDrawExe=$(readlink "$anArchDir/bin/DRAWEXE")
|
||||
lipo "$aFatDir/bin/$aDrawExe" "$anArchDir/bin/$aDrawExe" -output "$aFatDir/bin/$aDrawExe" -create
|
||||
fi
|
||||
|
||||
for aLibIter in $aFatDir/lib/*.$aLibExt; do
|
||||
aLibName=`basename $aLibIter`
|
||||
if [[ ! -L "$anArchDir/lib/$aLibName" ]]; then
|
||||
lipo "$aFatDir/lib/$aLibName" "$anArchDir/lib/$aLibName" -output "$aFatDir/lib/$aLibName" -create
|
||||
#lipo -info "$aFatDir/lib/$aLibName"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
cat "$anArchDir/build_target.txt" >> "$aFatDir/build_target.txt"
|
||||
done
|
||||
|
||||
# create an archive
|
||||
anArchName=occt-${anOcctVersion}${anOcctVerSuffix}${aRevision}-${aSuffixFat}.tar.bz2
|
||||
echo Creating an archive ${aCasSrc}/${aBuildRoot}/${anArchName}...
|
||||
rm ${aFatDir}/../${anArchName} &>/dev/null
|
||||
pushd "$aFatDir"
|
||||
tar -jcf ${aFatDir}/../${anArchName} *
|
||||
popd
|
||||
fi
|
31
adm/scripts/macos_custom.sh.template
Normal file
@@ -0,0 +1,31 @@
|
||||
# environment configuration template for macos_build.sh (to be renamed as macos_custom_env.sh)
|
||||
export PATH=/Applications/CMake.app/Contents/bin:$PATH
|
||||
export aFreeType="$aSrcRoot/../3rdparty/freetype-2.10.4-macos"
|
||||
export aFreeImage="$aSrcRoot/../3rdparty/freeimage-3.18-macos"
|
||||
export aRapidJson="$aSrcRoot/../3rdparty/rapidjson-1.1.0"
|
||||
export aDraco="$aSrcRoot/../3rdparty/draco-1.4.1-macos"
|
||||
|
||||
# Uncomment to customize building steps
|
||||
#export aBuildRoot=work
|
||||
#export toCMake=1
|
||||
#export toClean=1
|
||||
#export toMake=1
|
||||
#export toInstall=1
|
||||
#export toPack=1
|
||||
#export toPackFat=1
|
||||
|
||||
#export BUILD_ModelingData=ON
|
||||
#export BUILD_ModelingAlgorithms=ON
|
||||
#export BUILD_Visualization=ON
|
||||
#export BUILD_ApplicationFramework=ON
|
||||
#export BUILD_DataExchange=ON
|
||||
#export BUILD_Draw=ON
|
||||
|
||||
#export USE_RAPIDJSON=ON
|
||||
#export USE_DRACO=ON
|
||||
#export USE_FREEIMAGE=ON
|
||||
|
||||
#export MACOSX_DEPLOYMENT_TARGET=10.10
|
||||
#export anAbiList=arm64
|
||||
#export anAbiList=x86_64
|
||||
#export anAbiList="arm64 x86_64"
|
267
adm/scripts/mingw_build.bat
Normal file
@@ -0,0 +1,267 @@
|
||||
@echo OFF
|
||||
|
||||
rem Auxiliary script for semi-automated building of OCCT for Mingw-w64 platform.
|
||||
rem mingw_custom.bat should be configured with paths to CMake, 3rd-parties and MinGW.
|
||||
|
||||
set "aCasSrc=%~dp0..\.."
|
||||
set "aBuildRoot=%aCasSrc%\work"
|
||||
|
||||
set aNbJobs=%NUMBER_OF_PROCESSORS%
|
||||
|
||||
rem Paths to 3rd-party tools and libraries
|
||||
set "aCmakeBin="
|
||||
set "aMingwVars="
|
||||
set "aFreeType="
|
||||
set "aFreeImage="
|
||||
set "aRapidJson="
|
||||
set "aDraco="
|
||||
set "aTclTk="
|
||||
|
||||
rem Build stages to perform
|
||||
set "toCMake=1"
|
||||
set "toClean=0"
|
||||
set "toMake=1"
|
||||
set "toInstall=1"
|
||||
set "toPack=0"
|
||||
set "toDebug=0"
|
||||
set "isStatic=0"
|
||||
|
||||
rem OCCT Modules to build
|
||||
set "BUILD_ModelingData=ON"
|
||||
set "BUILD_ModelingAlgorithms=ON"
|
||||
set "BUILD_Visualization=ON"
|
||||
set "BUILD_ApplicationFramework=ON"
|
||||
set "BUILD_DataExchange=ON"
|
||||
set "BUILD_Draw=ON"
|
||||
|
||||
rem Optional 3rd-party libraries to enable
|
||||
set "USE_FREETYPE=ON"
|
||||
set "USE_RAPIDJSON=OFF"
|
||||
set "USE_DRACO=OFF"
|
||||
set "USE_FREEIMAGE=ON"
|
||||
|
||||
rem Archive tool
|
||||
set "THE_7Z_PARAMS=-t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on"
|
||||
set "THE_7Z_PATH=%ProgramW6432%\7-Zip\7z.exe"
|
||||
|
||||
rem Configuration file
|
||||
if exist "%~dp0mingw_custom.bat" call "%~dp0mingw_custom.bat"
|
||||
|
||||
if not ["%aMingwVars%"] == [""] ( call "%aMingwVars%" )
|
||||
if not ["%aCmakeBin%"] == [""] ( set "PATH=%aCmakeBin%;%PATH%" )
|
||||
|
||||
set "anOcctVerSuffix="
|
||||
set "anOcctVersion=0.0.0"
|
||||
set "aGitBranch="
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr /b /c:"#define OCC_VERSION_DEVELOPMENT" "%aCasSrc%\src\Standard\Standard_Version.hxx"') do ( set "anOcctVerSuffix=%%i" )
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr /b /c:"#define OCC_VERSION_COMPLETE" "%aCasSrc%\src\Standard\Standard_Version.hxx"') do ( set "anOcctVersion=%%i" )
|
||||
for /f %%i in ('git symbolic-ref --short HEAD') do ( set "aGitBranch=%%i" )
|
||||
|
||||
set "aBuildType=Release"
|
||||
set "aBuildTypePrefix="
|
||||
set "aLibType=Shared"
|
||||
if ["%isStatic%"] == ["1"] set "aLibType=Static"
|
||||
if ["%toDebug%"] == ["1"] (
|
||||
set "aBuildType=Debug"
|
||||
set "aBuildTypePrefix=-debug"
|
||||
)
|
||||
|
||||
call :cmakeGenerate
|
||||
if errorlevel 1 (
|
||||
if not ["%1"] == ["-nopause"] (
|
||||
pause
|
||||
)
|
||||
exit /B 1
|
||||
goto :eof
|
||||
)
|
||||
|
||||
for /F "skip=1 delims=" %%F in ('
|
||||
wmic PATH Win32_LocalTime GET Day^,Month^,Year /FORMAT:TABLE
|
||||
') do (
|
||||
for /F "tokens=1-3" %%L in ("%%F") do (
|
||||
set DAY00=0%%L
|
||||
set MONTH00=0%%M
|
||||
set YEAR=%%N
|
||||
)
|
||||
)
|
||||
set DAY00=%DAY00:~-2%
|
||||
set MONTH00=%MONTH00:~-2%
|
||||
set "aRevision=-%YEAR%-%MONTH00%-%DAY00%"
|
||||
rem set "aRevision=-%aGitBranch%"
|
||||
set "anArchName=occt-%anOcctVersion%%anOcctVerSuffix%%aRevision%-mingw64%aBuildTypePrefix%"
|
||||
set "aTarget=%aBuildRoot%\%anArchName%"
|
||||
if ["%toPack%"] == ["1"] (
|
||||
echo Creating archive %anArchName%.7z
|
||||
rmdir /S /Q "%aTarget%"
|
||||
if not exist "%aTarget%" ( mkdir "%aTarget%" )
|
||||
if exist "%aBuildRoot%/%anArchName%.7z" del "%aBuildRoot%/%anArchName%.7z"
|
||||
xcopy /S /Y "%aDestDir%\*" "%aTarget%\"
|
||||
|
||||
echo Copying dependencies...
|
||||
for %%i in (libstdc++-6.dll libwinpthread-1.dll libgcc_s_seh-1.dll) do (
|
||||
if "%%~$PATH:i" == "" (
|
||||
echo "Error: could not find %%i"
|
||||
) else (
|
||||
xcopy /Y "%%~$PATH:i" "%aTarget%\win64\gcc\bin"
|
||||
)
|
||||
)
|
||||
|
||||
"%THE_7Z_PATH%" a -r %THE_7Z_PARAMS% "%aBuildRoot%/%anArchName%.7z" "%aTarget%"
|
||||
)
|
||||
if not ["%1"] == ["-nopause"] (
|
||||
pause
|
||||
)
|
||||
|
||||
goto :eof
|
||||
|
||||
:cmakeGenerate
|
||||
set "aPlatformAndCompiler=mingw64%aBuildTypePrefix%"
|
||||
set "aWorkDir=%aBuildRoot%\occt-%aPlatformAndCompiler%-make"
|
||||
set "aDestDir=%aBuildRoot%\occt-%aPlatformAndCompiler%"
|
||||
set "aLogFile=%aBuildRoot%\occt-%aPlatformAndCompiler%-build.log"
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
if ["%toClean%"] == ["1"] (
|
||||
rmdir /S /Q %aWorkDir%"
|
||||
rmdir /S /Q %aDestDir%"
|
||||
)
|
||||
)
|
||||
if not exist "%aWorkDir%" ( mkdir "%aWorkDir%" )
|
||||
if exist "%aLogFile%" ( del "%aLogFile%" )
|
||||
|
||||
rem include some information about OCCT into archive
|
||||
echo ^<pre^>> "%aWorkDir%\VERSION.html"
|
||||
git status >> "%aWorkDir%\VERSION.html"
|
||||
git log -n 100 >> "%aWorkDir%\VERSION.html"
|
||||
echo ^</pre^>>> "%aWorkDir%\VERSION.html"
|
||||
|
||||
echo Start building OCCT for %aPlatformAndCompiler%
|
||||
echo Start building OCCT for %aPlatformAndCompiler%>> %aLogFile%
|
||||
|
||||
pushd "%aWorkDir%"
|
||||
|
||||
set "aTimeZERO=%TIME%"
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
echo Configuring OCCT for MinGW-w64...
|
||||
cmake -G "MinGW Makefiles" ^
|
||||
-D CMAKE_BUILD_TYPE:STRING="%aBuildType%" ^
|
||||
-D BUILD_LIBRARY_TYPE:STRING="%aLibType%" ^
|
||||
-D INSTALL_DIR:PATH="%aDestDir%" ^
|
||||
-D INSTALL_DIR_INCLUDE:STRING="inc" ^
|
||||
-D INSTALL_DIR_RESOURCE:STRING="src" ^
|
||||
-D BUILD_DOC_Overview:BOOL="OFF" ^
|
||||
-D BUILD_MODULE_FoundationClasses:BOOL="ON" ^
|
||||
-D BUILD_MODULE_ModelingData:BOOL="%BUILD_ModelingData%" ^
|
||||
-D BUILD_MODULE_ModelingAlgorithms:BOOL="%BUILD_ModelingAlgorithms%" ^
|
||||
-D BUILD_MODULE_Visualization:BOOL="%BUILD_Visualization%" ^
|
||||
-D BUILD_MODULE_ApplicationFramework:BOOL="%BUILD_ApplicationFramework%" ^
|
||||
-D BUILD_MODULE_DataExchange:BOOL="%BUILD_DataExchange%" ^
|
||||
-D BUILD_MODULE_Draw:BOOL="%BUILD_Draw%" ^
|
||||
-D 3RDPARTY_TCL_DIR:PATH="%aTclTk%" ^
|
||||
-D 3RDPARTY_TCL_INCLUDE_DIR:FILEPATH="%aTclTk%/include" ^
|
||||
-D 3RDPARTY_TCL_LIBRARY_DIR:PATH="%aTclTk%/lib" ^
|
||||
-D 3RDPARTY_TCL_DLL_DIR:PATH="%aTclTk%/bin" ^
|
||||
-D 3RDPARTY_TK_DIR:PATH="%aTclTk%" ^
|
||||
-D 3RDPARTY_TK_INCLUDE_DIR:FILEPATH="%aTclTk%/include" ^
|
||||
-D 3RDPARTY_TK_LIBRARY_DIR:PATH="%aTclTk%/lib" ^
|
||||
-D 3RDPARTY_TK_DLL_DIR:PATH="%aTclTk%/bin" ^
|
||||
-D USE_D3D:BOOL="ON" ^
|
||||
-D USE_FREETYPE:BOOL="%USE_FREETYPE%" ^
|
||||
-D 3RDPARTY_FREETYPE_DIR:PATH="%aFreeType%" ^
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2:FILEPATH="%aFreeType%/include" ^
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build:FILEPATH="%aFreeType%/include" ^
|
||||
-D 3RDPARTY_FREETYPE_LIBRARY_DIR:PATH="%aFreeType%/lib" ^
|
||||
-D USE_FREEIMAGE:BOOL="%USE_FREEIMAGE%" ^
|
||||
-D 3RDPARTY_FREEIMAGE_DIR:PATH="%aFreeImage%" ^
|
||||
-D 3RDPARTY_FREEIMAGE_INCLUDE_DIR:FILEPATH="%aFreeImage%/include" ^
|
||||
-D 3RDPARTY_FREEIMAGE_LIBRARY_DIR:PATH="%aFreeImage%/lib" ^
|
||||
-D USE_RAPIDJSON:BOOL="%USE_RAPIDJSON%" ^
|
||||
-D 3RDPARTY_RAPIDJSON_DIR:PATH="%aRapidJson%" ^
|
||||
-D 3RDPARTY_RAPIDJSON_INCLUDE_DIR:PATH="%aRapidJson%/include" ^
|
||||
-D USE_DRACO:BOOL="%USE_DRACO%" ^
|
||||
-D 3RDPARTY_DRACO_DIR:PATH="%aDraco%" ^
|
||||
-D 3RDPARTY_DRACO_INCLUDE_DIR:FILEPATH="%aDraco%/include" ^
|
||||
-D 3RDPARTY_DRACO_LIBRARY_DIR:PATH="%aDraco%/lib" ^
|
||||
"%aCasSrc%"
|
||||
|
||||
if errorlevel 1 (
|
||||
popd
|
||||
exit /B 1
|
||||
goto :eof
|
||||
)
|
||||
)
|
||||
set "aTimeGEN=%TIME%"
|
||||
call :computeDuration %aTimeZERO% %aTimeGEN%
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
echo Generation time: %DURATION%
|
||||
echo Generation time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
|
||||
if ["%toClean%"] == ["1"] (
|
||||
mingw32-make clean
|
||||
)
|
||||
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Building...
|
||||
mingw32-make -j %aNbJobs% 2>> "%aLogFile%"
|
||||
if errorlevel 1 (
|
||||
type "%aLogFile%"
|
||||
popd
|
||||
exit /B 1
|
||||
goto :eof
|
||||
)
|
||||
type "%aLogFile%"
|
||||
)
|
||||
set "aTimeBUILD=%TIME%"
|
||||
call :computeDuration %aTimeGEN% %aTimeBUILD%
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Building time: %DURATION%
|
||||
echo Building time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
call :computeDuration %aTimeZERO% %aTimeBUILD%
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Total building time: %DURATION%
|
||||
echo Total building time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
|
||||
if ["%toInstall%"] == ["1"] (
|
||||
echo Installing into %aDestDir%...
|
||||
mingw32-make install 2>> "%aLogFile%"
|
||||
copy /Y "%aWorkDir%\VERSION.html" "%aDestDir%\VERSION.html"
|
||||
)
|
||||
set "aTimeINSTALL=%TIME%"
|
||||
call :computeDuration "%aTimeBUILD%" "%aTimeINSTALL%"
|
||||
if ["%toInstall%"] == ["1"] (
|
||||
echo Install time: %DURATION%
|
||||
echo Install time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
|
||||
call :computeDuration "%aTimeZERO%" "%aTimeINSTALL%"
|
||||
echo Total time: %DURATION%
|
||||
echo Total time: %DURATION%>> "%aLogFile%"
|
||||
|
||||
popd
|
||||
goto :eof
|
||||
|
||||
:computeDuration
|
||||
set "aTimeFrom=%~1"
|
||||
set "aTimeEnd=%~2"
|
||||
rem handle time before 10AM (win10 - remove empty space at the beginning)
|
||||
if "%aTimeFrom:~0,1%"==" " set "aTimeFrom=%aTimeFrom:~1%"
|
||||
if "%aTimeEnd:~0,1%"==" " set "aTimeEnd=%aTimeEnd:~1%"
|
||||
rem handle time before 10AM (win7 - add 0 at the beginning)
|
||||
if "%aTimeFrom:~1,1%"==":" set "aTimeFrom=0%aTimeFrom%"
|
||||
if "%aTimeEnd:~1,1%"==":" set "aTimeEnd=0%aTimeEnd%"
|
||||
rem convert hours:minutes:seconds:ms into duration
|
||||
set /A aTimeFrom=(1%aTimeFrom:~0,2%-100)*360000 + (1%aTimeFrom:~3,2%-100)*6000 + (1%aTimeFrom:~6,2%-100)*100 + (1%aTimeFrom:~9,2%-100)
|
||||
set /A aTimeEnd= (1%aTimeEnd:~0,2%-100)*360000 + (1%aTimeEnd:~3,2%-100)*6000 + (1%aTimeEnd:~6,2%-100)*100 + (1%aTimeEnd:~9,2%-100)
|
||||
set /A aDurTotalSec=%aTimeEnd%-%aTimeFrom%
|
||||
if %aTimeEnd% LSS %aTimeFrom% set set /A aDurTotalSec=%aTimeFrom%-%aTimeEnd%
|
||||
set /A aDurHH=%aDurTotalSec% / 360000
|
||||
set /A aDurMM=(%aDurTotalSec% - %aDurHH%*360000) / 6000
|
||||
set /A aDurSS=(%aDurTotalSec% - %aDurHH%*360000 - %aDurMM%*6000) / 100
|
||||
if %aDurHH% LSS 10 set aDurHH=0%aDurHH%
|
||||
if %aDurMM% LSS 10 set aDurMM=0%aDurMM%
|
||||
if %aDurSS% LSS 10 set aDurSS=0%aDurSS%
|
||||
|
||||
set "DURATION=%aDurHH%:%aDurMM%:%aDurSS%"
|
||||
goto :eof
|
29
adm/scripts/mingw_custom.bat.template
Normal file
@@ -0,0 +1,29 @@
|
||||
rem Environment configuration template for mingw_build.bat (to be renamed as mingw_custom.bat)
|
||||
set "aCmakeBin=%ProgramW6432%\CMake\bin"
|
||||
set "aFreeType=%aCasSrc%/../3rdparty/freetype-2.6.3-mingw-64"
|
||||
set "aTclTk=%aCasSrc%/../3rdparty/tcltk-8.6.4-mingw-64"
|
||||
set "aFreeImage=%aCasSrc%/../3rdparty/freeimage-3.17-0-mingw-64"
|
||||
set "aRapidJson=%aCasSrc%/../3rdparty/rapidjson-1.1.0"
|
||||
set "aDraco=%aCasSrc%/../3rdparty/draco-1.4-1-mingw-64"
|
||||
|
||||
set "aMingwVars=c:\mingw-8.3.0-msys2\mingwvars.bat"
|
||||
|
||||
rem Uncomment to customize building steps
|
||||
rem set "aBuildRoot=work"
|
||||
rem set "toCMake=1"
|
||||
rem set "toClean=1"
|
||||
rem set "toMake=1"
|
||||
rem set "toInstall=1"
|
||||
rem set "toPack=1"
|
||||
rem set "toDebug=0"
|
||||
|
||||
rem set "BUILD_ModelingData=ON"
|
||||
rem set "BUILD_ModelingAlgorithms=ON"
|
||||
rem set "BUILD_Visualization=ON"
|
||||
rem set "BUILD_ApplicationFramework=ON"
|
||||
rem set "BUILD_DataExchange=ON"
|
||||
rem set "BUILD_Draw=ON"
|
||||
|
||||
rem set "USE_RAPIDJSON=ON"
|
||||
rem set "USE_DRACO=ON"
|
||||
rem set "USE_FREEIMAGE=ON"
|
333
adm/scripts/wasm_build.bat
Normal file
@@ -0,0 +1,333 @@
|
||||
@echo OFF
|
||||
|
||||
rem Auxiliary script for semi-automated building of OCCT for WASM platform.
|
||||
rem wasm_custom.bat should be configured with paths to CMake, 3rd-parties and Emscripten SDK.
|
||||
rem FreeType should be specified as mandatory dependency.
|
||||
|
||||
set "aCasSrc=%~dp0..\.."
|
||||
set "aBuildRoot=%aCasSrc%\work"
|
||||
|
||||
set aNbJobs=%NUMBER_OF_PROCESSORS%
|
||||
|
||||
rem Paths to 3rd-party tools and libraries
|
||||
set "aCmakeBin="
|
||||
set "aFreeType="
|
||||
set "aRapidJson="
|
||||
set "aDraco="
|
||||
set "aTcl="
|
||||
|
||||
rem Build stages to perform
|
||||
set "toCMake=1"
|
||||
set "toClean=0"
|
||||
set "toMake=1"
|
||||
set "toInstall=1"
|
||||
set "toPack=0"
|
||||
set "toDebug=0"
|
||||
set "toBuildSample=0"
|
||||
set "sourceMapBase="
|
||||
|
||||
rem OCCT Modules to build
|
||||
set "BUILD_ModelingData=ON"
|
||||
set "BUILD_ModelingAlgorithms=ON"
|
||||
set "BUILD_Visualization=ON"
|
||||
set "BUILD_ApplicationFramework=ON"
|
||||
set "BUILD_DataExchange=ON"
|
||||
set "BUILD_Draw=OFF"
|
||||
|
||||
rem Optional 3rd-party libraries to enable
|
||||
set "USE_FREETYPE=ON"
|
||||
set "USE_RAPIDJSON=OFF"
|
||||
set "USE_DRACO=OFF"
|
||||
set "USE_PTHREADS=OFF"
|
||||
|
||||
rem Archive tool
|
||||
set "THE_7Z_PARAMS=-t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on"
|
||||
set "THE_7Z_PATH=%ProgramW6432%\7-Zip\7z.exe"
|
||||
|
||||
rem Configuration file
|
||||
if exist "%~dp0wasm_custom.bat" call "%~dp0wasm_custom.bat"
|
||||
|
||||
call "%EMSDK_ROOT%\emsdk_env.bat"
|
||||
set "aToolchain=%EMSDK%/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake"
|
||||
if not ["%aCmakeBin%"] == [""] ( set "PATH=%aCmakeBin%;%PATH%" )
|
||||
|
||||
set "anOcctVerSuffix="
|
||||
set "anOcctVersion=0.0.0"
|
||||
set "aGitBranch="
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr /b /c:"#define OCC_VERSION_DEVELOPMENT" "%aCasSrc%\src\Standard\Standard_Version.hxx"') do ( set "anOcctVerSuffix=%%i" )
|
||||
for /f tokens^=2^ delims^=^" %%i in ('findstr /b /c:"#define OCC_VERSION_COMPLETE" "%aCasSrc%\src\Standard\Standard_Version.hxx"') do ( set "anOcctVersion=%%i" )
|
||||
for /f %%i in ('git symbolic-ref --short HEAD') do ( set "aGitBranch=%%i" )
|
||||
|
||||
set "aBuildType=Release"
|
||||
set "aBuildTypePrefix="
|
||||
set "anExtraCxxFlags="
|
||||
if /I ["%USE_PTHREADS%"] == ["ON"] (
|
||||
set "anExtraCxxFlags=-pthread"
|
||||
set "aBuildTypePrefix=%aBuildTypePrefix%-pthread"
|
||||
)
|
||||
if ["%toDebug%"] == ["1"] (
|
||||
set "aBuildType=Debug"
|
||||
set "aBuildTypePrefix=%aBuildTypePrefix%-debug"
|
||||
)
|
||||
|
||||
call :cmakeGenerate
|
||||
if errorlevel 1 (
|
||||
if not ["%1"] == ["-nopause"] (
|
||||
pause
|
||||
)
|
||||
exit /B 1
|
||||
goto :eof
|
||||
)
|
||||
|
||||
for /F "skip=1 delims=" %%F in ('
|
||||
wmic PATH Win32_LocalTime GET Day^,Month^,Year /FORMAT:TABLE
|
||||
') do (
|
||||
for /F "tokens=1-3" %%L in ("%%F") do (
|
||||
set DAY00=0%%L
|
||||
set MONTH00=0%%M
|
||||
set YEAR=%%N
|
||||
)
|
||||
)
|
||||
set DAY00=%DAY00:~-2%
|
||||
set MONTH00=%MONTH00:~-2%
|
||||
set "aRevision=-%YEAR%-%MONTH00%-%DAY00%"
|
||||
rem set "aRevision=-%aGitBranch%"
|
||||
set "anArchName=occt-%anOcctVersion%%anOcctVerSuffix%%aRevision%-wasm32%aBuildTypePrefix%"
|
||||
set "aTarget=%aBuildRoot%\%anArchName%"
|
||||
if ["%toPack%"] == ["1"] (
|
||||
echo Creating archive %anArchName%.7z
|
||||
rmdir /S /Q "%aTarget%"
|
||||
if not exist "%aTarget%" ( mkdir "%aTarget%" )
|
||||
if exist "%aBuildRoot%/%anArchName%.7z" del "%aBuildRoot%/%anArchName%.7z"
|
||||
xcopy /S /Y "%aDestDir%\*" "%aTarget%\"
|
||||
|
||||
if ["%toBuildSample%"] == ["1"] (
|
||||
if not exist "%aTarget%\sample" ( mkdir "%aTarget%\sample" )
|
||||
xcopy /S /Y "%aDestDirSmpl%\*" "%aTarget%\sample\"
|
||||
)
|
||||
|
||||
"%THE_7Z_PATH%" a -r %THE_7Z_PARAMS% "%aBuildRoot%/%anArchName%.7z" "%aTarget%"
|
||||
)
|
||||
if not ["%1"] == ["-nopause"] (
|
||||
pause
|
||||
)
|
||||
|
||||
goto :eof
|
||||
|
||||
:cmakeGenerate
|
||||
set "aPlatformAndCompiler=wasm32%aBuildTypePrefix%"
|
||||
set "aWorkDir=%aBuildRoot%\occt-%aPlatformAndCompiler%-make"
|
||||
set "aDestDir=%aBuildRoot%\occt-%aPlatformAndCompiler%"
|
||||
set "aLogFile=%aBuildRoot%\occt-%aPlatformAndCompiler%-build.log"
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
if ["%toClean%"] == ["1"] (
|
||||
rmdir /S /Q %aWorkDir%"
|
||||
rmdir /S /Q %aDestDir%"
|
||||
)
|
||||
)
|
||||
if not exist "%aWorkDir%" ( mkdir "%aWorkDir%" )
|
||||
if exist "%aLogFile%" ( del "%aLogFile%" )
|
||||
|
||||
set "aSrcRootSmpl=%aCasSrc%\samples\webgl"
|
||||
set "aWorkDirSmpl=%aBuildRoot%\sample-%aPlatformAndCompiler%-make"
|
||||
set "aDestDirSmpl=%aBuildRoot%\sample-%aPlatformAndCompiler%"
|
||||
set "aLogFileSmpl=%aBuildRoot%\sample-%aPlatformAndCompiler%-build.log"
|
||||
if ["%toBuildSample%"] == ["1"] (
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
if ["%toClean%"] == ["1"] (
|
||||
rmdir /S /Q %aWorkDirSmpl%"
|
||||
rmdir /S /Q %aDestDirSmpl%"
|
||||
)
|
||||
)
|
||||
if not exist "%aWorkDirSmpl%" ( mkdir "%aWorkDirSmpl%" )
|
||||
if exist "%aLogFileSmpl%" ( del "%aLogFileSmpl%" )
|
||||
)
|
||||
|
||||
rem include some information about OCCT into archive
|
||||
echo ^<pre^>> "%aWorkDir%\VERSION.html"
|
||||
git status >> "%aWorkDir%\VERSION.html"
|
||||
git log -n 100 >> "%aWorkDir%\VERSION.html"
|
||||
echo ^</pre^>>> "%aWorkDir%\VERSION.html"
|
||||
|
||||
echo Start building OCCT for %aPlatformAndCompiler%
|
||||
echo Start building OCCT for %aPlatformAndCompiler%>> %aLogFile%
|
||||
|
||||
echo --->> %aLogFile%
|
||||
call emcc --version >> %aLogFile%
|
||||
echo --->> %aLogFile%
|
||||
|
||||
pushd "%aWorkDir%"
|
||||
|
||||
set "aTimeZERO=%TIME%"
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
echo Configuring OCCT for WASM...
|
||||
cmake -G "MinGW Makefiles" ^
|
||||
-D CMAKE_TOOLCHAIN_FILE:FILEPATH="%aToolchain%" ^
|
||||
-D CMAKE_BUILD_TYPE:STRING="%aBuildType%" ^
|
||||
-D BUILD_LIBRARY_TYPE:STRING="Static" ^
|
||||
-D CMAKE_CXX_FLAGS="%anExtraCxxFlags%" ^
|
||||
-D INSTALL_DIR:PATH="%aDestDir%" ^
|
||||
-D INSTALL_DIR_INCLUDE:STRING="inc" ^
|
||||
-D INSTALL_DIR_RESOURCE:STRING="src" ^
|
||||
-D BUILD_MODULE_FoundationClasses:BOOL="ON" ^
|
||||
-D BUILD_MODULE_ModelingData:BOOL="%BUILD_ModelingData%" ^
|
||||
-D BUILD_MODULE_ModelingAlgorithms:BOOL="%BUILD_ModelingAlgorithms%" ^
|
||||
-D BUILD_MODULE_Visualization:BOOL="%BUILD_Visualization%" ^
|
||||
-D BUILD_MODULE_ApplicationFramework:BOOL="%BUILD_ApplicationFramework%" ^
|
||||
-D BUILD_MODULE_DataExchange:BOOL="%BUILD_DataExchange%" ^
|
||||
-D BUILD_MODULE_Draw:BOOL="%BUILD_Draw%" ^
|
||||
-D BUILD_DOC_Overview:BOOL="OFF" ^
|
||||
-D USE_FREETYPE:BOOL="%USE_FREETYPE%" ^
|
||||
-D 3RDPARTY_FREETYPE_DIR:PATH="%aFreeType%" ^
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2:FILEPATH="%aFreeType%/include" ^
|
||||
-D 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build:FILEPATH="%aFreeType%/include" ^
|
||||
-D USE_RAPIDJSON:BOOL="%USE_RAPIDJSON%" ^
|
||||
-D 3RDPARTY_RAPIDJSON_DIR:PATH="%aRapidJson%" ^
|
||||
-D 3RDPARTY_RAPIDJSON_INCLUDE_DIR:PATH="%aRapidJson%/include" ^
|
||||
-D USE_DRACO:BOOL="%USE_DRACO%" ^
|
||||
-D 3RDPARTY_DRACO_DIR:PATH="%aDraco%" ^
|
||||
-D 3RDPARTY_DRACO_INCLUDE_DIR:FILEPATH="%aDraco%/include" ^
|
||||
-D 3RDPARTY_DRACO_LIBRARY_DIR:PATH="%aDraco%/lib" ^
|
||||
-D 3RDPARTY_DRACO_LIBRARY:FILEPATH="%aDraco%/lib/libdraco.a" ^
|
||||
-D USE_TK:BOOL="OFF" ^
|
||||
-D 3RDPARTY_TCL_DIR:PATH="%aTcl%" ^
|
||||
-D 3RDPARTY_TCL_INCLUDE_DIR:PATH="%aTcl%/include" ^
|
||||
-D 3RDPARTY_TCL_LIBRARY_DIR:PATH="%aTcl%/lib" ^
|
||||
-D 3RDPARTY_TCL_LIBRARY:FILEPATH="%aTcl%/lib/libtcl.a" ^
|
||||
"%aCasSrc%"
|
||||
|
||||
if errorlevel 1 (
|
||||
popd
|
||||
exit /B 1
|
||||
goto :eof
|
||||
)
|
||||
)
|
||||
set "aTimeGEN=%TIME%"
|
||||
call :computeDuration %aTimeZERO% %aTimeGEN%
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
echo Generation time: %DURATION%
|
||||
echo Generation time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
|
||||
if ["%toClean%"] == ["1"] (
|
||||
mingw32-make clean
|
||||
)
|
||||
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Building...
|
||||
mingw32-make -j %aNbJobs% 2>> "%aLogFile%"
|
||||
if errorlevel 1 (
|
||||
type "%aLogFile%"
|
||||
popd
|
||||
exit /B 1
|
||||
goto :eof
|
||||
)
|
||||
type "%aLogFile%"
|
||||
)
|
||||
set "aTimeBUILD=%TIME%"
|
||||
call :computeDuration %aTimeGEN% %aTimeBUILD%
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Building time: %DURATION%
|
||||
echo Building time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
call :computeDuration %aTimeZERO% %aTimeBUILD%
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Total building time: %DURATION%
|
||||
echo Total building time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
|
||||
if ["%toInstall%"] == ["1"] (
|
||||
echo Installing into %aDestDir%...
|
||||
mingw32-make install 2>> "%aLogFile%"
|
||||
copy /Y "%aWorkDir%\VERSION.html" "%aDestDir%\VERSION.html"
|
||||
)
|
||||
set "aTimeINSTALL=%TIME%"
|
||||
call :computeDuration "%aTimeBUILD%" "%aTimeINSTALL%"
|
||||
if ["%toInstall%"] == ["1"] (
|
||||
echo Install time: %DURATION%
|
||||
echo Install time: %DURATION%>> "%aLogFile%"
|
||||
)
|
||||
|
||||
call :computeDuration "%aTimeZERO%" "%aTimeINSTALL%"
|
||||
echo Total time: %DURATION%
|
||||
echo Total time: %DURATION%>> "%aLogFile%"
|
||||
|
||||
popd
|
||||
if ["%toBuildSample%"] == ["0"] (
|
||||
goto :eof
|
||||
)
|
||||
|
||||
pushd "%aWorkDirSmpl%"
|
||||
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
cmake -G "MinGW Makefiles" ^
|
||||
-D CMAKE_TOOLCHAIN_FILE:FILEPATH="%aToolchain%" ^
|
||||
-D CMAKE_BUILD_TYPE:STRING="%aBuildType%" ^
|
||||
-D CMAKE_CXX_FLAGS="%anExtraCxxFlags%" ^
|
||||
-D CMAKE_INSTALL_PREFIX:PATH="%aDestDirSmpl%" ^
|
||||
-D SOURCE_MAP_BASE:STRING="%sourceMapBase%" ^
|
||||
-D OpenCASCADE_DIR:PATH="%aDestDir%/lib/cmake/opencascade" ^
|
||||
-D freetype_DIR:PATH="%aFreeType%/lib/cmake/freetype" ^
|
||||
"%aSrcRootSmpl%"
|
||||
|
||||
if errorlevel 1 (
|
||||
popd
|
||||
pause
|
||||
exit /B
|
||||
goto :eof
|
||||
)
|
||||
)
|
||||
if ["%toClean%"] == ["1"] (
|
||||
mingw32-make clean
|
||||
)
|
||||
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Building...
|
||||
mingw32-make -j %aNbJobs% 2>> "%aLogFileSmpl%"
|
||||
if errorlevel 1 (
|
||||
type "%aLogFileSmpl%"
|
||||
popd
|
||||
pause
|
||||
exit /B
|
||||
goto :eof
|
||||
)
|
||||
type "%aLogFileSmpl%"
|
||||
)
|
||||
|
||||
if ["%toInstall%"] == ["1"] (
|
||||
mingw32-make install 2>> "%aLogFileSmpl%"
|
||||
if errorlevel 1 (
|
||||
type "%aLogFileSmpl%"
|
||||
popd
|
||||
pause
|
||||
exit /B
|
||||
goto :eof
|
||||
)
|
||||
)
|
||||
popd
|
||||
|
||||
goto :eof
|
||||
|
||||
:computeDuration
|
||||
set "aTimeFrom=%~1"
|
||||
set "aTimeEnd=%~2"
|
||||
rem handle time before 10AM (win10 - remove empty space at the beginning)
|
||||
if "%aTimeFrom:~0,1%"==" " set "aTimeFrom=%aTimeFrom:~1%"
|
||||
if "%aTimeEnd:~0,1%"==" " set "aTimeEnd=%aTimeEnd:~1%"
|
||||
rem handle time before 10AM (win7 - add 0 at the beginning)
|
||||
if "%aTimeFrom:~1,1%"==":" set "aTimeFrom=0%aTimeFrom%"
|
||||
if "%aTimeEnd:~1,1%"==":" set "aTimeEnd=0%aTimeEnd%"
|
||||
rem convert hours:minutes:seconds:ms into duration
|
||||
set /A aTimeFrom=(1%aTimeFrom:~0,2%-100)*360000 + (1%aTimeFrom:~3,2%-100)*6000 + (1%aTimeFrom:~6,2%-100)*100 + (1%aTimeFrom:~9,2%-100)
|
||||
set /A aTimeEnd= (1%aTimeEnd:~0,2%-100)*360000 + (1%aTimeEnd:~3,2%-100)*6000 + (1%aTimeEnd:~6,2%-100)*100 + (1%aTimeEnd:~9,2%-100)
|
||||
set /A aDurTotalSec=%aTimeEnd%-%aTimeFrom%
|
||||
if %aTimeEnd% LSS %aTimeFrom% set set /A aDurTotalSec=%aTimeFrom%-%aTimeEnd%
|
||||
set /A aDurHH=%aDurTotalSec% / 360000
|
||||
set /A aDurMM=(%aDurTotalSec% - %aDurHH%*360000) / 6000
|
||||
set /A aDurSS=(%aDurTotalSec% - %aDurHH%*360000 - %aDurMM%*6000) / 100
|
||||
if %aDurHH% LSS 10 set aDurHH=0%aDurHH%
|
||||
if %aDurMM% LSS 10 set aDurMM=0%aDurMM%
|
||||
if %aDurSS% LSS 10 set aDurSS=0%aDurSS%
|
||||
|
||||
set "DURATION=%aDurHH%:%aDurMM%:%aDurSS%"
|
||||
goto :eof
|
126
adm/scripts/wasm_build.sh
Executable file
@@ -0,0 +1,126 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Auxiliary script for semi-automated building of OCCT for WASM platform.
|
||||
# wasm_custom.sh should be configured with paths to CMake, 3rd-parties and Emscripten SDK.
|
||||
# FreeType should be specified as mandatory dependency.
|
||||
|
||||
export aScriptDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||
export aSrcRoot="${aScriptDir}/../.."
|
||||
export aBuildRoot=work
|
||||
|
||||
export aNbJobs=${NUMBER_OF_PROCESSORS}
|
||||
|
||||
export toCMake=1
|
||||
export toClean=0
|
||||
export toMake=1
|
||||
export toInstall=1
|
||||
|
||||
export BUILD_ModelingData=ON
|
||||
export BUILD_ModelingAlgorithms=ON
|
||||
export BUILD_Visualization=ON
|
||||
export BUILD_ApplicationFramework=ON
|
||||
export BUILD_DataExchange=ON
|
||||
|
||||
if [ -f "${aScriptDir}/wasm_custom.sh" ] ; then
|
||||
. "${aScriptDir}/wasm_custom.sh"
|
||||
fi
|
||||
|
||||
. "${EMSDK_ROOT}/emsdk_env.sh"
|
||||
|
||||
export aToolchain="${EMSDK}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake"
|
||||
|
||||
export aGitBranch=`git symbolic-ref --short HEAD`
|
||||
|
||||
echo "Compilation OCCT branch : $aGitBranch"
|
||||
|
||||
export aPlatformAndCompiler=wasm
|
||||
|
||||
export aWorkDir="${aSrcRoot}/${aBuildRoot}/${aPlatformAndCompiler}-make"
|
||||
if [ ! -d "${aWorkDir}" ]; then
|
||||
mkdir -p "${aWorkDir}"
|
||||
fi
|
||||
|
||||
export aDestDir="${aSrcRoot}/${aBuildRoot}/${aPlatformAndCompiler}"
|
||||
if [ ! -d "${aDestDir}" ]; then
|
||||
mkdir -p "${aDestDir}"
|
||||
fi
|
||||
|
||||
export aLogFile="${aSrcRoot}/${aBuildRoot}/build-${aPlatformAndCompiler}.log"
|
||||
if [ -f "${aLogFile}" ]; then
|
||||
rm "${aLogFile}"
|
||||
fi
|
||||
|
||||
echo Start building OCCT for ${aPlatformAndCompiler}
|
||||
echo Start building OCCT for ${aPlatformAndCompiler}>> "${aLogFile}"
|
||||
|
||||
pushd "${aWorkDir}"
|
||||
pwd
|
||||
echo toCMake=${toCMake}
|
||||
if [ "${toCMake}" = "1" ]; then
|
||||
|
||||
echo "Configuring OCCT for WASM..."
|
||||
echo cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${aToolchain}" \
|
||||
-DCMAKE_BUILD_TYPE:STRING="Release" \
|
||||
-DBUILD_LIBRARY_TYPE:STRING="Static" \
|
||||
-DINSTALL_DIR:PATH="${aDestDir}" \
|
||||
-DINSTALL_DIR_INCLUDE:STRING="inc" \
|
||||
-DINSTALL_DIR_RESOURCE:STRING="src" \
|
||||
-D3RDPARTY_FREETYPE_DIR:PATH="$aFreeType" \
|
||||
-D3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2:FILEPATH="$aFreeType/include" \
|
||||
-D3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build:FILEPATH="$aFreeType/include" \
|
||||
-DBUILD_MODULE_FoundationClasses:BOOL="ON" \
|
||||
-DBUILD_MODULE_ModelingData:BOOL="${BUILD_ModelingData}" \
|
||||
-DBUILD_MODULE_ModelingAlgorithms:BOOL="${BUILD_ModelingAlgorithms}" \
|
||||
-DBUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \
|
||||
-DBUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \
|
||||
-DBUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \
|
||||
-DBUILD_MODULE_Draw:BOOL="OFF" \
|
||||
-DBUILD_DOC_Overview:BOOL="OFF" "${aSrcRoot}"
|
||||
|
||||
cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${aToolchain}" \
|
||||
-DCMAKE_BUILD_TYPE:STRING="Release" \
|
||||
-DBUILD_LIBRARY_TYPE:STRING="Static" \
|
||||
-DINSTALL_DIR:PATH="${aDestDir}" \
|
||||
-DINSTALL_DIR_INCLUDE:STRING="inc" \
|
||||
-DINSTALL_DIR_RESOURCE:STRING="src" \
|
||||
-D3RDPARTY_FREETYPE_DIR:PATH="$aFreeType" \
|
||||
-D3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2:FILEPATH="$aFreeType/include" \
|
||||
-D3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build:FILEPATH="$aFreeType/include" \
|
||||
-DBUILD_MODULE_FoundationClasses:BOOL="ON" \
|
||||
-DBUILD_MODULE_ModelingData:BOOL="${BUILD_ModelingData}" \
|
||||
-DBUILD_MODULE_ModelingAlgorithms:BOOL="${BUILD_ModelingAlgorithms}" \
|
||||
-DBUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \
|
||||
-DBUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \
|
||||
-DBUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \
|
||||
-DBUILD_MODULE_Draw:BOOL="OFF" \
|
||||
-DBUILD_DOC_Overview:BOOL="OFF" "${aSrcRoot}"
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Problem during configuration"
|
||||
popd
|
||||
exit 1
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [ "${toClean}" = "1" ]; then
|
||||
make clean
|
||||
fi
|
||||
|
||||
if [ "${toMake}" = "1" ]; then
|
||||
echo Building...
|
||||
make -j ${aNbJobs} 2>> "${aLogFile}"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Problem during make operation"
|
||||
popd
|
||||
exit 1
|
||||
fi
|
||||
echo "${aLogFile}"
|
||||
fi
|
||||
|
||||
if [ "${toInstall}" = "1" ]; then
|
||||
echo Installing into ${aDestDir}
|
||||
make install 2>> "${aLogFile}"
|
||||
fi
|
||||
|
||||
popd
|
29
adm/scripts/wasm_custom.bat.template
Normal file
@@ -0,0 +1,29 @@
|
||||
rem Environment configuration template for wasm_build.bat (to be renamed as wasm_custom.bat)
|
||||
set "EMSDK_ROOT=%aCasSrc%\..\emsdk"
|
||||
set "aFreeType=%aCasSrc%\..\3rdparty\freetype-2.7.1-wasm32"
|
||||
rem set "aRapidJson=%aCasSrc%\..\3rdparty\rapidjson-1.1.0"
|
||||
rem set "aDraco=%aCasSrc%\..\3rdparty\draco-1.4.1-wasm32"
|
||||
rem set "aCmakeBin=%ProgramW6432%\CMake\bin"
|
||||
|
||||
rem Uncomment to customize building steps
|
||||
rem set "aBuildRoot=work"
|
||||
rem set "toCMake=1"
|
||||
rem set "toClean=1"
|
||||
rem set "toMake=1"
|
||||
rem set "toInstall=1"
|
||||
rem set "toPack=1"
|
||||
rem set "toDebug=1"
|
||||
rem set "toBuildSample=1"
|
||||
rem Source map base (should point to server where C++ sources will be copied)
|
||||
rem enables -g4 debug building option for WebGL sample and allows navigating C++ source code within JavaScript debugger.
|
||||
rem set "sourceMapBase=http://localhost:9090/"
|
||||
|
||||
rem set "BUILD_ModelingData=ON"
|
||||
rem set "BUILD_ModelingAlgorithms=ON"
|
||||
rem set "BUILD_Visualization=ON"
|
||||
rem set "BUILD_ApplicationFramework=ON"
|
||||
rem set "BUILD_DataExchange=ON"
|
||||
|
||||
rem set "USE_RAPIDJSON=ON"
|
||||
rem set "USE_DRACO=ON"
|
||||
rem set "USE_PTHREADS=ON"
|
16
adm/scripts/wasm_custom.sh.template
Normal file
@@ -0,0 +1,16 @@
|
||||
# environment configuration template for occ_build_wasm.sh (to be renamed as wasm_custom_env.sh)
|
||||
export aFreeType="$aSrcRoot/../3rdparty/freetype-2.7.1-wasm"
|
||||
export EMSDK_ROOT="$aSrcRoot/../emsdk"
|
||||
|
||||
# Uncomment to customize building steps
|
||||
#export aBuildRoot=work
|
||||
#export toCMake=1
|
||||
#export toClean=0
|
||||
#export toMake=1
|
||||
#export toInstall=1
|
||||
|
||||
#export BUILD_ModelingData=ON
|
||||
#export BUILD_ModelingAlgorithms=ON
|
||||
#export BUILD_Visualization=ON
|
||||
#export BUILD_ApplicationFramework=ON
|
||||
#export BUILD_DataExchange=ON
|
117
adm/scripts/wasm_sample_build.bat
Normal file
@@ -0,0 +1,117 @@
|
||||
@echo OFF
|
||||
|
||||
rem Auxiliary script for semi-automated building of WebGL sample.
|
||||
rem wasm_custom.bat should be configured with paths to CMake, 3rd-parties and Emscripten SDK.
|
||||
rem FreeType should be specified as mandatory dependency.
|
||||
|
||||
set "aCasSrc=%~dp0..\.."
|
||||
set "aBuildRoot=%aCasSrc%\work"
|
||||
|
||||
set aNbJobs=%NUMBER_OF_PROCESSORS%
|
||||
|
||||
rem Paths to 3rd-party tools and libraries
|
||||
set "aCmakeBin="
|
||||
set "aFreeType="
|
||||
|
||||
rem Build stages to perform
|
||||
set "toCMake=1"
|
||||
set "toClean=0"
|
||||
set "toMake=1"
|
||||
set "toInstall=1"
|
||||
set "toDebug=0"
|
||||
set "sourceMapBase="
|
||||
|
||||
set "USE_PTHREADS=OFF"
|
||||
|
||||
rem Configuration file
|
||||
if exist "%~dp0wasm_custom.bat" call "%~dp0wasm_custom.bat"
|
||||
|
||||
call "%EMSDK_ROOT%\emsdk_env.bat"
|
||||
set "aToolchain=%EMSDK%/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake"
|
||||
if not ["%aCmakeBin%"] == [""] ( set "PATH=%aCmakeBin%;%PATH%" )
|
||||
|
||||
set "aBuildType=Release"
|
||||
set "aBuildTypePrefix="
|
||||
set "anExtraCxxFlags="
|
||||
if /I ["%USE_PTHREADS%"] == ["ON"] (
|
||||
set "anExtraCxxFlags=-pthread"
|
||||
set "aBuildTypePrefix=%aBuildTypePrefix%-pthread"
|
||||
)
|
||||
if ["%toDebug%"] == ["1"] (
|
||||
set "aBuildType=Debug"
|
||||
set "aBuildTypePrefix=%aBuildTypePrefix%-debug"
|
||||
)
|
||||
|
||||
call :cmakeGenerate
|
||||
if not ["%1"] == ["-nopause"] (
|
||||
pause
|
||||
)
|
||||
|
||||
goto :eof
|
||||
|
||||
:cmakeGenerate
|
||||
set "aPlatformAndCompiler=wasm32%aBuildTypePrefix%"
|
||||
set "aDestDirOcct=%aBuildRoot%\occt-%aPlatformAndCompiler%"
|
||||
set "aSrcRootSmpl=%aCasSrc%\samples\webgl"
|
||||
set "aWorkDirSmpl=%aBuildRoot%\sample-%aPlatformAndCompiler%-make"
|
||||
set "aDestDirSmpl=%aBuildRoot%\sample-%aPlatformAndCompiler%"
|
||||
set "aLogFileSmpl=%aBuildRoot%\sample-%aPlatformAndCompiler%-build.log"
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
if ["%toClean%"] == ["1"] (
|
||||
rmdir /S /Q %aWorkDirSmpl%"
|
||||
rmdir /S /Q %aDestDirSmpl%"
|
||||
)
|
||||
)
|
||||
if not exist "%aWorkDirSmpl%" ( mkdir "%aWorkDirSmpl%" )
|
||||
if exist "%aLogFileSmpl%" ( del "%aLogFileSmpl%" )
|
||||
|
||||
pushd "%aWorkDirSmpl%"
|
||||
|
||||
if ["%toCMake%"] == ["1"] (
|
||||
cmake -G "MinGW Makefiles" ^
|
||||
-D CMAKE_TOOLCHAIN_FILE:FILEPATH="%aToolchain%" ^
|
||||
-D CMAKE_BUILD_TYPE:STRING="%aBuildType%" ^
|
||||
-D CMAKE_CXX_FLAGS="%anExtraCxxFlags%" ^
|
||||
-D CMAKE_INSTALL_PREFIX:PATH="%aDestDirSmpl%" ^
|
||||
-D SOURCE_MAP_BASE:STRING="%sourceMapBase%" ^
|
||||
-D OpenCASCADE_DIR:PATH="%aDestDirOcct%/lib/cmake/opencascade" ^
|
||||
-D freetype_DIR:PATH="%aFreeType%/lib/cmake/freetype" ^
|
||||
"%aSrcRootSmpl%"
|
||||
|
||||
if errorlevel 1 (
|
||||
popd
|
||||
pause
|
||||
exit /B
|
||||
goto :eof
|
||||
)
|
||||
)
|
||||
if ["%toClean%"] == ["1"] (
|
||||
mingw32-make clean
|
||||
)
|
||||
|
||||
if ["%toMake%"] == ["1"] (
|
||||
echo Building...
|
||||
mingw32-make -j %aNbJobs% 2>> "%aLogFileSmpl%"
|
||||
if errorlevel 1 (
|
||||
type "%aLogFileSmpl%"
|
||||
popd
|
||||
pause
|
||||
exit /B
|
||||
goto :eof
|
||||
)
|
||||
type "%aLogFileSmpl%"
|
||||
)
|
||||
|
||||
if ["%toInstall%"] == ["1"] (
|
||||
mingw32-make install 2>> "%aLogFileSmpl%"
|
||||
if errorlevel 1 (
|
||||
type "%aLogFileSmpl%"
|
||||
popd
|
||||
pause
|
||||
exit /B
|
||||
goto :eof
|
||||
)
|
||||
)
|
||||
popd
|
||||
|
||||
goto :eof
|
@@ -21,6 +21,7 @@ set (OpenCASCADE_DEVELOPMENT_VERSION "@OCC_VERSION_DEVELOPMENT@")
|
||||
# This is made to support different locations of CMake files:
|
||||
# - in UNIX style: $INSTALL_DIR/lib/cmake/opencascade-<version>
|
||||
# - in Windows style: $INSTALL_DIR/cmake
|
||||
# - in Android style: $INSTALL_DIR/libs/$CMAKE_ANDROID_ARCH_ABI/cmake/opencascade-<version>
|
||||
get_filename_component (OpenCASCADE_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH)
|
||||
if (OpenCASCADE_INSTALL_PREFIX MATCHES "/cmake$")
|
||||
@@ -29,6 +30,10 @@ endif()
|
||||
if (OpenCASCADE_INSTALL_PREFIX MATCHES "/lib$")
|
||||
get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH)
|
||||
endif()
|
||||
if (OpenCASCADE_INSTALL_PREFIX MATCHES "/libs/${CMAKE_ANDROID_ARCH_ABI}$")
|
||||
get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH)
|
||||
get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH)
|
||||
endif()
|
||||
|
||||
# Set OpenCASCADE paths to headers, binaries, libraries, resources, tests, samples, data
|
||||
set (OpenCASCADE_BINARY_DIR "${OpenCASCADE_INSTALL_PREFIX}/@INSTALL_DIR_BIN@")
|
||||
|
40
adm/templates/build.bat
Normal file
@@ -0,0 +1,40 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
rem Setup environment
|
||||
call "%~dp0env.bat" %1 %2 %3
|
||||
|
||||
rem Define path to project file
|
||||
set "PRJFILE=%~dp0OCCT.sln"
|
||||
|
||||
if "%VCVER%" == "vc8" (
|
||||
call "%VS80COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc9" (
|
||||
call "%VS90COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc10" (
|
||||
call "%VS100COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc11" (
|
||||
call "%VS110COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc12" (
|
||||
call "%VS120COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc14" (
|
||||
call "%VS140COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc141" (
|
||||
call "%VS141COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc142" (
|
||||
call "%VS142COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc143" (
|
||||
call "%VS143COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else (
|
||||
echo Error: wrong VS identifier
|
||||
exit /B
|
||||
)
|
||||
|
||||
set BUILDCONFIG=Release
|
||||
if "%CASDEB%"=="i" set BUILDCONFIG=RelWithDebInfo
|
||||
if "%CASDEB%"=="d" set BUILDCONFIG=Debug
|
||||
if "%ARCH%"=="32" set PLATFORM=win32
|
||||
if "%ARCH%"=="64" set PLATFORM=x64
|
||||
|
||||
msbuild "%PRJFILE%" /m /fl /flp:LogFile="build_%BUILDCONFIG%.log" /p:Configuration=%BUILDCONFIG% /p:Platform=%PLATFORM% /p:BuildProjectReferences=false
|
||||
endlocal
|
@@ -1,11 +1,12 @@
|
||||
#!/bin/bash
|
||||
# This file has been generated by genproj.tcl script from CASROOT/adm/templates/codeblocks.sh
|
||||
|
||||
export TARGET="cbp"
|
||||
|
||||
source ./env.sh "$1" "$TARGET"
|
||||
|
||||
if [ -e "/Applications/CodeBlocks.app/Contents/MacOS/CodeBlocks" ]; then
|
||||
/Applications/CodeBlocks.app/Contents/MacOS/CodeBlocks ./adm/$WOKSTATION/cbp/OCCT.workspace
|
||||
/Applications/CodeBlocks.app/Contents/MacOS/CodeBlocks ./adm/$WOKSTATION/cbp/__SOLUTION__.workspace
|
||||
else
|
||||
codeblocks ./adm/$WOKSTATION/cbp/OCCT.workspace
|
||||
codeblocks ./adm/$WOKSTATION/cbp/__SOLUTION__.workspace
|
||||
fi
|
||||
|
@@ -11,9 +11,10 @@ if /I "%VCVER%" == "@COMPILER@" (
|
||||
set "FREEIMAGE_DIR=@3RDPARTY_FREEIMAGE_DLL_DIRS@"
|
||||
set "EGL_DIR=@3RDPARTY_EGL_DLL_DIRS@"
|
||||
set "GLES2_DIR=@3RDPARTY_GLES2_DLL_DIRS@"
|
||||
set "TBB_DIR=@3RDPARTY_TBB_DLL_DIR@"
|
||||
set "TBB_DIR=@3RDPARTY_TBB12_DLL_DIR@"
|
||||
set "VTK_DIR=@3RDPARTY_VTK_DLL_DIR@"
|
||||
set "FFMPEG_DIR=@3RDPARTY_FFMPEG_DLL_DIR@"
|
||||
set "OPENVR_DIR=@3RDPARTY_OPENVR_DLL_DIRS@"
|
||||
|
||||
if not "@3RDPARTY_QT_DIR@" == "" (
|
||||
set "QTDIR=@3RDPARTY_QT_DIR@"
|
||||
@@ -39,7 +40,7 @@ if /I "%VCVER%" == "@COMPILER@" (
|
||||
set "CSF_OCCTTestsPath=@CMAKE_SOURCE_DIR@/tests"
|
||||
set "CSF_OCCTDocPath=@CMAKE_SOURCE_DIR@/doc"
|
||||
|
||||
rem for compatability with external application using CASROOT
|
||||
rem for compatibility with external application using CASROOT
|
||||
set "CASROOT=@CMAKE_SOURCE_DIR@"
|
||||
)
|
||||
)
|
||||
|
@@ -9,7 +9,7 @@ if [ "$1" == "@BIN_LETTER@" ]; then
|
||||
export TK_DIR="@3RDPARTY_TK_LIBRARY_DIR@"
|
||||
export FREETYPE_DIR="@3RDPARTY_FREETYPE_LIBRARY_DIR@"
|
||||
export FREEIMAGE_DIR="@3RDPARTY_FREEIMAGE_LIBRARY_DIRS@"
|
||||
export TBB_DIR="@3RDPARTY_TBB_LIBRARY_DIR@"
|
||||
export TBB_DIR="@3RDPARTY_TBB12_LIBRARY_DIR@"
|
||||
export VTK_DIR="@3RDPARTY_VTK_LIBRARY_DIR@"
|
||||
export FFMPEG_DIR="@3RDPARTY_FFMPEG_LIBRARY_DIR@"
|
||||
|
||||
@@ -29,7 +29,7 @@ if [ "$1" == "@BIN_LETTER@" ]; then
|
||||
export CSF_OCCTTestsPath="@CMAKE_SOURCE_DIR@/tests"
|
||||
export CSF_OCCTDocPath="@CMAKE_SOURCE_DIR@/doc"
|
||||
|
||||
# for compatability with external application using CASROOT
|
||||
# for compatibility with external application using CASROOT
|
||||
export CASROOT="@CMAKE_SOURCE_DIR@"
|
||||
fi
|
||||
fi
|
||||
|
@@ -10,12 +10,13 @@ if /I "%VCVER%" == "@COMPILER@" (
|
||||
set "TCL_DIR=@USED_3RDPARTY_TCL_DIR@"
|
||||
set "TK_DIR=@USED_3RDPARTY_TK_DIR@"
|
||||
set "FREETYPE_DIR=@USED_3RDPARTY_FREETYPE_DIR@"
|
||||
set "FREEIMAGE_DIR=@USED_3RDPARTY_FREEIMAGE_DIRS@"
|
||||
set "FREEIMAGE_DIR=@USED_3RDPARTY_FREEIMAGE_DIR@"
|
||||
set "EGL_DIR=@USED_3RDPARTY_EGL_DIRS@"
|
||||
set "GLES2_DIR=@USED_3RDPARTY_GLES2_DIRS@"
|
||||
set "TBB_DIR=@USED_3RDPARTY_TBB_DIR@"
|
||||
set "VTK_DIR=@USED_3RDPARTY_VTK_DIR@"
|
||||
set "FFMPEG_DIR=@USED_3RDPARTY_FFMPEG_DIR@"
|
||||
set "OPENVR_DIR=@USED_3RDPARTY_OPENVR_DIR@"
|
||||
|
||||
if not "@USED_3RDPARTY_QT_DIR@" == "" (
|
||||
set "QTDIR=@USED_3RDPARTY_QT_DIR@"
|
||||
|
@@ -17,6 +17,8 @@ set "ARCH=64"
|
||||
set "VCVARS="
|
||||
set "HAVE_TBB=false"
|
||||
set "HAVE_OPENCL=false"
|
||||
set "HAVE_TK=true"
|
||||
set "HAVE_FREETYPE=true"
|
||||
set "HAVE_FREEIMAGE=false"
|
||||
set "HAVE_FFMPEG=false"
|
||||
set "HAVE_VTK=false"
|
||||
@@ -25,11 +27,22 @@ set "HAVE_D3D=false"
|
||||
set "HAVE_ZLIB=false"
|
||||
set "HAVE_LIBLZMA=false"
|
||||
set "HAVE_RAPIDJSON=false"
|
||||
set "HAVE_DRACO=false"
|
||||
set "HAVE_OPENVR=false"
|
||||
set "HAVE_E57=false"
|
||||
set "CSF_OPT_INC="
|
||||
set "CSF_OPT_LIB32="
|
||||
set "CSF_OPT_LIB64="
|
||||
set "CSF_OPT_BIN32="
|
||||
set "CSF_OPT_BIN64="
|
||||
set "CSF_OPT_LIB32D="
|
||||
set "CSF_OPT_LIB64D="
|
||||
set "CSF_OPT_BIN32D="
|
||||
set "CSF_OPT_BIN64D="
|
||||
set "CSF_OPT_LIB32I="
|
||||
set "CSF_OPT_LIB64I="
|
||||
set "CSF_OPT_BIN32I="
|
||||
set "CSF_OPT_BIN64I="
|
||||
set "CSF_DEFINES=%CSF_DEFINES_EXTRA%"
|
||||
|
||||
if not ["%CASROOT%"] == [""] if exist "%SCRIPTROOT%\%CASROOT%" set "CASROOT=%SCRIPTROOT%\%CASROOT%"
|
||||
@@ -54,9 +67,9 @@ rem Decode VCVER variable and define related ones:
|
||||
rem
|
||||
rem VCFMT - "vc" followed by full version number of Visual Studio toolset
|
||||
rem (same as VCVER without optional suffix "-uwp")
|
||||
rem VCLIB - name of folder contining binaries
|
||||
rem VCLIB - name of folder containing binaries
|
||||
rem (same as VCVER except without third version in number)
|
||||
rem VCPROP - name of required Visual Studion Workload (starting with VS 2017)
|
||||
rem VCPROP - name of required Visual Studio Workload (starting with VS 2017)
|
||||
rem
|
||||
rem Note that for VS before 2015 (vc14) always
|
||||
rem VCFMT=VCLIB=VCVER and VCPROP=NativeDesktop
|
||||
@@ -76,6 +89,9 @@ if "%VCVER:~-4%" == "-uwp" (
|
||||
set VCLIB=%VCLIB%-uwp
|
||||
set VCPROP=Universal
|
||||
)
|
||||
if "%VCFMT%" == "vclang" (
|
||||
set VCLIB=vc14
|
||||
)
|
||||
rem echo VCVER=%VCVER% VCFMT=%VCFMT% VCLIB=%VCLIB% VCPROP=%VCPROP%
|
||||
|
||||
rem ----- Parsing of Visual Studio platform -----
|
||||
@@ -101,6 +117,18 @@ if not "%DevEnvDir%" == "" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[15.0,15.99]" -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "DevEnvDir=%%i\Common7\IDE\"
|
||||
)
|
||||
) else if /I "%VCFMT%" == "vc142" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[16.0,16.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "DevEnvDir=%%i\Common7\IDE\"
|
||||
)
|
||||
) else if /I "%VCFMT%" == "vc143" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[17.0,17.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "DevEnvDir=%%i\Common7\IDE\"
|
||||
)
|
||||
) else if /I "%VCFMT%" == "vclang" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[16.0,17.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "DevEnvDir=%%i\Common7\IDE\"
|
||||
)
|
||||
) else if /I "%VCFMT%" == "gcc" (
|
||||
rem MinGW
|
||||
) else (
|
||||
@@ -112,6 +140,9 @@ if not "%DevEnvDir%" == "" (
|
||||
echo vc12 = VS 2013 ^(SP3^)
|
||||
echo vc14 = VS 2015
|
||||
echo vc141 = VS 2017
|
||||
echo vc142 = VS 2019
|
||||
echo vc143 = VS 2022
|
||||
echo vclang = VS 2019 with ClangCL toolset
|
||||
exit /B
|
||||
)
|
||||
|
||||
@@ -136,6 +167,21 @@ if /I "%VCFMT%" == "vc9" (
|
||||
set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
)
|
||||
set "VCPlatformToolSet=v141"
|
||||
) else if /I "%VCFMT%" == "vc142" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[16.0,16.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
)
|
||||
set "VCPlatformToolSet=v142"
|
||||
) else if /I "%VCFMT%" == "vc143" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[17.0,17.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
)
|
||||
set "VCPlatformToolSet=v143"
|
||||
) else if /I "%VCFMT%" == "vclang" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[16.0,17.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
)
|
||||
set "VCPlatformToolSet=ClangCL"
|
||||
) else if /I "%VCFMT%" == "gcc" (
|
||||
rem MinGW
|
||||
) else (
|
||||
@@ -143,28 +189,33 @@ if /I "%VCFMT%" == "vc9" (
|
||||
exit /B
|
||||
)
|
||||
|
||||
set "CSF_OPT_LIB32D=%CSF_OPT_LIB32%"
|
||||
set "CSF_OPT_LIB64D=%CSF_OPT_LIB64%"
|
||||
set "CSF_OPT_BIN32D=%CSF_OPT_BIN32%"
|
||||
set "CSF_OPT_BIN64D=%CSF_OPT_BIN64%"
|
||||
set "CSF_OPT_LIB32I=%CSF_OPT_LIB32%"
|
||||
set "CSF_OPT_LIB64I=%CSF_OPT_LIB64%"
|
||||
set "CSF_OPT_BIN32I=%CSF_OPT_BIN32%"
|
||||
set "CSF_OPT_BIN64I=%CSF_OPT_BIN64%"
|
||||
if ["%CSF_OPT_LIB32D%"] == [""] set "CSF_OPT_LIB32D=%CSF_OPT_LIB32%"
|
||||
if ["%CSF_OPT_LIB64D%"] == [""] set "CSF_OPT_LIB64D=%CSF_OPT_LIB64%"
|
||||
if ["%CSF_OPT_BIN32D%"] == [""] set "CSF_OPT_BIN32D=%CSF_OPT_BIN32%"
|
||||
if ["%CSF_OPT_BIN64D%"] == [""] set "CSF_OPT_BIN64D=%CSF_OPT_BIN64%"
|
||||
if ["%CSF_OPT_LIB32I%"] == [""] set "CSF_OPT_LIB32I=%CSF_OPT_LIB32%"
|
||||
if ["%CSF_OPT_LIB64I%"] == [""] set "CSF_OPT_LIB64I=%CSF_OPT_LIB64%"
|
||||
if ["%CSF_OPT_BIN32I%"] == [""] set "CSF_OPT_BIN32I=%CSF_OPT_BIN32%"
|
||||
if ["%CSF_OPT_BIN64I%"] == [""] set "CSF_OPT_BIN64I=%CSF_OPT_BIN64%"
|
||||
|
||||
rem ----- Optional 3rd-parties should be enabled by HAVE macros -----
|
||||
set "CSF_OPT_CMPL="
|
||||
set "PRODUCTS_DEFINES="
|
||||
if ["%HAVE_TBB%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_TBB" & set "CSF_DEFINES=HAVE_TBB;%CSF_DEFINES%"
|
||||
if ["%HAVE_OPENCL%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_OPENCL" & set "CSF_DEFINES=HAVE_OPENCL;%CSF_DEFINES%"
|
||||
if ["%HAVE_TK%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_TK" & set "CSF_DEFINES=HAVE_TK;%CSF_DEFINES%"
|
||||
if ["%HAVE_FREETYPE%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_FREEIMAGE" & set "CSF_DEFINES=HAVE_FREETYPE;%CSF_DEFINES%"
|
||||
if ["%HAVE_FREEIMAGE%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_FREEIMAGE" & set "CSF_DEFINES=HAVE_FREEIMAGE;%CSF_DEFINES%"
|
||||
if ["%HAVE_FFMPEG%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_FFMPEG" & set "CSF_DEFINES=HAVE_FFMPEG;%CSF_DEFINES%"
|
||||
if ["%HAVE_VTK%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_VTK" & set "CSF_DEFINES=HAVE_VTK;%CSF_DEFINES%"
|
||||
if ["%HAVE_GLES2%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_GLES2" & set "CSF_DEFINES=HAVE_GLES2;%CSF_DEFINES%"
|
||||
if ["%HAVE_GLES2%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_GLES2_EXT" & set "CSF_DEFINES=HAVE_GLES2_EXT;%CSF_DEFINES%"
|
||||
if ["%HAVE_D3D%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_D3D" & set "CSF_DEFINES=HAVE_D3D;%CSF_DEFINES%"
|
||||
if ["%HAVE_ZLIB%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_ZLIB" & set "CSF_DEFINES=HAVE_ZLIB;%CSF_DEFINES%"
|
||||
if ["%HAVE_LIBLZMA%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_LIBLZMA" & set "CSF_DEFINES=HAVE_LIBLZMA;%CSF_DEFINES%"
|
||||
if ["%HAVE_RAPIDJSON%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_RAPIDJSON" & set "CSF_DEFINES=HAVE_RAPIDJSON;%CSF_DEFINES%"
|
||||
if ["%HAVE_DRACO%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_DRACO" & set "CSF_DEFINES=HAVE_DRACO;%CSF_DEFINES%"
|
||||
if ["%HAVE_OPENVR%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_OPENVR" & set "CSF_DEFINES=HAVE_OPENVR;%CSF_DEFINES%"
|
||||
if ["%HAVE_E57%"] == ["true"] set "PRODUCTS_DEFINES=%PRODUCTS_DEFINES% -DHAVE_E57" & set "CSF_DEFINES=HAVE_E57;%CSF_DEFINES%"
|
||||
|
||||
rem Eliminate VS warning
|
||||
if ["%CSF_DEFINES%"] == [""] set "CSF_DEFINES=;"
|
||||
@@ -172,20 +223,20 @@ if ["%CSF_DEFINES%"] == [""] set "CSF_DEFINES=;"
|
||||
rem ----- Optional 3rd-parties should be enabled by HAVE macros -----
|
||||
if not ["%PRODUCTS_DEFINES%"] == [""] set "CSF_OPT_CMPL=%CSF_OPT_CMPL% %PRODUCTS_DEFINES%"
|
||||
|
||||
rem ----- Colect 3rd-parties additional include paths into compiler options -----
|
||||
rem ----- Collect 3rd-parties additional include paths into compiler options -----
|
||||
for %%a in ("%CSF_OPT_INC:;=";"%") do (
|
||||
set "anItem=%%~a"
|
||||
if not ["%%~a"] == [""] call :concatCmplInc %%~a
|
||||
)
|
||||
|
||||
rem ----- Colect 3rd-parties additional library paths (32-bit) into linker options -----
|
||||
rem ----- Collect 3rd-parties additional library paths (32-bit) into linker options -----
|
||||
set "OPT_LIB32="
|
||||
for %%a in ("%CSF_OPT_LIB32:;=";"%") do (
|
||||
set "anItem=%%~a"
|
||||
if not ["%%~a"] == [""] call :concatLib32 %%~a
|
||||
)
|
||||
|
||||
rem ----- Colect 3rd-parties additional library paths (64-bit) into linker options -----
|
||||
rem ----- Collect 3rd-parties additional library paths (64-bit) into linker options -----
|
||||
set "OPT_LIB64="
|
||||
for %%a in ("%CSF_OPT_LIB64:;=";"%") do (
|
||||
set "anItem=%%~a"
|
||||
@@ -217,7 +268,7 @@ if ["%CASDEB%"] == ["d"] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64D%;%PAT
|
||||
if ["%CASDEB%"] == ["i"] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32I%;%PATH%"
|
||||
if ["%CASDEB%"] == ["i"] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64I%;%PATH%"
|
||||
|
||||
rem ----- Set envoronment variables used by OCCT -----
|
||||
rem ----- Set environment variables used by OCCT -----
|
||||
set CSF_LANGUAGE=us
|
||||
set MMGT_CLEAR=1
|
||||
set "CSF_SHMessage=%CSF_OCCTResourcePath%\SHMessage"
|
||||
|
@@ -70,6 +70,14 @@ if not "%DevEnvDir%" == "" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[15.0,15.99]" -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "DevEnvDir=%%i\Common7\IDE\"
|
||||
)
|
||||
) else if /I "%VCFMT%" == "vc142" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[16.0,16.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "DevEnvDir=%%i\Common7\IDE\"
|
||||
)
|
||||
) else if /I "%VCFMT%" == "vc143" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[17.0,17.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "DevEnvDir=%%i\Common7\IDE\"
|
||||
)
|
||||
) else if /I "%VCFMT%" == "gcc" (
|
||||
rem MinGW
|
||||
) else (
|
||||
@@ -98,6 +106,16 @@ if /I "%VCFMT%" == "vc9" (
|
||||
set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
)
|
||||
set "VCPlatformToolSet=v141"
|
||||
) else if /I "%VCFMT%" == "vc142" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[16.0,16.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
)
|
||||
set "VCPlatformToolSet=v142"
|
||||
) else if /I "%VCFMT%" == "vc143" (
|
||||
for /f "usebackq delims=" %%i in (`vswhere.exe -version "[17.0,17.99]" -latest -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
|
||||
set "VCVARS=%%i\VC\Auxiliary\Build\vcvarsall.bat"
|
||||
)
|
||||
set "VCPlatformToolSet=v142"
|
||||
) else if /I "%VCFMT%" == "gcc" (
|
||||
rem MinGW
|
||||
) else (
|
||||
@@ -106,20 +124,27 @@ if /I "%VCFMT%" == "vc9" (
|
||||
exit
|
||||
)
|
||||
|
||||
rem ----- For compatability with external application using CASROOT -----
|
||||
rem ----- For compatibility with external application using CASROOT -----
|
||||
if ["%CASROOT%"] == [""] set "CASROOT=%SCRIPTROOT%"
|
||||
|
||||
rem ----- Define path to 3rdparty products -----
|
||||
set "THIRDPARTY_DIR=@3RDPARTY_DIR@"
|
||||
if ["%THIRDPARTY_DIR%"] == [""] set "THIRDPARTY_DIR=@3RDPARTY_DIR@"
|
||||
|
||||
if ["%ARCH%"] == ["32"] set VCARCH=x86
|
||||
if ["%ARCH%"] == ["64"] set VCARCH=amd64
|
||||
|
||||
if /I ["%1"] == ["vc141"] set "VCVER=vc14"
|
||||
if /I ["%1"] == ["vc142"] set "VCVER=vc14"
|
||||
if /I ["%1"] == ["vc143"] set "VCVER=vc14"
|
||||
|
||||
if exist "%CASROOT%\custom.bat" (
|
||||
call "%CASROOT%\custom.bat" %VCVER% %ARCH% %CASDEB%
|
||||
)
|
||||
|
||||
if not ["%QTDIR%"] == [""] (
|
||||
set "PATH=%QTDIR%/bin;%PATH%"
|
||||
set "QT_PLUGIN_PATH=%QTDIR%/plugins"
|
||||
)
|
||||
if not ["%TCL_DIR%"] == [""] set "PATH=%TCL_DIR%;%PATH%"
|
||||
if not ["%TK_DIR%"] == [""] set "PATH=%TK_DIR%;%PATH%"
|
||||
if not ["%FREETYPE_DIR%"] == [""] set "PATH=%FREETYPE_DIR%;%PATH%"
|
||||
@@ -129,7 +154,7 @@ if not ["%GLES2_DIR%"] == [""] set "PATH=%GLES2_DIR%;%PATH%"
|
||||
if not ["%TBB_DIR%"] == [""] set "PATH=%TBB_DIR%;%PATH%"
|
||||
if not ["%VTK_DIR%"] == [""] set "PATH=%VTK_DIR%;%PATH%"
|
||||
if not ["%FFMPEG_DIR%"] == [""] set "PATH=%FFMPEG_DIR%;%PATH%"
|
||||
if not ["%QTDIR%"] == [""] set "PATH=%QTDIR%/bin;%PATH%"
|
||||
if not ["%OPENVR_DIR%"] == [""] set "PATH=%OPENVR_DIR%;%PATH%"
|
||||
|
||||
rem ----- Set path to 3rd party and OCCT libraries -----
|
||||
if not "%CSF_OCCTBinPath%" == "" (
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
aScriptPath=${BASH_SOURCE%/*}; if [ -d "${aScriptPath}" ]; then cd "$aScriptPath"; fi; aScriptPath="$PWD";
|
||||
|
||||
# ----- For compatability with external application using CASROOT -----
|
||||
# ----- For compatibility with external application using CASROOT -----
|
||||
if [ "${CASROOT}" == "" ]; then
|
||||
export CASROOT="${aScriptPath}"
|
||||
fi
|
||||
|
@@ -2,13 +2,15 @@
|
||||
|
||||
aScriptPath=${BASH_SOURCE%/*}; if [ -d "${aScriptPath}" ]; then cd "$aScriptPath"; fi; aScriptPath="$PWD";
|
||||
|
||||
# ----- For compatability with external application using CASROOT -----
|
||||
# ----- For compatibility with external application using CASROOT -----
|
||||
if [ "${CASROOT}" == "" ]; then
|
||||
export CASROOT="@INSTALL_DIR@"
|
||||
fi
|
||||
|
||||
# ----- Define path to 3rdparty products -----
|
||||
export THIRDPARTY_DIR="@3RDPARTY_DIR@"
|
||||
if [ "${THIRDPARTY_DIR}" == "" ]; then
|
||||
export THIRDPARTY_DIR="@3RDPARTY_DIR@"
|
||||
fi
|
||||
|
||||
# ----- Read script arguments -----
|
||||
shopt -s nocasematch
|
||||
|
@@ -6,6 +6,8 @@ if exist "%~dp0custom.bat" (
|
||||
|
||||
call "@INSTALL_DIR_ABSOLUTE@\@INSTALL_DIR_SCRIPT@\env.bat" %1 %2 %3
|
||||
if /I ["%1"] == ["vc141"] set "VCVER=vc141"
|
||||
if /I ["%1"] == ["vc142"] set "VCVER=vc142"
|
||||
if /I ["%1"] == ["vc143"] set "VCVER=vc143"
|
||||
set "BIN_DIR=win%ARCH%\%VCVER%\bind"
|
||||
set "LIB_DIR=win%ARCH%\%VCVER%\libd"
|
||||
|
||||
@@ -26,3 +28,5 @@ if not "%QTDIR%" == "" (
|
||||
set "PATH=%QTDIR%/bin;%PATH%"
|
||||
set "QT_QPA_PLATFORM_PLUGIN_PATH=%QTDIR%\plugins\platforms"
|
||||
)
|
||||
|
||||
set "CSF_OCCTOverviewSampleCodePath=%~dp0..\..\OCCTOverview\code"
|
||||
|
@@ -20,3 +20,5 @@ export STATION=$host
|
||||
export RES_DIR=${aSamplePath}/${STATION}/res
|
||||
|
||||
export PATH=${QTDIR}/bin:${PATH}
|
||||
|
||||
export "CSF_OCCTOverviewSampleCodePath=${aSamplePath}/../../OCCTOverview/code"
|
||||
|
@@ -3,19 +3,30 @@
|
||||
# go to the script directory
|
||||
aScriptPath=${BASH_SOURCE%/*}; if [ -d "${aScriptPath}" ]; then cd "$aScriptPath"; fi; aScriptPath="$PWD";
|
||||
|
||||
aSystem=`uname -s`
|
||||
|
||||
# Reset values
|
||||
export CASROOT="__CASROOT__"
|
||||
export CASDEB=""
|
||||
export PRJFMT="";
|
||||
export HAVE_TBB="false";
|
||||
export HAVE_OPENCL="false";
|
||||
export HAVE_TK="true";
|
||||
export HAVE_FREETYPE="true";
|
||||
export HAVE_FREEIMAGE="false";
|
||||
export HAVE_FFMPEG="false";
|
||||
export HAVE_VTK="false";
|
||||
export HAVE_GLES2="false";
|
||||
export HAVE_ZLIB="false";
|
||||
export HAVE_LIBLZMA="false";
|
||||
export MACOSX_USE_GLX="false";
|
||||
export HAVE_RAPIDJSON="false";
|
||||
export HAVE_DRACO="false";
|
||||
export HAVE_OPENVR="false";
|
||||
export HAVE_E57="false";
|
||||
export HAVE_XLIB="true";
|
||||
if [ "$aSystem" == "Darwin" ]; then
|
||||
export HAVE_XLIB="false";
|
||||
fi
|
||||
export CSF_OPT_INC=""
|
||||
export CSF_OPT_LIB32=""
|
||||
export CSF_OPT_LIB64=""
|
||||
@@ -55,7 +66,6 @@ else
|
||||
export ARCH="64";
|
||||
fi
|
||||
|
||||
aSystem=`uname -s`
|
||||
if [ "$aSystem" == "Darwin" ]; then
|
||||
export WOKSTATION="mac";
|
||||
export ARCH="64";
|
||||
@@ -97,14 +107,19 @@ export CSF_OPT_CMPL=""
|
||||
# Optiona 3rd-parties should be enabled by HAVE macros
|
||||
if [ "$HAVE_TBB" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_TBB"; fi
|
||||
if [ "$HAVE_OPENCL" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_OPENCL"; fi
|
||||
if [ "$HAVE_TK" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_TK"; fi
|
||||
if [ "$HAVE_FREETYPE" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_FREETYPE"; fi
|
||||
if [ "$HAVE_FREEIMAGE" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_FREEIMAGE"; fi
|
||||
if [ "$HAVE_FFMPEG" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_FFMPEG"; fi
|
||||
if [ "$HAVE_GLES2" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_GLES2"; fi
|
||||
if [ "$HAVE_GLES2" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_GLES2_EXT"; fi
|
||||
if [ "$HAVE_VTK" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_VTK"; fi
|
||||
if [ "$HAVE_ZLIB" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_ZLIB"; fi
|
||||
if [ "$HAVE_LIBLZMA" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_LIBLZMA"; fi
|
||||
# Option to compile OCCT with X11 libs on Mac OS X
|
||||
if [ "$MACOSX_USE_GLX" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DMACOSX_USE_GLX"; fi
|
||||
if [ "$HAVE_RAPIDJSON" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_RAPIDJSON"; fi
|
||||
if [ "$HAVE_DRACO" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_DRACO"; fi
|
||||
if [ "$HAVE_OPENVR" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_OPENVR"; fi
|
||||
if [ "$HAVE_E57" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_E57"; fi
|
||||
if [ "$HAVE_XLIB" == "true" ]; then export CSF_OPT_CMPL="${CSF_OPT_CMPL} -DHAVE_XLIB"; fi
|
||||
|
||||
# To split string into array
|
||||
aDelimBack=$IFS
|
||||
|
40
adm/templates/install.bat
Normal file
@@ -0,0 +1,40 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
rem Setup environment
|
||||
call "%~dp0env.bat" %1 %2 %3
|
||||
|
||||
rem Define path to project file
|
||||
set "PRJFILE=%~dp0INSTALL.vcxproj"
|
||||
|
||||
if "%VCVER%" == "vc8" (
|
||||
call "%VS80COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc9" (
|
||||
call "%VS90COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc10" (
|
||||
call "%VS100COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc11" (
|
||||
call "%VS110COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc12" (
|
||||
call "%VS120COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc14" (
|
||||
call "%VS140COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc141" (
|
||||
call "%VS141COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc142" (
|
||||
call "%VS142COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else if "%VCVER%" == "vc143" (
|
||||
call "%VS143COMNTOOLS%/vsvars32.bat" > nul
|
||||
) else (
|
||||
echo Error: wrong VS identifier
|
||||
exit /B
|
||||
)
|
||||
|
||||
set BUILDCONFIG=Release
|
||||
if "%CASDEB%"=="i" set BUILDCONFIG=RelWithDebInfo
|
||||
if "%CASDEB%"=="d" set BUILDCONFIG=Debug
|
||||
if "%ARCH%"=="32" set PLATFORM=win32
|
||||
if "%ARCH%"=="64" set PLATFORM=x64
|
||||
|
||||
msbuild "%PRJFILE%" /m /fl /flp:LogFile="install_%BUILDCONFIG%.log" /p:Configuration=%BUILDCONFIG% /p:Platform=%PLATFORM% /p:BuildProjectReferences=false
|
||||
endlocal
|
@@ -1,10 +1,11 @@
|
||||
@echo off
|
||||
rem This file has been generated by genproj.tcl script from CASROOT/adm/templates/msvc.bat
|
||||
|
||||
rem Setup environment
|
||||
call "%~dp0env.bat" %1 %2 %3
|
||||
|
||||
rem Define path to project file
|
||||
set "PRJFILE=%~dp0\adm\msvc\%VCVER%\OCCT.sln"
|
||||
set "PRJFILE=%~dp0\adm\msvc\%VCVER%\__SOLUTION__.sln"
|
||||
if not exist "%PRJFILE%" set "PRJFILE=%~dp0\adm\msvc\%VCVER%\Products.sln"
|
||||
if not "%4" == "" (
|
||||
set "PRJFILE=%4"
|
||||
|
@@ -19,6 +19,7 @@ if ["%1"] == [""] (
|
||||
echo AndroidQt
|
||||
echo FuncDemo
|
||||
echo IESample
|
||||
echo OCCTOverview
|
||||
echo Tutorial
|
||||
PAUSE
|
||||
exit /B
|
||||
@@ -35,5 +36,8 @@ if not exist "%EXE_PATH%" (
|
||||
exit /B
|
||||
)
|
||||
|
||||
rem Set path to location where sample code is installed
|
||||
set "CSF_OCCTOverviewSampleCodePath=%CSF_OCCTSamplesPath%\OCCTOverview\code"
|
||||
|
||||
"%EXE_PATH%"
|
||||
|
||||
|
@@ -8,6 +8,7 @@ if [ "$1" == "" ]; then
|
||||
echo available samples:
|
||||
echo FuncDemo
|
||||
echo IESample
|
||||
echo OCCTOverview
|
||||
echo Tutorial
|
||||
fi
|
||||
|
||||
@@ -31,5 +32,7 @@ if [ ! -f "$EXE_PATH" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export CSF_OCCTOverviewSampleCodePath="${CSF_OCCTSamplesPath}/OCCTOverview/code"
|
||||
|
||||
cd ${aCurrentPath}
|
||||
"$EXE_PATH"
|
@@ -90,7 +90,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
@@ -100,14 +100,14 @@
|
||||
<ProgramDataBaseFileName>.\..\..\..\win32\__VCVER__\obj\__TKNAM__/</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<DisableSpecificWarnings>26812</DisableSpecificWarnings>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
__VCMPL32__
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>__TKDEP__</AdditionalDependencies>
|
||||
@@ -138,7 +138,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<AssemblerListingLocation>.\..\..\..\win32\__VCVER__\objd\__TKNAM__/</AssemblerListingLocation>
|
||||
@@ -148,7 +148,7 @@
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<DisableSpecificWarnings>26812</DisableSpecificWarnings>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
@@ -156,10 +156,10 @@
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_DEBUG;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>__TKDEP__</AdditionalDependencies>
|
||||
<AdditionalDependencies>__TKDEP_DEBUG__</AdditionalDependencies>
|
||||
<OutputFile>.\..\..\..\win32\__VCVER__\bind\__TKNAM__.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\..\win32\__VCVER__\libd;$(CSF_OPT_LIB32D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
@@ -186,7 +186,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
@@ -196,14 +196,14 @@
|
||||
<ProgramDataBaseFileName>.\..\..\..\win64\__VCVER__\obj\__TKNAM__/</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<DisableSpecificWarnings>26812</DisableSpecificWarnings>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
__VCMPL64__
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>__TKDEP__</AdditionalDependencies>
|
||||
@@ -234,7 +234,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<AssemblerListingLocation>.\..\..\..\win64\__VCVER__\objd\__TKNAM__/</AssemblerListingLocation>
|
||||
@@ -244,7 +244,7 @@
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<DisableSpecificWarnings>26812</DisableSpecificWarnings>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
@@ -252,10 +252,10 @@
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_DEBUG;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>__TKDEP__</AdditionalDependencies>
|
||||
<AdditionalDependencies>__TKDEP_DEBUG__</AdditionalDependencies>
|
||||
<OutputFile>.\..\..\..\win64\__VCVER__\bind\__TKNAM__.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\..\win64\__VCVER__\libd;$(CSF_OPT_LIB64D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
|
@@ -85,7 +85,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
@@ -95,12 +95,12 @@
|
||||
<ProgramDataBaseFileName>.\..\..\..\win32\__VCVER__\obj\__XQTNAM__/</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<DisableSpecificWarnings>26812</DisableSpecificWarnings>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>__VCMPL32__
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>__TKDEP__</AdditionalDependencies>
|
||||
@@ -130,7 +130,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<AssemblerListingLocation>.\..\..\..\win32\__VCVER__\objd\__XQTNAM__/</AssemblerListingLocation>
|
||||
@@ -140,16 +140,16 @@
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<DisableSpecificWarnings>26812</DisableSpecificWarnings>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>__VCMPL32__
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_DEBUG;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>__TKDEP__</AdditionalDependencies>
|
||||
<AdditionalDependencies>__TKDEP_DEBUG__</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\..\win32\__VCVER__\libd;$(CSF_OPT_LIB32D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
@@ -175,7 +175,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
@@ -185,12 +185,12 @@
|
||||
<ProgramDataBaseFileName>.\..\..\..\win64\__VCVER__\obj\__XQTNAM__/</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<DisableSpecificWarnings>26812</DisableSpecificWarnings>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>__VCMPL64__
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>NDEBUG;No_Exception;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>__TKDEP__</AdditionalDependencies>
|
||||
@@ -219,7 +219,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>Async</ExceptionHandling>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<AssemblerListingLocation>.\..\..\..\win64\__VCVER__\objd\__XQTNAM__/</AssemblerListingLocation>
|
||||
@@ -229,16 +229,16 @@
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<DisableSpecificWarnings>26812</DisableSpecificWarnings>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>__VCMPL64__
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_DEBUG;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_DEBUG;__TKDEFINES__;$(CSF_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>__TKDEP__</AdditionalDependencies>
|
||||
<AdditionalDependencies>__TKDEP_DEBUG__</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\..\win64\__VCVER__\libd;$(CSF_OPT_LIB64D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
|
@@ -1,7 +1,8 @@
|
||||
#!/bin/bash
|
||||
# This file has been generated by genproj.tcl script from CASROOT/adm/templates/xcode.sh
|
||||
|
||||
export TARGET="xcd"
|
||||
|
||||
source ./env.sh "$1" "$TARGET"
|
||||
|
||||
open -a Xcode ./adm/mac/xcd/OCCT.xcworkspace
|
||||
open -a Xcode ./adm/mac/xcd/__SOLUTION__.xcworkspace
|
||||
|
@@ -71,6 +71,30 @@ BOPTools::MapShapesAndAncestors TopExp::MapShapesAndAncestors
|
||||
BOPCol_Box2DBndTreeSelector BOPTools_BoxSelector<Bnd_Box2d>
|
||||
BiTgte_DataMapOfShapeBox TopTools_DataMapOfShapeBox
|
||||
CDM_MessageDriver Message_Messenger
|
||||
Message_ProgressSentry Message_ProgressScope
|
||||
Adaptor2d_HCurve2d Adaptor2d_Curve2d
|
||||
Adaptor2d_HLine2d Adaptor2d_Line2d
|
||||
Adaptor2d_HOffsetCurve Adaptor2d_OffsetCurve
|
||||
Adaptor3d_HCurve Adaptor3d_Curve
|
||||
Adaptor3d_HCurveOnSurface Adaptor3d_CurveOnSurface
|
||||
Adaptor3d_HIsoCurve Adaptor3d_IsoCurve
|
||||
Adaptor3d_HSurface Adaptor3d_Surface
|
||||
BRepAdaptor_HCompCurve BRepAdaptor_CompCurve
|
||||
BRepAdaptor_HCurve BRepAdaptor_Curve
|
||||
BRepAdaptor_HCurve2d BRepAdaptor_Curve2d
|
||||
BRepAdaptor_HSurface BRepAdaptor_Surface
|
||||
BiTgte_HCurveOnEdge BiTgte_CurveOnEdge
|
||||
BiTgte_HCurveOnVertex BiTgte_CurveOnVertex
|
||||
ChFiDS_HElSpine ChFiDS_ElSpine
|
||||
Geom2dAdaptor_GHCurve Geom2dAdaptor_Curve
|
||||
Geom2dAdaptor_HCurve Geom2dAdaptor_Curve
|
||||
GeomAdaptor_GHCurve GeomAdaptor_Curve
|
||||
GeomAdaptor_GHSurface GeomAdaptor_Surface
|
||||
GeomAdaptor_HCurve GeomAdaptor_Curve
|
||||
GeomAdaptor_HSurface GeomAdaptor_Surface
|
||||
GeomAdaptor_HSurfaceOfLinearExtrusion GeomAdaptor_SurfaceOfLinearExtrusion
|
||||
GeomAdaptor_HSurfaceOfRevolution GeomAdaptor_SurfaceOfRevolution
|
||||
PrsMgr_PresentationManager3d PrsMgr_PresentationManager
|
||||
|
||||
[tcollection]
|
||||
AdvApp2Var_SequenceOfNode
|
||||
|
@@ -52,7 +52,7 @@ proc HelpInformation {} {
|
||||
loginfo " -$ArgName(Rename) - apply renaming of classes"
|
||||
loginfo ""
|
||||
loginfo "Advanced options:"
|
||||
loginfo " -$ArgName(CompatibleMode) - preserve old RTTI macros for compatability with OCCT 6.x"
|
||||
loginfo " -$ArgName(CompatibleMode) - preserve old RTTI macros for compatibility with OCCT 6.x"
|
||||
loginfo " -$ArgName(CheckOnly) - do check only, no modifications will be made"
|
||||
loginfo " -$ArgName(WLog) - show gui log of upgrade process"
|
||||
loginfo " -$ArgName(Log)=<file path> - put the log into a file"
|
||||
@@ -370,7 +370,7 @@ proc upgrade {args} {
|
||||
}
|
||||
}
|
||||
|
||||
# search and rename the indeces (old names) of @theNewNames with their values (new ones)
|
||||
# search and rename the indices (old names) of @theNewNames with their values (new ones)
|
||||
# processes files that have @theExtensions only in @thePath folder
|
||||
proc Rename {thePath theExtensions theNewNames theCheckMode} {
|
||||
upvar $theNewNames aNewNames
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 670 B |
Before Width: | Height: | Size: 679 B |
Before Width: | Height: | Size: 761 B |
Before Width: | Height: | Size: 674 B |
Before Width: | Height: | Size: 887 B |
Before Width: | Height: | Size: 933 B |
Before Width: | Height: | Size: 633 B |
Before Width: | Height: | Size: 1.5 KiB |
@@ -43,6 +43,7 @@ configure_file ("${OCCT_OVERVIEW_RESOURCE_DIR}/occt_ug_html.doxyfile" "${OCCT_CO
|
||||
file (APPEND ${OCCT_CONFIG_FOR_DOXYGEN} "\nPROJECT_NUMBER = ${OCC_VERSION_STRING_EXT}")
|
||||
file (APPEND ${OCCT_CONFIG_FOR_DOXYGEN} "\nOUTPUT_DIRECTORY = ${OCCT_GENERATED_OVERVIEW_DIR}/.")
|
||||
file (APPEND ${OCCT_CONFIG_FOR_DOXYGEN} "\nPROJECT_LOGO = ${OCCT_OVERVIEW_DIR}/resources/occ_logo.png")
|
||||
file (APPEND ${OCCT_CONFIG_FOR_DOXYGEN} "\nEXAMPLE_PATH = ${CMAKE_SOURCE_DIR}/src")
|
||||
|
||||
set (OCCT_ARTICLE_PARAM_INPUT "INPUT =")
|
||||
set (OCCT_ARTICLE_PARAM_IMAGEPATH "IMAGE_PATH = ${OCCT_OVERVIEW_DIR}/resources/ ")
|
||||
|
@@ -5,54 +5,61 @@
|
||||
# The order of files in this list determines order of top-level pages
|
||||
# in the generated documentation.
|
||||
|
||||
overview/overview.md
|
||||
introduction/introduction.md
|
||||
|
||||
samples/samples.md
|
||||
../samples/mfc/standard/ReadMe.md
|
||||
../samples/CSharp/ReadMe.md
|
||||
../samples/CSharp/ReadMe_D3D.md
|
||||
|
||||
../samples/qt/AndroidQt/ReadMe.md
|
||||
../samples/qt/IESample/ReadMe.md
|
||||
../samples/qt/OCCTOverview/ReadMe.md
|
||||
../samples/qt/Tutorial/ReadMe.md
|
||||
../samples/java/jniviewer/ReadMe.md
|
||||
../samples/ios/UIKitSample/ReadMe.md
|
||||
../samples/webgl/ReadMe.md
|
||||
../samples/glfw/readme.md
|
||||
samples/ocaf.md
|
||||
samples/ocaf_func.md
|
||||
samples/draw_scripts.md
|
||||
samples/ais_object.md
|
||||
|
||||
samples/novice_guide.md
|
||||
tutorial/tutorial.md
|
||||
|
||||
technical_overview/technical_overview.md
|
||||
build/build_upgrade.md
|
||||
build/build_occt/building_occt.md
|
||||
build/build_3rdparty/building_3rdparty.md
|
||||
build/build_documentation/building_documentation.md
|
||||
|
||||
debug/debug.md
|
||||
upgrade/upgrade.md
|
||||
|
||||
user_guides/user_guides.md
|
||||
user_guides/foundation_classes/foundation_classes.md
|
||||
user_guides/modeling_data/modeling_data.md
|
||||
user_guides/modeling_algos/modeling_algos.md
|
||||
user_guides/boolean_operations/boolean_operations.md
|
||||
user_guides/mesh/mesh.md
|
||||
user_guides/shape_healing/shape_healing.md
|
||||
user_guides/visualization/visualization.md
|
||||
user_guides/iges/iges.md
|
||||
user_guides/step/step.md
|
||||
user_guides/xde/xde.md
|
||||
user_guides/ocaf/ocaf.md
|
||||
user_guides/tobj/tobj.md
|
||||
user_guides/draw_test_harness/draw_test_harness.md
|
||||
user_guides/inspector/inspector.md
|
||||
user_guides/brep_wp/brep_wp.md
|
||||
user_guides/vis/vis.md
|
||||
|
||||
dev_guides/dev_guides.md
|
||||
dev_guides/documentation/documentation.md
|
||||
dev_guides/contribution/coding_rules.md
|
||||
dev_guides/contribution_workflow/contribution_workflow.md
|
||||
dev_guides/git_guide/git_guide.md
|
||||
dev_guides/tests/tests.md
|
||||
dev_guides/debug/debug.md
|
||||
dev_guides/upgrade/upgrade.md
|
||||
specification/specification.md
|
||||
specification/boolean_operations/boolean_operations.md
|
||||
specification/brep_format.md
|
||||
specification/pbr_math.md
|
||||
|
||||
dev_guides/building/building.md
|
||||
dev_guides/building/3rdparty/3rdparty_windows.md
|
||||
dev_guides/building/3rdparty/3rdparty_linux.md
|
||||
dev_guides/building/3rdparty/3rdparty_osx.md
|
||||
dev_guides/building/cmake/cmake.md
|
||||
dev_guides/building/android/android.md
|
||||
dev_guides/building/code_blocks.md
|
||||
dev_guides/building/msvc.md
|
||||
dev_guides/building/xcode.md
|
||||
contribution/contribution.md
|
||||
contribution/documentation/documentation.md
|
||||
contribution/coding_rules.md
|
||||
contribution/contribution_workflow/contribution_workflow.md
|
||||
contribution/git_guide/git_guide.md
|
||||
contribution/tests/tests.md
|
||||
|
||||
license.md
|
||||
|
@@ -4,27 +4,31 @@
|
||||
# Empty spaces are allowed.
|
||||
# Strings starting with '#' are treated as comments and ignored.
|
||||
|
||||
user_guides/brep_wp/brep_wp.md
|
||||
tutorial/tutorial.md
|
||||
|
||||
samples/novice_guide.md
|
||||
|
||||
upgrade/upgrade.md
|
||||
|
||||
user_guides/foundation_classes/foundation_classes.md
|
||||
user_guides/iges/iges.md
|
||||
user_guides/modeling_data/modeling_data.md
|
||||
user_guides/modeling_algos/modeling_algos.md
|
||||
user_guides/boolean_operations/boolean_operations.md
|
||||
user_guides/shape_healing/shape_healing.md
|
||||
user_guides/mesh/mesh.md
|
||||
user_guides/ocaf/ocaf.md
|
||||
user_guides/step/step.md
|
||||
user_guides/draw_test_harness/draw_test_harness.md
|
||||
user_guides/inspector/inspector.md
|
||||
user_guides/tobj/tobj.md
|
||||
user_guides/visualization/visualization.md
|
||||
user_guides/xde/xde.md
|
||||
user_guides/vis/vis.md
|
||||
user_guides/iges/iges.md
|
||||
user_guides/step/step.md
|
||||
user_guides/xde/xde.md
|
||||
user_guides/inspector/inspector.md
|
||||
user_guides/draw_test_harness/draw_test_harness.md
|
||||
|
||||
dev_guides/contribution_workflow/contribution_workflow.md
|
||||
dev_guides/documentation/documentation.md
|
||||
dev_guides/contribution/coding_rules.md
|
||||
dev_guides/git_guide/git_guide.md
|
||||
dev_guides/tests/tests.md
|
||||
dev_guides/upgrade/upgrade.md
|
||||
contribution/contribution_workflow/contribution_workflow.md
|
||||
contribution/documentation/documentation.md
|
||||
contribution/coding_rules.md
|
||||
contribution/git_guide/git_guide.md
|
||||
contribution/tests/tests.md
|
||||
|
||||
tutorial/tutorial.md
|
||||
specification/boolean_operations/boolean_operations.md
|
||||
specification/brep_format.md
|
||||
specification/pbr_math.md
|
||||
|
556
dox/build/build_3rdparty/building_3rdparty.md
vendored
Normal file
@@ -0,0 +1,556 @@
|
||||
Build 3rd-parties {#build_upgrade_building_3rdparty}
|
||||
==============================================
|
||||
@tableofcontents
|
||||
|
||||
On Windows, the easiest way to install third-party libraries is to download archive with pre-built binaries from https://dev.opencascade.org/resources/download/3rd-party-components.
|
||||
On Linux and macOS, it is recommended to use the version installed in the system natively.
|
||||
|
||||
@section dev_guides__building_3rdparty_win_1 Windows
|
||||
|
||||
This section presents guidelines for building third-party products used by Open CASCADE Technology (OCCT) and samples on Windows platform.
|
||||
It is assumed that you are already familiar with MS Visual Studio / Visual C++.
|
||||
|
||||
You need to use the same version of MS Visual Studio for building all third-party products and OCCT itself, in order to receive a consistent set of runtime binaries.
|
||||
|
||||
It is recommended to create a separate new folder on your workstation, where you will unpack the downloaded archives of the third-party products, and where you will build these products (for example, `c:/occ3rdparty`).
|
||||
Further in this document, this folder is referred to as `3rdparty`.
|
||||
|
||||
@subsection dev_guides__building_3rdparty_win_2 Tcl/Tk
|
||||
|
||||
Tcl/Tk is required for DRAW test harness.
|
||||
|
||||
**Installation from sources: Tcl**
|
||||
|
||||
Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
|
||||
|
||||
1. In the `win` sub-directory, edit file `buildall.vc.bat`:
|
||||
|
||||
* Edit the line `"call ... vcvars32.bat"` to have correct path to the version of Visual Studio to be used for building, for instance:
|
||||
|
||||
call "%VS80COMNTOOLS%\vsvars32.bat"
|
||||
|
||||
If you are building 64-bit version, set environment accordingly, e.g.:
|
||||
|
||||
call "%VS80COMNTOOLS%\..\..\VC\vcvarsall.bat" amd64
|
||||
|
||||
* Define variable `INSTALLDIR` pointing to directory where Tcl/Tk will be installed, e.g.:
|
||||
|
||||
set INSTALLDIR=D:\OCCT\3rdparty\tcltk-86-32
|
||||
|
||||
* Add option `install` to the first command line calling `nmake`:
|
||||
|
||||
nmake -nologo -f makefile.vc release htmlhelp install %1
|
||||
|
||||
* Remove second call to `nmake` (building statically linked executable)
|
||||
|
||||
2. Edit file `rules.vc` replacing line
|
||||
|
||||
SUFX = tsgx
|
||||
|
||||
by
|
||||
|
||||
SUFX = sgx
|
||||
|
||||
This is to avoid extra prefix 't' in the library name, which is not recognized by default by OCCT build tools.
|
||||
|
||||
3. By default, Tcl uses dynamic version of run-time library (MSVCRT), which must be installed on the system where Tcl will be used.
|
||||
You may wish to link Tcl library with static version of run-time to avoid this dependency.
|
||||
For that:
|
||||
|
||||
* Edit file `makefile.vc` replacing strings `"crt = -MD"` by `"crt = -MT"`
|
||||
|
||||
* Edit source file `tclMain.c` (located in folder `generic`) commenting out forward declaration of function `isatty()`.
|
||||
|
||||
4. In the command prompt, run `buildall.vc.bat`<br>
|
||||
You might need to run this script twice to have `tclsh` executable installed; check subfolder `bin` of specified installation path to verify this.
|
||||
|
||||
5. For convenience of use, we recommend making a copy of `tclsh` executable created in subfolder `bin` of `INSTALLDIR` and named with Tcl version number suffix, as `tclsh.exe` (with no suffix)
|
||||
|
||||
> cd D:\OCCT\3rdparty\tcltk-86-32\bin
|
||||
> cp tclsh86.exe tclsh.exe
|
||||
|
||||
**Installation from sources: Tk**
|
||||
|
||||
Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
|
||||
Apply the same steps as described for building Tcl above, with the same `INSTALLDIR`.
|
||||
Note that Tk produces its own executable, called `wish`.
|
||||
|
||||
You might need to edit default value of `TCLDIR` variable defined in `buildall.vc.bat` (should be not necessary if you unpack both Tcl and Tk sources in the same folder).
|
||||
|
||||
@subsection dev_guides__building_3rdparty_win_2_2 FreeType
|
||||
|
||||
FreeType is required for text display in a 3D viewer.
|
||||
You can download its sources from https://freetype.org/
|
||||
|
||||
1. Unpack the downloaded archive of FreeType product into the `3rdparty` folder.
|
||||
As a result, you will get a folder named, for example, `3rdparty/freetype-2.4.10`.
|
||||
Further in this document, this folder is referred to as `freetype`.
|
||||
|
||||
2. Open the solution file `freetype/builds/win32/vc20xx/freetype.sln` in Visual Studio.
|
||||
Here `vc20xx` stands for your version of Visual Studio.
|
||||
|
||||
3. Select the configuration to build: either `Debug` or `Release`.
|
||||
|
||||
4. Build the `freetype` project.<br>
|
||||
As a result, you will get a `freetype` import library (`.lib`) in the `freetype/obj/win32/vc20xx` folder.
|
||||
|
||||
5. If you build FreeType for a 64 bit platform, select in the main menu `Build - Configuration Manager`
|
||||
and add `x64` platform to the solution configuration by copying the settings from `Win32` platform:
|
||||
|
||||
@figure{/build/build_3rdparty/images/3rdparty_image001.png}
|
||||
|
||||
Update the value of the Output File for `x64` configuration:
|
||||
|
||||
@figure{/build/build_3rdparty/images/3rdparty_image003.png}
|
||||
|
||||
Build the `freetype` project.<br>
|
||||
As a result, you will obtain a 64 bit import library (`.lib`) file in the `freetype/x64/vc20xx` folder.
|
||||
To build FreeType as a dynamic library (`.dll`) follow steps 6, 7 and 8 of this procedure.
|
||||
|
||||
6. Open menu Project-> Properties-> Configuration Properties-> General and change option `Configuration Type` to `Dynamic Library (.dll)`.
|
||||
7. Edit file `freetype/include/freetype/config/ftoption.h`:<br>
|
||||
in line 255, uncomment the definition of macro `FT_EXPORT` and change it as follows:
|
||||
|
||||
#define FT_EXPORT(x) __declspec(dllexport) x
|
||||
|
||||
8. Build the `freetype` project.<br>
|
||||
As a result, you will obtain the files of the import library (`.lib`) and the dynamic library (`.dll`) in folders `freetype/objs/release` or `freetype/objs/debug`.
|
||||
If you build for a 64 bit platform, follow step 5 of the procedure.
|
||||
|
||||
To facilitate the use of FreeType libraries in OCCT with minimal adjustment of build procedures,
|
||||
it is recommended to copy the include files and libraries of FreeType into a separate folder, named according to the pattern `freetype-compiler-bitness-building mode`, where:
|
||||
* `compiler` is `vc8` or `vc9` or `vc10` or `vc11`;
|
||||
* `bitness` is `32` or `64`;
|
||||
* `building mode` is `opt` (for `Release`) or `deb` (for `Debug`).
|
||||
|
||||
The `include` subfolder should be copied as is, while libraries should be renamed to `freetype.lib` and `freetype.dll` (suffixes removed) and placed to subdirectories `lib` and `bin`, respectively.
|
||||
If the `Debug` configuration is built, the Debug libraries should be put into subdirectories `libd` and `bind`.
|
||||
|
||||
@subsection dev_guides__building_3rdparty_win_3_1 TBB
|
||||
|
||||
This third-party product is installed with binaries from the archive that can be downloaded from https://github.com/oneapi-src/oneTBB/releases/tag/v2021.5.0.
|
||||
Go to the **Download** page, find the release version you need (e.g. `oneTBB 2021.5.0`) and pick the archive for Windows platform.
|
||||
To install, unpack the downloaded archive of TBB product (`oneapi-tbb-2021.5.0-win.zip`)
|
||||
|
||||
Unpack the downloaded archive of TBB product into the `3rdparty` folder.
|
||||
|
||||
Further in this document, this folder is referred to as `tbb`.
|
||||
|
||||
@subsection dev_guides__building_3rdparty_win_3_3 FreeImage
|
||||
|
||||
This third-party product should be built as a dynamically loadable library (`.dll` file).
|
||||
You can download its sources from
|
||||
https://sourceforge.net/projects/freeimage/files/Source%20Distribution/
|
||||
|
||||
1. Unpack the downloaded archive of FreeImage product into `3rdparty` folder.<br>
|
||||
As a result, you should have a folder named `3rdparty/FreeImage`.
|
||||
Rename it according to the rule: `freeimage-platform-compiler-building mode`, where
|
||||
|
||||
* `platform` is `win32` or `win64`;
|
||||
* `compiler` is `vc8` or `vc9` or `vc10` or `vc11`;
|
||||
* `building mode` is *opt* (for release) or `deb` (for debug)
|
||||
|
||||
Further in this document, this folder is referred to as `freeimage`.
|
||||
|
||||
2. Open the solution file `freeimage/FreeImage.*.sln` in your Visual Studio.<br>
|
||||
If you use a Visual Studio version higher than VC++ 2008, apply conversion of the workspace.
|
||||
Such conversion should be suggested automatically by Visual Studio.
|
||||
|
||||
3. Select a configuration to build.
|
||||
- Choose `Release` if you are building Release binaries.
|
||||
- Choose `Debug` if you are building Debug binaries.
|
||||
|
||||
*Note:*
|
||||
|
||||
If you want to build a debug version of FreeImage binaries then you need to rename the following files in FreeImage projects:
|
||||
|
||||
Project -> Properties -> Configuration Properties -> Linker -> General -> Output File
|
||||
|
||||
FreeImage*d*.dll to FreeImage.dll
|
||||
|
||||
Project -> Properties -> Configuration Properties -> Linker -> Debugging-> Generate Program Database File
|
||||
|
||||
FreeImage*d*.pdb to FreeImage.pdb
|
||||
|
||||
Project -> Properties -> Configuration Properties -> Linker -> Advanced-Import Library
|
||||
|
||||
FreeImage*d*.lib to FreeImage.lib
|
||||
|
||||
Project -> Properties -> Configuration Properties -> Build Events -> Post -> Build Event -> Command Line
|
||||
|
||||
FreeImage*d*.dll to FreeImage.dll
|
||||
FreeImage*d*.lib to FreeImage.lib
|
||||
|
||||
Additionally, rename in project FreeImagePlus
|
||||
|
||||
Project -> Properties -> Configuration Properties -> Linker -> Input -> Additional Dependencies
|
||||
|
||||
from FreeImage*d*.lib to FreeImage.lib
|
||||
|
||||
4. Select a platform to build.
|
||||
- Choose `Win32` if you are building for a 32 bit platform.
|
||||
- Choose `x64` if you are building for a 64 bit platform.
|
||||
|
||||
5. Start the building process.<br>
|
||||
As a result, you should have the library files of FreeImage product in `freeimage/Dist` folder (`FreeImage.dll` and `FreeImage.lib`).
|
||||
|
||||
@subsection dev_guides__building_3rdparty_win_3_4 VTK
|
||||
|
||||
VTK Integration Services component provides adaptation functionality for visualization of OCCT topological shapes by means of VTK library.
|
||||
|
||||
1. Download the necessary archive from https://www.vtk.org/VTK/resources/software.html and unpack it into `3rdparty` folder.<br>
|
||||
As a result, you will get a folder named, for example, `3rdparty/VTK-6.1.0`.
|
||||
Further in this document, this folder is referred to as `VTK`.
|
||||
|
||||
2. Use CMake to generate VS projects for building the library:
|
||||
- Start CMake-GUI and select `VTK` folder as source path, and the folder of your choice for VS project and intermediate build data.
|
||||
- Click **Configure**.
|
||||
- Select the VS version to be used from the ones you have installed (we recommend using VS 2015) and the architecture (32 or 64-bit).
|
||||
- Generate VS projects with default CMake options. The open solution `VTK.sln` will be generated in the build folder.
|
||||
|
||||
3. Build project VTK in Release mode.
|
||||
|
||||
@section build_3rdparty_linux Linux
|
||||
|
||||
This section presents additional guidelines for building third-party products used by Open CASCADE Technology and samples on Linux platform.
|
||||
|
||||
@subsection dev_guides__building_3rdparty_linux_4 Installation From Official Repositories
|
||||
|
||||
**Debian-based distributives**
|
||||
|
||||
All 3rd-party products required for building of OCCT could be installed from official repositories.
|
||||
You may install them from console using apt-get utility:
|
||||
|
||||
sudo apt-get install tcllib tklib tcl-dev tk-dev libfreetype-dev libx11-dev libgl1-mesa-dev libfreeimage-dev
|
||||
sudo apt-get install rapidjson-dev libdraco-dev
|
||||
|
||||
Building is possible with C++ compliant compiler:
|
||||
|
||||
sudo apt-get install g++
|
||||
|
||||
@subsection dev_guides__building_3rdparty_linux_2_1 Tcl/Tk
|
||||
|
||||
Tcl/Tk is required for DRAW test harness.
|
||||
|
||||
**Installation from sources: Tcl**
|
||||
|
||||
Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
|
||||
|
||||
1. Enter the `unix` sub-directory of the directory where the Tcl source files are located (`TCL_SRC_DIR`).
|
||||
|
||||
cd TCL_SRC_DIR/unix
|
||||
|
||||
2. Run the `configure` command:
|
||||
|
||||
configure --enable-gcc --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR
|
||||
|
||||
For a 64 bit platform also add `--enable-64bit` option to the command line.
|
||||
|
||||
3. If the configure command has finished successfully, start the building process:
|
||||
|
||||
make
|
||||
|
||||
4. If building is finished successfully, start the installation of Tcl.
|
||||
All binary and service files of the product will be copied to the directory defined by `TCL_INSTALL_DIR`
|
||||
|
||||
make install
|
||||
|
||||
**Installation from sources: Tk**
|
||||
|
||||
Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
|
||||
|
||||
1. Enter the `unix` sub-directory of the directory where the Tk source files are located (`TK_SRC_DIR`)
|
||||
|
||||
cd TK_SRC_DIR/unix
|
||||
|
||||
2. Run the `configure` command, where `TCL_LIB_DIR` is `TCL_INSTALL_DIR/lib`.
|
||||
|
||||
configure --enable-gcc --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR --prefix=TK_INSTALL_DIR
|
||||
|
||||
For a 64 bit platform also add `--enable-64bit` option to the command line.
|
||||
|
||||
3. If the configure command has finished successfully, start the building process:
|
||||
|
||||
make
|
||||
|
||||
4. If the building has finished successfully, start the installation of Tk.
|
||||
All binary and service files of the product will be copied
|
||||
to the directory defined by `TK_INSTALL_DIR` (usually it is `TCL_INSTALL_DIR`)
|
||||
|
||||
make install
|
||||
|
||||
@subsection dev_guides__building_3rdparty_linux_2_2 FreeType
|
||||
|
||||
FreeType is required for text display in the 3D viewer.
|
||||
Download the necessary archive from https://freetype.org/ and unpack it.
|
||||
|
||||
1. Enter the directory where the source files of FreeType are located (`FREETYPE_SRC_DIR`).
|
||||
|
||||
cd FREETYPE_SRC_DIR
|
||||
|
||||
2. Run the `configure` command:
|
||||
|
||||
configure --prefix=FREETYPE_INSTALL_DIR
|
||||
|
||||
For a 64 bit platform also add `CFLAGS='-m64 -fPIC' CPPFLAGS='-m64 -fPIC'` option to the command line.
|
||||
|
||||
3. If the `configure` command has finished successfully, start the building process:
|
||||
|
||||
make
|
||||
|
||||
4. If the building has finished successfully, start the installation of FreeType.
|
||||
All binary and service files of the product will be copied to the directory defined by `FREETYPE_INSTALL_DIR`
|
||||
|
||||
make install
|
||||
|
||||
@subsection dev_guides__building_3rdparty_linux_3_1 TBB
|
||||
|
||||
This third-party product is installed with binaries from the archive that can be downloaded from https://github.com/oneapi-src/oneTBB/releases/tag/v2021.5.0.
|
||||
Go to the **Download** page, find the release version you need (e.g. `oneTBB 2021.5.0`) and pick the archive for Linux platform.
|
||||
To install, unpack the downloaded archive of TBB product (`oneapi-tbb-2021.5.0-lin.tgz`).
|
||||
|
||||
@subsection dev_guides__building_3rdparty_linux_3_3 FreeImage
|
||||
|
||||
Download the necessary archive from https://sourceforge.net/projects/freeimage/files/Source%20Distribution/ and unpack it.
|
||||
The directory with unpacked sources is further referred to as `FREEIMAGE_SRC_DIR`.
|
||||
|
||||
1. Modify `FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h`:<br>
|
||||
In line 60 insert the following:
|
||||
|
||||
#include string.h
|
||||
|
||||
2. Enter the directory where the source files of FreeImage are located (`FREEIMAGE_SRC_DIR`).
|
||||
|
||||
cd FREEIMAGE_SRC_DIR
|
||||
|
||||
3. Run the building process
|
||||
|
||||
make
|
||||
|
||||
4. Run the installation process
|
||||
|
||||
a. If you have the permission to write into directories `/usr/include` and `/usr/lib`, run the following command:
|
||||
|
||||
make install
|
||||
|
||||
b. If you do not have this permission, you need to modify file `FREEIMAGE_SRC_DIR/Makefile.gnu`:
|
||||
|
||||
Change lines 7-9 from:
|
||||
|
||||
DESTDIR ?= /
|
||||
INCDIR ?= $(DESTDIR)/usr/include
|
||||
INSTALLDIR ?= $(DESTDIR)/usr/lib
|
||||
|
||||
to:
|
||||
|
||||
DESTDIR ?= $(DESTDIR)
|
||||
INCDIR ?= $(DESTDIR)/include
|
||||
INSTALLDIR ?= $(DESTDIR)/lib
|
||||
|
||||
Change lines 65-67 from:
|
||||
|
||||
install -m 644 -o root -g root $(HEADER) $(INCDIR)
|
||||
install -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR)
|
||||
install -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR)
|
||||
|
||||
to:
|
||||
|
||||
install -m 755 $(HEADER) $(INCDIR)
|
||||
install -m 755 $(STATICLIB) $(INSTALLDIR)
|
||||
install -m 755 $(SHAREDLIB) $(INSTALLDIR)
|
||||
|
||||
Change line 70 from:
|
||||
|
||||
ldconfig
|
||||
|
||||
to:
|
||||
|
||||
\#ldconfig
|
||||
|
||||
Then run the installation process by the following command:
|
||||
|
||||
make DESTDIR=FREEIMAGE_INSTALL_DIR install
|
||||
|
||||
5. Clean temporary files
|
||||
|
||||
make clean
|
||||
|
||||
@subsection dev_guides__building_3rdparty_linux_3_4 VTK
|
||||
|
||||
Download the necessary archive from https://www.vtk.org/VTK/resources/software.html and unpack it.
|
||||
|
||||
1. Install or build `cmake` product from the source file.
|
||||
2. Start `cmake` in GUI mode with the directory where the source files of *VTK* are located:
|
||||
|
||||
ccmake VTK_SRC_DIR
|
||||
|
||||
* Press `[c]` to make the initial configuration
|
||||
* Define the necessary options in `VTK_INSTALL_PREFIX`
|
||||
* Press `[c]` to make the final configuration
|
||||
* Press `[g]` to generate `Makefile` and exit
|
||||
|
||||
3. Start the building of VTK:
|
||||
|
||||
make
|
||||
|
||||
4. Start the installation of VTK. Binaries will be installed according to the `VTK_INSTALL_PREFIX` option.
|
||||
|
||||
make install
|
||||
|
||||
@section build_3rdparty_macos Mac OS X
|
||||
|
||||
This section presents additional guidelines for building third-party products
|
||||
used by Open CASCADE Technology and samples on Mac OS X platform (10.6.4 and later).
|
||||
|
||||
@subsection dev_guides__building_3rdparty_osx_2_1 Tcl/Tk
|
||||
|
||||
Tcl/Tk is required for DRAW test harness.
|
||||
|
||||
**Installation from sources: Tcl**
|
||||
|
||||
Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
|
||||
|
||||
1. Enter the `macosx` sub-directory of the directory where the Tcl source files are located (`TCL_SRC_DIR`).
|
||||
|
||||
cd TCL_SRC_DIR/macosx
|
||||
|
||||
2. Run the `configure` command
|
||||
|
||||
configure --enable-gcc --enable-shared --enable-threads --prefix=TCL_INSTALL_DIR
|
||||
|
||||
For a 64 bit platform also add `--enable-64bit` option to the command line.
|
||||
|
||||
3. If the `configure` command has finished successfully, start the building process
|
||||
|
||||
make
|
||||
|
||||
4. If building is finished successfully, start the installation of Tcl.
|
||||
All binary and service files of the product will be copied to the directory defined by `TCL_INSTALL_DIR`.
|
||||
|
||||
make install
|
||||
|
||||
**Installation from sources: Tk**
|
||||
|
||||
Download the necessary archive from https://www.tcl.tk/software/tcltk/download.html and unpack it.
|
||||
|
||||
1. Enter the `macosx` sub-directory of the directory where the source files of Tk are located (`TK_SRC_DIR`).
|
||||
|
||||
cd TK_SRC_DIR/macosx
|
||||
|
||||
2. Run the `configure` command, where `TCL_LIB_DIR` is `TCL_INSTALL_DIR/lib`
|
||||
|
||||
configure --enable-gcc --enable-shared --enable-threads --with-tcl=TCL_LIB_DIR --prefix=TK_INSTALL_DIR
|
||||
|
||||
For a 64 bit platform also add `--enable-64bit` option to the command line.
|
||||
|
||||
3. If the `configure` command has finished successfully, start the building process:
|
||||
|
||||
make
|
||||
|
||||
4. If the building has finished successfully, start the installation of Tk.
|
||||
All binary and service files of the product will be copied to the directory defined by `TK_INSTALL_DIR` (usually it is `TCL_INSTALL_DIR`).
|
||||
|
||||
make install
|
||||
|
||||
@subsection dev_guides__building_3rdparty_osx_2_2 FreeType
|
||||
|
||||
FreeType is required for text display in the 3D viewer.
|
||||
Download the necessary archive from https://freetype.org/ and unpack it.
|
||||
|
||||
1. Enter the directory where the source files of FreeType are located (`FREETYPE_SRC_DIR`).
|
||||
|
||||
cd FREETYPE_SRC_DIR
|
||||
|
||||
2. Run the `configure` command
|
||||
|
||||
configure --prefix=FREETYPE_INSTALL_DIR
|
||||
|
||||
For a 64 bit platform also add `CFLAGS='-m64 -fPIC' CPPFLAGS='-m64 -fPIC'` option to the command line.
|
||||
|
||||
3. If the `configure` command has finished successfully, start the building process
|
||||
|
||||
make
|
||||
|
||||
4. If building has finished successfully, start the installation of FreeType.
|
||||
All binary and service files of the product will be copied to the directory defined by `FREETYPE_INSTALL_DIR`.
|
||||
|
||||
make install
|
||||
|
||||
@subsection dev_guides__building_3rdparty_osx_3_1 TBB
|
||||
|
||||
This third-party product is installed with binaries from the archive that can be downloaded from https://github.com/oneapi-src/oneTBB/releases/tag/v2021.5.0.
|
||||
Go to the **Download** page, find the release version you need (e.g. `oneTBB 2021.5.0`) and pick the archive for Mac OS X platform.
|
||||
To install, unpack the downloaded archive of TBB product (`oneapi-tbb-2021.5.0-mac.tgz`).
|
||||
|
||||
@subsection dev_guides__building_3rdparty_osx_3_3 FreeImage
|
||||
|
||||
Download the necessary archive from
|
||||
https://sourceforge.net/projects/freeimage/files/Source%20Distribution/
|
||||
and unpack it. The directory with unpacked sources is further referred to as `FREEIMAGE_SRC_DIR`.
|
||||
|
||||
Note that for building FreeImage on Mac OS X 10.7 you should replace `Makefile.osx`
|
||||
in `FREEIMAGE_SRC_DIR` by the corrected file, which you can find in attachment to issue [`#22811`](https://tracker.dev.opencascade.org/file_download.php?file_id=6937&type=bug) in OCCT Mantis bug tracker.
|
||||
|
||||
1. If you build FreeImage 3.15.x you can skip this step.
|
||||
|
||||
Modify `FREEIMAGE_SRC_DIR/Source/OpenEXR/Imath/ImathMatrix.h:`<br>
|
||||
In line 60 insert the following:
|
||||
|
||||
#include string.h
|
||||
|
||||
Modify `FREEIMAGE_SRC_DIR/Source/FreeImage/PluginTARGA.cpp`:<br>
|
||||
In line 320 replace:
|
||||
|
||||
SwapShort(value);
|
||||
|
||||
with:
|
||||
|
||||
SwapShort(&value);
|
||||
|
||||
2. Enter the directory where the source files of FreeImage are located (`FREEIMAGE_SRC_DIR`).
|
||||
|
||||
cd FREEIMAGE_SRC_DIR
|
||||
|
||||
3. Run the building process
|
||||
|
||||
make
|
||||
|
||||
4. Run the installation process
|
||||
|
||||
1. If you have the permission to write into `/usr/local/include` and `/usr/local/lib` directories, run the following command:
|
||||
|
||||
make install
|
||||
|
||||
2. If you do not have this permission, you need to modify file `FREEIMAGE_SRC_DIR/Makefile.osx`:<br>
|
||||
Change line 49 from:
|
||||
|
||||
PREFIX ?= /usr/local
|
||||
|
||||
to:
|
||||
|
||||
PREFIX ?= $(PREFIX)
|
||||
|
||||
Change lines 65-69 from:
|
||||
|
||||
install -d -m 755 -o root -g wheel $(INCDIR) $(INSTALLDIR)
|
||||
install -m 644 -o root -g wheel $(HEADER) $(INCDIR)
|
||||
install -m 644 -o root -g wheel $(SHAREDLIB) $(STATICLIB) $(INSTALLDIR)
|
||||
ranlib -sf $(INSTALLDIR)/$(STATICLIB)
|
||||
ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(LIBNAME)
|
||||
|
||||
to:
|
||||
|
||||
install -d $(INCDIR) $(INSTALLDIR)
|
||||
install -m 755 $(HEADER) $(INCDIR)
|
||||
install -m 755 $(STATICLIB) $(INSTALLDIR)
|
||||
install -m 755 $(SHAREDLIB) $(INSTALLDIR)
|
||||
ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME)
|
||||
ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME)
|
||||
|
||||
Then run the installation process by the following command:
|
||||
|
||||
make PREFIX=FREEIMAGE_INSTALL_DIR install
|
||||
|
||||
5. Clean temporary files
|
||||
|
||||
make clean
|
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 123 KiB |
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 206 KiB After Width: | Height: | Size: 206 KiB |
Before Width: | Height: | Size: 236 KiB After Width: | Height: | Size: 236 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 194 KiB After Width: | Height: | Size: 194 KiB |
BIN
dox/build/build_3rdparty/images/genconf_windows.png
vendored
Normal file
After Width: | Height: | Size: 60 KiB |
19
dox/build/build_documentation/building_documentation.md
Normal file
@@ -0,0 +1,19 @@
|
||||
Build Documentation {#build_upgrade__building_documentation}
|
||||
=================
|
||||
|
||||
To generate HTML documentation from sources contained in *dox* subdirectory,
|
||||
you need to have Tcl and Doxygen 1.8.5 (or above) installed on your system.
|
||||
|
||||
Use script **gendoc** (batch file on Windows, shell script on Linux / Mac OSX) to generate documentation.
|
||||
|
||||
To generate Overview documentation:
|
||||
|
||||
cmd> gendoc -overview
|
||||
|
||||
To generate Reference manual:
|
||||
|
||||
cmd> gendoc -refman
|
||||
|
||||
Run this command without arguments to get help on supported options.
|
||||
|
||||
See @ref occt_contribution__documentation for prerequisites and details on OCCT documentation system.
|