]> git.sesse.net Git - kdenlive/blob - src/CMakeLists.txt
6294db6d8f43ed8b7a58da59933629e7ee8cbc00
[kdenlive] / src / CMakeLists.txt
1 add_subdirectory( widgets )
2 add_subdirectory( mimetypes )
3
4 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 )
187
188 add_definitions( ${KDE4_DEFINITIONS} )
189
190 if(NO_JOGSHUTTLE)
191   add_definitions(-DNO_JOGSHUTTLE)
192 else(NO_JOGSHUTTLE)
193   set(kdenlive_SRCS jogshuttle.cpp ${kdenlive_SRCS})
194 endif(NO_JOGSHUTTLE)
195
196 if (APPLE)
197   set(kdenlive_SRCS videoglwidget.cpp ${kdenlive_SRCS})
198 endif (APPLE)
199
200 kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc )
201 QT4_ADD_DBUS_ADAPTOR(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
202 kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UI})
203
204
205 target_link_libraries(kdenlive
206   ${KDE4_KDEUI_LIBS}
207   ${KDE4_KIO_LIBS}
208   ${KDE4_KNEWSTUFF2_LIBS}
209   ${LIBMLTPLUS_LIBRARY}
210   ${LIBMLT_LIBRARY}
211   ${optional_libs}
212   ${KDE4_KNOTIFYCONFIG_LIBRARY}
213   ${KDE4_KROSSUI_LIBS}
214 )
215
216 if (APPLE)
217   find_package(SDL REQUIRED)
218   target_link_libraries(kdenlive ${SDL_LIBRARY})
219   target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
220   target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
221 endif (APPLE)
222
223 install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR})
224 install( FILES kdenliveui.rc kdenlive.notifyrc DESTINATION  ${DATA_INSTALL_DIR}/kdenlive )
225 install (FILES kdenlivesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR})
226 install (FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
227 kde4_install_icons(${ICON_INSTALL_DIR})
228 install( FILES kdenlive.knsrc kdenlive_render.knsrc kdenlive_mltprofiles.knsrc kdenlivetranscodingrc DESTINATION  ${CONFIG_INSTALL_DIR} )
229 kde4_install_icons( ${ICON_INSTALL_DIR} )
230
231