function ret = addIncludeFiles(h, varargin)
% ADDINCLUDEFILES The addIncludeFiles function adds specified include files to
% the model's build information. Real-Time Workshop stores the include files in
% a vector. The function adds the filenames to the end of the vector in the
% order that you specify them.
%
% Argument description
% buildinfo Build information handle returned by RTW.Buildinfo.
%
% filenames A character array or cell array of character arrays that
% specifies names of include files to be added to the build
% information. The function adds the filenames to the end of a
% vector in the order that you specify them.
% The function removes duplicate include file entries that
% - Already exist in the include file vector
% - Have a path that matches the path of a matching filename
% A duplicate entry consists of an exact match of a path string and
% corresponding filename.
%
% paths (optional) A character array or cell array of character arrays
% that specifies paths to the include files. The function adds the
% paths to the end of a vector in the order that you specify
% them. If you specify a single path as a character array, the
% function uses that path for all files.
%
% groups (optional) A character array or cell array of character arrays
% that groups specified include files
%
% example 1:
% myModelBuildInfo = RTW.BuildInfo;
% addIncludeFiles(myModelBuildInfo,...
% {'etc.h' 'etc_private.h'}, 'AppFiles');
%
% example 1:
% myModelBuildInfo = RTW.BuildInfo;
% addIncludeFiles(myModelBuildInfo,...
% {'etc.h' 'etc_private.h' 'mytypes.h'},...
% {'AppFiles' 'AppFiles' 'SysFiles'})
%
% Please refer to the documentation for more information.
%

% Copyright 2005-2019 The MathWorks, Inc.
[varargin{:}] = convertStringsToChars(varargin{:});
ret = h.addFiles('include', varargin{:});