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