]> git.sesse.net Git - kdenlive/blob - src/CMakeLists.txt
- cleanup
[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 )
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   movegroupcommand.cpp
168   dvdwizardvob.cpp
169   dvdwizardmenu.cpp
170   dvdwizard.cpp
171   locktrackcommand.cpp
172   groupclipscommand.cpp
173   splitaudiocommand.cpp
174   changecliptypecommand.cpp
175   documentchecker.cpp
176   dvdwizardchapters.cpp
177   documentvalidator.cpp
178   cliptranscode.cpp
179   keyframeedit.cpp
180   positionedit.cpp
181   trackdialog.cpp
182   subprojectitem.cpp
183   folderprojectitem.cpp
184   addclipcutcommand.cpp
185   editclipcutcommand.cpp
186   KoSliderCombo.cpp
187   kis_cubic_curve.cpp
188   kis_curve_widget.cpp
189   timecodedisplay.cpp
190   tracksconfigdialog.cpp
191   configtrackscommand.cpp
192 )
193
194 add_definitions( ${KDE4_DEFINITIONS} )
195
196 if(NO_JOGSHUTTLE)
197   add_definitions(-DNO_JOGSHUTTLE)
198 else(NO_JOGSHUTTLE)
199   set(kdenlive_SRCS jogshuttle.cpp ${kdenlive_SRCS})
200 endif(NO_JOGSHUTTLE)
201
202 if (APPLE)
203   set(kdenlive_SRCS videoglwidget.cpp ${kdenlive_SRCS})
204 endif (APPLE)
205
206 kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc )
207 QT4_ADD_DBUS_ADAPTOR(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
208 kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UI})
209
210 if (${KDE_VERSION} VERSION_LESS 4.3.80)
211   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF2_LIBS})
212 else (${KDE_VERSION} VERSION_LESS 4.3.80)
213   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF3_LIBS})
214 endif (${KDE_VERSION} VERSION_LESS 4.3.80)
215
216 target_link_libraries(kdenlive
217   ${KDE4_KDEUI_LIBS}
218   ${KDE4_KIO_LIBS}
219   ${KNEWSTUFF_LIBS}
220   ${LIBMLTPLUS_LIBRARY}
221   ${LIBMLT_LIBRARY}
222   ${optional_libs}
223   ${KDE4_KNOTIFYCONFIG_LIBRARY}
224   ${KDE4_KROSSUI_LIBS}
225 )
226
227 if (APPLE)
228   find_package(SDL REQUIRED)
229   target_link_libraries(kdenlive ${SDL_LIBRARY})
230   target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
231   target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
232 endif (APPLE)
233
234 install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR})
235 install( FILES kdenliveui.rc kdenlive.notifyrc DESTINATION  ${DATA_INSTALL_DIR}/kdenlive )
236 install (FILES kdenlivesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR})
237 install (FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
238 kde4_install_icons(${ICON_INSTALL_DIR})
239 install( FILES kdenlive_titles.knsrc kdenlive_wipes.knsrc kdenlive_renderprofiles.knsrc kdenlive_projectprofiles.knsrc kdenlivetranscodingrc DESTINATION  ${CONFIG_INSTALL_DIR} )
240 kde4_install_icons( ${ICON_INSTALL_DIR} )
241
242