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