|
1 | 1 | %% PLATFORM_TELL - Display information about the platform and environment |
| 2 | +% designed to work back to R2016b |
2 | 3 |
|
3 | 4 | function json = platform_tell() |
4 | 5 |
|
|
8 | 9 | r = "R" + version('-release'); |
9 | 10 | end |
10 | 11 |
|
11 | | -raw = struct("matlab_release", r, ... |
12 | | -"matlab_arch", computer('arch'), ... |
13 | | -"hdf5", stdlib.h5get_version(), ... |
14 | | -"netcdf", stdlib.nc_get_version()); |
| 12 | +raw = struct('matlab_release', r, ... |
| 13 | +'matlab_arch', computer('arch'), ... |
| 14 | +'hdf5', stdlib.h5get_version(), ... |
| 15 | +'netcdf', stdlib.nc_get_version()); |
15 | 16 |
|
16 | 17 | if stdlib.has_java() |
17 | 18 | raw.java_vendor = stdlib.java_vendor(); |
|
35 | 36 |
|
36 | 37 | for lang = ["C", "Cpp", "Fortran"] |
37 | 38 | co = mex.getCompilerConfigurations(lang); |
| 39 | + ct = ['compiler_' lang{1}]; |
| 40 | + vt = ['compiler_' lang{1} '_version']; |
| 41 | + raw.(ct) = ""; |
| 42 | + raw.(vt) = ""; |
38 | 43 |
|
39 | 44 | if ~isempty(co) |
40 | | - raw.("compiler_" + lang) = co.ShortName; |
41 | | - raw.("compiler_" + lang + "_version") = co.Version; |
| 45 | + raw.(ct) = co.ShortName; |
| 46 | + raw.(vt) = co.Version; |
42 | 47 | end |
43 | 48 | end |
44 | 49 |
|
45 | 50 | try |
46 | 51 | json = jsonencode(raw, "PrettyPrint", true); |
47 | 52 | catch e |
48 | | - if e.identifier ~= "MATLAB:json:UnmatchedParameter" |
49 | | - rethrow(e) |
| 53 | + switch e.identifier |
| 54 | + case {'MATLAB:json:UnmatchedParameter', 'MATLAB:maxrhs'} |
| 55 | + json = jsonencode(raw); |
| 56 | + otherwise |
| 57 | + rethrow(e) |
50 | 58 | end |
51 | | - |
52 | | - json = jsonencode(raw); |
53 | 59 | end |
54 | 60 |
|
55 | 61 | end |
0 commit comments