Rev 7 | Rev 9 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#------------------------------------------------------------
#
# SMScanner
#
# Control Interface and point cloud construction interface
# for the SeeMa Lab Structured Light Scanner.
#
# Image Analysis and Computer Graphics, DTU, 2014
#
#------------------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = SMScanner
TEMPLATE = app
HEADERS += SMScanner.h \
SMVideoWidget.h \
SMPointCloudWidget.h \
camera/Camera.h \
projector/Projector.h \
projector/OpenGLContext.h \
codec/Codec.h \
codec/CodecGrayCode.h \
codec/CodecPhaseShift2x3.h \
triangulator/Triangulator.h \
cvtools.h \
SMCalibrationParams.h \
SMCaptureWorker.h \
SMTriangulationWorker.h
SOURCES += main.cpp\
SMScanner.cpp \
SMVideoWidget.cpp \
SMPointCloudWidget.cpp \
camera/Camera.cpp \
codec/CodecGrayCode.cpp \
codec/CodecPhaseShift2x3.cpp \
triangulator/Triangulator.cpp \
cvtools.cpp \
SMCalibrationParams.cpp \
SMCaptureWorker.cpp \
SMTriangulationWorker.cpp
FORMS += SMScanner.ui \
SMAboutDialog.ui
INCLUDEPATH += camera/ projector/ codec/ triangulator/
# Operating System dependant linking and including
# Linux
unix:!macx {
CONFIG += link_pkgconfig
# Link VTK and Boost (no pkg-config)
INCLUDEPATH += /usr/include/vtk-5.8/
LIBS += -lQVTK -lvtkCommon -lvtkFiltering -lvtkRendering -lvtkIO -lvtkGraphics
# PCL pkg-config workaround
LIBS += -lboost_system -lpcl_visualization -lpcl_common -lpcl_io -lpcl_search -lpcl_surface
# PKG-config libs
INCLUDEPATH += /usr/local/include/pcl-1.7 /usr/include/eigen3/
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
}
# Windows
win32 {
# Boost join
DEFINES += DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED
# opencv
INCLUDEPATH += "$$(OPENCV_INCLUDE_DIR)/" #C:\opencv\build\include
CONFIG(debug,debug|release){
#debug
LIBS += -L"$$(OPENCV_DIR)" \ #C:\opencv\build\x64\vc10\lib
-lopencv_core247d \
-lopencv_highgui247d \
-lopencv_imgproc247d \
-lopencv_calib3d247d
} else {
#release
LIBS += -L"$$(OPENCV_DIR)" \
-lopencv_core247 \
-lopencv_highgui247 \
-lopencv_imgproc247 \
-lopencv_calib3d247
}
# pcl
INCLUDEPATH += "$$(PCL_INCLUDE_DIR)/" #C:\Program Files\PCL\include\pcl-1.7
CONFIG(debug,debug|release){
#debug
LIBS += -L"$$(PCL_DIR)" \ #C:\Program Files\PCL\lib
-lpcl_visualization_debug \
-lpcl_io_debug \
-lpcl_common_debug \
-lpcl_features_debug \
-lpcl_filters_debug \
-lpcl_io_debug \
-lpcl_io_ply_debug \
-lpcl_kdtree_debug \
-lpcl_keypoints_debug \
-lpcl_octree_debug \
-lpcl_registration_debug \
-lpcl_sample_consensus_debug \
-lpcl_search_debug \
-lpcl_segmentation_debug \
-lpcl_surface_debug \
-lpcl_tracking_debug \
-lpcl_visualization_debug
} else {
# release
LIBS += -L"$$(PCL_DIR)" \
-lpcl_visualization_release \
-lpcl_io_release \
-lpcl_common_release \
-lpcl_features_release \
-lpcl_filters_release \
-lpcl_io_release \
-lpcl_io_ply_release \
-lpcl_kdtree_release \
-lpcl_keypoints_release \
-lpcl_octree_release \
-lpcl_registration_release \
-lpcl_sample_consensus_release \
-lpcl_search_release \
-lpcl_segmentation_release \
-lpcl_surface_release \
-lpcl_tracking_release \
-lpcl_visualization_release
}
# pcl dependencies
INCLUDEPATH += "$$(BOOST_ROOT)/include" \
"$$(EIGEN_ROOT)/include" \
"$$(FLANN_ROOT)/include"
LIBS += -L"$$(BOOST_ROOT)/lib" -lboost_system-vc100-mt-1_50 -lboost_system-vc100-mt-gd-1_50
# vtk
INCLUDEPATH += "$$(VTK_INCLUDE_DIR)" #C:\Program Files\VTK\include\vtk-5.10
CONFIG(debug,debug|release){
#debug
LIBS += -L"$$(VTK_DIR)" \ #C:\Program Files\VTK\lib\vtk-5.10
-lvtkGraphics-gd \
-lQVTK-gd \
-lvtkCommon-gd \
-lvtkFiltering-gd \
-lvtkRendering-gd \
-lvtkIO-gd \
-lvtkpng-gd \
-lvtksys-gd \
-lvtktiff-gd \
-lvtkjpeg-gd \
-lvtkexpat-gd \
-lvtkzlib-gd
} else {
# release
LIBS += -L"$$(VTK_DIR)" \
-lvtkGraphics \
-lQVTK \
-lvtkCommon \
-lvtkFiltering \
-lvtkRendering \
-lvtkIO \
-lvtkpng \
-lvtksys \
-lvtktiff \
-lvtkjpeg \
-lvtkexpat \
-lvtkzlib
}
}
# Mac OS X
macx {
INCLUDEPATH += /opt/local/include/vtk-5.10/
LIBS += -L/opt/local/lib/vtk-5.10/ -lQVTK -lvtkCommon -lvtkFiltering -lvtkRendering -lvtkIO -lvtkGraphics
LIBS += -L/opt/local/lib/ -lboost_system-mt
CONFIG += link_pkgconfig
PKGCONFIG += opencv pcl_visualization-1.7 pcl_filters-1.7 pcl_search-1.7 pcl_registration-1.7
DEFINES += BOOST_TT_HAS_OPERATOR_HPP_INCLUDED
}
# Compile with system dependent OpenGL Context code
unix:!macx{
SOURCES += projector/OpenGLContext.Unix.cpp
LIBS += -lXxf86vm
}
win32{
SOURCES += projector/OpenGLContext.Win.cpp
}
macx{
CONFIG += objective_c
OBJECTIVE_SOURCES += projector/OpenGLContext.Mac.mm
LIBS += -framework Cocoa -framework OpenGL
# SOURCES += projector/OpenGLContext.GLFW.cpp
# LIBS += -L/usr/local/lib/ -lglfw3
}
# Compile with camera driver bindings
# Point Grey flycapture
unix:!macx:exists(/usr/include/flycapture/FlyCapture2.h){
INCLUDEPATH += /usr/include/flycapture
DEFINES += WITH_CAMERAPOINTGREY
LIBS += -lflycapture
}
win32:exists("C:/Program Files/Point Grey Research/FlyCapture2/include/FlyCapture2.h"){
DEFINES += WITH_CAMERAPOINTGREY
INCLUDEPATH += "C:/Program Files/Point Grey Research/FlyCapture2/include/"
LIBS += -L"C:/Program Files/Point Grey Research/FlyCapture2/lib64" -lFlyCapture2
}
contains(DEFINES, WITH_CAMERAPOINTGREY) {
HEADERS += camera/CameraPointGrey.h
SOURCES += camera/CameraPointGrey.cpp
}