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