]> git.sesse.net Git - kdenlive/blob - src/CMakeLists.txt
Add widget for easier timecode 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
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   widgets/timecodedisplay_ui.ui
92 )
93
94 set(kdenlive_SRCS
95   addclipcommand.cpp
96   main.cpp
97   mainwindow.cpp
98   customruler.cpp
99   smallruler.cpp
100   projectlist.cpp
101   projectitem.cpp
102   monitor.cpp
103   gentime.cpp
104   renderer.cpp
105   kdenlivedoc.cpp
106   projectlistview.cpp
107   trackview.cpp
108   docclipbase.cpp
109   timecode.cpp
110   monitormanager.cpp
111   headertrack.cpp
112   customtrackview.cpp
113   clipitem.cpp
114   moveclipcommand.cpp
115   resizeclipcommand.cpp
116   razorclipcommand.cpp
117   addtimelineclipcommand.cpp
118   addmarkercommand.cpp
119   kthumb.cpp
120   clipmanager.cpp
121   effectslist.cpp
122   initeffects.cpp
123   effectslistview.cpp
124   addeffectcommand.cpp
125   editeffectcommand.cpp
126   moveeffectcommand.cpp
127   effectstackview.cpp
128   effectstackedit.cpp
129   parameterplotter.cpp
130   profilesdialog.cpp
131   projectsettings.cpp
132   kdenlivesettingsdialog.cpp
133   complexparameter.cpp
134   titlewidget.cpp
135   unicodedialog.cpp
136   graphicsscenerectmove.cpp
137   effectslistwidget.cpp
138   titledocument.cpp
139   transition.cpp
140   renderwidget.cpp
141   abstractclipitem.cpp
142   transitionsettings.cpp
143   recmonitor.cpp
144   addtransitioncommand.cpp
145   edittransitioncommand.cpp
146   addfoldercommand.cpp
147   editfoldercommand.cpp
148   clipproperties.cpp
149   movetransitioncommand.cpp
150   slideshowclip.cpp
151   markerdialog.cpp
152   guide.cpp
153   editguidecommand.cpp
154   statusbarmessagelabel.cpp
155   editkeyframecommand.cpp
156   clipdurationdialog.cpp
157   managecapturesdialog.cpp
158   changespeedcommand.cpp
159   geometryval.cpp
160   wizard.cpp
161   customtrackscene.cpp
162   abstractgroupitem.cpp
163   keyframehelper.cpp
164   editclipcommand.cpp
165   insertspacecommand.cpp
166   spacerdialog.cpp
167   addtrackcommand.cpp
168   changetrackcommand.cpp
169   movegroupcommand.cpp
170   dvdwizardvob.cpp
171   dvdwizardmenu.cpp
172   dvdwizard.cpp
173   locktrackcommand.cpp
174   groupclipscommand.cpp
175   splitaudiocommand.cpp
176   changecliptypecommand.cpp
177   documentchecker.cpp
178   dvdwizardchapters.cpp
179   documentvalidator.cpp
180   cliptranscode.cpp
181   keyframeedit.cpp
182   positionedit.cpp
183   trackdialog.cpp
184   subprojectitem.cpp
185   folderprojectitem.cpp
186   addclipcutcommand.cpp
187   editclipcutcommand.cpp
188   KoSliderCombo.cpp
189   kis_cubic_curve.cpp
190   kis_curve_widget.cpp
191   timecodedisplay.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