]> git.sesse.net Git - kdenlive/blobdiff - src/CMakeLists.txt
Reorganize and cleanup build structure
[kdenlive] / src / CMakeLists.txt
index 07b1f344cf430a497ab07bc55aafeb241e7fbe65..200cc422df579c80c0b588020c9fe4d7cb4aa202 100644 (file)
@@ -1,14 +1,32 @@
+macro_optional_find_package(Nepomuk)
+macro_optional_find_package(QJSON)
+
+add_subdirectory(audioscopes)
 add_subdirectory(beziercurve)
+add_subdirectory(blackmagic)
 add_subdirectory(colorcorrection)
+add_subdirectory(colorscopes)
+add_subdirectory(commands)
+add_subdirectory(databackup)
 add_subdirectory(kiss_fft)
 add_subdirectory(mimetypes)
 add_subdirectory(onmonitoritems)
-add_subdirectory(rotoscoping)
-add_subdirectory(widgets)
-add_subdirectory(databackup)
+add_subdirectory(simplekeyframes)
+add_subdirectory(stopmotion)
 
-macro_optional_find_package(Nepomuk)
-macro_optional_find_package(QJSON)
+if(QJSON_FOUND)
+  add_subdirectory(rotoscoping)
+  add_subdirectory(onmonitoritems/rotoscoping)
+  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(NOT APPLE AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND NOT CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD")
+  add_subdirectory(v4l)
+endif(NOT APPLE AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND NOT CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD")
 
 include_directories(
   ${KDE4_INCLUDE_DIR}
@@ -17,32 +35,16 @@ include_directories(
   ${LIBMLT_INCLUDE_DIR}
   ${LIBMLTPLUS_INCLUDE_DIR}
   ${QDBUS_INCLUDE_DIRS}
-  ${CMAKE_SOURCE_DIR}
+  ${CMAKE_CURRENT_BINARY_DIR}
   ${CMAKE_BINARY_DIR}
-  ${CMAKE_SOURCE_DIR}/src/audioscopes
-  ${CMAKE_SOURCE_DIR}/src/beziercurve
-  ${CMAKE_SOURCE_DIR}/src/colorcorrection
-  ${CMAKE_SOURCE_DIR}/src/kiss_fft
-  ${CMAKE_SOURCE_DIR}/src/onmonitoritems
-  ${CMAKE_SOURCE_DIR}/src/onmonitoritems/rotoscoping
-  ${CMAKE_SOURCE_DIR}/src/widgets
 )
 
-
 if(Nepomuk_FOUND)
   include_directories(NEPOMUK_INCLUDES)
-  set(optional_libs ${NEPOMUK_LIBRARIES})
+  set(optional_libs ${optional_libs} ${NEPOMUK_LIBRARIES})
   add_definitions(-DNEPOMUK)
 endif(Nepomuk_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})
 endif(Q_WS_X11)
@@ -131,7 +133,6 @@ kde4_add_ui_files(kdenlive_UI
 
 set(kdenlive_SRCS
   ${kdenlive_SRCS}
-  addclipcommand.cpp
   main.cpp
   mainwindow.cpp
   customruler.cpp
@@ -150,19 +151,11 @@ set(kdenlive_SRCS
   headertrack.cpp
   customtrackview.cpp
   clipitem.cpp
-  moveclipcommand.cpp
-  resizeclipcommand.cpp
-  razorclipcommand.cpp
-  addtimelineclipcommand.cpp
-  addmarkercommand.cpp
   kthumb.cpp
   clipmanager.cpp
   effectslist.cpp
   initeffects.cpp
   effectslistview.cpp
-  addeffectcommand.cpp
-  editeffectcommand.cpp
-  moveeffectcommand.cpp
   effectstackview.cpp
   effectstackedit.cpp
   parameterplotter.cpp
@@ -180,38 +173,22 @@ set(kdenlive_SRCS
   abstractclipitem.cpp
   transitionsettings.cpp
   recmonitor.cpp
-  addtransitioncommand.cpp
-  edittransitioncommand.cpp
-  addfoldercommand.cpp
-  editfoldercommand.cpp
   clipproperties.cpp
-  movetransitioncommand.cpp
   slideshowclip.cpp
   markerdialog.cpp
   guide.cpp
-  editguidecommand.cpp
   statusbarmessagelabel.cpp
-  editkeyframecommand.cpp
   clipdurationdialog.cpp
   managecapturesdialog.cpp
-  changespeedcommand.cpp
   geometryval.cpp
   wizard.cpp
   customtrackscene.cpp
   abstractgroupitem.cpp
   keyframehelper.cpp
-  editclipcommand.cpp
-  insertspacecommand.cpp
   spacerdialog.cpp
-  addtrackcommand.cpp
-  movegroupcommand.cpp
   dvdwizardvob.cpp
   dvdwizardmenu.cpp
   dvdwizard.cpp
-  locktrackcommand.cpp
-  groupclipscommand.cpp
-  splitaudiocommand.cpp
-  changecliptypecommand.cpp
   documentchecker.cpp
   dvdwizardchapters.cpp
   documentvalidator.cpp
@@ -221,55 +198,23 @@ set(kdenlive_SRCS
   trackdialog.cpp
   subprojectitem.cpp
   folderprojectitem.cpp
-  addclipcutcommand.cpp
-  editclipcutcommand.cpp
   KoSliderCombo.cpp
   kis_cubic_curve.cpp
   kis_curve_widget.cpp
   timecodedisplay.cpp
   tracksconfigdialog.cpp
-  configtrackscommand.cpp
   abstractscopewidget.cpp
-  audioscopes/abstractaudioscopewidget.cpp
-  audioscopes/audiospectrum.cpp
-  audioscopes/spectrogram.cpp
-  audioscopes/ffttools.cpp
-  rebuildgroupcommand.cpp
-  colorscopes/abstractgfxscopewidget.cpp
-  colorscopes/histogram.cpp
-  colorscopes/rgbparade.cpp
-  colorscopes/vectorscope.cpp
-  colorscopes/waveform.cpp
   colorplaneexport.cpp
   colortools.cpp
-  colorcorrection/histogramgenerator.cpp
-  colorcorrection/rgbparadegenerator.cpp
-  colorcorrection/vectorscopegenerator.cpp
-  colorcorrection/waveformgenerator.cpp
-  razorgroupcommand.cpp
   colorpickerwidget.cpp
   choosecolorwidget.cpp
   monitorscene.cpp
   geometrywidget.cpp
   doubleparameterwidget.cpp
   audiosignal.cpp
-  blackmagic/include/DeckLinkAPIDispatch.cpp
-  stopmotion/stopmotion.cpp
-  blackmagic/devices.cpp
-  onmonitoritems/onmonitorrectitem.cpp
-  onmonitoritems/onmonitorcornersitem.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
@@ -279,48 +224,31 @@ set(kdenlive_SRCS
 
 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)
+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 NO_JOGSHUTTLE)
+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")
-  set(kdenlive_SRCS
-    ${kdenlive_SRCS}
-    v4l/v4lcapture.cpp
-    v4l/src.c
-  )
-endif(NOT APPLE AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
-
-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})
 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)
-  set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF2_LIBS})
-else(${KDE_VERSION} VERSION_LESS 4.3.80)
-  set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF3_LIBS})
-endif(${KDE_VERSION} VERSION_LESS 4.3.80)
+set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF3_LIBS})
 
 target_link_libraries(kdenlive
   ${KDE4_KDEUI_LIBS}
@@ -358,4 +286,4 @@ install(FILES kdenliveui.rc kdenlive.notifyrc DESTINATION ${DATA_INSTALL_DIR}/kd
 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})
\ No newline at end of file
+install(FILES kdenlive_titles.knsrc kdenlive_wipes.knsrc kdenlive_renderprofiles.knsrc kdenlive_projectprofiles.knsrc kdenlivetranscodingrc DESTINATION ${CONFIG_INSTALL_DIR})