]> git.sesse.net Git - kdenlive/blob - src/CMakeLists.txt
Color Tools
[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   widgets/vectorscope_ui.ui
93   widgets/colorplaneexport_ui.ui
94   widgets/waveform_ui.ui
95 )
96
97 set(kdenlive_SRCS
98   addclipcommand.cpp
99   main.cpp
100   mainwindow.cpp
101   customruler.cpp
102   smallruler.cpp
103   projectlist.cpp
104   projectitem.cpp
105   monitor.cpp
106   gentime.cpp
107   renderer.cpp
108   kdenlivedoc.cpp
109   projectlistview.cpp
110   trackview.cpp
111   docclipbase.cpp
112   timecode.cpp
113   monitormanager.cpp
114   headertrack.cpp
115   customtrackview.cpp
116   clipitem.cpp
117   moveclipcommand.cpp
118   resizeclipcommand.cpp
119   razorclipcommand.cpp
120   addtimelineclipcommand.cpp
121   addmarkercommand.cpp
122   kthumb.cpp
123   clipmanager.cpp
124   effectslist.cpp
125   initeffects.cpp
126   effectslistview.cpp
127   addeffectcommand.cpp
128   editeffectcommand.cpp
129   moveeffectcommand.cpp
130   effectstackview.cpp
131   effectstackedit.cpp
132   parameterplotter.cpp
133   profilesdialog.cpp
134   projectsettings.cpp
135   kdenlivesettingsdialog.cpp
136   complexparameter.cpp
137   titlewidget.cpp
138   unicodedialog.cpp
139   graphicsscenerectmove.cpp
140   effectslistwidget.cpp
141   titledocument.cpp
142   transition.cpp
143   renderwidget.cpp
144   abstractclipitem.cpp
145   transitionsettings.cpp
146   recmonitor.cpp
147   addtransitioncommand.cpp
148   edittransitioncommand.cpp
149   addfoldercommand.cpp
150   editfoldercommand.cpp
151   clipproperties.cpp
152   movetransitioncommand.cpp
153   slideshowclip.cpp
154   markerdialog.cpp
155   guide.cpp
156   editguidecommand.cpp
157   statusbarmessagelabel.cpp
158   editkeyframecommand.cpp
159   clipdurationdialog.cpp
160   managecapturesdialog.cpp
161   changespeedcommand.cpp
162   geometryval.cpp
163   wizard.cpp
164   customtrackscene.cpp
165   abstractgroupitem.cpp
166   keyframehelper.cpp
167   editclipcommand.cpp
168   insertspacecommand.cpp
169   spacerdialog.cpp
170   addtrackcommand.cpp
171   movegroupcommand.cpp
172   dvdwizardvob.cpp
173   dvdwizardmenu.cpp
174   dvdwizard.cpp
175   locktrackcommand.cpp
176   groupclipscommand.cpp
177   splitaudiocommand.cpp
178   changecliptypecommand.cpp
179   documentchecker.cpp
180   dvdwizardchapters.cpp
181   documentvalidator.cpp
182   cliptranscode.cpp
183   keyframeedit.cpp
184   positionedit.cpp
185   trackdialog.cpp
186   subprojectitem.cpp
187   folderprojectitem.cpp
188   addclipcutcommand.cpp
189   editclipcutcommand.cpp
190   KoSliderCombo.cpp
191   kis_cubic_curve.cpp
192   kis_curve_widget.cpp
193   timecodedisplay.cpp
194   tracksconfigdialog.cpp
195   configtrackscommand.cpp
196   vectorscope.cpp
197   colorplaneexport.cpp
198   colortools.cpp
199   rebuildgroupcommand.cpp
200   waveform.cpp
201 )
202
203 add_definitions( ${KDE4_DEFINITIONS} )
204
205 if(NO_JOGSHUTTLE)
206   add_definitions(-DNO_JOGSHUTTLE)
207 else(NO_JOGSHUTTLE)
208   set(kdenlive_SRCS jogshuttle.cpp ${kdenlive_SRCS})
209 endif(NO_JOGSHUTTLE)
210
211 if (APPLE)
212   set(kdenlive_SRCS videoglwidget.cpp ${kdenlive_SRCS})
213 endif (APPLE)
214
215 kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc )
216 QT4_ADD_DBUS_ADAPTOR(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
217 kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UI})
218
219 if (${KDE_VERSION} VERSION_LESS 4.3.80)
220   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF2_LIBS})
221 else (${KDE_VERSION} VERSION_LESS 4.3.80)
222   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF3_LIBS})
223 endif (${KDE_VERSION} VERSION_LESS 4.3.80)
224
225 target_link_libraries(kdenlive
226   ${KDE4_KDEUI_LIBS}
227   ${KDE4_KIO_LIBS}
228   ${KNEWSTUFF_LIBS}
229   ${LIBMLTPLUS_LIBRARY}
230   ${LIBMLT_LIBRARY}
231   ${optional_libs}
232   ${KDE4_KNOTIFYCONFIG_LIBRARY}
233   ${KDE4_KROSSUI_LIBS}
234 )
235
236 if (APPLE)
237   find_package(SDL REQUIRED)
238   target_link_libraries(kdenlive ${SDL_LIBRARY})
239   target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
240   target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
241 endif (APPLE)
242
243 install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR})
244 install( FILES kdenliveui.rc kdenlive.notifyrc DESTINATION  ${DATA_INSTALL_DIR}/kdenlive )
245 install (FILES kdenlivesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR})
246 install (FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
247 kde4_install_icons(${ICON_INSTALL_DIR})
248 install( FILES kdenlive_titles.knsrc kdenlive_wipes.knsrc kdenlive_renderprofiles.knsrc kdenlive_projectprofiles.knsrc kdenlivetranscodingrc DESTINATION  ${CONFIG_INSTALL_DIR} )
249 kde4_install_icons( ${ICON_INSTALL_DIR} )
250
251