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