| 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 |