]> git.sesse.net Git - kdenlive/blob - src/CMakeLists.txt
4e844f0642be454292d220fa95b005265239ae56
[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 )
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 )
218
219
220 add_subdirectory( ${CMAKE_SOURCE_DIR}/src/colorcorrection )
221
222 add_definitions( ${KDE4_DEFINITIONS} )
223
224 if(NO_JOGSHUTTLE)
225   add_definitions(-DNO_JOGSHUTTLE)
226 else(NO_JOGSHUTTLE)
227   set(kdenlive_SRCS jogshuttle.cpp ${kdenlive_SRCS})
228 endif(NO_JOGSHUTTLE)
229
230 if (APPLE)
231   set(kdenlive_SRCS videoglwidget.cpp ${kdenlive_SRCS})
232 endif (APPLE)
233
234 kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc )
235 QT4_ADD_DBUS_ADAPTOR(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
236 kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UI})
237
238 if (${KDE_VERSION} VERSION_LESS 4.3.80)
239   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF2_LIBS})
240 else (${KDE_VERSION} VERSION_LESS 4.3.80)
241   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF3_LIBS})
242 endif (${KDE_VERSION} VERSION_LESS 4.3.80)
243
244 target_link_libraries(kdenlive
245   ${KDE4_KDEUI_LIBS}
246   ${KDE4_KIO_LIBS}
247   ${KNEWSTUFF_LIBS}
248   ${LIBMLTPLUS_LIBRARY}
249   ${LIBMLT_LIBRARY}
250   ${optional_libs}
251   ${KDE4_KNOTIFYCONFIG_LIBRARY}
252   ${KDE4_KROSSUI_LIBS}
253 )
254
255 if (Q_WS_X11)
256   target_link_libraries(kdenlive ${X11_LIBRARIES})
257 endif (Q_WS_X11)
258
259 if (APPLE)
260   find_package(SDL REQUIRED)
261   target_link_libraries(kdenlive ${SDL_LIBRARY})
262   target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
263   target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
264 endif (APPLE)
265
266 install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR})
267 install( FILES kdenliveui.rc kdenlive.notifyrc DESTINATION  ${DATA_INSTALL_DIR}/kdenlive )
268 install (FILES kdenlivesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR})
269 install (FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
270 kde4_install_icons(${ICON_INSTALL_DIR})
271 install( FILES kdenlive_titles.knsrc kdenlive_wipes.knsrc kdenlive_renderprofiles.knsrc kdenlive_projectprofiles.knsrc kdenlivetranscodingrc DESTINATION  ${CONFIG_INSTALL_DIR} )
272 kde4_install_icons( ${ICON_INSTALL_DIR} )
273
274