]> git.sesse.net Git - kdenlive/blob - src/CMakeLists.txt
Add AbstractOnMonitorItem (preparations for more on-monitor effects should now be...
[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/monitor_ui.ui
49   widgets/recmonitor_ui.ui
50   widgets/colorclip_ui.ui
51   widgets/slideshowclip_ui.ui
52   widgets/configmisc_ui.ui
53   widgets/configenv_ui.ui
54   widgets/configtimeline_ui.ui
55   widgets/configsdl_ui.ui
56   widgets/configcapture_ui.ui
57   widgets/configtranscode_ui.ui
58   widgets/configproject_ui.ui
59   widgets/effectlist_ui.ui
60   widgets/effectstack_ui.ui
61   widgets/profiledialog_ui.ui
62   widgets/projectsettings_ui.ui
63   widgets/keyframewidget_ui.ui
64   widgets/listval_ui.ui
65   widgets/wipeval_ui.ui
66   widgets/boolval_ui.ui
67   widgets/titlewidget_ui.ui
68   widgets/unicodedialog_ui.ui
69   widgets/timelinebuttons_ui.ui
70   widgets/renderwidget_ui.ui
71   widgets/saveprofile_ui.ui
72   widgets/transitionsettings_ui.ui
73   widgets/configjogshuttle_ui.ui
74   widgets/trackheader_ui.ui
75   widgets/clipproperties_ui.ui
76   widgets/markerdialog_ui.ui
77   widgets/keyframedialog_ui.ui
78   widgets/clipdurationdialog_ui.ui
79   widgets/managecaptures_ui.ui
80   widgets/geometryval_ui.ui
81   widgets/wizardstandard_ui.ui
82   widgets/wizardextra_ui.ui
83   widgets/wizardcheck_ui.ui
84   widgets/wizardmltcheck_ui.ui
85   widgets/spacerdialog_ui.ui
86   widgets/addtrack_ui.ui
87   widgets/dvdwizardvob_ui.ui
88   widgets/dvdwizardmenu_ui.ui
89   widgets/dvdwizardstatus_ui.ui
90   widgets/dvdwizardchapters_ui.ui
91   widgets/missingclips_ui.ui
92   widgets/cliptranscode_ui.ui
93   widgets/templateclip_ui.ui
94   widgets/keyframeeditor_ui.ui
95   widgets/timecodedisplay_ui.ui
96   widgets/tracksconfigdialog_ui.ui
97   widgets/urlval_ui.ui
98   widgets/vectorscope_ui.ui
99   widgets/colorplaneexport_ui.ui
100   widgets/waveform_ui.ui
101   widgets/rgbparade_ui.ui
102   widgets/histogram_ui.ui
103   widgets/geometrywidget_ui.ui
104   widgets/stopmotion_ui.ui
105   widgets/monitorscenecontrolwidget_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   monitorscenecontrolwidget.cpp
233 )
234
235
236 add_subdirectory( ${CMAKE_SOURCE_DIR}/src/colorcorrection )
237 add_subdirectory( ${CMAKE_SOURCE_DIR}/src/onmonitoritems )
238
239 add_definitions( ${KDE4_DEFINITIONS} )
240
241 if(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR NO_JOGSHUTTLE)
242   add_definitions(-DNO_JOGSHUTTLE)
243 else(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR NO_JOGSHUTTLE)
244   set(kdenlive_SRCS jogshuttle.cpp ${kdenlive_SRCS})
245 endif(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR NO_JOGSHUTTLE)
246
247 if (APPLE OR OPENGL_FOUND)
248   add_definitions(-DUSE_OPEN_GL)
249   set(kdenlive_SRCS videoglwidget.cpp ${kdenlive_SRCS})
250 endif (APPLE OR OPENGL_FOUND)
251
252
253 # Add libdl
254 find_library( DL_LIB NAMES ${CMAKE_DL_LIBS} )
255 MESSAGE( STATUS "using dl library: ${DL_LIB}" )
256
257 kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc )
258 QT4_ADD_DBUS_ADAPTOR(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
259 kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UI})
260
261 if (${KDE_VERSION} VERSION_LESS 4.3.80)
262   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF2_LIBS})
263 else (${KDE_VERSION} VERSION_LESS 4.3.80)
264   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF3_LIBS})
265 endif (${KDE_VERSION} VERSION_LESS 4.3.80)
266
267 target_link_libraries(kdenlive
268   ${KDE4_KDEUI_LIBS}
269   ${KDE4_KIO_LIBS}
270   ${KNEWSTUFF_LIBS}
271   ${LIBMLTPLUS_LIBRARY}
272   ${LIBMLT_LIBRARY}
273   ${optional_libs}
274   ${KDE4_KNOTIFYCONFIG_LIBRARY}
275   ${KDE4_KROSSUI_LIBS}
276   ${CMAKE_DL_LIBS}
277 )
278
279 if (Q_WS_X11)
280   target_link_libraries(kdenlive ${X11_LIBRARIES})
281 endif (Q_WS_X11)
282
283 if (APPLE)
284   find_package(SDL REQUIRED)
285   target_link_libraries(kdenlive ${SDL_LIBRARY})
286   target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
287   target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
288 else (APPLE)
289   if (OPENGL_FOUND)
290       target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
291       target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
292   endif (OPENGL_FOUND)
293 endif (APPLE)
294
295 install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR})
296 install( FILES kdenliveui.rc kdenlive.notifyrc DESTINATION  ${DATA_INSTALL_DIR}/kdenlive )
297 install (FILES kdenlivesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR})
298 install (FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
299 kde4_install_icons(${ICON_INSTALL_DIR})
300 install( FILES kdenlive_titles.knsrc kdenlive_wipes.knsrc kdenlive_renderprofiles.knsrc kdenlive_projectprofiles.knsrc kdenlivetranscodingrc DESTINATION  ${CONFIG_INSTALL_DIR} )
301 kde4_install_icons( ${ICON_INSTALL_DIR} )
302
303