blob: 2f38007beecc7a70de5d6f920afc34156c87baff [file] [log] [blame]
function addInstallDirToSearchPath(installDirPath, addInstallDirToSearchPath, addInstallDirToStartupFile)
% addInstallDirToSearchPath Add the input path, INSTALLDIRPATH, to the
% MATLAB Search Path and save.
%
% Licensed to the Apache Software Foundation (ASF) under one or more
% contributor license agreements. See the NOTICE file distributed with
% this work for additional information regarding copyright ownership.
% The ASF licenses this file to you under the Apache License, Version
% 2.0 (the "License"); you may not use this file except in compliance
% with the License. You may obtain a copy of the License at
%
% http://www.apache.org/licenses/LICENSE-2.0
%
% Unless required by applicable law or agreed to in writing, software
% distributed under the License is distributed on an "AS IS" BASIS,
% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
% implied. See the License for the specific language governing
% permissions and limitations under the License.
if addInstallDirToSearchPath == "ON"
addpath(installDirPath);
status = savepath(fullfile(matlabroot, "toolbox", "local", "pathdef.m"));
% Return exit code 1 to indicate savepath failure and 0 to indicate the path has
% been saved successfully.
if status == 0
disp("Successfully added installation directory to the MATLAB Search Path: " + installDirPath);
quit(0);
else
quit(1);
end
end
if addInstallDirToStartupFile == "ON"
fid = fopen(fullfile(userpath, "startup.m"), "a");
if fid > 2
count = fwrite(fid, "addpath(""" + installDirPath + """);");
if count == 0
% fwrite failed.
quit(3);
end
status = fclose(fid);
if status ~= 0
% fclose failed.
quit(4);
end
else
% fopen failed.
quit(2);
end
disp("Successfully appended an addpath command to the MATLAB startup.m file located at the userpath to add installation directory to the MATLAB Search Path: " + installDirPath);
quit(0);
end
end