Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
1 result

FT_check_for_kat_binary.m

Blame
    • adf's avatar
      ef25ce70
      · ef25ce70
      adf authored
      adding current code of SimTools.
      
      ef25ce70
      History
      adf authored
      adding current code of SimTools.
      
    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