Subversion Repositories seema-scanner

Rev

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

Rev Author Line No. Line
1 jakw 1
#------------------------------------------------------------
2
#
3
# SMScanner
4
#
5
# Control Interface and point cloud construction interface
6
# for the SeeMa Lab Structured Light Scanner.
7
#
8
# Image Analysis and Computer Graphics, DTU, 2014
9
#
10
#------------------------------------------------------------
11
 
12
QT       += core gui
13
 
14
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
15
 
16
TARGET = SMScanner
17
TEMPLATE = app
18
 
19
 
20
SOURCES += main.cpp\
2 jakw 21
        SMScanner.cpp \
22
        SMVideoWidget.cpp \
23
        SMPointCloudWidget.cpp
1 jakw 24
 
2 jakw 25
HEADERS  += SMScanner.h \
26
        SMVideoWidget.h \
27
        SMPointCloudWidget.h
1 jakw 28
 
29
FORMS    += SMScanner.ui
2 jakw 30
 
31
INCLUDEPATH += camera/ projector/
32
 
33
# Operating System dependant options
34
# Mac OS X
35
macx {
36
    CONFIG += objective_c
37
    OBJECTIVE_SOURCES += projector/OpenGLContext.Mac.mm
38
#    SOURCES += projector/OpenGLContext.GLFW.cpp
39
#    LIBS += -L/usr/local/lib/ -lglfw3
40
 
41
    INCLUDEPATH += /opt/local/include/vtk-5.10/
42
    LIBS += -framework Cocoa -framework OpenGL
43
    LIBS += -L/opt/local/lib/vtk-5.10/ -lQVTK -lvtkCommon -lvtkFiltering -lvtkRendering -lvtkIO -lvtkGraphics
44
    LIBS += -L/opt/local/lib/ -lboost_system-mt
45
    CONFIG += link_pkgconfig
46
    PKGCONFIG += opencv pcl_visualization-1.7 pcl_filters-1.7 pcl_search-1.7 pcl_registration-1.7
47
    DEFINES += BOOST_TT_HAS_OPERATOR_HPP_INCLUDED
48
 
49
    exists(/usr/local/include/dc1394/dc1394.h) {
50
        DEFINES += WITH_CAMERAIIDC
51
        LIBS += -ldc1394
52
    }
53
    exists(/Library/Frameworks/m3api.framework/m3api){
54
        DEFINES += WITH_CAMERAXIMEA
55
        INCLUDEPATH += /Library/Frameworks/m3api.framework/Headers/
56
        LIBS += -framework m3api
57
    }
58
}
59
 
60
# Linux
61
unix:!macx {
62
 
63
    CONFIG += link_pkgconfig
64
    LIBS += -lXxf86vm
65
    # Link VTK and Boost (no pkg-config)
66
    INCLUDEPATH += /usr/include/vtk-5.8/
67
    LIBS += -lQVTK -lvtkCommon -lvtkFiltering -lvtkRendering -lvtkIO -lvtkGraphics
68
    # PCL pkg-config workaround
69
    LIBS += -lboost_system -lpcl_visualization -lpcl_common -lpcl_io -lpcl_search -lpcl_surface
70
    # PKG-config libs
71
    INCLUDEPATH += /usr/local/include/pcl-1.7 /usr/include/eigen3/
72
    PKGCONFIG += gl glu x11 xrandr opencv pcl_registration-1.7 pcl_visualization-1.7 pcl_surface-1.7 pcl_search-1.7 pcl_filters-1.7 pcl_kdtree-1.7 pcl_tracking-1.7 flann eigen3
73
 
74
    exists(/usr/include/ueye.h) {
75
        DEFINES += WITH_CAMERAIDSIMAGING
76
        LIBS += -lueye_api
77
    }
78
 
79
    exists(/usr/include/dc1394/dc1394.h) {
80
        DEFINES += WITH_CAMERAIIDC
81
        LIBS += -ldc1394
82
    }
83
 
84
    exists(/opt/XIMEA/include/xiApi.h){
85
        INCLUDEPATH += /opt/XIMEA/include
86
        DEFINES += WITH_CAMERAXIMEA
87
        LIBS += -lm3api
88
    }
89
    exists(/usr/include/flycapture/FlyCapture2.h){
90
        INCLUDEPATH += /usr/include/flycapture
91
        DEFINES += WITH_CAMERAPOINTGREY
92
        LIBS += -lflycapture
93
    }
94
}
95
 
96
# Windows
97
win32 {
98
    # Boost join
99
    DEFINES += DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED
100
 
101
    SOURCES += projector/OpenGLContext.Win.cpp
102
 
103
    # opencv
104
    INCLUDEPATH += "$$(OPENCV_INCLUDE_DIR)/" #C:\opencv\build\include
105
 
106
    CONFIG(debug,debug|release){
107
    #debug
108
    LIBS += -L"$$(OPENCV_DIR)" \ #C:\opencv\build\x64\vc10\lib
109
            -lopencv_core247d \
110
            -lopencv_highgui247d \
111
            -lopencv_imgproc247d \
112
            -lopencv_calib3d247d
113
    } else {
114
    #release
115
    LIBS += -L"$$(OPENCV_DIR)" \
116
            -lopencv_core247 \
117
            -lopencv_highgui247 \
118
            -lopencv_imgproc247 \
119
            -lopencv_calib3d247
120
    }
121
 
122
    # pcl
123
    INCLUDEPATH += "$$(PCL_INCLUDE_DIR)/" #C:\Program Files\PCL\include\pcl-1.7
124
 
125
    CONFIG(debug,debug|release){
126
    #debug
127
    LIBS += -L"$$(PCL_DIR)" \ #C:\Program Files\PCL\lib
128
            -lpcl_visualization_debug \
129
            -lpcl_io_debug \
130
            -lpcl_common_debug \
131
            -lpcl_features_debug \
132
            -lpcl_filters_debug \
133
            -lpcl_io_debug \
134
            -lpcl_io_ply_debug \
135
            -lpcl_kdtree_debug \
136
            -lpcl_keypoints_debug \
137
            -lpcl_octree_debug \
138
            -lpcl_registration_debug \
139
            -lpcl_sample_consensus_debug \
140
            -lpcl_search_debug \
141
            -lpcl_segmentation_debug \
142
            -lpcl_surface_debug \
143
            -lpcl_tracking_debug \
144
            -lpcl_visualization_debug
145
    } else {
146
    # release
147
    LIBS += -L"$$(PCL_DIR)" \
148
            -lpcl_visualization_release \
149
            -lpcl_io_release \
150
            -lpcl_common_release \
151
            -lpcl_features_release \
152
            -lpcl_filters_release \
153
            -lpcl_io_release \
154
            -lpcl_io_ply_release \
155
            -lpcl_kdtree_release \
156
            -lpcl_keypoints_release \
157
            -lpcl_octree_release \
158
            -lpcl_registration_release \
159
            -lpcl_sample_consensus_release \
160
            -lpcl_search_release \
161
            -lpcl_segmentation_release \
162
            -lpcl_surface_release \
163
            -lpcl_tracking_release \
164
            -lpcl_visualization_release
165
    }
166
 
167
    # pcl dependencies
168
    INCLUDEPATH += "$$(BOOST_ROOT)/include" \
169
                   "$$(EIGEN_ROOT)/include" \
170
                   "$$(FLANN_ROOT)/include"
171
    LIBS += -L"$$(BOOST_ROOT)/lib" -lboost_system-vc100-mt-1_50 -lboost_system-vc100-mt-gd-1_50
172
 
173
    # vtk
174
    INCLUDEPATH += "$$(VTK_INCLUDE_DIR)" #C:\Program Files\VTK\include\vtk-5.10
175
 
176
    CONFIG(debug,debug|release){
177
    #debug
178
    LIBS += -L"$$(VTK_DIR)" \ #C:\Program Files\VTK\lib\vtk-5.10
179
            -lvtkGraphics-gd \
180
            -lQVTK-gd \
181
            -lvtkCommon-gd \
182
            -lvtkFiltering-gd \
183
            -lvtkRendering-gd \
184
            -lvtkIO-gd \
185
            -lvtkpng-gd \
186
            -lvtksys-gd \
187
            -lvtktiff-gd \
188
            -lvtkjpeg-gd \
189
            -lvtkexpat-gd \
190
            -lvtkzlib-gd
191
    } else {
192
    # release
193
    LIBS += -L"$$(VTK_DIR)" \
194
            -lvtkGraphics \
195
            -lQVTK \
196
            -lvtkCommon \
197
            -lvtkFiltering \
198
            -lvtkRendering \
199
            -lvtkIO \
200
            -lvtkpng \
201
            -lvtksys \
202
            -lvtktiff \
203
            -lvtkjpeg \
204
            -lvtkexpat \
205
            -lvtkzlib
206
    }
207
 
208
    # uEye API
209
    exists("C:/Program Files/IDS/uEye/Develop/include/uEye.h"){
210
        DEFINES += WITH_CAMERAIDSIMAGING
211
        INCLUDEPATH += "C:/Program Files/IDS/uEye/Develop/include/"
212
        LIBS += -L"C:/Program Files/IDS/uEye/Develop/Lib" -luEye_api_64
213
    }
214
 
215
    # XIMEA API
216
    exists("C:/XIMEA/API/xiApi.h"){
217
        DEFINES += WITH_CAMERAXIMEA
218
        INCLUDEPATH += "C:/XIMEA/API"
219
        LIBS += -L"C:/XIMEA/API/x64" -lm3apiX64
220
    }
221
 
222
    # Point Grey API
223
    exists("C:/Program Files/Point Grey Research/FlyCapture2/include/FlyCapture2.h"){
224
        DEFINES += WITH_CAMERAPOINTGREY
225
        INCLUDEPATH += "C:/Program Files/Point Grey Research/FlyCapture2/include/"
226
        LIBS += -L"C:/Program Files/Point Grey Research/FlyCapture2/lib64" -lFlyCapture2
227
    }
228
}
229
 
230
# Compile with specific camera driver bindings
231
# libdc1394
232
contains(DEFINES, WITH_CAMERAIIDC) {
233
    HEADERS += camera/CameraIIDC.h
234
    SOURCES += camera/CameraIIDC.cpp
235
}
236
# libueye
237
contains(DEFINES, WITH_CAMERAIDSIMAGING) {
238
    HEADERS += camera/CameraIDSImaging.h
239
    SOURCES += camera/CameraIDSImaging.cpp
240
}
241
# libm3api
242
contains(DEFINES, WITH_CAMERAXIMEA) {
243
    HEADERS += camera/CameraXIMEA.h
244
    SOURCES += camera/CameraXIMEA.cpp
245
}
246
# flycapture
247
contains(DEFINES, WITH_CAMERAPOINTGREY) {
248
    HEADERS += camera/CameraPointGrey.h
249
    SOURCES += camera/CameraPointGrey.cpp
250
}
251