]> git.sesse.net Git - kdenlive/blob - src/CMakeLists.txt
Add Mac OS X compatibility through new MLT sdl_audio consumer and a QTGLWidget!
[kdenlive] / src / CMakeLists.txt
1 add_subdirectory( widgets )
2 add_subdirectory( mimetypes )
3
4 find_package(Nepomuk REQUIRED)
5
6 if (APPLE)
7   find_package(OpenGL)
8   set(QT_USE_QTOPENGL TRUE)
9 endif (APPLE)
10
11 include_directories (
12     ${KDE4_INCLUDE_DIR}
13     ${KDE4_INCLUDE_DIR}/KDE
14     ${QT_INCLUDES}
15     ${LIBMLT_INCLUDE_DIR}
16     ${LIBMLTPLUS_INCLUDE_DIR}
17     ${QDBUS_INCLUDE_DIRS}
18     ${CMAKE_SOURCE_DIR}
19     ${CMAKE_BINARY_DIR}
20
21     ${CMAKE_SOURCE_DIR}/src/widgets
22     ${NEPOMUK_INCLUDES}
23 )
24
25 LINK_LIBRARIES(
26 ${LIBMLT_LIBRARY}
27 ${LIBMLTPLUS_LIBRARY}
28 ${NEPOMUK_LIBRARIES}
29 )
30
31
32 kde4_add_ui_files(kdenlive_UI
33   widgets/timeline_ui.ui
34   widgets/monitor_ui.ui
35   widgets/recmonitor_ui.ui
36   widgets/colorclip_ui.ui
37   widgets/slideshowclip_ui.ui
38   widgets/configmisc_ui.ui
39   widgets/configenv_ui.ui
40   widgets/configdisplay_ui.ui
41   widgets/configsdl_ui.ui
42   widgets/configcapture_ui.ui
43   widgets/configtranscode_ui.ui
44   widgets/effectlist_ui.ui
45   widgets/effectstack_ui.ui
46   widgets/profiledialog_ui.ui
47   widgets/projectsettings_ui.ui
48   widgets/keyframewidget_ui.ui
49   widgets/constval_ui.ui
50   widgets/listval_ui.ui
51   widgets/wipeval_ui.ui
52   widgets/boolval_ui.ui
53   widgets/colorval_ui.ui
54   widgets/positionval_ui.ui
55   widgets/titlewidget_ui.ui
56   widgets/unicodedialog_ui.ui
57   widgets/timelinebuttons_ui.ui
58   widgets/renderwidget_ui.ui
59   widgets/saveprofile_ui.ui
60   widgets/transitionsettings_ui.ui
61   widgets/configjogshuttle_ui.ui
62   widgets/trackheader_ui.ui
63   widgets/clipproperties_ui.ui
64   widgets/markerdialog_ui.ui
65   widgets/keyframedialog_ui.ui
66   widgets/clipdurationdialog_ui.ui
67   widgets/managecaptures_ui.ui
68   widgets/geometryval_ui.ui
69   widgets/wizardstandard_ui.ui
70   widgets/wizardextra_ui.ui
71   widgets/wizardcheck_ui.ui
72   widgets/wizardmltcheck_ui.ui
73   widgets/spacerdialog_ui.ui
74   widgets/addtrack_ui.ui
75   widgets/dvdwizardvob_ui.ui
76   widgets/dvdwizardmenu_ui.ui
77   widgets/dvdwizardstatus_ui.ui
78   widgets/dvdwizardchapters_ui.ui
79   widgets/missingclips_ui.ui
80   widgets/cliptranscode_ui.ui
81   widgets/geometryposition_ui.ui
82   widgets/templateclip_ui.ui
83   widgets/keyframeeditor_ui.ui
84 )
85
86 set(kdenlive_SRCS
87   addclipcommand.cpp
88   main.cpp
89   mainwindow.cpp
90   customruler.cpp
91   smallruler.cpp
92   projectlist.cpp
93   projectitem.cpp
94   monitor.cpp
95   gentime.cpp
96   renderer.cpp
97   kdenlivedoc.cpp
98   projectlistview.cpp
99   trackview.cpp
100   docclipbase.cpp
101   timecode.cpp
102   monitormanager.cpp
103   headertrack.cpp
104   customtrackview.cpp
105   clipitem.cpp
106   moveclipcommand.cpp
107   resizeclipcommand.cpp
108   razorclipcommand.cpp
109   addtimelineclipcommand.cpp
110   addmarkercommand.cpp
111   kthumb.cpp
112   clipmanager.cpp
113   effectslist.cpp
114   initeffects.cpp
115   effectslistview.cpp
116   addeffectcommand.cpp
117   editeffectcommand.cpp
118   moveeffectcommand.cpp
119   effectstackview.cpp
120   effectstackedit.cpp
121   parameterplotter.cpp
122   profilesdialog.cpp
123   projectsettings.cpp
124   kdenlivesettingsdialog.cpp
125   complexparameter.cpp
126   titlewidget.cpp
127   unicodedialog.cpp
128   graphicsscenerectmove.cpp
129   effectslistwidget.cpp
130   titledocument.cpp
131   transition.cpp
132   renderwidget.cpp
133   abstractclipitem.cpp
134   transitionsettings.cpp
135   recmonitor.cpp
136   addtransitioncommand.cpp
137   edittransitioncommand.cpp
138   addfoldercommand.cpp
139   editfoldercommand.cpp
140   clipproperties.cpp
141   movetransitioncommand.cpp
142   slideshowclip.cpp
143   markerdialog.cpp
144   guide.cpp
145   editguidecommand.cpp
146   statusbarmessagelabel.cpp
147   regiongrabber.cpp
148   editkeyframecommand.cpp
149   clipdurationdialog.cpp
150   managecapturesdialog.cpp
151   changespeedcommand.cpp
152   geometryval.cpp
153   wizard.cpp
154   customtrackscene.cpp
155   abstractgroupitem.cpp
156   keyframehelper.cpp
157   editclipcommand.cpp
158   insertspacecommand.cpp
159   spacerdialog.cpp
160   addtrackcommand.cpp
161   changetrackcommand.cpp
162   movegroupcommand.cpp
163   dvdwizardvob.cpp
164   dvdwizardmenu.cpp
165   dvdwizard.cpp
166   locktrackcommand.cpp
167   groupclipscommand.cpp
168   splitaudiocommand.cpp
169   changecliptypecommand.cpp
170   documentchecker.cpp
171   dvdwizardchapters.cpp
172   documentvalidator.cpp
173   cliptranscode.cpp
174   keyframeedit.cpp
175   positionedit.cpp
176   trackdialog.cpp
177 )
178
179 add_definitions( ${KDE4_DEFINITIONS} )
180
181 if(NO_JOGSHUTTLE)
182   add_definitions(-DNO_JOGSHUTTLE)
183 else(NO_JOGSHUTTLE)
184   set(kdenlive_SRCS jogshuttle.cpp ${kdenlive_SRCS})
185 endif(NO_JOGSHUTTLE)
186
187 if (APPLE)
188   set(kdenlive_SRCS videoglwidget.cpp ${kdenlive_SRCS})
189 endif (APPLE)
190
191 kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc )
192 QT4_ADD_DBUS_ADAPTOR(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
193 kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UI})
194
195
196 target_link_libraries(kdenlive
197   ${KDE4_KDEUI_LIBS}
198   ${KDE4_KIO_LIBS}
199   ${KDE4_KNEWSTUFF2_LIBS}
200   ${LIBMLTPLUS_LIBRARY}
201   ${LIBMLT_LIBRARY}
202   ${NEPOMUK_LIBRARIES}
203   ${KDE4_KNOTIFYCONFIG_LIBRARY}
204   ${KDE4_KROSSUI_LIBS}
205 )
206
207 if (APPLE)
208   find_package(SDL REQUIRED)
209   target_link_libraries(kdenlive ${SDL_LIBRARY})
210   target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
211   target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
212 endif (APPLE)
213
214 install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR})
215 install( FILES kdenliveui.rc kdenlive.notifyrc DESTINATION  ${DATA_INSTALL_DIR}/kdenlive )
216 install (FILES kdenlivesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR})
217 install (FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
218 install (FILES application-x-kdenlive.svgz video-mlt-playlist.svgz DESTINATION ${ICON_INSTALL_DIR}/oxygen/scalable/mimetypes)
219 install( FILES kdenlive.knsrc kdenlive_render.knsrc kdenlive_mltprofiles.knsrc kdenlivetranscodingrc DESTINATION  ${CONFIG_INSTALL_DIR} )
220 kde4_install_icons( ${ICON_INSTALL_DIR} )
221
222