]> git.sesse.net Git - kdenlive/blobdiff - src/CMakeLists.txt
Cleanup document loading and make sure to read all thumbs from disk cache on opening
[kdenlive] / src / CMakeLists.txt
index 80fbab923cded2202f7abba4388fe2bd1fb2c8c0..173eabcd0cb763639474eb0453a516a55bacb519 100644 (file)
@@ -1,9 +1,14 @@
-add_subdirectory(widgets)
-add_subdirectory(mimetypes)
+add_subdirectory(beziercurve)
+add_subdirectory(colorcorrection)
 add_subdirectory(kiss_fft)
+add_subdirectory(mimetypes)
+add_subdirectory(onmonitoritems)
+add_subdirectory(rotoscoping)
+add_subdirectory(widgets)
+add_subdirectory(databackup)
 
 macro_optional_find_package(Nepomuk)
-include(FindQImageBlitz)
+macro_optional_find_package(QJSON)
 
 include_directories(
   ${KDE4_INCLUDE_DIR}
@@ -14,11 +19,13 @@ include_directories(
   ${QDBUS_INCLUDE_DIRS}
   ${CMAKE_SOURCE_DIR}
   ${CMAKE_BINARY_DIR}
-  ${CMAKE_SOURCE_DIR}/src/widgets
+  ${CMAKE_SOURCE_DIR}/src/audioscopes
+  ${CMAKE_SOURCE_DIR}/src/beziercurve
   ${CMAKE_SOURCE_DIR}/src/colorcorrection
-  ${CMAKE_SOURCE_DIR}/src/onmonitoritems
   ${CMAKE_SOURCE_DIR}/src/kiss_fft
-  ${CMAKE_SOURCE_DIR}/src/audioscopes
+  ${CMAKE_SOURCE_DIR}/src/onmonitoritems
+  ${CMAKE_SOURCE_DIR}/src/onmonitoritems/rotoscoping
+  ${CMAKE_SOURCE_DIR}/src/widgets
 )
 
 
@@ -28,14 +35,13 @@ if(Nepomuk_FOUND)
   add_definitions(-DNEPOMUK)
 endif(Nepomuk_FOUND)
 
-if(QIMAGEBLITZ_FOUND)
-  include_directories(QIMAGEBLITZ_INCLUDES)
-  set(optional_libs ${optional_libs} ${QIMAGEBLITZ_LIBRARIES})
-  add_definitions(-DQIMAGEBLITZ)
-  message(STATUS "Found QImageBlitz: ${QIMAGEBLITZ_LIBRARIES}")
-else(QIMAGEBLITZ_FOUND)
-  message(STATUS "Install QImageBlitz devel package for improved stopmotion features")
-endif(QIMAGEBLITZ_FOUND)
+if(QJSON_FOUND)
+  include_directories(QJSON_INCLUDE_DIR)
+  set(optional_libs ${optional_libs} ${QJSON_LIBRARIES})
+  add_definitions(-DQJSON)
+else(QJSON_FOUND)
+  message(STATUS "Install QJson to use the rotoscoping filter")
+endif(QJSON_FOUND)
 
 if(Q_WS_X11)
   include_directories(${X11_Xlib_INCLUDE_PATH})
@@ -104,7 +110,6 @@ kde4_add_ui_files(kdenlive_UI
   widgets/cliptranscode_ui.ui
   widgets/templateclip_ui.ui
   widgets/keyframeeditor_ui.ui
-  widgets/timecodedisplay_ui.ui
   widgets/tracksconfigdialog_ui.ui
   widgets/urlval_ui.ui
   widgets/vectorscope_ui.ui
@@ -114,9 +119,14 @@ kde4_add_ui_files(kdenlive_UI
   widgets/histogram_ui.ui
   widgets/geometrywidget_ui.ui
   widgets/stopmotion_ui.ui
-  widgets/monitorscenecontrolwidget_ui.ui
-  widgets/cornerswidget_ui.ui
   widgets/audiospectrum_ui.ui
+  widgets/spectrogram_ui.ui
+  widgets/smconfig_ui.ui
+  widgets/bezierspline_ui.ui
+  widgets/monitoreditwidget_ui.ui
+  widgets/archivewidget_ui.ui
+  widgets/manageencodingprofile_ui.ui
+  widgets/backupdialog_ui.ui
 )
 
 set(kdenlive_SRCS
@@ -220,14 +230,16 @@ set(kdenlive_SRCS
   tracksconfigdialog.cpp
   configtrackscommand.cpp
   abstractscopewidget.cpp
-  abstractgfxscopewidget.cpp
   audioscopes/abstractaudioscopewidget.cpp
   audioscopes/audiospectrum.cpp
+  audioscopes/spectrogram.cpp
+  audioscopes/ffttools.cpp
   rebuildgroupcommand.cpp
-  histogram.cpp
-  rgbparade.cpp
-  vectorscope.cpp
-  waveform.cpp
+  colorscopes/abstractgfxscopewidget.cpp
+  colorscopes/histogram.cpp
+  colorscopes/rgbparade.cpp
+  colorscopes/vectorscope.cpp
+  colorscopes/waveform.cpp
   colorplaneexport.cpp
   colortools.cpp
   colorcorrection/histogramgenerator.cpp
@@ -243,49 +255,62 @@ set(kdenlive_SRCS
   audiosignal.cpp
   blackmagic/include/DeckLinkAPIDispatch.cpp
   stopmotion/stopmotion.cpp
-  stopmotion/capturehandler.cpp
-  blackmagic/capture.cpp
   blackmagic/devices.cpp
-  onmonitoritems/abstractonmonitoritem.cpp
   onmonitoritems/onmonitorrectitem.cpp
   onmonitoritems/onmonitorcornersitem.cpp
-  monitorscenecontrolwidget.cpp
   cornerswidget.cpp
   kiss_fft/_kiss_fft_guts.h
   kiss_fft/kiss_fft.c
   kiss_fft/tools/kiss_fftr.c
+  beziercurve/beziersplineeditor.cpp
+  beziercurve/beziersplinewidget.cpp
+  beziercurve/bpoint.cpp
+  beziercurve/cubicbezierspline.cpp
+  dragvalue.cpp
+  monitoreditwidget.cpp
+  simplekeyframes/simpletimelinewidget.cpp
+  simplekeyframes/simplekeyframewidget.cpp
+  noteswidget.cpp
+  archivewidget.cpp
+  mltdevicecapture.cpp
+  abstractmonitor.cpp
+  encodingprofilesdialog.cpp
 )
 
-add_subdirectory(${CMAKE_SOURCE_DIR}/src/colorcorrection)
-add_subdirectory(${CMAKE_SOURCE_DIR}/src/onmonitoritems)
-
 add_definitions(${KDE4_DEFINITIONS})
 
-if(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR NO_JOGSHUTTLE)
+if(CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD")
+  add_definitions(-DQ_OS_KFREEBSD)
+endif(CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD")
+
+if(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD" OR NO_JOGSHUTTLE)
   add_definitions(-DNO_JOGSHUTTLE)
-else(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR NO_JOGSHUTTLE)
-  set(kdenlive_SRCS jogshuttle.cpp ${kdenlive_SRCS})
-endif(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR NO_JOGSHUTTLE)
+else(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD" OR NO_JOGSHUTTLE)
+  set(kdenlive_SRCS jogshuttle.cpp jogaction.cpp jogshuttleconfig.cpp ${kdenlive_SRCS})
+endif(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD" OR NO_JOGSHUTTLE)
 
 if(APPLE OR OPENGL_FOUND)
   add_definitions(-DUSE_OPEN_GL)
   set(kdenlive_SRCS videoglwidget.cpp ${kdenlive_SRCS})
 endif(APPLE OR OPENGL_FOUND)
 
-if(NOT APPLE AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+if(NOT APPLE AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND NOT CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD")
   set(kdenlive_SRCS
     ${kdenlive_SRCS}
     v4l/v4lcapture.cpp
     v4l/src.c
-    v4l/src_v4l2.c
-    v4l/dec_bayer.c
-    v4l/dec_grey.c
-    v4l/dec_jpeg.c
-    v4l/dec_rgb.c
-    v4l/dec_s561.c
-    v4l/dec_yuv.c
   )
-endif(NOT APPLE AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+endif(NOT APPLE AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND NOT CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD")
+
+if(QJSON_FOUND)
+  set(kdenlive_SRCS
+    ${kdenlive_SRCS}
+    onmonitoritems/rotoscoping/bpointitem.cpp
+    onmonitoritems/rotoscoping/nearestpoint.cpp
+    onmonitoritems/rotoscoping/splineitem.cpp
+    rotoscoping/rotowidget.cpp
+  )
+endif(QJSON_FOUND)
 
 # Add libdl
 find_library(DL_LIB NAMES ${CMAKE_DL_LIBS})
@@ -293,6 +318,7 @@ message(STATUS "using dl library: ${DL_LIB}")
 
 kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc)
 qt4_add_dbus_adaptor(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
+qt4_add_resources(kdenlive_SRCS widgets/resources.qrc)
 kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UI})
 
 if(${KDE_VERSION} VERSION_LESS 4.3.80)
@@ -311,6 +337,8 @@ target_link_libraries(kdenlive
   ${KDE4_KNOTIFYCONFIG_LIBRARY}
   ${KDE4_KROSSUI_LIBS}
   ${CMAKE_DL_LIBS}
+  ${CMAKE_THREAD_LIBS_INIT}
+  ${QT_QTSCRIPT_LIBRARY}
 )
 
 if(Q_WS_X11)
@@ -336,4 +364,3 @@ install(FILES kdenlivesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR})
 install(FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
 kde4_install_icons(${ICON_INSTALL_DIR})
 install(FILES kdenlive_titles.knsrc kdenlive_wipes.knsrc kdenlive_renderprofiles.knsrc kdenlive_projectprofiles.knsrc kdenlivetranscodingrc DESTINATION ${CONFIG_INSTALL_DIR})
-kde4_install_icons(${ICON_INSTALL_DIR})