%--------------------------------------------------------------------- % function [FT] = FT_check_for_kat_binary(FT) % % Checks if the Finesse binary can be found and tests which % kat.ini file can be used % % FT: FT structure % % Part of the SimTools package % Andreas Freise 22.05.08 afreise@googlemail.com %--------------------------------------------------------------------- function [FT] = FT_check_for_kat_binary(FT) baseid='FTchekforkat'; if (~isstruct(FT)) msgid=[baseid,':checkinarg']; result='input argument must be a FT structure'; error(msgid,result); end disp('--------------------------------------------------------------------'); % check if katbinary exists and produces a version output commandstring = [FT.katbinary,' -v']; [status,result]=system(commandstring); if (status) msgid=[baseid,':checkbinary']; result=['Cannot execute kat: ',result]; error(msgid,result); else isFinesse=strfind(result,'Finesse'); if (isFinesse) disp(['Finesse binary found: ',strtrim(result)]); else msgid=[baseid,':checkversion']; result=[FT.katbinary, ' does not seem to be Finesse binary']; error(msgid,result); end end % check if local kat.ini exists local=exist('./kat.ini'); if (local==2) FT.katini='./kat.ini'; disp(['Using local kat.ini: ',FT.katini]); else % check if global or local kat.ini exists FT.katini=getenv('KATINI'); if (FT.katini) disp(['Found global kat.ini: ',FT.katini]); else disp('No kat.ini file found.'); end end