X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=CMakeLists.txt;h=d0e99d2f2cc7409f5335d0490416bb075584488a;hb=4ae3260592acc87712db77b7d3fe0cc2be7d76bc;hp=28a04d6311ae23131cf3a95cb795e8163a6c975c;hpb=6363960471c6299e51caba3ee5a8cf6e480def58;p=kdenlive diff --git a/CMakeLists.txt b/CMakeLists.txt index 28a04d63..d0e99d2f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,15 +1,18 @@ project(kdenlive) -set(catalogname kdenlive) -# An odd minor version number means development version, while an even -# one means stable release. -set(KDENLIVE_VERSION 0.8.3) -set(LIBMLT_REQUIRED_VERSION 0.7.6) +# An odd patch version number means development version, while an even one means +# stable release. An additional number can be used for bugfix-only releases. +set(KDENLIVE_VERSION 0.9.7) + +# Minimum versions of main dependencies. +set(LIBMLT_MIN_VERSION 0.8.8) +set(QT_MIN_VERSION 4.5.0) +set(KDE_MIN_VERSION 4.3.0) set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules) # To be switched on when releasing. -option(RELEASE_BUILD "Remove Git position from program version (use for stable releases)" OFF) +option(RELEASE_BUILD "Remove Git revision from program version (use for stable releases)" OFF) # Get current version. set(VERSION "\"${KDENLIVE_VERSION}\"") @@ -22,7 +25,16 @@ if(NOT RELEASE_BUILD) ${CMAKE_CURRENT_SOURCE_DIR} ARGS "describe --tags" OUTPUT_VARIABLE KDENLIVE_GIT_REVISION + RETURN_VALUE TAG_RESULT ) + # git describe --tags failed, for example it fails if repo was checked with depth=1 + if(NOT ${TAG_RESULT} EQUAL 0) + exec_program(${GIT_EXECUTABLE} + ${CMAKE_CURRENT_SOURCE_DIR} + ARGS "describe --always" + OUTPUT_VARIABLE KDENLIVE_GIT_REVISION + ) + endif(NOT ${TAG_RESULT} EQUAL 0) message("Current Kdenlive Git revision is ${KDENLIVE_GIT_REVISION}") set(VERSION "\"${KDENLIVE_VERSION} (rev. ${KDENLIVE_GIT_REVISION})\"") else(GIT_FOUND) @@ -35,50 +47,49 @@ include(CheckIncludeFiles) check_include_files(malloc.h HAVE_MALLOC_H) check_include_files(pthread.h HAVE_PTHREAD_H) -find_package(MSGFMT REQUIRED) -find_program(EXTRACTRC_EXECUTABLE extractrc) -find_program(MSGFMT_EXECUTABLE msgfmt) -find_program(MSGMERGE_EXECUTABLE msgmerge) -find_program(XGETTEXT_EXECUTABLE xgettext) - # Search KDE and dependent packages. -find_package(KDE4 REQUIRED) +find_package(KDE4 ${KDE_MIN_VERSION} REQUIRED) include(KDE4Defaults) include(MacroLibrary) -include(FindGettext) +macro_log_feature(KDE4_FOUND + "KDELibs" + "KDE core libraries" + "http://www.kde.org" + TRUE + ${KDE_MIN_VERSION} +) + +# Find Qt core modules (QtCore and QtGui). +find_package(Qt4 ${QT_MIN_VERSION} REQUIRED) # Search MLT package. -find_package(LIBMLT REQUIRED) -if(LIBMLT_VERSION VERSION_LESS ${LIBMLT_REQUIRED_VERSION}) +find_package(LIBMLT ${LIBMLT_MIN_VERSION} REQUIRED) +if(LIBMLT_VERSION VERSION_LESS ${LIBMLT_MIN_VERSION}) set(LIBMLT_FOUND FALSE) -endif(LIBMLT_VERSION VERSION_LESS ${LIBMLT_REQUIRED_VERSION}) -macro_log_feature(LIBMLT_FOUND "MLT" "Multimedia framework and video playout server for TV broadcasting" "http://mltframework.org" TRUE ${LIBMLT_REQUIRED_VERSION}) - -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --std=c99") # To compile kiss_fft -find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGL QtScript REQUIRED) -if ( NOT QT_QTOPENGL_FOUND ) - message(FATAL_ERROR "QtOpenGL (most likely called libqt4-opengl-dev) not found.") -else ( NOT QT_QTOPENGL_FOUND ) - message(-- " Found QtOpenGL.") -endif ( NOT QT_QTOPENGL_FOUND ) -find_library(Qt COMPONENTS QtOpenGL QtScript REQUIRED) - -add_definitions(${QT_DEFINITIONS}) +endif(LIBMLT_VERSION VERSION_LESS ${LIBMLT_MIN_VERSION}) +macro_log_feature(LIBMLT_FOUND + "MLT" + "Multimedia framework and video playout server for TV broadcasting" + "http://mltframework.org" + TRUE + ${LIBMLT_MIN_VERSION} +) add_subdirectory(data) -add_subdirectory(doc) +macro_optional_add_subdirectory(doc) add_subdirectory(effects) add_subdirectory(export) add_subdirectory(icons) add_subdirectory(lumas) add_subdirectory(man) add_subdirectory(plugins) -add_subdirectory(po) -add_subdirectory(renderer renderer/cmake_bindir) -add_subdirectory(src src/cmake_bindir) -add_subdirectory(thumbnailer thumbnailer/cmake_bindir) +macro_optional_add_subdirectory(po) +add_subdirectory(renderer) +add_subdirectory(src) +add_subdirectory(thumbnailer) add_subdirectory(titles) +add_subdirectory(testingArea) macro_display_feature_log() -configure_file(kdenlive-config.h.cmake kdenlive-config.h @ONLY) +configure_file(config-kdenlive.h.cmake config-kdenlive.h @ONLY)