X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2FCMakeLists.txt;h=b74ca370779ca311af1f41a9622dfd43193bf370;hb=aec01436823fc842d7bf7158e79bac84c1521552;hp=8fdcd8cc8fb452854947e710ccd05d900195086f;hpb=79a58d4bd2faf4d6ee6576acc70219e95efb2865;p=kdenlive diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8fdcd8cc..b74ca370 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -14,13 +14,16 @@ macro_optional_find_package(QJSON) option(WITH_V4L "Build capture support with Video4Linux" ON) option(WITH_JogShuttle "Build Jog/Shuttle support" ON) + + if(WITH_V4L) # This can be changed to support FreeBSD as soon as we move to a newer V4L2 # header. - check_include_files(linux/ioctl.h HAVE_LINUX_IOCTL_H) - if(HAVE_LINUX_IOCTL_H) + find_package(LibV4L2) + macro_log_feature(LIBV4L2_FOUND "libv4l" "Collection of video4linux support libraries" "http://hansdegoede.livejournal.com, http://linuxtv.org/hg/~hgoede/libv4l/" FALSE "" "Required for better webcam support") + if(LIBV4L2_FOUND) set(BUILD_V4L TRUE) - endif(HAVE_LINUX_IOCTL_H) + endif(LIBV4L2_FOUND) endif(WITH_V4L) if(WITH_JogShuttle) @@ -63,27 +66,34 @@ macro_log_feature(Nepomuk_FOUND "http://nepomuk.semanticdesktop.org" ) +find_package(NepomukCore QUIET) +set_package_properties(NepomukCore PROPERTIES DESCRIPTION "The Nepomuk Core libraries" URL "http://www.kde.org" TYPE RECOMMENDED PURPOSE "Support for the Nepomuk semantic desktop system") + + macro_log_feature(QJSON_FOUND "QJson" "Qt-based library that maps JSON data to QVariant objects" "http://qjson.sourceforge.net" FALSE "" - "Required to build the rotoscoping filter" + "Required to build the rotoscoping filter and for Freesound.org queries" ) -add_subdirectory(audioscopes) + add_subdirectory(beziercurve) -add_subdirectory(blackmagic) add_subdirectory(colorcorrection) -add_subdirectory(colorscopes) add_subdirectory(commands) +add_subdirectory(lib) +add_subdirectory(projecttree) +add_subdirectory(utils) add_subdirectory(databackup) -add_subdirectory(kiss_fft) +add_subdirectory(effectstack) add_subdirectory(mimetypes) add_subdirectory(onmonitoritems) +add_subdirectory(scopes) add_subdirectory(simplekeyframes) add_subdirectory(stopmotion) +add_subdirectory(widgets) if(QJSON_FOUND) add_subdirectory(onmonitoritems/rotoscoping) @@ -101,28 +111,22 @@ list(APPEND kdenlive_SRCS KoSliderCombo.cpp abstractclipitem.cpp abstractgroupitem.cpp - abstractmonitor.cpp - abstractscopewidget.cpp - archivewidget.cpp - audiosignal.cpp - choosecolorwidget.cpp clipdurationdialog.cpp clipitem.cpp clipmanager.cpp clipproperties.cpp cliptranscode.cpp - colorpickerwidget.cpp + clipstabilize.cpp colorplaneexport.cpp colortools.cpp complexparameter.cpp - cornerswidget.cpp customruler.cpp customtrackscene.cpp customtrackview.cpp + definitions.cpp docclipbase.cpp documentchecker.cpp documentvalidator.cpp - doubleparameterwidget.cpp dragvalue.cpp dvdwizard.cpp dvdwizardchapters.cpp @@ -130,14 +134,11 @@ list(APPEND kdenlive_SRCS dvdwizardvob.cpp effectslist.cpp effectslistview.cpp - effectslistwidget.cpp effectstackedit.cpp - effectstackview.cpp encodingprofilesdialog.cpp folderprojectitem.cpp gentime.cpp geometryval.cpp - geometrywidget.cpp graphicsscenerectmove.cpp guide.cpp headertrack.cpp @@ -147,16 +148,13 @@ list(APPEND kdenlive_SRCS keyframeedit.cpp keyframehelper.cpp kis_cubic_curve.cpp - kis_curve_widget.cpp kthumb.cpp managecapturesdialog.cpp markerdialog.cpp mltdevicecapture.cpp monitor.cpp - monitoreditwidget.cpp monitormanager.cpp monitorscene.cpp - noteswidget.cpp parameterplotter.cpp positionedit.cpp profilesdialog.cpp @@ -166,7 +164,6 @@ list(APPEND kdenlive_SRCS projectsettings.cpp recmonitor.cpp renderer.cpp - renderwidget.cpp slideshowclip.cpp smallruler.cpp spacerdialog.cpp @@ -175,7 +172,6 @@ list(APPEND kdenlive_SRCS timecode.cpp timecodedisplay.cpp titledocument.cpp - titlewidget.cpp trackdialog.cpp tracksconfigdialog.cpp trackview.cpp @@ -186,75 +182,84 @@ list(APPEND kdenlive_SRCS ) kde4_add_ui_files(kdenlive_UIS - widgets/addtrack_ui.ui - widgets/archivewidget_ui.ui - widgets/audiospectrum_ui.ui - widgets/backupdialog_ui.ui - widgets/bezierspline_ui.ui - widgets/boolval_ui.ui - widgets/clipdurationdialog_ui.ui - widgets/clipproperties_ui.ui - widgets/cliptranscode_ui.ui - widgets/colorclip_ui.ui - widgets/colorplaneexport_ui.ui - widgets/configcapture_ui.ui - widgets/configenv_ui.ui - widgets/configjogshuttle_ui.ui - widgets/configmisc_ui.ui - widgets/configproject_ui.ui - widgets/configsdl_ui.ui - widgets/configtimeline_ui.ui - widgets/configtranscode_ui.ui - widgets/dvdwizardchapters_ui.ui - widgets/dvdwizardmenu_ui.ui - widgets/dvdwizardstatus_ui.ui - widgets/dvdwizardvob_ui.ui - widgets/effectlist_ui.ui - widgets/effectstack_ui.ui - widgets/geometryval_ui.ui - widgets/geometrywidget_ui.ui - widgets/histogram_ui.ui - widgets/keyframedialog_ui.ui - widgets/keyframeeditor_ui.ui - widgets/keyframewidget_ui.ui - widgets/listval_ui.ui - widgets/managecaptures_ui.ui - widgets/manageencodingprofile_ui.ui - widgets/markerdialog_ui.ui - widgets/missingclips_ui.ui - widgets/monitoreditwidget_ui.ui - widgets/profiledialog_ui.ui - widgets/projectsettings_ui.ui - widgets/recmonitor_ui.ui - widgets/renderwidget_ui.ui - widgets/rgbparade_ui.ui - widgets/saveprofile_ui.ui - widgets/slideshowclip_ui.ui - widgets/smconfig_ui.ui - widgets/spacerdialog_ui.ui - widgets/spectrogram_ui.ui - widgets/stopmotion_ui.ui - widgets/templateclip_ui.ui - widgets/timeline_ui.ui - widgets/timelinebuttons_ui.ui - widgets/titlewidget_ui.ui - widgets/trackheader_ui.ui - widgets/tracksconfigdialog_ui.ui - widgets/transitionsettings_ui.ui - widgets/unicodedialog_ui.ui - widgets/urlval_ui.ui - widgets/vectorscope_ui.ui - widgets/waveform_ui.ui - widgets/wipeval_ui.ui - widgets/wizardcapture_ui.ui - widgets/wizardcheck_ui.ui - widgets/wizardextra_ui.ui - widgets/wizardmltcheck_ui.ui - widgets/wizardstandard_ui.ui + ui/addtrack_ui.ui + ui/archivewidget_ui.ui + ui/audiospectrum_ui.ui + ui/backupdialog_ui.ui + ui/bezierspline_ui.ui + ui/boolval_ui.ui + ui/clipdurationdialog_ui.ui + ui/clipproperties_ui.ui + ui/cliptranscode_ui.ui + ui/collapsiblewidget_ui.ui + ui/clipstabilize_ui.ui + ui/colorclip_ui.ui + ui/colorplaneexport_ui.ui + ui/configcapture_ui.ui + ui/configenv_ui.ui + ui/configjogshuttle_ui.ui + ui/configmisc_ui.ui + ui/configproject_ui.ui + ui/configsdl_ui.ui + ui/configtimeline_ui.ui + ui/configtranscode_ui.ui + ui/dvdwizardchapters_ui.ui + ui/dvdwizardmenu_ui.ui + ui/dvdwizardstatus_ui.ui + ui/dvdwizardvob_ui.ui + ui/effectlist_ui.ui + ui/effectstack_ui.ui + ui/effectstack2_ui.ui + ui/freesound_ui.ui + ui/geometryval_ui.ui + ui/geometrywidget_ui.ui + ui/histogram_ui.ui + ui/keyframedialog_ui.ui + ui/keyframeeditor_ui.ui + ui/keyframewidget_ui.ui + ui/listval_ui.ui + ui/managecaptures_ui.ui + ui/manageencodingprofile_ui.ui + ui/markerdialog_ui.ui + ui/missingclips_ui.ui + ui/monitoreditwidget_ui.ui + ui/profiledialog_ui.ui + ui/projectsettings_ui.ui + ui/recmonitor_ui.ui + ui/renderwidget_ui.ui + ui/rgbparade_ui.ui + ui/saveprofile_ui.ui + ui/slideshowclip_ui.ui + ui/smconfig_ui.ui + ui/spacerdialog_ui.ui + ui/spectrogram_ui.ui + ui/stopmotion_ui.ui + ui/templateclip_ui.ui + ui/timeline_ui.ui + ui/timelinebuttons_ui.ui + ui/titlewidget_ui.ui + ui/trackheader_ui.ui + ui/tracksconfigdialog_ui.ui + ui/transitionsettings_ui.ui + ui/unicodewidget_ui.ui + ui/urlval_ui.ui + ui/vectorscope_ui.ui + ui/waveform_ui.ui + ui/wipeval_ui.ui + ui/wizardcapture_ui.ui + ui/wizardcheck_ui.ui + ui/wizardextra_ui.ui + ui/wizardmltcheck_ui.ui + ui/wizardstandard_ui.ui + ui/keywordval_ui.ui + ui/fontval_ui.ui + ui/cutjobdialog_ui.ui + ui/scenecutdialog_ui.ui + ui/importkeyframesdialog_ui.ui ) if(OPENGL_FOUND) - list(APPEND kdenlive_SRCS videoglwidget.cpp) + list(APPEND kdenlive_SRCS widgets/videoglwidget.cpp) endif(OPENGL_FOUND) if(BUILD_JogShuttle) @@ -271,7 +276,7 @@ qt4_add_dbus_adaptor(kdenlive_SRCS mainwindow.h MainWindow ) -qt4_add_resources(kdenlive_SRCS widgets/resources.qrc) +qt4_add_resources(kdenlive_SRCS ui/resources.qrc) kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UIS} @@ -292,6 +297,7 @@ include_directories( ${LIBMLTPLUS_INCLUDE_DIR} ) + # Adds Qt definitions and include directories, and sets QT_LIBRARIES according # to the components requested in find_package(). include(${QT_USE_FILE}) @@ -308,6 +314,7 @@ target_link_libraries(kdenlive ${KDE4_KNEWSTUFF_LIBS} ${KDE4_KNOTIFYCONFIG_LIBRARY} ${KDE4_KROSSUI_LIBS} + ${KDE4_SOLID_LIBS} ${QT_LIBRARIES} ${LIBMLT_LIBRARY} ${LIBMLTPLUS_LIBRARY} @@ -315,6 +322,12 @@ target_link_libraries(kdenlive ${CMAKE_THREAD_LIBS_INIT} ) +if(BUILD_JogShuttle) + target_link_libraries(kdenlive + ${CMAKE_SOURCE_DIR}/lib/libmedia_ctrl.a + ) +endif(BUILD_JogShuttle) + if(Q_WS_X11) include_directories(${X11_Xlib_INCLUDE_PATH}) target_link_libraries(kdenlive ${X11_LIBRARIES}) @@ -329,11 +342,17 @@ if(SDL_FOUND) target_link_libraries(kdenlive ${SDL_LIBRARY}) endif(SDL_FOUND) -if(Nepomuk_FOUND) - add_definitions(-DUSE_NEPOMUK) - include_directories(${NEPOMUK_INCLUDES}) - target_link_libraries(kdenlive ${NEPOMUK_LIBRARIES}) -endif(Nepomuk_FOUND) +if(NepomukCore_FOUND) + add_definitions(-DUSE_NEPOMUKCORE) + include_directories(${NEPOMUK_CORE_INCLUDE_DIR}) + target_link_libraries(kdenlive ${NEPOMUK_CORE_LIBRARY}) +else(NepomukWidgets_FOUND) + if(Nepomuk_FOUND) + add_definitions(-DUSE_NEPOMUK) + include_directories(${NEPOMUK_INCLUDES}) + target_link_libraries(kdenlive ${NEPOMUK_LIBRARIES}) + endif(Nepomuk_FOUND) +endif() if(QJSON_FOUND) add_definitions(-DUSE_QJSON) @@ -342,6 +361,8 @@ if(QJSON_FOUND) endif(QJSON_FOUND) if(BUILD_V4L) + include_directories(${LIBV4L2_INCLUDE_DIR}) + target_link_libraries(kdenlive ${LIBV4L2_LIBRARY}) add_definitions(-DUSE_V4L) endif(BUILD_V4L) @@ -364,5 +385,5 @@ install(FILES kdenlivetranscodingrc DESTINATION ${CONFIG_INSTALL_DIR} ) -kde4_install_icons(${ICON_INSTALL_DIR}) +add_subdirectory(icons) install(FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})