]> git.sesse.net Git - kdenlive/blob - src/CMakeLists.txt
Allow cutting groups
[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/testwidget_ui.ui
97 )
98
99 set(kdenlive_SRCS
100   addclipcommand.cpp
101   main.cpp
102   mainwindow.cpp
103   customruler.cpp
104   smallruler.cpp
105   projectlist.cpp
106   projectitem.cpp
107   monitor.cpp
108   gentime.cpp
109   renderer.cpp
110   kdenlivedoc.cpp
111   projectlistview.cpp
112   trackview.cpp
113   docclipbase.cpp
114   timecode.cpp
115   monitormanager.cpp
116   headertrack.cpp
117   customtrackview.cpp
118   clipitem.cpp
119   moveclipcommand.cpp
120   resizeclipcommand.cpp
121   razorclipcommand.cpp
122   addtimelineclipcommand.cpp
123   addmarkercommand.cpp
124   kthumb.cpp
125   clipmanager.cpp
126   effectslist.cpp
127   initeffects.cpp
128   effectslistview.cpp
129   addeffectcommand.cpp
130   editeffectcommand.cpp
131   moveeffectcommand.cpp
132   effectstackview.cpp
133   effectstackedit.cpp
134   parameterplotter.cpp
135   profilesdialog.cpp
136   projectsettings.cpp
137   kdenlivesettingsdialog.cpp
138   complexparameter.cpp
139   titlewidget.cpp
140   unicodedialog.cpp
141   graphicsscenerectmove.cpp
142   effectslistwidget.cpp
143   titledocument.cpp
144   transition.cpp
145   renderwidget.cpp
146   abstractclipitem.cpp
147   transitionsettings.cpp
148   recmonitor.cpp
149   addtransitioncommand.cpp
150   edittransitioncommand.cpp
151   addfoldercommand.cpp
152   editfoldercommand.cpp
153   clipproperties.cpp
154   movetransitioncommand.cpp
155   slideshowclip.cpp
156   markerdialog.cpp
157   guide.cpp
158   editguidecommand.cpp
159   statusbarmessagelabel.cpp
160   editkeyframecommand.cpp
161   clipdurationdialog.cpp
162   managecapturesdialog.cpp
163   changespeedcommand.cpp
164   geometryval.cpp
165   wizard.cpp
166   customtrackscene.cpp
167   abstractgroupitem.cpp
168   keyframehelper.cpp
169   editclipcommand.cpp
170   insertspacecommand.cpp
171   spacerdialog.cpp
172   addtrackcommand.cpp
173   movegroupcommand.cpp
174   dvdwizardvob.cpp
175   dvdwizardmenu.cpp
176   dvdwizard.cpp
177   locktrackcommand.cpp
178   groupclipscommand.cpp
179   splitaudiocommand.cpp
180   changecliptypecommand.cpp
181   documentchecker.cpp
182   dvdwizardchapters.cpp
183   documentvalidator.cpp
184   cliptranscode.cpp
185   keyframeedit.cpp
186   positionedit.cpp
187   trackdialog.cpp
188   subprojectitem.cpp
189   folderprojectitem.cpp
190   addclipcutcommand.cpp
191   editclipcutcommand.cpp
192   KoSliderCombo.cpp
193   kis_cubic_curve.cpp
194   kis_curve_widget.cpp
195   timecodedisplay.cpp
196   tracksconfigdialog.cpp
197   configtrackscommand.cpp
198   abstractscopewidget.cpp
199   vectorscope.cpp
200   colorplaneexport.cpp
201   colortools.cpp
202   rebuildgroupcommand.cpp
203   waveform.cpp
204   colorcorrection/waveformgenerator.cpp
205   testwidget.cpp
206   razorgroupcommand.cpp
207 )
208
209
210 add_subdirectory( ${CMAKE_SOURCE_DIR}/src/colorcorrection )
211
212 add_definitions( ${KDE4_DEFINITIONS} )
213
214 if(NO_JOGSHUTTLE)
215   add_definitions(-DNO_JOGSHUTTLE)
216 else(NO_JOGSHUTTLE)
217   set(kdenlive_SRCS jogshuttle.cpp ${kdenlive_SRCS})
218 endif(NO_JOGSHUTTLE)
219
220 if (APPLE)
221   set(kdenlive_SRCS videoglwidget.cpp ${kdenlive_SRCS})
222 endif (APPLE)
223
224 kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc )
225 QT4_ADD_DBUS_ADAPTOR(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
226 kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UI})
227
228 if (${KDE_VERSION} VERSION_LESS 4.3.80)
229   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF2_LIBS})
230 else (${KDE_VERSION} VERSION_LESS 4.3.80)
231   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF3_LIBS})
232 endif (${KDE_VERSION} VERSION_LESS 4.3.80)
233
234 target_link_libraries(kdenlive
235   ${KDE4_KDEUI_LIBS}
236   ${KDE4_KIO_LIBS}
237   ${KNEWSTUFF_LIBS}
238   ${LIBMLTPLUS_LIBRARY}
239   ${LIBMLT_LIBRARY}
240   ${optional_libs}
241   ${KDE4_KNOTIFYCONFIG_LIBRARY}
242   ${KDE4_KROSSUI_LIBS}
243 )
244
245 if (APPLE)
246   find_package(SDL REQUIRED)
247   target_link_libraries(kdenlive ${SDL_LIBRARY})
248   target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
249   target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
250 endif (APPLE)
251
252 install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR})
253 install( FILES kdenliveui.rc kdenlive.notifyrc DESTINATION  ${DATA_INSTALL_DIR}/kdenlive )
254 install (FILES kdenlivesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR})
255 install (FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
256 kde4_install_icons(${ICON_INSTALL_DIR})
257 install( FILES kdenlive_titles.knsrc kdenlive_wipes.knsrc kdenlive_renderprofiles.knsrc kdenlive_projectprofiles.knsrc kdenlivetranscodingrc DESTINATION  ${CONFIG_INSTALL_DIR} )
258 kde4_install_icons( ${ICON_INSTALL_DIR} )
259
260