]> git.sesse.net Git - kdenlive/blob - src/CMakeLists.txt
8b41476d8ec5d71eead200382f4e7acff52a58b5
[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 )
221
222
223 add_subdirectory( ${CMAKE_SOURCE_DIR}/src/colorcorrection )
224
225 add_definitions( ${KDE4_DEFINITIONS} )
226
227 if(NO_JOGSHUTTLE)
228   add_definitions(-DNO_JOGSHUTTLE)
229 else(NO_JOGSHUTTLE)
230   set(kdenlive_SRCS jogshuttle.cpp ${kdenlive_SRCS})
231 endif(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