Select Git revision
FT_check_for_kat_binary.m
FT_check_for_kat_binary.m 1.57 KiB
%---------------------------------------------------------------------
% 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