Subversion Repositories seema-scanner

Rev

Rev 71 | Rev 194 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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