Compare commits
981 Commits
hdf5-1_10_
...
inactive/j
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f3469bbf4a | ||
|
|
9b2bc59567 | ||
|
|
6e0d81dc8b | ||
|
|
799a732650 | ||
|
|
70c21ab3be | ||
|
|
c8494e34d1 | ||
|
|
90a58f2b2f | ||
|
|
b530043b7a | ||
|
|
a1d7a9b859 | ||
|
|
b2423350f4 | ||
|
|
d818edb110 | ||
|
|
02abb65dde | ||
|
|
b66df06dbf | ||
|
|
85e2214d55 | ||
|
|
ef8aa13174 | ||
|
|
fe104cc38f | ||
|
|
97cdcc47e4 | ||
|
|
b01b84f245 | ||
|
|
222346f373 | ||
|
|
7add52ff4f | ||
|
|
7a589a0a39 | ||
|
|
604b67df19 | ||
|
|
2e867d2a6d | ||
|
|
c50b7c4b7e | ||
|
|
2db272521e | ||
|
|
f0d22e54c7 | ||
|
|
5c80d3d912 | ||
|
|
a98747c0f9 | ||
|
|
d2591ce377 | ||
|
|
0c20c65e2f | ||
|
|
a0c5d9a1d3 | ||
|
|
c812a6c9ec | ||
|
|
750b5c2930 | ||
|
|
0ea7aa89ff | ||
|
|
dc69df49e6 | ||
|
|
07baf44a86 | ||
|
|
8659857364 | ||
|
|
679b49d43d | ||
|
|
5f22afff3a | ||
|
|
a56a97f979 | ||
|
|
fc3f606d5c | ||
|
|
8d2a047c25 | ||
|
|
faec33960f | ||
|
|
cdec6ca87f | ||
|
|
33db9f5644 | ||
|
|
775e3740d6 | ||
|
|
b8468e6fdb | ||
|
|
5182e73d5e | ||
|
|
b23079de3a | ||
|
|
d2dfe6ccbe | ||
|
|
64f21ec639 | ||
|
|
6e77a5800e | ||
|
|
d0329ea063 | ||
|
|
d6663b95ac | ||
|
|
7e792d7795 | ||
|
|
8a4371f69a | ||
|
|
342cad2a3d | ||
|
|
bcf5c400c0 | ||
|
|
065d63b4a4 | ||
|
|
32ea4e72f1 | ||
|
|
b901552b1c | ||
|
|
6d07eb126e | ||
|
|
a27d1b909d | ||
|
|
67bc117efe | ||
|
|
5ad3891d9b | ||
|
|
f69e11efa8 | ||
|
|
a9283319a9 | ||
|
|
6c212353c4 | ||
|
|
d16c4f59c2 | ||
|
|
0116375ed2 | ||
|
|
58e6e3e102 | ||
|
|
122b63a5a2 | ||
|
|
e1046db0e6 | ||
|
|
f2f890fd82 | ||
|
|
dcf93b3ec5 | ||
|
|
320eaf91b9 | ||
|
|
268128e520 | ||
|
|
6ea0dafa41 | ||
|
|
61abf991a1 | ||
|
|
4a4ec03dfd | ||
|
|
81687043d4 | ||
|
|
b5a4f470cd | ||
|
|
d676456b54 | ||
|
|
35e9128c7e | ||
|
|
2268685c08 | ||
|
|
10cdff5ca4 | ||
|
|
40589e28d8 | ||
|
|
b95f05638c | ||
|
|
fb5d1a37c1 | ||
|
|
50b85e0330 | ||
|
|
3ed1ac0f1b | ||
|
|
b5305b25a6 | ||
|
|
8c22f41801 | ||
|
|
112b813196 | ||
|
|
3acd486b83 | ||
|
|
8f42566f7a | ||
|
|
8f447bd356 | ||
|
|
34508f0620 | ||
|
|
65a820ae89 | ||
|
|
fa83ab9f7c | ||
|
|
6f71b2cdcf | ||
|
|
e2b6e72e7c | ||
|
|
edcbc9966f | ||
|
|
f8d5add80b | ||
|
|
d98faf5703 | ||
|
|
a3a90e79af | ||
|
|
cc6a61215e | ||
|
|
f7bab665bb | ||
|
|
691b92ff9c | ||
|
|
742894ce88 | ||
|
|
648a21473f | ||
|
|
d0be2f5840 | ||
|
|
4300ca6234 | ||
|
|
0d1d61951f | ||
|
|
28b9af4f28 | ||
|
|
163dcebec5 | ||
|
|
865e35ea01 | ||
|
|
36e3d1600a | ||
|
|
5ba4266a04 | ||
|
|
c7977ec2f8 | ||
|
|
7f5741825d | ||
|
|
e73197077b | ||
|
|
3ebfd7edd4 | ||
|
|
a476f5348e | ||
|
|
ee9771425f | ||
|
|
7d124cb796 | ||
|
|
e272e64e74 | ||
|
|
abd74c8310 | ||
|
|
18e875f75f | ||
|
|
34f028070e | ||
|
|
7f718e9ea2 | ||
|
|
c7d04ee3af | ||
|
|
91c7ff81dc | ||
|
|
08001e2f3f | ||
|
|
6c2a4b728f | ||
|
|
d2624dae03 | ||
|
|
dddc940bdf | ||
|
|
30df67700c | ||
|
|
c348d453b5 | ||
|
|
2d4f58adf0 | ||
|
|
055208b71c | ||
|
|
f90e5bdc62 | ||
|
|
5f1f231310 | ||
|
|
cc7ce0eb8b | ||
|
|
eb84f922c8 | ||
|
|
5352bf4971 | ||
|
|
b0e202a206 | ||
|
|
bae744199b | ||
|
|
99d70c494d | ||
|
|
90bf59edc5 | ||
|
|
f833001e39 | ||
|
|
b561c2fce8 | ||
|
|
261c22e045 | ||
|
|
773c35a664 | ||
|
|
252beb50b6 | ||
|
|
0ef4c812c7 | ||
|
|
277f57d371 | ||
|
|
64114e331a | ||
|
|
9149d5a535 | ||
|
|
cee36ca40d | ||
|
|
f26ee27b1f | ||
|
|
11e74daddd | ||
|
|
b91cb20c69 | ||
|
|
7447f636a4 | ||
|
|
55d1931dc6 | ||
|
|
f522479035 | ||
|
|
adc9b8b27a | ||
|
|
ad906dc708 | ||
|
|
dfaf51fda4 | ||
|
|
3fac85c00d | ||
|
|
822caec907 | ||
|
|
395cfc9f1b | ||
|
|
8f1d895d17 | ||
|
|
73fcbbee97 | ||
|
|
0247f7b78d | ||
|
|
51e0107d18 | ||
|
|
2fe69e7639 | ||
|
|
37f5c682b6 | ||
|
|
62277207a4 | ||
|
|
25cd1ab02b | ||
|
|
41010b8d1e | ||
|
|
f0e2fc6c62 | ||
|
|
f033214796 | ||
|
|
182e5f7556 | ||
|
|
036a8e4fe1 | ||
|
|
cdf9cb0efb | ||
|
|
91249b9ad5 | ||
|
|
ff08bed268 | ||
|
|
ce64bf57ce | ||
|
|
811b4bea8e | ||
|
|
d584b233a5 | ||
|
|
e6be556088 | ||
|
|
0c15df15e3 | ||
|
|
769837f3ae | ||
|
|
ab2ab38fa6 | ||
|
|
eeea2b9172 | ||
|
|
f5a194ce58 | ||
|
|
2cf543b294 | ||
|
|
c5b19f3dd2 | ||
|
|
13d1568c3f | ||
|
|
a578e36038 | ||
|
|
8adbf2552b | ||
|
|
f25e78ad42 | ||
|
|
f81103e89e | ||
|
|
a4e63bb980 | ||
|
|
ab0fa80994 | ||
|
|
47fb7c2ee6 | ||
|
|
43bd93c4f5 | ||
|
|
bc3d878add | ||
|
|
5fdc01ae99 | ||
|
|
fe5650727c | ||
|
|
a7aaf073d2 | ||
|
|
703acba51f | ||
|
|
3a31d37abb | ||
|
|
ef3c3970fb | ||
|
|
4729d04d91 | ||
|
|
b9c8ddbfcc | ||
|
|
536a32c59b | ||
|
|
b82ced1061 | ||
|
|
8522539a9e | ||
|
|
0843353176 | ||
|
|
6d897f3c10 | ||
|
|
a7e0ef996a | ||
|
|
9b0281736c | ||
|
|
7b39e544c0 | ||
|
|
f75d25707d | ||
|
|
b3743a4423 | ||
|
|
8a8cb2fbb5 | ||
|
|
51d911a7f8 | ||
|
|
f41195ba8e | ||
|
|
287b5d03df | ||
|
|
3e142c802d | ||
|
|
4f9ecd71e5 | ||
|
|
294d9c2847 | ||
|
|
56b32278c4 | ||
|
|
44a67451be | ||
|
|
69edf8522c | ||
|
|
9ea06b2e58 | ||
|
|
d3b107d1a4 | ||
|
|
fb5d83e146 | ||
|
|
2d7eb9a4c3 | ||
|
|
3f727a272c | ||
|
|
b88df58cc9 | ||
|
|
b02de315b9 | ||
|
|
25f272b4cb | ||
|
|
2efc28cf63 | ||
|
|
206da2919d | ||
|
|
9b6fe52bcf | ||
|
|
b4d4d371a0 | ||
|
|
7e50055920 | ||
|
|
0dd2c29f28 | ||
|
|
214abbfd59 | ||
|
|
c8c0cf9fa2 | ||
|
|
1421059cfb | ||
|
|
805b646853 | ||
|
|
905766fa3e | ||
|
|
74a41f92a4 | ||
|
|
e27df5a5fe | ||
|
|
90d13bef33 | ||
|
|
78d0564c2a | ||
|
|
75c105a2a4 | ||
|
|
9c12b625fd | ||
|
|
d9b1ec3ce8 | ||
|
|
ab5fe769ab | ||
|
|
fed17ed383 | ||
|
|
c9ae4fd62e | ||
|
|
030cde7a20 | ||
|
|
98ed401a6c | ||
|
|
b7f660f432 | ||
|
|
a6fe79251b | ||
|
|
8001a4c1c4 | ||
|
|
685288beab | ||
|
|
5dfe006295 | ||
|
|
b043126e5e | ||
|
|
e52e68c82f | ||
|
|
0bc3d1567b | ||
|
|
6c7462b1a9 | ||
|
|
fe6bed2ad7 | ||
|
|
c092f9167c | ||
|
|
5b721a060e | ||
|
|
463515f7db | ||
|
|
982852c603 | ||
|
|
591205127a | ||
|
|
b4828e7feb | ||
|
|
61d3403d12 | ||
|
|
820d8e34c5 | ||
|
|
619b0abfd6 | ||
|
|
7bf6d847ae | ||
|
|
fdbbe61bcf | ||
|
|
10495f34f8 | ||
|
|
c1f1c89f5a | ||
|
|
1b90939dab | ||
|
|
db9668da65 | ||
|
|
1a95b844f2 | ||
|
|
25a8e2e680 | ||
|
|
ca1c9cff1a | ||
|
|
f0656a57dc | ||
|
|
aa62951a5f | ||
|
|
e1b59919bb | ||
|
|
8ecd9cc1a1 | ||
|
|
92300f954f | ||
|
|
8a5d2c130a | ||
|
|
3be0fbd817 | ||
|
|
25fe692c5c | ||
|
|
cceb9f06b8 | ||
|
|
0e34f0feaa | ||
|
|
b0feaecdb9 | ||
|
|
564565b15e | ||
|
|
e07fb46bdc | ||
|
|
8887c357ee | ||
|
|
f4c9ec5d41 | ||
|
|
28d5d987b5 | ||
|
|
46bf1647d4 | ||
|
|
f7115c3136 | ||
|
|
f012602d3a | ||
|
|
482d95c8f9 | ||
|
|
a0c6e622e4 | ||
|
|
cc0421291e | ||
|
|
30abf02de2 | ||
|
|
9ac12ce299 | ||
|
|
763db8178e | ||
|
|
d59aa1d75c | ||
|
|
2a28b92e2b | ||
|
|
3b53747b3a | ||
|
|
5daddcc2d4 | ||
|
|
390a3f6728 | ||
|
|
40c55f24ec | ||
|
|
f4516d40fe | ||
|
|
659dd9bccf | ||
|
|
9d0c66c7cb | ||
|
|
6f6d0921c0 | ||
|
|
eaaddcc9e5 | ||
|
|
c820502e69 | ||
|
|
c70498f7a9 | ||
|
|
d3dff6efe6 | ||
|
|
7f9c459995 | ||
|
|
ed0c468902 | ||
|
|
71f4e1832c | ||
|
|
3a738e249b | ||
|
|
b39960580e | ||
|
|
422d6daf6b | ||
|
|
57c2637df2 | ||
|
|
774098afa6 | ||
|
|
f3636c573f | ||
|
|
ffff13f0f3 | ||
|
|
f9736d817e | ||
|
|
00990e28f3 | ||
|
|
58decdbd88 | ||
|
|
55f7fe7f1b | ||
|
|
fb5d3347e6 | ||
|
|
af21ce90d9 | ||
|
|
1f644fe7cd | ||
|
|
d5f642b559 | ||
|
|
07b76068a4 | ||
|
|
c3cad8e5f3 | ||
|
|
8324be7fad | ||
|
|
f772ef9f2e | ||
|
|
fa6077332b | ||
|
|
0e6cf18b06 | ||
|
|
b30a1fe44a | ||
|
|
028d47d707 | ||
|
|
fba448b145 | ||
|
|
72124031ec | ||
|
|
d6c2a96ac2 | ||
|
|
4faca62679 | ||
|
|
715272eeb7 | ||
|
|
a3faa92653 | ||
|
|
e035c7abdd | ||
|
|
905c3ca3d7 | ||
|
|
126d1e6176 | ||
|
|
f808c108ed | ||
|
|
3ca19cca53 | ||
|
|
dac76c579b | ||
|
|
f54fb420d0 | ||
|
|
30493ce9b9 | ||
|
|
ba095e6a53 | ||
|
|
1ff756a104 | ||
|
|
552fec96e9 | ||
|
|
75dd3c9cab | ||
|
|
3a05e7109a | ||
|
|
fe30b71086 | ||
|
|
fafee5b8ae | ||
|
|
544ab1c78a | ||
|
|
621014be28 | ||
|
|
5b57c69ed4 | ||
|
|
9cc406633c | ||
|
|
29497cc4e1 | ||
|
|
1cc890e333 | ||
|
|
9152547b76 | ||
|
|
b2afa88fa0 | ||
|
|
9c6744778e | ||
|
|
c3f51c52d0 | ||
|
|
251ba120b5 | ||
|
|
cfdbb220d8 | ||
|
|
db9cc49a6b | ||
|
|
7d28a4295e | ||
|
|
991996b251 | ||
|
|
909fa39bc7 | ||
|
|
99d1f614f1 | ||
|
|
18e6ec82d0 | ||
|
|
d6adb6526d | ||
|
|
830fac2fea | ||
|
|
3c8b00dbd8 | ||
|
|
7e8923957f | ||
|
|
75a03ea0c3 | ||
|
|
a06249a21b | ||
|
|
9e8cacaa55 | ||
|
|
13baaea005 | ||
|
|
210ab50725 | ||
|
|
416f68c670 | ||
|
|
ac5a65bb43 | ||
|
|
2bbd1589fe | ||
|
|
99e4c14ea6 | ||
|
|
64eb1489de | ||
|
|
fe1a5b4279 | ||
|
|
aad96a8c73 | ||
|
|
9cfe7fd18d | ||
|
|
34c0328c4d | ||
|
|
9810526a89 | ||
|
|
f1d8d889b4 | ||
|
|
9fba6e082c | ||
|
|
3587fe2638 | ||
|
|
371ed6a518 | ||
|
|
a3121cf41a | ||
|
|
ec4902ae8d | ||
|
|
c4913dd55f | ||
|
|
38de07aea3 | ||
|
|
2b4e540fad | ||
|
|
33345b835c | ||
|
|
0bcae40c8a | ||
|
|
f9e9c1ad0e | ||
|
|
fc7f4e59aa | ||
|
|
b61ad0f7b6 | ||
|
|
f60e8bb05e | ||
|
|
7541ed1fc7 | ||
|
|
bd096066c3 | ||
|
|
b486fd10a4 | ||
|
|
507d9423c8 | ||
|
|
99bc714c4b | ||
|
|
70c8c629ce | ||
|
|
b73052799c | ||
|
|
6a87cc96a6 | ||
|
|
5efc08a06d | ||
|
|
b6d27bdf90 | ||
|
|
b55e5efc1c | ||
|
|
55fc5067b6 | ||
|
|
e8108d7699 | ||
|
|
f0c83dedb6 | ||
|
|
2b496c1e19 | ||
|
|
ddf2cbad1b | ||
|
|
c3df26afb4 | ||
|
|
aadebc1b7e | ||
|
|
a018d86050 | ||
|
|
59efe89450 | ||
|
|
bacabb3534 | ||
|
|
d8656bdbb2 | ||
|
|
3597bd469f | ||
|
|
c6831c7a75 | ||
|
|
a7618f432b | ||
|
|
a71b77433c | ||
|
|
8909646693 | ||
|
|
9f175afce8 | ||
|
|
02eb52b5fd | ||
|
|
3214de7924 | ||
|
|
b4fe787bb9 | ||
|
|
b0457117d8 | ||
|
|
6306766fb4 | ||
|
|
1b9326d37f | ||
|
|
59b23c198c | ||
|
|
16cbd591cd | ||
|
|
339aebc69a | ||
|
|
8dbadb41a3 | ||
|
|
1e9efded02 | ||
|
|
fc64bafb14 | ||
|
|
f5886d5802 | ||
|
|
1e4c7bf9c9 | ||
|
|
50ca26f3ec | ||
|
|
1b5190011b | ||
|
|
e21dec94d8 | ||
|
|
8f3a777a8a | ||
|
|
9ae9b3ef51 | ||
|
|
bc0a08d997 | ||
|
|
74d167d738 | ||
|
|
c92f11b368 | ||
|
|
61350bf350 | ||
|
|
8e4b34afd0 | ||
|
|
7670f112ca | ||
|
|
833a4f73fd | ||
|
|
247a6afb7e | ||
|
|
dd6c06f9a7 | ||
|
|
f9f6e9fe24 | ||
|
|
d88040edb3 | ||
|
|
c1eca48305 | ||
|
|
248442eb00 | ||
|
|
0a4834c264 | ||
|
|
9830927071 | ||
|
|
8b9c4b50e3 | ||
|
|
a959914695 | ||
|
|
943b7f9c02 | ||
|
|
88137324fc | ||
|
|
1dd81af5a2 | ||
|
|
ef21966d17 | ||
|
|
8faad0a959 | ||
|
|
76c0d8c434 | ||
|
|
ad6de59e4c | ||
|
|
911b8e8fc2 | ||
|
|
ea73325250 | ||
|
|
55dbf69573 | ||
|
|
fdf38bb5f4 | ||
|
|
5a38ab71be | ||
|
|
c81e310214 | ||
|
|
afdf3094cc | ||
|
|
6a87b59aee | ||
|
|
8822bc3c41 | ||
|
|
139a12d13c | ||
|
|
ace20fc987 | ||
|
|
958e1f72cb | ||
|
|
1be974ff96 | ||
|
|
ef6c80bbdb | ||
|
|
ce9bcb0dda | ||
|
|
deb7d2fb97 | ||
|
|
496de6922f | ||
|
|
642d0cb00b | ||
|
|
7ffba76bc3 | ||
|
|
6f52793adc | ||
|
|
e21c1cf7c6 | ||
|
|
5d9a93b61d | ||
|
|
962f35e761 | ||
|
|
ce625a617e | ||
|
|
4643860aa9 | ||
|
|
ac34d3e157 | ||
|
|
3682071b4a | ||
|
|
698d0490b1 | ||
|
|
4484c5d6ef | ||
|
|
ec99efbae8 | ||
|
|
7796cbd417 | ||
|
|
3e85995915 | ||
|
|
026507404b | ||
|
|
a607026054 | ||
|
|
11b4c1f3af | ||
|
|
dd23dac577 | ||
|
|
e3c40fef1f | ||
|
|
b9e08da165 | ||
|
|
0a7c64f6e8 | ||
|
|
2998dbfc70 | ||
|
|
eb1b3f42c4 | ||
|
|
f2da47f732 | ||
|
|
19a94503f3 | ||
|
|
f1825f0d26 | ||
|
|
fe6a56c5cb | ||
|
|
dbce6e852a | ||
|
|
406f7916ce | ||
|
|
592a223455 | ||
|
|
307749cc71 | ||
|
|
55e87e5b86 | ||
|
|
e395d1ed7c | ||
|
|
14f463593b | ||
|
|
a68fd29208 | ||
|
|
081e369ade | ||
|
|
2f605eaa99 | ||
|
|
d6de299f01 | ||
|
|
988eed8cf7 | ||
|
|
c58d84e721 | ||
|
|
e3e24a2989 | ||
|
|
81d67d5fdc | ||
|
|
50c4095c8c | ||
|
|
047269139f | ||
|
|
a89130553d | ||
|
|
beb7428f68 | ||
|
|
8c606f586e | ||
|
|
f3ad03a538 | ||
|
|
d442fe2d98 | ||
|
|
6eabeabdaa | ||
|
|
3abf58dce0 | ||
|
|
238a207f2d | ||
|
|
2db4b6df13 | ||
|
|
bf79e1bd76 | ||
|
|
3c5706ff5b | ||
|
|
86c4e7ac0f | ||
|
|
041a8295ff | ||
|
|
6fccabed2e | ||
|
|
3db8d69424 | ||
|
|
8cf3bfb14b | ||
|
|
bd820f7861 | ||
|
|
b087f675e2 | ||
|
|
14de476c8c | ||
|
|
38c202df4d | ||
|
|
d517bdf9d3 | ||
|
|
3217ffa1ac | ||
|
|
340b7a4fb8 | ||
|
|
f9b625ef5d | ||
|
|
3055e499d5 | ||
|
|
9c7161e105 | ||
|
|
8939a2190f | ||
|
|
7bf6e98bd9 | ||
|
|
8544aae3e8 | ||
|
|
720bbdfe61 | ||
|
|
5a90dd3cae | ||
|
|
23ff0240ae | ||
|
|
160107a97c | ||
|
|
1fed1a7be7 | ||
|
|
3dc4055aaf | ||
|
|
4bc283a0f2 | ||
|
|
d9fbacff90 | ||
|
|
a26aedce04 | ||
|
|
6c99961bb2 | ||
|
|
d0d360ff2d | ||
|
|
59c28780d3 | ||
|
|
e9125d6a99 | ||
|
|
4f5a52e595 | ||
|
|
d25afb294c | ||
|
|
c923cdad6e | ||
|
|
198bc059b0 | ||
|
|
c132cb5565 | ||
|
|
e07d097da1 | ||
|
|
73f881a838 | ||
|
|
cd13d24e51 | ||
|
|
e890eb89d2 | ||
|
|
3edd97731e | ||
|
|
1d89a55590 | ||
|
|
78af4c21cb | ||
|
|
9620069142 | ||
|
|
38f7e3c86b | ||
|
|
6cbd463d41 | ||
|
|
ca1788e082 | ||
|
|
2fe10c647c | ||
|
|
110c1b671e | ||
|
|
e2ed2edf6e | ||
|
|
f515574dcf | ||
|
|
ef29549f0d | ||
|
|
c2ceeb02b6 | ||
|
|
7e204759f8 | ||
|
|
17f9cb4158 | ||
|
|
a442ce607b | ||
|
|
ba609275d8 | ||
|
|
fde902cb45 | ||
|
|
1118672e8c | ||
|
|
ca1b9025fe | ||
|
|
6a2e97bead | ||
|
|
cd73b837db | ||
|
|
6b959b1e21 | ||
|
|
6e74d2f2ed | ||
|
|
9bbaca66ca | ||
|
|
4fbd6bb8a5 | ||
|
|
1d2f7ca490 | ||
|
|
3a13bb72e8 | ||
|
|
709704528c | ||
|
|
140f72b748 | ||
|
|
40338b9e40 | ||
|
|
4616c1e863 | ||
|
|
1652a60fcb | ||
|
|
0f4f4cf5dd | ||
|
|
79903575e6 | ||
|
|
c77d044dd0 | ||
|
|
b9b89705c3 | ||
|
|
7f5d91fa8f | ||
|
|
9f299a6eeb | ||
|
|
81cb24ac1d | ||
|
|
ef9ffc630a | ||
|
|
1bd3a28858 | ||
|
|
a6a46fb27f | ||
|
|
e753904d0b | ||
|
|
05419b19fc | ||
|
|
e6545faa56 | ||
|
|
be0d6b206a | ||
|
|
db48399bd8 | ||
|
|
550674d28a | ||
|
|
9e0eb2fdca | ||
|
|
afd54bbe5c | ||
|
|
1daa7b830a | ||
|
|
deb75622ca | ||
|
|
df7cf2a9d3 | ||
|
|
6fa26d7e49 | ||
|
|
4806d29d9f | ||
|
|
20ad15a1a8 | ||
|
|
51076d4061 | ||
|
|
1b00d04080 | ||
|
|
4f62c084f1 | ||
|
|
a5cc4e272b | ||
|
|
2c266f2cb6 | ||
|
|
0e1c2d1c9e | ||
|
|
a39486a341 | ||
|
|
ef7c458d73 | ||
|
|
d66d5e01c0 | ||
|
|
3fcc1e7929 | ||
|
|
b72e926ed0 | ||
|
|
3042976b65 | ||
|
|
a5e33551d7 | ||
|
|
99c1e577da | ||
|
|
d1d2cf776d | ||
|
|
ee12aff2ca | ||
|
|
7a5e632c0d | ||
|
|
98353c18bd | ||
|
|
b2147800a8 | ||
|
|
ab9e964c3e | ||
|
|
12e929e1ec | ||
|
|
4c6d8d376c | ||
|
|
8c37f531a9 | ||
|
|
3145690c95 | ||
|
|
aaaf1acc08 | ||
|
|
89bd227aeb | ||
|
|
41faaf271c | ||
|
|
f031cc7b7a | ||
|
|
ae0f4a23c0 | ||
|
|
ff34cd0a05 | ||
|
|
c9273522e9 | ||
|
|
81c0357645 | ||
|
|
b24259ed8c | ||
|
|
ca5ff0c0c2 | ||
|
|
2c48f6bd00 | ||
|
|
7db3ea76da | ||
|
|
8fd2e1d36e | ||
|
|
ad92351809 | ||
|
|
58202337dd | ||
|
|
8ee361f185 | ||
|
|
50dd616eb5 | ||
|
|
9bc6644ed1 | ||
|
|
fb6ecf33b0 | ||
|
|
9c7b96b42f | ||
|
|
43ffc1deb5 | ||
|
|
83e03772eb | ||
|
|
6e84fd8327 | ||
|
|
b29101c971 | ||
|
|
62b92ddf40 | ||
|
|
ce3d1ec9ea | ||
|
|
171deaa588 | ||
|
|
305997501d | ||
|
|
4a32895724 | ||
|
|
0df6e44a6e | ||
|
|
29afe82e79 | ||
|
|
ee54368066 | ||
|
|
f8b5d40c76 | ||
|
|
1d06bbe523 | ||
|
|
47f30b474b | ||
|
|
096279caf7 | ||
|
|
164bae2439 | ||
|
|
8a12b57483 | ||
|
|
b33a2e7dfe | ||
|
|
46c5b059f1 | ||
|
|
9838dba4a4 | ||
|
|
cce1727525 | ||
|
|
6e84657314 | ||
|
|
e1308fc432 | ||
|
|
5f99891e6d | ||
|
|
494d39f1c2 | ||
|
|
cd7a896ee4 | ||
|
|
4e575a0865 | ||
|
|
7e00924d1b | ||
|
|
e3e0289d43 | ||
|
|
e769ee8b5d | ||
|
|
633b7f93ce | ||
|
|
a82aee9a5f | ||
|
|
2d6d5cad0c | ||
|
|
2e28fad2d0 | ||
|
|
c39449fa12 | ||
|
|
6b65a1b78f | ||
|
|
77f284a175 | ||
|
|
db3fe90abd | ||
|
|
2e4e4f38e6 | ||
|
|
689f184345 | ||
|
|
1e8ef703cd | ||
|
|
b0b9eda809 | ||
|
|
bb9e268782 | ||
|
|
c3a813a37f | ||
|
|
42c8dd66d7 | ||
|
|
46e7e5f8f2 | ||
|
|
4659e43a6b | ||
|
|
d69b541c20 | ||
|
|
39b3b52a94 | ||
|
|
e962df1591 | ||
|
|
471150151d | ||
|
|
75b84b09bd | ||
|
|
1b2c820b4b | ||
|
|
cd69ff0181 | ||
|
|
299852b6b5 | ||
|
|
7d5ced1d23 | ||
|
|
1fc646e52b | ||
|
|
4442b5b743 | ||
|
|
a5301ee6b8 | ||
|
|
9c39016e1d | ||
|
|
36594716c3 | ||
|
|
2a95ab5acb | ||
|
|
284cb8ffc0 | ||
|
|
d581cbeb9e | ||
|
|
1cac34fc5b | ||
|
|
c5256dcd9d | ||
|
|
3209d1278f | ||
|
|
f5114fcddb | ||
|
|
40179a9496 | ||
|
|
a2da9930af | ||
|
|
8e48f6ec3a | ||
|
|
cc8538e1ed | ||
|
|
d26bb4d26c | ||
|
|
ebec5c6117 | ||
|
|
5527dbfac2 | ||
|
|
01e40b31fe | ||
|
|
ab84c029c4 | ||
|
|
532a8df687 | ||
|
|
8e3b094bad | ||
|
|
8a4695ed59 | ||
|
|
ed6cfe8ee6 | ||
|
|
2618dc314b | ||
|
|
96d5da7f1a | ||
|
|
e96bd2d46e | ||
|
|
9045cf049f | ||
|
|
a8f46df2c2 | ||
|
|
8d7bdb7041 | ||
|
|
2874af2cac | ||
|
|
a56b4db4ae | ||
|
|
496de34110 | ||
|
|
37309c1bd9 | ||
|
|
30cd579a14 | ||
|
|
8fb7c5a94f | ||
|
|
5b07855b2d | ||
|
|
987bca5a34 | ||
|
|
265652fe54 | ||
|
|
5c99d4e4df | ||
|
|
d8aa676175 | ||
|
|
1c8916ca0e | ||
|
|
b48686febd | ||
|
|
f03758613a | ||
|
|
ff7d250093 | ||
|
|
9dec62e0ae | ||
|
|
04a2d68778 | ||
|
|
e2f6e6f62f | ||
|
|
5f8f703dec | ||
|
|
d3074fa8bd | ||
|
|
67a126c7ba | ||
|
|
2862c93a2b | ||
|
|
a2da8fc776 | ||
|
|
99299e195b | ||
|
|
569682b478 | ||
|
|
b3ad9e1c0e | ||
|
|
bbafe0deba | ||
|
|
bbde33f6f9 | ||
|
|
59f36c5cde | ||
|
|
bd1be52990 | ||
|
|
cd290ddecb | ||
|
|
d2806d4875 | ||
|
|
fe418f6c23 | ||
|
|
521eebbce2 | ||
|
|
eb78fd8832 | ||
|
|
ec53237fb8 | ||
|
|
deaa1db852 | ||
|
|
44de4ee2e5 | ||
|
|
680cf4d946 | ||
|
|
6c78869c19 | ||
|
|
cb5b36e4dc | ||
|
|
595b2d54ed | ||
|
|
99f743ed1a | ||
|
|
dfa58496a1 | ||
|
|
4e4d737eca | ||
|
|
e1f3a10c52 | ||
|
|
14c044f1b1 | ||
|
|
6af06e74be | ||
|
|
1e3efbcf52 | ||
|
|
dbf6afee39 | ||
|
|
5beeb64c29 | ||
|
|
dde5666f42 | ||
|
|
7ef8d1d848 | ||
|
|
602dd3ac15 | ||
|
|
fbf837eac3 | ||
|
|
c9771263ae | ||
|
|
1d2beee51f | ||
|
|
c834d9f99d | ||
|
|
fddbbc158d | ||
|
|
b951d1eae2 | ||
|
|
fed65c435a | ||
|
|
a20168db02 | ||
|
|
55e0b1e81e | ||
|
|
05c5d40dd5 | ||
|
|
031088fc12 | ||
|
|
67220d101f | ||
|
|
e12f770b3e | ||
|
|
fd2e588122 | ||
|
|
cd35778542 | ||
|
|
370db827ee | ||
|
|
e6f8a55d8c | ||
|
|
80c9c77d2e | ||
|
|
ff13ed67a9 | ||
|
|
27af9a7922 | ||
|
|
553b1a01f8 | ||
|
|
763b95c6b0 | ||
|
|
556bfd498c | ||
|
|
726642498c | ||
|
|
4cd10fa88e | ||
|
|
cb9797f497 | ||
|
|
a02414cc24 | ||
|
|
c9b37b93e9 | ||
|
|
510950623a | ||
|
|
958c7bd833 | ||
|
|
22eda96a9c | ||
|
|
d9d78f705e | ||
|
|
0651432031 | ||
|
|
0f7e13cdb5 | ||
|
|
a87f597d89 | ||
|
|
2417775bb3 | ||
|
|
8ba735e1c3 | ||
|
|
d20fd310e4 | ||
|
|
0483f47192 | ||
|
|
9d1dae5daf | ||
|
|
9dd922a75c | ||
|
|
fbd17f62ea | ||
|
|
085ec19a21 | ||
|
|
6bfc56056a | ||
|
|
f356d587a2 | ||
|
|
45603a6cdf | ||
|
|
732aae11c5 | ||
|
|
c78f43b25e | ||
|
|
b33fdb17c3 | ||
|
|
91e9ba76c9 | ||
|
|
caa4324217 | ||
|
|
965f673cea | ||
|
|
ae7da889ec | ||
|
|
105a05cb90 | ||
|
|
a6100a3445 | ||
|
|
a7a814fa83 | ||
|
|
454b04176a | ||
|
|
7d7929d43f | ||
|
|
201d1722dc | ||
|
|
42b1c08ee0 | ||
|
|
12adeedf6b | ||
|
|
8e92fd2b36 | ||
|
|
7c2d969e85 | ||
|
|
5647dea421 | ||
|
|
4f4f177b0a | ||
|
|
f82395f2db | ||
|
|
90699af5f4 | ||
|
|
9c52453657 | ||
|
|
01c9aa1e76 | ||
|
|
b5c6121a5d | ||
|
|
a3385675b3 | ||
|
|
bd27f0d419 | ||
|
|
f455ac063f | ||
|
|
f9074881cd | ||
|
|
fe7aaff8cc | ||
|
|
6e4c036d5d | ||
|
|
4d5255106c | ||
|
|
9efb9b7426 | ||
|
|
565ee9e7f9 | ||
|
|
2f4832fe09 | ||
|
|
ca7d4f85a5 | ||
|
|
762c14fde5 | ||
|
|
51d31c5ff8 | ||
|
|
b4571f6190 | ||
|
|
2c17b19861 | ||
|
|
70de0b18e3 | ||
|
|
9aa2eaeb9e | ||
|
|
5e138dc1e9 | ||
|
|
cca9fbcff0 | ||
|
|
77cb2dca17 | ||
|
|
2822921c23 | ||
|
|
b8945eac22 | ||
|
|
3c781c18c9 | ||
|
|
496372dc18 | ||
|
|
2b41860efd | ||
|
|
d105690263 | ||
|
|
323635f2b5 | ||
|
|
63fa8acbac | ||
|
|
b6d1e9abdc | ||
|
|
8f79022bc6 | ||
|
|
2770f0bf9f | ||
|
|
c0ff42f676 | ||
|
|
b33ba00c9c | ||
|
|
958cc1a969 | ||
|
|
91f20982da | ||
|
|
882e59d1b3 | ||
|
|
94e96737a7 | ||
|
|
7fe579d1f5 | ||
|
|
49a8da4ea7 | ||
|
|
7d9f5ed49a | ||
|
|
4578eb0fc1 | ||
|
|
d075c0854d | ||
|
|
256fc4754b | ||
|
|
e4741cd8f2 | ||
|
|
272eb4b8bf | ||
|
|
e1e10743cf | ||
|
|
5550fb330a | ||
|
|
14c060bbeb | ||
|
|
b14c8bdb1c | ||
|
|
f5551a9602 |
30
BRANCH.md
Normal file
30
BRANCH.md
Normal file
@@ -0,0 +1,30 @@
|
||||
This branch is for the development of a test VOL connector to better
|
||||
test the VOL API. In particular, this will expose any issues where
|
||||
we've baked 'native file'-ness into the API.
|
||||
|
||||
The intent is to implement 100% of the HDF5 library's functionality
|
||||
so it can be transparently subbed in for the native VOL connector.
|
||||
|
||||
The JSON parser I've chosen is Jannsen, which is used in other THG
|
||||
products and projects and has an MIT license.
|
||||
|
||||
It currently only supports the Autotools, but it will not be difficult
|
||||
to add CMake support.
|
||||
|
||||
Plan:
|
||||
* Implement configuration and building via the autotools. (DONE)
|
||||
* Add a test program that loads the connector. (DONE)
|
||||
* Implement basic file operations.
|
||||
* Implement group operations.
|
||||
* Implement basic dataset operations.
|
||||
* Implement basic attribute operations.
|
||||
|
||||
NOTES:
|
||||
* The internets says to use libuuid to generate UUIDs as it's pretty
|
||||
lightweight.
|
||||
* Due to dependencies on libuuid and jansson, we're going to need to
|
||||
protect the code and only build when everything is present. I think
|
||||
this is okay since this is more of a test for ensuring the VOL doesn't
|
||||
suck than it is a test that someone's build is working normally.
|
||||
* Partial I/O is going to be crazy slow unless I want to add in some
|
||||
sort of optimized data container behind the scenes.
|
||||
@@ -27,7 +27,15 @@ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MAT
|
||||
set (TGZPATH ${HDF5_SOURCE_DIR})
|
||||
endif ()
|
||||
set (ZLIB_URL ${TGZPATH}/${ZLIB_TGZ_NAME})
|
||||
if (NOT EXISTS "${ZLIB_URL}")
|
||||
set (HDF5_ENABLE_Z_LIB_SUPPORT OFF CACHE BOOL "" FORCE)
|
||||
message (STATUS "Filter ZLIB file ${ZLIB_URL} not found")
|
||||
endif ()
|
||||
set (SZIP_URL ${TGZPATH}/${SZIP_TGZ_NAME})
|
||||
if (NOT EXISTS "${SZIP_URL}")
|
||||
set (HDF5_ENABLE_SZIP_SUPPORT OFF CACHE BOOL "" FORCE)
|
||||
message (STATUS "Filter SZIP file ${SZIP_URL} not found")
|
||||
endif ()
|
||||
else ()
|
||||
set (ZLIB_USE_EXTERNAL 0)
|
||||
set (SZIP_USE_EXTERNAL 0)
|
||||
|
||||
@@ -104,6 +104,12 @@ endif ()
|
||||
# Configure the hdf5-config-version .cmake file for the install directory
|
||||
#-----------------------------------------------------------------------------
|
||||
if (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
# 3.11 or greater
|
||||
#write_basic_package_version_file (
|
||||
# ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake
|
||||
# VERSION ${HDF5_PACKAGE_VERSION}
|
||||
# COMPATIBILITY SameMinorVersion
|
||||
#)
|
||||
configure_file (
|
||||
${HDF_RESOURCES_DIR}/hdf5-config-version.cmake.in
|
||||
${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake @ONLY
|
||||
@@ -125,7 +131,7 @@ else ()
|
||||
endif ()
|
||||
configure_file (
|
||||
${HDF_RESOURCES_DIR}/libhdf5.settings.cmake.in
|
||||
${HDF5_BINARY_DIR}/libhdf5.settings @ONLY
|
||||
${HDF5_BINARY_DIR}/libhdf5.settings ESCAPE_QUOTES @ONLY
|
||||
)
|
||||
install (
|
||||
FILES ${HDF5_BINARY_DIR}/libhdf5.settings
|
||||
@@ -134,7 +140,7 @@ install (
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure the HDF518_Examples.cmake file and the examples
|
||||
# Configure the HDF5_Examples.cmake file and the examples
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_PACK_EXAMPLES "Package the HDF5 Library Examples Compressed File" OFF)
|
||||
if (HDF5_PACK_EXAMPLES)
|
||||
@@ -215,6 +221,7 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
if (HDF5_PACK_INSTALL_DOCS)
|
||||
set (release_files
|
||||
${release_files}
|
||||
${HDF5_SOURCE_DIR}/release_docs/INSTALL_Warnings.txt
|
||||
${HDF5_SOURCE_DIR}/release_docs/INSTALL_CMake.txt
|
||||
${HDF5_SOURCE_DIR}/release_docs/HISTORY-1_8.txt
|
||||
${HDF5_SOURCE_DIR}/release_docs/INSTALL
|
||||
|
||||
121
CMakeLists.txt
121
CMakeLists.txt
@@ -10,7 +10,7 @@ project (HDF5 C)
|
||||
# set CMAKE_INSTALL_PREFIX to the required install path.
|
||||
# Make install can be used to install all components for system-wide use.
|
||||
#
|
||||
if ("${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
|
||||
MESSAGE(FATAL_ERROR "\nERROR! ${PROJECT_NAME} DOES NOT SUPPORT IN SOURCE BUILDS!\n"
|
||||
"CMAKE_CURRENT_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
" == CMAKE_CURRENT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}\n"
|
||||
@@ -46,6 +46,9 @@ endif ()
|
||||
# dependencies of the HDF5 libs may be 'incomplete', add additional
|
||||
# dependencies to this variable so that external projects pick them up
|
||||
#
|
||||
#option (HDF5_EXTERNAL_LIB_PREFIX "Use prefix for custom library naming." "")
|
||||
set (HDF5_EXTERNAL_LIB_PREFIX "" CACHE STRING "Use prefix for custom library naming.")
|
||||
mark_as_advanced (HDF5_EXTERNAL_LIB_PREFIX)
|
||||
# HDF5_EXTERNAL_LIB_PREFIX :
|
||||
# If the parent project needs to install hdf libraries, but avoid
|
||||
# name conflicts with system versions, then a prefix may be added
|
||||
@@ -311,7 +314,7 @@ set (HDF5_PACKAGE_NAME "HDF5")
|
||||
set (HDF5_PACKAGE_VERSION "${H5_VERS_MAJOR}.${H5_VERS_MINOR}.${H5_VERS_RELEASE}")
|
||||
set (HDF5_PACKAGE_VERSION_MAJOR "${H5_VERS_MAJOR}.${H5_VERS_MINOR}")
|
||||
set (HDF5_PACKAGE_VERSION_MINOR "${H5_VERS_RELEASE}")
|
||||
if (NOT "${H5_VERS_SUBRELEASE}" STREQUAL "")
|
||||
if (H5_VERS_SUBRELEASE)
|
||||
set (HDF5_PACKAGE_VERSION_STRING "${HDF5_PACKAGE_VERSION}-${H5_VERS_SUBRELEASE}")
|
||||
else ()
|
||||
set (HDF5_PACKAGE_VERSION_STRING "${HDF5_PACKAGE_VERSION}")
|
||||
@@ -430,7 +433,7 @@ set (CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option to Build Static executables
|
||||
#-----------------------------------------------------------------------------
|
||||
option (BUILD_STATIC_EXECS "Build Static Executabless" OFF)
|
||||
option (BUILD_STATIC_EXECS "Build Static Executables" OFF)
|
||||
if (BUILD_STATIC_EXECS)
|
||||
if (NOT WIN32)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static")
|
||||
@@ -443,9 +446,14 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_COVERAGE "Enable code coverage for Libraries and Programs" OFF)
|
||||
if (HDF5_ENABLE_COVERAGE)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
|
||||
set (LDFLAGS "${LDFLAGS} -fprofile-arcs -ftest-coverage")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 --coverage -fprofile-arcs -ftest-coverage")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g --coverage -O0 -fprofile-arcs -ftest-coverage")
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
set (LDFLAGS "${LDFLAGS} -fprofile-arcs -ftest-coverage")
|
||||
link_libraries (gcov)
|
||||
else ()
|
||||
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
@@ -473,6 +481,15 @@ if (HDF5_MEMORY_ALLOC_SANITY_CHECK)
|
||||
set (H5_MEMORY_ALLOC_SANITY_CHECK 1)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option to enable/disable using pread/pwrite for VFDs
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_PREADWRITE "Use pread/pwrite in sec2/log/core VFDs in place of read/write (when available)" ON)
|
||||
mark_as_advanced (HDF5_ENABLE_PREADWRITE)
|
||||
if (HDF5_ENABLE_PREADWRITE AND H5_HAVE_PREAD AND H5_HAVE_PWRITE)
|
||||
set (H5_HAVE_PREADWRITE 1)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option to use deprecated public API symbols
|
||||
#-----------------------------------------------------------------------------
|
||||
@@ -543,11 +560,11 @@ else ()
|
||||
endif ()
|
||||
|
||||
include (${HDF_RESOURCES_DIR}/HDFCompilerFlags.cmake)
|
||||
set (CMAKE_MODULE_PATH ${HDF_RESOURCES_DIR} ${HDF_RESOURCES_EXT_DIR} ${CMAKE_MODULE_PATH})
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option to Enable MPI Parallel
|
||||
#-----------------------------------------------------------------------------
|
||||
set (CMAKE_MODULE_PATH ${HDF_RESOURCES_DIR} ${HDF_RESOURCES_EXT_DIR} ${CMAKE_MODULE_PATH})
|
||||
option (HDF5_ENABLE_PARALLEL "Enable parallel build (requires MPI)" OFF)
|
||||
if (HDF5_ENABLE_PARALLEL)
|
||||
find_package(MPI REQUIRED)
|
||||
@@ -555,12 +572,33 @@ if (HDF5_ENABLE_PARALLEL)
|
||||
set (H5_HAVE_PARALLEL 1)
|
||||
# MPI checks, only do these if MPI_C_FOUND is true, otherwise they always fail
|
||||
# and once set, they are cached as false and not regenerated
|
||||
set (CMAKE_REQUIRED_LIBRARIES "${MPI_C_LIBRARIES}" )
|
||||
set (CMAKE_REQUIRED_LIBRARIES "${MPI_C_LIBRARIES}")
|
||||
set (CMAKE_REQUIRED_INCLUDES "${MPI_C_INCLUDE_DIRS}")
|
||||
# Used by Fortran + MPI
|
||||
CHECK_SYMBOL_EXISTS (MPI_Comm_c2f "${MPI_C_INCLUDE_DIRS}/mpi.h" H5_HAVE_MPI_MULTI_LANG_Comm)
|
||||
CHECK_SYMBOL_EXISTS (MPI_Info_c2f "${MPI_C_INCLUDE_DIRS}/mpi.h" H5_HAVE_MPI_MULTI_LANG_Info)
|
||||
CHECK_SYMBOL_EXISTS (MPI_Comm_c2f "mpi.h" H5_HAVE_MPI_MULTI_LANG_Comm)
|
||||
CHECK_SYMBOL_EXISTS (MPI_Info_c2f "mpi.h" H5_HAVE_MPI_MULTI_LANG_Info)
|
||||
|
||||
# Used by Parallel Compression feature
|
||||
set (PARALLEL_FILTERED_WRITES ON)
|
||||
CHECK_SYMBOL_EXISTS (MPI_Mprobe "mpi.h" H5_HAVE_MPI_Mprobe)
|
||||
CHECK_SYMBOL_EXISTS (MPI_Imrecv "mpi.h" H5_HAVE_MPI_Imrecv)
|
||||
if (NOT H5_HAVE_MPI_Mprobe OR NOT H5_HAVE_MPI_Imrecv)
|
||||
message (WARNING "The MPI_Mprobe and/or MPI_Imrecv functions could not be located.
|
||||
Parallel writes of filtered data will be disabled.")
|
||||
set (PARALLEL_FILTERED_WRITES OFF)
|
||||
endif ()
|
||||
|
||||
# Used by big I/O feature
|
||||
set (LARGE_PARALLEL_IO ON)
|
||||
CHECK_SYMBOL_EXISTS (MPI_Get_elements_x "mpi.h" H5_HAVE_MPI_Get_elements_x)
|
||||
CHECK_SYMBOL_EXISTS (MPI_Type_size_x "mpi.h" H5_HAVE_MPI_Type_size_x)
|
||||
if (NOT H5_HAVE_MPI_Get_elements_x OR NOT H5_HAVE_MPI_Type_size_x)
|
||||
message (WARNING "The MPI_Get_elements_x and/or MPI_Type_size_x functions could not be located.
|
||||
Reading/Writing >2GB of data in a single parallel I/O operation will be disabled.")
|
||||
set (LARGE_PARALLEL_IO OFF)
|
||||
endif ()
|
||||
else ()
|
||||
message (STATUS "Parallel libraries not found")
|
||||
message (FATAL_ERROR "Parallel libraries not found")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
@@ -593,6 +631,26 @@ if (HDF5_USE_18_API_DEFAULT)
|
||||
set (DEFAULT_API_VERSION "v18")
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option to use 1.10.x API
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_USE_110_API_DEFAULT "Use the HDF5 1.10.x API by default" OFF)
|
||||
set (H5_USE_110_API_DEFAULT 0)
|
||||
if (HDF5_USE_110_API_DEFAULT)
|
||||
set (H5_USE_110_API_DEFAULT 1)
|
||||
set (DEFAULT_API_VERSION "v110")
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option to use 1.12.x API
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_USE_112_API_DEFAULT "Use the HDF5 1.12.x API by default" ON)
|
||||
set (H5_USE_112_API_DEFAULT 0)
|
||||
if (HDF5_USE_112_API_DEFAULT)
|
||||
set (H5_USE_112_API_DEFAULT 1)
|
||||
set (DEFAULT_API_VERSION "v112")
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Include user macros
|
||||
#-----------------------------------------------------------------------------
|
||||
@@ -625,8 +683,10 @@ endif ()
|
||||
option (HDF5_ENABLE_THREADSAFE "Enable thread-safety" OFF)
|
||||
if (HDF5_ENABLE_THREADSAFE)
|
||||
# check for unsupported options
|
||||
message (STATUS " **** thread-safety option not supported with static library **** ")
|
||||
message (STATUS " **** thread-safety option will not be used building static library **** ")
|
||||
if (WIN32)
|
||||
message (STATUS " **** thread-safety option not supported with static library **** ")
|
||||
message (STATUS " **** thread-safety option will not be used building static library **** ")
|
||||
endif ()
|
||||
if (HDF5_ENABLE_PARALLEL)
|
||||
if (NOT ALLOW_UNSUPPORTED)
|
||||
message (FATAL_ERROR " **** parallel and thread-safety options are not supported **** ")
|
||||
@@ -664,9 +724,9 @@ if (HDF5_ENABLE_THREADSAFE)
|
||||
endif ()
|
||||
endif ()
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
find_package(Threads)
|
||||
if (NOT Threads_FOUND)
|
||||
message (STATUS " **** thread-safe package not found - threads still might work **** ")
|
||||
find_package(Threads REQUIRED)
|
||||
if (Threads_FOUND)
|
||||
set (H5_HAVE_THREADSAFE 1)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
@@ -700,6 +760,11 @@ if (BUILD_TESTING)
|
||||
"Timeout in seconds for each test (default 1200=20minutes)"
|
||||
)
|
||||
|
||||
# Generate a list of timeouts based on DART_TESTING_TIMEOUT
|
||||
math (EXPR CTEST_SHORT_TIMEOUT "${DART_TESTING_TIMEOUT} / 2")
|
||||
math (EXPR CTEST_LONG_TIMEOUT "${DART_TESTING_TIMEOUT} * 2")
|
||||
math (EXPR CTEST_VERY_LONG_TIMEOUT "${DART_TESTING_TIMEOUT} * 3")
|
||||
|
||||
option (HDF5_TEST_VFD "Execute tests with different VFDs" OFF)
|
||||
mark_as_advanced (HDF5_TEST_VFD)
|
||||
if (HDF5_TEST_VFD)
|
||||
@@ -707,6 +772,13 @@ if (BUILD_TESTING)
|
||||
mark_as_advanced (HDF5_TEST_FHEAP_VFD)
|
||||
endif ()
|
||||
|
||||
option (HDF5_TEST_VOL "Execute tests with different VOL connectors" OFF)
|
||||
mark_as_advanced (HDF5_TEST_VOL)
|
||||
if (HDF5_TEST_VOL)
|
||||
option (HDF5_TEST_FHEAP_VOL "Execute fheap test with different VOL connectors" ON)
|
||||
mark_as_advanced (HDF5_TEST_FHEAP_VOL)
|
||||
endif ()
|
||||
|
||||
option (HDF_TEST_EXPRESS "Control testing framework (0-3)" "0")
|
||||
mark_as_advanced (HDF_TEST_EXPRESS)
|
||||
|
||||
@@ -770,25 +842,20 @@ set (H5_FC_FUNC_ "H5_FC_FUNC_(name,NAME) name ## _")
|
||||
if (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/fortran")
|
||||
option (HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF)
|
||||
if (HDF5_BUILD_FORTRAN)
|
||||
|
||||
option (HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" ON)
|
||||
|
||||
include (${HDF_RESOURCES_EXT_DIR}/HDFUseFortran.cmake)
|
||||
|
||||
message (STATUS "Fortran compiler ID is ${CMAKE_Fortran_COMPILER_ID}")
|
||||
# Building with PGI requires CMake 3.3 or greater because previous versions
|
||||
# of CMake add the wrong compiler flag for the PGI Fortran compiler.
|
||||
if ("${CMAKE_Fortran_COMPILER_ID}" MATCHES "PGI" AND "${CMAKE_VERSION}" VERSION_LESS "3.3")
|
||||
if (CMAKE_Fortran_COMPILER_ID MATCHES "PGI" AND CMAKE_VERSION VERSION_LESS "3.3")
|
||||
message (FATAL_ERROR " **** PGI FORTRAN REQUIRES CMAKE VERSION 3.3 OR GREATER **** ")
|
||||
endif ()
|
||||
|
||||
include (${HDF_RESOURCES_DIR}/HDF5UseFortran.cmake)
|
||||
set (LINK_Fortran_LIBS ${LINK_LIBS})
|
||||
|
||||
if (HDF5_ENABLE_F2003)
|
||||
if (NOT FORTRAN_HAVE_ISO_C_BINDING)
|
||||
set (HDF5_ENABLE_F2003 OFF)
|
||||
endif ()
|
||||
if (NOT H5_FORTRAN_HAVE_ISO_C_BINDING)
|
||||
message (FATAL_ERROR " **** Fortran compiler lacks required Fortran 2003 features; unsupported Fortran 2003 compiler, disable HDF5_BUILD_FORTRAN **** ")
|
||||
endif ()
|
||||
|
||||
# Parallel IO usage requires MPI to be Linked and Included
|
||||
@@ -864,4 +931,10 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
configure_file (${HDF_RESOURCES_DIR}/H5pubconf.h.in ${HDF5_BINARY_DIR}/H5pubconf.h @ONLY)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Options for use by cross compiling and toolchains
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_USE_PREGEN "Use pre-generated Files" OFF)
|
||||
option (HDF5_BATCH_H5DETECT "Use a batch command for running h5detect" OFF)
|
||||
|
||||
include (CMakeInstallation.cmake)
|
||||
|
||||
43
COPYING
43
COPYING
@@ -3,7 +3,7 @@ HDF5 (Hierarchical Data Format 5) Software Library and Utilities
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
HDF5 (Hierarchical Data Format 5) Software Library and Utilities
|
||||
Copyright (c) 2006, The HDF Group.
|
||||
Copyright (c) 2006-2018, The HDF Group.
|
||||
|
||||
NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities
|
||||
Copyright (c) 1998-2006, The Board of Trustees of the University of Illinois.
|
||||
@@ -21,27 +21,27 @@ provided that the following conditions are met:
|
||||
this list of conditions, and the following disclaimer in the documentation
|
||||
and/or materials provided with the distribution.
|
||||
|
||||
3. In addition, redistributions of modified forms of the source or binary
|
||||
code must carry prominent notices stating that the original code was
|
||||
changed and the date of the change.
|
||||
|
||||
4. All publications or advertising materials mentioning features or use of
|
||||
this software are asked, but not required, to acknowledge that it was
|
||||
developed by The HDF Group and by the National Center for Supercomputing
|
||||
Applications at the University of Illinois at Urbana-Champaign and
|
||||
credit the contributors.
|
||||
|
||||
5. Neither the name of The HDF Group, the name of the University, nor the
|
||||
3. Neither the name of The HDF Group, the name of the University, nor the
|
||||
name of any Contributor may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission from
|
||||
The HDF Group, the University, or the Contributor, respectively.
|
||||
|
||||
DISCLAIMER:
|
||||
THIS SOFTWARE IS PROVIDED BY THE HDF GROUP AND THE CONTRIBUTORS
|
||||
"AS IS" WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. In no
|
||||
event shall The HDF Group or the Contributors be liable for any damages
|
||||
suffered by the users arising out of the use of this software, even if
|
||||
advised of the possibility of such damage.
|
||||
"AS IS" WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. IN NO
|
||||
EVENT SHALL THE HDF GROUP OR THE CONTRIBUTORS BE LIABLE FOR ANY DAMAGES
|
||||
SUFFERED BY THE USERS ARISING OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
You are under no obligation whatsoever to provide any bug fixes, patches, or
|
||||
upgrades to the features, functionality or performance of the source code
|
||||
("Enhancements") to anyone; however, if you choose to make your Enhancements
|
||||
available either publicly, or directly to The HDF Group, without imposing a
|
||||
separate written license agreement for such Enhancements, then you hereby
|
||||
grant the following license: a non-exclusive, royalty-free perpetual license
|
||||
to install, use, modify, prepare derivative works, incorporate into other
|
||||
computer software, distribute, and sublicense such enhancements or derivative
|
||||
works thereof, in binary and source code form.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
-----------------------------------------------------------------------------
|
||||
@@ -55,9 +55,9 @@ http://support.hdfgroup.org/ftp/HDF5/releases/COPYING_LBNL_HDF5.
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Contributors: National Center for Supercomputing Applications (NCSA) at
|
||||
the University of Illinois, Fortner Software, Unidata Program Center (netCDF),
|
||||
The Independent JPEG Group (JPEG), Jean-loup Gailly and Mark Adler (gzip),
|
||||
and Digital Equipment Corporation (DEC).
|
||||
the University of Illinois, Fortner Software, Unidata Program Center
|
||||
(netCDF), The Independent JPEG Group (JPEG), Jean-loup Gailly and Mark Adler
|
||||
(gzip), and Digital Equipment Corporation (DEC).
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
@@ -98,8 +98,9 @@ and/or accompanying materials:
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
HDF5 is available with the SZIP compression library but SZIP is not part
|
||||
of HDF5 and has separate copyright and license terms. See “Szip Compression
|
||||
in HDF Products” (https://support.hdfgroup.org/doc_resource/SZIP/) for further details.
|
||||
of HDF5 and has separate copyright and license terms. See SZIP Compression
|
||||
in HDF Products (www.hdfgroup.org/doc_resource/SZIP/) for further details.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
@@ -19,12 +19,23 @@ set (CTEST_PROJECT_NAME "HDF5")
|
||||
set (CTEST_NIGHTLY_START_TIME "18:00:00 CST")
|
||||
|
||||
set (CTEST_DROP_METHOD "http")
|
||||
if (CDASH_LOCAL)
|
||||
set (CTEST_DROP_SITE "cdash-internal.hdfgroup.org")
|
||||
set (CTEST_DROP_LOCATION "/submit.php?project=HDF5Trunk")
|
||||
if (CTEST_DROP_SITE_INIT)
|
||||
set (CTEST_DROP_SITE "${CTEST_DROP_SITE_INIT}")
|
||||
else ()
|
||||
set (CTEST_DROP_SITE "cdash.hdfgroup.org")
|
||||
set (CTEST_DROP_LOCATION "/submit.php?project=HDF5")
|
||||
if (CDASH_LOCAL)
|
||||
set (CTEST_DROP_SITE "cdash-internal.hdfgroup.org")
|
||||
else ()
|
||||
set (CTEST_DROP_SITE "cdash.hdfgroup.org")
|
||||
endif ()
|
||||
endif ()
|
||||
if (CTEST_DROP_LOCATION_INIT)
|
||||
set (CTEST_DROP_LOCATION "${CTEST_DROP_LOCATION_INIT}")
|
||||
else ()
|
||||
if (CDASH_LOCAL)
|
||||
set (CTEST_DROP_LOCATION "/submit.php?project=HDF5Trunk")
|
||||
else ()
|
||||
set (CTEST_DROP_LOCATION "/submit.php?project=HDF5")
|
||||
endif ()
|
||||
endif ()
|
||||
set (CTEST_DROP_SITE_CDASH TRUE)
|
||||
|
||||
@@ -34,9 +45,9 @@ set (VALGRIND_COMMAND_OPTIONS "-v --tool=memcheck --leak-check=full --track-fds=
|
||||
set (CTEST_MEMORYCHECK_COMMAND "/usr/bin/valgrind")
|
||||
set (CTEST_MEMORYCHECK_COMMAND_OPTIONS "-v --tool=memcheck --leak-check=full --track-fds=yes --num-callers=50 --show-reachable=yes --track-origins=yes --malloc-fill=0xff --free-fill=0xfe")
|
||||
|
||||
set (CTEST_TEST_TIMEOUT 600 CACHE STRING
|
||||
set (CTEST_TEST_TIMEOUT 1200 CACHE STRING
|
||||
"Maximum time allowed before CTest will kill the test.")
|
||||
set (DART_TESTING_TIMEOUT 600 CACHE STRING
|
||||
set (DART_TESTING_TIMEOUT 1200 CACHE STRING
|
||||
"Maximum time allowed before CTest will kill the test." FORCE)
|
||||
|
||||
SET(CTEST_SUBMIT_RETRY_DELAY 20 CACHE STRING
|
||||
|
||||
189
MANIFEST
189
MANIFEST
@@ -23,6 +23,7 @@
|
||||
./.autom4te.cfg _DO_NOT_DISTRIBUTE_
|
||||
./.h5chkright.ini _DO_NOT_DISTRIBUTE_
|
||||
./ACKNOWLEDGMENTS
|
||||
./BRANCH.md _DO_NOT_DISTRIBUTE_
|
||||
./COPYING
|
||||
./COPYING_LBNL_HDF5
|
||||
./MANIFEST
|
||||
@@ -92,6 +93,20 @@
|
||||
./bin/timekeeper _DO_NOT_DISTRIBUTE_
|
||||
./bin/trace
|
||||
./bin/yodconfigure
|
||||
./bin/batch/cori_ctestP.sl.in.cmake
|
||||
./bin/batch/cori_ctestS.sl.in.cmake
|
||||
./bin/batch/cori_knl_ctestP.sl.in.cmake
|
||||
./bin/batch/cori_knl_ctestS.sl.in.cmake
|
||||
./bin/batch/ctestP.lsf.in.cmake
|
||||
./bin/batch/ctestP.sl.in.cmake
|
||||
./bin/batch/ctestS.lsf.in.cmake
|
||||
./bin/batch/ctestS.sl.in.cmake
|
||||
./bin/batch/knl_ctestP.sl.in.cmake
|
||||
./bin/batch/knl_ctestS.sl.in.cmake
|
||||
./bin/batch/knl_H5detect.sl.in.cmake
|
||||
./bin/batch/ray_ctestP.lsf.in.cmake
|
||||
./bin/batch/ray_ctestS.lsf.in.cmake
|
||||
./bin/batch/raybsub
|
||||
./bin/pkgscrpts/h5rmflags _DO_NOT_DISTRIBUTE_
|
||||
./bin/pkgscrpts/makeHDF5BinaryTarfiles.pl _DO_NOT_DISTRIBUTE_
|
||||
./bin/pkgscrpts/makeInternalREADME.pl _DO_NOT_DISTRIBUTE_
|
||||
@@ -445,7 +460,10 @@
|
||||
./release_docs/INSTALL_CMake.txt
|
||||
./release_docs/INSTALL_Cygwin.txt
|
||||
./release_docs/INSTALL_parallel
|
||||
./release_docs/INSTALL_Warnings.txt
|
||||
./release_docs/INSTALL_Windows.txt
|
||||
./release_docs/README_HDF5_CMake
|
||||
./release_docs/README_HPC
|
||||
./release_docs/RELEASE.txt
|
||||
./release_docs/USING_HDF5_CMake.txt
|
||||
./release_docs/USING_HDF5_VS.txt
|
||||
@@ -481,7 +499,6 @@
|
||||
./src/H5Apublic.h
|
||||
./src/H5AC.c
|
||||
./src/H5ACdbg.c
|
||||
./src/H5AClog.c
|
||||
./src/H5ACmodule.h
|
||||
./src/H5ACmpio.c
|
||||
./src/H5ACpkg.h
|
||||
@@ -494,7 +511,6 @@
|
||||
./src/H5Bmodule.h
|
||||
./src/H5Bpkg.h
|
||||
./src/H5Bprivate.h
|
||||
./src/H5Bpublic.h
|
||||
./src/H5B2.c
|
||||
./src/H5B2cache.c
|
||||
./src/H5B2dbg.c
|
||||
@@ -505,7 +521,6 @@
|
||||
./src/H5B2module.h
|
||||
./src/H5B2pkg.h
|
||||
./src/H5B2private.h
|
||||
./src/H5B2public.h
|
||||
./src/H5B2stat.c
|
||||
./src/H5B2test.c
|
||||
./src/H5C.c
|
||||
@@ -513,6 +528,9 @@
|
||||
./src/H5Cepoch.c
|
||||
./src/H5Cimage.c
|
||||
./src/H5Clog.c
|
||||
./src/H5Clog.h
|
||||
./src/H5Clog_json.c
|
||||
./src/H5Clog_trace.c
|
||||
./src/H5Cmodule.h
|
||||
./src/H5Cmpio.c
|
||||
./src/H5Cpkg.h
|
||||
@@ -525,8 +543,8 @@
|
||||
./src/H5CS.c
|
||||
./src/H5CSprivate.h
|
||||
./src/H5CX.c
|
||||
./src/H5CXprivate.h
|
||||
./src/H5CXmodule.h
|
||||
./src/H5CXprivate.h
|
||||
./src/H5D.c
|
||||
./src/H5Dbtree.c
|
||||
./src/H5Dbtree2.c
|
||||
@@ -575,6 +593,7 @@
|
||||
./src/H5EAsblock.c
|
||||
./src/H5EAstat.c
|
||||
./src/H5EAtest.c
|
||||
./src/H5ESpublic.h
|
||||
./src/H5F.c
|
||||
./src/H5Faccum.c
|
||||
./src/H5Fcwfs.c
|
||||
@@ -649,7 +668,6 @@
|
||||
./src/H5FSmodule.h
|
||||
./src/H5FSpkg.h
|
||||
./src/H5FSprivate.h
|
||||
./src/H5FSpublic.h
|
||||
./src/H5FSsection.c
|
||||
./src/H5FSstat.c
|
||||
./src/H5FStest.c
|
||||
@@ -689,7 +707,6 @@
|
||||
./src/H5HFmodule.h
|
||||
./src/H5HFpkg.h
|
||||
./src/H5HFprivate.h
|
||||
./src/H5HFpublic.h
|
||||
./src/H5HFsection.c
|
||||
./src/H5HFspace.c
|
||||
./src/H5HFstat.c
|
||||
@@ -701,7 +718,6 @@
|
||||
./src/H5HGmodule.h
|
||||
./src/H5HGpkg.h
|
||||
./src/H5HGprivate.h
|
||||
./src/H5HGpublic.h
|
||||
./src/H5HGquery.c
|
||||
./src/H5HL.c
|
||||
./src/H5HLcache.c
|
||||
@@ -712,7 +728,6 @@
|
||||
./src/H5HLpkg.h
|
||||
./src/H5HLprfx.c
|
||||
./src/H5HLprivate.h
|
||||
./src/H5HLpublic.h
|
||||
./src/H5HP.c
|
||||
./src/H5HPprivate.h
|
||||
./src/H5I.c
|
||||
@@ -885,6 +900,25 @@
|
||||
./src/H5Tvlen.c
|
||||
./src/H5TS.c
|
||||
./src/H5TSprivate.h
|
||||
./src/H5VL.c
|
||||
./src/H5VLcallback.c
|
||||
./src/H5VLint.c
|
||||
./src/H5VLmodule.h
|
||||
./src/H5VLnative.c
|
||||
./src/H5VLnative.h
|
||||
./src/H5VLnative_attr.c
|
||||
./src/H5VLnative_dataset.c
|
||||
./src/H5VLnative_datatype.c
|
||||
./src/H5VLnative_file.c
|
||||
./src/H5VLnative_group.c
|
||||
./src/H5VLnative_link.c
|
||||
./src/H5VLnative_object.c
|
||||
./src/H5VLnative_private.h
|
||||
./src/H5VLpassthru.c
|
||||
./src/H5VLpassthru.h
|
||||
./src/H5VLpkg.h
|
||||
./src/H5VLprivate.h
|
||||
./src/H5VLpublic.h
|
||||
./src/H5VM.c
|
||||
./src/H5VMprivate.h
|
||||
./src/H5WB.c
|
||||
@@ -944,6 +978,7 @@
|
||||
./test/cross_read.c
|
||||
./test/dangle.c
|
||||
./test/deflate.h5
|
||||
./test/del_many_dense_attrs.c
|
||||
./test/direct_chunk.c
|
||||
./test/dsets.c
|
||||
./test/dt_arith.c
|
||||
@@ -997,6 +1032,7 @@
|
||||
./test/gen_deflate.c
|
||||
./test/gen_file_image.c
|
||||
./test/gen_filespace.c
|
||||
./test/gen_filters.c
|
||||
./test/gen_mergemsg.c
|
||||
./test/gen_new_array.c
|
||||
./test/gen_new_fill.c
|
||||
@@ -1026,11 +1062,15 @@
|
||||
./test/h5test.h
|
||||
./test/hyperslab.c
|
||||
./test/istore.c
|
||||
./test/json_vol.c
|
||||
./test/json_vol_connector.c
|
||||
./test/json_vol_connector.h
|
||||
./test/le_data.h5
|
||||
./test/le_extlink1.h5
|
||||
./test/le_extlink2.h5
|
||||
./test/lheap.c
|
||||
./test/links.c
|
||||
./test/memleak_H5O_dtype_decode_helper_H5Odtype.h5
|
||||
./test/mergemsg.h5
|
||||
./test/mf.c
|
||||
./test/mount.c
|
||||
@@ -1040,6 +1080,8 @@
|
||||
./test/noencoder.h5
|
||||
./test/none.h5
|
||||
./test/ntypes.c
|
||||
./test/null_vol_connector.c
|
||||
./test/null_vol_connector.h
|
||||
./test/ohdr.c
|
||||
./test/objcopy.c
|
||||
./test/page_buffer.c
|
||||
@@ -1075,17 +1117,21 @@
|
||||
./test/tcheck_version.c
|
||||
./test/tconfig.c
|
||||
./test/tcoords.c
|
||||
./test/testabort_fail.sh.in
|
||||
./test/testcheck_version.sh.in
|
||||
./test/testerror.sh.in
|
||||
./test/testlinks_env.sh.in
|
||||
./test/test_filenotclosed.sh.in
|
||||
./test/test_filter_plugin.sh.in
|
||||
./test/test_filters_le.h5
|
||||
./test/test_filters_be.h5
|
||||
./test/testflushrefresh.sh.in
|
||||
./test/testframe.c
|
||||
./test/testhdf5.c
|
||||
./test/testhdf5.h
|
||||
./test/test_json_vol.sh.in
|
||||
./test/testlibinfo.sh.in
|
||||
./test/test_usecases.sh.in
|
||||
./test/test_vol_plugin.sh.in
|
||||
./test/testmeta.c
|
||||
./test/testswmr.sh.in
|
||||
./test/testvdsswmr.sh.in
|
||||
@@ -1127,16 +1173,14 @@
|
||||
./test/use_common.c
|
||||
./test/use_disable_mdc_flushes.c
|
||||
./test/use.h
|
||||
./test/vfd.c
|
||||
./test/test_filters_le.h5
|
||||
./test/test_filters_be.h5
|
||||
./test/gen_filters.c
|
||||
./test/chunk_info.c
|
||||
./test/vds.c
|
||||
./test/vds_swmr.h
|
||||
./test/vds_swmr_gen.c
|
||||
./test/vds_swmr_reader.c
|
||||
./test/vds_swmr_writer.c
|
||||
./test/vfd.c
|
||||
./test/vol.c
|
||||
./test/vol_plugin.c
|
||||
|
||||
./test/testfiles/err_compat_1
|
||||
./test/testfiles/err_compat_2
|
||||
@@ -1247,6 +1291,7 @@
|
||||
./testpar/t_cache_image.c
|
||||
./testpar/t_chunk_alloc.c
|
||||
./testpar/t_coll_chunk.c
|
||||
./testpar/t_coll_md_read.c
|
||||
./testpar/t_dset.c
|
||||
./testpar/t_file.c
|
||||
./testpar/t_file_image.c
|
||||
@@ -1266,6 +1311,7 @@
|
||||
./testpar/t_span_tree.c
|
||||
./testpar/t_init_term.c
|
||||
./testpar/testpar.h
|
||||
./testpar/testpflush.sh.in
|
||||
./testpar/testphdf5.c
|
||||
./testpar/testphdf5.h
|
||||
|
||||
@@ -1372,14 +1418,17 @@
|
||||
./tools/test/h5format_convert/testfiles/h5fc_v_err.ddl.err
|
||||
./tools/test/h5format_convert/testfiles/h5fc_v_non_chunked.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_d_file.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_d_file.ddl.err
|
||||
./tools/test/h5format_convert/testfiles/h5fc_d_file-d.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_v_ndata_bt1.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_dname.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_nonexistdset_file.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_dname.err
|
||||
./tools/test/h5format_convert/testfiles/h5fc_nonexistfile.ddl.err
|
||||
./tools/test/h5format_convert/testfiles/h5fc_nonexistdset_file.ddl.err
|
||||
./tools/test/h5format_convert/testfiles/h5fc_help.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_v_all.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_nooption.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_v_n_1d.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_nonexistfile.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_non_v3.h5
|
||||
./tools/test/h5format_convert/testfiles/h5fc_edge_v3.h5
|
||||
./tools/test/h5format_convert/testfiles/h5fc_err_level.h5
|
||||
@@ -1449,6 +1498,11 @@
|
||||
./tools/test/h5ls/vds_prefix/tvds-4.ls
|
||||
./tools/test/h5ls/vds_prefix/tvds-5.ls
|
||||
|
||||
# h5ls test error files
|
||||
./tools/test/h5ls/errfiles/nosuchfile.err
|
||||
./tools/test/h5ls/errfiles/textlinksrc-nodangle-1.err
|
||||
./tools/test/h5ls/errfiles/tgroup-1.err
|
||||
|
||||
# h5copy sources
|
||||
./tools/src/h5copy/Makefile.am
|
||||
./tools/src/h5copy/h5copy.c
|
||||
@@ -1504,10 +1558,11 @@
|
||||
./tools/test/misc/testfiles/h5clear_less_after_size.ddl
|
||||
./tools/test/misc/testfiles/h5clear_less_before_size.ddl
|
||||
./tools/test/misc/testfiles/h5clear_missing_file.ddl
|
||||
./tools/test/misc/testfiles/h5clear_missing_file.err
|
||||
./tools/test/misc/testfiles/h5clear_noclose_after_size.ddl
|
||||
./tools/test/misc/testfiles/h5clear_noclose_before_size.ddl
|
||||
./tools/test/misc/testfiles/h5clear_no_mdc_image.ddl
|
||||
./tools/test/misc/testfiles/h5clear_open_fail.ddl
|
||||
./tools/test/misc/testfiles/h5clear_no_mdc_image.err
|
||||
./tools/test/misc/testfiles/h5clear_open_fail.err
|
||||
./tools/test/misc/testfiles/h5clear_status_noclose_after_size.ddl
|
||||
./tools/test/misc/testfiles/h5clear_usage.ddl
|
||||
./tools/test/misc/testfiles/h5clear_user_equal_after_size.ddl
|
||||
@@ -1561,10 +1616,6 @@
|
||||
./tools/test/h5stat/testh5stat.sh.in
|
||||
./tools/test/h5stat/testfiles/h5stat_dims1.ddl
|
||||
./tools/test/h5stat/testfiles/h5stat_dims2.ddl
|
||||
./tools/test/h5stat/testfiles/h5stat_err1_dims.ddl
|
||||
./tools/test/h5stat/testfiles/h5stat_err1_links.ddl
|
||||
./tools/test/h5stat/testfiles/h5stat_err1_numattrs.ddl
|
||||
./tools/test/h5stat/testfiles/h5stat_err2_numattrs.ddl
|
||||
./tools/test/h5stat/testfiles/h5stat_err_old_fill.h5
|
||||
./tools/test/h5stat/testfiles/h5stat_err_old_fill.ddl
|
||||
./tools/test/h5stat/testfiles/h5stat_err_old_layout.h5
|
||||
@@ -1602,6 +1653,15 @@
|
||||
./tools/test/h5stat/testfiles/h5stat_threshold.h5
|
||||
./tools/test/h5stat/testfiles/h5stat_tsohm.ddl
|
||||
./tools/test/h5stat/testfiles/h5stat_tsohm.h5
|
||||
./tools/test/h5stat/testfiles/h5stat_err_refcount.err
|
||||
./tools/test/h5stat/testfiles/h5stat_err_old_layout.err
|
||||
./tools/test/h5stat/testfiles/h5stat_err_old_fill.err
|
||||
./tools/test/h5stat/testfiles/h5stat_err1_dims.err
|
||||
./tools/test/h5stat/testfiles/h5stat_err1_links.err
|
||||
./tools/test/h5stat/testfiles/h5stat_err1_numattrs.err
|
||||
./tools/test/h5stat/testfiles/h5stat_err2_numattrs.err
|
||||
./tools/test/h5stat/testfiles/h5stat_notexist.err
|
||||
./tools/test/h5stat/testfiles/h5stat_nofile.err
|
||||
|
||||
# h5dump test files
|
||||
./tools/testfiles/charsets.h5
|
||||
@@ -1797,6 +1857,8 @@
|
||||
./tools/testfiles/tints4dims.h5
|
||||
./tools/testfiles/tintsattrs.ddl
|
||||
./tools/testfiles/tintsattrs.h5
|
||||
./tools/testfiles/tintsnodata.ddl
|
||||
./tools/testfiles/tintsnodata.h5
|
||||
./tools/testfiles/tlarge_objname.ddl
|
||||
./tools/testfiles/tlarge_objname.h5
|
||||
./tools/testfiles/tldouble.h5
|
||||
@@ -2261,7 +2323,6 @@
|
||||
./tools/test/h5diff/testfiles/h5diff_600.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_601.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_601_ERR.err
|
||||
./tools/test/h5diff/testfiles/h5diff_601_ERR.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_603.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_604.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_605.txt
|
||||
@@ -2368,21 +2429,12 @@
|
||||
./tools/test/h5diff/testfiles/h5diff_452.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_453.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_454.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_454_ERR.err
|
||||
./tools/test/h5diff/testfiles/h5diff_454_ERR.txt
|
||||
./tools/test/h5diff/testfiles/dangling_link.err
|
||||
./tools/test/h5diff/testfiles/h5diff_455.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_455_ERR.err
|
||||
./tools/test/h5diff/testfiles/h5diff_455_ERR.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_456.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_457.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_457_ERR.err
|
||||
./tools/test/h5diff/testfiles/h5diff_457_ERR.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_458.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_458_ERR.err
|
||||
./tools/test/h5diff/testfiles/h5diff_458_ERR.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_459.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_459_ERR.err
|
||||
./tools/test/h5diff/testfiles/h5diff_459_ERR.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_465.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_466.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_467.txt
|
||||
@@ -2472,6 +2524,7 @@
|
||||
./tools/test/h5diff/testfiles/tudfilter.h5
|
||||
./tools/test/h5diff/testfiles/tudfilter2.h5
|
||||
./tools/test/h5diff/testfiles/h5diff_ud.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_udfail.err
|
||||
./tools/test/h5diff/testfiles/h5diff_udfail.txt
|
||||
./tools/test/h5diff/testfiles/diff_strings1.h5
|
||||
./tools/test/h5diff/testfiles/diff_strings2.h5
|
||||
@@ -2572,6 +2625,7 @@
|
||||
./tools/test/h5copy/testfiles/h5copy_extlinks_src.h5
|
||||
./tools/test/h5copy/testfiles/h5copy_extlinks_trg.h5
|
||||
./tools/test/h5copy/testfiles/h5copy_extlinks_src.out.ls
|
||||
./tools/test/h5copy/testfiles/h5copy_misc1.err
|
||||
./tools/test/h5copy/testfiles/h5copy_misc1.out
|
||||
./tools/test/h5copy/testfiles/h5copytst_new.h5
|
||||
./tools/test/h5copy/testfiles/h5copytst_new.out.ls
|
||||
@@ -2601,6 +2655,7 @@
|
||||
./tools/test/perform/build_h5perf_alone.sh
|
||||
./tools/test/perform/build_h5perf_serial_alone.sh
|
||||
./tools/test/perform/chunk.c
|
||||
./tools/test/perform/chunk_cache.c
|
||||
./tools/test/perform/direct_write_perf.c
|
||||
./tools/test/perform/gen_report.pl
|
||||
./tools/test/perform/iopipe.c
|
||||
@@ -2739,16 +2794,17 @@
|
||||
|
||||
# expected test output from testing h5watch
|
||||
#
|
||||
./hl/tools/testfiles/w-err-cmpd1.ddl
|
||||
./hl/tools/testfiles/w-err-cmpd2.ddl
|
||||
./hl/tools/testfiles/w-err-cmpd3.ddl
|
||||
./hl/tools/testfiles/w-err-cmpd4.ddl
|
||||
./hl/tools/testfiles/w-err-cmpd5.ddl
|
||||
./hl/tools/testfiles/w-err-dset1.ddl
|
||||
./hl/tools/testfiles/w-err-dset2.ddl
|
||||
./hl/tools/testfiles/w-err-dset-nomax.ddl
|
||||
./hl/tools/testfiles/w-err-dset-none.ddl
|
||||
./hl/tools/testfiles/w-err-file.ddl
|
||||
./hl/tools/testfiles/w-err-std.ddl
|
||||
./hl/tools/testfiles/w-err-cmpd1.err
|
||||
./hl/tools/testfiles/w-err-cmpd2.err
|
||||
./hl/tools/testfiles/w-err-cmpd3.err
|
||||
./hl/tools/testfiles/w-err-cmpd4.err
|
||||
./hl/tools/testfiles/w-err-cmpd5.err
|
||||
./hl/tools/testfiles/w-err-dset1.err
|
||||
./hl/tools/testfiles/w-err-dset2.err
|
||||
./hl/tools/testfiles/w-err-dset-nomax.err
|
||||
./hl/tools/testfiles/w-err-dset-none.err
|
||||
./hl/tools/testfiles/w-err-file.err
|
||||
./hl/tools/testfiles/w-err-poll0.ddl
|
||||
./hl/tools/testfiles/w-err-poll.ddl
|
||||
./hl/tools/testfiles/w-err-width.ddl
|
||||
@@ -2850,6 +2906,32 @@
|
||||
./java/src/jni/h5oImp.h
|
||||
./java/src/jni/h5pImp.c
|
||||
./java/src/jni/h5pImp.h
|
||||
./java/src/jni/h5pACPLImp.c
|
||||
./java/src/jni/h5pACPLImp.h
|
||||
./java/src/jni/h5pDAPLImp.c
|
||||
./java/src/jni/h5pDAPLImp.h
|
||||
./java/src/jni/h5pDCPLImp.c
|
||||
./java/src/jni/h5pDCPLImp.h
|
||||
./java/src/jni/h5pDXPLImp.c
|
||||
./java/src/jni/h5pDXPLImp.h
|
||||
./java/src/jni/h5pFAPLImp.c
|
||||
./java/src/jni/h5pFAPLImp.h
|
||||
./java/src/jni/h5pFCPLImp.c
|
||||
./java/src/jni/h5pFCPLImp.h
|
||||
./java/src/jni/h5pGAPLImp.c
|
||||
./java/src/jni/h5pGAPLImp.h
|
||||
./java/src/jni/h5pGCPLImp.c
|
||||
./java/src/jni/h5pGCPLImp.h
|
||||
./java/src/jni/h5pLAPLImp.c
|
||||
./java/src/jni/h5pLAPLImp.h
|
||||
./java/src/jni/h5pLCPLImp.c
|
||||
./java/src/jni/h5pLCPLImp.h
|
||||
./java/src/jni/h5pOCPLImp.c
|
||||
./java/src/jni/h5pOCPLImp.h
|
||||
./java/src/jni/h5pOCpyPLImp.c
|
||||
./java/src/jni/h5pOCpyPLImp.h
|
||||
./java/src/jni/h5pStrCPLImp.c
|
||||
./java/src/jni/h5pStrCPLImp.h
|
||||
./java/src/jni/h5plImp.c
|
||||
./java/src/jni/h5plImp.h
|
||||
./java/src/jni/h5rImp.c
|
||||
@@ -2858,6 +2940,8 @@
|
||||
./java/src/jni/h5sImp.h
|
||||
./java/src/jni/h5tImp.c
|
||||
./java/src/jni/h5tImp.h
|
||||
./java/src/jni/h5vlImp.c
|
||||
./java/src/jni/h5vlImp.h
|
||||
./java/src/jni/h5zImp.c
|
||||
./java/src/jni/h5zImp.h
|
||||
|
||||
@@ -3096,6 +3180,7 @@
|
||||
./java/test/testfiles/JUnit-TestH5Tparams.txt
|
||||
./java/test/testfiles/JUnit-TestH5Tbasic.txt
|
||||
./java/test/testfiles/JUnit-TestH5T.txt
|
||||
./java/test/testfiles/JUnit-TestH5VL.txt
|
||||
./java/test/testfiles/JUnit-TestH5Z.txt
|
||||
./java/test/h5ex_g_iterate.orig
|
||||
./java/test/TestH5.java
|
||||
@@ -3133,6 +3218,7 @@
|
||||
./java/test/TestH5Tparams.java
|
||||
./java/test/TestH5Tbasic.java
|
||||
./java/test/TestH5T.java
|
||||
./java/test/TestH5VL.java
|
||||
./java/test/TestH5Z.java
|
||||
./java/test/TestAll.java
|
||||
|
||||
@@ -3144,6 +3230,11 @@
|
||||
./java/lib/ext/slf4j-simple-1.7.25.jar
|
||||
|
||||
# CMake-specific Files
|
||||
./config/toolchain/crayle.cmake
|
||||
./config/toolchain/GCC.cmake
|
||||
./config/toolchain/intel.cmake
|
||||
./config/toolchain/PGI.cmake
|
||||
|
||||
./config/cmake/cacheinit.cmake
|
||||
./config/cmake/CMakeFindJavaCommon.cmake
|
||||
./config/cmake/ConversionTests.c
|
||||
@@ -3173,6 +3264,8 @@
|
||||
./config/cmake/UseJavaSymlinks.cmake
|
||||
./config/cmake/userblockTest.cmake
|
||||
./config/cmake/vfdTest.cmake
|
||||
./config/cmake/volTest.cmake
|
||||
./config/cmake/wait_H5Tinit.cmake
|
||||
|
||||
./config/cmake_ext_mod/ConfigureChecks.cmake
|
||||
./config/cmake_ext_mod/CTestCustom.cmake
|
||||
@@ -3198,7 +3291,6 @@
|
||||
|
||||
# CMake-specific Examples Files
|
||||
./config/cmake/HDF5_Examples.cmake.in
|
||||
./config/cmake/HDF518_Examples.cmake.in
|
||||
./release_docs/USING_CMake_Examples.txt
|
||||
|
||||
./CMakeLists.txt
|
||||
@@ -3212,6 +3304,7 @@
|
||||
./c++/src/CMakeLists.txt
|
||||
./c++/test/CMakeLists.txt
|
||||
./c++/test/CMakeTests.cmake
|
||||
./c++/test/CMakeVFDTests.cmake
|
||||
./examples/CMakeLists.txt
|
||||
./examples/CMakeTests.cmake
|
||||
./examples/run-all-ex.sh
|
||||
@@ -3251,10 +3344,12 @@
|
||||
./test/CMakeLists.txt
|
||||
./test/CMakeTests.cmake
|
||||
./test/CMakeVFDTests.cmake
|
||||
./test/CMakeVOLTests.cmake
|
||||
./test/flushrefreshTest.cmake
|
||||
./test/ShellTests.cmake
|
||||
./testpar/CMakeLists.txt
|
||||
./testpar/CMakeTests.cmake
|
||||
./testpar/CMakeVFDTests.cmake
|
||||
./tools/CMakeLists.txt
|
||||
./tools/lib/CMakeLists.txt
|
||||
./tools/src/CMakeLists.txt
|
||||
@@ -3287,6 +3382,7 @@
|
||||
./tools/src/h5repack/CMakeLists.txt
|
||||
./tools/test/h5repack/CMakeLists.txt
|
||||
./tools/test/h5repack/CMakeTests.cmake
|
||||
./tools/test/h5repack/CMakeVFDTests.cmake
|
||||
./tools/src/h5stat/CMakeLists.txt
|
||||
./tools/test/h5stat/CMakeLists.txt
|
||||
./tools/test/h5stat/CMakeTests.cmake
|
||||
@@ -3306,6 +3402,11 @@
|
||||
./config/cmake/scripts/HDF5config.cmake
|
||||
./config/cmake/scripts/HDF5options.cmake
|
||||
|
||||
# CMake-specific HPC Scripts
|
||||
./config/cmake/scripts/HPC/sbatch-HDF5options.cmake
|
||||
./config/cmake/scripts/HPC/bsub-HDF5options.cmake
|
||||
./config/cmake/scripts/HPC/raybsub-HDF5options.cmake
|
||||
|
||||
# Files generated by autogen
|
||||
./aclocal.m4
|
||||
./bin/compile
|
||||
|
||||
@@ -186,6 +186,15 @@ check-vfd:
|
||||
fi; \
|
||||
done
|
||||
|
||||
# Run tests with different Virtual Object Layer Connectors.
|
||||
# Currently, only invoke check-vol in the test directory.
|
||||
check-vol:
|
||||
for d in src test; do \
|
||||
if test $$d != .; then \
|
||||
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# Automake wants to make config.status depend on configure. This
|
||||
# makes sense, but config.status can't always be regenerated
|
||||
# properly, which can cause builds to fail.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
HDF5 version 1.11.2 currently under development
|
||||
HDF5 version 1.11.4 currently under development
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
Please refer to the release_docs/INSTALL file for installation instructions.
|
||||
|
||||
17
bin/batch/cori_ctestP.sl.in.cmake
Normal file
17
bin/batch/cori_ctestP.sl.in.cmake
Normal file
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SBATCH -C haswell
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH -t 00:30:00
|
||||
#SBATCH --mail-type=BEGIN,END,FAIL
|
||||
##SBATCH --mail-user=<username>@sandia.gov
|
||||
#SBATCH --export=ALL
|
||||
#SBATCH --job-name=h5_ctestP
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
CMD="ctest . -R MPI_TEST_ -E t_cache_image -C Release -T test"
|
||||
|
||||
echo "Run $CMD. Test output will be in build/ctestP.out"
|
||||
$CMD >& ctestP.out
|
||||
echo "Done running $CMD"
|
||||
|
||||
16
bin/batch/cori_ctestS.sl.in.cmake
Normal file
16
bin/batch/cori_ctestS.sl.in.cmake
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SBATCH -C haswell
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH -t 00:30:00
|
||||
#SBATCH --mail-type=BEGIN,END,FAIL
|
||||
##SBATCH --mail-user=<username>@sandia.gov
|
||||
#SBATCH --export=ALL
|
||||
#SBATCH --job-name=h5_ctestS
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
CMD="ctest . -E MPI_TEST_ -C Release -j 32 -T test"
|
||||
|
||||
echo "Run $CMD. Test output will be in build/ctestS.out"
|
||||
$CMD >& ctestS.out
|
||||
echo "Done running $CMD"
|
||||
17
bin/batch/cori_knl_ctestP.sl.in.cmake
Normal file
17
bin/batch/cori_knl_ctestP.sl.in.cmake
Normal file
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SBATCH -C knl,quad,cache
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH -t 00:30:00
|
||||
#SBATCH --mail-type=BEGIN,END,FAIL
|
||||
##SBATCH --mail-user=<username>@sandia.gov
|
||||
#SBATCH --export=ALL
|
||||
#SBATCH --job-name=h5_ctestP
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
CMD="ctest . -R MPI_TEST_ -E t_cache_image -C Release -T test"
|
||||
|
||||
echo "Run $CMD. Test output will be in build/ctestP.out"
|
||||
$CMD >& ctestP.out
|
||||
echo "Done running $CMD"
|
||||
|
||||
16
bin/batch/cori_knl_ctestS.sl.in.cmake
Normal file
16
bin/batch/cori_knl_ctestS.sl.in.cmake
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SBATCH -C knl,quad,cache
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH -t 00:30:00
|
||||
#SBATCH --mail-type=BEGIN,END,FAIL
|
||||
##SBATCH --mail-user=<username>@sandia.gov
|
||||
#SBATCH --export=ALL
|
||||
#SBATCH --job-name=h5_ctestS
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
CMD="ctest . -E MPI_TEST_ -C Release -j 32 -T test"
|
||||
|
||||
echo "Run $CMD. Test output will be in build/ctestS.out"
|
||||
$CMD >& ctestS.out
|
||||
echo "Done running $CMD"
|
||||
19
bin/batch/ctestP.lsf.in.cmake
Normal file
19
bin/batch/ctestP.lsf.in.cmake
Normal file
@@ -0,0 +1,19 @@
|
||||
#!/bin/tcsh
|
||||
### LSF syntax
|
||||
#BSUB -nnodes 1 #number of nodes
|
||||
#BSUB -W 30 #walltime in minutes
|
||||
#BSUB -G guests #account
|
||||
#BSUB -e ctestPerrors.txt #stderr
|
||||
#BSUB -o ctestPoutput.txt #stdout
|
||||
#BSUB -J hdf5_ctestP #job
|
||||
##BSUB -q pbatch #queue to use
|
||||
#BSUB -q pdebug
|
||||
|
||||
##date; hostname
|
||||
##echo -n 'JobID is '; echo $LSB_JOBID
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
echo "Run parallel test command. Test output will be in build/ctestP.out"
|
||||
ctest . -R 'TEST_PAR|PH5DIFF|PERFORM' -E t_cache_image -C Release -T test >& ctestP.out
|
||||
|
||||
echo "Done running ctest parallel command."
|
||||
16
bin/batch/ctestP.sl.in.cmake
Normal file
16
bin/batch/ctestP.sl.in.cmake
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH -t 00:30:00
|
||||
#SBATCH --mail-type=BEGIN,END,FAIL
|
||||
##SBATCH --mail-user=<username>@sandia.gov
|
||||
#SBATCH --export=ALL
|
||||
#SBATCH --job-name=h5_ctestP
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
CMD="ctest . -R MPI_TEST_ -E t_cache_image -C Release -T test"
|
||||
|
||||
echo "Run $CMD. Test output will be in build/ctestP.out"
|
||||
$CMD >& ctestP.out
|
||||
echo "Done running $CMD"
|
||||
|
||||
18
bin/batch/ctestS.lsf.in.cmake
Normal file
18
bin/batch/ctestS.lsf.in.cmake
Normal file
@@ -0,0 +1,18 @@
|
||||
#!/bin/tcsh
|
||||
### LSF syntax
|
||||
#BSUB -nnodes 1 #number of nodes
|
||||
#BSUB -W 29 #walltime in minutes
|
||||
#BSUB -G guests #account
|
||||
#BSUB -e ctestSerrors.txt #stderr
|
||||
#BSUB -o ctestSoutput.txt #stdout
|
||||
#BSUB -J hdf5_ctestS #job
|
||||
##BSUB -q pbatch #queue to use
|
||||
#BSUB -q pdebug
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
echo "Run command. Test output will be in build/ctestS.out"
|
||||
ctest . -E 'TEST_PAR|PH5DIFF|PERFORM' -C Release -j 32 -T test >& ctestS.out
|
||||
|
||||
##$CMD >& ctestS.out
|
||||
echo "Done running command."
|
||||
|
||||
15
bin/batch/ctestS.sl.in.cmake
Normal file
15
bin/batch/ctestS.sl.in.cmake
Normal file
@@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH -t 00:30:00
|
||||
#SBATCH --mail-type=BEGIN,END,FAIL
|
||||
##SBATCH --mail-user=<username>@sandia.gov
|
||||
#SBATCH --export=ALL
|
||||
#SBATCH --job-name=h5_ctestS
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
CMD="ctest . -E MPI_TEST_ -C Release -j 32 -T test"
|
||||
|
||||
echo "Run $CMD. Test output will be in build/ctestS.out"
|
||||
$CMD >& ctestS.out
|
||||
echo "Done running $CMD"
|
||||
20
bin/batch/knl_H5detect.sl.in.cmake
Normal file
20
bin/batch/knl_H5detect.sl.in.cmake
Normal file
@@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SBATCH -p knl -C quad
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH -t 00:10:00
|
||||
#SBATCH --mail-type=BEGIN,END,FAIL
|
||||
#SBATCH --mail-user=<username>@sandia.gov
|
||||
#SBATCH --export=ALL
|
||||
#SBATCH --job-name=knl_h5detect
|
||||
|
||||
|
||||
# Inputs: Build directory, output file name, executable file name (username/email if available).
|
||||
PROGNAME=H5detect
|
||||
OUTPUT=H5Tinit.c
|
||||
|
||||
CMD="@HDF5_BINARY_DIR@/bin/${PROGNAME} @HDF5_GENERATED_SOURCE_DIR@/${OUTPUT}"
|
||||
echo "Run $CMD"
|
||||
srun -n 1 $CMD
|
||||
echo "Done running $CMD"
|
||||
|
||||
18
bin/batch/knl_ctestP.sl.in.cmake
Normal file
18
bin/batch/knl_ctestP.sl.in.cmake
Normal file
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SBATCH -p knl -C quad,cache
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH -t 00:30:00
|
||||
#SBATCH --mail-type=BEGIN,END,FAIL
|
||||
##SBATCH --mail-user=<username>@sandia.gov
|
||||
#SBATCH --export=ALL
|
||||
#SBATCH --job-name=h5_ctestS
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
#run parallel tests except t_cache_image test
|
||||
CMD="ctest . -R MPI_TEST_ -E t_cache_image -C Release -T test"
|
||||
|
||||
echo "Run $CMD. Test output will be in build/ctestP.out"
|
||||
$CMD >& ctestP.out
|
||||
echo "Done running $CMD"
|
||||
|
||||
17
bin/batch/knl_ctestS.sl.in.cmake
Normal file
17
bin/batch/knl_ctestS.sl.in.cmake
Normal file
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SBATCH -p knl -C quad,cache
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH -t 00:30:00
|
||||
#SBATCH --mail-type=BEGIN,END,FAIL
|
||||
##SBATCH --mail-user=<username>@sandia.gov
|
||||
#SBATCH --export=ALL
|
||||
#SBATCH --job-name=h5_ctestS
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
CMD="ctest . -E MPI_TEST_ -C Release -j 32 -T test"
|
||||
|
||||
echo "Run $CMD. Test output will be in build/ctestS.out"
|
||||
$CMD >& ctestS.out
|
||||
echo "Done running $CMD"
|
||||
|
||||
20
bin/batch/ray_ctestP.lsf.in.cmake
Normal file
20
bin/batch/ray_ctestP.lsf.in.cmake
Normal file
@@ -0,0 +1,20 @@
|
||||
#!/bin/tcsh
|
||||
### LSF syntax
|
||||
#BSUB -n 6 #number of nodes
|
||||
#BSUB -R "span[ptile=6]"
|
||||
#BSUB -W 30 #walltime in minutes
|
||||
#BSUB -G guests #account
|
||||
#BSUB -e ctestPerrors.txt #stderr
|
||||
#BSUB -o ctestPoutput.txt #stdout
|
||||
#BSUB -J hdf5_ctestP #job
|
||||
##BSUB -q pbatch #queue to use
|
||||
#BSUB -q pdebug
|
||||
|
||||
##date; hostname
|
||||
##echo -n 'JobID is '; echo $LSB_JOBID
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
echo "Run parallel test command. Test output will be in build/ctestP.out"
|
||||
ctest . -R 'MPI_TEST_' -E t_cache_image -C Release -T test >& ctestP.out
|
||||
|
||||
echo "Done running ctest parallel command."
|
||||
18
bin/batch/ray_ctestS.lsf.in.cmake
Normal file
18
bin/batch/ray_ctestS.lsf.in.cmake
Normal file
@@ -0,0 +1,18 @@
|
||||
#!/bin/tcsh
|
||||
### LSF syntax
|
||||
#BSUB -n 1 #number of nodes
|
||||
#BSUB -W 29 #walltime in minutes
|
||||
#BSUB -G guests #account
|
||||
#BSUB -e ctestSerrors.txt #stderr
|
||||
#BSUB -o ctestSoutput.txt #stdout
|
||||
#BSUB -J hdf5_ctestS #job
|
||||
##BSUB -q pbatch #queue to use
|
||||
#BSUB -q pdebug
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
echo "Run command. Test output will be in build/ctestS.out"
|
||||
ctest . -E 'MPI_TEST_' -C Release -j 32 -T test >& ctestS.out
|
||||
|
||||
##$CMD >& ctestS.out
|
||||
echo "Done running command."
|
||||
|
||||
7
bin/batch/raybsub
Executable file
7
bin/batch/raybsub
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/tcsh
|
||||
|
||||
# ray.llnl.gov requires a '<' with bsub for submitting .lsf batch jobs.
|
||||
# CMake is reluctant to pass the '<', so we put it in this script and use
|
||||
# the script to submit the bsub command on ray.
|
||||
|
||||
bsub < $1
|
||||
240
bin/checkposix
240
bin/checkposix
@@ -13,101 +13,165 @@ require 5.003;
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
# Robb Matzke, matzke@llnl.gov
|
||||
# 30 Aug 1997
|
||||
# Dana Robinson
|
||||
# Spring 2019
|
||||
# (Original by Robb Matzke)
|
||||
#
|
||||
# Purpose: Given the names of C source files this script will print the
|
||||
# file name, line number, and function name of any function that
|
||||
# doesn't begin with the letter `h' or `H' as stipulated by the
|
||||
# HDF5 programming style guide.
|
||||
# Purpose: Given the names of C source files this script will print the
|
||||
# file name, line number, and function name of any function that
|
||||
# doesn't begin with the letter 'h' or 'H' as stipulated by the
|
||||
# HDF5 programming style guide.
|
||||
#
|
||||
# Emacs users can run this script as the compile command and
|
||||
# use `next-error' (usually bound to M-`) to find each name
|
||||
# violation.
|
||||
# Emacs users can run this script as the compile command and
|
||||
# use 'next-error' (usually bound to M-`) to find each name
|
||||
# violation.
|
||||
|
||||
if(<>) {
|
||||
if($ARGV =~ /\//) {
|
||||
($filename) = ($ARGV =~ /^.*\/([A-Za-z0-9_]*)\.c$/);
|
||||
} else {
|
||||
($filename) = ($ARGV =~ /([A-Za-z0-9_]*)\.c$/);
|
||||
use File::Basename;
|
||||
|
||||
# Loop over all files passed to the function
|
||||
foreach $arg (@ARGV) {
|
||||
|
||||
# Get the filename from the path
|
||||
$filename = fileparse($arg);
|
||||
|
||||
# Skip files that don't include H5private.h
|
||||
# H5system. has to be inspected by hand since it wraps POSIX files
|
||||
#
|
||||
# H5detect and H5make_libsettings are created before the library exists
|
||||
# so calls that link to function replacements won't work. We'll ignore
|
||||
# it here.
|
||||
#
|
||||
# If a user specifies one file, process it no matter what so people
|
||||
# can inspect files we normally skip (like H5system.c).
|
||||
if($#ARGV gt 0 and $filename =~ /H5FDmulti|H5FDstdio|H5VLpassthru|H5system|H5detect|H5make_libsettings/) {
|
||||
print "$filename is exempt from using Standard library macro wrappers\n";
|
||||
next;
|
||||
}
|
||||
|
||||
if($filename =~ /H5FDmulti|H5FDstdio/) {
|
||||
print "$ARGV is exempt from using Standard library macro wrappers\n";
|
||||
} else {
|
||||
while (<>) {
|
||||
# Open the file
|
||||
open(my $fh, "<", $arg) or do {
|
||||
warn "NOTE: Unable to open $arg: !$\n";
|
||||
next;
|
||||
};
|
||||
|
||||
# Get rid of comments by removing the inside part.
|
||||
s|/\*.*?\*/||g;
|
||||
if ($in_comment) {
|
||||
if (/\*\//) {
|
||||
s|.*?\*/||;
|
||||
$in_comment = 0;
|
||||
} else {
|
||||
$_="\n";
|
||||
}
|
||||
} elsif (m|/\*|) {
|
||||
s|/\*.*||;
|
||||
$in_comment = 1;
|
||||
}
|
||||
# Loop over all lines in the file to find undecorated functions
|
||||
while (<$fh>) {
|
||||
|
||||
# Get rid of string constants if they begin and end on this line.
|
||||
s/([\'\"])([^\1]|\\\1)*?\1/$1$1/g;
|
||||
|
||||
# Get rid of preprocessor directives
|
||||
s/^\#.*//;
|
||||
|
||||
# Skip callbacks invoked as methods in a struct
|
||||
next if $_ =~ /\b(\)?->|\.)\(?([a-z_A-Z]\w*)\s*\(/;
|
||||
|
||||
# Now find all function calls on this line which don't start with 'H'
|
||||
while (($name)=/\b([a-z_A-GI-Z]\w*)\s*\(/) {
|
||||
$_ = $';
|
||||
|
||||
# Ignore C statements that look sort of like function
|
||||
# calls.
|
||||
next if $name =~ /^(if|for|offsetof|return|sizeof|switch|while|void)$/;
|
||||
|
||||
# Ignore things that get misdetected because of the simplified
|
||||
# parsing that takes place here.
|
||||
next if $name =~ /^(int|herr_t|_term_interface)$/;
|
||||
|
||||
# These are really HDF5 functions/macros even though they don't
|
||||
# start with `h' or `H'.
|
||||
next if $name =~ /^FUNC_(ENTER|LEAVE)(_(NO)?API|_PACKAGE|_STATIC)?(_NOFS|_NOCLEAR|_NOINIT)?(_NOFUNC|_TAG)?$/;
|
||||
next if $name =~ /^(BEGIN|END)_FUNC$/;
|
||||
next if $name =~ /^U?INT(8|16|32|64)(ENCODE|DECODE)(_VAR)?$/;
|
||||
next if $name =~ /^CI_(PRINT_STATS|INC_SRC|INC_DST)$/;
|
||||
next if $name =~ /^(ABS|ADDR_OVERFLOW|ALL_MEMBERS|BOUND|CONSTR|DETECT_[I|F|M]|DOWN)$/;
|
||||
next if $name =~ /^(MIN3?|MAX3?|NELMTS|POWER_OF_TWO|REGION_OVERFLOW)$/;
|
||||
next if $name =~ /^(UNIQUE_MEMBERS)$/;
|
||||
next if $name =~ /^addr_defined$/;
|
||||
|
||||
# These functions/macros are exempt.
|
||||
next if $name =~ /^(main|[fs]?printf|va_(start|arg|end))$/;
|
||||
|
||||
# These are Windows system calls. Ignore them.
|
||||
next if $name =~ /^(_get_osfhandle|GetFileInformationByHandle|SetFilePointer|GetLastError|SetEndOfFile)$/;
|
||||
next if $name =~ /^(FindNextFile|FindClose|_tzset|Wgettimeofday|GetSystemTimeAsFileTime|Wgetlogin|GetUserName)$/;
|
||||
|
||||
# These are MPI function calls. Ignore them.
|
||||
next if $name =~ /^(MPI_|MPE_)/;
|
||||
|
||||
# These are POSIX threads function calls. Ignore them.
|
||||
next if $name =~ /^pthread_/;
|
||||
|
||||
# These are Windows threads function calls. Ignore them.
|
||||
next if $name =~ /^(_beginthread|(Initialize|Enter|Leave)CriticalSection|TlsAlloc)$/;
|
||||
|
||||
# These are zlib & szlib function calls. Ignore them.
|
||||
next if $name =~ /^(inflate|SZ_)/;
|
||||
next if $name =~ /^compress2$/;
|
||||
|
||||
print "$ARGV:$.: $name\n";
|
||||
}
|
||||
|
||||
} continue {
|
||||
close ARGV if eof; # reset line number
|
||||
# Get rid of comments by removing the inside part.
|
||||
s|/\*.*?\*/||g;
|
||||
if ($in_comment) {
|
||||
if (/\*\//) {
|
||||
s|.*?\*/||;
|
||||
$in_comment = 0;
|
||||
} else {
|
||||
$_="\n";
|
||||
}
|
||||
} elsif (m|/\*|) {
|
||||
s|/\*.*||;
|
||||
$in_comment = 1;
|
||||
}
|
||||
|
||||
# Get rid of string constants if they begin and end on this line.
|
||||
s/([\'\"])([^\1]|\\\1)*?\1/$1$1/g;
|
||||
|
||||
# Get rid of preprocessor directives
|
||||
s/^\#.*//;
|
||||
|
||||
# Skip callbacks invoked as methods in a struct
|
||||
next if $_ =~ /\b(\)?]?->|\.)\(?([a-z_A-Z]\w*)\s*\(/;
|
||||
|
||||
# Now find all function calls on this line which don't start with 'H'
|
||||
while (($name)=/\b([a-z_A-GI-Z]\w*)\s*\(/) {
|
||||
$_ = $';
|
||||
|
||||
# Ignore C statements that look sort of like function
|
||||
# calls.
|
||||
next if $name =~ /^(if|for|offsetof|return|sizeof|switch|while|void)$/;
|
||||
|
||||
# Ignore things that get misdetected because of the simplified
|
||||
# parsing that takes place here.
|
||||
next if $name =~ /^(int|herr_t|_term_interface|_term_package)$/;
|
||||
|
||||
# These are really HDF5 functions/macros even though they don't
|
||||
# start with `h' or `H'.
|
||||
next if $name =~ /^FUNC_(ENTER|LEAVE)(_(NO)?API|_PACKAGE|_STATIC)?(_NOFS|_NOCLEAR|_NOINIT)?(_NOFUNC|_TAG)?$/;
|
||||
next if $name =~ /^(BEGIN|END)_FUNC$/;
|
||||
next if $name =~ /^U?INT(8|16|32|64)(ENCODE|DECODE)(_VAR)?$/;
|
||||
next if $name =~ /^CI_(PRINT_STATS|INC_SRC|INC_DST)$/;
|
||||
next if $name =~ /^(ABS|ADDR_OVERFLOW|ALL_MEMBERS|BOUND|CONSTR|DETECT_[I|F|M]|DOWN)$/;
|
||||
next if $name =~ /^(MIN3?|MAX3?|NELMTS|POWER_OF_TWO|REGION_OVERFLOW)$/;
|
||||
next if $name =~ /^(UNIQUE_MEMBERS|S_ISDIR)$/;
|
||||
next if $name =~ /^addr_defined$/;
|
||||
|
||||
# These functions/macros are exempt.
|
||||
# op, cb, and OP are often spuriously flagged so ignore them.
|
||||
next if $name =~ /^(main|op|cb|OP)$/;
|
||||
|
||||
# This often appears in preprocessor lines that span multiple lines
|
||||
next if $name =~ /^(defined)$/;
|
||||
|
||||
# These are Windows system calls. Ignore them.
|
||||
next if $name =~ /^(_get_osfhandle|GetFileInformationByHandle|SetFilePointer|GetLastError|SetEndOfFile)$/;
|
||||
next if $name =~ /^(FindNextFile|FindClose|_tzset|Wgettimeofday|GetSystemTimeAsFileTime|Wgetlogin|GetUserName)$/;
|
||||
next if $name =~ /^(DeleteCriticalSection|TlsFree|TlsGetValue|CreateThread)$/;
|
||||
next if $name =~ /^(ExpandEnvironmentStringsA|LockFileEx|UnlockFileEx)$/;
|
||||
next if $name =~ /^(DllMain|LocalAlloc|LocalFree)$/;
|
||||
next if $name =~ /^(FindFirstFileA|FindNextFileA)$/;
|
||||
next if $name =~ /^(_beginthread|(Initialize|Enter|Leave)CriticalSection|TlsAlloc)$/;
|
||||
|
||||
# These are MPI function calls. Ignore them.
|
||||
next if $name =~ /^(MPI_|MPE_)/;
|
||||
|
||||
# These are POSIX threads function calls. Ignore them.
|
||||
next if $name =~ /^pthread_/;
|
||||
|
||||
# These are zlib & szlib function calls. Ignore them.
|
||||
next if $name =~ /^(inflate|SZ_)/;
|
||||
next if $name =~ /^compress2$/;
|
||||
|
||||
# These is an H5Dfill function. Ignore it in this file.
|
||||
if($filename =~ /H5Dfill/) {
|
||||
next if $name =~ /^(alloc_func)$/;
|
||||
}
|
||||
|
||||
# These are H5Zscaleoffset functions. Ignore them in this file.
|
||||
if($filename =~ /H5Zscaleoffset/) {
|
||||
next if $name =~ /^(pow_fun|round_fun|abs_fun|lround_fun|llround_fun)$/;
|
||||
}
|
||||
|
||||
# TESTING (not comprehensive - just noise reduction)
|
||||
|
||||
# Test macros and functions (testhdf5.h)
|
||||
next if $name =~ /^(AddTest|TestErrPrintf|TestSummary|TestCleanup|TestShutdown)$/;
|
||||
next if $name =~ /^(CHECK|CHECK_PTR|CHECK_PTR_NULL|CHECK_PTR_EQ|CHECK_I)$/;
|
||||
next if $name =~ /^(VERIFY|VERIFY_STR|VERIFY|TYPE|MESSAGE|ERROR)$/;
|
||||
|
||||
# Test macros and functions (h5test.h)
|
||||
next if $name =~ /^(TESTING|PASSED|SKIPPED|FAIL_PUTS_ERROR|FAIL_STACK_ERROR|TEST_ERROR)$/;
|
||||
next if $name =~ /^(GetTestExpress)$/;
|
||||
|
||||
# Ignore functions that start with test_ or check_
|
||||
next if $name =~ /^test_/;
|
||||
next if $name =~ /^check_/;
|
||||
|
||||
# Ignore functions that start with h5_
|
||||
next if $name =~ /^h5_/;
|
||||
|
||||
# Ignore usage functions
|
||||
next if $name =~ /^usage$/;
|
||||
|
||||
print "$filename:$.: $name\n";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
# Close the file
|
||||
close($fh);
|
||||
}
|
||||
|
||||
if($#ARGV gt 0) {
|
||||
print "\n";
|
||||
print "NOTE:\n";
|
||||
print "If any files were skipped due to being exempt, you can inspect them manually\n";
|
||||
print "by using this script on them one at a time, which will always process the file.\n";
|
||||
}
|
||||
|
||||
@@ -244,8 +244,8 @@ sub create_init ($) {
|
||||
print HEADER "/* Major error codes */\n";
|
||||
print HEADER "/*********************/\n\n";
|
||||
foreach $name (keys %major) {
|
||||
print HEADER " "x(0*$indent),"assert(${name}_g==(-1));\n";
|
||||
print HEADER " "x(0*$indent),"if((msg = H5E_create_msg(cls, H5E_MAJOR, \"${major{$name}}\"))==NULL)\n";
|
||||
print HEADER " "x(0*$indent),"HDassert(${name}_g==(-1));\n";
|
||||
print HEADER " "x(0*$indent),"if((msg = H5E__create_msg(cls, H5E_MAJOR, \"${major{$name}}\"))==NULL)\n";
|
||||
print HEADER " "x(1*$indent),"HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, \"error message initialization failed\")\n";
|
||||
print HEADER " "x(0*$indent),"if((${name}_g = H5I_register(H5I_ERROR_MSG, msg, FALSE))<0)\n";
|
||||
print HEADER " "x(1*$indent),"HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, \"can't register error message\")\n";
|
||||
@@ -260,8 +260,8 @@ sub create_init ($) {
|
||||
|
||||
# Iterate over all the minor errors in each section
|
||||
for $name ( @{$section_list{$sect_name}}) {
|
||||
print HEADER " "x(0*$indent),"assert(${name}_g==(-1));\n";
|
||||
print HEADER " "x(0*$indent),"if((msg = H5E_create_msg(cls, H5E_MINOR, \"${minor{$name}}\"))==NULL)\n";
|
||||
print HEADER " "x(0*$indent),"HDassert(${name}_g==(-1));\n";
|
||||
print HEADER " "x(0*$indent),"if((msg = H5E__create_msg(cls, H5E_MINOR, \"${minor{$name}}\"))==NULL)\n";
|
||||
print HEADER " "x(1*$indent),"HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, \"error message initialization failed\")\n";
|
||||
print HEADER " "x(0*$indent),"if((${name}_g = H5I_register(H5I_ERROR_MSG, msg, FALSE))<0)\n";
|
||||
print HEADER " "x(1*$indent),"HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, \"can't register error message\")\n";
|
||||
|
||||
@@ -7,8 +7,8 @@ require 5.003;
|
||||
# is added (like support for 1.4, etc), the min_sup_idx parameter will
|
||||
# need to be decremented. - QAK)
|
||||
|
||||
# Max. library "index" (0 = v1.0, 1 = 1.2, etc)
|
||||
$max_idx = 5;
|
||||
# Max. library "index" (0 = v1.0, 1 = 1.2, 2 = 1.4, 3 = 1.6, 4 = 1.8, 5 = 1.10, 6 = 1.12, etc)
|
||||
$max_idx = 6;
|
||||
|
||||
# Min. supported previous library version "index" (0 = v1.0, 1 = 1.2, etc)
|
||||
$min_sup_idx = 3;
|
||||
@@ -478,7 +478,7 @@ for $file (@ARGV) {
|
||||
}
|
||||
}
|
||||
close SOURCE;
|
||||
|
||||
|
||||
# Create header files
|
||||
print "Generating '", $prefix, "H5version.h'\n";
|
||||
create_public($prefix);
|
||||
|
||||
@@ -40,6 +40,7 @@ make distclean: remove all files generated by make, make check, or
|
||||
make check-p: Only run parallel tests
|
||||
make check-s: Only run serial tests
|
||||
make check-vfd: Run tests with each virtual file driver
|
||||
make check-vol: Run tests with each virtual object layer connector
|
||||
|
||||
HDF5 uses Automake, so any standard Automake targets not listed here
|
||||
should also work.
|
||||
|
||||
110
bin/release
110
bin/release
@@ -55,13 +55,21 @@ for compressing the resulting tar archive (if none are given then
|
||||
|
||||
tar -- use tar and don't do any compressing.
|
||||
gzip -- use gzip with "-9" and append ".gz" to the output name.
|
||||
bzip2 -- use bzip2 with "-9" and append ".bz2" to the output name.
|
||||
zip -- convert all text files to DOS style and form a zip file for Windows use.
|
||||
cmake-tgz -- create a tar file using the gzip default level with a build-unix.sh
|
||||
command file and all other CMake files needed to build HDF5 source
|
||||
using CMake on unix machines.
|
||||
bzip2 -- use bzip2 with "-9" and append ".bz2" to the output name.
|
||||
zip -- convert all text files to DOS style and form a zip file for Windows use.
|
||||
cmake-zip -- convert all text files to DOS style and create a zip file inluding cmake
|
||||
scripts and .bat files to build HDF5 source using CMake on Windows.
|
||||
hpc-cmake-tgz
|
||||
-- create a tar file using the gzip default level with a build-unix.sh
|
||||
command file and all other CMake files needed to build HDF5 source
|
||||
using CMake on unix machines, with HDF5options.cmake files for serial
|
||||
and parallel builds on machines requiring batch jobs to run tests.
|
||||
The default is for parallel build, with serial only build by changing
|
||||
the HDF5options.cmake symlink to ser-HDF5options.cmake. More
|
||||
information is available in the README_HPC file.
|
||||
doc -- produce the latest doc tree in addition to the archive.
|
||||
|
||||
An md5 checksum is produced for each archive created and stored in the md5 file.
|
||||
@@ -225,7 +233,7 @@ tar2cmakezip()
|
||||
# step 3: add SZIP.tar.gz, ZLib.tar.gz and cmake files
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/SZip.tar.gz $cmziptmpsubdir
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/ZLib.tar.gz $cmziptmpsubdir
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.10.8-Source.tar.gz $cmziptmpsubdir
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.12.4-Source.zip $cmziptmpsubdir
|
||||
cp $cmziptmpsubdir/$version/config/cmake/scripts/CTestScript.cmake $cmziptmpsubdir
|
||||
cp $cmziptmpsubdir/$version/config/cmake/scripts/HDF5config.cmake $cmziptmpsubdir
|
||||
cp $cmziptmpsubdir/$version/config/cmake/scripts/HDF5options.cmake $cmziptmpsubdir
|
||||
@@ -256,7 +264,7 @@ tar2cmakezip()
|
||||
}
|
||||
|
||||
# Function name: tar2cmaketgz
|
||||
# Convert the release tarball to a Windows zipball with files to run CMake build.
|
||||
# Convert the release tarball to a gzipped tar file with files to run CMake build.
|
||||
#
|
||||
# Programmer: Larry Knox
|
||||
# Creation date: 2017-02-20
|
||||
@@ -320,7 +328,7 @@ tar2cmaketgz()
|
||||
# step 3: add SZIP.tar.gz, ZLib.tar.gz and cmake files
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/SZip.tar.gz $cmgztmpsubdir
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/ZLib.tar.gz $cmgztmpsubdir
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.10.8-Source.tar.gz $cmgztmpsubdir
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.12.4-Source.tar.gz $cmgztmpsubdir
|
||||
cp $cmgztmpsubdir/$version/config/cmake/scripts/CTestScript.cmake $cmgztmpsubdir
|
||||
cp $cmgztmpsubdir/$version/config/cmake/scripts/HDF5config.cmake $cmgztmpsubdir
|
||||
cp $cmgztmpsubdir/$version/config/cmake/scripts/HDF5options.cmake $cmgztmpsubdir
|
||||
@@ -330,6 +338,93 @@ tar2cmaketgz()
|
||||
rm -rf $cmgztmpdir
|
||||
}
|
||||
|
||||
# Function name: tar2hpccmaketgz
|
||||
# Convert the release tarball to a gzipped tarfile with files to run CMake build
|
||||
# and HDF5options.cmake files for parallel or serial only builds where build
|
||||
# tests are run on compute nodes using batch scripts.
|
||||
#
|
||||
# Programmer: Larry Knox
|
||||
# Creation date: 2019-01-28
|
||||
#
|
||||
# Modifications
|
||||
#
|
||||
# Steps:
|
||||
# 1. untar the tarball in a temporary directory;
|
||||
# Note: do this in a temporary directory to avoid changing
|
||||
# the original source directory which may be around.
|
||||
# 2. add build-unix.sh script.
|
||||
# 3. add SZIP.tar.gz, ZLib.tar.gz and cmake files to top level directory.
|
||||
# 4. create gzipped tar file with these contents:
|
||||
# build-unix.sh script
|
||||
# hdf5-<version> source code directory extracted from tar file
|
||||
# CTestScript.cmake cmake file copied from <hdf5 source code>/config/cmake/scripts
|
||||
# HDF5config.cmake cmake file copied from <hdf5 source code>/config/cmake/scripts
|
||||
# HDF5options.cmake cmake file copied from <hdf5 source code>/config/cmake/scripts
|
||||
# SZip.tar.gz copied from /mnt/scr1/pre-release/hdf5/CMake
|
||||
# ZLib.tar.gz copied from /mnt/scr1/pre-release/hdf5/CMake
|
||||
#
|
||||
# 5. For HPC-CMake tgz file the following are also needed in the top-level directory:
|
||||
# README_HPC copied from release_docs
|
||||
# ser-HDF5options.cmake copied from <hdf5 source code>/config/cmake/scripts/HPC
|
||||
# par-HDF5options.cmake copied from <hdf5 source code>/config/cmake/scripts/HPC
|
||||
# HDF5options.cmake symlink to par-HDF5options.cmake
|
||||
#
|
||||
|
||||
# Parameters:
|
||||
# $1 version
|
||||
# $2 release tarball
|
||||
# $3 output zipball file name
|
||||
#
|
||||
# Returns 0 if successful; 1 otherwise
|
||||
#
|
||||
# need function to create another temporary directory, extract the
|
||||
# $tmpdir/$HDF5_VERS.tar into it, create build-unix.sh,
|
||||
# add CTestScript.cmake, HDF5config.cmake, SZIP.tar.gz
|
||||
# ZLib.tar.gz, HDF5 examples, and then tar.gz it.
|
||||
tar2hpccmaketgz()
|
||||
{
|
||||
if [ $# -ne 3 ]; then
|
||||
echo "usage: tar2hpccmaketgz <tarfilename> <tgzfilename>"
|
||||
return 1
|
||||
fi
|
||||
cmgztmpdir=/tmp/cmgztmpdir$$
|
||||
cmgztmpsubdir=$cmgztmpdir/HPC-CMake-$HDF5_VERS
|
||||
mkdir -p $cmgztmpsubdir
|
||||
version=$1
|
||||
tarfile=$2
|
||||
tgzfile=$3
|
||||
|
||||
# step 1: untar tarball in cmgztmpdir
|
||||
(cd $cmgztmpsubdir; tar xf -) < $tarfile
|
||||
# sanity check
|
||||
if [ ! -d $cmgztmpsubdir/$version ]; then
|
||||
echo "untar did not create $cmgztmpsubdir/$version source dir"
|
||||
# cleanup
|
||||
rm -rf $cmgztmpdir
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
||||
# step 2: add build-unix.sh script
|
||||
(cd $cmgztmpsubdir; echo "ctest -S HDF5config.cmake,BUILD_GENERATOR=Unix -C Release -V -O hdf5.log" > build-unix.sh; chmod 755 build-unix.sh)
|
||||
|
||||
# step 3: add SZIP.tar.gz, ZLib.tar.gz and cmake files
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/SZip.tar.gz $cmgztmpsubdir
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/ZLib.tar.gz $cmgztmpsubdir
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.12.4-Source.tar.gz $cmgztmpsubdir
|
||||
cp $cmgztmpsubdir/$version/config/cmake/scripts/CTestScript.cmake $cmgztmpsubdir
|
||||
cp $cmgztmpsubdir/$version/config/cmake/scripts/HDF5config.cmake $cmgztmpsubdir
|
||||
|
||||
cp $cmgztmpsubdir/$version/release_docs/README_HPC $cmgztmpsubdir
|
||||
cp $cmgztmpsubdir/$version/config/cmake/scripts/HPC/ser-HDF5options.cmake $cmgztmpsubdir
|
||||
cp $cmgztmpsubdir/$version/config/cmake/scripts/HPC/par-HDF5options.cmake $cmgztmpsubdir
|
||||
(cd $cmgztmpsubdir; ln -s par-HDF5options.cmake HDF5options.cmake)
|
||||
tar czf $DEST/HPC-CMake-$HDF5_VERS.tar.gz -C $cmgztmpdir . || exit 1
|
||||
|
||||
# cleanup
|
||||
rm -rf $cmgztmpdir
|
||||
}
|
||||
|
||||
# This command must be run at the top level of the hdf5 source directory.
|
||||
# Verify this requirement.
|
||||
if [ ! \( -f configure.ac -a -f bin/release \) ]; then
|
||||
@@ -514,6 +609,11 @@ for comp in $methods; do
|
||||
tar2cmaketgz $HDF5_VERS $tmpdir/$HDF5_VERS.tar $DEST/CMake-$HDF5_VERS.tar.gz 1>&2
|
||||
(cd $DEST; md5sum CMake-$HDF5_VERS.tar.gz >> $MD5file)
|
||||
;;
|
||||
hpc-cmake-tgz)
|
||||
test "$verbose" && echo " Creating HPC-CMake tar.gz file..." 1>&2
|
||||
tar2hpccmaketgz $HDF5_VERS $tmpdir/$HDF5_VERS.tar $DEST/HPC-CMake-$HDF5_VERS.tar.gz 1>&2
|
||||
(cd $DEST; md5sum HPC-CMake-$HDF5_VERS.tar.gz >> $MD5file)
|
||||
;;
|
||||
bzip2)
|
||||
test "$verbose" && echo " Running bzip2..." 1>&2
|
||||
bzip2 -9 <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.bz2
|
||||
|
||||
@@ -132,6 +132,7 @@ DISPLAYUSAGE()
|
||||
Usage: $PROGNAME [all] [checkout] [ftp <URL> [diff] [test] [srcdir] [release] [help]
|
||||
[clean] [distclean] [echo] [deploy <dir>] [deploydir <dir>]
|
||||
[zlib <zlib_path>] [releasedir <dir>] [srcdirname <dir>] [check-vfd]
|
||||
[check-vol]
|
||||
[exec <command>] [module-load <module-list>] [op-configure <option>]
|
||||
[--<option>]
|
||||
all: Run all commands (checkout, test & release)
|
||||
@@ -169,6 +170,8 @@ Usage: $PROGNAME [all] [checkout] [ftp <URL> [diff] [test] [srcdir] [release] [h
|
||||
[Default is $ReleaseDir_default]
|
||||
check-vfd:
|
||||
Run make check-vfd instead of just make check.
|
||||
check-vol:
|
||||
Run make check-vol instead of just make check.
|
||||
exttest <testscript>;
|
||||
Run testscript;
|
||||
exec <command>:
|
||||
@@ -422,6 +425,9 @@ while [ $# -gt 0 ] ; do
|
||||
check-vfd)
|
||||
CHECKVAL=check-vfd
|
||||
;;
|
||||
check-vol)
|
||||
CHECKVAL=check-vol
|
||||
;;
|
||||
module-load)
|
||||
shift
|
||||
if [ $# -lt 1 ]; then
|
||||
|
||||
26
bin/trace
26
bin/trace
@@ -46,6 +46,7 @@ $Source = "";
|
||||
"H5E_direction_t" => "Ed",
|
||||
"H5E_error_t" => "Ee",
|
||||
"H5E_type_t" => "Et",
|
||||
"H5ES_status_t" => "Es",
|
||||
"H5F_close_degree_t" => "Fd",
|
||||
"H5F_fspace_strategy_t" => "Ff",
|
||||
"H5F_file_space_type_t" => "Ff",
|
||||
@@ -67,6 +68,7 @@ $Source = "";
|
||||
"unsigned" => "Iu",
|
||||
"unsigned int" => "Iu",
|
||||
"uint32_t" => "Iu",
|
||||
"uint64_t" => "UL",
|
||||
"H5I_type_t" => "It",
|
||||
"H5G_link_t" => "Ll", #Same as H5L_type_t now
|
||||
"H5L_type_t" => "Ll",
|
||||
@@ -95,6 +97,23 @@ $Source = "";
|
||||
"H5T_str_t" => "Tz",
|
||||
"unsigned long" => "Ul",
|
||||
"unsigned long long" => "UL",
|
||||
"H5VL_attr_get_t" => "Va",
|
||||
"H5VL_attr_specific_t" => "Vb",
|
||||
"H5VL_class_value_t" => "VC",
|
||||
"H5VL_dataset_get_t" => "Vc",
|
||||
"H5VL_dataset_specific_t" => "Vd",
|
||||
"H5VL_datatype_get_t" => "Ve",
|
||||
"H5VL_datatype_specific_t" => "Vf",
|
||||
"H5VL_file_get_t" => "Vg",
|
||||
"H5VL_file_specific_t" => "Vh",
|
||||
"H5VL_group_get_t" => "Vi",
|
||||
"H5VL_group_specific_t" => "Vj",
|
||||
"H5VL_link_create_type_t" => "Vk",
|
||||
"H5VL_link_get_t" => "Vl",
|
||||
"H5VL_link_specific_t" => "Vm",
|
||||
"H5VL_object_get_t" => "Vn",
|
||||
"H5VL_object_specific_t" => "Vo",
|
||||
"H5VL_request_specific_t" => "Vr",
|
||||
"void" => "x",
|
||||
"FILE" => "x",
|
||||
"H5A_operator_t" => "x",
|
||||
@@ -124,6 +143,7 @@ $Source = "";
|
||||
"H5G_iterate_t" => "x",
|
||||
"H5G_info_t" => "x",
|
||||
"H5I_free_t" => "x",
|
||||
"H5I_iterate_func_t" => "x",
|
||||
"H5I_search_func_t" => "x",
|
||||
"H5L_class_t" => "x",
|
||||
"H5L_elink_traverse_t" => "x",
|
||||
@@ -147,6 +167,10 @@ $Source = "";
|
||||
"H5T_cdata_t" => "x",
|
||||
"H5T_conv_t" => "x",
|
||||
"H5T_conv_except_func_t" => "x",
|
||||
"H5VL_t" => "x",
|
||||
"H5VL_class_t" => "x",
|
||||
"H5VL_loc_params_t" => "x",
|
||||
"H5VL_request_notify_t" => "x",
|
||||
"H5Z_func_t" => "x",
|
||||
"H5Z_filter_func_t" => "x",
|
||||
"va_list" => "x",
|
||||
@@ -295,7 +319,7 @@ sub rewrite_func ($$$$$) {
|
||||
# Ignored due to NO TRACE comment.
|
||||
} elsif ($body =~ s/((\n[ \t]*)H5TRACE\d+\s*\(.*?\);)\n/"$2$trace"/es) {
|
||||
# Replaced an H5TRACE macro.
|
||||
} elsif ($body=~s/((\n[ \t]*)FUNC_ENTER\w*\s*(\(.*?\))?;??)\n/"$1$2$trace"/es) {
|
||||
} elsif ($body=~s/((\n[ \t]*)FUNC_ENTER\w*[ \t]*(\(.*?\))?;??)\n/"$1$2$trace"/es) {
|
||||
# Added an H5TRACE macro after a FUNC_ENTER macro.
|
||||
} else {
|
||||
errmesg $file, $name, "unable to insert tracing information";
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
SDSextendible.h5
|
||||
Select.h5
|
||||
)
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
if (last_test)
|
||||
set_tests_properties (CPP_ex-clear-objects PROPERTIES DEPENDS ${last_test})
|
||||
endif ()
|
||||
set (last_test "CPP_ex-clear-objects")
|
||||
@@ -46,7 +46,7 @@
|
||||
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
|
||||
)
|
||||
endif ()
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
if (last_test)
|
||||
set_tests_properties (CPP_ex_${example} PROPERTIES DEPENDS ${last_test})
|
||||
endif ()
|
||||
set (last_test "CPP_ex_${example}")
|
||||
@@ -66,7 +66,7 @@
|
||||
h5tutr_groups.h5
|
||||
h5tutr_subset.h5
|
||||
)
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
if (last_test)
|
||||
set_tests_properties (CPP_ex_tutr-clear-objects PROPERTIES DEPENDS ${last_test})
|
||||
endif ()
|
||||
set (last_test "CPP_ex_tutr-clear-objects")
|
||||
@@ -86,7 +86,7 @@
|
||||
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
|
||||
)
|
||||
endif ()
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
if (last_test)
|
||||
set_tests_properties (CPP_ex_${example} PROPERTIES DEPENDS ${last_test})
|
||||
endif ()
|
||||
set (last_test "CPP_ex_${example}")
|
||||
|
||||
@@ -32,7 +32,7 @@ EXIT_FAILURE=1
|
||||
|
||||
# Where the tool is installed.
|
||||
# default is relative path to installed location of the tools
|
||||
prefix="${prefix:-@prefix@}"
|
||||
prefix="${prefix:-../../..}"
|
||||
AR="@AR@"
|
||||
RANLIB="@RANLIB@"
|
||||
H5TOOL="h5c++" # The tool name
|
||||
|
||||
@@ -143,6 +143,7 @@ ArrayType& ArrayType::operator=(const ArrayType& rhs)
|
||||
// Function: ArrayType::decode
|
||||
///\brief Returns an ArrayType object via DataType* by decoding the
|
||||
/// binary object description of this type.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -129,6 +129,7 @@ CompType::CompType(const H5Location& loc, const H5std_string& dtype_name) : Data
|
||||
// Function: CompType::decode
|
||||
///\brief Returns a CompType object via DataType* by decoding the
|
||||
/// binary object description of this datatype.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -53,8 +53,7 @@
|
||||
* <br />
|
||||
* \section install_sec Installation
|
||||
*
|
||||
* The HDF5 C++ API is included with the HDF5 source code and can
|
||||
* be obtained from
|
||||
* The HDF5 C++ API is included with the HDF5 source code.
|
||||
*
|
||||
* Please refer to the release_docs/INSTALL file under the top directory
|
||||
* of the HDF5 source code for information about installing, building,
|
||||
|
||||
@@ -281,6 +281,7 @@ hid_t DataType::p_decode() const
|
||||
// Function: DataType::decode
|
||||
///\brief Returns a DataType instance by decoding the binary object
|
||||
/// description of this datatype.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
@@ -301,6 +302,7 @@ DataType* DataType::decode() const
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: DataType::encode
|
||||
///\brief Creates a binary object description of this datatype.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
@@ -333,6 +335,7 @@ void DataType::encode()
|
||||
// Function: DataType::hasBinaryDesc
|
||||
///\brief Determines whether this datatype has a binary object
|
||||
/// description.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -253,6 +253,7 @@ void DSetCreatPropList::setSzip(unsigned int options_mask, unsigned int pixels_p
|
||||
// Function: DSetCreatPropList::setNbit
|
||||
///\brief Sets up for the use of the Nbit compression filter.
|
||||
///\exception H5::PropListIException
|
||||
///
|
||||
///\par Description
|
||||
/// The associate C function sets an Nbit compression filter,
|
||||
/// H5Z_FILTER_NBIT, for a dataset. For more information about
|
||||
|
||||
@@ -299,6 +299,7 @@ ssize_t DSetMemXferPropList::getDataTransform(char* exp, size_t buf_size) const
|
||||
// Function: DSetMemXferPropList::getDataTransform
|
||||
///\brief This is an overloaded member function, provided for convenience.
|
||||
/// It takes no parameter and returns a \c H5std_string for the expression.
|
||||
///
|
||||
///\exception H5::PropListIException
|
||||
// Programmer Binh-Minh Ribler - Mar, 2014
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -151,6 +151,7 @@ EnumType::EnumType(const H5Location& loc, const H5std_string& dtype_name) : Data
|
||||
// Function: EnumType::decode
|
||||
///\brief Returns an EnumType object via DataType* by decoding the
|
||||
/// binary object description of this type.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -192,16 +192,17 @@ H5File::H5File(const H5File& original) : Group()
|
||||
//--------------------------------------------------------------------------
|
||||
bool H5File::isHdf5(const char* name)
|
||||
{
|
||||
// Calls C routine H5Fis_hdf5 to determine whether the file is in
|
||||
// Calls C routine H5Fis_accessible to determine whether the file is in
|
||||
// HDF5 format. It returns positive value, 0, or negative value
|
||||
htri_t ret_value = H5Fis_hdf5(name);
|
||||
htri_t ret_value = H5Fis_accessible(name, H5P_DEFAULT);
|
||||
|
||||
if (ret_value > 0)
|
||||
return true;
|
||||
else if (ret_value == 0)
|
||||
return false;
|
||||
else // Raise exception when H5Fis_hdf5 returns a negative value
|
||||
else // Raise exception when H5Fis_accessible returns a negative value
|
||||
{
|
||||
throw FileIException("H5File::isHdf5", "H5Fis_hdf5 returned negative value");
|
||||
throw FileIException("H5File::isHdf5", "H5Fis_accessible returned negative value");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -217,6 +218,46 @@ bool H5File::isHdf5(const H5std_string& name)
|
||||
return(isHdf5( name.c_str()));
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: H5File::isAccessible (static)
|
||||
///\brief Determines whether a file can be accessed as HDF5. (Static)
|
||||
///\param name - IN: Name of the file
|
||||
///\param access_plist - IN: File access property list. Default to
|
||||
/// FileAccPropList::DEFAULT
|
||||
///\return true if the file can be accessed as HDF5, and false, otherwise
|
||||
///\exception H5::FileIException
|
||||
// September 2018
|
||||
//--------------------------------------------------------------------------
|
||||
bool H5File::isAccessible(const char* name, const FileAccPropList& access_plist)
|
||||
{
|
||||
// Calls C routine H5Fis_accessible to determine whether the file is in
|
||||
// HDF5 format. It returns positive value, 0, or negative value
|
||||
hid_t access_plist_id = access_plist.getId();
|
||||
htri_t ret_value = H5Fis_accessible(name, access_plist_id);
|
||||
if (ret_value > 0)
|
||||
return true;
|
||||
else if (ret_value == 0)
|
||||
return false;
|
||||
else // Raise exception when H5Fis_accessible returns a negative value
|
||||
{
|
||||
throw FileIException("H5File::isAccessible", "H5Fis_accessible returned negative value");
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: H5File::isAccessible (static)
|
||||
///\brief This is an overloaded member function, provided for convenience.
|
||||
/// It takes an \c H5std_string for \a name. (Static)
|
||||
///\param name - IN: Name of the file - \c H5std_string
|
||||
///\param access_plist - IN: File access property list. Default to
|
||||
/// FileAccPropList::DEFAULT
|
||||
// September 2018
|
||||
//--------------------------------------------------------------------------
|
||||
bool H5File::isAccessible(const H5std_string& name, const FileAccPropList& access_plist)
|
||||
{
|
||||
return(isAccessible(name.c_str(), access_plist));
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: openFile
|
||||
///\brief Opens an HDF5 file
|
||||
|
||||
@@ -73,6 +73,10 @@ class H5_DLLCPP H5File : public Group {
|
||||
static bool isHdf5(const char* name);
|
||||
static bool isHdf5(const H5std_string& name);
|
||||
|
||||
// Determines if a file, specified by its name, can be accessed as HDF5
|
||||
static bool isAccessible(const char* name, const FileAccPropList& access_plist = FileAccPropList::DEFAULT);
|
||||
static bool isAccessible(const H5std_string& name, const FileAccPropList& access_plist = FileAccPropList::DEFAULT);
|
||||
|
||||
// Reopens this file.
|
||||
void reOpen(); // added for better name
|
||||
|
||||
|
||||
@@ -133,6 +133,7 @@ FloatType::FloatType(const H5Location& loc, const H5std_string& dtype_name) : At
|
||||
// Function: FloatType::decode
|
||||
///\brief Returns an FloatType object via DataType* by decoding the
|
||||
/// binary object description of this type.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -66,6 +66,7 @@ Group::Group(const Group& original) : H5Object(), CommonFG(), id(original.id)
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: Group::closeObjId
|
||||
///\brief Closes an object, which was opened with Group::getObjId
|
||||
///
|
||||
///\exception H5::FileIException or H5::GroupIException
|
||||
// Programmer Binh-Minh Ribler - March, 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -174,8 +174,8 @@ H5I_type_t IdComponent::getHDFObjType() const
|
||||
/// \li \c H5I_DATASPACE
|
||||
/// \li \c H5I_DATASET
|
||||
/// \li \c H5I_ATTR
|
||||
/// \li \c H5I_REFERENCE (DEPRECATED)
|
||||
/// \li \c H5I_VFL
|
||||
/// \li \c H5I_VOL
|
||||
/// \li \c H5I_GENPROP_CLS
|
||||
/// \li \c H5I_GENPROP_LST
|
||||
/// \li \c H5I_ERROR_CLASS
|
||||
@@ -227,8 +227,8 @@ bool IdComponent::isValid(hid_t an_id)
|
||||
/// \li \c H5I_DATASPACE
|
||||
/// \li \c H5I_DATASET
|
||||
/// \li \c H5I_ATTR
|
||||
/// \li \c H5I_REFERENCE (DEPRECATED)
|
||||
/// \li \c H5I_VFL
|
||||
/// \li \c H5I_VOL
|
||||
/// \li \c H5I_GENPROP_CLS
|
||||
/// \li \c H5I_GENPROP_LST
|
||||
/// \li \c H5I_ERROR_CLASS
|
||||
|
||||
@@ -132,6 +132,7 @@ IntType::IntType(const H5Location& loc, const H5std_string& dtype_name) : AtomTy
|
||||
// Function: IntType::decode
|
||||
///\brief Returns an IntType object via DataType* by decoding the
|
||||
/// binary object description of this type.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -107,6 +107,7 @@ LinkAccPropList::LinkAccPropList(const hid_t plist_id) : PropList(plist_id) {}
|
||||
///\brief Set the number of soft or user-defined link traversals allowed
|
||||
/// before the library assumes it has found a cycle and aborts the
|
||||
/// traversal.
|
||||
///
|
||||
///\exception H5::PropListIException
|
||||
// Programmer Binh-Minh Ribler - March 1, 2017
|
||||
//--------------------------------------------------------------------------
|
||||
@@ -124,6 +125,7 @@ void LinkAccPropList::setNumLinks(size_t nlinks) const
|
||||
// Function: LinkAccPropList::getNumLinks
|
||||
///\brief Gets the number of soft or user-defined links that can be
|
||||
/// traversed before a failure occurs.
|
||||
///
|
||||
///\exception H5::PropListIException
|
||||
// Programmer Binh-Minh Ribler - March 1, 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -12,9 +12,6 @@
|
||||
* help@hdfgroup.org. *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
// Class LinkAccPropList represents the HDF5 file access property list and
|
||||
// inherits from DataType.
|
||||
|
||||
#ifndef __H5LinkAccPropList_H
|
||||
#define __H5LinkAccPropList_H
|
||||
|
||||
@@ -22,15 +19,15 @@ namespace H5 {
|
||||
|
||||
/*! \class LinkAccPropList
|
||||
\brief Class LinkAccPropList inherits from PropList and provides
|
||||
wrappers for the HDF5 file access property list.
|
||||
wrappers for the HDF5 link access property list.
|
||||
*/
|
||||
// Inheritance: PropList -> IdComponent
|
||||
class H5_DLLCPP LinkAccPropList : public PropList {
|
||||
public:
|
||||
///\brief Default file access property list.
|
||||
///\brief Default link access property list.
|
||||
static const LinkAccPropList& DEFAULT;
|
||||
|
||||
// Creates a file access property list.
|
||||
// Creates a link access property list.
|
||||
LinkAccPropList();
|
||||
|
||||
///\brief Returns this class name.
|
||||
@@ -39,7 +36,7 @@ class H5_DLLCPP LinkAccPropList : public PropList {
|
||||
// Copy constructor: same as the original LinkAccPropList.
|
||||
LinkAccPropList(const LinkAccPropList& original);
|
||||
|
||||
// Creates a copy of an existing file access property list
|
||||
// Creates a copy of an existing link access property list
|
||||
// using the property list id.
|
||||
LinkAccPropList (const hid_t plist_id);
|
||||
|
||||
|
||||
@@ -105,6 +105,7 @@ LinkCreatPropList::LinkCreatPropList(const hid_t plist_id) : PropList(plist_id)
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: LinkCreatPropList::setCharEncoding
|
||||
///\brief Sets the character encoding of the string.
|
||||
///
|
||||
///\exception H5::PropListIException
|
||||
// March, 2018
|
||||
//--------------------------------------------------------------------------
|
||||
@@ -121,6 +122,7 @@ void LinkCreatPropList::setCharEncoding(H5T_cset_t encoding) const
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: LinkCreatPropList::getCharEncoding
|
||||
///\brief Gets the character encoding of the string.
|
||||
///\return The character encoding
|
||||
///\exception H5::PropListIException
|
||||
// March, 2018
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -12,9 +12,6 @@
|
||||
* help@hdfgroup.org. *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
// Class LinkCreatPropList represents the HDF5 file access property list and
|
||||
// inherits from DataType.
|
||||
|
||||
#ifndef __H5LinkCreatPropList_H
|
||||
#define __H5LinkCreatPropList_H
|
||||
|
||||
@@ -22,15 +19,15 @@ namespace H5 {
|
||||
|
||||
/*! \class LinkCreatPropList
|
||||
\brief Class LinkCreatPropList inherits from PropList and provides
|
||||
wrappers for the HDF5 file access property list.
|
||||
wrappers for the HDF5 link creation property list.
|
||||
*/
|
||||
// Inheritance: PropList -> IdComponent
|
||||
class H5_DLLCPP LinkCreatPropList : public PropList {
|
||||
public:
|
||||
///\brief Default file access property list.
|
||||
///\brief Default link creation property list.
|
||||
static const LinkCreatPropList& DEFAULT;
|
||||
|
||||
// Creates a file access property list.
|
||||
// Creates a link creation property list.
|
||||
LinkCreatPropList();
|
||||
|
||||
///\brief Returns this class name.
|
||||
@@ -39,7 +36,7 @@ class H5_DLLCPP LinkCreatPropList : public PropList {
|
||||
// Copy constructor: same as the original LinkCreatPropList.
|
||||
LinkCreatPropList(const LinkCreatPropList& original);
|
||||
|
||||
// Creates a copy of an existing file access property list
|
||||
// Creates a copy of an existing link creation property list
|
||||
// using the property list id.
|
||||
LinkCreatPropList (const hid_t plist_id);
|
||||
|
||||
|
||||
@@ -40,9 +40,8 @@
|
||||
namespace H5 {
|
||||
|
||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||
// userAttrOpWrpr simply interfaces between the user's function and the
|
||||
// C library function H5Aiterate2; used to resolve the different prototype
|
||||
// problem. May be moved to Iterator later.
|
||||
// userAttrOpWrpr interfaces between the user's function and the
|
||||
// C library function H5Aiterate2
|
||||
extern "C" herr_t userAttrOpWrpr(hid_t loc_id, const char *attr_name,
|
||||
const H5A_info_t *ainfo, void *op_data)
|
||||
{
|
||||
@@ -52,6 +51,17 @@ extern "C" herr_t userAttrOpWrpr(hid_t loc_id, const char *attr_name,
|
||||
return 0;
|
||||
}
|
||||
|
||||
// userVisitOpWrpr interfaces between the user's function and the
|
||||
// C library function H5Ovisit2
|
||||
extern "C" herr_t userVisitOpWrpr(hid_t obj_id, const char *attr_name,
|
||||
const H5O_info_t *obj_info, void *op_data)
|
||||
{
|
||||
H5std_string s_attr_name = H5std_string(attr_name);
|
||||
UserData4Visit* myData = reinterpret_cast<UserData4Visit *> (op_data);
|
||||
int status = myData->op(*myData->obj, s_attr_name, obj_info, myData->opData);
|
||||
return status;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: H5Object default constructor (protected)
|
||||
// Programmer Binh-Minh Ribler - 2000
|
||||
@@ -197,8 +207,6 @@ Attribute H5Object::openAttribute(const unsigned int idx) const
|
||||
///\par Description
|
||||
/// The signature of user_op is
|
||||
/// void (*)(H5::H5Location&, H5std_string, void*).
|
||||
/// For information, please refer to the H5Aiterate2 API in
|
||||
/// the HDF5 C Reference Manual.
|
||||
// Programmer Binh-Minh Ribler - 2000
|
||||
//--------------------------------------------------------------------------
|
||||
int H5Object::iterateAttrs(attr_operator_t user_op, unsigned *_idx, void *op_data)
|
||||
@@ -227,6 +235,61 @@ int H5Object::iterateAttrs(attr_operator_t user_op, unsigned *_idx, void *op_dat
|
||||
throw AttributeIException(inMemFunc("iterateAttrs"), "H5Aiterate2 failed");
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: H5Object::visit
|
||||
///\brief Recursively visits all HDF5 objects accessible from this object.
|
||||
///\param idx_type - IN: Type of index; valid values include:
|
||||
/// \li \c H5_INDEX_NAME
|
||||
/// \li \c H5_INDEX_CRT_ORDER
|
||||
///\param order - IN: Order in which index is traversed; valid values include:
|
||||
/// \li \c H5_ITER_DEC
|
||||
/// \li \c H5_ITER_INC
|
||||
/// \li \c H5_ITER_NATIVE
|
||||
///\param user_op - IN: Callback function passing data regarding the
|
||||
/// object to the calling application
|
||||
///\param *op_data - IN: User-defined pointer to data required by the
|
||||
/// application for its processing of the object
|
||||
///\param fields - IN: Flags specifying the fields to be retrieved
|
||||
/// to the callback op via the H5O_info_t argument.
|
||||
/// \li \c H5O_INFO_BASIC fileno, addr, type, and rc fields
|
||||
/// \li \c H5O_INFO_TIME atime, mtime, ctime, and btime fields
|
||||
/// \li \c H5O_INFO_NUM_ATTRS num_attrs field
|
||||
/// \li \c H5O_INFO_HDR hdr field
|
||||
/// \li \c H5O_INFO_META_SIZE meta_size field
|
||||
/// \li \c H5O_INFO_ALL H5O_INFO_BASIC | H5O_INFO_TIME | H5O_INFO_NUM_ATTRS | H5O_INFO_HDR | H5O_INFO_META_SIZE
|
||||
///\return
|
||||
/// \li On success:
|
||||
/// \li the return value of the first operator that returns a positive value
|
||||
/// \li zero if all members were processed with no operator returning non-zero
|
||||
/// \li On failure:
|
||||
/// \li an exception Exception will be thrown if something went
|
||||
/// wrong within the library or the operator failed
|
||||
///\exception H5::Exception
|
||||
///\par Description
|
||||
/// For information, please refer to the H5Ovisit2 API in the HDF5
|
||||
/// C Reference Manual.
|
||||
// Programmer Binh-Minh Ribler - Feb, 2019
|
||||
//--------------------------------------------------------------------------
|
||||
void H5Object::visit(H5_index_t idx_type, H5_iter_order_t order, visit_operator_t user_op, void *op_data, unsigned int fields)
|
||||
{
|
||||
// Store the user's function and data
|
||||
UserData4Visit* userData = new UserData4Visit;
|
||||
userData->opData = op_data;
|
||||
userData->op = user_op;
|
||||
userData->obj = this;
|
||||
|
||||
// Call the C API passing in op wrapper and info
|
||||
herr_t ret_value = H5Ovisit2(getId(), idx_type, order, userVisitOpWrpr, static_cast<void *>(userData), fields);
|
||||
|
||||
// Release memory
|
||||
delete userData;
|
||||
|
||||
// Throw exception if H5Ovisit2 failed, which could be a failure in
|
||||
// the library or in the call back operator
|
||||
if (ret_value < 0)
|
||||
throw Exception(inMemFunc("visit"), "H5Ovisit2 failed");
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: H5Object::objVersion
|
||||
///\brief Returns the header version of this HDF5 object.
|
||||
|
||||
@@ -40,16 +40,30 @@ namespace H5 {
|
||||
// Inheritance: H5Location -> IdComponent
|
||||
|
||||
// Define the operator function pointer for H5Aiterate().
|
||||
typedef void (*attr_operator_t)(H5Object& loc/*in*/,
|
||||
const H5std_string attr_name/*in*/,
|
||||
void *operator_data/*in,out*/);
|
||||
typedef void (*attr_operator_t)(H5Object& loc,
|
||||
const H5std_string attr_name,
|
||||
void *operator_data);
|
||||
|
||||
// Define the operator function pointer for H5Ovisit2().
|
||||
typedef int (*visit_operator_t)(H5Object& obj,
|
||||
const H5std_string attr_name,
|
||||
const H5O_info_t *oinfo,
|
||||
void *operator_data);
|
||||
|
||||
// User data for attribute iteration
|
||||
class UserData4Aiterate {
|
||||
public:
|
||||
attr_operator_t op;
|
||||
void* opData;
|
||||
H5Object* location;
|
||||
H5Object* location; // Consider changing to H5Location
|
||||
};
|
||||
|
||||
// User data for visit iteration
|
||||
class UserData4Visit {
|
||||
public:
|
||||
visit_operator_t op;
|
||||
void* opData;
|
||||
H5Object* obj;
|
||||
};
|
||||
|
||||
class H5_DLLCPP H5Object : public H5Location {
|
||||
@@ -71,6 +85,9 @@ class H5_DLLCPP H5Object : public H5Location {
|
||||
// Iterate user's function over the attributes of this object.
|
||||
int iterateAttrs(attr_operator_t user_op, unsigned* idx = NULL, void* op_data = NULL);
|
||||
|
||||
// Recursively visit elements reachable from this object.
|
||||
void visit(H5_index_t idx_type, H5_iter_order_t order, visit_operator_t user_op, void *op_data, unsigned int fields);
|
||||
|
||||
// Returns the object header version of an object
|
||||
unsigned objVersion() const;
|
||||
|
||||
@@ -98,6 +115,7 @@ class H5_DLLCPP H5Object : public H5Location {
|
||||
ssize_t getObjName(H5std_string& obj_name, size_t len = 0) const;
|
||||
H5std_string getObjName() const;
|
||||
|
||||
|
||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||
|
||||
protected:
|
||||
|
||||
@@ -149,8 +149,8 @@ PropList::PropList(const hid_t plist_id) : IdComponent()
|
||||
case H5I_DATASPACE:
|
||||
case H5I_DATASET:
|
||||
case H5I_ATTR:
|
||||
case H5I_REFERENCE:
|
||||
case H5I_VFL:
|
||||
case H5I_VOL:
|
||||
case H5I_ERROR_CLASS:
|
||||
case H5I_ERROR_MSG:
|
||||
case H5I_ERROR_STACK:
|
||||
|
||||
@@ -186,6 +186,7 @@ StrType::StrType(const H5Location& loc, const H5std_string& dtype_name) : AtomTy
|
||||
// Function: StrType::decode
|
||||
///\brief Returns an StrType object via DataType* by decoding the
|
||||
/// binary object description of this type.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -133,6 +133,7 @@ VarLenType::VarLenType(const H5Location& loc, const H5std_string& dtype_name) :
|
||||
// Function: VarLenType::decode
|
||||
///\brief Returns an VarLenType object via DataType* by decoding the
|
||||
/// binary object description of this type.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -32,15 +32,15 @@ bin_SCRIPTS=h5c++
|
||||
|
||||
# Source files for the library
|
||||
libhdf5_cpp_la_SOURCES=H5Exception.cpp H5IdComponent.cpp \
|
||||
H5DataSpace.cpp H5PropList.cpp H5Library.cpp \
|
||||
H5FaccProp.cpp H5FcreatProp.cpp H5LcreatProp.cpp \
|
||||
H5LaccProp.cpp H5DaccProp.cpp H5DxferProp.cpp \
|
||||
H5DataSpace.cpp H5PropList.cpp H5Library.cpp \
|
||||
H5FaccProp.cpp H5FcreatProp.cpp H5LcreatProp.cpp \
|
||||
H5LaccProp.cpp H5DaccProp.cpp H5DxferProp.cpp \
|
||||
H5DcreatProp.cpp H5Location.cpp H5AbstractDs.cpp \
|
||||
H5Attribute.cpp H5Object.cpp H5OcreatProp.cpp \
|
||||
H5DataType.cpp H5AtomType.cpp H5PredType.cpp \
|
||||
H5DataType.cpp H5AtomType.cpp H5PredType.cpp \
|
||||
H5EnumType.cpp H5IntType.cpp H5FloatType.cpp \
|
||||
H5StrType.cpp H5ArrayType.cpp H5VarLenType.cpp \
|
||||
H5CompType.cpp H5DataSet.cpp H5CommonFG.cpp H5Group.cpp \
|
||||
H5CompType.cpp H5DataSet.cpp H5CommonFG.cpp H5Group.cpp \
|
||||
H5File.cpp
|
||||
|
||||
# HDF5 C++ library depends on HDF5 Library.
|
||||
|
||||
@@ -38,7 +38,7 @@ PROJECT_NAME =
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = "1.11.2"
|
||||
PROJECT_NUMBER = "1.11.4"
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
||||
@@ -47,55 +47,12 @@ else ()
|
||||
endif ()
|
||||
set_tests_properties (CPP_testhdf5 PROPERTIES DEPENDS CPP_testhdf5-clear-objects)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### V F D T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
if (HDF5_TEST_VFD)
|
||||
|
||||
set (VFD_LIST
|
||||
sec2
|
||||
stdio
|
||||
core
|
||||
split
|
||||
multi
|
||||
family
|
||||
)
|
||||
|
||||
if (DIRECT_VFD)
|
||||
set (VFD_LIST ${VFD_LIST} direct)
|
||||
endif ()
|
||||
|
||||
macro (ADD_VFD_TEST vfdname resultcode)
|
||||
if (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${vfdname}")
|
||||
add_test (
|
||||
NAME CPP_VFD-${vfdname}-cpp_testhdf5-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
tattr_basic.h5
|
||||
tattr_compound.h5
|
||||
tattr_dtype.h5
|
||||
tattr_multi.h5
|
||||
tattr_scalar.h5
|
||||
tfattrs.h5
|
||||
titerate.h5
|
||||
)
|
||||
add_test (
|
||||
NAME CPP_VFD-${vfdname}-cpp_testhdf5
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:cpp_testhdf5>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=cpp_testhdf5"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
|
||||
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
set_tests_properties (CPP_VFD-${vfdname}-cpp_testhdf5 PROPERTIES DEPENDS CPP_VFD-${vfdname}-cpp_testhdf5-clear-objects)
|
||||
set_tests_properties (CPP_VFD-${vfdname}-cpp_testhdf5 PROPERTIES TIMEOUT 30)
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
# Run test with different Virtual File Driver
|
||||
foreach (vfd ${VFD_LIST})
|
||||
ADD_VFD_TEST (${vfd} 0)
|
||||
endforeach ()
|
||||
|
||||
include (CMakeVFDTests.cmake)
|
||||
endif ()
|
||||
|
||||
65
c++/test/CMakeVFDTests.cmake
Normal file
65
c++/test/CMakeVFDTests.cmake
Normal file
@@ -0,0 +1,65 @@
|
||||
#
|
||||
# Copyright by The HDF Group.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is part of HDF5. The full HDF5 copyright notice, including
|
||||
# terms governing use, modification, and redistribution, is contained in
|
||||
# the COPYING file, which can be found at the root of the source code
|
||||
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
set (VFD_LIST
|
||||
sec2
|
||||
stdio
|
||||
core
|
||||
split
|
||||
multi
|
||||
family
|
||||
)
|
||||
|
||||
if (DIRECT_VFD)
|
||||
set (VFD_LIST ${VFD_LIST} direct)
|
||||
endif ()
|
||||
|
||||
macro (ADD_VFD_TEST vfdname resultcode)
|
||||
if (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${vfdname}")
|
||||
add_test (
|
||||
NAME CPP_VFD-${vfdname}-cpp_testhdf5-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
tattr_basic.h5
|
||||
tattr_compound.h5
|
||||
tattr_dtype.h5
|
||||
tattr_multi.h5
|
||||
tattr_scalar.h5
|
||||
tfattrs.h5
|
||||
titerate.h5
|
||||
)
|
||||
add_test (
|
||||
NAME CPP_VFD-${vfdname}-cpp_testhdf5
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:cpp_testhdf5>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=cpp_testhdf5"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
|
||||
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
set_tests_properties (CPP_VFD-${vfdname}-cpp_testhdf5 PROPERTIES DEPENDS CPP_VFD-${vfdname}-cpp_testhdf5-clear-objects)
|
||||
set_tests_properties (CPP_VFD-${vfdname}-cpp_testhdf5 PROPERTIES TIMEOUT ${CTEST_SHORT_TIMEOUT})
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
# Run test with different Virtual File Driver
|
||||
foreach (vfd ${VFD_LIST})
|
||||
ADD_VFD_TEST (${vfd} 0)
|
||||
endforeach ()
|
||||
@@ -286,7 +286,7 @@ H5::DataType getArr()
|
||||
*dims = 5;
|
||||
H5::ArrayType ret;
|
||||
ret = H5::ArrayType(H5::PredType::NATIVE_INT, 1, dims);
|
||||
delete[] dims;
|
||||
delete dims;
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -371,7 +371,6 @@ static void test_array_info()
|
||||
s1_t rdata[SPACE1_DIM1][ARRAY1_DIM1]; // Information read in
|
||||
hsize_t sdims1[] = {SPACE1_DIM1};
|
||||
hsize_t tdims1[] = {ARRAY1_DIM1};
|
||||
int nmemb; // Number of compound members
|
||||
int ii; // counting variables
|
||||
hsize_t idxi, idxj, idxk; // dimension indicing variables
|
||||
H5T_class_t mclass; // Datatype class for field
|
||||
|
||||
@@ -1712,7 +1712,7 @@ static void test_attr_dense_create(FileCreatPropList& fcpl,
|
||||
// Close property list
|
||||
dcpl.close();
|
||||
|
||||
// H5O_is_attr_dense_test - un-usable
|
||||
// H5O__is_attr_dense_test - un-usable
|
||||
|
||||
// Add attributes, until just before converting to dense storage
|
||||
char attr_name[NAME_BUF_SIZE];
|
||||
@@ -1727,7 +1727,7 @@ static void test_attr_dense_create(FileCreatPropList& fcpl,
|
||||
attr.write(PredType::NATIVE_UINT, &attr_num);
|
||||
} // end for
|
||||
|
||||
// H5O_is_attr_dense_test - un-usable
|
||||
// H5O__is_attr_dense_test - un-usable
|
||||
|
||||
{ // Add one more attribute, to push into "dense" storage
|
||||
|
||||
@@ -1815,8 +1815,8 @@ static void test_attr_corder_create_basic(FileCreatPropList& fcpl,
|
||||
ds_space.close();
|
||||
|
||||
// Check on dataset's attribute storage status.
|
||||
// NOTE: Wrappers not available yet (H5O_is_attr_empty_test
|
||||
// and H5O_is_attr_dense_test)
|
||||
// NOTE: Wrappers not available yet (H5O__is_attr_empty_test
|
||||
// and H5O__is_attr_dense_test)
|
||||
|
||||
// Close dataset
|
||||
dataset.close();
|
||||
|
||||
@@ -31,288 +31,27 @@ using namespace H5;
|
||||
#include "h5test.h"
|
||||
#include "h5cpputil.h" // C++ utilility header file
|
||||
|
||||
// A lot of the definition inherited from C test links.c is left here until
|
||||
// the H5L API is implemented and tests are completed - BMR 10/19/2009
|
||||
/*
|
||||
* This file needs to access private information from the H5G package.
|
||||
* This file also needs to access the group testing code.
|
||||
*/
|
||||
//#define H5G_FRIEND
|
||||
//#define H5G_TESTING
|
||||
|
||||
//#include "h5test.h"
|
||||
//#include "H5Gpkg.h" /* Groups */
|
||||
//#include "H5Iprivate.h" /* IDs */
|
||||
//#include "H5Lprivate.h" /* Links */
|
||||
|
||||
/* File for external link test. Created with gen_udlinks.c */
|
||||
#define LINKED_FILE "be_extlink2.h5"
|
||||
|
||||
#if 0
|
||||
const char *FILENAME[] = {
|
||||
"links0",
|
||||
"links1",
|
||||
"links2",
|
||||
"links3",
|
||||
"links4a", /* 4 */
|
||||
"links4b", /* 5 */
|
||||
"links4c", /* 6 */
|
||||
"links4d", /* 7 */
|
||||
"links5", /* 8 */
|
||||
"links6", /* 9 */
|
||||
"links7", /* 10 */
|
||||
"links8", /* 11 */
|
||||
"extlinks0", /* 12: main files */
|
||||
"tmp/extlinks0", /* 13: */
|
||||
"extlinks1", /* 14: target files */
|
||||
"tmp/extlinks1", /* 15: */
|
||||
"extlinks2", /* 16: */
|
||||
"tmp/extlinks2", /* 17: */
|
||||
"extlinks3", /* 18: */
|
||||
"tmp/extlinks3", /* 19: */
|
||||
"extlinks4", /* 20: */
|
||||
"tmp/extlinks4", /* 21: */
|
||||
"extlinks5", /* 22: */
|
||||
"tmp/extlinks6", /* 23: */
|
||||
"extlinks7", /* 24: */
|
||||
"tmp/extlinks7", /* 25: */
|
||||
"tmp/extlinks8", /* 26: */
|
||||
"extlinks9", /* 27: */
|
||||
"tmp/extlinks9", /* 28: */
|
||||
"extlinks10", /* 29: */ /* TESTS for windows */
|
||||
"tmp/extlinks10", /* 30: */
|
||||
"tmp/extlinks11", /* 31: */
|
||||
"tmp/extlinks12", /* 32: */
|
||||
"extlinks13", /* 33: */
|
||||
"tmp/extlinks13", /* 34: */
|
||||
"tmp/extlinks14", /* 35: */
|
||||
"tmp/extlinks15", /* 36: */
|
||||
"extlinks16A", /* 37: */ /* TESTS for H5P_set_elink_fapl */
|
||||
"extlinks16B", /* 38: */
|
||||
"extlinks17", /* 39: */
|
||||
"extlinks18A", /* 40: */
|
||||
"extlinks18B", /* 41: */
|
||||
"extlinks19A", /* 42: */
|
||||
"extlinks19B", /* 43: */
|
||||
"extlinks20", /* 44: */
|
||||
NULL
|
||||
};
|
||||
|
||||
#endif // 0
|
||||
|
||||
#define TMPDIR "tmp"
|
||||
|
||||
#define FAMILY_SIZE 1024
|
||||
#define CORE_INCREMENT 1024
|
||||
#define NUM400 400
|
||||
|
||||
/* do not do check_all_closed() for "ext*" files and "tmp/ext*" */
|
||||
#define EXTSTOP 12
|
||||
|
||||
#define LINK_BUF_SIZE 1024
|
||||
#define NAME_BUF_SIZE 1024
|
||||
#define MAX_NAME_LEN ((64*1024)+1024)
|
||||
|
||||
/* Link type IDs */
|
||||
#define UD_HARD_TYPE 201
|
||||
#define UD_CB_TYPE H5L_TYPE_MAX
|
||||
#define UD_PLIST_TYPE 128
|
||||
#define UD_CBFAIL_TYPE UD_PLIST_TYPE
|
||||
#define UD_ERROR_TYPE 189
|
||||
#define UD_BAD_TYPE1 H5L_TYPE_HARD
|
||||
#define UD_BAD_TYPE2 (H5L_TYPE_UD_MIN - 5)
|
||||
#define UD_BAD_VERS (H5L_LINK_CLASS_T_VERS + 1)
|
||||
|
||||
#define DEST_PROP_NAME "destination_group"
|
||||
#define REREG_TARGET_NAME "rereg_target"
|
||||
|
||||
#define UD_CB_LINK_NAME "ud_callback_link"
|
||||
#define NEW_UD_CB_LINK_NAME "ud_callback_link2"
|
||||
#define UD_CB_TARGET "ud_target"
|
||||
#define UD_CB_TARGET_LEN 10
|
||||
|
||||
#define LE_FILENAME "le_extlink1.h5"
|
||||
#define BE_FILENAME "be_extlink1.h5"
|
||||
|
||||
#define ELINK_CB_FAM_SIZE (hsize_t) 100
|
||||
|
||||
#define H5L_DIM1 100
|
||||
#define H5L_DIM2 100
|
||||
|
||||
/* Creation order macros */
|
||||
#define CORDER_SOFT_GROUP_NAME "corder_soft_group"
|
||||
#define CORDER_NLINKS 18
|
||||
|
||||
/* Timestamp macros */
|
||||
#define TIMESTAMP_GROUP_1 "timestamp1"
|
||||
#define TIMESTAMP_GROUP_2 "timestamp2"
|
||||
|
||||
/* Link iteration struct */
|
||||
typedef struct {
|
||||
H5_iter_order_t order; /* Direction of iteration */
|
||||
unsigned ncalled; /* # of times callback is entered */
|
||||
unsigned nskipped; /* # of links skipped */
|
||||
int stop; /* # of iterations to stop after */
|
||||
int64_t curr; /* Current creation order value */
|
||||
size_t max_visit; /* Size of "visited link" flag array */
|
||||
hbool_t *visited; /* Pointer to array of "visited link" flags */
|
||||
} link_iter_info_t;
|
||||
|
||||
#if 0
|
||||
/* Link visit structs */
|
||||
typedef struct {
|
||||
const char *path; /* Path to link */
|
||||
H5L_type_t type; /* Type of link */
|
||||
} link_visit_t;
|
||||
static const link_visit_t lvisit0[] = {
|
||||
{"Dataset_zero", H5L_TYPE_HARD},
|
||||
{"Group1", H5L_TYPE_HARD},
|
||||
{"Group1/Dataset_one", H5L_TYPE_HARD},
|
||||
{"Group1/Group2", H5L_TYPE_HARD},
|
||||
{"Group1/Group2/Dataset_two", H5L_TYPE_HARD},
|
||||
{"Group1/Group2/Type_two", H5L_TYPE_HARD},
|
||||
{"Group1/Group2/hard_zero", H5L_TYPE_HARD},
|
||||
{"Group1/Type_one", H5L_TYPE_HARD},
|
||||
{"Group1/hard_one", H5L_TYPE_HARD},
|
||||
{"Type_zero", H5L_TYPE_HARD},
|
||||
{"ext_dangle", H5L_TYPE_EXTERNAL},
|
||||
{"ext_one", H5L_TYPE_EXTERNAL},
|
||||
{"hard_one", H5L_TYPE_HARD},
|
||||
{"hard_two", H5L_TYPE_HARD},
|
||||
{"hard_zero", H5L_TYPE_HARD},
|
||||
{"soft_dangle", H5L_TYPE_SOFT},
|
||||
{"soft_one", H5L_TYPE_SOFT},
|
||||
{"soft_two", H5L_TYPE_SOFT}
|
||||
};
|
||||
static const link_visit_t lvisit1[] = {
|
||||
{"Dataset_one", H5L_TYPE_HARD},
|
||||
{"Group2", H5L_TYPE_HARD},
|
||||
{"Group2/Dataset_two", H5L_TYPE_HARD},
|
||||
{"Group2/Type_two", H5L_TYPE_HARD},
|
||||
{"Group2/hard_zero", H5L_TYPE_HARD},
|
||||
{"Group2/hard_zero/Dataset_zero", H5L_TYPE_HARD},
|
||||
{"Group2/hard_zero/Group1", H5L_TYPE_HARD},
|
||||
{"Group2/hard_zero/Type_zero", H5L_TYPE_HARD},
|
||||
{"Group2/hard_zero/ext_dangle", H5L_TYPE_EXTERNAL},
|
||||
{"Group2/hard_zero/ext_one", H5L_TYPE_EXTERNAL},
|
||||
{"Group2/hard_zero/hard_one", H5L_TYPE_HARD},
|
||||
{"Group2/hard_zero/hard_two", H5L_TYPE_HARD},
|
||||
{"Group2/hard_zero/hard_zero", H5L_TYPE_HARD},
|
||||
{"Group2/hard_zero/soft_dangle", H5L_TYPE_SOFT},
|
||||
{"Group2/hard_zero/soft_one", H5L_TYPE_SOFT},
|
||||
{"Group2/hard_zero/soft_two", H5L_TYPE_SOFT},
|
||||
{"Type_one", H5L_TYPE_HARD},
|
||||
{"hard_one", H5L_TYPE_HARD}
|
||||
};
|
||||
static const link_visit_t lvisit2[] = {
|
||||
{"Dataset_two", H5L_TYPE_HARD},
|
||||
{"Type_two", H5L_TYPE_HARD},
|
||||
{"hard_zero", H5L_TYPE_HARD},
|
||||
{"hard_zero/Dataset_zero", H5L_TYPE_HARD},
|
||||
{"hard_zero/Group1", H5L_TYPE_HARD},
|
||||
{"hard_zero/Group1/Dataset_one", H5L_TYPE_HARD},
|
||||
{"hard_zero/Group1/Group2", H5L_TYPE_HARD},
|
||||
{"hard_zero/Group1/Type_one", H5L_TYPE_HARD},
|
||||
{"hard_zero/Group1/hard_one", H5L_TYPE_HARD},
|
||||
{"hard_zero/Type_zero", H5L_TYPE_HARD},
|
||||
{"hard_zero/ext_dangle", H5L_TYPE_EXTERNAL},
|
||||
{"hard_zero/ext_one", H5L_TYPE_EXTERNAL},
|
||||
{"hard_zero/hard_one", H5L_TYPE_HARD},
|
||||
{"hard_zero/hard_two", H5L_TYPE_HARD},
|
||||
{"hard_zero/hard_zero", H5L_TYPE_HARD},
|
||||
{"hard_zero/soft_dangle", H5L_TYPE_SOFT},
|
||||
{"hard_zero/soft_one", H5L_TYPE_SOFT},
|
||||
{"hard_zero/soft_two", H5L_TYPE_SOFT}
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
unsigned idx; /* Index in link visit structure */
|
||||
const link_visit_t *info; /* Pointer to the link visit structure to use */
|
||||
} lvisit_ud_t;
|
||||
|
||||
|
||||
/* Object visit structs */
|
||||
// Object visit structs
|
||||
typedef struct {
|
||||
const char *path; /* Path to object */
|
||||
H5O_type_t type; /* Type of object */
|
||||
} obj_visit_t;
|
||||
static const obj_visit_t ovisit0_old[] = {
|
||||
{".", H5O_TYPE_GROUP},
|
||||
{"Dataset_zero", H5O_TYPE_DATASET},
|
||||
{"Group1", H5O_TYPE_GROUP},
|
||||
{"Group1/Dataset_one", H5O_TYPE_DATASET},
|
||||
{"Group1/Group2", H5O_TYPE_GROUP},
|
||||
{"Group1/Group2/Dataset_two", H5O_TYPE_DATASET},
|
||||
{"Group1/Group2/Type_two", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"Group1/Type_one", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"Type_zero", H5O_TYPE_NAMED_DATATYPE}
|
||||
};
|
||||
static const obj_visit_t ovisit0_new[] = {
|
||||
{".", H5O_TYPE_GROUP},
|
||||
{"Dataset_zero", H5O_TYPE_DATASET},
|
||||
{"Group1", H5O_TYPE_GROUP},
|
||||
{"Group1/Dataset_one", H5O_TYPE_DATASET},
|
||||
{"Group1/Group2", H5O_TYPE_GROUP},
|
||||
{"Group1/Group2/Dataset_two", H5O_TYPE_DATASET},
|
||||
{"Group1/Group2/Type_two", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"Group1/Type_one", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"Type_zero", H5O_TYPE_NAMED_DATATYPE}
|
||||
};
|
||||
static const obj_visit_t ovisit1_old[] = {
|
||||
{".", H5O_TYPE_GROUP},
|
||||
{"Dataset_one", H5O_TYPE_DATASET},
|
||||
{"Group2", H5O_TYPE_GROUP},
|
||||
{"Group2/Dataset_two", H5O_TYPE_DATASET},
|
||||
{"Group2/Type_two", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"Group2/hard_zero", H5O_TYPE_GROUP},
|
||||
{"Group2/hard_zero/Dataset_zero", H5O_TYPE_DATASET},
|
||||
{"Group2/hard_zero/Type_zero", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"Type_one", H5O_TYPE_NAMED_DATATYPE}
|
||||
};
|
||||
static const obj_visit_t ovisit1_new[] = {
|
||||
{".", H5O_TYPE_GROUP},
|
||||
{"Dataset_one", H5O_TYPE_DATASET},
|
||||
{"Group2", H5O_TYPE_GROUP},
|
||||
{"Group2/Dataset_two", H5O_TYPE_DATASET},
|
||||
{"Group2/Type_two", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"Group2/hard_zero", H5O_TYPE_GROUP},
|
||||
{"Group2/hard_zero/Dataset_zero", H5O_TYPE_DATASET},
|
||||
{"Group2/hard_zero/Type_zero", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"Type_one", H5O_TYPE_NAMED_DATATYPE}
|
||||
};
|
||||
static const obj_visit_t ovisit2_old[] = {
|
||||
{".", H5O_TYPE_GROUP},
|
||||
{"Dataset_two", H5O_TYPE_DATASET},
|
||||
{"Type_two", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"hard_zero", H5O_TYPE_GROUP},
|
||||
{"hard_zero/Dataset_zero", H5O_TYPE_DATASET},
|
||||
{"hard_zero/Group1", H5O_TYPE_GROUP},
|
||||
{"hard_zero/Group1/Dataset_one", H5O_TYPE_DATASET},
|
||||
{"hard_zero/Group1/Type_one", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"hard_zero/Type_zero", H5O_TYPE_NAMED_DATATYPE}
|
||||
};
|
||||
static const obj_visit_t ovisit2_new[] = {
|
||||
{".", H5O_TYPE_GROUP},
|
||||
{"Dataset_two", H5O_TYPE_DATASET},
|
||||
{"Type_two", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"hard_zero", H5O_TYPE_GROUP},
|
||||
{"hard_zero/Dataset_zero", H5O_TYPE_DATASET},
|
||||
{"hard_zero/Group1", H5O_TYPE_GROUP},
|
||||
{"hard_zero/Group1/Dataset_one", H5O_TYPE_DATASET},
|
||||
{"hard_zero/Group1/Type_one", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"hard_zero/Type_zero", H5O_TYPE_NAMED_DATATYPE}
|
||||
};
|
||||
|
||||
// User data for callback function
|
||||
typedef struct {
|
||||
unsigned idx; /* Index in object visit structure */
|
||||
const obj_visit_t *info; /* Pointer to the object visit structure to use */
|
||||
} ovisit_ud_t;
|
||||
#endif
|
||||
|
||||
static const char *FILENAME[] = {
|
||||
"link0",
|
||||
"link1.h5",
|
||||
"link2.h5",
|
||||
"visit",
|
||||
NULL
|
||||
};
|
||||
|
||||
@@ -841,6 +580,140 @@ static void test_num_links(hid_t fapl_id, hbool_t new_format)
|
||||
}
|
||||
} // test_num_links
|
||||
|
||||
|
||||
// Data for visit on the file
|
||||
static const obj_visit_t file_visit[] = {
|
||||
{".", H5O_TYPE_GROUP},
|
||||
{"Data", H5O_TYPE_GROUP},
|
||||
{"Data/Compressed_Data", H5O_TYPE_DATASET},
|
||||
{"Data/Float_Data", H5O_TYPE_DATASET},
|
||||
};
|
||||
|
||||
// Data for visit on the group
|
||||
static const obj_visit_t group_visit[] = {
|
||||
{".", H5O_TYPE_GROUP},
|
||||
{"Compressed_Data", H5O_TYPE_DATASET},
|
||||
{"Float_Data", H5O_TYPE_DATASET},
|
||||
};
|
||||
|
||||
const H5std_string FILE_NAME("tvisit.h5");
|
||||
const H5std_string GROUP_NAME("/Data");
|
||||
const H5std_string DSET1_NAME("/Data/Compressed_Data");
|
||||
const H5std_string DSET2_NAME("/Data/Float_Data");
|
||||
const int RANK = 2;
|
||||
const int DIM1 = 2;
|
||||
|
||||
// Operator function
|
||||
static int visit_obj_cb(H5Object& obj, const H5std_string name, const H5O_info_t *oinfo, void *_op_data)
|
||||
{
|
||||
ovisit_ud_t *op_data = static_cast <ovisit_ud_t *>(_op_data);
|
||||
|
||||
// Check for correct object information
|
||||
if(strcmp(op_data->info[op_data->idx].path, name.c_str())) return(H5_ITER_ERROR);
|
||||
if(op_data->info[op_data->idx].type != oinfo->type) return(H5_ITER_ERROR);
|
||||
|
||||
// Advance to next location
|
||||
op_data->idx++;
|
||||
|
||||
return(H5_ITER_CONT);
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_visit
|
||||
*
|
||||
* Purpose Test H5Object::visit
|
||||
*
|
||||
* Return None
|
||||
*
|
||||
* February 8, 2019
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static void test_visit(hid_t fapl_id, hbool_t new_format)
|
||||
{
|
||||
hsize_t dims[2];
|
||||
hsize_t cdims[2];
|
||||
char filename[NAME_BUF_SIZE];
|
||||
|
||||
if(new_format)
|
||||
SUBTEST("H5Object::visit (w/new group format)")
|
||||
else
|
||||
SUBTEST("H5Object::visit")
|
||||
|
||||
try
|
||||
{
|
||||
// Use the file access template id to create a file access prop. list
|
||||
FileAccPropList fapl(fapl_id);
|
||||
|
||||
// Build the hdf5 file name and create the file
|
||||
h5_fixname(FILENAME[3], fapl_id, filename, sizeof filename);
|
||||
H5File *file = new H5File(filename, H5F_ACC_TRUNC, FileCreatPropList::DEFAULT, fapl);
|
||||
|
||||
// Create a group
|
||||
Group* group = new Group(file->createGroup(GROUP_NAME));
|
||||
|
||||
// Create a chunked/compressed dataset within this group specified by path
|
||||
dims[0] = 20;
|
||||
dims[1] = 2;
|
||||
cdims[0] = 2;
|
||||
cdims[1] = 2;
|
||||
DataSpace *dataspace = new DataSpace(RANK, dims); // create new dspace
|
||||
DSetCreatPropList ds_creatplist; // create dataset creation prop list
|
||||
ds_creatplist.setChunk(2, cdims); // then modify it for compression
|
||||
ds_creatplist.setDeflate(6);
|
||||
|
||||
DataSet* dataset = new DataSet(file->createDataSet(DSET1_NAME,
|
||||
PredType::NATIVE_INT, *dataspace, ds_creatplist));
|
||||
|
||||
delete dataset;
|
||||
delete dataspace;
|
||||
|
||||
// Create another dataset
|
||||
dims[0] = 5;
|
||||
dims[1] = 2;
|
||||
dataspace = new DataSpace(RANK, dims); // create second dspace
|
||||
dataset = new DataSet(file->createDataSet(DSET2_NAME,
|
||||
PredType::NATIVE_FLOAT, *dataspace));
|
||||
|
||||
// Close everything
|
||||
delete dataset;
|
||||
delete dataspace;
|
||||
delete group;
|
||||
delete file;
|
||||
|
||||
// Reopen the file and group in the file.
|
||||
file = new H5File(filename, H5F_ACC_RDWR);
|
||||
group = new Group(file->openGroup("Data"));
|
||||
|
||||
// Open the group
|
||||
dataset = new DataSet(group->openDataSet(DSET2_NAME));
|
||||
delete dataset;
|
||||
|
||||
// Visit objects in the file
|
||||
ovisit_ud_t udata; /* User-data for visiting */
|
||||
udata.idx = 0;
|
||||
udata.info = file_visit;
|
||||
|
||||
file->visit(H5_INDEX_NAME, H5_ITER_INC, visit_obj_cb, &udata, H5O_INFO_BASIC);
|
||||
|
||||
// Visit objects in the group
|
||||
udata.idx = 0;
|
||||
udata.info = group_visit;
|
||||
|
||||
group->visit(H5_INDEX_NAME, H5_ITER_INC, visit_obj_cb, &udata, H5O_INFO_BASIC);
|
||||
|
||||
// Close the group and file.
|
||||
delete group;
|
||||
delete file;
|
||||
|
||||
PASSED();
|
||||
} // end of try block
|
||||
catch (Exception& E)
|
||||
{
|
||||
cerr << "in catch" << endl;
|
||||
issue_fail_msg("test_visit()", __LINE__, __FILE__, E.getCDetailMsg());
|
||||
}
|
||||
} // test_visit()
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_links
|
||||
@@ -857,13 +730,9 @@ void test_links()
|
||||
{
|
||||
hid_t fapl_id, fapl2_id; /* File access property lists */
|
||||
unsigned new_format; /* Whether to use the new format or not */
|
||||
const char *envval;
|
||||
|
||||
envval = HDgetenv("HDF5_DRIVER");
|
||||
if(envval == NULL)
|
||||
envval = "nomatch";
|
||||
|
||||
fapl_id = h5_fileaccess();
|
||||
if((fapl_id = h5_fileaccess()) < 0)
|
||||
throw Exception("test_links", "Unable to get file access property list");
|
||||
|
||||
// Output message about test being performed
|
||||
MESSAGE(5, ("Testing Various Links\n"));
|
||||
@@ -896,24 +765,18 @@ void test_links()
|
||||
test_move(my_fapl_id, new_format);
|
||||
test_copy(my_fapl_id, new_format);
|
||||
test_lcpl(my_fapl_id, new_format);
|
||||
test_visit(my_fapl_id, new_format);
|
||||
} /* end for */
|
||||
|
||||
/* Close 2nd FAPL */
|
||||
H5Pclose(fapl2_id);
|
||||
|
||||
h5_clean_files(FILENAME, fapl_id);
|
||||
|
||||
/* Test that external links can be used after a library reset. MUST be
|
||||
* called last so the reset doesn't interfere with the property lists. This
|
||||
* routine will delete its own file. */
|
||||
/* nerrors += external_reset_register() < 0 ? 1 : 0;
|
||||
*/
|
||||
}
|
||||
catch (Exception& E)
|
||||
{
|
||||
issue_fail_msg("test_links()", __LINE__, __FILE__, E.getCDetailMsg());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -931,7 +794,3 @@ void cleanup_links()
|
||||
HDremove(FILENAME[0]);
|
||||
HDremove(FILENAME[1]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -609,10 +609,10 @@ static void test_getobjectinfo_same_file()
|
||||
catch (Exception& E)
|
||||
{
|
||||
cerr << " in Exception " << E.getCFuncName() << "detail: " << E.getCDetailMsg() << endl;
|
||||
issue_fail_msg("test_file_name()", __LINE__, __FILE__, E.getCDetailMsg());
|
||||
issue_fail_msg("test_getobjectinfo_same_file()", __LINE__, __FILE__, E.getCDetailMsg());
|
||||
}
|
||||
|
||||
} // test_h5o_getinfo_same_file
|
||||
} // test_getobjectinfo_same_file
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_object
|
||||
|
||||
@@ -41,16 +41,20 @@ set (CTEST_CUSTOM_MEMCHECK_IGNORE
|
||||
H5TEST-err_compat #uses runTest.cmake
|
||||
H5TEST-links_env #uses runTest.cmake
|
||||
H5TEST-testlibinfo #uses grepTest.cmake
|
||||
H5TEST-clear-testhdf5-objects
|
||||
#########
|
||||
H5TEST-clear-objects
|
||||
H5TEST-clear-cache-objects
|
||||
H5TEST-clear-cache_api-objects
|
||||
H5TEST-clear-cache_image-objects
|
||||
H5TEST-clear-cache_tagging-objects
|
||||
H5TEST-clear-del_many_dense_attrs-objects
|
||||
H5TEST-clear-err_compat-objects
|
||||
H5TEST-clear-error_test-objects
|
||||
H5TEST-clear-filenotclosed-objects
|
||||
H5TEST-clear-flush-objects
|
||||
H5TEST-clear-links_env-objects
|
||||
H5TEST-clear-testflushrefresh-objects
|
||||
H5TEST-clear-testhdf5-objects
|
||||
H5TEST-clear-ttsafe-objects
|
||||
PERFORM_h5perform-clear-objects
|
||||
HL_TOOLS-clear-objects
|
||||
@@ -60,11 +64,19 @@ set (CTEST_CUSTOM_MEMCHECK_IGNORE
|
||||
CPP_testhdf5-clear-objects
|
||||
######### tools/h5clear #########
|
||||
H5CLEAR-clearall-objects
|
||||
H5CLEAR-copy_h5clear_fsm_persist_equal.h5
|
||||
H5CLEAR-copy_h5clear_fsm_persist_greater.h5
|
||||
H5CLEAR-copy_h5clear_fsm_persist_less.h5
|
||||
H5CLEAR-copy_h5clear_fsm_persist_noclose.h5
|
||||
H5CLEAR-copy_h5clear_fsm_persist_user_equal.h5
|
||||
H5CLEAR-copy_h5clear_fsm_persist_user_greater.h5
|
||||
H5CLEAR-copy_h5clear_fsm_persist_user_less.h5
|
||||
H5CLEAR-copy_h5clear_log_v3.h5
|
||||
H5CLEAR-copy_h5clear_mdc_image.h5
|
||||
H5CLEAR-copy_h5clear_sec2_v0.h5
|
||||
H5CLEAR-copy_h5clear_sec2_v2.h5
|
||||
H5CLEAR-copy_h5clear_sec2_v3.h5
|
||||
H5CLEAR-copy_h5clear_status_noclear.h5
|
||||
H5CLEAR-copy_latest_h5clear_log_v3.h5
|
||||
H5CLEAR-copy_latest_h5clear_sec2_v3.h5
|
||||
H5CLEAR-copy_mod_h5clear_mdc_image.h5
|
||||
@@ -307,6 +319,11 @@ set (CTEST_CUSTOM_MEMCHECK_IGNORE
|
||||
H5REPACK_VERIFY_LAYOUT_ALL-layout_short_switches #uses grepTest.cmake
|
||||
H5REPACK-plugin
|
||||
H5REPACK_CMP-plugin_zero
|
||||
#########
|
||||
ADD_H5_VERIFY_INVALIDBOUNDS-h5repack-latest_latest_invalid-clear-objects
|
||||
H5REPACK_VERIFY_SUPERBLOCK-SB_IS_0-clear-objects
|
||||
H5REPACK_VERIFY_SUPERBLOCK-SB_IS_2-clear-objects
|
||||
H5REPACK_VERIFY_SUPERBLOCK-SB_IS_3-clear-objects
|
||||
######### tools/h5stat #########
|
||||
H5STAT-clearall-objects
|
||||
######### tools/misc #########
|
||||
|
||||
0
config/cmake/CTestScript.cmake
Executable file → Normal file
0
config/cmake/CTestScript.cmake
Executable file → Normal file
@@ -28,15 +28,6 @@ if (HDF5_STRICT_FORMAT_CHECKS)
|
||||
endif ()
|
||||
MARK_AS_ADVANCED (HDF5_STRICT_FORMAT_CHECKS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option for --enable-metadata-trace-file
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_METADATA_TRACE_FILE "Enable metadata trace file collection" OFF)
|
||||
if (HDF5_METADATA_TRACE_FILE)
|
||||
set (${HDF_PREFIX}_METADATA_TRACE_FILE 1)
|
||||
endif ()
|
||||
MARK_AS_ADVANCED (HDF5_METADATA_TRACE_FILE)
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Decide whether the data accuracy has higher priority during data
|
||||
# conversions. If not, some hard conversions will still be prefered even
|
||||
@@ -167,12 +158,17 @@ endif ()
|
||||
# Check if C has __float128 extension
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
CHECK_TYPE_SIZE("__float128" SIZEOF___FLOAT128)
|
||||
if (${HAVE_SIZEOF___FLOAT128})
|
||||
CHECK_TYPE_SIZE("__float128" ${HDF_PREFIX}_SIZEOF___FLOAT128)
|
||||
if (${${HDF_PREFIX}_SIZEOF___FLOAT128})
|
||||
set (${HDF_PREFIX}_HAVE_FLOAT128 1)
|
||||
else ()
|
||||
set (${HDF_PREFIX}_HAVE_FLOAT128 0)
|
||||
set (SIZEOF___FLOAT128 0)
|
||||
set (${HDF_PREFIX}_SIZEOF___FLOAT128 0)
|
||||
endif ()
|
||||
|
||||
CHECK_TYPE_SIZE("_Quad" ${HDF_PREFIX}_SIZEOF__QUAD)
|
||||
if (NOT ${${HDF_PREFIX}_SIZEOF__QUAD})
|
||||
set (${HDF_PREFIX}_SIZEOF__QUAD 0)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
@@ -251,6 +247,11 @@ H5ConversionTests (${HDF_PREFIX}_LDOUBLE_TO_LLONG_ACCURATE "Checking IF correctl
|
||||
#
|
||||
H5ConversionTests (${HDF_PREFIX}_LLONG_TO_LDOUBLE_CORRECT "Checking IF correctly converting (unsigned) long long to long double values")
|
||||
# ----------------------------------------------------------------------
|
||||
# Set the flag to indicate that the machine can accurately convert
|
||||
# some long double values
|
||||
#
|
||||
H5ConversionTests (${HDF_PREFIX}_DISABLE_SOME_LDOUBLE_CONV "Checking IF the cpu is power9 and cannot correctly converting long double values")
|
||||
# ----------------------------------------------------------------------
|
||||
# Check if pointer alignments are enforced
|
||||
#
|
||||
H5ConversionTests (${HDF_PREFIX}_NO_ALIGNMENT_RESTRICTIONS "Checking IF alignment restrictions are strictly enforced")
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* If you do not have access to either file, you may request a copy from *
|
||||
* help@hdfgroup.org. *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
+
|
||||
|
||||
#if defined(__has_attribute)
|
||||
#if __has_attribute(no_sanitize)
|
||||
#define HDF_NO_UBSAN __attribute__((no_sanitize("undefined")))
|
||||
@@ -287,3 +287,27 @@ main ()
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef H5_DISABLE_SOME_LDOUBLE_CONV_TEST
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
int HDF_NO_UBSAN main(void)
|
||||
{
|
||||
FILE *fp;
|
||||
char cpu[64];
|
||||
|
||||
fp = popen("uname -m", "r");
|
||||
|
||||
fgets(cpu, sizeof(cpu)-1, fp);
|
||||
|
||||
pclose(fp);
|
||||
|
||||
if(strncmp(cpu, "ppc64le", 7) == 0)
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
#cmakedefine H5_AC_APPLE_UNIVERSAL_BUILD @H5_AC_APPLE_UNIVERSAL_BUILD@
|
||||
|
||||
/* Define if C++ compiler recognizes offsetof */
|
||||
#cmakedefine H5_CXX_HAVE_OFFSETOF @H5_CXX_HAVE_OFFSETOF@
|
||||
#cmakedefine H5_CXX_HAVE_OFFSETOF @CXX_HAVE_OFFSETOF@
|
||||
|
||||
/* Define the default plugins path to compile */
|
||||
#cmakedefine H5_DEFAULT_PLUGINDIR "@H5_DEFAULT_PLUGINDIR@"
|
||||
@@ -74,7 +74,7 @@
|
||||
#define H5_Fortran_COMPILER_ID @CMAKE_Fortran_COMPILER_ID@
|
||||
|
||||
/* Define valid Fortran INTEGER KINDs */
|
||||
#cmakedefine H5_H5CONFIG_F_IKIND @H5_HH5_H5CONFIG_F_NUM_RKIND5CONFIG_F_IKIND@
|
||||
#cmakedefine H5_H5CONFIG_F_IKIND @H5_H5CONFIG_F_IKIND@
|
||||
|
||||
/* Define number of valid Fortran INTEGER KINDs */
|
||||
#cmakedefine H5_H5CONFIG_F_NUM_IKIND @H5_H5CONFIG_F_NUM_IKIND@
|
||||
@@ -161,24 +161,12 @@
|
||||
/* Define to 1 if you have the `fseeko' function. */
|
||||
#cmakedefine H5_HAVE_FSEEKO @H5_HAVE_FSEEKO@
|
||||
|
||||
/* Define to 1 if you have the `fseeko64' function. */
|
||||
#cmakedefine H5_HAVE_FSEEKO64 @H5_HAVE_FSEEKO64@
|
||||
|
||||
/* Define to 1 if you have the `fstat64' function. */
|
||||
#cmakedefine H5_HAVE_FSTAT64 @H5_HAVE_FSTAT64@
|
||||
|
||||
/* Define to 1 if you have the `ftello' function. */
|
||||
#cmakedefine H5_HAVE_FTELLO @H5_HAVE_FTELLO@
|
||||
|
||||
/* Define to 1 if you have the `ftello64' function. */
|
||||
#cmakedefine H5_HAVE_FTELLO64 @H5_HAVE_FTELLO64@
|
||||
|
||||
/* Define to 1 if you have the `ftruncate64' function. */
|
||||
#cmakedefine H5_HAVE_FTRUNCATE64 @H5_HAVE_FTRUNCATE64@
|
||||
|
||||
/* Define if the compiler understands the __FUNCTION__ keyword */
|
||||
#cmakedefine H5_HAVE_FUNCTION @H5_HAVE_FUNCTION@
|
||||
|
||||
/* Determine if INTEGER*16 is available */
|
||||
#cmakedefine H5_HAVE_Fortran_INTEGER_SIZEOF_16 @H5_HAVE_Fortran_INTEGER_SIZEOF_16@
|
||||
|
||||
/* Define to 1 if you have the `GetConsoleScreenBufferInfo' function. */
|
||||
#cmakedefine H5_HAVE_GETCONSOLESCREENBUFFERINFO @H5_HAVE_GETCONSOLESCREENBUFFERINFO@
|
||||
|
||||
@@ -270,15 +258,18 @@
|
||||
/* Define to 1 if you have the <mpe.h> header file. */
|
||||
#cmakedefine H5_HAVE_MPE_H @H5_HAVE_MPE_H@
|
||||
|
||||
/* Define if `MPI_Comm_c2f' and `MPI_Comm_f2c' exists */
|
||||
/* Define if MPI_Comm_c2f and MPI_Comm_f2c exists */
|
||||
#cmakedefine H5_HAVE_MPI_MULTI_LANG_Comm @H5_HAVE_MPI_MULTI_LANG_Comm@
|
||||
|
||||
/* Define if `MPI_Info_c2f' and `MPI_Info_f2c' exists */
|
||||
/* Define if MPI_Info_c2f and MPI_Info_f2c exists */
|
||||
#cmakedefine H5_HAVE_MPI_MULTI_LANG_Info @H5_HAVE_MPI_MULTI_LANG_Info@
|
||||
|
||||
/* Define if we have parallel support */
|
||||
#cmakedefine H5_HAVE_PARALLEL @H5_HAVE_PARALLEL@
|
||||
|
||||
/* Define if both pread and pwrite exist. */
|
||||
#cmakedefine H5_HAVE_PREADWRITE @H5_HAVE_PREADWRITE@
|
||||
|
||||
/* Define to 1 if you have the <pthread.h> header file. */
|
||||
#cmakedefine H5_HAVE_PTHREAD_H @H5_HAVE_PTHREAD_H@
|
||||
|
||||
@@ -348,22 +339,22 @@
|
||||
/* Define to 1 if you have the `strdup' function. */
|
||||
#cmakedefine H5_HAVE_STRDUP @H5_HAVE_STRDUP@
|
||||
|
||||
/* Define to 1 if you have the `strtoll' function. */
|
||||
#cmakedefine H5_HAVE_STRTOLL @H5_HAVE_STRTOLL@
|
||||
|
||||
/* Define to 1 if you have the `strtoull' function. */
|
||||
#cmakedefine H5_HAVE_STRTOULL @H5_HAVE_STRTOULL@
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#cmakedefine H5_HAVE_STRINGS_H @H5_HAVE_STRINGS_H@
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#cmakedefine H5_HAVE_STRING_H @H5_HAVE_STRING_H@
|
||||
|
||||
/* Define if `struct text_info' is defined */
|
||||
/* Define to 1 if you have the `strtoll' function. */
|
||||
#cmakedefine H5_HAVE_STRTOLL @H5_HAVE_STRTOLL@
|
||||
|
||||
/* Define to 1 if you have the `strtoull' function. */
|
||||
#cmakedefine H5_HAVE_STRTOULL @H5_HAVE_STRTOULL@
|
||||
|
||||
/* Define if struct text_info is defined */
|
||||
#cmakedefine H5_HAVE_STRUCT_TEXT_INFO @H5_HAVE_STRUCT_TEXT_INFO@
|
||||
|
||||
/* Define if `struct videoconfig' is defined */
|
||||
/* Define if struct videoconfig is defined */
|
||||
#cmakedefine H5_HAVE_STRUCT_VIDEOCONFIG @H5_HAVE_STRUCT_VIDEOCONFIG@
|
||||
|
||||
/* Define to 1 if you have the `symlink' function. */
|
||||
@@ -399,10 +390,15 @@
|
||||
/* Define to 1 if you have the <szlib.h> header file. */
|
||||
#cmakedefine H5_HAVE_SZLIB_H @H5_HAVE_SZLIB_H@
|
||||
|
||||
#if defined(_WIN32) && !defined(H5_BUILT_AS_DYNAMIC_LIB)
|
||||
/* Not supported on WIN32 platforms with static linking */
|
||||
/* #undef H5_HAVE_THREADSAFE */
|
||||
#else
|
||||
/* Define if we have thread safe support */
|
||||
#cmakedefine H5_HAVE_THREADSAFE @H5_HAVE_THREADSAFE@
|
||||
# cmakedefine H5_HAVE_THREADSAFE @H5_HAVE_THREADSAFE@
|
||||
#endif
|
||||
|
||||
/* Define if `timezone' is a global variable */
|
||||
/* Define if timezone is a global variable */
|
||||
#cmakedefine H5_HAVE_TIMEZONE @H5_HAVE_TIMEZONE@
|
||||
|
||||
/* Define if the ioctl TIOCGETD is defined */
|
||||
@@ -414,7 +410,7 @@
|
||||
/* Define to 1 if you have the `tmpfile' function. */
|
||||
#cmakedefine H5_HAVE_TMPFILE @H5_HAVE_TMPFILE@
|
||||
|
||||
/* Define if `tm_gmtoff' is a member of `struct tm' */
|
||||
/* Define if tm_gmtoff is a member of struct tm */
|
||||
#cmakedefine H5_HAVE_TM_GMTOFF @H5_HAVE_TM_GMTOFF@
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
@@ -435,7 +431,7 @@
|
||||
/* Define if your system has window style path name. */
|
||||
#cmakedefine H5_HAVE_WINDOW_PATH @H5_HAVE_WINDOW_PATH@
|
||||
|
||||
/* Define to 1 if you have the <winsock.h> header file. */
|
||||
/* Define to 1 if you have the <winsock2.h> header file. */
|
||||
#cmakedefine H5_HAVE_WINSOCK2_H @H5_HAVE_WINSOCK2_H@
|
||||
|
||||
/* Define to 1 if you have the <zlib.h> header file. */
|
||||
@@ -453,7 +449,7 @@
|
||||
/* Define if the compiler understands __inline__ */
|
||||
#cmakedefine H5_HAVE___INLINE__ @H5_HAVE___INLINE__@
|
||||
|
||||
/* Define if HDF5's high-level library headers should be included in hdf5.h */
|
||||
/* Define if the high-level library headers should be included in hdf5.h */
|
||||
#cmakedefine H5_INCLUDE_HL @H5_INCLUDE_HL@
|
||||
|
||||
/* Define if your system can convert long double to (unsigned) long long
|
||||
@@ -472,15 +468,15 @@
|
||||
with special algorithm. */
|
||||
#cmakedefine H5_LONG_TO_LDOUBLE_SPECIAL @H5_LONG_TO_LDOUBLE_SPECIAL@
|
||||
|
||||
/* Define if your system is power6 and cannot convert some long double values. */
|
||||
#cmakedefine H5_DISABLE_SOME_LDOUBLE_CONV @H5_DISABLE_SOME_LDOUBLE_CONV@
|
||||
|
||||
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
||||
#cmakedefine H5_LT_OBJDIR @H5_LT_OBJDIR@
|
||||
|
||||
/* Define to enable internal memory allocation sanity checking. */
|
||||
/* #cmakedefine H5_MEMORY_ALLOC_SANITY_CHECK @H5_MEMORY_ALLOC_SANITY_CHECK@ ** Define in CMakeLists.txt */
|
||||
|
||||
/* Define if the metadata trace file code is to be compiled in */
|
||||
#cmakedefine H5_METADATA_TRACE_FILE @H5_METADATA_TRACE_FILE@
|
||||
|
||||
/* Define if we can violate pointer alignment restrictions */
|
||||
#cmakedefine H5_NO_ALIGNMENT_RESTRICTIONS @H5_NO_ALIGNMENT_RESTRICTIONS@
|
||||
|
||||
@@ -614,6 +610,9 @@
|
||||
/* The size of `short', as computed by sizeof. */
|
||||
#cmakedefine H5_SIZEOF_SHORT @H5_SIZEOF_SHORT@
|
||||
|
||||
/* The size of `time_t', as computed by sizeof. */
|
||||
#cmakedefine H5_SIZEOF_TIME_T @H5_SIZEOF_TIME_T@
|
||||
|
||||
/* The size of `uint16_t', as computed by sizeof. */
|
||||
#cmakedefine H5_SIZEOF_UINT16_T @H5_SIZEOF_UINT16_T@
|
||||
|
||||
@@ -681,6 +680,12 @@
|
||||
/* Define using v1.8 public API symbols by default */
|
||||
#cmakedefine H5_USE_18_API_DEFAULT @H5_USE_18_API_DEFAULT@
|
||||
|
||||
/* Define using v1.10 public API symbols by default */
|
||||
#cmakedefine H5_USE_110_API_DEFAULT @H5_USE_110_API_DEFAULT@
|
||||
|
||||
/* Define using v1.12 public API symbols by default */
|
||||
#cmakedefine H5_USE_112_API_DEFAULT @H5_USE_112_API_DEFAULT@
|
||||
|
||||
/* Define if a memory checking tool will be used on the library, to cause
|
||||
library to be very picky about memory operations and also disable the
|
||||
internal free list manager code. */
|
||||
|
||||
@@ -1,106 +0,0 @@
|
||||
#
|
||||
# Copyright by The HDF Group.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is part of HDF5. The full HDF5 copyright notice, including
|
||||
# terms governing use, modification, and redistribution, is contained in
|
||||
# the COPYING file, which can be found at the root of the source code
|
||||
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
###############################################################################################################
|
||||
# This script will build and run the examples from a folder
|
||||
# Execute from a command line:
|
||||
# ctest -S HDF518_Examples.cmake,OPTION=VALUE -C Release -VV -O test.log
|
||||
###############################################################################################################
|
||||
|
||||
set(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
|
||||
if("@CMAKE_GENERATOR_TOOLSET@")
|
||||
set(CMAKE_GENERATOR_TOOLSET "@CMAKE_GENERATOR_TOOLSET@")
|
||||
endif()
|
||||
set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY})
|
||||
|
||||
# handle input parameters to script.
|
||||
#INSTALLDIR - HDF5-1.8 root folder
|
||||
#CTEST_CONFIGURATION_TYPE - Release, Debug, RelWithDebInfo
|
||||
#CTEST_SOURCE_NAME - name of source folder; HDF5Examples
|
||||
if(DEFINED CTEST_SCRIPT_ARG)
|
||||
# transform ctest script arguments of the form
|
||||
# script.ctest,var1=value1,var2=value2
|
||||
# to variables with the respective names set to the respective values
|
||||
string(REPLACE "," ";" script_args "${CTEST_SCRIPT_ARG}")
|
||||
foreach(current_var ${script_args})
|
||||
if("${current_var}" MATCHES "^([^=]+)=(.+)$")
|
||||
set("${CMAKE_MATCH_1}" "${CMAKE_MATCH_2}")
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
###################################################################
|
||||
### Following Line is one of [Release, RelWithDebInfo, Debug] #####
|
||||
set(CTEST_CONFIGURATION_TYPE "$ENV{CMAKE_CONFIG_TYPE}")
|
||||
if(NOT DEFINED CTEST_CONFIGURATION_TYPE)
|
||||
set(CTEST_CONFIGURATION_TYPE "Release")
|
||||
endif()
|
||||
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCTEST_CONFIGURATION_TYPE:STRING=${CTEST_CONFIGURATION_TYPE}")
|
||||
##################################################################
|
||||
|
||||
if(NOT DEFINED INSTALLDIR)
|
||||
set(INSTALLDIR "@CMAKE_INSTALL_PREFIX@")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED CTEST_SOURCE_NAME)
|
||||
set(CTEST_SOURCE_NAME "HDF5Examples")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED HDF_LOCAL)
|
||||
set(CDASH_LOCAL "NO")
|
||||
else()
|
||||
set(CDASH_LOCAL "YES")
|
||||
endif()
|
||||
if(NOT DEFINED CTEST_SITE)
|
||||
set(CTEST_SITE "local")
|
||||
endif()
|
||||
if(NOT DEFINED CTEST_BUILD_NAME)
|
||||
set(CTEST_BUILD_NAME "examples")
|
||||
endif()
|
||||
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDNAME:STRING=${CTEST_BUILD_NAME}")
|
||||
|
||||
#TAR_SOURCE - name of tarfile
|
||||
#if(NOT DEFINED TAR_SOURCE)
|
||||
# set(CTEST_USE_TAR_SOURCE "HDF5Examples-1.2.1-Source")
|
||||
#endif()
|
||||
|
||||
###############################################################################################################
|
||||
if(WIN32)
|
||||
set(SITE_OS_NAME "Windows")
|
||||
set(ENV{HDF5_DIR} "${INSTALLDIR}/cmake")
|
||||
set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}\\build)
|
||||
set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_SOURCE_NAME}")
|
||||
set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}")
|
||||
else()
|
||||
set(ENV{HDF5_DIR} "${INSTALLDIR}/share/cmake")
|
||||
set(ENV{LD_LIBRARY_PATH} "${INSTALLDIR}/lib")
|
||||
set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}/build)
|
||||
set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}")
|
||||
set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}")
|
||||
endif()
|
||||
if(${CDASH_LOCAL})
|
||||
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DCDASH_LOCAL:BOOL=ON")
|
||||
endif()
|
||||
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF5_PACKAGE_NAME:STRING=@HDF5_PACKAGE@@HDF_PACKAGE_EXT@")
|
||||
|
||||
###############################################################################################################
|
||||
# For any comments please contact cdashhelp@hdfgroup.org
|
||||
#
|
||||
###############################################################################################################
|
||||
|
||||
if(WIN32)
|
||||
include(${CTEST_SCRIPT_DIRECTORY}\\HDF5_Examples_options.cmake)
|
||||
include(${CTEST_SCRIPT_DIRECTORY}\\CTestScript.cmake)
|
||||
else()
|
||||
include(${CTEST_SCRIPT_DIRECTORY}/HDF5_Examples_options.cmake)
|
||||
include(${CTEST_SCRIPT_DIRECTORY}/CTestScript.cmake)
|
||||
endif()
|
||||
@@ -15,6 +15,8 @@ macro (H5_SET_LIB_OPTIONS libtarget libname libtype libpackage)
|
||||
# SOVERSION passed in ARGN when shared
|
||||
if (${libtype} MATCHES "SHARED")
|
||||
set (PACKAGE_SOVERSION ${HDF5_${libpackage}_PACKAGE_SOVERSION})
|
||||
set (PACKAGE_COMPATIBILITY ${H5_${libpackage}_SOVERS_INTERFACE}.0.0)
|
||||
set (PACKAGE_CURRENT ${H5_${libpackage}_SOVERS_INTERFACE}.${H5_${libpackage}_SOVERS_MINOR}.0)
|
||||
if (WIN32)
|
||||
set (LIBHDF_VERSION ${HDF5_PACKAGE_VERSION_MAJOR})
|
||||
else ()
|
||||
@@ -26,6 +28,11 @@ macro (H5_SET_LIB_OPTIONS libtarget libname libtype libpackage)
|
||||
else ()
|
||||
set_target_properties (${libtarget} PROPERTIES SOVERSION ${LIBHDF_VERSION})
|
||||
endif ()
|
||||
if (CMAKE_C_OSX_CURRENT_VERSION_FLAG)
|
||||
set_property(TARGET ${libtarget} APPEND PROPERTY
|
||||
LINK_FLAGS "${CMAKE_C_OSX_CURRENT_VERSION_FLAG}${PACKAGE_CURRENT} ${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}${PACKAGE_COMPATIBILITY}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
HDF_SET_LIB_OPTIONS (${libtarget} ${LIB_OUT_NAME} ${libtype})
|
||||
|
||||
@@ -33,9 +40,6 @@ macro (H5_SET_LIB_OPTIONS libtarget libname libtype libpackage)
|
||||
if (APPLE)
|
||||
option (HDF5_BUILD_WITH_INSTALL_NAME "Build with library install_name set to the installation path" OFF)
|
||||
if (HDF5_BUILD_WITH_INSTALL_NAME)
|
||||
set_property(TARGET ${libtarget} APPEND PROPERTY
|
||||
LINK_FLAGS "-current_version ${HDF5_PACKAGE_VERSION} -compatibility_version ${HDF5_PACKAGE_VERSION}"
|
||||
)
|
||||
set_target_properties (${libtarget} PROPERTIES
|
||||
INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib"
|
||||
BUILD_WITH_INSTALL_RPATH ${HDF5_BUILD_WITH_INSTALL_NAME}
|
||||
|
||||
@@ -18,82 +18,56 @@ ENABLE_LANGUAGE (Fortran)
|
||||
set (HDF_PREFIX "H5")
|
||||
include (CheckFortranFunctionExists)
|
||||
|
||||
## Check for non-standard extenstion quadmath.h
|
||||
|
||||
CHECK_INCLUDE_FILES(quadmath.h C_HAVE_QUADMATH)
|
||||
|
||||
if (${C_HAVE_QUADMATH})
|
||||
set(${HDF_PREFIX}_HAVE_QUADMATH 1)
|
||||
else ()
|
||||
set(${HDF_PREFIX}_HAVE_QUADMATH 0)
|
||||
endif ()
|
||||
|
||||
# The provided CMake Fortran macros don't provide a general compile/run function
|
||||
# so this one is used.
|
||||
#-----------------------------------------------------------------------------
|
||||
macro (FORTRAN_RUN FUNCTION CODE RUN_RESULT_VAR1 COMPILE_RESULT_VAR RETURN)
|
||||
#
|
||||
# if (NOT DEFINED ${RUN_RESULT_VAR})
|
||||
message (STATUS "Detecting Fortran ${FUNCTION}")
|
||||
if (CMAKE_REQUIRED_LIBRARIES)
|
||||
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
|
||||
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
||||
else ()
|
||||
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
|
||||
endif ()
|
||||
macro (FORTRAN_RUN FUNCTION_NAME SOURCE_CODE RUN_RESULT_VAR1 COMPILE_RESULT_VAR1 RETURN_VAR)
|
||||
message (STATUS "Detecting Fortran ${FUNCTION_NAME}")
|
||||
file (WRITE
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler1.f90
|
||||
"${CODE}"
|
||||
"${SOURCE_CODE}"
|
||||
)
|
||||
TRY_RUN (RUN_RESULT_VAR COMPILE_RESULT_VAR
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler1.f90
|
||||
CMAKE_FLAGS "${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES}"
|
||||
RUN_OUTPUT_VARIABLE OUTPUT
|
||||
LINK_LIBRARIES "${HDF5_REQUIRED_LIBRARIES}"
|
||||
)
|
||||
|
||||
set(${RETURN} ${OUTPUT})
|
||||
|
||||
#message ( "Test result1 ${RETURN} ")
|
||||
#message ( "Test result3 ${RESULT} ")
|
||||
#message ( "Test result2 ${CMAKE_MATCH_0} ")
|
||||
#message ( "Test result4 ${CMAKE_MATCH_1} ")
|
||||
#message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
#message ( "Test result2 ${COMPILE_RESULT_VAR} ")
|
||||
#message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
#message ( "Test result1 ${RUN_RESULT_VAR} ")
|
||||
#message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
|
||||
if (${COMPILE_RESULT_VAR})
|
||||
set(${RETURN_VAR} ${RUN_RESULT_VAR})
|
||||
if (${RUN_RESULT_VAR} MATCHES 0)
|
||||
message (STATUS "Testing Fortran ${FUNCTION} - OK")
|
||||
message (STATUS "Testing Fortran ${FUNCTION_NAME} - OK")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
||||
"Determining if the Fortran ${FUNCTION} exists passed with the following output:\n"
|
||||
"${OUTPUT}\n\n"
|
||||
"Determining if the Fortran ${FUNCTION_NAME} exists passed\n"
|
||||
)
|
||||
else ()
|
||||
message (STATUS "Testing Fortran ${FUNCTION} - Fail")
|
||||
message (STATUS "Testing Fortran ${FUNCTION_NAME} - Fail")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Determining if the Fortran ${FUNCTION} exists failed with the following output:\n"
|
||||
"${OUTPUT}\n\n")
|
||||
"Determining if the Fortran ${FUNCTION_NAME} exists failed: ${RUN_RESULT_VAR}\n"
|
||||
)
|
||||
endif ()
|
||||
else ()
|
||||
message (STATUS "Compiling Fortran ${FUNCTION_NAME} - Fail")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Determining if the Fortran ${FUNCTION_NAME} compiles failed: ${COMPILE_RESULT_VAR}\n"
|
||||
)
|
||||
set(${RETURN_VAR} ${COMPILE_RESULT_VAR})
|
||||
endif ()
|
||||
# endif ()
|
||||
endmacro ()
|
||||
|
||||
# Read source line beginning at the line matching Input:"START" and ending at the line matching Input:"END"
|
||||
macro (READ_SOURCE START END RETURN)
|
||||
file (READ "${HDF5_SOURCE_DIR}/m4/aclocal_fc.f90" CODE)
|
||||
string (REGEX MATCH "${START}[\\\t\\\n\\\r[].+]*${END}" CODE ${CODE})
|
||||
set (RETURN "${CODE}")
|
||||
macro (READ_SOURCE SOURCE_START SOURCE_END RETURN_VAR)
|
||||
file (READ "${HDF5_SOURCE_DIR}/m4/aclocal_fc.f90" SOURCE_MASTER)
|
||||
string (REGEX MATCH "${SOURCE_START}[\\\t\\\n\\\r[].+]*${SOURCE_END}" SOURCE_CODE ${SOURCE_MASTER})
|
||||
set (RETURN_VAR "${SOURCE_CODE}")
|
||||
endmacro ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check to see C_LONG_DOUBLE is available
|
||||
|
||||
READ_SOURCE("PROGRAM PROG_FC_HAVE_C_LONG_DOUBLE" "END PROGRAM PROG_FC_HAVE_C_LONG_DOUBLE" CODE)
|
||||
READ_SOURCE("PROGRAM PROG_FC_HAVE_C_LONG_DOUBLE" "END PROGRAM PROG_FC_HAVE_C_LONG_DOUBLE" SOURCE_CODE)
|
||||
CHECK_FORTRAN_FEATURE(c_long_double
|
||||
"${CODE}"
|
||||
"${SOURCE_CODE}"
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE
|
||||
)
|
||||
|
||||
@@ -105,9 +79,9 @@ endif ()
|
||||
|
||||
# Check to see C_LONG_DOUBLE is different from C_DOUBLE
|
||||
|
||||
READ_SOURCE("MODULE type_mod" "END PROGRAM PROG_FC_C_LONG_DOUBLE_EQ_C_DOUBLE" CODE)
|
||||
READ_SOURCE("MODULE type_mod" "END PROGRAM PROG_FC_C_LONG_DOUBLE_EQ_C_DOUBLE" SOURCE_CODE)
|
||||
CHECK_FORTRAN_FEATURE(c_long_double
|
||||
"${CODE}"
|
||||
"${SOURCE_CODE}"
|
||||
FORTRAN_C_LONG_DOUBLE_IS_UNIQUE
|
||||
)
|
||||
if (${FORTRAN_C_LONG_DOUBLE_IS_UNIQUE})
|
||||
@@ -133,12 +107,12 @@ endif ()
|
||||
# Determine the available KINDs for REALs and INTEGERs
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
READ_SOURCE ("PROGRAM FC_AVAIL_KINDS" "END PROGRAM FC_AVAIL_KINDS" CODE)
|
||||
READ_SOURCE ("PROGRAM FC_AVAIL_KINDS" "END PROGRAM FC_AVAIL_KINDS" SOURCE_CODE)
|
||||
FORTRAN_RUN ("REAL and INTEGER KINDs"
|
||||
"${CODE}"
|
||||
XX
|
||||
YY
|
||||
PROG_OUTPUT
|
||||
"${SOURCE_CODE}"
|
||||
XX
|
||||
YY
|
||||
PROG_RESULT
|
||||
)
|
||||
# dnl The output from the above program will be:
|
||||
# dnl -- LINE 1 -- valid integer kinds (comma seperated list)
|
||||
@@ -197,15 +171,18 @@ foreach (KIND ${VAR} )
|
||||
USE ISO_C_BINDING
|
||||
IMPLICIT NONE
|
||||
INTEGER (KIND=${KIND}) a
|
||||
WRITE(*,'(I0)') ${FC_SIZEOF_A}
|
||||
OPEN(8,FILE='pac_validIntKinds.out',FORM='formatted')
|
||||
WRITE(8,'(I0)') ${FC_SIZEOF_A}
|
||||
CLOSE(8)
|
||||
END
|
||||
"
|
||||
)
|
||||
FORTRAN_RUN("INTEGER KIND SIZEOF" ${PROG_SRC}
|
||||
XX
|
||||
YY
|
||||
PROG_OUTPUT1
|
||||
XX
|
||||
YY
|
||||
PROG_RESULT1
|
||||
)
|
||||
file (READ "${CMAKE_BINARY_DIR}/pac_validIntKinds.out" PROG_OUTPUT1)
|
||||
string (REGEX REPLACE "\n" "" PROG_OUTPUT1 "${PROG_OUTPUT1}")
|
||||
set (pack_int_sizeof "${pack_int_sizeof} ${PROG_OUTPUT1},")
|
||||
endforeach ()
|
||||
@@ -241,20 +218,23 @@ foreach (KIND ${VAR} )
|
||||
USE ISO_C_BINDING
|
||||
IMPLICIT NONE
|
||||
REAL (KIND=${KIND}) a
|
||||
WRITE(*,'(I0)') ${FC_SIZEOF_A}
|
||||
OPEN(8,FILE='pac_validRealKinds.out',FORM='formatted')
|
||||
WRITE(8,'(I0)') ${FC_SIZEOF_A}
|
||||
CLOSE(8)
|
||||
END
|
||||
"
|
||||
)
|
||||
FORTRAN_RUN ("REAL KIND SIZEOF" ${PROG_SRC}
|
||||
XX
|
||||
YY
|
||||
PROG_OUTPUT1
|
||||
XX
|
||||
YY
|
||||
PROG_RESULT1
|
||||
)
|
||||
file (READ "${CMAKE_BINARY_DIR}/pac_validRealKinds.out" PROG_OUTPUT1)
|
||||
string (REGEX REPLACE "\n" "" PROG_OUTPUT1 "${PROG_OUTPUT1}")
|
||||
set (pack_real_sizeof "${pack_real_sizeof} ${PROG_OUTPUT1},")
|
||||
endforeach ()
|
||||
|
||||
if (pack_int_sizeof STREQUAL "")
|
||||
if (pack_real_sizeof STREQUAL "")
|
||||
message (FATAL_ERROR "Failed to find available REAL KINDs for Fortran")
|
||||
endif ()
|
||||
|
||||
@@ -288,18 +268,21 @@ FORTRAN_RUN ("SIZEOF NATIVE KINDs"
|
||||
INTEGER a
|
||||
REAL b
|
||||
DOUBLE PRECISION c
|
||||
WRITE(*,*) ${FC_SIZEOF_A}
|
||||
WRITE(*,*) kind(a)
|
||||
WRITE(*,*) ${FC_SIZEOF_B}
|
||||
WRITE(*,*) kind(b)
|
||||
WRITE(*,*) ${FC_SIZEOF_C}
|
||||
WRITE(*,*) kind(c)
|
||||
OPEN(8,FILE='pac_sizeof_native_kinds.out',FORM='formatted')
|
||||
WRITE(8,*) ${FC_SIZEOF_A}
|
||||
WRITE(8,*) kind(a)
|
||||
WRITE(8,*) ${FC_SIZEOF_B}
|
||||
WRITE(8,*) kind(b)
|
||||
WRITE(8,*) ${FC_SIZEOF_C}
|
||||
WRITE(8,*) kind(c)
|
||||
CLOSE(8)
|
||||
END
|
||||
"
|
||||
XX
|
||||
YY
|
||||
PROG_OUTPUT
|
||||
)
|
||||
XX
|
||||
YY
|
||||
PROG_RESULT
|
||||
)
|
||||
file (READ "${CMAKE_BINARY_DIR}/pac_sizeof_native_kinds.out" PROG_OUTPUT)
|
||||
# dnl The output from the above program will be:
|
||||
# dnl -- LINE 1 -- sizeof INTEGER
|
||||
# dnl -- LINE 2 -- kind of INTEGER
|
||||
@@ -341,8 +324,8 @@ endif ()
|
||||
set (${HDF_PREFIX}_FORTRAN_SIZEOF_LONG_DOUBLE ${${HDF_PREFIX}_SIZEOF_LONG_DOUBLE})
|
||||
|
||||
# remove the invalid kind from the list
|
||||
if (NOT(${SIZEOF___FLOAT128} EQUAL 0))
|
||||
if (NOT(${SIZEOF___FLOAT128} EQUAL ${max_real_fortran_sizeof})
|
||||
if (NOT(${${HDF_PREFIX}_SIZEOF___FLOAT128} EQUAL 0))
|
||||
if (NOT(${${HDF_PREFIX}_SIZEOF___FLOAT128} EQUAL ${max_real_fortran_sizeof})
|
||||
AND NOT(${${HDF_PREFIX}_FORTRAN_SIZEOF_LONG_DOUBLE} EQUAL ${max_real_fortran_sizeof})
|
||||
# account for the fact that the C compiler can have 16-byte __float128 and the fortran compiler only has 8-byte doubles,
|
||||
# so we don't want to remove the 8-byte fortran doubles.
|
||||
@@ -372,26 +355,26 @@ ENABLE_LANGUAGE (C)
|
||||
# The provided CMake C macros don't provide a general compile/run function
|
||||
# so this one is used.
|
||||
#-----------------------------------------------------------------------------
|
||||
macro (C_RUN FUNCTION CODE RETURN)
|
||||
message (STATUS "Detecting C ${FUNCTION}")
|
||||
if (CMAKE_REQUIRED_LIBRARIES)
|
||||
macro (C_RUN FUNCTION_NAME SOURCE_CODE RETURN_VAR)
|
||||
message (STATUS "Detecting C ${FUNCTION_NAME}")
|
||||
if (HDF5_REQUIRED_LIBRARIES)
|
||||
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
|
||||
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
||||
"-DLINK_LIBRARIES:STRING=${HDF5_REQUIRED_LIBRARIES}")
|
||||
else ()
|
||||
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
|
||||
endif ()
|
||||
file (WRITE
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler1.c
|
||||
${CODE}
|
||||
${SOURCE_CODE}
|
||||
)
|
||||
TRY_RUN (RUN_RESULT_VAR COMPILE_RESULT_VAR
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler1.c
|
||||
CMAKE_FLAGS "${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES}"
|
||||
RUN_OUTPUT_VARIABLE OUTPUT
|
||||
RUN_OUTPUT_VARIABLE OUTPUT_VAR
|
||||
)
|
||||
|
||||
set (${RETURN} ${OUTPUT})
|
||||
set (${RETURN_VAR} ${OUTPUT_VAR})
|
||||
|
||||
#message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
#message ( "Test COMPILE_RESULT_VAR ${COMPILE_RESULT_VAR} ")
|
||||
@@ -401,21 +384,21 @@ macro (C_RUN FUNCTION CODE RETURN)
|
||||
|
||||
if (${COMPILE_RESULT_VAR})
|
||||
if (${RUN_RESULT_VAR} MATCHES 1)
|
||||
set (${RUN_RESULT_VAR} 1 CACHE INTERNAL "Have C function ${FUNCTION}")
|
||||
message (STATUS "Testing C ${FUNCTION} - OK")
|
||||
set (${RUN_RESULT_VAR} 1 CACHE INTERNAL "Have C function ${FUNCTION_NAME}")
|
||||
message (STATUS "Testing C ${FUNCTION_NAME} - OK")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
||||
"Determining if the C ${FUNCTION} exists passed with the following output:\n"
|
||||
"${OUTPUT}\n\n"
|
||||
"Determining if the C ${FUNCTION_NAME} exists passed with the following output:\n"
|
||||
"${OUTPUT_VAR}\n\n"
|
||||
)
|
||||
else ()
|
||||
message (STATUS "Testing C ${FUNCTION} - Fail")
|
||||
set (${RUN_RESULT_VAR} 0 CACHE INTERNAL "Have C function ${FUNCTION}")
|
||||
message (STATUS "Testing C ${FUNCTION_NAME} - Fail")
|
||||
set (${RUN_RESULT_VAR} 0 CACHE INTERNAL "Have C function ${FUNCTION_NAME}")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Determining if the C ${FUNCTION} exists failed with the following output:\n"
|
||||
"${OUTPUT}\n\n")
|
||||
"Determining if the C ${FUNCTION_NAME} exists failed with the following output:\n"
|
||||
"${OUTPUT_VAR}\n\n")
|
||||
endif ()
|
||||
else ()
|
||||
message (FATAL_ERROR "Compilation of C ${FUNCTION} - Failed")
|
||||
message (FATAL_ERROR "Compilation of C ${FUNCTION_NAME} - Failed")
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
@@ -423,9 +406,9 @@ set (PROG_SRC
|
||||
"
|
||||
#include <float.h>
|
||||
#include <stdio.h>
|
||||
#define CHECK_FLOAT128 ${SIZEOF___FLOAT128}
|
||||
#define CHECK_FLOAT128 ${${HDF_PREFIX}_SIZEOF___FLOAT128}
|
||||
#if CHECK_FLOAT128!=0
|
||||
# if ${${HDF_PREFIX}_HAVE_QUADMATH}!=0
|
||||
# if ${${HDF_PREFIX}_HAVE_QUADMATH_H}!=0
|
||||
#include <quadmath.h>
|
||||
# endif
|
||||
# ifdef FLT128_DIG
|
||||
@@ -460,9 +443,9 @@ string (REGEX REPLACE "\n" ";" PROG_OUTPUT "${PROG_OUTPUT}")
|
||||
list (GET PROG_OUTPUT 0 LDBL_DIG)
|
||||
list (GET PROG_OUTPUT 1 FLT128_DIG)
|
||||
|
||||
if (SIZEOF___FLOAT128 EQUAL 0 OR FLT128_DIG EQUAL 0)
|
||||
if (${HDF_PREFIX}_SIZEOF___FLOAT128 EQUAL 0 OR FLT128_DIG EQUAL 0)
|
||||
set (${HDF_PREFIX}_HAVE_FLOAT128 0)
|
||||
set (SIZEOF___FLOAT128 0)
|
||||
set (${HDF_PREFIX}_SIZEOF___FLOAT128 0)
|
||||
set (${HDF_PREFIX}_PAC_C_MAX_REAL_PRECISION ${LDBL_DIG})
|
||||
else ()
|
||||
set(${HDF_PREFIX}_PAC_C_MAX_REAL_PRECISION ${FLT128_DIG})
|
||||
|
||||
@@ -48,7 +48,11 @@ set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCTEST_CONFIGURATION_TYPE:STRING=${
|
||||
##################################################################
|
||||
|
||||
if(NOT DEFINED INSTALLDIR)
|
||||
set(INSTALLDIR "@CMAKE_INSTALL_PREFIX@")
|
||||
if(WIN32)
|
||||
set(INSTALLDIR "C:/Program Files/HDF_Group/@HDF5_PACKAGE_NAME@/@HDF5_PACKAGE_VERSION@")
|
||||
else()
|
||||
set(INSTALLDIR "@CMAKE_INSTALL_PREFIX@")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED CTEST_SOURCE_NAME)
|
||||
@@ -70,7 +74,7 @@ set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDN
|
||||
|
||||
#TAR_SOURCE - name of tarfile
|
||||
#if(NOT DEFINED TAR_SOURCE)
|
||||
# set(CTEST_USE_TAR_SOURCE "HDF5Examples-1.10.5-Source")
|
||||
# set(CTEST_USE_TAR_SOURCE "HDF5Examples-1.12.4-Source")
|
||||
#endif()
|
||||
|
||||
###############################################################################################################
|
||||
|
||||
0
config/cmake/HDF5_Examples_options.cmake
Executable file → Normal file
0
config/cmake/HDF5_Examples_options.cmake
Executable file → Normal file
@@ -9,20 +9,22 @@
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
set(CMAKE_C_STANDARD 99)
|
||||
set(CMAKE_C_STANDARD_REQUIRED TRUE)
|
||||
|
||||
message (STATUS "Warnings Configuration:")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C99_STANDARD_COMPILE_OPTION} ${CMAKE_C_FLAGS}")
|
||||
#-----------------------------------------------------------------------------
|
||||
# Compiler specific flags : Shouldn't there be compiler tests for these
|
||||
#-----------------------------------------------------------------------------
|
||||
if (CMAKE_COMPILER_IS_GNUCC)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}")
|
||||
if (NOT CYGWIN)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99")
|
||||
endif ()
|
||||
if (${HDF_CFG_NAME} MATCHES "Debug")
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Og -ftrapv -fno-common")
|
||||
endif ()
|
||||
else ()
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0)
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstdarg-opt")
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -34,7 +36,7 @@ if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Og -ftrapv -fno-common")
|
||||
endif ()
|
||||
else ()
|
||||
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstdarg-opt")
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -45,6 +47,7 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_DISABLE_COMPILER_WARNINGS "Disable compiler warnings" OFF)
|
||||
if (HDF5_DISABLE_COMPILER_WARNINGS)
|
||||
message (STATUS "....Compiler warnings are suppressed")
|
||||
# MSVC uses /w to suppress warnings. It also complains if another
|
||||
# warning level is given, so remove it.
|
||||
if (MSVC)
|
||||
@@ -79,83 +82,80 @@ endif ()
|
||||
# break into groups (from the config/gnu-flags file)
|
||||
#-----------------------------------------------------------------------------
|
||||
if (NOT MSVC AND CMAKE_COMPILER_IS_GNUCC)
|
||||
if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
set (CMAKE_C_FLAGS_5 "${CMAKE_C_FLAGS_5} -Wcast-qual")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs")
|
||||
else ()
|
||||
if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -erroff=%none -DBSD_COMP")
|
||||
else ()
|
||||
# General flags
|
||||
#
|
||||
# Note that some of the flags listed here really should be developer
|
||||
# flags (listed in a separate variable, below) but we put them here
|
||||
# because they are not raised by the current code and we'd like to
|
||||
# know if they do start showing up.
|
||||
#
|
||||
# NOTE: Don't add -Wpadded here since we can't/won't fix the (many)
|
||||
# warnings that are emitted. If you need it, add it at configure time.
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "Intel")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wcheck -Wall")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wcomment -Wdeprecated -Wmain -Wmissing-declarations -Wmissing-prototypes -Wp64 -Wpointer-arith")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wreturn-type -Wstrict-prototypes -Wuninitialized")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wunknown-pragmas -Wunused-function -Wunused-variable")
|
||||
# this is just a failsafe
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -finline-functions")
|
||||
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 18.0)
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wextra-tokens -Wformat -Wformat-security -Wic-pointer -Wshadow")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wsign-compare -Wtrigraphs -Wwrite-strings")
|
||||
endif()
|
||||
elseif (CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pedantic -Wall -Wextra")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wbad-function-cast -Wc++-compat -Wcast-align")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wcast-qual -Wconversion -Wdeclaration-after-statement -Wdisabled-optimization -Wfloat-equal")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-declarations -Wmissing-include-dirs")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpacked -Wpointer-arith")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wredundant-decls -Wshadow -Wstrict-prototypes -Wswitch-default -Wswitch-enum")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wundef -Wunused-macros -Wunsafe-loop-optimizations -Wwrite-strings")
|
||||
# gcc automatically inlines based on the optimization level
|
||||
# this is just a failsafe
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -finline-functions")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option to allow the user to enable developer warnings
|
||||
# Developer warnings (suggestions from gcc, not code problems)
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_DEV_WARNINGS "Enable HDF5 developer group warnings" OFF)
|
||||
if (HDF5_ENABLE_DEV_WARNINGS)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Winline -Waggregate-return")
|
||||
message (STATUS "....HDF5 developer group warnings are enabled")
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "Intel")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Winline -Wreorder -Wport -Wstrict-aliasing")
|
||||
elseif (CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Winline -Waggregate-return -Wmissing-format-attribute -Wmissing-noreturn")
|
||||
endif ()
|
||||
else ()
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-parameter -Wno-inline -Wno-aggregate-return")
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wno-inline -Wno-aggregate-return -Wno-missing-format-attribute -Wno-missing-noreturn")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# Append warning flags
|
||||
# Don't use the '-Wtraditional' flag, we're way past having K&R C code
|
||||
# set (H5_CFLAGS "${H5_CFLAGS} -Wtraditional")
|
||||
# Don't use the '-Wtraditional-conversion' flag, there's too many warnings
|
||||
# from GCC's assert macro
|
||||
# set (H5_CFLAGS "${H5_CFLAGS} -Wtraditional-conversion")
|
||||
|
||||
# Append warning flags from gcc-3* case
|
||||
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
||||
# issuing can't be fixed and they are making it hard to detect other,
|
||||
# more important warnings)
|
||||
#set (H5_CFLAGS "${H5_CFLAGS} -Wfloat-equal -Wmissing-format-attribute -Wpadded")
|
||||
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wfloat-equal -Wmissing-format-attribute")
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
# Append warning flags that only gcc 4.3+ knows about
|
||||
#
|
||||
# Technically, variable-length arrays are part of the C99 standard, but
|
||||
# we should approach them a bit cautiously... -QAK
|
||||
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wlogical-op -Wlarger-than=2048 -Wvla")
|
||||
|
||||
# Append warning flags from gcc-3.2* case
|
||||
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wpacked -Wdisabled-optimization")
|
||||
if (HDF5_ENABLE_DEV_WARNINGS)
|
||||
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wmissing-noreturn")
|
||||
else ()
|
||||
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wno-missing-noreturn")
|
||||
# Append more extra warning flags that only gcc 4.4+ know about
|
||||
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat")
|
||||
endif ()
|
||||
|
||||
# Enable more format checking flags, beyond the basic -Wformat included
|
||||
# in -Wall
|
||||
set (H5_CFLAGS1_5 "${H5_CFLAGS1_5} -Wformat=2")
|
||||
|
||||
# Append warning flags from gcc-3.3* case
|
||||
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wendif-labels")
|
||||
|
||||
# Append warning flags from gcc-3.4* case
|
||||
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch")
|
||||
|
||||
# Append more extra warning flags that only gcc4.0+ know about
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros")
|
||||
|
||||
# Append more extra warning flags that only gcc 4.1+ know about
|
||||
set (H5_CFLAGS2_5 "${H5_CFLAGS2_5} -Wunsafe-loop-optimizations")
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wc++-compat")
|
||||
|
||||
# Append more extra warning flags that only gcc 4.2+ know about
|
||||
set (H5_CFLAGS2_5 "${H5_CFLAGS2_5} -Wstrict-overflow")
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wno-strict-overflow")
|
||||
|
||||
# Append more extra warning flags that only gcc 4.3+ know about
|
||||
#
|
||||
# Technically, variable-length arrays are part of the C99 standard, but
|
||||
# we should approach them a bit cautiously... -QAK
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wlogical-op -Wlarger-than=2048 -Wvla")
|
||||
|
||||
# Append more extra warning flags that only gcc 4.4+ know about
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat")
|
||||
|
||||
# Append more extra warning flags that only gcc 4.5+ know about
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.5)
|
||||
set (H5_CFLAGS2_5 "${H5_CFLAGS2_5} -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants")
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wjump-misses-init -Wunsuffixed-float-constants")
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.5)
|
||||
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants")
|
||||
endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 4.6+ know about
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.6)
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.6)
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wdouble-promotion -Wtrampolines")
|
||||
if (HDF5_ENABLE_DEV_WARNINGS)
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wsuggest-attribute=const")
|
||||
@@ -164,14 +164,8 @@ if (NOT MSVC AND CMAKE_COMPILER_IS_GNUCC)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# The "unreachable code" warning appears to be reliable now...
|
||||
# (this warning was removed in gcc 4.5+)
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.7)
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wunreachable-code")
|
||||
endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 4.7+ know about
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.7)
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.7)
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wstack-usage=8192 -Wvector-operation-performance")
|
||||
if (HDF5_ENABLE_DEV_WARNINGS)
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn")
|
||||
@@ -181,7 +175,7 @@ if (NOT MSVC AND CMAKE_COMPILER_IS_GNUCC)
|
||||
endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 4.8+ know about
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.8)
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.8)
|
||||
if (HDF5_ENABLE_DEV_WARNINGS)
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wsuggest-attribute=format")
|
||||
else ()
|
||||
@@ -190,19 +184,17 @@ if (NOT MSVC AND CMAKE_COMPILER_IS_GNUCC)
|
||||
endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 4.9+ know about
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.9)
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wdate-time -Wopenmp-simd")
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.9)
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wdate-time")
|
||||
endif ()
|
||||
|
||||
# (There was no release of gcc 5.0)
|
||||
|
||||
# Append more extra warning flags that only gcc 5.1+ know about
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.1)
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.1)
|
||||
set (H5_CFLAGS3 "${H5_CFLAGS3} -Warray-bounds=2 -Wc99-c11-compat")
|
||||
endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 6.x+ know about
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 6.0)
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 6.0)
|
||||
set (H5_CFLAGS4 "${H5_CFLAGS4} -Wnull-dereference -Wunused-const-variable -Wduplicated-cond -Whsa")
|
||||
endif ()
|
||||
|
||||
@@ -213,6 +205,7 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_ALL_WARNINGS "Enable all warnings" OFF)
|
||||
if (HDF5_ENABLE_ALL_WARNINGS)
|
||||
message (STATUS "....All Warnings are enabled")
|
||||
if (MSVC)
|
||||
if (HDF5_ENABLE_DEV_WARNINGS)
|
||||
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
@@ -231,7 +224,7 @@ if (HDF5_ENABLE_ALL_WARNINGS)
|
||||
endif ()
|
||||
else ()
|
||||
if (CMAKE_COMPILER_IS_GNUCC)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic ${H5_CFLAGS1} ${H5_CFLAGS2}")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS0} ${H5_CFLAGS1} ${H5_CFLAGS2}")
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -241,6 +234,7 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_GROUPZERO_WARNINGS "Enable group zero warnings" OFF)
|
||||
if (HDF5_ENABLE_GROUPZERO_WARNINGS)
|
||||
message (STATUS "....Group Zero warnings are enabled")
|
||||
if (MSVC)
|
||||
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W1")
|
||||
@@ -250,7 +244,7 @@ if (HDF5_ENABLE_GROUPZERO_WARNINGS)
|
||||
endif ()
|
||||
else ()
|
||||
if (CMAKE_COMPILER_IS_GNUCC)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS0}")
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -260,6 +254,7 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_GROUPONE_WARNINGS "Enable group one warnings" OFF)
|
||||
if (HDF5_ENABLE_GROUPONE_WARNINGS)
|
||||
message (STATUS "....Group One warnings are enabled")
|
||||
if (MSVC)
|
||||
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W2")
|
||||
@@ -277,6 +272,7 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_GROUPTWO_WARNINGS "Enable group two warnings" OFF)
|
||||
if (HDF5_ENABLE_GROUPTWO_WARNINGS)
|
||||
message (STATUS "....Group Two warnings are enabled")
|
||||
if (MSVC)
|
||||
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3")
|
||||
@@ -294,6 +290,7 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_GROUPTHREE_WARNINGS "Enable group three warnings" OFF)
|
||||
if (HDF5_ENABLE_GROUPTHREE_WARNINGS)
|
||||
message (STATUS "....Group Three warnings are enabled")
|
||||
if (MSVC)
|
||||
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")
|
||||
@@ -311,6 +308,7 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_GROUPFOUR_WARNINGS "Enable group four warnings" OFF)
|
||||
if (HDF5_ENABLE_GROUPFOUR_WARNINGS)
|
||||
message (STATUS "....Group Four warnings are enabled")
|
||||
if (NOT MSVC)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS4}")
|
||||
endif ()
|
||||
|
||||
@@ -34,9 +34,9 @@ utility should be installed.
|
||||
To test the installation with the examples;
|
||||
Create a directory to run the examples.
|
||||
Copy HDF5Examples folder to this directory.
|
||||
Copy CTestScript.cmake to this directory.
|
||||
Copy HDF5_Examples.cmake to this directory.
|
||||
Copy HDF5_Examples_options.cmake to this directory.
|
||||
Copy CTestScript.cmake to this directory.
|
||||
The default source folder is defined as "HDF5Examples". It can be changed
|
||||
with the CTEST_SOURCE_NAME script option.
|
||||
The default installation folder is defined as "@CMAKE_INSTALL_PREFIX@".
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
########################################################
|
||||
|
||||
# To use this option, copy both the macro and option code
|
||||
# into the root UserMacros.cmake file.
|
||||
# into the root UserMacros.cmake file. Then enable the option,
|
||||
# using the command line add "-DBUILD_STATIC_CRT_LIBS:BOOL=ON"
|
||||
# OR add an include to the root UserMacros.cmake file:
|
||||
# INCLUDE(path_to_file/WINDOWS_MT.cmake)
|
||||
|
||||
|
||||
@@ -21,38 +21,38 @@
|
||||
|
||||
set (PACKAGE_VERSION "@HDF5_VERSION_STRING@")
|
||||
|
||||
if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" )
|
||||
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
else ()
|
||||
if ("${PACKAGE_FIND_VERSION_MAJOR}" STREQUAL "@H5_VERS_MAJOR@")
|
||||
else()
|
||||
if("@H5_VERS_MAJOR@.@H5_VERS_MINOR@" MATCHES "^([0-9]+)\\.([0-9]+)")
|
||||
set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
||||
set(CVF_VERSION_MINOR "${CMAKE_MATCH_2}")
|
||||
else()
|
||||
set(CVF_VERSION_MAJOR "@HDF5_VERSION_STRING@")
|
||||
set(CVF_VERSION_MINOR "")
|
||||
endif()
|
||||
|
||||
# exact match for version @H5_VERS_MAJOR@.@H5_VERS_MINOR@
|
||||
if ("${PACKAGE_FIND_VERSION_MINOR}" STREQUAL "@H5_VERS_MINOR@")
|
||||
if((PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR) AND
|
||||
(PACKAGE_FIND_VERSION_MINOR STREQUAL CVF_VERSION_MINOR))
|
||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
else()
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
endif()
|
||||
|
||||
# compatible with any version @H5_VERS_MAJOR@.@H5_VERS_MINOR@.x
|
||||
set (PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
|
||||
set(PACKAGE_VERSION_EXACT TRUE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if ("${PACKAGE_FIND_VERSION_PATCH}" STREQUAL "@H5_VERS_RELEASE@")
|
||||
set (PACKAGE_VERSION_EXACT TRUE)
|
||||
|
||||
if ("${PACKAGE_FIND_VERSION_TWEAK}" STREQUAL "@H5_VERS_SUBRELEASE@")
|
||||
# not using this yet
|
||||
endif ()
|
||||
endif ()
|
||||
else ()
|
||||
set (PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
|
||||
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "@CMAKE_SIZEOF_VOID_P@" STREQUAL "")
|
||||
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "@CMAKE_SIZEOF_VOID_P@" STREQUAL "")
|
||||
return()
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
|
||||
if(NOT "${CMAKE_SIZEOF_VOID_P}" STREQUAL "@CMAKE_SIZEOF_VOID_P@")
|
||||
if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "@CMAKE_SIZEOF_VOID_P@")
|
||||
math(EXPR installedBits "@CMAKE_SIZEOF_VOID_P@ * 8")
|
||||
set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
|
||||
set(PACKAGE_VERSION_UNSUITABLE TRUE)
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
@@ -38,6 +38,7 @@ set (${HDF5_PACKAGE_NAME}_BUILD_CPP_LIB @HDF5_BUILD_CPP_LIB@)
|
||||
set (${HDF5_PACKAGE_NAME}_BUILD_JAVA @HDF5_BUILD_JAVA@)
|
||||
set (${HDF5_PACKAGE_NAME}_BUILD_TOOLS @HDF5_BUILD_TOOLS@)
|
||||
set (${HDF5_PACKAGE_NAME}_BUILD_HL_LIB @HDF5_BUILD_HL_LIB@)
|
||||
set (${HDF5_PACKAGE_NAME}_ENABLE_THREADSAFE @HDF5_ENABLE_THREADSAFE@)
|
||||
set (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT @HDF5_ENABLE_Z_LIB_SUPPORT@)
|
||||
set (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT @HDF5_ENABLE_SZIP_SUPPORT@)
|
||||
set (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_ENCODING @HDF5_ENABLE_SZIP_ENCODING@)
|
||||
@@ -45,6 +46,8 @@ set (${HDF5_PACKAGE_NAME}_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@)
|
||||
set (${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS @HDF5_PACKAGE_EXTLIBS@)
|
||||
set (${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES @HDF5_LIBRARIES_TO_EXPORT@)
|
||||
set (${HDF5_PACKAGE_NAME}_TOOLSET "@CMAKE_GENERATOR_TOOLSET@")
|
||||
set (${HDF5_PACKAGE_NAME}_DEFAULT_API_VERSION "@DEFAULT_API_VERSION@")
|
||||
set (${HDF5_PACKAGE_NAME}_PARALLEL_FILTERED_WRITES "@PARALLEL_FILTERED_WRITES@")
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Dependencies
|
||||
@@ -124,14 +127,14 @@ endif ()
|
||||
# Handle requested components:
|
||||
list (REMOVE_DUPLICATES ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
|
||||
foreach (comp IN LISTS ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
|
||||
if (${comp} STREQUAL "shared")
|
||||
if (comp STREQUAL "shared")
|
||||
list (REMOVE_ITEM ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS ${comp})
|
||||
set (${HDF5_PACKAGE_NAME}_LIB_TYPE ${${HDF5_PACKAGE_NAME}_LIB_TYPE} ${comp})
|
||||
|
||||
if (${HDF5_PACKAGE_NAME}_BUILD_FORTRAN)
|
||||
set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_FORTRAN "@PACKAGE_INCLUDE_INSTALL_DIR@/shared")
|
||||
endif ()
|
||||
elseif (${comp} STREQUAL "static")
|
||||
elseif (comp STREQUAL "static")
|
||||
list (REMOVE_ITEM ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS ${comp})
|
||||
set (${HDF5_PACKAGE_NAME}_LIB_TYPE ${${HDF5_PACKAGE_NAME}_LIB_TYPE} ${comp})
|
||||
|
||||
@@ -143,32 +146,32 @@ endforeach ()
|
||||
foreach (libtype IN LISTS ${HDF5_PACKAGE_NAME}_LIB_TYPE)
|
||||
foreach (comp IN LISTS ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
|
||||
set (hdf5_comp2)
|
||||
if (${comp} STREQUAL "C")
|
||||
if (comp STREQUAL "C")
|
||||
set (hdf5_comp "hdf5")
|
||||
elseif (${comp} STREQUAL "CXX")
|
||||
elseif (comp STREQUAL "CXX")
|
||||
set (hdf5_comp "hdf5_cpp")
|
||||
elseif (${comp} STREQUAL "HL")
|
||||
elseif (comp STREQUAL "HL")
|
||||
set (hdf5_comp "hdf5_hl")
|
||||
elseif (${comp} STREQUAL "CXX_HL")
|
||||
elseif (comp STREQUAL "CXX_HL")
|
||||
set (hdf5_comp "hdf5_hl_cpp")
|
||||
elseif (${comp} STREQUAL "Java")
|
||||
elseif (comp STREQUAL "Java")
|
||||
set (hdf5_comp "hdf5_java")
|
||||
elseif (${comp} STREQUAL "Tools")
|
||||
elseif (comp STREQUAL "Tools")
|
||||
set (hdf5_comp "hdf5_tools")
|
||||
elseif (${comp} STREQUAL "Fortran")
|
||||
elseif (comp STREQUAL "Fortran")
|
||||
set (hdf5_comp2 "hdf5_f90cstub")
|
||||
set (hdf5_comp "hdf5_fortran")
|
||||
elseif (${comp} STREQUAL "Fortran_HL")
|
||||
elseif (comp STREQUAL "Fortran_HL")
|
||||
set (hdf5_comp2 "hdf5_hl_f90cstub")
|
||||
set (hdf5_comp "hdf5_hl_fortran")
|
||||
endif ()
|
||||
if (${comp} STREQUAL "Java")
|
||||
if (comp STREQUAL "Java")
|
||||
list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp}" HAVE_COMP)
|
||||
else ()
|
||||
list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp}-${libtype}" HAVE_COMP)
|
||||
endif ()
|
||||
if (${HAVE_COMP} LESS 0)
|
||||
if (${comp} STREQUAL "Java")
|
||||
if (comp STREQUAL "Java")
|
||||
set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 0)
|
||||
else ()
|
||||
set (${HDF5_PACKAGE_NAME}_${libtype}_${comp}_FOUND 0)
|
||||
@@ -183,7 +186,7 @@ foreach (libtype IN LISTS ${HDF5_PACKAGE_NAME}_LIB_TYPE)
|
||||
string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_${libtype}_LIBRARY COMP_LIBRARY)
|
||||
set (${COMP_LIBRARY} ${${COMP_LIBRARY}} @HDF5_PACKAGE@::${hdf5_comp2}-${libtype} @HDF5_PACKAGE@::${hdf5_comp}-${libtype})
|
||||
endif ()
|
||||
elseif (${comp} STREQUAL "Java")
|
||||
elseif (comp STREQUAL "Java")
|
||||
set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 1)
|
||||
string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_LIBRARY COMP_LIBRARY)
|
||||
set (${COMP_LIBRARY} ${${COMP_LIBRARY}} hdf5::${hdf5_comp})
|
||||
|
||||
@@ -32,9 +32,6 @@ endif ()
|
||||
if (NOT TEST_CLASSPATH)
|
||||
message (STATUS "Require TEST_CLASSPATH to be defined")
|
||||
endif ()
|
||||
if (NOT TEST_REFERENCE)
|
||||
message (FATAL_ERROR "Require TEST_REFERENCE to be defined")
|
||||
endif ()
|
||||
|
||||
if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT})
|
||||
file (REMOVE ${TEST_FOLDER}/${TEST_OUTPUT})
|
||||
@@ -44,14 +41,6 @@ if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.err)
|
||||
file (REMOVE ${TEST_FOLDER}/${TEST_OUTPUT}.err)
|
||||
endif ()
|
||||
|
||||
# if there is not an error reference file add the error output to the stdout file
|
||||
if (NOT TEST_ERRREF)
|
||||
if (NOT SKIP_APPEND)
|
||||
# append error file since skip was not defined
|
||||
set (ERROR_APPEND 1)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (NOT TEST_LOG_LEVEL)
|
||||
set (LOG_LEVEL "info")
|
||||
else ()
|
||||
@@ -88,10 +77,10 @@ if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.err)
|
||||
endif ()
|
||||
|
||||
if (NOT ERROR_APPEND)
|
||||
# append error output to the stdout output file
|
||||
# write back to original .err file
|
||||
file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT}.err "${TEST_STREAM}")
|
||||
else ()
|
||||
# write back to original .err file
|
||||
# append error output to the stdout output file
|
||||
file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}")
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -121,8 +110,8 @@ if (TEST_MASK_ERROR)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# if the return value is !=0 bail out
|
||||
if (NOT "${TEST_RESULT}" STREQUAL "${TEST_EXPECT}")
|
||||
# if the return value is !=expected bail out
|
||||
if (NOT TEST_RESULT EQUAL TEST_EXPECT)
|
||||
message (STATUS "ERROR OUTPUT: ${TEST_STREAM}")
|
||||
message (FATAL_ERROR "Failed: Test program ${TEST_PROGRAM} exited != 0.\n${TEST_ERROR}")
|
||||
endif ()
|
||||
@@ -131,54 +120,56 @@ message (STATUS "COMMAND Error: ${TEST_ERROR}")
|
||||
|
||||
# compare output files to references unless this must be skipped
|
||||
if (NOT TEST_SKIP_COMPARE)
|
||||
if (WIN32 AND NOT MINGW)
|
||||
file (READ ${TEST_FOLDER}/${TEST_REFERENCE} TEST_STREAM)
|
||||
file (WRITE ${TEST_FOLDER}/${TEST_REFERENCE} "${TEST_STREAM}")
|
||||
endif ()
|
||||
if (EXISTS ${TEST_FOLDER}/${TEST_REFERENCE})
|
||||
if (WIN32 AND NOT MINGW)
|
||||
file (READ ${TEST_FOLDER}/${TEST_REFERENCE} TEST_STREAM)
|
||||
file (WRITE ${TEST_FOLDER}/${TEST_REFERENCE} "${TEST_STREAM}")
|
||||
endif ()
|
||||
|
||||
# now compare the output with the reference
|
||||
execute_process (
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/${TEST_REFERENCE}
|
||||
RESULT_VARIABLE TEST_RESULT
|
||||
)
|
||||
if (NOT "${TEST_RESULT}" STREQUAL "0")
|
||||
set (TEST_RESULT 0)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT} test_act)
|
||||
list (LENGTH test_act len_act)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_REFERENCE} test_ref)
|
||||
list (LENGTH test_ref len_ref)
|
||||
if (NOT "${len_act}" STREQUAL "0" AND NOT "${len_ref}" STREQUAL "0")
|
||||
math (EXPR _FP_LEN "${len_ref} - 1")
|
||||
foreach (line RANGE 0 ${_FP_LEN})
|
||||
list (GET test_act ${line} str_act)
|
||||
list (GET test_ref ${line} str_ref)
|
||||
if (NOT "${str_act}" STREQUAL "${str_ref}")
|
||||
if (NOT "${str_act}" STREQUAL "")
|
||||
set (TEST_RESULT 1)
|
||||
message ("line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
|
||||
# now compare the output with the reference
|
||||
execute_process (
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/${TEST_REFERENCE}
|
||||
RESULT_VARIABLE TEST_RESULT
|
||||
)
|
||||
if (TEST_RESULT)
|
||||
set (TEST_RESULT 0)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT} test_act)
|
||||
list (LENGTH test_act len_act)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_REFERENCE} test_ref)
|
||||
list (LENGTH test_ref len_ref)
|
||||
if (len_act GREATER 0 AND len_ref GREATER 0)
|
||||
math (EXPR _FP_LEN "${len_ref} - 1")
|
||||
foreach (line RANGE 0 ${_FP_LEN})
|
||||
list (GET test_act ${line} str_act)
|
||||
list (GET test_ref ${line} str_ref)
|
||||
if (NOT str_act STREQUAL str_ref)
|
||||
if (str_act)
|
||||
set (TEST_RESULT 1)
|
||||
message ("line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
|
||||
endif ()
|
||||
endif ()
|
||||
endforeach ()
|
||||
else ()
|
||||
if (len_act EQUAL 0)
|
||||
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_OUTPUT} is empty")
|
||||
endif ()
|
||||
if (len_ref EQUAL 0)
|
||||
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_REFERENCE} is empty")
|
||||
endif ()
|
||||
endforeach ()
|
||||
else ()
|
||||
if ("${len_act}" STREQUAL "0")
|
||||
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_OUTPUT} is empty")
|
||||
endif ()
|
||||
if ("${len_ref}" STREQUAL "0")
|
||||
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_REFERENCE} is empty")
|
||||
if (NOT len_act EQUAL len_ref)
|
||||
set (TEST_RESULT 1)
|
||||
endif ()
|
||||
endif ()
|
||||
if (NOT "${len_act}" STREQUAL "${len_ref}")
|
||||
set (TEST_RESULT 1)
|
||||
|
||||
message (STATUS "COMPARE Result: ${TEST_RESULT}")
|
||||
|
||||
# again, if return value is !=0 scream and shout
|
||||
if (TEST_RESULT)
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_OUTPUT} did not match ${TEST_REFERENCE}")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
message (STATUS "COMPARE Result: ${TEST_RESULT}")
|
||||
|
||||
# again, if return value is !=0 scream and shout
|
||||
if (NOT "${TEST_RESULT}" STREQUAL "0")
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_OUTPUT} did not match ${TEST_REFERENCE}")
|
||||
endif ()
|
||||
|
||||
# now compare the .err file with the error reference, if supplied
|
||||
if (TEST_ERRREF)
|
||||
if (WIN32 AND NOT MINGW)
|
||||
@@ -191,34 +182,34 @@ if (NOT TEST_SKIP_COMPARE)
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT}.err ${TEST_FOLDER}/${TEST_ERRREF}
|
||||
RESULT_VARIABLE TEST_RESULT
|
||||
)
|
||||
if (NOT "${TEST_RESULT}" STREQUAL "0")
|
||||
if (TEST_RESULT)
|
||||
set (TEST_RESULT 0)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT}.err test_act)
|
||||
list (LENGTH test_act len_act)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_ERRREF} test_ref)
|
||||
list (LENGTH test_ref len_ref)
|
||||
math (EXPR _FP_LEN "${len_ref} - 1")
|
||||
if (NOT "${len_act}" STREQUAL "0" AND NOT "${len_ref}" STREQUAL "0")
|
||||
if (len_act GREATER 0 AND len_ref GREATER 0)
|
||||
math (EXPR _FP_LEN "${len_ref} - 1")
|
||||
foreach (line RANGE 0 ${_FP_LEN})
|
||||
list (GET test_act ${line} str_act)
|
||||
list (GET test_ref ${line} str_ref)
|
||||
if (NOT "${str_act}" STREQUAL "${str_ref}")
|
||||
if (NOT "${str_act}" STREQUAL "")
|
||||
if (NOT str_act STREQUAL str_ref)
|
||||
if (str_act)
|
||||
set (TEST_RESULT 1)
|
||||
message ("line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
|
||||
endif ()
|
||||
endif ()
|
||||
endforeach ()
|
||||
else ()
|
||||
if ("${len_act}" STREQUAL "0")
|
||||
if (len_act EQUAL 0)
|
||||
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_OUTPUT}.err is empty")
|
||||
endif ()
|
||||
if ("${len_ref}" STREQUAL "0")
|
||||
if (len_ref EQUAL 0)
|
||||
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_ERRREF} is empty")
|
||||
endif ()
|
||||
endif()
|
||||
if (NOT "${len_act}" STREQUAL "${len_ref}")
|
||||
endif ()
|
||||
if (NOT len_act EQUAL len_ref)
|
||||
set (TEST_RESULT 1)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -226,7 +217,7 @@ if (NOT TEST_SKIP_COMPARE)
|
||||
message (STATUS "COMPARE Result: ${TEST_RESULT}")
|
||||
|
||||
# again, if return value is !=0 scream and shout
|
||||
if (NOT ${TEST_RESULT} STREQUAL 0)
|
||||
if (TEST_RESULT)
|
||||
message (FATAL_ERROR "Failed: The error output of ${TEST_OUTPUT}.err did not match ${TEST_ERRREF}")
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -239,15 +230,15 @@ if (TEST_GREP_COMPARE)
|
||||
# TEST_REFERENCE should always be matched
|
||||
string (REGEX MATCH "${TEST_REFERENCE}" TEST_MATCH ${TEST_STREAM})
|
||||
string (COMPARE EQUAL "${TEST_REFERENCE}" "${TEST_MATCH}" TEST_RESULT)
|
||||
if ("${TEST_RESULT}" STREQUAL "0")
|
||||
if (NOT TEST_RESULT)
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did not contain ${TEST_REFERENCE}")
|
||||
endif ()
|
||||
|
||||
string (REGEX MATCH "${TEST_FILTER}" TEST_MATCH ${TEST_STREAM})
|
||||
if ("${TEST_EXPECT}" STREQUAL "1")
|
||||
if (TEST_EXPECT)
|
||||
# TEST_EXPECT (1) interperts TEST_FILTER as NOT to match
|
||||
string (LENGTH "${TEST_MATCH}" TEST_RESULT)
|
||||
if (NOT "${TEST_RESULT}" STREQUAL "0")
|
||||
if (TEST_RESULT)
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did contain ${TEST_FILTER}")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
0
config/cmake/libh5cc.in
Executable file → Normal file
0
config/cmake/libh5cc.in
Executable file → Normal file
0
config/cmake/libhdf5.pc.in
Executable file → Normal file
0
config/cmake/libhdf5.pc.in
Executable file → Normal file
@@ -64,20 +64,21 @@ Languages:
|
||||
|
||||
Features:
|
||||
---------
|
||||
Parallel HDF5: @HDF5_ENABLE_PARALLEL@
|
||||
High-level library: @HDF5_BUILD_HL_LIB@
|
||||
Threadsafety: @HDF5_ENABLE_THREADSAFE@
|
||||
Default API mapping: @DEFAULT_API_VERSION@
|
||||
With deprecated public symbols: @HDF5_ENABLE_DEPRECATED_SYMBOLS@
|
||||
I/O filters (external): @EXTERNAL_FILTERS@
|
||||
MPE: @H5_HAVE_LIBLMPE@
|
||||
Direct VFD: @H5_HAVE_DIRECT@
|
||||
dmalloc: @H5_HAVE_LIBDMALLOC@
|
||||
Packages w/ extra debug output: @INTERNAL_DEBUG_OUTPUT@
|
||||
API Tracing: @HDF5_ENABLE_TRACE@
|
||||
Using memory checker: @HDF5_ENABLE_USING_MEMCHECKER@
|
||||
Memory allocation sanity checks: @HDF5_MEMORY_ALLOC_SANITY_CHECK@
|
||||
Metadata trace file: @METADATATRACEFILE@
|
||||
Function Stack Tracing: @HDF5_ENABLE_CODESTACK@
|
||||
Strict File Format Checks: @HDF5_STRICT_FORMAT_CHECKS@
|
||||
Optimization Instrumentation: @HDF5_Enable_Instrument@
|
||||
Parallel HDF5: @HDF5_ENABLE_PARALLEL@
|
||||
Parallel Filtered Dataset Writes: @PARALLEL_FILTERED_WRITES@
|
||||
Large Parallel I/O: @LARGE_PARALLEL_IO@
|
||||
High-level library: @HDF5_BUILD_HL_LIB@
|
||||
Threadsafety: @HDF5_ENABLE_THREADSAFE@
|
||||
Default API mapping: @DEFAULT_API_VERSION@
|
||||
With deprecated public symbols: @HDF5_ENABLE_DEPRECATED_SYMBOLS@
|
||||
I/O filters (external): @EXTERNAL_FILTERS@
|
||||
MPE: @H5_HAVE_LIBLMPE@
|
||||
Direct VFD: @H5_HAVE_DIRECT@
|
||||
dmalloc: @H5_HAVE_LIBDMALLOC@
|
||||
Packages w/ extra debug output: @INTERNAL_DEBUG_OUTPUT@
|
||||
API Tracing: @HDF5_ENABLE_TRACE@
|
||||
Using memory checker: @HDF5_ENABLE_USING_MEMCHECKER@
|
||||
Memory allocation sanity checks: @HDF5_MEMORY_ALLOC_SANITY_CHECK@
|
||||
Function Stack Tracing: @HDF5_ENABLE_CODESTACK@
|
||||
Strict File Format Checks: @HDF5_STRICT_FORMAT_CHECKS@
|
||||
Optimization Instrumentation: @HDF5_Enable_Instrument@
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<CPackWiXPatch>
|
||||
<CPackWiXFragment Id="CM_CP_libraries.bin.hdf5.dll">
|
||||
<CPackWiXFragment Id="CM_CP_libraries.bin.hdf5.dll">
|
||||
<Environment Id="PATH"
|
||||
Name="PATH"
|
||||
Value="[CM_DP_libraries.bin]"
|
||||
@@ -7,5 +7,5 @@
|
||||
Part="last"
|
||||
Action="set"
|
||||
System="yes"/>
|
||||
</CPackWiXFragment>
|
||||
</CPackWiXFragment>
|
||||
</CPackWiXPatch>
|
||||
|
||||
628
config/cmake/scripts/CTestScript.cmake
Executable file → Normal file
628
config/cmake/scripts/CTestScript.cmake
Executable file → Normal file
@@ -9,294 +9,340 @@
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
########################################################
|
||||
# This dashboard is maintained by The HDF Group
|
||||
# For any comments please contact cdashhelp@hdfgroup.org
|
||||
#
|
||||
########################################################
|
||||
# -----------------------------------------------------------
|
||||
# -- Get environment
|
||||
# -----------------------------------------------------------
|
||||
if (NOT SITE_OS_NAME)
|
||||
## machine name not provided - attempt to discover with uname
|
||||
## -- set hostname
|
||||
## --------------------------
|
||||
find_program (HOSTNAME_CMD NAMES hostname)
|
||||
exec_program (${HOSTNAME_CMD} ARGS OUTPUT_VARIABLE HOSTNAME)
|
||||
set (CTEST_SITE "${HOSTNAME}${CTEST_SITE_EXT}")
|
||||
find_program (UNAME NAMES uname)
|
||||
macro (getuname name flag)
|
||||
exec_program ("${UNAME}" ARGS "${flag}" OUTPUT_VARIABLE "${name}")
|
||||
endmacro ()
|
||||
|
||||
getuname (osname -s)
|
||||
getuname (osrel -r)
|
||||
getuname (cpu -m)
|
||||
message (STATUS "Dashboard script uname output: ${osname}-${osrel}-${cpu}\n")
|
||||
|
||||
set (CTEST_BUILD_NAME "${osname}-${osrel}-${cpu}")
|
||||
if (SITE_BUILDNAME_SUFFIX)
|
||||
set (CTEST_BUILD_NAME "${SITE_BUILDNAME_SUFFIX}-${CTEST_BUILD_NAME}")
|
||||
endif ()
|
||||
set (BUILD_OPTIONS "${ADD_BUILD_OPTIONS}")
|
||||
else ()
|
||||
## machine name provided
|
||||
## --------------------------
|
||||
if (CMAKE_HOST_UNIX)
|
||||
set (CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_OS_BITS}-${SITE_COMPILER_NAME}-${SITE_COMPILER_VERSION}")
|
||||
else ()
|
||||
set (CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_COMPILER_NAME}")
|
||||
endif ()
|
||||
if (SITE_BUILDNAME_SUFFIX)
|
||||
set (CTEST_BUILD_NAME "${CTEST_BUILD_NAME}-${SITE_BUILDNAME_SUFFIX}")
|
||||
endif ()
|
||||
set (BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDNAME:STRING=${CTEST_BUILD_NAME}")
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# MAC machines need special option
|
||||
#-----------------------------------------------------------------------------
|
||||
if (APPLE)
|
||||
# Compiler choice
|
||||
execute_process (COMMAND xcrun --find cc OUTPUT_VARIABLE XCODE_CC OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process (COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
set (ENV{CC} "${XCODE_CC}")
|
||||
set (ENV{CXX} "${XCODE_CXX}")
|
||||
|
||||
set (BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF")
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
set (NEED_REPOSITORY_CHECKOUT 0)
|
||||
set (CTEST_CMAKE_COMMAND "\"${CMAKE_COMMAND}\"")
|
||||
if (CTEST_USE_TAR_SOURCE)
|
||||
## Uncompress source if tar file provided
|
||||
## --------------------------
|
||||
if (WIN32)
|
||||
message (STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} x ${CTEST_DASHBOARD_ROOT}\\${CTEST_USE_TAR_SOURCE}.zip]")
|
||||
execute_process (COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}\\${CTEST_USE_TAR_SOURCE}.zip RESULT_VARIABLE rv)
|
||||
else ()
|
||||
message (STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE}.tar]")
|
||||
execute_process (COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE}.tar RESULT_VARIABLE rv)
|
||||
endif ()
|
||||
|
||||
if (NOT rv EQUAL 0)
|
||||
message (STATUS "extracting... [error-(${rv}) clean up]")
|
||||
file (REMOVE_RECURSE "${CTEST_SOURCE_DIRECTORY}")
|
||||
message (FATAL_ERROR "error: extract of ${CTEST_USE_TAR_SOURCE} failed")
|
||||
endif ()
|
||||
|
||||
file (RENAME ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE} ${CTEST_SOURCE_DIRECTORY})
|
||||
set (LOCAL_SKIP_UPDATE "TRUE")
|
||||
else ()
|
||||
if (LOCAL_UPDATE)
|
||||
if (CTEST_USE_GIT_SOURCE)
|
||||
find_program (CTEST_GIT_COMMAND NAMES git git.cmd)
|
||||
set (CTEST_GIT_UPDATE_OPTIONS)
|
||||
|
||||
if (NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
|
||||
set (NEED_REPOSITORY_CHECKOUT 1)
|
||||
endif ()
|
||||
|
||||
if (${NEED_REPOSITORY_CHECKOUT})
|
||||
if (REPOSITORY_BRANCH)
|
||||
set (CTEST_GIT_options "clone \"${REPOSITORY_URL}\" --branch \"${REPOSITORY_BRANCH}\" --single-branch \"${CTEST_SOURCE_DIRECTORY}\" --recurse-submodules")
|
||||
else ()
|
||||
set (CTEST_GIT_options "clone \"${REPOSITORY_URL}\" \"${CTEST_SOURCE_DIRECTORY}\" --recurse-submodules")
|
||||
endif ()
|
||||
set (CTEST_CHECKOUT_COMMAND "${CTEST_GIT_COMMAND} ${CTEST_GIT_options}")
|
||||
else ()
|
||||
set (CTEST_GIT_options "pull")
|
||||
endif ()
|
||||
set (CTEST_UPDATE_COMMAND "${CTEST_GIT_COMMAND}")
|
||||
else ()
|
||||
## --------------------------
|
||||
## use subversion to get source
|
||||
#-----------------------------------------------------------------------------
|
||||
## cygwin does not handle the find_package() call
|
||||
## --------------------------
|
||||
set (CTEST_UPDATE_COMMAND "SVNCommand")
|
||||
if (NOT SITE_CYGWIN})
|
||||
find_package (Subversion)
|
||||
set (CTEST_SVN_COMMAND "${Subversion_SVN_EXECUTABLE}")
|
||||
set (CTEST_UPDATE_COMMAND "${Subversion_SVN_EXECUTABLE}")
|
||||
else ()
|
||||
set (CTEST_SVN_COMMAND "/usr/bin/svn")
|
||||
set (CTEST_UPDATE_COMMAND "/usr/bin/svn")
|
||||
endif ()
|
||||
|
||||
if (NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
|
||||
set (NEED_REPOSITORY_CHECKOUT 1)
|
||||
endif ()
|
||||
|
||||
if (NOT CTEST_REPO_VERSION)
|
||||
set (CTEST_REPO_VERSION "HEAD")
|
||||
endif ()
|
||||
if (${NEED_REPOSITORY_CHECKOUT})
|
||||
set (CTEST_CHECKOUT_COMMAND
|
||||
"\"${CTEST_SVN_COMMAND}\" co ${REPOSITORY_URL} \"${CTEST_SOURCE_DIRECTORY}\" -r ${CTEST_REPO_VERSION}")
|
||||
else ()
|
||||
if (CTEST_REPO_VERSION)
|
||||
set (CTEST_SVN_UPDATE_OPTIONS "-r ${CTEST_REPO_VERSION}")
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
## Clear the build directory
|
||||
## --------------------------
|
||||
set (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
|
||||
if (NOT EXISTS "${CTEST_BINARY_DIRECTORY}")
|
||||
file (MAKE_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
|
||||
else ()
|
||||
ctest_empty_binary_directory (${CTEST_BINARY_DIRECTORY})
|
||||
endif ()
|
||||
|
||||
# Use multiple CPU cores to build
|
||||
include (ProcessorCount)
|
||||
ProcessorCount (N)
|
||||
if (NOT N EQUAL 0)
|
||||
if (NOT WIN32)
|
||||
set (CTEST_BUILD_FLAGS -j${N})
|
||||
endif ()
|
||||
set (ctest_test_args ${ctest_test_args} PARALLEL_LEVEL ${N})
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Send the main script as a note.
|
||||
list (APPEND CTEST_NOTES_FILES
|
||||
"${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}"
|
||||
"${CMAKE_CURRENT_LIST_FILE}"
|
||||
"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake"
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check for required variables.
|
||||
# --------------------------
|
||||
foreach (req
|
||||
CTEST_CMAKE_GENERATOR
|
||||
CTEST_SITE
|
||||
CTEST_BUILD_NAME
|
||||
)
|
||||
if (NOT DEFINED ${req})
|
||||
message (FATAL_ERROR "The containing script must set ${req}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Initialize the CTEST commands
|
||||
#------------------------------
|
||||
if(CMAKE_GENERATOR_TOOLSET)
|
||||
set(CTEST_CONFIGURE_TOOLSET "-T${CMAKE_GENERATOR_TOOLSET}")
|
||||
else ()
|
||||
set(CTEST_CONFIGURE_TOOLSET "")
|
||||
endif()
|
||||
if (LOCAL_MEMCHECK_TEST)
|
||||
find_program (CTEST_MEMORYCHECK_COMMAND NAMES valgrind)
|
||||
set (CTEST_CONFIGURE_COMMAND
|
||||
"${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/mccacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_CONFIGURE_TOOLSET}\" \"${CTEST_SOURCE_DIRECTORY}\""
|
||||
)
|
||||
else ()
|
||||
if (LOCAL_COVERAGE_TEST)
|
||||
find_program (CTEST_COVERAGE_COMMAND NAMES gcov)
|
||||
endif ()
|
||||
set (CTEST_CONFIGURE_COMMAND
|
||||
"${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_CONFIGURE_TOOLSET}\" \"${CTEST_SOURCE_DIRECTORY}\""
|
||||
)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
## -- set output to english
|
||||
set ($ENV{LC_MESSAGES} "en_EN")
|
||||
|
||||
# Print summary information.
|
||||
foreach (v
|
||||
CTEST_SITE
|
||||
CTEST_BUILD_NAME
|
||||
CTEST_SOURCE_DIRECTORY
|
||||
CTEST_BINARY_DIRECTORY
|
||||
CTEST_CMAKE_GENERATOR
|
||||
CTEST_CONFIGURATION_TYPE
|
||||
CTEST_GIT_COMMAND
|
||||
CTEST_CHECKOUT_COMMAND
|
||||
CTEST_CONFIGURE_COMMAND
|
||||
CTEST_SCRIPT_DIRECTORY
|
||||
CTEST_USE_LAUNCHERS
|
||||
)
|
||||
set (vars "${vars} ${v}=[${${v}}]\n")
|
||||
endforeach ()
|
||||
message (STATUS "Dashboard script configuration:\n${vars}\n")
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
#-----------------------------------------------------------------------------
|
||||
## NORMAL process
|
||||
## -- LOCAL_UPDATE updates the source folder from svn
|
||||
## -- LOCAL_SUBMIT reports to CDash server
|
||||
## -- LOCAL_SKIP_TEST skips the test process (only builds)
|
||||
## -- LOCAL_MEMCHECK_TEST executes the Valgrind testing
|
||||
## -- LOCAL_COVERAGE_TEST executes code coverage process
|
||||
## --------------------------
|
||||
ctest_start (${MODEL} TRACK ${MODEL})
|
||||
if (LOCAL_UPDATE)
|
||||
ctest_update (SOURCE "${CTEST_SOURCE_DIRECTORY}")
|
||||
endif ()
|
||||
configure_file (${CTEST_SOURCE_DIRECTORY}/config/cmake/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake)
|
||||
ctest_read_custom_files ("${CTEST_BINARY_DIRECTORY}")
|
||||
ctest_configure (BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS Update Configure Notes)
|
||||
endif ()
|
||||
if (${res} LESS 0 OR ${res} GREATER 0)
|
||||
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed Configure: ${res}\n")
|
||||
endif ()
|
||||
|
||||
ctest_build (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND RETURN_VALUE res NUMBER_ERRORS errval)
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS Build)
|
||||
endif ()
|
||||
if (${res} LESS 0 OR ${res} GREATER 0 OR ${errval} GREATER 0)
|
||||
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed ${errval} Build: ${res}\n")
|
||||
endif ()
|
||||
|
||||
if (NOT LOCAL_SKIP_TEST)
|
||||
if (NOT LOCAL_MEMCHECK_TEST)
|
||||
ctest_test (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args} RETURN_VALUE res)
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS Test)
|
||||
endif ()
|
||||
if (${res} LESS 0 OR ${res} GREATER 0)
|
||||
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed Tests: ${res}\n")
|
||||
endif ()
|
||||
else ()
|
||||
ctest_memcheck (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args})
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS MemCheck)
|
||||
endif ()
|
||||
endif ()
|
||||
if (LOCAL_COVERAGE_TEST)
|
||||
ctest_coverage (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS Coverage)
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (NOT LOCAL_MEMCHECK_TEST AND NOT LOCAL_NO_PACKAGE AND NOT LOCAL_SKIP_BUILD)
|
||||
##-----------------------------------------------
|
||||
## Package the product
|
||||
##-----------------------------------------------
|
||||
execute_process (COMMAND cpack -C ${CTEST_CONFIGURATION_TYPE} -V
|
||||
WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY}
|
||||
RESULT_VARIABLE cpackResult
|
||||
OUTPUT_VARIABLE cpackLog
|
||||
ERROR_VARIABLE cpackLog.err
|
||||
)
|
||||
file (WRITE ${CTEST_BINARY_DIRECTORY}/cpack.log "${cpackLog.err}" "${cpackLog}")
|
||||
if (cpackResult GREATER 0)
|
||||
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed packaging: ${cpackResult}:${cpackLog.err} \n")
|
||||
endif ()
|
||||
endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
########################################################
|
||||
# This dashboard is maintained by The HDF Group
|
||||
# For any comments please contact cdashhelp@hdfgroup.org
|
||||
#
|
||||
########################################################
|
||||
# -----------------------------------------------------------
|
||||
# -- Get environment
|
||||
# -----------------------------------------------------------
|
||||
if (NOT SITE_OS_NAME)
|
||||
## machine name not provided - attempt to discover with uname
|
||||
## -- set hostname
|
||||
## --------------------------
|
||||
find_program (HOSTNAME_CMD NAMES hostname)
|
||||
exec_program (${HOSTNAME_CMD} ARGS OUTPUT_VARIABLE HOSTNAME)
|
||||
set (CTEST_SITE "${HOSTNAME}${CTEST_SITE_EXT}")
|
||||
find_program (UNAME NAMES uname)
|
||||
macro (getuname name flag)
|
||||
exec_program ("${UNAME}" ARGS "${flag}" OUTPUT_VARIABLE "${name}")
|
||||
endmacro ()
|
||||
|
||||
getuname (osname -s)
|
||||
getuname (osrel -r)
|
||||
getuname (cpu -m)
|
||||
message (STATUS "Dashboard script uname output: ${osname}-${osrel}-${cpu}\n")
|
||||
|
||||
set (CTEST_BUILD_NAME "${osname}-${osrel}-${cpu}")
|
||||
else ()
|
||||
## machine name provided
|
||||
## --------------------------
|
||||
if (CMAKE_HOST_UNIX)
|
||||
set (CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_OS_BITS}-${SITE_COMPILER_NAME}-${SITE_COMPILER_VERSION}")
|
||||
else ()
|
||||
set (CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_COMPILER_NAME}")
|
||||
endif ()
|
||||
endif ()
|
||||
if (SITE_BUILDNAME_SUFFIX)
|
||||
set (CTEST_BUILD_NAME "${SITE_BUILDNAME_SUFFIX}-${CTEST_BUILD_NAME}")
|
||||
endif ()
|
||||
set (BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDNAME:STRING=${CTEST_BUILD_NAME}")
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# MAC machines need special option
|
||||
#-----------------------------------------------------------------------------
|
||||
if (APPLE)
|
||||
# Compiler choice
|
||||
execute_process (COMMAND xcrun --find cc OUTPUT_VARIABLE XCODE_CC OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process (COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
set (ENV{CC} "${XCODE_CC}")
|
||||
set (ENV{CXX} "${XCODE_CXX}")
|
||||
|
||||
set (BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF")
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
set (NEED_REPOSITORY_CHECKOUT 0)
|
||||
set (CTEST_CMAKE_COMMAND "\"${CMAKE_COMMAND}\"")
|
||||
if (CTEST_USE_TAR_SOURCE)
|
||||
## Uncompress source if tar file provided
|
||||
## --------------------------
|
||||
if (WIN32)
|
||||
message (STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} x ${CTEST_DASHBOARD_ROOT}\\${CTEST_USE_TAR_SOURCE}.zip]")
|
||||
execute_process (COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}\\${CTEST_USE_TAR_SOURCE}.zip RESULT_VARIABLE rv)
|
||||
else ()
|
||||
message (STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE}.tar]")
|
||||
execute_process (COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE}.tar RESULT_VARIABLE rv)
|
||||
endif ()
|
||||
|
||||
if (NOT rv EQUAL 0)
|
||||
message (STATUS "extracting... [error-(${rv}) clean up]")
|
||||
file (REMOVE_RECURSE "${CTEST_SOURCE_DIRECTORY}")
|
||||
message (FATAL_ERROR "error: extract of ${CTEST_USE_TAR_SOURCE} failed")
|
||||
endif ()
|
||||
|
||||
file (RENAME ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE} ${CTEST_SOURCE_DIRECTORY})
|
||||
set (LOCAL_SKIP_UPDATE "TRUE")
|
||||
else ()
|
||||
if (LOCAL_UPDATE)
|
||||
if (CTEST_USE_GIT_SOURCE)
|
||||
find_program (CTEST_GIT_COMMAND NAMES git git.cmd)
|
||||
set (CTEST_GIT_UPDATE_OPTIONS)
|
||||
|
||||
if (NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
|
||||
set (NEED_REPOSITORY_CHECKOUT 1)
|
||||
endif ()
|
||||
|
||||
if (${NEED_REPOSITORY_CHECKOUT})
|
||||
if (REPOSITORY_BRANCH)
|
||||
set (CTEST_GIT_options "clone \"${REPOSITORY_URL}\" --branch \"${REPOSITORY_BRANCH}\" --single-branch \"${CTEST_SOURCE_DIRECTORY}\" --recurse-submodules")
|
||||
else ()
|
||||
set (CTEST_GIT_options "clone \"${REPOSITORY_URL}\" \"${CTEST_SOURCE_DIRECTORY}\" --recurse-submodules")
|
||||
endif ()
|
||||
set (CTEST_CHECKOUT_COMMAND "${CTEST_GIT_COMMAND} ${CTEST_GIT_options}")
|
||||
else ()
|
||||
set (CTEST_GIT_options "pull")
|
||||
endif ()
|
||||
set (CTEST_UPDATE_COMMAND "${CTEST_GIT_COMMAND}")
|
||||
else ()
|
||||
## --------------------------
|
||||
## use subversion to get source
|
||||
#-----------------------------------------------------------------------------
|
||||
## cygwin does not handle the find_package() call
|
||||
## --------------------------
|
||||
set (CTEST_UPDATE_COMMAND "SVNCommand")
|
||||
if (NOT SITE_CYGWIN})
|
||||
find_package (Subversion)
|
||||
set (CTEST_SVN_COMMAND "${Subversion_SVN_EXECUTABLE}")
|
||||
set (CTEST_UPDATE_COMMAND "${Subversion_SVN_EXECUTABLE}")
|
||||
else ()
|
||||
set (CTEST_SVN_COMMAND "/usr/bin/svn")
|
||||
set (CTEST_UPDATE_COMMAND "/usr/bin/svn")
|
||||
endif ()
|
||||
|
||||
if (NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
|
||||
set (NEED_REPOSITORY_CHECKOUT 1)
|
||||
endif ()
|
||||
|
||||
if (NOT CTEST_REPO_VERSION)
|
||||
set (CTEST_REPO_VERSION "HEAD")
|
||||
endif ()
|
||||
if (${NEED_REPOSITORY_CHECKOUT})
|
||||
set (CTEST_CHECKOUT_COMMAND
|
||||
"\"${CTEST_SVN_COMMAND}\" co ${REPOSITORY_URL} \"${CTEST_SOURCE_DIRECTORY}\" -r ${CTEST_REPO_VERSION}")
|
||||
else ()
|
||||
if (CTEST_REPO_VERSION)
|
||||
set (CTEST_SVN_UPDATE_OPTIONS "-r ${CTEST_REPO_VERSION}")
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
## Clear the build directory
|
||||
## --------------------------
|
||||
set (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
|
||||
if (NOT EXISTS "${CTEST_BINARY_DIRECTORY}")
|
||||
file (MAKE_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
|
||||
else ()
|
||||
ctest_empty_binary_directory (${CTEST_BINARY_DIRECTORY})
|
||||
endif ()
|
||||
|
||||
# Use multiple CPU cores to build
|
||||
include (ProcessorCount)
|
||||
ProcessorCount (N)
|
||||
if (NOT N EQUAL 0)
|
||||
if (MAX_PROC_COUNT)
|
||||
if (N GREATER MAX_PROC_COUNT)
|
||||
set (N ${MAX_PROC_COUNT})
|
||||
endif ()
|
||||
endif ()
|
||||
if (NOT WIN32)
|
||||
set (CTEST_BUILD_FLAGS -j${N})
|
||||
endif ()
|
||||
set (ctest_test_args ${ctest_test_args} PARALLEL_LEVEL ${N})
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Send the main script as a note.
|
||||
list (APPEND CTEST_NOTES_FILES
|
||||
"${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}"
|
||||
"${CMAKE_CURRENT_LIST_FILE}"
|
||||
"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake"
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check for required variables.
|
||||
# --------------------------
|
||||
foreach (req
|
||||
CTEST_CMAKE_GENERATOR
|
||||
CTEST_SITE
|
||||
CTEST_BUILD_NAME
|
||||
)
|
||||
if (NOT DEFINED ${req})
|
||||
message (FATAL_ERROR "The containing script must set ${req}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Initialize the CTEST commands
|
||||
#------------------------------
|
||||
if (CMAKE_GENERATOR_TOOLSET)
|
||||
set (CTEST_CONFIGURE_TOOLSET "-T${CMAKE_GENERATOR_TOOLSET}")
|
||||
else ()
|
||||
set (CTEST_CONFIGURE_TOOLSET "")
|
||||
endif()
|
||||
if (LOCAL_MEMCHECK_TEST)
|
||||
find_program (CTEST_MEMORYCHECK_COMMAND NAMES valgrind)
|
||||
set (CTEST_CONFIGURE_COMMAND
|
||||
"${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/mccacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_CONFIGURE_TOOLSET}\" \"${CTEST_SOURCE_DIRECTORY}\""
|
||||
)
|
||||
else ()
|
||||
if (LOCAL_COVERAGE_TEST)
|
||||
find_program (CTEST_COVERAGE_COMMAND NAMES gcov)
|
||||
endif ()
|
||||
set (CTEST_CONFIGURE_COMMAND
|
||||
"${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_CONFIGURE_TOOLSET}\" \"${CTEST_SOURCE_DIRECTORY}\""
|
||||
)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
## -- set output to english
|
||||
set ($ENV{LC_MESSAGES} "en_EN")
|
||||
|
||||
# Print summary information.
|
||||
foreach (v
|
||||
CTEST_SITE
|
||||
CTEST_BUILD_NAME
|
||||
CTEST_SOURCE_DIRECTORY
|
||||
CTEST_BINARY_DIRECTORY
|
||||
CTEST_CMAKE_GENERATOR
|
||||
CTEST_CONFIGURATION_TYPE
|
||||
CTEST_GIT_COMMAND
|
||||
CTEST_CHECKOUT_COMMAND
|
||||
CTEST_CONFIGURE_COMMAND
|
||||
CTEST_SCRIPT_DIRECTORY
|
||||
CTEST_USE_LAUNCHERS
|
||||
)
|
||||
set (vars "${vars} ${v}=[${${v}}]\n")
|
||||
endforeach ()
|
||||
message (STATUS "Dashboard script configuration:\n${vars}\n")
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
#-----------------------------------------------------------------------------
|
||||
## NORMAL process
|
||||
## -- LOCAL_UPDATE updates the source folder from svn
|
||||
## -- LOCAL_SUBMIT reports to CDash server
|
||||
## -- LOCAL_SKIP_TEST skips the test process (only builds)
|
||||
## -- LOCAL_MEMCHECK_TEST executes the Valgrind testing
|
||||
## -- LOCAL_COVERAGE_TEST executes code coverage process
|
||||
## --------------------------
|
||||
ctest_start (${MODEL} TRACK ${MODEL})
|
||||
if (LOCAL_UPDATE)
|
||||
ctest_update (SOURCE "${CTEST_SOURCE_DIRECTORY}")
|
||||
endif ()
|
||||
configure_file (${CTEST_SOURCE_DIRECTORY}/config/cmake/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake)
|
||||
ctest_read_custom_files ("${CTEST_BINARY_DIRECTORY}")
|
||||
ctest_configure (BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS Update Configure Notes)
|
||||
endif ()
|
||||
if (${res} LESS 0 OR ${res} GREATER 0)
|
||||
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed Configure: ${res}\n")
|
||||
endif ()
|
||||
|
||||
# On Cray XC40, configuring fails in the Fortran section when using the craype-mic-knl module.
|
||||
# When the configure phase is done with the craype-haswell module and the build phase is done
|
||||
# with the craype-mic-knl module, configure succeeds and tests pass on the knl compute nodes
|
||||
# for Intel, Cray, GCC and Clang compilers. If the variables aren't set or if not
|
||||
# cross compiling, the module switch will not occur.
|
||||
if (CMAKE_CROSSCOMPILING AND COMPILENODE_HWCOMPILE_MODULE AND COMPUTENODE_HWCOMPILE_MODULE)
|
||||
execute_process (COMMAND module switch ${COMPILENODE_HWCOMPILE_MODULE} ${COMPUTENODE_HWCOMPILE_MODULE})
|
||||
endif ()
|
||||
|
||||
ctest_build (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND RETURN_VALUE res NUMBER_ERRORS errval)
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS Build)
|
||||
endif ()
|
||||
if (${res} LESS 0 OR ${res} GREATER 0 OR ${errval} GREATER 0)
|
||||
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed ${errval} Build: ${res}\n")
|
||||
endif ()
|
||||
|
||||
if (NOT LOCAL_SKIP_TEST)
|
||||
if (NOT LOCAL_MEMCHECK_TEST)
|
||||
if (NOT LOCAL_BATCH_TEST)
|
||||
ctest_test (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args} RETURN_VALUE res)
|
||||
else ()
|
||||
file(STRINGS ${CTEST_BINARY_DIRECTORY}/Testing/TAG TAG_CONTENTS REGEX "^2([0-9]+)[-]([0-9]+)$")
|
||||
if (LOCAL_BATCH_SCRIPT_COMMAND STREQUAL "raybsub")
|
||||
execute_process (COMMAND ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_COMMAND} ${LOCAL_BATCH_SCRIPT_ARGS} ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_NAME})
|
||||
else ()
|
||||
execute_process (COMMAND ${LOCAL_BATCH_SCRIPT_COMMAND} ${LOCAL_BATCH_SCRIPT_ARGS} ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_NAME})
|
||||
endif ()
|
||||
message(STATUS "Check for existence of ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml")
|
||||
execute_process(COMMAND ls ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml RESULT_VARIABLE result OUTPUT_QUIET ERROR_QUIET)
|
||||
while(result)
|
||||
ctest_sleep(60)
|
||||
execute_process(COMMAND ls ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml RESULT_VARIABLE result OUTPUT_QUIET ERROR_QUIET)
|
||||
endwhile(result)
|
||||
if (LOCAL_BATCH_SCRIPT_PARALLEL_NAME)
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS Test)
|
||||
endif ()
|
||||
message(STATUS "Found ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml for serial tests. Renaming to SerialTest.xml")
|
||||
file (RENAME ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/SerialTest.xml)
|
||||
file (RENAME ${CTEST_BINARY_DIRECTORY}/Testing/Temporary/LastTest_${TAG_CONTENTS}.log ${CTEST_BINARY_DIRECTORY}/Testing/Temporary/LastTest_${TAG_CONTENTS}_Serial.log)
|
||||
unset(result CACHE)
|
||||
if (LOCAL_BATCH_SCRIPT_COMMAND STREQUAL "raybsub")
|
||||
execute_process (COMMAND ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_COMMAND} ${LOCAL_BATCH_SCRIPT_ARGS} ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_PARALLEL_NAME})
|
||||
else ()
|
||||
execute_process (COMMAND ${LOCAL_BATCH_SCRIPT_COMMAND} ${LOCAL_BATCH_SCRIPT_ARGS} ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_PARALLEL_NAME})
|
||||
endif ()
|
||||
message(STATUS "Check for existence of ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml")
|
||||
execute_process(COMMAND ls ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml RESULT_VARIABLE result OUTPUT_QUIET ERROR_QUIET)
|
||||
while(result)
|
||||
ctest_sleep(60)
|
||||
execute_process(COMMAND ls ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml RESULT_VARIABLE result OUTPUT_QUIET ERROR_QUIET)
|
||||
endwhile(result)
|
||||
message(STATUS "Found ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml for parallel tests.")
|
||||
endif()
|
||||
endif ()
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS Test)
|
||||
endif ()
|
||||
if (${res} LESS 0 OR ${res} GREATER 0)
|
||||
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed Tests: ${res}\n")
|
||||
endif ()
|
||||
else ()
|
||||
ctest_memcheck (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args})
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS MemCheck)
|
||||
endif ()
|
||||
endif ()
|
||||
if (LOCAL_COVERAGE_TEST)
|
||||
ctest_coverage (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS Coverage)
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (NOT LOCAL_MEMCHECK_TEST AND NOT LOCAL_NO_PACKAGE AND NOT LOCAL_SKIP_BUILD)
|
||||
##-----------------------------------------------
|
||||
## Package the product
|
||||
##-----------------------------------------------
|
||||
execute_process (COMMAND cpack -C ${CTEST_CONFIGURATION_TYPE} -V
|
||||
WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY}
|
||||
RESULT_VARIABLE cpackResult
|
||||
OUTPUT_VARIABLE cpackLog
|
||||
ERROR_VARIABLE cpackLog.err
|
||||
)
|
||||
file (WRITE ${CTEST_BINARY_DIRECTORY}/cpack.log "${cpackLog.err}" "${cpackLog}")
|
||||
if (cpackResult GREATER 0)
|
||||
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed packaging: ${cpackResult}:${cpackLog.err} \n")
|
||||
endif ()
|
||||
endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
467
config/cmake/scripts/HDF5config.cmake
Executable file → Normal file
467
config/cmake/scripts/HDF5config.cmake
Executable file → Normal file
@@ -9,232 +9,251 @@
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
#############################################################################################
|
||||
### ${CTEST_SCRIPT_ARG} is of the form OPTION=VALUE ###
|
||||
### BUILD_GENERATOR required [Unix, VS2017, VS201764, VS2015, VS201564, VS2013, VS201364] ###
|
||||
### ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201764 -C Release -VV -O hdf5.log ###
|
||||
#############################################################################################
|
||||
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
############################################################################
|
||||
# Usage:
|
||||
# ctest -S HDF5config.cmake,OPTION=VALUE -C Release -VV -O test.log
|
||||
# where valid options for OPTION are:
|
||||
# BUILD_GENERATOR - The cmake build generator:
|
||||
# Unix * Unix Makefiles
|
||||
#############################################################################################
|
||||
### ${CTEST_SCRIPT_ARG} is of the form OPTION=VALUE ###
|
||||
### BUILD_GENERATOR required [Unix, VS2017, VS201764, VS2015, VS201564, VS2013, VS201364] ###
|
||||
### ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201764 -C Release -VV -O hdf5.log ###
|
||||
#############################################################################################
|
||||
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
############################################################################
|
||||
# Usage:
|
||||
# ctest -S HDF5config.cmake,OPTION=VALUE -C Release -VV -O test.log
|
||||
# where valid options for OPTION are:
|
||||
# BUILD_GENERATOR - The cmake build generator:
|
||||
# Unix * Unix Makefiles
|
||||
# VS2017 * Visual Studio 15 2017
|
||||
# VS201764 * Visual Studio 15 2017 Win64
|
||||
# VS2015 * Visual Studio 14 2015
|
||||
# VS201564 * Visual Studio 14 2015 Win64
|
||||
# VS2013 * Visual Studio 12 2013
|
||||
# VS201364 * Visual Studio 12 2013 Win64
|
||||
#
|
||||
# INSTALLDIR - root folder where hdf5 is installed
|
||||
# CTEST_CONFIGURATION_TYPE - Release, Debug, etc
|
||||
# CTEST_SOURCE_NAME - source folder
|
||||
##############################################################################
|
||||
|
||||
set (CTEST_SOURCE_VERSION "1.11.2")
|
||||
set (CTEST_SOURCE_VERSEXT "")
|
||||
|
||||
##############################################################################
|
||||
# handle input parameters to script.
|
||||
#BUILD_GENERATOR - which CMake generator to use, required
|
||||
#INSTALLDIR - HDF5-1.10.0 root folder
|
||||
#CTEST_CONFIGURATION_TYPE - Release, Debug, RelWithDebInfo
|
||||
#CTEST_SOURCE_NAME - name of source folder; HDF5-1.10.0
|
||||
if (DEFINED CTEST_SCRIPT_ARG)
|
||||
# transform ctest script arguments of the form
|
||||
# script.ctest,var1=value1,var2=value2
|
||||
# to variables with the respective names set to the respective values
|
||||
string (REPLACE "," ";" script_args "${CTEST_SCRIPT_ARG}")
|
||||
foreach (current_var ${script_args})
|
||||
if ("${current_var}" MATCHES "^([^=]+)=(.+)$")
|
||||
set ("${CMAKE_MATCH_1}" "${CMAKE_MATCH_2}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
# build generator must be defined
|
||||
if (NOT DEFINED BUILD_GENERATOR)
|
||||
message (FATAL_ERROR "BUILD_GENERATOR must be defined - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364")
|
||||
endif ()
|
||||
|
||||
###################################################################
|
||||
### Following Line is one of [Release, RelWithDebInfo, Debug] #####
|
||||
# VS2015 * Visual Studio 14 2015
|
||||
# VS201564 * Visual Studio 14 2015 Win64
|
||||
# VS2013 * Visual Studio 12 2013
|
||||
# VS201364 * Visual Studio 12 2013 Win64
|
||||
#
|
||||
# INSTALLDIR - root folder where hdf5 is installed
|
||||
# CTEST_CONFIGURATION_TYPE - Release, Debug, etc
|
||||
# CTEST_SOURCE_NAME - source folder
|
||||
##############################################################################
|
||||
|
||||
set (CTEST_SOURCE_VERSION "1.11.4")
|
||||
set (CTEST_SOURCE_VERSEXT "")
|
||||
|
||||
##############################################################################
|
||||
# handle input parameters to script.
|
||||
#BUILD_GENERATOR - which CMake generator to use, required
|
||||
#INSTALLDIR - HDF5-1.10.0 root folder
|
||||
#CTEST_CONFIGURATION_TYPE - Release, Debug, RelWithDebInfo
|
||||
#CTEST_SOURCE_NAME - name of source folder; HDF5-1.10.0
|
||||
#MODEL - CDash group name
|
||||
#HPC - run alternate configurations for HPC machines; sbatch, bsub, raybsub
|
||||
#MPI - enable MPI;
|
||||
if (DEFINED CTEST_SCRIPT_ARG)
|
||||
# transform ctest script arguments of the form
|
||||
# script.ctest,var1=value1,var2=value2
|
||||
# to variables with the respective names set to the respective values
|
||||
string (REPLACE "," ";" script_args "${CTEST_SCRIPT_ARG}")
|
||||
foreach (current_var ${script_args})
|
||||
if ("${current_var}" MATCHES "^([^=]+)=(.+)$")
|
||||
set ("${CMAKE_MATCH_1}" "${CMAKE_MATCH_2}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
#HPC - run alternate configurations for HPC machines
|
||||
if (DEFINED HPC)
|
||||
set (BUILD_GENERATOR "Unix")
|
||||
endif ()
|
||||
|
||||
# build generator must be defined
|
||||
if (NOT DEFINED BUILD_GENERATOR)
|
||||
message (FATAL_ERROR "BUILD_GENERATOR must be defined - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364")
|
||||
endif ()
|
||||
|
||||
###################################################################
|
||||
### Following Line is one of [Release, RelWithDebInfo, Debug] #####
|
||||
### (default use command line -C value)
|
||||
set (CTEST_CONFIGURATION_TYPE "$ENV{CMAKE_CONFIG_TYPE}")
|
||||
###################################################################
|
||||
|
||||
if (NOT DEFINED INSTALLDIR)
|
||||
if (WIN32)
|
||||
set (INSTALLDIR "C:/Program Files/HDF_Group/HDF5/${CTEST_SOURCE_VERSION}")
|
||||
else ()
|
||||
set (INSTALLDIR "${CTEST_SCRIPT_DIRECTORY}/HDF_Group/HDF5/${CTEST_SOURCE_VERSION}")
|
||||
endif ()
|
||||
endif ()
|
||||
if (NOT DEFINED CTEST_CONFIGURATION_TYPE)
|
||||
set (CTEST_CONFIGURATION_TYPE "Release")
|
||||
endif ()
|
||||
if (NOT DEFINED CTEST_SOURCE_NAME)
|
||||
set (CTEST_SOURCE_NAME "hdf5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}")
|
||||
endif ()
|
||||
|
||||
set (CTEST_BINARY_NAME "build")
|
||||
set (CTEST_DASHBOARD_ROOT "${CTEST_SCRIPT_DIRECTORY}")
|
||||
if (WIN32)
|
||||
set (CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_SOURCE_NAME}")
|
||||
set (CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}")
|
||||
else ()
|
||||
set (CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}")
|
||||
set (CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}")
|
||||
endif ()
|
||||
|
||||
###################################################################
|
||||
######### Following describes compiler ############
|
||||
if (WIN32)
|
||||
set (SITE_OS_NAME "Windows")
|
||||
set (SITE_OS_VERSION "WIN7")
|
||||
if (${BUILD_GENERATOR} STREQUAL "VS201764")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 15 2017 Win64")
|
||||
set (SITE_OS_BITS "64")
|
||||
set (SITE_COMPILER_NAME "vs2017")
|
||||
set (SITE_COMPILER_VERSION "15")
|
||||
elseif (${BUILD_GENERATOR} STREQUAL "VS2017")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 15 2017")
|
||||
set (SITE_OS_BITS "32")
|
||||
set (SITE_COMPILER_NAME "vs2017")
|
||||
set (SITE_COMPILER_VERSION "15")
|
||||
elseif (${BUILD_GENERATOR} STREQUAL "VS201564")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015 Win64")
|
||||
set (SITE_OS_BITS "64")
|
||||
set (SITE_COMPILER_NAME "vs2015")
|
||||
set (SITE_COMPILER_VERSION "14")
|
||||
elseif (${BUILD_GENERATOR} STREQUAL "VS2015")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015")
|
||||
set (SITE_OS_BITS "32")
|
||||
set (SITE_COMPILER_NAME "vs2015")
|
||||
set (SITE_COMPILER_VERSION "14")
|
||||
elseif (${BUILD_GENERATOR} STREQUAL "VS201364")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013 Win64")
|
||||
set (SITE_OS_BITS "64")
|
||||
set (SITE_COMPILER_NAME "vs2013")
|
||||
set (SITE_COMPILER_VERSION "12")
|
||||
elseif (${BUILD_GENERATOR} STREQUAL "VS2013")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013")
|
||||
set (SITE_OS_BITS "32")
|
||||
set (SITE_COMPILER_NAME "vs2013")
|
||||
set (SITE_COMPILER_VERSION "12")
|
||||
elseif (${BUILD_GENERATOR} STREQUAL "VS201264")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012 Win64")
|
||||
set (SITE_OS_BITS "64")
|
||||
set (SITE_COMPILER_NAME "vs2012")
|
||||
set (SITE_COMPILER_VERSION "11")
|
||||
elseif (${BUILD_GENERATOR} STREQUAL "VS2012")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012")
|
||||
set (SITE_OS_BITS "32")
|
||||
set (SITE_COMPILER_NAME "vs2012")
|
||||
set (SITE_COMPILER_VERSION "11")
|
||||
set (CTEST_CONFIGURATION_TYPE "$ENV{CMAKE_CONFIG_TYPE}")
|
||||
###################################################################
|
||||
|
||||
if (NOT DEFINED INSTALLDIR)
|
||||
if (WIN32)
|
||||
set (INSTALLDIR "C:/Program Files/HDF_Group/HDF5/${CTEST_SOURCE_VERSION}")
|
||||
else ()
|
||||
message (FATAL_ERROR "Invalid BUILD_GENERATOR must be - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364")
|
||||
set (INSTALLDIR "${CTEST_SCRIPT_DIRECTORY}/HDF_Group/HDF5/${CTEST_SOURCE_VERSION}")
|
||||
endif ()
|
||||
## Set the following to unique id your computer ##
|
||||
set (CTEST_SITE "WIN7${BUILD_GENERATOR}.XXXX")
|
||||
else ()
|
||||
set (CTEST_CMAKE_GENERATOR "Unix Makefiles")
|
||||
## Set the following to unique id your computer ##
|
||||
if (APPLE)
|
||||
set (CTEST_SITE "MAC.XXXX")
|
||||
else ()
|
||||
set (CTEST_SITE "LINUX.XXXX")
|
||||
endif ()
|
||||
if (APPLE)
|
||||
execute_process (COMMAND xcrun --find cc OUTPUT_VARIABLE XCODE_CC OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process (COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
set (ENV{CC} "${XCODE_CC}")
|
||||
set (ENV{CXX} "${XCODE_CXX}")
|
||||
set (CTEST_USE_LAUNCHERS 1)
|
||||
set (RR_WARNINGS_COMMON "-Wno-format-nonliteral -Wno-cast-align -Wno-unused -Wno-unused-variable -Wno-unused-function -Wno-self-assign -Wno-unused-parameter -Wno-sign-compare")
|
||||
set (RR_WARNINGS_C "${RR_WARNINGS_COMMON} -Wno-deprecated-declarations -Wno-uninitialized")
|
||||
set (RR_WARNINGS_CXX "${RR_WARNINGS_COMMON} -Woverloaded-virtual -Wshadow -Wwrite-strings -Wc++11-compat")
|
||||
set (RR_FLAGS_COMMON "-g -O0 -fstack-protector-all -D_FORTIFY_SOURCE=2")
|
||||
set (RR_FLAGS_C "${RR_FLAGS_COMMON}")
|
||||
set (RR_FLAGS_CXX "${RR_FLAGS_COMMON}")
|
||||
set (ENV{CFLAGS} "${RR_WARNINGS_C} ${RR_FLAGS_C}")
|
||||
set (ENV{CXXFLAGS} "${RR_WARNINGS_CXX} ${RR_FLAGS_CXX}")
|
||||
endif ()
|
||||
endif ()
|
||||
###################################################################
|
||||
|
||||
###################################################################
|
||||
######### Following is for submission to CDash ############
|
||||
###################################################################
|
||||
set (MODEL "Experimental")
|
||||
###################################################################
|
||||
|
||||
###################################################################
|
||||
##### Following controls CDash submission #####
|
||||
#set (LOCAL_SUBMIT "TRUE")
|
||||
##### Following controls test process #####
|
||||
#set (LOCAL_SKIP_TEST "TRUE")
|
||||
#set (LOCAL_MEMCHECK_TEST "TRUE")
|
||||
#set (LOCAL_COVERAGE_TEST "TRUE")
|
||||
##### Following controls cpack command #####
|
||||
#set (LOCAL_NO_PACKAGE "TRUE")
|
||||
##### Following controls source update #####
|
||||
#set (LOCAL_UPDATE "TRUE")
|
||||
set (REPOSITORY_URL "https://git@bitbucket.hdfgroup.org/scm/hdffv/hdf5.git")
|
||||
set (REPOSITORY_BRANCH "develop")
|
||||
|
||||
#uncomment to use a compressed source file: *.tar on linux or mac *.zip on windows
|
||||
#set(CTEST_USE_TAR_SOURCE "${CTEST_SOURCE_VERSION}")
|
||||
###################################################################
|
||||
|
||||
|
||||
###################################################################
|
||||
|
||||
if (WIN32)
|
||||
set (BINFILEBASE "HDF5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}-win${SITE_OS_BITS}")
|
||||
include (${CTEST_SCRIPT_DIRECTORY}\\HDF5options.cmake)
|
||||
include (${CTEST_SCRIPT_DIRECTORY}\\CTestScript.cmake)
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.exe")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.exe" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.msi")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.msi" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.zip")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.zip" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
else ()
|
||||
set (BINFILEBASE "HDF5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}")
|
||||
include (${CTEST_SCRIPT_DIRECTORY}/HDF5options.cmake)
|
||||
include (${CTEST_SCRIPT_DIRECTORY}/CTestScript.cmake)
|
||||
if (APPLE)
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.dmg")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.dmg" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.tar.gz")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.sh")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
else ()
|
||||
if (CYGWIN)
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.sh")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.tar.gz")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
else ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.sh")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.tar.gz")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
if (NOT DEFINED CTEST_CONFIGURATION_TYPE)
|
||||
set (CTEST_CONFIGURATION_TYPE "Release")
|
||||
endif ()
|
||||
if (NOT DEFINED CTEST_SOURCE_NAME)
|
||||
set (CTEST_SOURCE_NAME "hdf5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}")
|
||||
endif ()
|
||||
|
||||
set (CTEST_BINARY_NAME "build")
|
||||
set (CTEST_DASHBOARD_ROOT "${CTEST_SCRIPT_DIRECTORY}")
|
||||
if (WIN32)
|
||||
set (CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_SOURCE_NAME}")
|
||||
set (CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}")
|
||||
else ()
|
||||
set (CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}")
|
||||
set (CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}")
|
||||
endif ()
|
||||
|
||||
###################################################################
|
||||
######### Following describes compiler ############
|
||||
if (NOT DEFINED HPC)
|
||||
if (NOT DEFINED BUILD_GENERATOR)
|
||||
message (FATAL_ERROR "BUILD_GENERATOR must be defined - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364")
|
||||
endif ()
|
||||
if (WIN32)
|
||||
set (SITE_OS_NAME "Windows")
|
||||
set (SITE_OS_VERSION "WIN7")
|
||||
if (BUILD_GENERATOR STREQUAL "VS201764")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 15 2017 Win64")
|
||||
set (SITE_OS_BITS "64")
|
||||
set (SITE_COMPILER_NAME "vs2017")
|
||||
set (SITE_COMPILER_VERSION "15")
|
||||
elseif (BUILD_GENERATOR STREQUAL "VS2017")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 15 2017")
|
||||
set (SITE_OS_BITS "32")
|
||||
set (SITE_COMPILER_NAME "vs2017")
|
||||
set (SITE_COMPILER_VERSION "15")
|
||||
elseif (BUILD_GENERATOR STREQUAL "VS201564")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015 Win64")
|
||||
set (SITE_OS_BITS "64")
|
||||
set (SITE_COMPILER_NAME "vs2015")
|
||||
set (SITE_COMPILER_VERSION "14")
|
||||
elseif (BUILD_GENERATOR STREQUAL "VS2015")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015")
|
||||
set (SITE_OS_BITS "32")
|
||||
set (SITE_COMPILER_NAME "vs2015")
|
||||
set (SITE_COMPILER_VERSION "14")
|
||||
elseif (BUILD_GENERATOR STREQUAL "VS201364")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013 Win64")
|
||||
set (SITE_OS_BITS "64")
|
||||
set (SITE_COMPILER_NAME "vs2013")
|
||||
set (SITE_COMPILER_VERSION "12")
|
||||
elseif (BUILD_GENERATOR STREQUAL "VS2013")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013")
|
||||
set (SITE_OS_BITS "32")
|
||||
set (SITE_COMPILER_NAME "vs2013")
|
||||
set (SITE_COMPILER_VERSION "12")
|
||||
elseif (BUILD_GENERATOR STREQUAL "VS201264")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012 Win64")
|
||||
set (SITE_OS_BITS "64")
|
||||
set (SITE_COMPILER_NAME "vs2012")
|
||||
set (SITE_COMPILER_VERSION "11")
|
||||
elseif (BUILD_GENERATOR STREQUAL "VS2012")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012")
|
||||
set (SITE_OS_BITS "32")
|
||||
set (SITE_COMPILER_NAME "vs2012")
|
||||
set (SITE_COMPILER_VERSION "11")
|
||||
else ()
|
||||
message (FATAL_ERROR "Invalid BUILD_GENERATOR must be - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364")
|
||||
endif ()
|
||||
## Set the following to unique id your computer ##
|
||||
set (CTEST_SITE "WIN7${BUILD_GENERATOR}.XXXX")
|
||||
else ()
|
||||
set (CTEST_CMAKE_GENERATOR "Unix Makefiles")
|
||||
## Set the following to unique id your computer ##
|
||||
if (APPLE)
|
||||
set (CTEST_SITE "MAC.XXXX")
|
||||
else ()
|
||||
set (CTEST_SITE "LINUX.XXXX")
|
||||
endif ()
|
||||
if (APPLE)
|
||||
execute_process (COMMAND xcrun --find cc OUTPUT_VARIABLE XCODE_CC OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process (COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
set (ENV{CC} "${XCODE_CC}")
|
||||
set (ENV{CXX} "${XCODE_CXX}")
|
||||
set (CTEST_USE_LAUNCHERS 1)
|
||||
set (RR_WARNINGS_COMMON "-Wno-format-nonliteral -Wno-cast-align -Wno-unused -Wno-unused-variable -Wno-unused-function -Wno-self-assign -Wno-unused-parameter -Wno-sign-compare")
|
||||
set (RR_WARNINGS_C "${RR_WARNINGS_COMMON} -Wno-deprecated-declarations -Wno-uninitialized")
|
||||
set (RR_WARNINGS_CXX "${RR_WARNINGS_COMMON} -Woverloaded-virtual -Wshadow -Wwrite-strings -Wc++11-compat")
|
||||
set (RR_FLAGS_COMMON "-g -O0 -fstack-protector-all -D_FORTIFY_SOURCE=2")
|
||||
set (RR_FLAGS_C "${RR_FLAGS_COMMON}")
|
||||
set (RR_FLAGS_CXX "${RR_FLAGS_COMMON}")
|
||||
set (ENV{CFLAGS} "${RR_WARNINGS_C} ${RR_FLAGS_C}")
|
||||
set (ENV{CXXFLAGS} "${RR_WARNINGS_CXX} ${RR_FLAGS_CXX}")
|
||||
endif ()
|
||||
endif ()
|
||||
else ()
|
||||
set (CTEST_CMAKE_GENERATOR "Unix Makefiles")
|
||||
include (${CTEST_SOURCE_DIRECTORY}/config/cmake/scripts/HPC/${HPC}-HDF5options.cmake)
|
||||
endif ()
|
||||
###################################################################
|
||||
|
||||
###################################################################
|
||||
######### Following is for submission to CDash ############
|
||||
###################################################################
|
||||
if (NOT DEFINED MODEL)
|
||||
set (MODEL "Experimental")
|
||||
endif ()
|
||||
|
||||
###################################################################
|
||||
|
||||
###################################################################
|
||||
##### Following controls CDash submission #####
|
||||
#set (LOCAL_SUBMIT "TRUE")
|
||||
##### Following controls test process #####
|
||||
#set (LOCAL_SKIP_TEST "TRUE")
|
||||
#set (LOCAL_MEMCHECK_TEST "TRUE")
|
||||
#set (LOCAL_COVERAGE_TEST "TRUE")
|
||||
##### Following controls cpack command #####
|
||||
#set (LOCAL_NO_PACKAGE "TRUE")
|
||||
##### Following controls source update #####
|
||||
#set (LOCAL_UPDATE "TRUE")
|
||||
set (REPOSITORY_URL "https://git@bitbucket.hdfgroup.org/scm/hdffv/hdf5.git")
|
||||
set (REPOSITORY_BRANCH "develop")
|
||||
|
||||
#uncomment to use a compressed source file: *.tar on linux or mac *.zip on windows
|
||||
#set(CTEST_USE_TAR_SOURCE "${CTEST_SOURCE_VERSION}")
|
||||
###################################################################
|
||||
|
||||
|
||||
###################################################################
|
||||
|
||||
if (WIN32)
|
||||
set (BINFILEBASE "HDF5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}-win${SITE_OS_BITS}")
|
||||
include (${CTEST_SCRIPT_DIRECTORY}\\HDF5options.cmake)
|
||||
include (${CTEST_SCRIPT_DIRECTORY}\\CTestScript.cmake)
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.exe")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.exe" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.msi")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.msi" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.zip")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.zip" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
else ()
|
||||
set (BINFILEBASE "HDF5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}")
|
||||
include (${CTEST_SCRIPT_DIRECTORY}/HDF5options.cmake)
|
||||
include (${CTEST_SCRIPT_DIRECTORY}/CTestScript.cmake)
|
||||
if (APPLE)
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.dmg")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.dmg" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.tar.gz")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.sh")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
else ()
|
||||
if (CYGWIN)
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.sh")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.tar.gz")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
else ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.sh")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.tar.gz")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
60
config/cmake/scripts/HDF5options.cmake
Executable file → Normal file
60
config/cmake/scripts/HDF5options.cmake
Executable file → Normal file
@@ -16,9 +16,13 @@
|
||||
|
||||
### uncomment/comment and change the following lines for other configuration options
|
||||
|
||||
#############################################################################################
|
||||
#### maximum parallel processor count for build and test ####
|
||||
#set (MAX_PROC_COUNT 8)
|
||||
|
||||
#############################################################################################
|
||||
#### alternate toolsets ####
|
||||
#set(CMAKE_GENERATOR_TOOLSET "Intel C++ Compiler 17.0")
|
||||
#set (CMAKE_GENERATOR_TOOLSET "Intel C++ Compiler 17.0")
|
||||
|
||||
#############################################################################################
|
||||
#### Only build static libraries ####
|
||||
@@ -29,12 +33,8 @@
|
||||
#############################################################################################
|
||||
#### fortran enabled ####
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=ON")
|
||||
### enable Fortran 2003 depends on HDF5_BUILD_FORTRAN
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_F2003:BOOL=ON")
|
||||
#### fortran disabled ####
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
|
||||
### enable Fortran 2003 depends on HDF5_BUILD_FORTRAN
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_F2003:BOOL=OFF")
|
||||
|
||||
#############################################################################################
|
||||
#### java enabled ####
|
||||
@@ -50,29 +50,55 @@ set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_INSTALL_PREFIX:PATH=${INSTA
|
||||
#### ext libraries ####
|
||||
|
||||
### ext libs from tgz
|
||||
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=TGZ -DTGZPATH:PATH=${CTEST_SCRIPT_DIRECTORY}")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=TGZ -DTGZPATH:PATH=${CTEST_SCRIPT_DIRECTORY}")
|
||||
### ext libs from git
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=GIT")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=GIT")
|
||||
### ext libs on system
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DZLIB_LIBRARY:FILEPATH=some_location/lib/zlib.lib -DZLIB_INCLUDE_DIR:PATH=some_location/include")
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSZIP_LIBRARY:FILEPATH=some_location/lib/szlib.lib -DSZIP_INCLUDE_DIR:PATH=some_location/include")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=NO")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DZLIB_LIBRARY:FILEPATH=some_location/lib/zlib.lib -DZLIB_INCLUDE_DIR:PATH=some_location/include")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSZIP_LIBRARY:FILEPATH=some_location/lib/szlib.lib -DSZIP_INCLUDE_DIR:PATH=some_location/include")
|
||||
|
||||
### disable ext zlib building
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF")
|
||||
### disable ext szip building
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF")
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF")
|
||||
### disable using ext zlib
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF")
|
||||
### disable using ext szip
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF")
|
||||
|
||||
#### package examples ####
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACK_EXAMPLES:BOOL=ON -DHDF5_EXAMPLES_COMPRESSED:STRING=HDF5Examples-1.12.4-Source.tar.gz -DHDF5_EXAMPLES_COMPRESSED_DIR:PATH=${CTEST_SCRIPT_DIRECTORY}")
|
||||
|
||||
#############################################################################################
|
||||
### enable parallel builds
|
||||
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_PARALLEL:BOOL=ON")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=OFF")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_JAVA:BOOL=OFF")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_THREADSAFE:BOOL=OFF")
|
||||
|
||||
#############################################################################################
|
||||
### enable thread-safety builds
|
||||
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_THREADSAFE:BOOL=ON")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_PARALLEL:BOOL=OFF")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=OFF")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_HL_LIB:BOOL=OFF")
|
||||
|
||||
#############################################################################################
|
||||
### disable test program builds
|
||||
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_TESTING:BOOL=OFF")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_TESTING:BOOL=OFF")
|
||||
|
||||
#############################################################################################
|
||||
### disable packaging
|
||||
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_NO_PACKAGES:BOOL=ON")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_NO_PACKAGES:BOOL=ON")
|
||||
### Create install package with external libraries (szip, zlib)
|
||||
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACKAGE_EXTLIBS:BOOL=ON")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACKAGE_EXTLIBS:BOOL=ON")
|
||||
|
||||
#############################################################################################
|
||||
### use a toolchain file
|
||||
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_TOOLCHAIN_FILE:STRING=config/toolchain/intel.cmake")
|
||||
|
||||
#############################################################################################
|
||||
|
||||
40
config/cmake/scripts/HPC/bsub-HDF5options.cmake
Normal file
40
config/cmake/scripts/HPC/bsub-HDF5options.cmake
Normal file
@@ -0,0 +1,40 @@
|
||||
#
|
||||
# Copyright by The HDF Group.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is part of HDF5. The full HDF5 copyright notice, including
|
||||
# terms governing use, modification, and redistribution, is contained in
|
||||
# the COPYING file, which can be found at the root of the source code
|
||||
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
#############################################################################################
|
||||
#### Change default configuration of options in config/cmake/cacheinit.cmake file ###
|
||||
#### format: set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DXXX:YY=ZZZZ") ###
|
||||
#############################################################################################
|
||||
|
||||
### uncomment/comment and change the following lines for other configuration options
|
||||
|
||||
#############################################################################################
|
||||
### enable parallel builds
|
||||
if (DEFINED MPI)
|
||||
# maximum parallel processor count for build and test ####
|
||||
set (MAX_PROC_COUNT 8)
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_PARALLEL:BOOL=ON")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=OFF")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_JAVA:BOOL=OFF")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_THREADSAFE:BOOL=OFF")
|
||||
endif ()
|
||||
#############################################################################################
|
||||
### options to run test scripts in batch commands
|
||||
set (LOCAL_BATCH_SCRIPT_COMMAND "bsub")
|
||||
set (LOCAL_BATCH_TEST "TRUE")
|
||||
set (LOCAL_BATCH_SCRIPT_NAME "ctestS.lsf")
|
||||
set (LOCAL_BATCH_SCRIPT_PARALLEL_NAME "ctestP.lsf")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_TEST:BOOL=ON")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_NAME:STRING=${LOCAL_BATCH_SCRIPT_NAME}")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_PARALLEL_NAME:STRING=${LOCAL_BATCH_SCRIPT_PARALLEL_NAME}")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_EXECUTABLE:STRING=srun")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_NUMPROC_FLAG:STRING=-n")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_MAX_NUMPROCS:STRING=6")
|
||||
41
config/cmake/scripts/HPC/raybsub-HDF5options.cmake
Normal file
41
config/cmake/scripts/HPC/raybsub-HDF5options.cmake
Normal file
@@ -0,0 +1,41 @@
|
||||
#
|
||||
# Copyright by The HDF Group.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is part of HDF5. The full HDF5 copyright notice, including
|
||||
# terms governing use, modification, and redistribution, is contained in
|
||||
# the COPYING file, which can be found at the root of the source code
|
||||
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
#############################################################################################
|
||||
#### Change default configuration of options in config/cmake/cacheinit.cmake file ###
|
||||
#### format: set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DXXX:YY=ZZZZ") ###
|
||||
#############################################################################################
|
||||
|
||||
### uncomment/comment and change the following lines for other configuration options
|
||||
|
||||
#############################################################################################
|
||||
### enable parallel builds
|
||||
if (DEFINED MPI)
|
||||
# maximum parallel processor count for build and test ####
|
||||
set (MAX_PROC_COUNT 8)
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_PARALLEL:BOOL=ON")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=OFF")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_JAVA:BOOL=OFF")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_THREADSAFE:BOOL=OFF")
|
||||
endif ()
|
||||
#############################################################################################
|
||||
### options to run test scripts in batch commands
|
||||
set (LOCAL_BATCH_SCRIPT_COMMAND "raybsub")
|
||||
set (LOCAL_BATCH_TEST "TRUE")
|
||||
set (LOCAL_BATCH_SCRIPT_NAME "ray_ctestS.lsf")
|
||||
set (LOCAL_BATCH_SCRIPT_PARALLEL_NAME "ray_ctestP.lsf")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_TEST:BOOL=ON")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_COMMAND:STRING=${LOCAL_BATCH_SCRIPT_COMMAND}")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_NAME:STRING=${LOCAL_BATCH_SCRIPT_NAME}")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_PARALLEL_NAME:STRING=${LOCAL_BATCH_SCRIPT_PARALLEL_NAME}")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_EXECUTABLE:STRING=mpirun")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_NUMPROC_FLAG:STRING=-np")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_MAX_NUMPROCS:STRING=6")
|
||||
52
config/cmake/scripts/HPC/sbatch-HDF5options.cmake
Normal file
52
config/cmake/scripts/HPC/sbatch-HDF5options.cmake
Normal file
@@ -0,0 +1,52 @@
|
||||
#
|
||||
# Copyright by The HDF Group.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is part of HDF5. The full HDF5 copyright notice, including
|
||||
# terms governing use, modification, and redistribution, is contained in
|
||||
# the COPYING file, which can be found at the root of the source code
|
||||
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
#############################################################################################
|
||||
#### Change default configuration of options in config/cmake/cacheinit.cmake file ###
|
||||
#### format: set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DXXX:YY=ZZZZ") ###
|
||||
#############################################################################################
|
||||
|
||||
### uncomment/comment and change the following lines for other configuration options
|
||||
|
||||
#############################################################################################
|
||||
### enable parallel builds
|
||||
if (DEFINED MPI)
|
||||
# maximum parallel processor count for build and test ####
|
||||
set (MAX_PROC_COUNT 8)
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_PARALLEL:BOOL=ON")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=OFF")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_JAVA:BOOL=OFF")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_THREADSAFE:BOOL=OFF")
|
||||
endif ()
|
||||
#############################################################################################
|
||||
### options to run test scripts in batch commands
|
||||
if (DEFINED KNL)
|
||||
### some additions and alternatives to cross compile on haswell for knl
|
||||
set (COMPILENODE_HWCOMPILE_MODULE "craype-haswell")
|
||||
set (COMPUTENODE_HWCOMPILE_MODULE "craype-mic-knl")
|
||||
set (LOCAL_BATCH_SCRIPT_NAME "knl_ctestS.sl")
|
||||
set (LOCAL_BATCH_SCRIPT_PARALLEL_NAME "knl_ctestP.sl")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_TOOLCHAIN_FILE:STRING=config/toolchain/crayle.cmake")
|
||||
else ()
|
||||
set (LOCAL_BATCH_SCRIPT_NAME "ctestS.sl")
|
||||
set (LOCAL_BATCH_SCRIPT_PARALLEL_NAME "ctestP.sl")
|
||||
endif ()
|
||||
set (LOCAL_BATCH_SCRIPT_COMMAND "sbatch")
|
||||
set (LOCAL_BATCH_TEST "TRUE")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_TEST:BOOL=ON")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_NAME:STRING=${LOCAL_BATCH_SCRIPT_NAME}")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_PARALLEL_NAME:STRING=${LOCAL_BATCH_SCRIPT_PARALLEL_NAME}")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_EXECUTABLE:STRING=srun")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_NUMPROC_FLAG:STRING=-n")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_MAX_NUMPROCS:STRING=6")
|
||||
|
||||
#############################################################################################
|
||||
#############################################################################################
|
||||
@@ -62,7 +62,7 @@ if (TEST_CHECKUB STREQUAL "YES")
|
||||
OUTPUT_VARIABLE TEST_OUT
|
||||
ERROR_VARIABLE TEST_ERROR
|
||||
)
|
||||
if (NOT ${TEST_RESULT} STREQUAL "0")
|
||||
if (TEST_RESULT)
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} ${TEST_OFILE} is: ${TEST_ERROR}")
|
||||
endif ()
|
||||
file (READ ${TEST_HFILE}.len.txt TEST_O_STRING_LEN)
|
||||
@@ -70,7 +70,7 @@ if (TEST_CHECKUB STREQUAL "YES")
|
||||
|
||||
math( EXPR TEST_STRING_SIZE "${TEST_U_STRING_LEN} + ${TEST_O_STRING_LEN}" )
|
||||
|
||||
if (NOT TEST_O_STRING_LEN STREQUAL "0")
|
||||
if (TEST_O_STRING_LEN)
|
||||
#$JAM_BIN/getub -c $s2 $origfile > $cmpfile
|
||||
EXECUTE_PROCESS (
|
||||
COMMAND ${TEST_GET_PROGRAM} -c ${TEST_O_STRING_LEN} ${TEST_OFILE}
|
||||
@@ -108,7 +108,7 @@ if (TEST_CHECKUB STREQUAL "YES")
|
||||
|
||||
message (STATUS "COMPARE Result: ${TEST_RESULT}: ${TEST_STRING_SIZE}=${TEST_U_STRING_LEN}+${TEST_O_STRING_LEN}")
|
||||
# if the return value is !=${TEST_EXPECT} bail out
|
||||
if (NOT ${TEST_RESULT} STREQUAL ${TEST_EXPECT})
|
||||
if (NOT TEST_RESULT EQUAL TEST_EXPECT)
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_HFILE}-ub did not match ${TEST_HFILE}.\n${TEST_ERROR}")
|
||||
endif ()
|
||||
else ()
|
||||
@@ -121,7 +121,7 @@ else ()
|
||||
OUTPUT_VARIABLE TEST_OUT
|
||||
ERROR_VARIABLE TEST_ERROR
|
||||
)
|
||||
if (NOT TEST_H_STRING_LEN STREQUAL "0")
|
||||
if (TEST_H_STRING_LEN)
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_HFILE} was NOT empty")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
@@ -32,9 +32,9 @@ if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.err)
|
||||
endif ()
|
||||
|
||||
# if there is not an error reference file add the error output to the stdout file
|
||||
if (NOT TEST_ERRREF)
|
||||
set (ERROR_APPEND 1)
|
||||
endif ()
|
||||
#if (NOT TEST_ERRREF)
|
||||
# set (ERROR_APPEND 1)
|
||||
#endif ()
|
||||
|
||||
message (STATUS "USING ${TEST_VFD} ON COMMAND: ${TEST_PROGRAM} ${TEST_ARGS}")
|
||||
|
||||
@@ -60,7 +60,7 @@ if (ERROR_APPEND AND EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}_${TEST_VFD}.err)
|
||||
endif ()
|
||||
|
||||
# if the return value is !=${TEST_EXPECT} bail out
|
||||
if (NOT "${TEST_RESULT}" STREQUAL "${TEST_EXPECT}")
|
||||
if (NOT TEST_RESULT EQUAL TEST_EXPECT)
|
||||
if (NOT TEST_NOERRDISPLAY)
|
||||
if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}_${TEST_VFD}.out)
|
||||
file (READ ${TEST_FOLDER}/${TEST_OUTPUT}_${TEST_VFD}.out TEST_STREAM)
|
||||
|
||||
76
config/cmake/volTest.cmake
Normal file
76
config/cmake/volTest.cmake
Normal file
@@ -0,0 +1,76 @@
|
||||
#
|
||||
# Copyright by The HDF Group.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is part of HDF5. The full HDF5 copyright notice, including
|
||||
# terms governing use, modification, and redistribution, is contained in
|
||||
# the COPYING file, which can be found at the root of the source code
|
||||
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
# volTest.cmake executes a command and captures the output in a file. Command uses specified VOL.
|
||||
# Exit status of command can also be compared.
|
||||
|
||||
# arguments checking
|
||||
if (NOT TEST_PROGRAM)
|
||||
message (FATAL_ERROR "Require TEST_PROGRAM to be defined")
|
||||
endif ()
|
||||
if (NOT TEST_FOLDER)
|
||||
message ( FATAL_ERROR "Require TEST_FOLDER to be defined")
|
||||
endif ()
|
||||
if (NOT TEST_VOL)
|
||||
message (FATAL_ERROR "Require TEST_VOL to be defined")
|
||||
endif ()
|
||||
|
||||
if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT})
|
||||
file (REMOVE ${TEST_FOLDER}/${TEST_OUTPUT})
|
||||
endif ()
|
||||
|
||||
if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.err)
|
||||
file (REMOVE ${TEST_FOLDER}/${TEST_OUTPUT}.err)
|
||||
endif ()
|
||||
|
||||
# if there is not an error reference file add the error output to the stdout file
|
||||
#if (NOT TEST_ERRREF)
|
||||
# set (ERROR_APPEND 1)
|
||||
#endif ()
|
||||
|
||||
message (STATUS "USING ${TEST_VOL} ON COMMAND: ${TEST_PROGRAM} ${TEST_ARGS}")
|
||||
|
||||
set (ENV{HDF5_VOL_CONNECTOR} "${TEST_VOL}")
|
||||
|
||||
# run the test program, capture the stdout/stderr and the result var
|
||||
execute_process (
|
||||
COMMAND ${TEST_PROGRAM} ${TEST_ARGS}
|
||||
WORKING_DIRECTORY ${TEST_FOLDER}
|
||||
RESULT_VARIABLE TEST_RESULT
|
||||
OUTPUT_FILE ${TEST_OUTPUT}.out
|
||||
ERROR_FILE ${TEST_OUTPUT}.err
|
||||
OUTPUT_VARIABLE TEST_OUT
|
||||
ERROR_VARIABLE TEST_ERROR
|
||||
)
|
||||
|
||||
message (STATUS "COMMAND Result: ${TEST_RESULT}")
|
||||
|
||||
# if the .err file exists and ERRROR_APPEND is enabled
|
||||
if (ERROR_APPEND AND EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.err)
|
||||
file (READ ${TEST_FOLDER}/${TEST_OUTPUT}.err TEST_STREAM)
|
||||
file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT}.out "${TEST_STREAM}")
|
||||
endif ()
|
||||
|
||||
# if the return value is !=${TEST_EXPECT} bail out
|
||||
if (NOT TEST_RESULT EQUAL TEST_EXPECT)
|
||||
if (NOT TEST_NOERRDISPLAY)
|
||||
if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.out)
|
||||
file (READ ${TEST_FOLDER}/${TEST_OUTPUT}.out TEST_STREAM)
|
||||
message (STATUS "Output USING ${TEST_VOL}:\n${TEST_STREAM}")
|
||||
endif ()
|
||||
endif ()
|
||||
message (FATAL_ERROR "Failed: Test program ${TEST_PROGRAM} exited != ${TEST_EXPECT}.\n${TEST_ERROR}")
|
||||
endif ()
|
||||
|
||||
message (STATUS "COMMAND Error: ${TEST_ERROR}")
|
||||
|
||||
# everything went fine...
|
||||
message ("Passed: The ${TEST_PROGRAM} program used vol ${TEST_VOL}")
|
||||
11
config/cmake/wait_H5Tinit.cmake
Normal file
11
config/cmake/wait_H5Tinit.cmake
Normal file
@@ -0,0 +1,11 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
|
||||
message(STATUS "Check for existence of ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c")
|
||||
execute_process(COMMAND ls ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c RESULT_VARIABLE H5TI_result OUTPUT_QUIET ERROR_QUIET)
|
||||
while(H5TI_result)
|
||||
ctest_sleep(30)
|
||||
message(STATUS "Checking again for existence of ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c")
|
||||
execute_process(COMMAND ls ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c RESULT_VARIABLE H5TI_result OUTPUT_QUIET ERROR_QUIET)
|
||||
endwhile(H5TI_result)
|
||||
file (TOUCH "${HDF5_BINARY_DIR}/H5Tinit_created")
|
||||
message(STATUS "Found ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c")
|
||||
@@ -70,7 +70,7 @@ if (WIN32)
|
||||
set (CMAKE_REQUIRED_FLAGS "-DWIN32_LEAN_AND_MEAN=1 -DNOGDI=1")
|
||||
endif ()
|
||||
set (${HDF_PREFIX}_HAVE_WIN32_API 1)
|
||||
set (CMAKE_REQUIRED_LIBRARIES "ws2_32.lib;wsock32.lib")
|
||||
set (HDF5_REQUIRED_LIBRARIES "ws2_32.lib;wsock32.lib")
|
||||
if (NOT UNIX AND NOT MINGW)
|
||||
set (WINDOWS 1)
|
||||
set (CMAKE_REQUIRED_FLAGS "/DWIN32_LEAN_AND_MEAN=1 /DNOGDI=1")
|
||||
@@ -109,88 +109,10 @@ endif ()
|
||||
# END of WINDOWS Hard code Values
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
if (CYGWIN)
|
||||
set (${HDF_PREFIX}_HAVE_LSEEK64 0)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check for the math library "m"
|
||||
#-----------------------------------------------------------------------------
|
||||
if (NOT WINDOWS)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("m" ceil ${HDF_PREFIX}_HAVE_LIBM)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("dl" dlopen ${HDF_PREFIX}_HAVE_LIBDL)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("ws2_32" WSAStartup ${HDF_PREFIX}_HAVE_LIBWS2_32)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("wsock32" gethostbyname ${HDF_PREFIX}_HAVE_LIBWSOCK32)
|
||||
endif ()
|
||||
|
||||
# UCB (BSD) compatibility library
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("ucb" gethostname ${HDF_PREFIX}_HAVE_LIBUCB)
|
||||
|
||||
# For other tests to use the same libraries
|
||||
set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${LINK_LIBS})
|
||||
|
||||
set (USE_INCLUDES "")
|
||||
if (WINDOWS)
|
||||
set (USE_INCLUDES ${USE_INCLUDES} "windows.h")
|
||||
endif ()
|
||||
|
||||
if (NOT WINDOWS)
|
||||
TEST_BIG_ENDIAN (${HDF_PREFIX}_WORDS_BIGENDIAN)
|
||||
endif ()
|
||||
|
||||
# For other specific tests, use this MACRO.
|
||||
macro (HDF_FUNCTION_TEST OTHER_TEST)
|
||||
if (NOT DEFINED ${HDF_PREFIX}_${OTHER_TEST})
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS "-D${OTHER_TEST} ${CMAKE_REQUIRED_FLAGS}")
|
||||
set (OTHER_TEST_ADD_LIBRARIES)
|
||||
if (CMAKE_REQUIRED_LIBRARIES)
|
||||
set (OTHER_TEST_ADD_LIBRARIES "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
||||
endif ()
|
||||
|
||||
foreach (def
|
||||
HAVE_SYS_TIME_H
|
||||
HAVE_UNISTD_H
|
||||
HAVE_SYS_TYPES_H
|
||||
HAVE_SYS_SOCKET_H
|
||||
)
|
||||
if ("${${HDF_PREFIX}_${def}}")
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D${def}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
if (LARGEFILE)
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS
|
||||
"${MACRO_CHECK_FUNCTION_DEFINITIONS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE"
|
||||
)
|
||||
endif ()
|
||||
|
||||
#message (STATUS "Performing ${OTHER_TEST}")
|
||||
TRY_COMPILE (${OTHER_TEST}
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
|
||||
"${OTHER_TEST_ADD_LIBRARIES}"
|
||||
OUTPUT_VARIABLE OUTPUT
|
||||
)
|
||||
if (${OTHER_TEST})
|
||||
set (${HDF_PREFIX}_${OTHER_TEST} 1 CACHE INTERNAL "Other test ${FUNCTION}")
|
||||
message (STATUS "Performing Other Test ${OTHER_TEST} - Success")
|
||||
else ()
|
||||
message (STATUS "Performing Other Test ${OTHER_TEST} - Failed")
|
||||
set (${HDF_PREFIX}_${OTHER_TEST} "" CACHE INTERNAL "Other test ${FUNCTION}")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Performing Other Test ${OTHER_TEST} failed with the following output:\n"
|
||||
"${OUTPUT}\n"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check for these functions before the time headers are checked
|
||||
#-----------------------------------------------------------------------------
|
||||
HDF_FUNCTION_TEST (STDC_HEADERS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check IF header file exists and add it to the list.
|
||||
#-----------------------------------------------------------------------------
|
||||
@@ -247,6 +169,91 @@ CHECK_INCLUDE_FILE_CONCAT ("memory.h" ${HDF_PREFIX}_HAVE_MEMORY_H)
|
||||
CHECK_INCLUDE_FILE_CONCAT ("dlfcn.h" ${HDF_PREFIX}_HAVE_DLFCN_H)
|
||||
CHECK_INCLUDE_FILE_CONCAT ("inttypes.h" ${HDF_PREFIX}_HAVE_INTTYPES_H)
|
||||
CHECK_INCLUDE_FILE_CONCAT ("netinet/in.h" ${HDF_PREFIX}_HAVE_NETINET_IN_H)
|
||||
# _Bool type support
|
||||
CHECK_INCLUDE_FILE_CONCAT (stdbool.h ${HDF_PREFIX}_HAVE_STDBOOL_H)
|
||||
|
||||
## Check for non-standard extenstion quadmath.h
|
||||
|
||||
CHECK_INCLUDE_FILES(quadmath.h C_HAVE_QUADMATH)
|
||||
if (${C_HAVE_QUADMATH})
|
||||
set(${HDF_PREFIX}_HAVE_QUADMATH_H 1)
|
||||
else ()
|
||||
set(${HDF_PREFIX}_HAVE_QUADMATH_H 0)
|
||||
endif ()
|
||||
|
||||
if (CYGWIN)
|
||||
set (${HDF_PREFIX}_HAVE_LSEEK64 0)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check for the math library "m"
|
||||
#-----------------------------------------------------------------------------
|
||||
if (NOT WINDOWS)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("m" ceil ${HDF_PREFIX}_HAVE_LIBM)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("dl" dlopen ${HDF_PREFIX}_HAVE_LIBDL)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("ws2_32" WSAStartup ${HDF_PREFIX}_HAVE_LIBWS2_32)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("wsock32" gethostbyname ${HDF_PREFIX}_HAVE_LIBWSOCK32)
|
||||
endif ()
|
||||
|
||||
# UCB (BSD) compatibility library
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("ucb" gethostname ${HDF_PREFIX}_HAVE_LIBUCB)
|
||||
|
||||
# For other tests to use the same libraries
|
||||
set (HDF5_REQUIRED_LIBRARIES ${HDF5_REQUIRED_LIBRARIES} ${LINK_LIBS})
|
||||
|
||||
set (USE_INCLUDES "")
|
||||
if (WINDOWS)
|
||||
set (USE_INCLUDES ${USE_INCLUDES} "windows.h")
|
||||
endif ()
|
||||
|
||||
# For other specific tests, use this MACRO.
|
||||
macro (HDF_FUNCTION_TEST OTHER_TEST)
|
||||
if (NOT DEFINED ${HDF_PREFIX}_${OTHER_TEST})
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS "-D${OTHER_TEST} ${CMAKE_REQUIRED_FLAGS}")
|
||||
|
||||
foreach (def
|
||||
HAVE_SYS_TIME_H
|
||||
HAVE_UNISTD_H
|
||||
HAVE_SYS_TYPES_H
|
||||
HAVE_SYS_SOCKET_H
|
||||
)
|
||||
if ("${${HDF_PREFIX}_${def}}")
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D${def}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
if (LARGEFILE)
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS
|
||||
"${MACRO_CHECK_FUNCTION_DEFINITIONS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE"
|
||||
)
|
||||
endif ()
|
||||
|
||||
#message (STATUS "Performing ${OTHER_TEST}")
|
||||
try_compile (${OTHER_TEST}
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
COMPILE_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS}"
|
||||
LINK_LIBRARIES "${HDF5_REQUIRED_LIBRARIES}"
|
||||
OUTPUT_VARIABLE OUTPUT
|
||||
)
|
||||
if (${OTHER_TEST})
|
||||
set (${HDF_PREFIX}_${OTHER_TEST} 1 CACHE INTERNAL "Other test ${FUNCTION}")
|
||||
message (STATUS "Performing Other Test ${OTHER_TEST} - Success")
|
||||
else ()
|
||||
message (STATUS "Performing Other Test ${OTHER_TEST} - Failed")
|
||||
set (${HDF_PREFIX}_${OTHER_TEST} "" CACHE INTERNAL "Other test ${FUNCTION}")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Performing Other Test ${OTHER_TEST} failed with the following output:\n"
|
||||
"${OUTPUT}\n"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check for these functions before the time headers are checked
|
||||
#-----------------------------------------------------------------------------
|
||||
HDF_FUNCTION_TEST (STDC_HEADERS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check for large file support
|
||||
@@ -277,13 +284,12 @@ if (NOT WINDOWS)
|
||||
set (HDF_EXTRA_C_FLAGS -D_GNU_SOURCE)
|
||||
|
||||
option (HDF_ENABLE_LARGE_FILE "Enable support for large (64-bit) files on Linux." ON)
|
||||
if (HDF_ENABLE_LARGE_FILE)
|
||||
if (HDF_ENABLE_LARGE_FILE AND NOT DEFINED TEST_LFS_WORKS_RUN)
|
||||
set (msg "Performing TEST_LFS_WORKS")
|
||||
TRY_RUN (TEST_LFS_WORKS_RUN TEST_LFS_WORKS_COMPILE
|
||||
try_run (TEST_LFS_WORKS_RUN TEST_LFS_WORKS_COMPILE
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=-DTEST_LFS_WORKS
|
||||
OUTPUT_VARIABLE OUTPUT
|
||||
COMPILE_DEFINITIONS "-DTEST_LFS_WORKS"
|
||||
)
|
||||
|
||||
# The LARGEFILE definitions were from the transition period
|
||||
@@ -300,14 +306,14 @@ if (NOT WINDOWS)
|
||||
set (TEST_LFS_WORKS "" CACHE INTERNAL ${msg})
|
||||
message (STATUS "${msg}... no")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Test TEST_LFS_WORKS Run failed with the following output and exit code:\n ${OUTPUT}\n"
|
||||
"Test TEST_LFS_WORKS Run failed with the following exit code:\n ${TEST_LFS_WORKS_RUN}\n"
|
||||
)
|
||||
endif ()
|
||||
else ()
|
||||
set (TEST_LFS_WORKS "" CACHE INTERNAL ${msg})
|
||||
message (STATUS "${msg}... no")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Test TEST_LFS_WORKS Compile failed with the following output:\n ${OUTPUT}\n"
|
||||
"Test TEST_LFS_WORKS Compile failed\n"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -322,17 +328,12 @@ if (NOT WINDOWS OR MINGW)
|
||||
HDF_FUNCTION_TEST (HAVE_OFF64_T)
|
||||
if (${HDF_PREFIX}_HAVE_OFF64_T)
|
||||
CHECK_FUNCTION_EXISTS (lseek64 ${HDF_PREFIX}_HAVE_LSEEK64)
|
||||
CHECK_FUNCTION_EXISTS (fseeko64 ${HDF_PREFIX}_HAVE_FSEEKO64)
|
||||
CHECK_FUNCTION_EXISTS (ftello64 ${HDF_PREFIX}_HAVE_FTELLO64)
|
||||
CHECK_FUNCTION_EXISTS (ftruncate64 ${HDF_PREFIX}_HAVE_FTRUNCATE64)
|
||||
endif ()
|
||||
|
||||
CHECK_FUNCTION_EXISTS (fseeko ${HDF_PREFIX}_HAVE_FSEEKO)
|
||||
CHECK_FUNCTION_EXISTS (ftello ${HDF_PREFIX}_HAVE_FTELLO)
|
||||
|
||||
HDF_FUNCTION_TEST (HAVE_STAT64_STRUCT)
|
||||
if (HAVE_STAT64_STRUCT)
|
||||
CHECK_FUNCTION_EXISTS (fstat64 ${HDF_PREFIX}_HAVE_FSTAT64)
|
||||
CHECK_FUNCTION_EXISTS (stat64 ${HDF_PREFIX}_HAVE_STAT64)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -412,13 +413,13 @@ HDF_CHECK_TYPE_SIZE (off64_t ${HDF_PREFIX}_SIZEOF_OFF64_T)
|
||||
if (NOT ${HDF_PREFIX}_SIZEOF_OFF64_T)
|
||||
set (${HDF_PREFIX}_SIZEOF_OFF64_T 0)
|
||||
endif ()
|
||||
HDF_CHECK_TYPE_SIZE (time_t ${HDF_PREFIX}_SIZEOF_TIME_T)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Extra C99 types
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
# _Bool type support
|
||||
CHECK_INCLUDE_FILE_CONCAT (stdbool.h ${HDF_PREFIX}_HAVE_STDBOOL_H)
|
||||
if (HAVE_STDBOOL_H)
|
||||
set (CMAKE_EXTRA_INCLUDE_FILES stdbool.h)
|
||||
HDF_CHECK_TYPE_SIZE (bool ${HDF_PREFIX}_SIZEOF_BOOL)
|
||||
@@ -442,7 +443,7 @@ if (NOT WINDOWS)
|
||||
# Check a bunch of time functions
|
||||
#-----------------------------------------------------------------------------
|
||||
CHECK_FUNCTION_EXISTS (gettimeofday ${HDF_PREFIX}_HAVE_GETTIMEOFDAY)
|
||||
foreach (test
|
||||
foreach (time_test
|
||||
HAVE_TM_GMTOFF
|
||||
HAVE___TM_GMTOFF
|
||||
# HAVE_TIMEZONE
|
||||
@@ -452,7 +453,7 @@ if (NOT WINDOWS)
|
||||
HAVE_TM_ZONE
|
||||
HAVE_STRUCT_TM_TM_ZONE
|
||||
)
|
||||
HDF_FUNCTION_TEST (${test})
|
||||
HDF_FUNCTION_TEST (${time_test})
|
||||
endforeach ()
|
||||
if (NOT CYGWIN AND NOT MINGW)
|
||||
HDF_FUNCTION_TEST (HAVE_TIMEZONE)
|
||||
@@ -505,6 +506,8 @@ CHECK_FUNCTION_EXISTS (lround ${HDF_PREFIX}_HAVE_LROUND)
|
||||
CHECK_FUNCTION_EXISTS (lroundf ${HDF_PREFIX}_HAVE_LROUNDF)
|
||||
CHECK_FUNCTION_EXISTS (lstat ${HDF_PREFIX}_HAVE_LSTAT)
|
||||
|
||||
CHECK_FUNCTION_EXISTS (pread ${HDF_PREFIX}_HAVE_PREAD)
|
||||
CHECK_FUNCTION_EXISTS (pwrite ${HDF_PREFIX}_HAVE_PWRITE)
|
||||
CHECK_FUNCTION_EXISTS (rand_r ${HDF_PREFIX}_HAVE_RAND_R)
|
||||
CHECK_FUNCTION_EXISTS (random ${HDF_PREFIX}_HAVE_RANDOM)
|
||||
CHECK_FUNCTION_EXISTS (round ${HDF_PREFIX}_HAVE_ROUND)
|
||||
@@ -554,7 +557,7 @@ endif ()
|
||||
# Check a bunch of other functions
|
||||
#-----------------------------------------------------------------------------
|
||||
if (NOT WINDOWS)
|
||||
foreach (test
|
||||
foreach (other_test
|
||||
HAVE_ATTRIBUTE
|
||||
HAVE_C99_FUNC
|
||||
# STDC_HEADERS
|
||||
@@ -563,7 +566,7 @@ if (NOT WINDOWS)
|
||||
SYSTEM_SCOPE_THREADS
|
||||
HAVE_SOCKLEN_T
|
||||
)
|
||||
HDF_FUNCTION_TEST (${test})
|
||||
HDF_FUNCTION_TEST (${other_test})
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
@@ -573,36 +576,27 @@ endif ()
|
||||
if (WINDOWS)
|
||||
if (NOT HDF_NO_IOEO_TEST)
|
||||
message (STATUS "Checking for InitOnceExecuteOnce:")
|
||||
if (NOT DEFINED ${${HDF_PREFIX}_HAVE_IOEO})
|
||||
if (NOT DEFINED ${HDF_PREFIX}_HAVE_IOEO)
|
||||
if (LARGEFILE)
|
||||
set (CMAKE_REQUIRED_DEFINITIONS
|
||||
"${CURRENT_TEST_DEFINITIONS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE"
|
||||
)
|
||||
endif ()
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS
|
||||
"-DHAVE_IOEO ${CMAKE_REQUIRED_FLAGS}")
|
||||
if (CMAKE_REQUIRED_LIBRARIES)
|
||||
set (CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
|
||||
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
||||
else ()
|
||||
set (CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
|
||||
endif ()
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS "-DHAVE_IOEO ${CMAKE_REQUIRED_FLAGS}")
|
||||
if (CMAKE_REQUIRED_INCLUDES)
|
||||
set (CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
|
||||
"-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
|
||||
set (CHECK_C_SOURCE_COMPILES_ADD_INCLUDES "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
|
||||
else ()
|
||||
set (CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
|
||||
endif ()
|
||||
|
||||
TRY_RUN(HAVE_IOEO_EXITCODE HAVE_IOEO_COMPILED
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
|
||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
|
||||
-DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
|
||||
"${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}"
|
||||
"${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
|
||||
COMPILE_OUTPUT_VARIABLE OUTPUT)
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
COMPILE_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} ${MACRO_CHECK_FUNCTION_DEFINITIONS}"
|
||||
LINK_LIBRARIES "${HDF5_REQUIRED_LIBRARIES}"
|
||||
CMAKE_FLAGS "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES} -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}"
|
||||
COMPILE_OUTPUT_VARIABLE OUTPUT
|
||||
)
|
||||
# if it did not compile make the return value fail code of 1
|
||||
if (NOT HAVE_IOEO_COMPILED)
|
||||
set (HAVE_IOEO_EXITCODE 1)
|
||||
@@ -653,8 +647,8 @@ if (NOT ${HDF_PREFIX}_PRINTF_LL_WIDTH OR ${HDF_PREFIX}_PRINTF_LL_WIDTH MATCHES "
|
||||
TRY_RUN (${HDF_PREFIX}_PRINTF_LL_TEST_RUN ${HDF_PREFIX}_PRINTF_LL_TEST_COMPILE
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${CURRENT_TEST_DEFINITIONS}
|
||||
OUTPUT_VARIABLE OUTPUT
|
||||
COMPILE_DEFINITIONS "${CURRENT_TEST_DEFINITIONS}"
|
||||
RUN_OUTPUT_VARIABLE OUTPUT
|
||||
)
|
||||
if (${HDF_PREFIX}_PRINTF_LL_TEST_COMPILE)
|
||||
if (${HDF_PREFIX}_PRINTF_LL_TEST_RUN MATCHES 0)
|
||||
@@ -666,7 +660,7 @@ if (NOT ${HDF_PREFIX}_PRINTF_LL_WIDTH OR ${HDF_PREFIX}_PRINTF_LL_WIDTH MATCHES "
|
||||
endif ()
|
||||
else ()
|
||||
file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log
|
||||
"Test ${HDF_PREFIX}_PRINTF_LL_WIDTH failed with the following output:\n ${OUTPUT}\n"
|
||||
"Test ${HDF_PREFIX}_PRINTF_LL_WIDTH failed\n"
|
||||
)
|
||||
endif ()
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ macro (EXTERNAL_JPEG_LIBRARY compress_type jpeg_pic)
|
||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${jpeg_pic}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
)
|
||||
elseif (${compress_type} MATCHES "GIT")
|
||||
EXTERNALPROJECT_ADD (JPEG
|
||||
@@ -47,6 +48,7 @@ macro (EXTERNAL_JPEG_LIBRARY compress_type jpeg_pic)
|
||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${jpeg_pic}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
)
|
||||
elseif (${compress_type} MATCHES "TGZ")
|
||||
EXTERNALPROJECT_ADD (JPEG
|
||||
@@ -64,6 +66,7 @@ macro (EXTERNAL_JPEG_LIBRARY compress_type jpeg_pic)
|
||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${jpeg_pic}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
)
|
||||
endif ()
|
||||
externalproject_get_property (JPEG BINARY_DIR SOURCE_DIR)
|
||||
@@ -72,14 +75,14 @@ macro (EXTERNAL_JPEG_LIBRARY compress_type jpeg_pic)
|
||||
# Create imported target jpeg-static
|
||||
add_library(jpeg-static STATIC IMPORTED)
|
||||
HDF_IMPORT_SET_LIB_OPTIONS (jpeg-static "jpeg" STATIC "")
|
||||
add_dependencies (JPEG jpeg-static)
|
||||
add_dependencies (jpeg-static JPEG)
|
||||
set (JPEG_STATIC_LIBRARY "jpeg-static")
|
||||
set (JPEG_LIBRARIES ${JPEG_STATIC_LIBRARY})
|
||||
if (BUILD_SHARED_LIBS)
|
||||
# Create imported target jpeg-shared
|
||||
add_library(jpeg-shared SHARED IMPORTED)
|
||||
HDF_IMPORT_SET_LIB_OPTIONS (jpeg-shared "jpeg" SHARED "")
|
||||
add_dependencies (JPEG jpeg-shared)
|
||||
add_dependencies (jpeg-shared JPEG)
|
||||
set (JPEG_SHARED_LIBRARY "jpeg-shared")
|
||||
set (JPEG_LIBRARIES ${JPEG_LIBRARIES} ${JPEG_SHARED_LIBRARY})
|
||||
endif ()
|
||||
@@ -121,6 +124,7 @@ macro (EXTERNAL_SZIP_LIBRARY compress_type encoding)
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
|
||||
-DSZIP_ENABLE_ENCODING:BOOL=${encoding}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
)
|
||||
elseif (${compress_type} MATCHES "GIT")
|
||||
EXTERNALPROJECT_ADD (SZIP
|
||||
@@ -139,6 +143,7 @@ macro (EXTERNAL_SZIP_LIBRARY compress_type encoding)
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
|
||||
-DSZIP_ENABLE_ENCODING:BOOL=${encoding}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
)
|
||||
elseif (${compress_type} MATCHES "TGZ")
|
||||
EXTERNALPROJECT_ADD (SZIP
|
||||
@@ -157,6 +162,7 @@ macro (EXTERNAL_SZIP_LIBRARY compress_type encoding)
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
|
||||
-DSZIP_ENABLE_ENCODING:BOOL=${encoding}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
)
|
||||
endif ()
|
||||
externalproject_get_property (SZIP BINARY_DIR SOURCE_DIR)
|
||||
@@ -165,14 +171,14 @@ macro (EXTERNAL_SZIP_LIBRARY compress_type encoding)
|
||||
# Create imported target szip-static
|
||||
add_library(szip-static STATIC IMPORTED)
|
||||
HDF_IMPORT_SET_LIB_OPTIONS (szip-static "szip" STATIC "")
|
||||
add_dependencies (SZIP szip-static)
|
||||
add_dependencies (szip-static SZIP)
|
||||
set (SZIP_STATIC_LIBRARY "szip-static")
|
||||
set (SZIP_LIBRARIES ${SZIP_STATIC_LIBRARY})
|
||||
if (BUILD_SHARED_LIBS)
|
||||
# Create imported target szip-shared
|
||||
add_library(szip-shared SHARED IMPORTED)
|
||||
HDF_IMPORT_SET_LIB_OPTIONS (szip-shared "szip" SHARED "")
|
||||
add_dependencies (SZIP szip-shared)
|
||||
add_dependencies (szip-shared SZIP)
|
||||
set (SZIP_SHARED_LIBRARY "szip-shared")
|
||||
set (SZIP_LIBRARIES ${SZIP_LIBRARIES} ${SZIP_SHARED_LIBRARY})
|
||||
endif ()
|
||||
@@ -213,6 +219,7 @@ macro (EXTERNAL_ZLIB_LIBRARY compress_type)
|
||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
)
|
||||
elseif (${compress_type} MATCHES "GIT")
|
||||
EXTERNALPROJECT_ADD (ZLIB
|
||||
@@ -230,6 +237,7 @@ macro (EXTERNAL_ZLIB_LIBRARY compress_type)
|
||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
)
|
||||
elseif (${compress_type} MATCHES "TGZ")
|
||||
EXTERNALPROJECT_ADD (ZLIB
|
||||
@@ -247,6 +255,7 @@ macro (EXTERNAL_ZLIB_LIBRARY compress_type)
|
||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
)
|
||||
endif ()
|
||||
externalproject_get_property (ZLIB BINARY_DIR SOURCE_DIR)
|
||||
@@ -260,14 +269,14 @@ macro (EXTERNAL_ZLIB_LIBRARY compress_type)
|
||||
# Create imported target zlib-static
|
||||
add_library(zlib-static STATIC IMPORTED)
|
||||
HDF_IMPORT_SET_LIB_OPTIONS (zlib-static ${ZLIB_LIB_NAME} STATIC "")
|
||||
add_dependencies (ZLIB zlib-static)
|
||||
add_dependencies (zlib-static ZLIB)
|
||||
set (ZLIB_STATIC_LIBRARY "zlib-static")
|
||||
set (ZLIB_LIBRARIES ${ZLIB_STATIC_LIBRARY})
|
||||
if (BUILD_SHARED_LIBS)
|
||||
# Create imported target zlib-shared
|
||||
add_library(zlib-shared SHARED IMPORTED)
|
||||
HDF_IMPORT_SET_LIB_OPTIONS (zlib-shared ${ZLIB_LIB_NAME} SHARED "")
|
||||
add_dependencies (ZLIB zlib-shared)
|
||||
add_dependencies (zlib-shared ZLIB)
|
||||
set (ZLIB_SHARED_LIBRARY "zlib-shared")
|
||||
set (ZLIB_LIBRARIES ${ZLIB_LIBRARIES} ${ZLIB_SHARED_LIBRARY})
|
||||
endif ()
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
macro (SET_HDF_BUILD_TYPE)
|
||||
get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
if(_isMultiConfig)
|
||||
set(HDF_CFG_NAME ${CTEST_CONFIGURATION_TYPE})
|
||||
set(HDF_CFG_NAME ${CMAKE_BUILD_TYPE})
|
||||
set(HDF_BUILD_TYPE ${CMAKE_CFG_INTDIR})
|
||||
set(HDF_CFG_BUILD_TYPE \${CMAKE_INSTALL_CONFIG_NAME})
|
||||
else()
|
||||
@@ -170,7 +170,7 @@ macro (HDF_IMPORT_SET_LIB_OPTIONS libtarget libname libtype libversion)
|
||||
if (${importtype} MATCHES "IMPORT")
|
||||
set (importprefix "${CMAKE_STATIC_LIBRARY_PREFIX}")
|
||||
endif ()
|
||||
if (${CMAKE_BUILD_TYPE} MATCHES "Debug")
|
||||
if (${HDF_CFG_NAME} MATCHES "Debug")
|
||||
set (IMPORT_LIB_NAME ${LIB_DEBUG_NAME})
|
||||
else ()
|
||||
set (IMPORT_LIB_NAME ${LIB_RELEASE_NAME})
|
||||
@@ -273,14 +273,14 @@ macro (HDF_README_PROPERTIES target_fortran)
|
||||
set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2015")
|
||||
else ()
|
||||
set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2017")
|
||||
endif ()
|
||||
endif ()
|
||||
else ()
|
||||
set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ${CMAKE_C_COMPILER_VERSION}")
|
||||
endif ()
|
||||
endif ()
|
||||
elseif (APPLE)
|
||||
set (BINARY_EXAMPLE_ENDING "tar.gz")
|
||||
set (BINARY_INSTALL_ENDING "dmg")
|
||||
set (BINARY_INSTALL_ENDING "sh") # if packaging changes - use dmg
|
||||
set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}")
|
||||
set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}")
|
||||
else ()
|
||||
@@ -358,6 +358,21 @@ macro (HDF_DIR_PATHS package_prefix)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
set (CMAKE_SKIP_BUILD_RPATH FALSE)
|
||||
set (CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
|
||||
set (CMAKE_BUILD_WITH_INSTALL_RPATH ON)
|
||||
if (APPLE)
|
||||
set (CMAKE_INSTALL_NAME_DIR "@rpath")
|
||||
set (CMAKE_INSTALL_RPATH
|
||||
"@executable_path/../${${package_prefix}_INSTALL_LIB_DIR}"
|
||||
"@executable_path/"
|
||||
"@loader_path/../${${package_prefix}_INSTALL_LIB_DIR}"
|
||||
"@loader_path/"
|
||||
)
|
||||
else ()
|
||||
set (CMAKE_INSTALL_RPATH "\$ORIGIN/../${${package_prefix}_INSTALL_LIB_DIR}:\$ORIGIN/")
|
||||
endif ()
|
||||
|
||||
if (DEFINED ADDITIONAL_CMAKE_PREFIX_PATH AND EXISTS "${ADDITIONAL_CMAKE_PREFIX_PATH}")
|
||||
set (CMAKE_PREFIX_PATH ${ADDITIONAL_CMAKE_PREFIX_PATH} ${CMAKE_PREFIX_PATH})
|
||||
endif ()
|
||||
@@ -380,13 +395,14 @@ macro (HDF_DIR_PATHS package_prefix)
|
||||
set (CMAKE_Fortran_MODULE_DIRECTORY
|
||||
${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all fortran modules."
|
||||
)
|
||||
if (WIN32)
|
||||
set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CTEST_CONFIGURATION_TYPE})
|
||||
get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
if(_isMultiConfig)
|
||||
set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE})
|
||||
set (CMAKE_PDB_OUTPUT_DIRECTORY
|
||||
${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all pdb files."
|
||||
)
|
||||
else ()
|
||||
set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CTEST_CONFIGURATION_TYPE})
|
||||
set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
||||
endif ()
|
||||
else ()
|
||||
# if we are externally configured, but the project uses old cmake scripts
|
||||
|
||||
@@ -48,8 +48,8 @@ macro (HDF_CXX_FUNCTION_TEST OTHER_TEST)
|
||||
if (NOT DEFINED ${OTHER_TEST})
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS "-D${OTHER_TEST} ${CMAKE_REQUIRED_FLAGS}")
|
||||
set (OTHER_TEST_ADD_LIBRARIES)
|
||||
if (CMAKE_REQUIRED_LIBRARIES)
|
||||
set (OTHER_TEST_ADD_LIBRARIES "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
||||
if (HDF5_REQUIRED_LIBRARIES)
|
||||
set (OTHER_TEST_ADD_LIBRARIES "-DLINK_LIBRARIES:STRING=${HDF5_REQUIRED_LIBRARIES}")
|
||||
endif ()
|
||||
|
||||
foreach (def
|
||||
@@ -96,14 +96,14 @@ endmacro ()
|
||||
# Check a bunch of cxx functions
|
||||
#-----------------------------------------------------------------------------
|
||||
if (CMAKE_CXX_COMPILER_LOADED)
|
||||
foreach (test
|
||||
foreach (cxx_test
|
||||
OLD_HEADER_FILENAME
|
||||
${HDF_PREFIX}_NO_NAMESPACE
|
||||
${HDF_PREFIX}_NO_STD
|
||||
HDF_NO_NAMESPACE
|
||||
HDF_NO_STD
|
||||
BOOL_NOTDEFINED
|
||||
NO_STATIC_CAST
|
||||
${HDF_PREFIX}_CXX_HAVE_OFFSETOF
|
||||
CXX_HAVE_OFFSETOF
|
||||
)
|
||||
HDF_CXX_FUNCTION_TEST (${test})
|
||||
HDF_CXX_FUNCTION_TEST (${cxx_test})
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
@@ -48,9 +48,9 @@ set (H5_FC_FUNC_ "H5_FC_FUNC_(name,NAME) ${CMAKE_MATCH_1}")
|
||||
#-----------------------------------------------------------------------------
|
||||
macro (CHECK_FORTRAN_FEATURE FUNCTION CODE VARIABLE)
|
||||
message (STATUS "Testing Fortran ${FUNCTION}")
|
||||
if (CMAKE_REQUIRED_LIBRARIES)
|
||||
if (HDF5_REQUIRED_LIBRARIES)
|
||||
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
|
||||
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
||||
"-DLINK_LIBRARIES:STRING=${HDF5_REQUIRED_LIBRARIES}")
|
||||
else ()
|
||||
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
|
||||
endif ()
|
||||
|
||||
@@ -57,15 +57,15 @@ file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
|
||||
# TEST_REFERENCE should always be matched
|
||||
string (REGEX MATCH "${TEST_REFERENCE}" TEST_MATCH ${TEST_STREAM})
|
||||
string (COMPARE EQUAL "${TEST_REFERENCE}" "${TEST_MATCH}" TEST_RESULT)
|
||||
if ("${TEST_RESULT}" STREQUAL "0")
|
||||
if (NOT TEST_RESULT)
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did not contain ${TEST_REFERENCE}")
|
||||
endif ()
|
||||
|
||||
string (REGEX MATCH "${TEST_FILTER}" TEST_MATCH ${TEST_STREAM})
|
||||
if ("${TEST_EXPECT}" STREQUAL "1")
|
||||
# TEST_EXPECT (1) interperts TEST_FILTER as NOT to match
|
||||
if (TEST_EXPECT)
|
||||
# TEST_EXPECT (1) interprets TEST_FILTER as; NOT to match
|
||||
string (LENGTH "${TEST_MATCH}" TEST_RESULT)
|
||||
if (NOT "${TEST_RESULT}" STREQUAL "0")
|
||||
if (TEST_RESULT)
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did contain ${TEST_FILTER}")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
@@ -26,9 +26,6 @@ endif ()
|
||||
if (NOT TEST_EXPECT)
|
||||
message (STATUS "Require TEST_EXPECT to be defined")
|
||||
endif ()
|
||||
if (NOT TEST_SKIP_COMPARE AND NOT TEST_REFERENCE)
|
||||
message (FATAL_ERROR "Require TEST_REFERENCE to be defined")
|
||||
endif ()
|
||||
|
||||
if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT})
|
||||
file (REMOVE ${TEST_FOLDER}/${TEST_OUTPUT})
|
||||
@@ -38,11 +35,6 @@ if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.err)
|
||||
file (REMOVE ${TEST_FOLDER}/${TEST_OUTPUT}.err)
|
||||
endif ()
|
||||
|
||||
# if there is not an error reference file add the error output to the stdout file
|
||||
if (NOT TEST_ERRREF)
|
||||
set (ERROR_APPEND 1)
|
||||
endif ()
|
||||
|
||||
message (STATUS "COMMAND: ${TEST_PROGRAM} ${TEST_ARGS}")
|
||||
|
||||
if (TEST_LIBRARY_DIRECTORY)
|
||||
@@ -88,7 +80,7 @@ if (TEST_REGEX)
|
||||
file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
|
||||
string (REGEX MATCH "${TEST_REGEX}" REGEX_MATCH ${TEST_STREAM})
|
||||
string (COMPARE EQUAL "${REGEX_MATCH}" "${TEST_MATCH}" REGEX_RESULT)
|
||||
if ("${REGEX_RESULT}" STREQUAL "0")
|
||||
if (NOT REGEX_RESULT)
|
||||
message (STATUS "Failed: The output of ${TEST_PROGRAM} did not contain ${TEST_MATCH}")
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -96,9 +88,21 @@ endif ()
|
||||
message (STATUS "COMMAND Result: ${TEST_RESULT}")
|
||||
|
||||
# if the .err file exists and ERRROR_APPEND is enabled
|
||||
if (ERROR_APPEND AND EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.err)
|
||||
if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.err)
|
||||
file (READ ${TEST_FOLDER}/${TEST_OUTPUT}.err TEST_STREAM)
|
||||
file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}")
|
||||
if (TEST_MASK_FILE)
|
||||
STRING(REGEX REPLACE "CurrentDir is [^\n]+\n" "CurrentDir is (dir name)\n" TEST_STREAM "${TEST_STREAM}")
|
||||
endif ()
|
||||
# remove special output
|
||||
string (REGEX REPLACE "^.*_pmi_alps[^\n]+\n" "" TEST_STREAM "${TEST_STREAM}")
|
||||
|
||||
if (NOT ERROR_APPEND)
|
||||
# write back to original .err file
|
||||
file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT}.err "${TEST_STREAM}")
|
||||
else ()
|
||||
# append error output to the stdout output file
|
||||
file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# append the test result status with a predefined text
|
||||
@@ -107,7 +111,7 @@ if (TEST_APPEND)
|
||||
endif ()
|
||||
|
||||
# if the return value is !=${TEST_EXPECT} bail out
|
||||
if (NOT "${TEST_RESULT}" STREQUAL "${TEST_EXPECT}")
|
||||
if (NOT TEST_RESULT EQUAL TEST_EXPECT)
|
||||
if (NOT TEST_NOERRDISPLAY)
|
||||
if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT})
|
||||
file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
|
||||
@@ -119,6 +123,14 @@ endif ()
|
||||
|
||||
message (STATUS "COMMAND Error: ${TEST_ERROR}")
|
||||
|
||||
# remove special output
|
||||
file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
|
||||
string (FIND TEST_STREAM "_pmi_alps" "${TEST_FIND_RESULT}")
|
||||
if (TEST_FIND_RESULT GREATER 0)
|
||||
string (REGEX REPLACE "^.*_pmi_alps[^\n]+\n" "" TEST_STREAM "${TEST_STREAM}")
|
||||
file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_STREAM})
|
||||
endif ()
|
||||
|
||||
# if the output file needs Storage text removed
|
||||
if (TEST_MASK)
|
||||
file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
|
||||
@@ -173,63 +185,65 @@ endif ()
|
||||
|
||||
# compare output files to references unless this must be skipped
|
||||
if (NOT TEST_SKIP_COMPARE)
|
||||
if (WIN32 AND NOT MINGW)
|
||||
file (READ ${TEST_FOLDER}/${TEST_REFERENCE} TEST_STREAM)
|
||||
file (WRITE ${TEST_FOLDER}/${TEST_REFERENCE} "${TEST_STREAM}")
|
||||
endif ()
|
||||
|
||||
if (NOT TEST_SORT_COMPARE)
|
||||
# now compare the output with the reference
|
||||
execute_process (
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/${TEST_REFERENCE}
|
||||
RESULT_VARIABLE TEST_RESULT
|
||||
)
|
||||
else ()
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT} v1)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_REFERENCE} v2)
|
||||
list (SORT v1)
|
||||
list (SORT v2)
|
||||
if (NOT v1 STREQUAL v2)
|
||||
set(TEST_RESULT 1)
|
||||
if (EXISTS ${TEST_FOLDER}/${TEST_REFERENCE})
|
||||
if (WIN32 AND NOT MINGW)
|
||||
file (READ ${TEST_FOLDER}/${TEST_REFERENCE} TEST_STREAM)
|
||||
file (WRITE ${TEST_FOLDER}/${TEST_REFERENCE} "${TEST_STREAM}")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (NOT "${TEST_RESULT}" STREQUAL "0")
|
||||
set (TEST_RESULT 0)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT} test_act)
|
||||
list (LENGTH test_act len_act)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_REFERENCE} test_ref)
|
||||
list (LENGTH test_ref len_ref)
|
||||
if (NOT "${len_act}" STREQUAL "0" AND NOT "${len_ref}" STREQUAL "0")
|
||||
math (EXPR _FP_LEN "${len_ref} - 1")
|
||||
foreach (line RANGE 0 ${_FP_LEN})
|
||||
list (GET test_act ${line} str_act)
|
||||
list (GET test_ref ${line} str_ref)
|
||||
if (NOT "${str_act}" STREQUAL "${str_ref}")
|
||||
if (NOT "${str_act}" STREQUAL "")
|
||||
set (TEST_RESULT 1)
|
||||
message ("line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
|
||||
endif ()
|
||||
endif ()
|
||||
endforeach ()
|
||||
if (NOT TEST_SORT_COMPARE)
|
||||
# now compare the output with the reference
|
||||
execute_process (
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/${TEST_REFERENCE}
|
||||
RESULT_VARIABLE TEST_RESULT
|
||||
)
|
||||
else ()
|
||||
if ("${len_act}" STREQUAL "0")
|
||||
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_OUTPUT} is empty")
|
||||
endif ()
|
||||
if ("${len_ref}" STREQUAL "0")
|
||||
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_REFERENCE} is empty")
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT} v1)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_REFERENCE} v2)
|
||||
list (SORT v1)
|
||||
list (SORT v2)
|
||||
if (NOT v1 STREQUAL v2)
|
||||
set(TEST_RESULT 1)
|
||||
endif ()
|
||||
endif ()
|
||||
if (NOT "${len_act}" STREQUAL "${len_ref}")
|
||||
set (TEST_RESULT 1)
|
||||
|
||||
if (TEST_RESULT)
|
||||
set (TEST_RESULT 0)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT} test_act)
|
||||
list (LENGTH test_act len_act)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_REFERENCE} test_ref)
|
||||
list (LENGTH test_ref len_ref)
|
||||
if (len_act GREATER 0 AND len_ref GREATER 0)
|
||||
math (EXPR _FP_LEN "${len_ref} - 1")
|
||||
foreach (line RANGE 0 ${_FP_LEN})
|
||||
list (GET test_act ${line} str_act)
|
||||
list (GET test_ref ${line} str_ref)
|
||||
if (NOT str_act STREQUAL str_ref)
|
||||
if (str_act)
|
||||
set (TEST_RESULT 1)
|
||||
message ("line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
|
||||
endif ()
|
||||
endif ()
|
||||
endforeach ()
|
||||
else ()
|
||||
if (len_act EQUAL 0)
|
||||
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_OUTPUT} is empty")
|
||||
endif ()
|
||||
if (len_ref EQUAL 0)
|
||||
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_REFERENCE} is empty")
|
||||
endif ()
|
||||
endif ()
|
||||
if (NOT len_act EQUAL len_ref)
|
||||
set (TEST_RESULT 1)
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
message (STATUS "COMPARE Result: ${TEST_RESULT}")
|
||||
message (STATUS "COMPARE Result: ${TEST_RESULT}")
|
||||
|
||||
# again, if return value is !=0 scream and shout
|
||||
if (NOT "${TEST_RESULT}" STREQUAL "0")
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_OUTPUT} did not match ${TEST_REFERENCE}")
|
||||
# again, if return value is !=0 scream and shout
|
||||
if (TEST_RESULT)
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_OUTPUT} did not match ${TEST_REFERENCE}")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# now compare the .err file with the error reference, if supplied
|
||||
@@ -244,34 +258,34 @@ if (NOT TEST_SKIP_COMPARE)
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT}.err ${TEST_FOLDER}/${TEST_ERRREF}
|
||||
RESULT_VARIABLE TEST_RESULT
|
||||
)
|
||||
if (NOT "${TEST_RESULT}" STREQUAL "0")
|
||||
if (TEST_RESULT)
|
||||
set (TEST_RESULT 0)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT}.err test_act)
|
||||
list (LENGTH test_act len_act)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_ERRREF} test_ref)
|
||||
list (LENGTH test_ref len_ref)
|
||||
math (EXPR _FP_LEN "${len_ref} - 1")
|
||||
if (NOT "${len_act}" STREQUAL "0" AND NOT "${len_ref}" STREQUAL "0")
|
||||
if (len_act GREATER 0 AND len_ref GREATER 0)
|
||||
math (EXPR _FP_LEN "${len_ref} - 1")
|
||||
foreach (line RANGE 0 ${_FP_LEN})
|
||||
list (GET test_act ${line} str_act)
|
||||
list (GET test_ref ${line} str_ref)
|
||||
if (NOT "${str_act}" STREQUAL "${str_ref}")
|
||||
if (NOT "${str_act}" STREQUAL "")
|
||||
if (NOT str_act STREQUAL str_ref)
|
||||
if (str_act)
|
||||
set (TEST_RESULT 1)
|
||||
message ("line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endforeach ()
|
||||
else ()
|
||||
if ("${len_act}" STREQUAL "0")
|
||||
if (len_act EQUAL 0)
|
||||
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_OUTPUT}.err is empty")
|
||||
endif ()
|
||||
if ("${len_ref}" STREQUAL "0")
|
||||
if (len_ref EQUAL 0)
|
||||
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_ERRREF} is empty")
|
||||
endif ()
|
||||
endif ()
|
||||
if (NOT "${len_act}" STREQUAL "${len_ref}")
|
||||
if (NOT len_act EQUAL len_ref)
|
||||
set (TEST_RESULT 1)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -279,11 +293,33 @@ if (NOT TEST_SKIP_COMPARE)
|
||||
message (STATUS "COMPARE Result: ${TEST_RESULT}")
|
||||
|
||||
# again, if return value is !=0 scream and shout
|
||||
if (NOT "${TEST_RESULT}" STREQUAL "0")
|
||||
if (TEST_RESULT)
|
||||
message (FATAL_ERROR "Failed: The error output of ${TEST_OUTPUT}.err did not match ${TEST_ERRREF}")
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (TEST_GREP_COMPARE)
|
||||
# now grep the output with the reference
|
||||
file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
|
||||
|
||||
# TEST_REFERENCE should always be matched
|
||||
string (REGEX MATCH "${TEST_REFERENCE}" TEST_MATCH ${TEST_STREAM})
|
||||
string (COMPARE EQUAL "${TEST_REFERENCE}" "${TEST_MATCH}" TEST_RESULT)
|
||||
if (NOT TEST_RESULT)
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did not contain ${TEST_REFERENCE}")
|
||||
endif ()
|
||||
|
||||
string (REGEX MATCH "${TEST_FILTER}" TEST_MATCH ${TEST_STREAM})
|
||||
if (TEST_EXPECT)
|
||||
# TEST_EXPECT (1) interprets TEST_FILTER as; NOT to match
|
||||
string (LENGTH "${TEST_MATCH}" TEST_RESULT)
|
||||
if (TEST_RESULT)
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did contain ${TEST_FILTER}")
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# everything went fine...
|
||||
message ("Passed: The output of ${TEST_PROGRAM} matches ${TEST_REFERENCE}")
|
||||
message ("${TEST_PROGRAM} Passed")
|
||||
|
||||
|
||||
@@ -97,7 +97,8 @@ CHECK_CLEANFILES=*.chkexe *.chklog *.clog *.clog2
|
||||
# exists.
|
||||
.PHONY: build-check-clean build-check-p build-check-s build-lib build-progs \
|
||||
build-tests check-clean check-install check-p check-s check-vfd \
|
||||
install-doc lib progs tests uninstall-doc _exec_check-s _test help
|
||||
check-vol install-doc lib progs tests uninstall-doc _exec_check-s \
|
||||
_test help
|
||||
|
||||
help:
|
||||
@$(top_srcdir)/bin/makehelp
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user