X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2FCMakeLists.txt;h=1ee4b651032330688926f7c5cbb2a064f803d38b;hb=07cc32ca3557ccce583f95cbc8dd114d989b4f49;hp=0dd66b43fabd2912af015309bea4de919d8d9e83;hpb=9be4b6094fd3091c20f399a4e70e1f9ac2568f56;p=kdenlive diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0dd66b43..1ee4b651 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,5 +1,10 @@ +set(QT_USE_QTDBUS 1) +set(QT_USE_QTOPENGL 1) +set(QT_USE_QTSCRIPT 1) +set(QT_USE_QTSVG 1) +set(QT_USE_QTXML 1) + find_package(OpenGL REQUIRED) -find_package(Qt4 ${QT_MIN_VERSION} REQUIRED QtGui QtOpenGL QtScript QtSvg QtXml) if(APPLE) find_package(SDL REQUIRED) endif(APPLE) @@ -9,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) @@ -58,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) @@ -96,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 @@ -125,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 @@ -142,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 @@ -161,7 +164,6 @@ list(APPEND kdenlive_SRCS projectsettings.cpp recmonitor.cpp renderer.cpp - renderwidget.cpp slideshowclip.cpp smallruler.cpp spacerdialog.cpp @@ -170,7 +172,6 @@ list(APPEND kdenlive_SRCS timecode.cpp timecodedisplay.cpp titledocument.cpp - titlewidget.cpp trackdialog.cpp tracksconfigdialog.cpp trackview.cpp @@ -181,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) @@ -266,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} @@ -285,8 +295,11 @@ include_directories( ${KDE4_INCLUDES} # Adds Qt include directories too. ${LIBMLT_INCLUDE_DIR} ${LIBMLTPLUS_INCLUDE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/lib/external + ${CMAKE_CURRENT_SOURCE_DIR}/lib ) + # Adds Qt definitions and include directories, and sets QT_LIBRARIES according # to the components requested in find_package(). include(${QT_USE_FILE}) @@ -303,11 +316,13 @@ target_link_libraries(kdenlive ${KDE4_KNEWSTUFF_LIBS} ${KDE4_KNOTIFYCONFIG_LIBRARY} ${KDE4_KROSSUI_LIBS} + ${KDE4_SOLID_LIBS} ${QT_LIBRARIES} ${LIBMLT_LIBRARY} ${LIBMLTPLUS_LIBRARY} ${CMAKE_DL_LIBS} ${CMAKE_THREAD_LIBS_INIT} + kiss_fft ) if(Q_WS_X11) @@ -324,11 +339,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() + 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) @@ -337,11 +358,16 @@ 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) if(BUILD_JogShuttle) add_definitions(-DUSE_JOGSHUTTLE) + target_link_libraries(kdenlive + media_ctrl + ) endif(BUILD_JogShuttle) install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR}) @@ -359,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})