]> git.sesse.net Git - kdenlive/blob - src/CMakeLists.txt
Separate monitor scene controls from Geometrywidget
[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/onmonitorrectitem.cpp
231   monitorscenecontrolwidget.cpp
232 )
233
234
235 add_subdirectory( ${CMAKE_SOURCE_DIR}/src/colorcorrection )
236 add_subdirectory( ${CMAKE_SOURCE_DIR}/src/onmonitoritems )
237
238 add_definitions( ${KDE4_DEFINITIONS} )
239
240 if(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR NO_JOGSHUTTLE)
241   add_definitions(-DNO_JOGSHUTTLE)
242 else(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR NO_JOGSHUTTLE)
243   set(kdenlive_SRCS jogshuttle.cpp ${kdenlive_SRCS})
244 endif(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR NO_JOGSHUTTLE)
245
246 if (APPLE OR OPENGL_FOUND)
247   add_definitions(-DUSE_OPEN_GL)
248   set(kdenlive_SRCS videoglwidget.cpp ${kdenlive_SRCS})
249 endif (APPLE OR OPENGL_FOUND)
250
251 kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc )
252 QT4_ADD_DBUS_ADAPTOR(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
253 kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UI})
254
255 if (${KDE_VERSION} VERSION_LESS 4.3.80)
256   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF2_LIBS})
257 else (${KDE_VERSION} VERSION_LESS 4.3.80)
258   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF3_LIBS})
259 endif (${KDE_VERSION} VERSION_LESS 4.3.80)
260
261 target_link_libraries(kdenlive
262   ${KDE4_KDEUI_LIBS}
263   ${KDE4_KIO_LIBS}
264   ${KNEWSTUFF_LIBS}
265   ${LIBMLTPLUS_LIBRARY}
266   ${LIBMLT_LIBRARY}
267   ${optional_libs}
268   ${KDE4_KNOTIFYCONFIG_LIBRARY}
269   ${KDE4_KROSSUI_LIBS}
270 )
271
272 if (Q_WS_X11)
273   target_link_libraries(kdenlive ${X11_LIBRARIES})
274 endif (Q_WS_X11)
275
276 if (APPLE)
277   find_package(SDL REQUIRED)
278   target_link_libraries(kdenlive ${SDL_LIBRARY})
279   target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
280   target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
281 else (APPLE)
282   if (OPENGL_FOUND)
283       target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
284       target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
285   endif (OPENGL_FOUND)
286 endif (APPLE)
287
288 install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR})
289 install( FILES kdenliveui.rc kdenlive.notifyrc DESTINATION  ${DATA_INSTALL_DIR}/kdenlive )
290 install (FILES kdenlivesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR})
291 install (FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
292 kde4_install_icons(${ICON_INSTALL_DIR})
293 install( FILES kdenlive_titles.knsrc kdenlive_wipes.knsrc kdenlive_renderprofiles.knsrc kdenlive_projectprofiles.knsrc kdenlivetranscodingrc DESTINATION  ${CONFIG_INSTALL_DIR} )
294 kde4_install_icons( ${ICON_INSTALL_DIR} )
295
296