]> git.sesse.net Git - kdenlive/commitdiff
- Rewrite MLT cmake module to use the "new" pkg-config macro.
authorAlberto Villa <avilla@FreeBSD.org>
Fri, 4 Jun 2010 08:18:30 +0000 (08:18 +0000)
committerAlberto Villa <avilla@FreeBSD.org>
Fri, 4 Jun 2010 08:18:30 +0000 (08:18 +0000)
- Stop configuring if MLT isn't at least 0.4.0 (as indicated in src/wizard.cpp.
- Remove deprecated MLT++ cmake module.

svn path=/trunk/kdenlive/; revision=4504

CMakeLists.txt
cmake/modules/FindLIBMLT.cmake

index be663dcfd6ada4d74368ad920209b7b54ff13344..4df7fdc8e88322be6952c7928c7f3125a80fcece 100644 (file)
@@ -1,47 +1,51 @@
 project(kdenlive)
 
-SET(BASE_VERSION 0.7.8)
+set(BASE_VERSION 0.7.8)
+set(LIBMLT_REQUIRED_VERSION 0.4.0)
 
-OPTION(RELEASE_BUILD "Remove compilation date to version, use for stable releases (default off)" OFF)
-set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules )
+option(RELEASE_BUILD "Remove compilation date from program version (use for stable releases)" OFF)
+set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
 
-# search packages used by KDE
+# Search packages used by KDE.
 find_package(KDE4 REQUIRED)
-include (KDE4Defaults)
-include (MacroLibrary)
-INCLUDE(FindGettext)
+include(KDE4Defaults)
+include(MacroLibrary)
+include(FindGettext)
 include(MacroOptionalAddSubdirectory)
 set(catalogname kdenlive)
+add_definitions(${QT_DEFINITIONS})
 
-add_definitions (${QT_DEFINITIONS})
+# Search MLT package.
+find_package(LIBMLT REQUIRED)
+if(LIBMLT_VERSION VERSION_LESS ${LIBMLT_REQUIRED_VERSION})
+  message(FATAL_ERROR "MLT must be at least version ${LIBMLT_REQUIRED_VERSION}")
+endif(LIBMLT_VERSION VERSION_LESS ${LIBMLT_REQUIRED_VERSION})
 
-FIND_PACKAGE(LIBMLT REQUIRED)
 find_package(MSGFMT REQUIRED)
-
 find_program(EXTRACTRC_EXECUTABLE extractrc)
 find_program(MSGFMT_EXECUTABLE msgfmt)
 find_program(MSGMERGE_EXECUTABLE msgmerge)
 find_program(XGETTEXT_EXECUTABLE xgettext)
 
-# current version
-IF (RELEASE_BUILD)
-    SET(VERSION "\"${BASE_VERSION}\"")
-ELSE(RELEASE_BUILD)
-   IF (EXISTS ${PROJECT_SOURCE_DIR}/.svn)
-      # Probably a SVN workspace, determine revision level
-      FIND_PACKAGE(Subversion)
-      IF(Subversion_FOUND)
-        Subversion_WC_INFO(${PROJECT_SOURCE_DIR} KDENLIVE)
-        MESSAGE("Current revision is ${KDENLIVE_WC_REVISION}")
-       SET(VERSION "\"${BASE_VERSION} (rev. ${KDENLIVE_WC_REVISION})\"")
-      ELSE(Subversion_FOUND)
-       MESSAGE("Could not determine SVN revision")
-       SET(VERSION "\"${BASE_VERSION}\"")
-      ENDIF(Subversion_FOUND)
-    ELSE(EXISTS ${PROJECT_SOURCE_DIR}/.svn)
-    SET(VERSION "\"${BASE_VERSION}\"")
-    ENDIF(EXISTS ${PROJECT_SOURCE_DIR}/.svn)
-ENDIF(RELEASE_BUILD)
+# Get current version.
+if(RELEASE_BUILD)
+  set(VERSION "\"${BASE_VERSION}\"")
+else(RELEASE_BUILD)
+  if(EXISTS ${PROJECT_SOURCE_DIR}/.svn)
+    # Probably a SVN workspace: determine the revision.
+    find_package(Subversion)
+    if(Subversion_FOUND)
+      Subversion_WC_INFO(${PROJECT_SOURCE_DIR} KDENLIVE)
+      message("Current revision is ${KDENLIVE_WC_REVISION}")
+      set(VERSION "\"${BASE_VERSION} (rev. ${KDENLIVE_WC_REVISION})\"")
+    else(Subversion_FOUND)
+      message("Could not determine the SVN revision")
+      set(VERSION "\"${BASE_VERSION}\"")
+    endif(Subversion_FOUND)
+  else(EXISTS ${PROJECT_SOURCE_DIR}/.svn)
+    set(VERSION "\"${BASE_VERSION}\"")
+  endif(EXISTS ${PROJECT_SOURCE_DIR}/.svn)
+endif(RELEASE_BUILD)
 
 add_subdirectory(src src/cmake_bindir)
 add_subdirectory(renderer renderer/cmake_bindir)
@@ -56,5 +60,4 @@ add_subdirectory(titles)
 add_subdirectory(po)
 add_subdirectory(man)
 
-CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/kdenlive-config.h.cmake kdenlive-config.h @ONLY)
-
+configure_file(${CMAKE_SOURCE_DIR}/kdenlive-config.h.cmake kdenlive-config.h @ONLY)
\ No newline at end of file
index af5ca5318baf825b31b5607952df2f5dc41b0a25..dcae97e0d34ddb0aaa4de5838c620fbbab3793a9 100644 (file)
@@ -1,66 +1,60 @@
 #
-# Find the MLT includes and library
+# Find the MLT includes and libraries.
 #
 
-FIND_PROGRAM(MLT_CONFIG_EXECUTABLE pkg-config)
-EXEC_PROGRAM(${MLT_CONFIG_EXECUTABLE} ARGS --variable=prefix mlt++ OUTPUT_VARIABLE MLT_PATH )
-MESSAGE(STATUS "Found MLT INSTALL PATH: ${MLT_PATH}")
-ADD_DEFINITIONS(-DMLT_PREFIX=\\\"\"${MLT_PATH}\"\\\")
+include(FindPkgConfig)
+pkg_check_modules(MLT REQUIRED mlt++)
+add_definitions(-DMLT_PREFIX=\\\"\"${MLT_PREFIX}\"\\\")
 
-FIND_PATH(LIBMLT_INCLUDE_DIR 
+find_path(LIBMLT_INCLUDE_DIR
   NAMES framework/mlt.h
-  PATHS ${MLT_PATH}/include/mlt /usr/local/include/mlt /usr/include/mlt
+  PATHS ${MLT_INCLUDEDIR}/mlt ${MLT_PREFIX}/include/mlt /usr/local/include/mlt /usr/include/mlt
   NO_DEFAULT_PATH
 )
 
-MESSAGE(STATUS "Found MLT INCLUDES: ${LIBMLT_INCLUDE_DIR}")
-
-FIND_LIBRARY(LIBMLT_LIBRARY
+find_library(LIBMLT_LIBRARY
   NAMES mlt
-  PATHS ${MLT_PATH}/lib /usr/lib /usr/local/lib
+  PATHS ${MLT_LIBDIR} ${MLT_PREFIX}/lib /usr/lib /usr/local/lib
   NO_DEFAULT_PATH
 )
 
-MESSAGE(STATUS "Found MLT LIBR: ${LIBMLT_LIBRARY}")
-
-FIND_PATH(LIBMLTPLUS_INCLUDE_DIR 
+find_path(LIBMLTPLUS_INCLUDE_DIR
   NAMES mlt++/Mlt.h
-  PATHS ${MLT_PATH}/include /usr/local/include /usr/include
+  PATHS ${MLT_INCLUDEDIR} ${MLT_PREFIX}/include /usr/local/include /usr/include
   NO_DEFAULT_PATH
 )
 
-MESSAGE(STATUS "Found MLT++ INCLUDES: ${LIBMLTPLUS_INCLUDE_DIR}")
-
-FIND_LIBRARY(LIBMLTPLUS_LIBRARY
+find_library(LIBMLTPLUS_LIBRARY
   NAMES mlt++
-  PATHS ${MLT_PATH}/lib /usr/lib /usr/local/lib
+  PATHS ${MLT_LIBDIR} ${MLT_PREFIX}/lib /usr/lib /usr/local/lib
   NO_DEFAULT_PATH
 )
 
-MESSAGE(STATUS "Found MLT++ LIBR: ${LIBMLTPLUS_LIBRARY}")
-
-IF (LIBMLT_LIBRARY AND LIBMLT_INCLUDE_DIR)
-  SET( LIBMLT_FOUND 1 )
-  SET( LIBMLT_LIBRARIES ${LIBMLT_LIBRARY} )
-ELSE (LIBMLT_LIBRARY AND LIBMLT_INCLUDE_DIR)
-  SET( LIBMLT_FOUND 0 )
-ENDIF (LIBMLT_LIBRARY AND LIBMLT_INCLUDE_DIR)
-
-
-IF (LIBMLTPLUS_LIBRARY AND LIBMLTPLUS_INCLUDE_DIR)
-  SET( LIBMLT_FOUND 1 )
-  SET( LIBMLTPLUS_LIBRARIES ${LIBMLTPLUS_LIBRARY} )
-ELSE (LIBMLTPLUS_LIBRARY AND LIBMLTPLUS_INCLUDE_DIR)
-  SET( LIBMLT_FOUND 0 )
-ENDIF (LIBMLTPLUS_LIBRARY AND LIBMLTPLUS_INCLUDE_DIR)
-
-IF (LIBMLT_FOUND)
-  IF (NOT LIBMLT_FIND_QUIETLY)
-    MESSAGE(STATUS "Found MLT library: ${LIBMLT_LIBRARY}")
-  ENDIF (NOT LIBMLT_FIND_QUIETLY)
-ELSE (LIBMLT_FOUND)
-  IF (LIBMLT_FIND_REQUIRED)
-    MESSAGE(FATAL_ERROR "Could not find MLT library")
-  ENDIF (LIBMLT_FIND_REQUIRED)
-ENDIF (LIBMLT_FOUND)
-
+if(LIBMLT_LIBRARY AND LIBMLT_INCLUDE_DIR)
+  set(LIBMLT_FOUND 1)
+  set(LIBMLT_LIBRARIES ${LIBMLT_LIBRARY})
+else(LIBMLT_LIBRARY AND LIBMLT_INCLUDE_DIR)
+  set(LIBMLT_FOUND 0)
+endif(LIBMLT_LIBRARY AND LIBMLT_INCLUDE_DIR)
+
+if(LIBMLTPLUS_LIBRARY AND LIBMLTPLUS_INCLUDE_DIR)
+  set(LIBMLT_FOUND 1)
+  set(LIBMLTPLUS_LIBRARIES ${LIBMLTPLUS_LIBRARY})
+else(LIBMLTPLUS_LIBRARY AND LIBMLTPLUS_INCLUDE_DIR)
+  set(LIBMLT_FOUND 0)
+endif(LIBMLTPLUS_LIBRARY AND LIBMLTPLUS_INCLUDE_DIR)
+
+if(LIBMLT_FOUND)
+  set(LIBMLT_VERSION ${MLT_VERSION})
+  if(NOT LIBMLT_FIND_QUIETLY)
+    message(STATUS "MLT install path: ${MLT_PREFIX}")
+    message(STATUS "MLT includes: ${LIBMLT_INCLUDE_DIR}")
+    message(STATUS "MLT library: ${LIBMLT_LIBRARY}")
+    message(STATUS "MLT++ includes: ${LIBMLTPLUS_INCLUDE_DIR}")
+    message(STATUS "MLT++ library: ${LIBMLTPLUS_LIBRARY}")
+  endif(NOT LIBMLT_FIND_QUIETLY)
+else(LIBMLT_FOUND)
+  if(LIBMLT_FIND_REQUIRED)
+    message(FATAL_ERROR "Could not find MLT library")
+  endif(LIBMLT_FIND_REQUIRED)
+endif(LIBMLT_FOUND)
\ No newline at end of file