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