Subversion Repositories seema-scanner

Rev

Rev 3 | Rev 71 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3 Rev 28
Line 1... Line 1...
1
%%
1
%%
2
% Build Matlab MEX functions
2
% Build Matlab MEX functions
3
% Jakob Wilm, DTU, 2013
3
% Jakob Wilm, DTU, 2014
4
 
-
 
5
srcDir = '../src/';
-
 
6
 
4
 
7
%% Camera
5
%% Camera
8
srcDirCamera = [srcDir 'camera/'];
6
srcDirCamera = '../src/camera/';
9
if ismac
7
if ismac
10
    CXXFLAGS = '-I/opt/local/lib/';
8
    CXXFLAGS = 'CXXFLAGS=$CXXFLAGS -I/opt/local/lib/';
11
    LDFLAGS = 'LDFLAGS = "\$LDFLAGS -ldc1394 -lueye_api"';
9
    LDFLAGS = 'LDFLAGS=$LDFLAGS -ldc1394';
12
    DEFINES = {'-DWITH_CAMERAIIDC'};
10
    DEFINES = {'-DWITH_CAMERAIIDC'};
13
    srcFilesCamera = {'Camera.cpp', 'CameraIIDC.cpp'};
11
    srcFilesCamera = {'Camera.cpp', 'CameraIIDC.cpp'};
14
elseif isunix
12
elseif isunix
15
    CXXFLAGS = '-I/usr/local/lib/';
13
    CXXFLAGS = 'CXXFLAGS=$CXXFLAGS -I/usr/include/flycapture';
16
    LDFLAGS = 'LDFLAGS = "\$LDFLAGS -ldc1394 -lueye_api"';
14
    LDFLAGS = 'LINKLIBS=$LINKLIBS -lflycapture';
17
    DEFINES = {'-DWITH_CAMERAIIDC', '-DWITH_CAMERAIDSIMAGING'};
15
    DEFINES = {'-DWITH_CAMERAPOINTGREY'};
18
    srcFilesCamera = {'Camera.cpp', 'CameraIIDC.cpp', 'CameraIDSImaging.cpp'};
16
    srcFilesCamera = {'Camera.cpp', 'CameraPointGrey.cpp'};
19
elseif ispc
17
elseif ispc
20
	CXXFLAGS = '-IC:/Program Files/IDS/uEye/Develop/include/';
18
	CXXFLAGS = '';
21
    LDFLAGS = 'C:\Program Files\IDS\uEye\Develop\Lib\uEye_api_64.lib';
19
    LDFLAGS = '';
22
    DEFINES = {'-DWITH_CAMERAIDSIMAGING'};
20
    DEFINES = {};
23
    srcFilesCamera = {'Camera.cpp', 'CameraIDSImaging.cpp'};
21
    srcFilesCamera = {'Camera.cpp'};
24
end
22
end
25
 
23
 
26
srcFilesCamera = strcat(srcDirCamera, srcFilesCamera);
24
srcFilesCamera = strcat(srcDirCamera, srcFilesCamera);
27
srcFilesCamera = ['CameraMex.cpp' srcFilesCamera];
25
srcFilesCamera = ['CameraMex.cpp' srcFilesCamera];
28
 
26
 
29
mex('-v', ['-I' srcDirCamera], DEFINES{:}, srcFilesCamera{:}, CXXFLAGS, LDFLAGS);
27
mex('-v', ['-I' srcDirCamera], DEFINES{:}, srcFilesCamera{:}, CXXFLAGS, LDFLAGS);
30
 
28
 
31
%% Projector
29
%% Projector
32
srcDirProjector = [srcDir 'projector/'];
30
srcDirProjector = '../src/projector/';
33
srcFilesProjector = {'ProjectorOpenGL.cpp'};
31
srcFilesProjector = {'ProjectorOpenGL.cpp'};
34
if ismac
32
if ismac
35
    srcFilesProjector = [srcFilesProjector 'OpenGLContext.Mac.cpp'];
33
    srcFilesProjector = [srcFilesProjector 'OpenGLContext.Mac.cpp'];
36
    CXXFLAGS = 'CXXFLAGS = "\$CXXFLAGS -ObjC++"';
34
    CXXFLAGS = 'CXXFLAGS=$CXXFLAGS -ObjC++';
37
    LDFLAGS = 'LDFLAGS = "\$LDFLAGS -framework Cocoa -framework OpenGL"';
35
    LDFLAGS = 'LINKLIBS=$LINKLIBS -framework Cocoa -framework OpenGL"';
38
elseif isunix
36
elseif isunix
-
 
37
    %srcFilesProjector = [srcFilesProjector 'OpenGLContext.Xscreens.cpp'];
39
    srcFilesProjector = [srcFilesProjector 'OpenGLContext.Unix.cpp'];
38
    srcFilesProjector = [srcFilesProjector 'OpenGLContext.XRandr.cpp'];
40
    CXXFLAGS = 'CXXFLAGS = "\$CXXFLAGS"';
39
    CXXFLAGS = 'CXXFLAGS=$CXXFLAGS';
41
    LDFLAGS = 'LDFLAGS = "\$LDFLAGS -lGL -lGLU -lX11 -lXxf86vm"';
40
    LDFLAGS = 'LINKLIBS=$LINKLIBS -lGL -lGLU -lX11 -lXxf86vm -lXi -lXcursor -lXrandr';
42
elseif ispc
41
elseif ispc
43
    srcFilesProjector = [srcFilesProjector 'OpenGLContext.Win.cpp']; 
42
    srcFilesProjector = [srcFilesProjector 'OpenGLContext.Win.cpp']; 
44
	CXXFLAGS = '-I.';
43
	CXXFLAGS = '-I.';
45
    LDFLAGS = '-lOpenGL32';
44
    LDFLAGS = '-lOpenGL32';
46
end
45
end
Line 48... Line 47...
48
srcFilesProjector = strcat(srcDirProjector, srcFilesProjector);
47
srcFilesProjector = strcat(srcDirProjector, srcFilesProjector);
49
srcFilesProjector = ['ProjectorMex.cpp' srcFilesProjector];
48
srcFilesProjector = ['ProjectorMex.cpp' srcFilesProjector];
50
 
49
 
51
mex('-v', ['-I' srcDirProjector], srcFilesProjector{:}, CXXFLAGS, LDFLAGS);
50
mex('-v', ['-I' srcDirProjector], srcFilesProjector{:}, CXXFLAGS, LDFLAGS);
52
 
51
 
-
 
52
 
-
 
53
%% Rotation Stage
-
 
54
srcDirRotationStage = '../src/rotationstage/';
-
 
55
srcFilesRotationStage = {'RotationStage.cpp'};
-
 
56
if ismac
-
 
57
    CFLAGS = 'CFLAGS=$CFLAGS';
-
 
58
    CXXFLAGS = 'CXXFLAGS=$CXXFLAGS';
-
 
59
    LINKLIBS = 'LINKLIBS=$LINKLIBS"';
-
 
60
elseif isunix
-
 
61
    CFLAGS = 'CFLAGS=$CFLAGS -std=c99';
-
 
62
    CXXFLAGS = 'CXXFLAGS=$CXXFLAGS';
-
 
63
    LINKLIBS = 'LINKLIBS=$LINKLIBS -lusb-1.0';
-
 
64
elseif ispc
-
 
65
	CFLAGS = 'CFLAGS=$CFLAGS';
-
 
66
    LINKLIBS = 'LINKLIBS=$LINKLIBS';
-
 
67
end
-
 
68
 
-
 
69
srcFilesRotationStage = strcat(srcDirRotationStage, srcFilesRotationStage);
-
 
70
srcFilesRotationStage = ['RotationStageMex.cpp' srcFilesRotationStage];
-
 
71
 
-
 
72
% C file needs own call to gcc (c99, not ansi)
-
 
73
mex('-v', '-c', ['-I' srcDirRotationStage], [srcDirRotationStage 'ArcusPerformaxDriver.c'], CFLAGS);
-
 
74
% C++ files will be compiled with g++
-
 
75
mex('-v', ['-I' srcDirRotationStage], srcFilesRotationStage{:}, 'ArcusPerformaxDriver.o', CXXFLAGS, LINKLIBS);
-
 
76
 
-
 
77