Merge branch 'devel' of git.gitorious.org:mldemos/mldemos into devel
[mldemos:mldemos.git] / MLDemos_variables.pri
1 \r
2 ##############################\r
3 #                            #\r
4 #     MLDemos Variables      #\r
5 #                            #\r
6 ##############################\r
7 \r
8 # PLEASE EDIT THIS PART TO FIT YOUR NEEDS/SETUP\r
9 QT += core gui svg opengl\r
10 \r
11 DEPENDPATH += . \\r
12                 .. \\r
13                 $${MLPATH}/Core \\r
14                 $${MLPATH}/_3rdParty\r
15 INCLUDEPATH += . \\r
16                 $${MLPATH}/Core \\r
17                 $${MLPATH}/MLDemos \\r
18                 $${MLPATH}/_3rdParty\r
19 \r
20 win32{\r
21     CONFIG(debug){\r
22         LIBS += -lQtSvgd4 -lQtOpenGLd4 -lQtGuid4 -lQtCored4\r
23     }else{\r
24         LIBS += -lQtSvg4 -lQtOpenGL4 -lQtGui4 -lQtCore4\r
25     }\r
26 }\r
27 CONFIG(coreLib){\r
28 }else{\r
29     LIBS += -L$$MLPATH -L$$MLPATH/Core -lCore\r
30 }\r
31 LIBS += -L$$MLPATH/_3rdParty -l3rdParty\r
32 \r
33 \r
34 ########################################\r
35 # Location of intermediate build files #\r
36 ########################################\r
37 win32:MLBUILD = C:/tmp/MLDemos/$$NAME\r
38 unix:MLBUILD = build\r
39 \r
40 ######################\r
41 # Optional libraries #\r
42 ######################\r
43 # OpenCV : We currently support 2.1 and upwards (on windows 2.2 upwards).\r
44 # You may select which version you have\r
45 # or let qmake find it out for you (linux only).\r
46 \r
47 win32{\r
48     CONFIG += opencv22\r
49     OPENCV_VER = 230\r
50 }else:macx{\r
51 #    CONFIG += opencv21\r
52     CONFIG += opencv22\r
53 }else{\r
54     CONFIG += opencv$$system(pkg-config --modversion opencv | cut -d . -f'1,2' | sed -e \'s/\.[2-9]/2/g\' -e \'s/\.1/1/g\')\r
55 #   CONFIG += opencv22\r
56 #   CONFIG += opencv21\r
57 }\r
58 \r
59 # Boost\r
60     CONFIG += boost\r
61 \r
62 ############################################\r
63 # PATHS for the BOOST and OPENCV libraries #\r
64 ############################################\r
65 # Give here the library and include paths if they are non-standard\r
66 # (like /usr/local/[lib|include] for instance).\r
67 # For windows, please specifiy it. For linux (macosx?) the libraries\r
68 # are autodetected provided you have installed using your package\r
69 # manager     CONFIG(opencv21)|CONFIG(opencv22):OPENCV = E:/Dvt/opencv/build/x86/mingw\r
70 \r
71 win32{\r
72     CONFIG(boost):BOOST = E:/DEV/boost_1_47_0\r
73     CONFIG(opencv21)|CONFIG(opencv22):OPENCV = C:/DEV/OpenCV2.3-GCC\r
74 }else:macx{\r
75     CONFIG(boost):BOOST = /usr/local/boost\r
76     CONFIG(opencv22|opencv21):OPENCV = /usr/local/opencv\r
77 }\r
78 \r
79 # PLEASE EDIT UNTIL HERE TO FIT YOUR NEEDS/SETUP\r
80 \r
81 ##########################\r
82 # Autoconfiguration part #\r
83 ##########################\r
84 \r
85 win32{\r
86         DEFINES += WIN32\r
87         CONFIG += WIN32\r
88 }else:macx{\r
89     DEFINES += MACX\r
90     CONFIG += MACX\r
91 }else:unix{\r
92     CONFIG += link_pkgconfig\r
93 }\r
94 \r
95 win32{\r
96         #INCLUDEPATH += C:/DEV/glew-1.9.0/include\r
97         #LIBS += -LC:/DEV/glew-1.9.0/lib\r
98         #LIBS += -lglew32 -lglu32 -lopengl32 -lglut32win\r
99 }\r
100 \r
101 # OPENCV\r
102 win32:CONFIG(opencv22){\r
103     DEFINES += OPENCV22\r
104     INCLUDEPATH += . "$$OPENCV/include"\r
105     LIBS += -L"$$OPENCV/lib"\r
106     LIBS += -L"$$OPENCV/bin"\r
107 #    INCLUDEPATH += . "$$OPENCV/build/include"\r
108 #       LIBS += -L"$$OPENCV/build/x86/mingw/lib"\r
109 #       LIBS += -L"$$OPENCV/build/x86/mingw/bin"\r
110     LIBS += -lopencv_core$$OPENCV_VER \\r
111         -lopencv_features2d$$OPENCV_VER \\r
112                 -lopencv_highgui$$OPENCV_VER \\r
113                 -lopencv_imgproc$$OPENCV_VER \\r
114                 -lopencv_legacy$$OPENCV_VER \\r
115                 -lopencv_ml$$OPENCV_VER\r
116 }\r
117 macx{\r
118     CONFIG(opencv22){\r
119         DEFINES += OPENCV22\r
120         message("Using opencv22 or later")\r
121         LIBS += -lopencv_core \\r
122                 -lopencv_calib3d \\r
123                 -lopencv_contrib \\r
124                 -lopencv_features2d \\r
125                 -lopencv_flann \\r
126                 -lopencv_gpu \\r
127                 -lopencv_highgui \\r
128                 -lopencv_imgproc \\r
129                 -lopencv_legacy \\r
130                 -lopencv_objdetect \\r
131                 -lopencv_video \\r
132                 -lopencv_ml\r
133 \r
134     }\r
135     CONFIG(opencv21) {\r
136         DEFINES += OPENCV21\r
137         message("Using opencv21")\r
138         LIBS += -lcv \\r
139                 -lcxcore \\r
140                 -lcvaux \\r
141                 -lml \\r
142                 -lhighgui\r
143     }\r
144 }else:unix{\r
145 # some issues between qmake and pkgconfig\r
146 # invoking pkg-config manually instead\r
147     CONFIG(opencv22){\r
148         PKGCONFIG += opencv\r
149         DEFINES += OPENCV22\r
150         message("Using opencv22 or later")\r
151         LIBS += $$system(pkg-config --libs opencv)\r
152     }\r
153     CONFIG(opencv21) {\r
154         PKGCONFIG += opencv\r
155         DEFINES += OPENCV21\r
156         message("Using opencv21")\r
157         LIBS += $$system(pkg-config --libs opencv)\r
158     }\r
159 }\r
160 \r
161 # BOOST\r
162 CONFIG(boost){\r
163     DEFINES += WITHBOOST\r
164     message("Using boost libraries")\r
165     macx|win32{\r
166         INCLUDEPATH += "$$BOOST"\r
167     }else:unix{\r
168         #PKGCONFIG += boost # Boost doesn't provide its own pc file yet...\r
169     }\r
170 }\r
171 \r
172 ###############\r
173 # Misc. stuff #\r
174 ###############\r
175 \r
176 mainApp|coreLib{\r
177 }else{\r
178         TARGET = $$qtLibraryTarget($$NAME)\r
179         CONFIG(debug, debug|release):DESTDIR = "$$MLPATH/pluginsDebug"\r
180         CONFIG(release, debug|release):DESTDIR = "$$MLPATH/plugins"\r
181 }\r
182 CONFIG(debug, debug|release){\r
183         DEFINES += DEBUG\r
184         message("debug mode")\r
185 #       QMAKE_CXXFLAGS += -pg\r
186 #       QMAKE_LFLAGS += -pg\r
187 }else{\r
188         message("release mode")\r
189 #       linux-g++:QMAKE_CXXFLAGS += -O2 -march=native -pipe\r
190 #        macx-g++:QMAKE_CXXFLAGS += -O2\r
191 #        win32-g++:QMAKE_CXXFLAGS += -O2\r
192 }\r
193 \r
194 win32{\r
195         CONFIG(Debug, Debug|Release){\r
196         MOC_DIR = $${MLBUILD}/Debug\r
197         UI_DIR = $${MLBUILD}/Debug\r
198         RCC_DIR = $${MLBUILD}/Debug\r
199         OBJECTS_DIR = $${MLBUILD}/Debug\r
200         }else{\r
201         MOC_DIR = $${MLBUILD}/Release\r
202         UI_DIR = $${MLBUILD}/Release\r
203         RCC_DIR = $${MLBUILD}/Release\r
204         OBJECTS_DIR = $${MLBUILD}/Release\r
205         }\r
206 }else{\r
207     MOC_DIR = $${MLBUILD}\r
208     UI_DIR = $${MLBUILD}\r
209     RCC_DIR = $${MLBUILD}\r
210     OBJECTS_DIR = $${MLBUILD}\r
211 }\r
212 \r
213 #QMAKE_CXXFLAGS += -pg\r
214 #QMAKE_CXXFLAGS_DEBUG += -pg\r
215 #QMAKE_LFLAGS += -pg\r
216 #QMAKE_LFLAGS_DEBUG += -pg\r
217 \r
218 \r
219 ################################\r
220 # Turn the bloody warnings off #\r
221 ################################\r
222 win32-g++|macx|unix {\r
223         QMAKE_CXXFLAGS_WARN_ON = ""\r
224         QMAKE_CXXFLAGS += -Wno-all\r
225         #QMAKE_CXXFLAGS += -Wno-endif-labels\r
226         QMAKE_CXXFLAGS += -Wno-unused-variable\r
227         QMAKE_CXXFLAGS += -Wno-unused-parameter\r
228         #QMAKE_CXXFLAGS += -Wno-switch\r
229         QMAKE_CXXFLAGS += -Wtrigraphs\r
230         QMAKE_CXXFLAGS += -Wreturn-type\r
231         QMAKE_CXXFLAGS += -Wnon-virtual-dtor\r
232         #QMAKE_CXXFLAGS += -Woverloaded-virtual\r
233         #QMAKE_CXXFLAGS += -Wunused-variable\r
234         QMAKE_CXXFLAGS += -Wunused-value\r
235         QMAKE_CXXFLAGS += -Wunknown-pragmas\r
236         QMAKE_CXXFLAGS += -Wno-shadow\r
237         #QMAKE_CXXFLAGS += -Wno-deprecated-declarations\r
238         #QMAKE_CXXFLAGS += -Wno-missing-braces\r
239 }\r