File: slice2matlab.m

package info (click to toggle)
zeroc-ice 3.7.10-3.1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 75,696 kB
  • sloc: cpp: 356,894; java: 226,081; cs: 98,312; javascript: 35,027; python: 28,716; objc: 27,050; php: 7,526; ruby: 7,190; yacc: 2,949; ansic: 2,469; xml: 1,589; lex: 1,241; makefile: 472; sh: 52
file content (49 lines) | stat: -rw-r--r-- 1,660 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
function status = slice2matlab(args)

    % SLICE2MATLAB Compile Slice files.
    %
    % Compiles Slice files using the Slice-to-MATLAB compiler
    % included with the Ice toolbox.
    %
    % Parameters:
    %
    %   args - The arguments passed to the Slice-to-MATLAB compiler,
    %          specified as a string.
    %
    % Returns:
    %
    %   status - The Slice-to-MATLAB compiler exit status code.

    % Copyright (c) ZeroC, Inc. All rights reserved.

    function path = findFile(candidates, baseDir, type)
        path = '';
        for i = 1:length(candidates)
            f = fullfile(baseDir, candidates{i});
            if exist(f, 'file') == type
                path = f;
                break;
            end
        end
    end

    rootDir = fileparts(mfilename('fullpath'));

    path = findFile({fullfile('slice2matlab')
                     fullfile('slice2matlab.exe')
                     fullfile('..', '..', 'cpp', 'bin', 'x64', 'Release', 'slice2matlab.exe')
                     fullfile('..', '..', 'cpp', 'bin', 'x64', 'Debug', 'slice2matlab.exe')
                     fullfile('..', 'msbuild', 'packages', 'zeroc.ice.v140', 'build', 'native', 'tools', 'slice2matlab.exe')}, rootDir, 2);

    searchPath = findFile({fullfile('slice') ...
                           fullfile('..', '..', 'slice')}, rootDir, 7);
    if isempty(path)
        status = 1;
        fprintf('\nerror: Cannot locate slice2matlab compiler\n');
    elseif  isempty(searchPath)
        status = 1;
        fprintf('\nerror: Cannot locate slice dir.\n');
    else
        status = system(sprintf('"%s" -I"%s" %s', path, searchPath, args));
    end
end