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