[mmap] partial revert of 8cef8db4 to disable using mmap file reader
[videoplayer.git] / videoplayer.pro
blob1d2b76ab7dcc51ac4b20e7c274286adbccd056e3
1 TEMPLATE = app
3 QT += opengl
4 CONFIG += thread console debug_and_release
6 # source files
7 HEADERS = mainwindow.h videoData.h readerInterface.h yuvReader.h frameQueue.h videoTransport.h config.h
8 HEADERS += stats.h
10 SOURCES = main.cpp mainwindow.cpp videoData.cpp yuvReader.cpp frameQueue.cpp videoTransport.cpp util.cpp
11 SOURCES += stats.cpp
13 # openGL video widget source files
14 HEADERS += GLvideo_params.h GLvideo_mt.h GLvideo_rt.h GLvideo_renderer.h GLvideo_repeater.h shaders.h
15 SOURCES += GLvideo_mt.cpp GLvideo_rt.cpp
17 # video texture transfer engines
18 HEADERS += GLvideo_tradtex.h GLvideo_pbotex.h
19 SOURCES += GLvideo_tradtex.cpp GLvideo_pbotex.cpp
21 # enable or disable the optional features here
22 #DEFINES += HAVE_DIRAC
23 DEFINES += WITH_OSD
25 contains(DEFINES, WITH_OSD) {
26 SOURCES += GLvideo_osd.cpp
27 HEADER += GLvideo_osd.h
30 unix {
31 SOURCES += QConsoleInput.cpp
32 HEADERS += QConsoleInput.h
34 # mmap gives a performance increase when reading
35 HEADERS += yuvReaderMmap.h
36 SOURCES += yuvReaderMmap.cpp
39 contains(DEFINES, HAVE_DIRAC) {
40 HEADERS += diracReader.h schro_parse.c
41 SOURCES += diracReader.cpp
43 #schroedinger library
44 CONFIG += link_pkgconfig
45 PKGCONFIG += schroedinger-1.0
48 linux-g++ {
49 # video frame repeating engines
50 HEADERS += GLvideo_x11rep.h
51 SOURCES += GLvideo_x11rep.cpp
53 SOURCES += QShuttlePro.cpp
54 HEADERS += QShuttlePro.h
56 # GLEW is not managed by pkgconfig
57 LIBS += -lGLEW
59 contains(DEFINES, WITH_OSD) {
60 CONFIG += link_pkgconfig
61 PKGCONFIG += ftgl
65 macx {
66 #helper functions for OS X openGL
67 SOURCES += agl_getproc.cpp
68 HEADERS += agl_getproc.h
70 #boost
71 INCLUDEPATH += /opt/local/include/boost-1_34_1/
73 contains(DEFINES, WITH_OSD) {
74 CONFIG += link_pkgconfig
75 PKGCONFIG += ftgl
78 #glew
79 LIBS += -lGLEW
81 #see http://developer.apple.com/qa/qa2007/qa1567.html
82 QMAKE_LFLAGS += -dylib_file \
83 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:\
84 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
87 win32 {
89 contains(QMAKE_CXX, cl) {
90 #win32 builds using the msvc toolchain
91 message("configuring for win32 msvc build")
93 WINLIBS = c:\libs-msvc2008
94 QMAKE_LFLAGS += /VERBOSE:LIB
95 DEFINES += _CRT_SECURE_NO_WARNINGS
97 #----------------------------------------------------
98 # glew
99 DEFINES += GLEW_STATIC
100 LIBS += $$WINLIBS\glew\lib\glew32s.lib
101 INCLUDEPATH += $$WINLIBS\glew\include
103 #----------------------------------------------------
104 # boost
106 #for auto-linking
107 LIBS += -L$$WINLIBS\boost_1_35_0\stage\lib
108 INCLUDEPATH += $$WINLIBS\boost_1_35_0\
110 contains(DEFINES, WITH_OSD) {
111 #----------------------------------------------------
112 # freetype
113 FT_LIB = $$WINLIBS\freetype-2.3.5\objs\freetype235
114 CONFIG(debug, debug|release) {
115 FT_LIB = $$join(FT_LIB,,, _D.lib)
116 } else {
117 FT_LIB = $$join(FT_LIB,,, .lib)
119 LIBS += $$FT_LIB
120 INCLUDEPATH += $$WINLIBS\freetype-2.3.5\include
122 #----------------------------------------------------
123 # ftgl
124 FTGL_LIB += $$WINLIBS\FTGL\win32_vcpp\build\ftgl_static
125 CONFIG(debug, debug|release) {
126 FTGL_LIB = $$join(FTGL_LIB,,, _MT_d.lib)
127 } else {
128 FTGL_LIB = $$join(FTGL_LIB,,, _MT.lib)
130 LIBS += $$FTGL_LIB
131 INCLUDEPATH += $$WINLIBS\ftgl
132 DEFINES += FTGL_LIBRARY_STATIC
135 } else {
136 #win32 builds using the mingw toolchain
137 message("configuring for win32 mingw build")
139 MINGWLIBS = c:\libs-mingw
141 #----------------------------------------------------
142 # glew
143 DEFINES += GLEW_STATIC
144 LIBS = $$MINGWLIBS\glew\lib\libglew32.a
145 INCLUDEPATH += $$MINGWLIBS\glew\include
147 #----------------------------------------------------
148 # boost
149 LIBS += $$MINGWLIBS\boost_1_35_0\stage\lib\libboost_program_options-mgw34-mt-s-1_35.lib
150 INCLUDEPATH += $$MINGWLIBS\boost_1_35_0
152 contains(DEFINES, WITH_OSD) {
153 #----------------------------------------------------
154 # ftgl
155 LIBS += $$MINGWLIBS\FTGL\src\libftgl.a
156 INCLUDEPATH += $$MINGWLIBS\FTGL
157 DEFINES += HAVE_FTGL
159 #----------------------------------------------------
160 # freetype
161 LIBS += $$MINGWLIBS\freetype-2.3.5\lib\libfreetype.a
162 INCLUDEPATH += $$MINGWLIBS\freetype-2.3.5\include
164 #doh! these need to be on the linker command line after the freetype and ftgl .a files
165 LIBS += -lopengl32 -lglu32
168 } else {
169 LIBS += -lboost_program_options