]> git.sesse.net Git - kdenlive/blob - src/CMakeLists.txt
a2c97a229acdb8accb61f4102445dc402633bdf3
[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/positionval_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/geometryposition_ui.ui
89   widgets/templateclip_ui.ui
90   widgets/keyframeeditor_ui.ui
91 )
92
93 set(kdenlive_SRCS
94   addclipcommand.cpp
95   main.cpp
96   mainwindow.cpp
97   customruler.cpp
98   smallruler.cpp
99   projectlist.cpp
100   projectitem.cpp
101   monitor.cpp
102   gentime.cpp
103   renderer.cpp
104   kdenlivedoc.cpp
105   projectlistview.cpp
106   trackview.cpp
107   docclipbase.cpp
108   timecode.cpp
109   monitormanager.cpp
110   headertrack.cpp
111   customtrackview.cpp
112   clipitem.cpp
113   moveclipcommand.cpp
114   resizeclipcommand.cpp
115   razorclipcommand.cpp
116   addtimelineclipcommand.cpp
117   addmarkercommand.cpp
118   kthumb.cpp
119   clipmanager.cpp
120   effectslist.cpp
121   initeffects.cpp
122   effectslistview.cpp
123   addeffectcommand.cpp
124   editeffectcommand.cpp
125   moveeffectcommand.cpp
126   effectstackview.cpp
127   effectstackedit.cpp
128   parameterplotter.cpp
129   profilesdialog.cpp
130   projectsettings.cpp
131   kdenlivesettingsdialog.cpp
132   complexparameter.cpp
133   titlewidget.cpp
134   unicodedialog.cpp
135   graphicsscenerectmove.cpp
136   effectslistwidget.cpp
137   titledocument.cpp
138   transition.cpp
139   renderwidget.cpp
140   abstractclipitem.cpp
141   transitionsettings.cpp
142   recmonitor.cpp
143   addtransitioncommand.cpp
144   edittransitioncommand.cpp
145   addfoldercommand.cpp
146   editfoldercommand.cpp
147   clipproperties.cpp
148   movetransitioncommand.cpp
149   slideshowclip.cpp
150   markerdialog.cpp
151   guide.cpp
152   editguidecommand.cpp
153   statusbarmessagelabel.cpp
154   editkeyframecommand.cpp
155   clipdurationdialog.cpp
156   managecapturesdialog.cpp
157   changespeedcommand.cpp
158   geometryval.cpp
159   wizard.cpp
160   customtrackscene.cpp
161   abstractgroupitem.cpp
162   keyframehelper.cpp
163   editclipcommand.cpp
164   insertspacecommand.cpp
165   spacerdialog.cpp
166   addtrackcommand.cpp
167   changetrackcommand.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 )
191
192 add_definitions( ${KDE4_DEFINITIONS} )
193
194 if(NO_JOGSHUTTLE)
195   add_definitions(-DNO_JOGSHUTTLE)
196 else(NO_JOGSHUTTLE)
197   set(kdenlive_SRCS jogshuttle.cpp ${kdenlive_SRCS})
198 endif(NO_JOGSHUTTLE)
199
200 if (APPLE)
201   set(kdenlive_SRCS videoglwidget.cpp ${kdenlive_SRCS})
202 endif (APPLE)
203
204 kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc )
205 QT4_ADD_DBUS_ADAPTOR(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
206 kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UI})
207
208 if (${KDE_VERSION} VERSION_LESS 4.3.80)
209   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF2_LIBS})
210 else (${KDE_VERSION} VERSION_LESS 4.3.80)
211   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF3_LIBS})
212 endif (${KDE_VERSION} VERSION_LESS 4.3.80)
213
214 target_link_libraries(kdenlive
215   ${KDE4_KDEUI_LIBS}
216   ${KDE4_KIO_LIBS}
217   ${KNEWSTUFF_LIBS}
218   ${LIBMLTPLUS_LIBRARY}
219   ${LIBMLT_LIBRARY}
220   ${optional_libs}
221   ${KDE4_KNOTIFYCONFIG_LIBRARY}
222   ${KDE4_KROSSUI_LIBS}
223 )
224
225 if (APPLE)
226   find_package(SDL REQUIRED)
227   target_link_libraries(kdenlive ${SDL_LIBRARY})
228   target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
229   target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
230 endif (APPLE)
231
232 install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR})
233 install( FILES kdenliveui.rc kdenlive.notifyrc DESTINATION  ${DATA_INSTALL_DIR}/kdenlive )
234 install (FILES kdenlivesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR})
235 install (FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
236 kde4_install_icons(${ICON_INSTALL_DIR})
237 install( FILES kdenlive_titles.knsrc kdenlive_wipes.knsrc kdenlive_renderprofiles.knsrc kdenlive_projectprofiles.knsrc kdenlivetranscodingrc DESTINATION  ${CONFIG_INSTALL_DIR} )
238 kde4_install_icons( ${ICON_INSTALL_DIR} )
239
240