]> git.sesse.net Git - kdenlive/blob - src/CMakeLists.txt
Full screen video playback:
[kdenlive] / src / CMakeLists.txt
1 add_subdirectory( widgets )
2 add_subdirectory( mimetypes )
3
4 macro_optional_find_package(Nepomuk)
5
6 if (Nepomuk_FOUND)
7     INCLUDE_DIRECTORIES(NEPOMUK_INCLUDES )
8     set( optional_libs ${NEPOMUK_LIBRARIES} )
9     add_definitions(-DNEPOMUK)
10 endif (Nepomuk_FOUND)
11
12 if (Q_WS_X11)
13     include_directories (${X11_Xlib_INCLUDE_PATH} ) 
14 endif (Q_WS_X11)
15
16 if (APPLE)
17   find_package(OpenGL)
18   set(QT_USE_QTOPENGL TRUE)
19 else (APPLE)
20   macro_optional_find_package(OpenGL)
21 endif (APPLE)
22
23 include_directories (
24     ${KDE4_INCLUDE_DIR}
25     ${KDE4_INCLUDE_DIR}/KDE
26     ${QT_INCLUDES}
27     ${LIBMLT_INCLUDE_DIR}
28     ${LIBMLTPLUS_INCLUDE_DIR}
29     ${QDBUS_INCLUDE_DIRS}
30     ${CMAKE_SOURCE_DIR}
31     ${CMAKE_BINARY_DIR}
32
33     ${CMAKE_SOURCE_DIR}/src/widgets
34     ${CMAKE_SOURCE_DIR}/src/colorcorrection
35     ${CMAKE_SOURCE_DIR}/src/onmonitoritems
36 )
37
38 LINK_LIBRARIES(
39 ${LIBMLT_LIBRARY}
40 ${LIBMLTPLUS_LIBRARY}
41 ${optional_libs}
42 )
43
44
45
46 kde4_add_ui_files(kdenlive_UI
47   widgets/timeline_ui.ui
48   widgets/recmonitor_ui.ui
49   widgets/colorclip_ui.ui
50   widgets/slideshowclip_ui.ui
51   widgets/configmisc_ui.ui
52   widgets/configenv_ui.ui
53   widgets/configtimeline_ui.ui
54   widgets/configsdl_ui.ui
55   widgets/configcapture_ui.ui
56   widgets/configtranscode_ui.ui
57   widgets/configproject_ui.ui
58   widgets/effectlist_ui.ui
59   widgets/effectstack_ui.ui
60   widgets/profiledialog_ui.ui
61   widgets/projectsettings_ui.ui
62   widgets/keyframewidget_ui.ui
63   widgets/listval_ui.ui
64   widgets/wipeval_ui.ui
65   widgets/boolval_ui.ui
66   widgets/titlewidget_ui.ui
67   widgets/unicodedialog_ui.ui
68   widgets/timelinebuttons_ui.ui
69   widgets/renderwidget_ui.ui
70   widgets/saveprofile_ui.ui
71   widgets/transitionsettings_ui.ui
72   widgets/configjogshuttle_ui.ui
73   widgets/trackheader_ui.ui
74   widgets/clipproperties_ui.ui
75   widgets/markerdialog_ui.ui
76   widgets/keyframedialog_ui.ui
77   widgets/clipdurationdialog_ui.ui
78   widgets/managecaptures_ui.ui
79   widgets/geometryval_ui.ui
80   widgets/wizardstandard_ui.ui
81   widgets/wizardextra_ui.ui
82   widgets/wizardcheck_ui.ui
83   widgets/wizardmltcheck_ui.ui
84   widgets/spacerdialog_ui.ui
85   widgets/addtrack_ui.ui
86   widgets/dvdwizardvob_ui.ui
87   widgets/dvdwizardmenu_ui.ui
88   widgets/dvdwizardstatus_ui.ui
89   widgets/dvdwizardchapters_ui.ui
90   widgets/missingclips_ui.ui
91   widgets/cliptranscode_ui.ui
92   widgets/templateclip_ui.ui
93   widgets/keyframeeditor_ui.ui
94   widgets/timecodedisplay_ui.ui
95   widgets/tracksconfigdialog_ui.ui
96   widgets/urlval_ui.ui
97   widgets/vectorscope_ui.ui
98   widgets/colorplaneexport_ui.ui
99   widgets/waveform_ui.ui
100   widgets/rgbparade_ui.ui
101   widgets/histogram_ui.ui
102   widgets/geometrywidget_ui.ui
103   widgets/stopmotion_ui.ui
104   widgets/monitorscenecontrolwidget_ui.ui
105   widgets/cornerswidget_ui.ui
106 )
107
108 set(kdenlive_SRCS
109   addclipcommand.cpp
110   main.cpp
111   mainwindow.cpp
112   customruler.cpp
113   smallruler.cpp
114   projectlist.cpp
115   projectitem.cpp
116   monitor.cpp
117   gentime.cpp
118   renderer.cpp
119   kdenlivedoc.cpp
120   projectlistview.cpp
121   trackview.cpp
122   docclipbase.cpp
123   timecode.cpp
124   monitormanager.cpp
125   headertrack.cpp
126   customtrackview.cpp
127   clipitem.cpp
128   moveclipcommand.cpp
129   resizeclipcommand.cpp
130   razorclipcommand.cpp
131   addtimelineclipcommand.cpp
132   addmarkercommand.cpp
133   kthumb.cpp
134   clipmanager.cpp
135   effectslist.cpp
136   initeffects.cpp
137   effectslistview.cpp
138   addeffectcommand.cpp
139   editeffectcommand.cpp
140   moveeffectcommand.cpp
141   effectstackview.cpp
142   effectstackedit.cpp
143   parameterplotter.cpp
144   profilesdialog.cpp
145   projectsettings.cpp
146   kdenlivesettingsdialog.cpp
147   complexparameter.cpp
148   titlewidget.cpp
149   unicodedialog.cpp
150   graphicsscenerectmove.cpp
151   effectslistwidget.cpp
152   titledocument.cpp
153   transition.cpp
154   renderwidget.cpp
155   abstractclipitem.cpp
156   transitionsettings.cpp
157   recmonitor.cpp
158   addtransitioncommand.cpp
159   edittransitioncommand.cpp
160   addfoldercommand.cpp
161   editfoldercommand.cpp
162   clipproperties.cpp
163   movetransitioncommand.cpp
164   slideshowclip.cpp
165   markerdialog.cpp
166   guide.cpp
167   editguidecommand.cpp
168   statusbarmessagelabel.cpp
169   editkeyframecommand.cpp
170   clipdurationdialog.cpp
171   managecapturesdialog.cpp
172   changespeedcommand.cpp
173   geometryval.cpp
174   wizard.cpp
175   customtrackscene.cpp
176   abstractgroupitem.cpp
177   keyframehelper.cpp
178   editclipcommand.cpp
179   insertspacecommand.cpp
180   spacerdialog.cpp
181   addtrackcommand.cpp
182   movegroupcommand.cpp
183   dvdwizardvob.cpp
184   dvdwizardmenu.cpp
185   dvdwizard.cpp
186   locktrackcommand.cpp
187   groupclipscommand.cpp
188   splitaudiocommand.cpp
189   changecliptypecommand.cpp
190   documentchecker.cpp
191   dvdwizardchapters.cpp
192   documentvalidator.cpp
193   cliptranscode.cpp
194   keyframeedit.cpp
195   positionedit.cpp
196   trackdialog.cpp
197   subprojectitem.cpp
198   folderprojectitem.cpp
199   addclipcutcommand.cpp
200   editclipcutcommand.cpp
201   KoSliderCombo.cpp
202   kis_cubic_curve.cpp
203   kis_curve_widget.cpp
204   timecodedisplay.cpp
205   tracksconfigdialog.cpp
206   configtrackscommand.cpp
207   abstractscopewidget.cpp
208   rebuildgroupcommand.cpp
209   histogram.cpp
210   rgbparade.cpp
211   vectorscope.cpp
212   waveform.cpp
213   colorplaneexport.cpp
214   colortools.cpp
215   colorcorrection/histogramgenerator.cpp
216   colorcorrection/rgbparadegenerator.cpp
217   colorcorrection/vectorscopegenerator.cpp
218   colorcorrection/waveformgenerator.cpp
219   razorgroupcommand.cpp
220   colorpickerwidget.cpp
221   choosecolorwidget.cpp
222   monitorscene.cpp
223   geometrywidget.cpp
224   doubleparameterwidget.cpp
225   audiosignal.cpp
226   blackmagic/include/DeckLinkAPIDispatch.cpp
227   blackmagic/capture.cpp
228   blackmagic/devices.cpp
229   stopmotion/stopmotion.cpp
230   onmonitoritems/abstractonmonitoritem.cpp 
231   onmonitoritems/onmonitorrectitem.cpp
232   onmonitoritems/onmonitorcornersitem.cpp
233   monitorscenecontrolwidget.cpp
234   cornerswidget.cpp
235 )
236
237
238 add_subdirectory( ${CMAKE_SOURCE_DIR}/src/colorcorrection )
239 add_subdirectory( ${CMAKE_SOURCE_DIR}/src/onmonitoritems )
240
241 add_definitions( ${KDE4_DEFINITIONS} )
242
243 if(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR NO_JOGSHUTTLE)
244   add_definitions(-DNO_JOGSHUTTLE)
245 else(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR NO_JOGSHUTTLE)
246   set(kdenlive_SRCS jogshuttle.cpp ${kdenlive_SRCS})
247 endif(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR NO_JOGSHUTTLE)
248
249 if (APPLE OR OPENGL_FOUND)
250   add_definitions(-DUSE_OPEN_GL)
251   set(kdenlive_SRCS videoglwidget.cpp ${kdenlive_SRCS})
252 endif (APPLE OR OPENGL_FOUND)
253
254
255 # Add libdl
256 find_library( DL_LIB NAMES ${CMAKE_DL_LIBS} )
257 MESSAGE( STATUS "using dl library: ${DL_LIB}" )
258
259 kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc )
260 QT4_ADD_DBUS_ADAPTOR(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
261 kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UI})
262
263 if (${KDE_VERSION} VERSION_LESS 4.3.80)
264   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF2_LIBS})
265 else (${KDE_VERSION} VERSION_LESS 4.3.80)
266   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF3_LIBS})
267 endif (${KDE_VERSION} VERSION_LESS 4.3.80)
268
269 target_link_libraries(kdenlive
270   ${KDE4_KDEUI_LIBS}
271   ${KDE4_KIO_LIBS}
272   ${KNEWSTUFF_LIBS}
273   ${LIBMLTPLUS_LIBRARY}
274   ${LIBMLT_LIBRARY}
275   ${optional_libs}
276   ${KDE4_KNOTIFYCONFIG_LIBRARY}
277   ${KDE4_KROSSUI_LIBS}
278   ${CMAKE_DL_LIBS}
279 )
280
281 if (Q_WS_X11)
282   target_link_libraries(kdenlive ${X11_LIBRARIES})
283 endif (Q_WS_X11)
284
285 if (APPLE)
286   find_package(SDL REQUIRED)
287   target_link_libraries(kdenlive ${SDL_LIBRARY})
288   target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
289   target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
290 else (APPLE)
291   if (OPENGL_FOUND)
292       target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
293       target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
294   endif (OPENGL_FOUND)
295 endif (APPLE)
296
297 install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR})
298 install( FILES kdenliveui.rc kdenlive.notifyrc DESTINATION  ${DATA_INSTALL_DIR}/kdenlive )
299 install (FILES kdenlivesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR})
300 install (FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
301 kde4_install_icons(${ICON_INSTALL_DIR})
302 install( FILES kdenlive_titles.knsrc kdenlive_wipes.knsrc kdenlive_renderprofiles.knsrc kdenlive_projectprofiles.knsrc kdenlivetranscodingrc DESTINATION  ${CONFIG_INSTALL_DIR} )
303 kde4_install_icons( ${ICON_INSTALL_DIR} )
304
305