1 macro_optional_find_package(Nepomuk)
2 macro_optional_find_package(QJSON)
4 add_subdirectory(audioscopes)
5 add_subdirectory(beziercurve)
6 add_subdirectory(blackmagic)
7 add_subdirectory(colorcorrection)
8 add_subdirectory(colorscopes)
9 add_subdirectory(commands)
10 add_subdirectory(databackup)
11 add_subdirectory(kiss_fft)
12 add_subdirectory(mimetypes)
13 add_subdirectory(onmonitoritems)
14 add_subdirectory(simplekeyframes)
15 add_subdirectory(stopmotion)
18 add_subdirectory(rotoscoping)
19 add_subdirectory(onmonitoritems/rotoscoping)
20 include_directories(QJSON_INCLUDE_DIR)
21 set(optional_libs ${optional_libs} ${QJSON_LIBRARIES})
22 add_definitions(-DQJSON)
24 message(STATUS "Install QJson to use the rotoscoping filter")
27 if(NOT APPLE AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND NOT CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD")
29 endif(NOT APPLE AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND NOT CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD")
33 ${KDE4_INCLUDE_DIR}/KDE
36 ${LIBMLTPLUS_INCLUDE_DIR}
38 ${CMAKE_CURRENT_BINARY_DIR}
43 include_directories(NEPOMUK_INCLUDES)
44 set(optional_libs ${optional_libs} ${NEPOMUK_LIBRARIES})
45 add_definitions(-DNEPOMUK)
49 include_directories(${X11_Xlib_INCLUDE_PATH})
54 set(QT_USE_QTOPENGL TRUE)
56 macro_optional_find_package(OpenGL)
66 kde4_add_ui_files(kdenlive_UI
67 widgets/timeline_ui.ui
68 widgets/recmonitor_ui.ui
69 widgets/colorclip_ui.ui
70 widgets/slideshowclip_ui.ui
71 widgets/configmisc_ui.ui
72 widgets/configenv_ui.ui
73 widgets/configtimeline_ui.ui
74 widgets/configsdl_ui.ui
75 widgets/configcapture_ui.ui
76 widgets/configtranscode_ui.ui
77 widgets/configproject_ui.ui
78 widgets/effectlist_ui.ui
79 widgets/effectstack_ui.ui
80 widgets/profiledialog_ui.ui
81 widgets/projectsettings_ui.ui
82 widgets/keyframewidget_ui.ui
86 widgets/titlewidget_ui.ui
87 widgets/unicodedialog_ui.ui
88 widgets/timelinebuttons_ui.ui
89 widgets/renderwidget_ui.ui
90 widgets/saveprofile_ui.ui
91 widgets/transitionsettings_ui.ui
92 widgets/configjogshuttle_ui.ui
93 widgets/trackheader_ui.ui
94 widgets/clipproperties_ui.ui
95 widgets/markerdialog_ui.ui
96 widgets/keyframedialog_ui.ui
97 widgets/clipdurationdialog_ui.ui
98 widgets/managecaptures_ui.ui
99 widgets/geometryval_ui.ui
100 widgets/wizardstandard_ui.ui
101 widgets/wizardextra_ui.ui
102 widgets/wizardcapture_ui.ui
103 widgets/wizardcheck_ui.ui
104 widgets/wizardmltcheck_ui.ui
105 widgets/spacerdialog_ui.ui
106 widgets/addtrack_ui.ui
107 widgets/dvdwizardvob_ui.ui
108 widgets/dvdwizardmenu_ui.ui
109 widgets/dvdwizardstatus_ui.ui
110 widgets/dvdwizardchapters_ui.ui
111 widgets/missingclips_ui.ui
112 widgets/cliptranscode_ui.ui
113 widgets/templateclip_ui.ui
114 widgets/keyframeeditor_ui.ui
115 widgets/tracksconfigdialog_ui.ui
117 widgets/vectorscope_ui.ui
118 widgets/colorplaneexport_ui.ui
119 widgets/waveform_ui.ui
120 widgets/rgbparade_ui.ui
121 widgets/histogram_ui.ui
122 widgets/geometrywidget_ui.ui
123 widgets/stopmotion_ui.ui
124 widgets/audiospectrum_ui.ui
125 widgets/spectrogram_ui.ui
126 widgets/smconfig_ui.ui
127 widgets/bezierspline_ui.ui
128 widgets/monitoreditwidget_ui.ui
129 widgets/archivewidget_ui.ui
130 widgets/manageencodingprofile_ui.ui
131 widgets/backupdialog_ui.ui
164 kdenlivesettingsdialog.cpp
168 graphicsscenerectmove.cpp
169 effectslistwidget.cpp
174 transitionsettings.cpp
180 statusbarmessagelabel.cpp
181 clipdurationdialog.cpp
182 managecapturesdialog.cpp
186 abstractgroupitem.cpp
193 dvdwizardchapters.cpp
194 documentvalidator.cpp
200 folderprojectitem.cpp
205 tracksconfigdialog.cpp
206 abstractscopewidget.cpp
209 colorpickerwidget.cpp
210 choosecolorwidget.cpp
213 doubleparameterwidget.cpp
217 monitoreditwidget.cpp
222 encodingprofilesdialog.cpp
225 add_definitions(${KDE4_DEFINITIONS})
227 if(CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD")
228 add_definitions(-DQ_OS_KFREEBSD)
229 endif(CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD")
231 if(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD" OR NO_JOGSHUTTLE)
232 add_definitions(-DNO_JOGSHUTTLE)
233 else(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD" OR NO_JOGSHUTTLE)
234 set(kdenlive_SRCS jogshuttle.cpp jogaction.cpp jogshuttleconfig.cpp ${kdenlive_SRCS})
235 endif(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD" OR NO_JOGSHUTTLE)
237 if(APPLE OR OPENGL_FOUND)
238 add_definitions(-DUSE_OPEN_GL)
239 set(kdenlive_SRCS videoglwidget.cpp ${kdenlive_SRCS})
240 endif(APPLE OR OPENGL_FOUND)
243 find_library(DL_LIB NAMES ${CMAKE_DL_LIBS})
244 message(STATUS "using dl library: ${DL_LIB}")
246 kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc)
247 qt4_add_dbus_adaptor(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
248 qt4_add_resources(kdenlive_SRCS widgets/resources.qrc)
249 kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UI})
251 set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF3_LIBS})
253 target_link_libraries(kdenlive
257 ${LIBMLTPLUS_LIBRARY}
260 ${KDE4_KNOTIFYCONFIG_LIBRARY}
263 ${CMAKE_THREAD_LIBS_INIT}
264 ${QT_QTSCRIPT_LIBRARY}
268 target_link_libraries(kdenlive ${X11_LIBRARIES})
272 find_package(SDL REQUIRED)
273 target_link_libraries(kdenlive ${SDL_LIBRARY})
274 target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
275 target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
277 add_definitions(-DHAVE_V4L2)
279 target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
280 target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
284 install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR})
285 install(FILES kdenliveui.rc kdenlive.notifyrc DESTINATION ${DATA_INSTALL_DIR}/kdenlive)
286 install(FILES kdenlivesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR})
287 install(FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
288 kde4_install_icons(${ICON_INSTALL_DIR})
289 install(FILES kdenlive_titles.knsrc kdenlive_wipes.knsrc kdenlive_renderprofiles.knsrc kdenlive_projectprofiles.knsrc kdenlivetranscodingrc DESTINATION ${CONFIG_INSTALL_DIR})