]> git.sesse.net Git - kdenlive/blob - src/CMakeLists.txt
Add option to disable Nepomuk:
[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 )
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   editclipcutcommand.cpp
187   KoSliderCombo.cpp
188 )
189
190 add_definitions( ${KDE4_DEFINITIONS} )
191
192 if(NO_JOGSHUTTLE)
193   add_definitions(-DNO_JOGSHUTTLE)
194 else(NO_JOGSHUTTLE)
195   set(kdenlive_SRCS jogshuttle.cpp ${kdenlive_SRCS})
196 endif(NO_JOGSHUTTLE)
197
198 if (APPLE)
199   set(kdenlive_SRCS videoglwidget.cpp ${kdenlive_SRCS})
200 endif (APPLE)
201
202 kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc )
203 QT4_ADD_DBUS_ADAPTOR(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
204 kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UI})
205
206 if (${KDE_VERSION} VERSION_LESS 4.3.80)
207   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF2_LIBS})
208 else (${KDE_VERSION} VERSION_LESS 4.3.80)
209   set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF3_LIBS})
210 endif (${KDE_VERSION} VERSION_LESS 4.3.80)
211
212 target_link_libraries(kdenlive
213   ${KDE4_KDEUI_LIBS}
214   ${KDE4_KIO_LIBS}
215   ${KNEWSTUFF_LIBS}
216   ${LIBMLTPLUS_LIBRARY}
217   ${LIBMLT_LIBRARY}
218   ${optional_libs}
219   ${KDE4_KNOTIFYCONFIG_LIBRARY}
220   ${KDE4_KROSSUI_LIBS}
221 )
222
223 if (APPLE)
224   find_package(SDL REQUIRED)
225   target_link_libraries(kdenlive ${SDL_LIBRARY})
226   target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
227   target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
228 endif (APPLE)
229
230 install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR})
231 install( FILES kdenliveui.rc kdenlive.notifyrc DESTINATION  ${DATA_INSTALL_DIR}/kdenlive )
232 install (FILES kdenlivesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR})
233 install (FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
234 kde4_install_icons(${ICON_INSTALL_DIR})
235 install( FILES kdenlive_titles.knsrc kdenlive_wipes.knsrc kdenlive_renderprofiles.knsrc kdenlive_projectprofiles.knsrc kdenlivetranscodingrc DESTINATION  ${CONFIG_INSTALL_DIR} )
236 kde4_install_icons( ${ICON_INSTALL_DIR} )
237
238