]> git.sesse.net Git - kdenlive/blob - src/CMakeLists.txt
* Add preliminary support for Blackmagic HDMI capture card
[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 )
36
37 LINK_LIBRARIES(
38 ${LIBMLT_LIBRARY}
39 ${LIBMLTPLUS_LIBRARY}
40 ${optional_libs}
41 )
42
43
44
45 kde4_add_ui_files(kdenlive_UI
46   widgets/timeline_ui.ui
47   widgets/monitor_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 )
105
106 set(kdenlive_SRCS
107   addclipcommand.cpp
108   main.cpp
109   mainwindow.cpp
110   customruler.cpp
111   smallruler.cpp
112   projectlist.cpp
113   projectitem.cpp
114   monitor.cpp
115   gentime.cpp
116   renderer.cpp
117   kdenlivedoc.cpp
118   projectlistview.cpp
119   trackview.cpp
120   docclipbase.cpp
121   timecode.cpp
122   monitormanager.cpp
123   headertrack.cpp
124   customtrackview.cpp
125   clipitem.cpp
126   moveclipcommand.cpp
127   resizeclipcommand.cpp
128   razorclipcommand.cpp
129   addtimelineclipcommand.cpp
130   addmarkercommand.cpp
131   kthumb.cpp
132   clipmanager.cpp
133   effectslist.cpp
134   initeffects.cpp
135   effectslistview.cpp
136   addeffectcommand.cpp
137   editeffectcommand.cpp
138   moveeffectcommand.cpp
139   effectstackview.cpp
140   effectstackedit.cpp
141   parameterplotter.cpp
142   profilesdialog.cpp
143   projectsettings.cpp
144   kdenlivesettingsdialog.cpp
145   complexparameter.cpp
146   titlewidget.cpp
147   unicodedialog.cpp
148   graphicsscenerectmove.cpp
149   effectslistwidget.cpp
150   titledocument.cpp
151   transition.cpp
152   renderwidget.cpp
153   abstractclipitem.cpp
154   transitionsettings.cpp
155   recmonitor.cpp
156   addtransitioncommand.cpp
157   edittransitioncommand.cpp
158   addfoldercommand.cpp
159   editfoldercommand.cpp
160   clipproperties.cpp
161   movetransitioncommand.cpp
162   slideshowclip.cpp
163   markerdialog.cpp
164   guide.cpp
165   editguidecommand.cpp
166   statusbarmessagelabel.cpp
167   editkeyframecommand.cpp
168   clipdurationdialog.cpp
169   managecapturesdialog.cpp
170   changespeedcommand.cpp
171   geometryval.cpp
172   wizard.cpp
173   customtrackscene.cpp
174   abstractgroupitem.cpp
175   keyframehelper.cpp
176   editclipcommand.cpp
177   insertspacecommand.cpp
178   spacerdialog.cpp
179   addtrackcommand.cpp
180   movegroupcommand.cpp
181   dvdwizardvob.cpp
182   dvdwizardmenu.cpp
183   dvdwizard.cpp
184   locktrackcommand.cpp
185   groupclipscommand.cpp
186   splitaudiocommand.cpp
187   changecliptypecommand.cpp
188   documentchecker.cpp
189   dvdwizardchapters.cpp
190   documentvalidator.cpp
191   cliptranscode.cpp
192   keyframeedit.cpp
193   positionedit.cpp
194   trackdialog.cpp
195   subprojectitem.cpp
196   folderprojectitem.cpp
197   addclipcutcommand.cpp
198   editclipcutcommand.cpp
199   KoSliderCombo.cpp
200   kis_cubic_curve.cpp
201   kis_curve_widget.cpp
202   timecodedisplay.cpp
203   tracksconfigdialog.cpp
204   configtrackscommand.cpp
205   abstractscopewidget.cpp
206   rebuildgroupcommand.cpp
207   histogram.cpp
208   rgbparade.cpp
209   vectorscope.cpp
210   waveform.cpp
211   colorplaneexport.cpp
212   colortools.cpp
213   colorcorrection/histogramgenerator.cpp
214   colorcorrection/rgbparadegenerator.cpp
215   colorcorrection/vectorscopegenerator.cpp
216   colorcorrection/waveformgenerator.cpp
217   razorgroupcommand.cpp
218   colorpickerwidget.cpp
219   choosecolorwidget.cpp
220   monitorscene.cpp
221   geometrywidget.cpp
222   doubleparameterwidget.cpp
223   audiosignal.cpp
224   blackmagic/include/DeckLinkAPIDispatch.cpp
225   blackmagic/capture.cpp
226   blackmagic/devices.cpp
227   stopmotion/stopmotion.cpp
228 )
229
230
231 add_subdirectory( ${CMAKE_SOURCE_DIR}/src/colorcorrection )
232
233 add_definitions( ${KDE4_DEFINITIONS} )
234
235 if(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR NO_JOGSHUTTLE)
236   add_definitions(-DNO_JOGSHUTTLE)
237 else(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR NO_JOGSHUTTLE)
238   set(kdenlive_SRCS jogshuttle.cpp ${kdenlive_SRCS})
239 endif(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR NO_JOGSHUTTLE)
240
241 if (APPLE OR OPENGL_FOUND)
242   add_definitions(-DUSE_OPEN_GL)
243   set(kdenlive_SRCS videoglwidget.cpp ${kdenlive_SRCS})
244 endif (APPLE OR OPENGL_FOUND)
245
246 kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc )
247 QT4_ADD_DBUS_ADAPTOR(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
248 kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UI})
249
250 if (${KDE_VERSION} VERSION_LESS 4.3.80)
251   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF2_LIBS})
252 else (${KDE_VERSION} VERSION_LESS 4.3.80)
253   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF3_LIBS})
254 endif (${KDE_VERSION} VERSION_LESS 4.3.80)
255
256 target_link_libraries(kdenlive
257   ${KDE4_KDEUI_LIBS}
258   ${KDE4_KIO_LIBS}
259   ${KNEWSTUFF_LIBS}
260   ${LIBMLTPLUS_LIBRARY}
261   ${LIBMLT_LIBRARY}
262   ${optional_libs}
263   ${KDE4_KNOTIFYCONFIG_LIBRARY}
264   ${KDE4_KROSSUI_LIBS}
265 )
266
267 if (Q_WS_X11)
268   target_link_libraries(kdenlive ${X11_LIBRARIES})
269 endif (Q_WS_X11)
270
271 if (APPLE)
272   find_package(SDL REQUIRED)
273   target_link_libraries(kdenlive ${SDL_LIBRARY})
274   target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
275   target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
276 else (APPLE)
277   if (OPENGL_FOUND)
278       target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
279       target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
280   endif (OPENGL_FOUND)
281 endif (APPLE)
282
283 install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR})
284 install( FILES kdenliveui.rc kdenlive.notifyrc DESTINATION  ${DATA_INSTALL_DIR}/kdenlive )
285 install (FILES kdenlivesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR})
286 install (FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
287 kde4_install_icons(${ICON_INSTALL_DIR})
288 install( FILES kdenlive_titles.knsrc kdenlive_wipes.knsrc kdenlive_renderprofiles.knsrc kdenlive_projectprofiles.knsrc kdenlivetranscodingrc DESTINATION  ${CONFIG_INSTALL_DIR} )
289 kde4_install_icons( ${ICON_INSTALL_DIR} )
290
291