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