Skip to content

Commit 9db43de

Browse files
committed
Fixed an error that sets NDDSHOME to an usupported version of Connext if a newer version was installed
1 parent 717bef8 commit 9db43de

File tree

1 file changed

+32
-21
lines changed

1 file changed

+32
-21
lines changed

configure_nddshome.m

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -35,26 +35,26 @@ function configure_nddshome_w_version(version, supportedVersions)
3535
connextPath = get_rti_connext_dds_path(version);
3636

3737
nddshomePath = string(getenv("NDDSHOME"));
38+
printWarningSupportedVersion = false;
39+
40+
% Create string with supported versions of Connext.
41+
productSupportedVersions = "";
42+
for i = 1:length(supportedVersions)
43+
productSupportedVersions = productSupportedVersions +...
44+
" - RTI Connext DDS " + supportedVersions{i};
45+
if i ~= length(supportedVersions)
46+
productSupportedVersions =...
47+
productSupportedVersions + newline;
48+
end
49+
end
50+
3851
% If NDDSHOME is already set, check it points to a supported version
3952
if nddshomePath ~= ""
4053
if is_rti_connext_dds_version_supported(nddshomePath,...
4154
supportedVersions) == false
42-
% NDDSHOME is not set to a supported version. In case it is set
43-
% to a supported version, do not set it again to the RTI
44-
% Connext for DDS Blockset toolbox
45-
productSupportedVersions = "";
46-
for i = 1:length(supportedVersions)
47-
productSupportedVersions = productSupportedVersions +...
48-
" - RTI Connext DDS " + supportedVersions{i};
49-
if i ~= length(supportedVersions)
50-
productSupportedVersions =...
51-
productSupportedVersions + newline;
52-
end
53-
end
54-
55-
warning(['NDDSHOME environment variable is not set ',...
56-
'to a supported version for MATLAB/DDS Blockset. ',...
57-
'Supported Connext versions for MATLAB %s:\n',...
55+
warning(['NDDSHOME environment variable is not set to a supported ' ...
56+
'version for MATLAB/DDS Blockset. Supported Connext versions ' ...
57+
'for MATLAB %s:' newline ...
5858
'%s'],...
5959
matlabRelease.Release,...
6060
productSupportedVersions);
@@ -63,23 +63,34 @@ function configure_nddshome_w_version(version, supportedVersions)
6363
% Set NDDSHOME to the latest installed RTI Connext for DDS Blockset
6464
% toolbox
6565
if exist(connextPath, "dir")
66-
setenv("NDDSHOME", connextPath);
66+
if is_rti_connext_dds_version_supported(connextPath,...
67+
supportedVersions) == false
68+
warning(['The Connext Toolbox for DDS Blockset version %s ' ...
69+
'is not supported. Supported Connext versions ' ...
70+
'for MATLAB %s:' newline ...
71+
'%s'],...
72+
version,...
73+
matlabRelease.Release,...
74+
productSupportedVersions);
75+
else
76+
setenv("NDDSHOME", connextPath);
77+
end
6778
else
6879
error("Error setting NDDSHOME, the path <%s> doesn't exist",...
6980
connextPath);
7081
end
7182
end
7283
end
7384

74-
function ok = is_rti_connext_dds_version_supported(nddshome, supported_versions)
85+
function ok = is_rti_connext_dds_version_supported(nddshome, supportedVersions)
7586
% IS_RTI_CONNEXT_DDS_VERSION_SUPPORTED check whether the current
7687
% nddshome is pointing to a supported version
7788
% is_rti_connext_dds_version_supported() return true if that nddshome
7889
% is supported
7990

8091
ok = false;
81-
for i = 1:length(supported_versions)
82-
if contains(nddshome, strcat('rti_connext_dds-',supported_versions{i}))
92+
for i = 1:length(supportedVersions)
93+
if contains(nddshome, strcat('rti_connext_dds-',supportedVersions{i}))
8394
ok = true;
8495
end
8596
end
@@ -104,4 +115,4 @@ function configure_nddshome_w_version(version, supportedVersions)
104115
else
105116
error('Unsupported OS');
106117
end
107-
end
118+
end

0 commit comments

Comments
 (0)