Subversion Repositories seema-scanner

Rev

Rev 3 | Rev 71 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 jakw 1
%%
2
% Build Matlab MEX functions
28 jakw 3
% Jakob Wilm, DTU, 2014
1 jakw 4
 
5
%% Camera
28 jakw 6
srcDirCamera = '../src/camera/';
1 jakw 7
if ismac
28 jakw 8
    CXXFLAGS = 'CXXFLAGS=$CXXFLAGS -I/opt/local/lib/';
9
    LDFLAGS = 'LDFLAGS=$LDFLAGS -ldc1394';
1 jakw 10
    DEFINES = {'-DWITH_CAMERAIIDC'};
11
    srcFilesCamera = {'Camera.cpp', 'CameraIIDC.cpp'};
12
elseif isunix
28 jakw 13
    CXXFLAGS = 'CXXFLAGS=$CXXFLAGS -I/usr/include/flycapture';
14
    LDFLAGS = 'LINKLIBS=$LINKLIBS -lflycapture';
15
    DEFINES = {'-DWITH_CAMERAPOINTGREY'};
16
    srcFilesCamera = {'Camera.cpp', 'CameraPointGrey.cpp'};
1 jakw 17
elseif ispc
28 jakw 18
	CXXFLAGS = '';
19
    LDFLAGS = '';
20
    DEFINES = {};
21
    srcFilesCamera = {'Camera.cpp'};
1 jakw 22
end
23
 
24
srcFilesCamera = strcat(srcDirCamera, srcFilesCamera);
25
srcFilesCamera = ['CameraMex.cpp' srcFilesCamera];
26
 
27
mex('-v', ['-I' srcDirCamera], DEFINES{:}, srcFilesCamera{:}, CXXFLAGS, LDFLAGS);
28
 
29
%% Projector
28 jakw 30
srcDirProjector = '../src/projector/';
3 jakw 31
srcFilesProjector = {'ProjectorOpenGL.cpp'};
1 jakw 32
if ismac
3 jakw 33
    srcFilesProjector = [srcFilesProjector 'OpenGLContext.Mac.cpp'];
28 jakw 34
    CXXFLAGS = 'CXXFLAGS=$CXXFLAGS -ObjC++';
35
    LDFLAGS = 'LINKLIBS=$LINKLIBS -framework Cocoa -framework OpenGL"';
1 jakw 36
elseif isunix
28 jakw 37
    %srcFilesProjector = [srcFilesProjector 'OpenGLContext.Xscreens.cpp'];
38
    srcFilesProjector = [srcFilesProjector 'OpenGLContext.XRandr.cpp'];
39
    CXXFLAGS = 'CXXFLAGS=$CXXFLAGS';
40
    LDFLAGS = 'LINKLIBS=$LINKLIBS -lGL -lGLU -lX11 -lXxf86vm -lXi -lXcursor -lXrandr';
1 jakw 41
elseif ispc
42
    srcFilesProjector = [srcFilesProjector 'OpenGLContext.Win.cpp']; 
43
	CXXFLAGS = '-I.';
44
    LDFLAGS = '-lOpenGL32';
45
end
46
 
47
srcFilesProjector = strcat(srcDirProjector, srcFilesProjector);
48
srcFilesProjector = ['ProjectorMex.cpp' srcFilesProjector];
49
 
50
mex('-v', ['-I' srcDirProjector], srcFilesProjector{:}, CXXFLAGS, LDFLAGS);
51
 
28 jakw 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