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