]> git.sesse.net Git - kdenlive/blob - src/CMakeLists.txt
*Allow users to choose between SDL and OpenGL for monitor display
[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 if (Q_WS_X11)
13     include_directories (${X11_Xlib_INCLUDE_PATH} ) 
14 endif (Q_WS_X11)
15
16 if (APPLE)
17   find_package(OpenGL)
18   set(QT_USE_QTOPENGL TRUE)
19 else (APPLE)
20   macro_optional_find_package(OpenGL)
21 endif (APPLE)
22
23 include_directories (
24     ${KDE4_INCLUDE_DIR}
25     ${KDE4_INCLUDE_DIR}/KDE
26     ${QT_INCLUDES}
27     ${LIBMLT_INCLUDE_DIR}
28     ${LIBMLTPLUS_INCLUDE_DIR}
29     ${QDBUS_INCLUDE_DIRS}
30     ${CMAKE_SOURCE_DIR}
31     ${CMAKE_BINARY_DIR}
32
33     ${CMAKE_SOURCE_DIR}/src/widgets
34     ${CMAKE_SOURCE_DIR}/src/colorcorrection
35 )
36
37 LINK_LIBRARIES(
38 ${LIBMLT_LIBRARY}
39 ${LIBMLTPLUS_LIBRARY}
40 ${optional_libs}
41 )
42
43
44
45 kde4_add_ui_files(kdenlive_UI
46   widgets/timeline_ui.ui
47   widgets/monitor_ui.ui
48   widgets/recmonitor_ui.ui
49   widgets/colorclip_ui.ui
50   widgets/slideshowclip_ui.ui
51   widgets/configmisc_ui.ui
52   widgets/configenv_ui.ui
53   widgets/configtimeline_ui.ui
54   widgets/configsdl_ui.ui
55   widgets/configcapture_ui.ui
56   widgets/configtranscode_ui.ui
57   widgets/configproject_ui.ui
58   widgets/effectlist_ui.ui
59   widgets/effectstack_ui.ui
60   widgets/profiledialog_ui.ui
61   widgets/projectsettings_ui.ui
62   widgets/keyframewidget_ui.ui
63   widgets/listval_ui.ui
64   widgets/wipeval_ui.ui
65   widgets/boolval_ui.ui
66   widgets/titlewidget_ui.ui
67   widgets/unicodedialog_ui.ui
68   widgets/timelinebuttons_ui.ui
69   widgets/renderwidget_ui.ui
70   widgets/saveprofile_ui.ui
71   widgets/transitionsettings_ui.ui
72   widgets/configjogshuttle_ui.ui
73   widgets/trackheader_ui.ui
74   widgets/clipproperties_ui.ui
75   widgets/markerdialog_ui.ui
76   widgets/keyframedialog_ui.ui
77   widgets/clipdurationdialog_ui.ui
78   widgets/managecaptures_ui.ui
79   widgets/geometryval_ui.ui
80   widgets/wizardstandard_ui.ui
81   widgets/wizardextra_ui.ui
82   widgets/wizardcheck_ui.ui
83   widgets/wizardmltcheck_ui.ui
84   widgets/spacerdialog_ui.ui
85   widgets/addtrack_ui.ui
86   widgets/dvdwizardvob_ui.ui
87   widgets/dvdwizardmenu_ui.ui
88   widgets/dvdwizardstatus_ui.ui
89   widgets/dvdwizardchapters_ui.ui
90   widgets/missingclips_ui.ui
91   widgets/cliptranscode_ui.ui
92   widgets/templateclip_ui.ui
93   widgets/keyframeeditor_ui.ui
94   widgets/timecodedisplay_ui.ui
95   widgets/tracksconfigdialog_ui.ui
96   widgets/urlval_ui.ui
97   widgets/vectorscope_ui.ui
98   widgets/colorplaneexport_ui.ui
99   widgets/waveform_ui.ui
100   widgets/rgbparade_ui.ui
101   widgets/histogram_ui.ui
102   widgets/geometrywidget_ui.ui
103 )
104
105 set(kdenlive_SRCS
106   addclipcommand.cpp
107   main.cpp
108   mainwindow.cpp
109   customruler.cpp
110   smallruler.cpp
111   projectlist.cpp
112   projectitem.cpp
113   monitor.cpp
114   gentime.cpp
115   renderer.cpp
116   kdenlivedoc.cpp
117   projectlistview.cpp
118   trackview.cpp
119   docclipbase.cpp
120   timecode.cpp
121   monitormanager.cpp
122   headertrack.cpp
123   customtrackview.cpp
124   clipitem.cpp
125   moveclipcommand.cpp
126   resizeclipcommand.cpp
127   razorclipcommand.cpp
128   addtimelineclipcommand.cpp
129   addmarkercommand.cpp
130   kthumb.cpp
131   clipmanager.cpp
132   effectslist.cpp
133   initeffects.cpp
134   effectslistview.cpp
135   addeffectcommand.cpp
136   editeffectcommand.cpp
137   moveeffectcommand.cpp
138   effectstackview.cpp
139   effectstackedit.cpp
140   parameterplotter.cpp
141   profilesdialog.cpp
142   projectsettings.cpp
143   kdenlivesettingsdialog.cpp
144   complexparameter.cpp
145   titlewidget.cpp
146   unicodedialog.cpp
147   graphicsscenerectmove.cpp
148   effectslistwidget.cpp
149   titledocument.cpp
150   transition.cpp
151   renderwidget.cpp
152   abstractclipitem.cpp
153   transitionsettings.cpp
154   recmonitor.cpp
155   addtransitioncommand.cpp
156   edittransitioncommand.cpp
157   addfoldercommand.cpp
158   editfoldercommand.cpp
159   clipproperties.cpp
160   movetransitioncommand.cpp
161   slideshowclip.cpp
162   markerdialog.cpp
163   guide.cpp
164   editguidecommand.cpp
165   statusbarmessagelabel.cpp
166   editkeyframecommand.cpp
167   clipdurationdialog.cpp
168   managecapturesdialog.cpp
169   changespeedcommand.cpp
170   geometryval.cpp
171   wizard.cpp
172   customtrackscene.cpp
173   abstractgroupitem.cpp
174   keyframehelper.cpp
175   editclipcommand.cpp
176   insertspacecommand.cpp
177   spacerdialog.cpp
178   addtrackcommand.cpp
179   movegroupcommand.cpp
180   dvdwizardvob.cpp
181   dvdwizardmenu.cpp
182   dvdwizard.cpp
183   locktrackcommand.cpp
184   groupclipscommand.cpp
185   splitaudiocommand.cpp
186   changecliptypecommand.cpp
187   documentchecker.cpp
188   dvdwizardchapters.cpp
189   documentvalidator.cpp
190   cliptranscode.cpp
191   keyframeedit.cpp
192   positionedit.cpp
193   trackdialog.cpp
194   subprojectitem.cpp
195   folderprojectitem.cpp
196   addclipcutcommand.cpp
197   editclipcutcommand.cpp
198   KoSliderCombo.cpp
199   kis_cubic_curve.cpp
200   kis_curve_widget.cpp
201   timecodedisplay.cpp
202   tracksconfigdialog.cpp
203   configtrackscommand.cpp
204   abstractscopewidget.cpp
205   rebuildgroupcommand.cpp
206   histogram.cpp
207   rgbparade.cpp
208   vectorscope.cpp
209   waveform.cpp
210   colorplaneexport.cpp
211   colortools.cpp
212   colorcorrection/histogramgenerator.cpp
213   colorcorrection/rgbparadegenerator.cpp
214   colorcorrection/vectorscopegenerator.cpp
215   colorcorrection/waveformgenerator.cpp
216   razorgroupcommand.cpp
217   colorpickerwidget.cpp
218   choosecolorwidget.cpp
219   monitorscene.cpp
220   geometrywidget.cpp
221   doubleparameterwidget.cpp
222   audiosignal.cpp
223 )
224
225
226 add_subdirectory( ${CMAKE_SOURCE_DIR}/src/colorcorrection )
227
228 add_definitions( ${KDE4_DEFINITIONS} )
229
230 if(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR NO_JOGSHUTTLE)
231   add_definitions(-DNO_JOGSHUTTLE)
232 else(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR NO_JOGSHUTTLE)
233   set(kdenlive_SRCS jogshuttle.cpp ${kdenlive_SRCS})
234 endif(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR NO_JOGSHUTTLE)
235
236 if (APPLE OR OPENGL_FOUND)
237   add_definitions(-DUSE_OPEN_GL)
238   set(kdenlive_SRCS videoglwidget.cpp ${kdenlive_SRCS})
239 endif (APPLE OR OPENGL_FOUND)
240
241 kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc )
242 QT4_ADD_DBUS_ADAPTOR(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
243 kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UI})
244
245 if (${KDE_VERSION} VERSION_LESS 4.3.80)
246   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF2_LIBS})
247 else (${KDE_VERSION} VERSION_LESS 4.3.80)
248   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF3_LIBS})
249 endif (${KDE_VERSION} VERSION_LESS 4.3.80)
250
251 target_link_libraries(kdenlive
252   ${KDE4_KDEUI_LIBS}
253   ${KDE4_KIO_LIBS}
254   ${KNEWSTUFF_LIBS}
255   ${LIBMLTPLUS_LIBRARY}
256   ${LIBMLT_LIBRARY}
257   ${optional_libs}
258   ${KDE4_KNOTIFYCONFIG_LIBRARY}
259   ${KDE4_KROSSUI_LIBS}
260 )
261
262 if (Q_WS_X11)
263   target_link_libraries(kdenlive ${X11_LIBRARIES})
264 endif (Q_WS_X11)
265
266 if (APPLE)
267   find_package(SDL REQUIRED)
268   target_link_libraries(kdenlive ${SDL_LIBRARY})
269   target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
270   target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
271 else (APPLE)
272   if (OPENGL_FOUND)
273       target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
274       target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
275   endif (OPENGL_FOUND)
276 endif (APPLE)
277
278 install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR})
279 install( FILES kdenliveui.rc kdenlive.notifyrc DESTINATION  ${DATA_INSTALL_DIR}/kdenlive )
280 install (FILES kdenlivesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR})
281 install (FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
282 kde4_install_icons(${ICON_INSTALL_DIR})
283 install( FILES kdenlive_titles.knsrc kdenlive_wipes.knsrc kdenlive_renderprofiles.knsrc kdenlive_projectprofiles.knsrc kdenlivetranscodingrc DESTINATION  ${CONFIG_INSTALL_DIR} )
284 kde4_install_icons( ${ICON_INSTALL_DIR} )
285
286