Commit 87914857 authored by Alberto Villa's avatar Alberto Villa

Merge branch 'buildsystem'

parents 584ca924 192369fd
project(kdenlive)
set(BASE_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.8.3)
# Minimum versions of main dependencies.
set(LIBMLT_MIN_VERSION 0.7.6)
set(QT_MIN_VERSION 4.5.0)
set(KDE_MIN_VERSION 4.3.0)
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.
find_package(KDE4 REQUIRED)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --std=c99") # To compile kiss_fft
include(KDE4Defaults)
include(MacroLibrary)
include(FindGettext)
include(MacroOptionalAddSubdirectory)
set(catalogname kdenlive)
# To be switched on when releasing.
option(RELEASE_BUILD "Remove Git revision from program version (use for stable releases)" OFF)
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)
# Get current version.
set(VERSION "\"${KDENLIVE_VERSION}\"")
if(NOT RELEASE_BUILD)
if(EXISTS ${PROJECT_SOURCE_DIR}/.git)
# Probably a Git workspace: determine the revision.
find_package(Git)
if(GIT_FOUND)
exec_program(${GIT_EXECUTABLE}
${CMAKE_CURRENT_SOURCE_DIR}
ARGS "describe --tags"
OUTPUT_VARIABLE KDENLIVE_GIT_REVISION
)
message("Current Kdenlive Git revision is ${KDENLIVE_GIT_REVISION}")
set(VERSION "\"${KDENLIVE_VERSION} (rev. ${KDENLIVE_GIT_REVISION})\"")
else(GIT_FOUND)
message("Could not determine the Git revision")
endif(GIT_FOUND)
endif(EXISTS ${PROJECT_SOURCE_DIR}/.git)
endif(NOT RELEASE_BUILD)
add_definitions(${QT_DEFINITIONS})
include(CheckIncludeFiles)
check_include_files(malloc.h HAVE_MALLOC_H)
check_include_files(pthread.h HAVE_PTHREAD_H)
# 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}, you have ${LIBMLT_VERSION}\nPlease install recent MLT http://www.mltframework.org")
endif(LIBMLT_VERSION VERSION_LESS ${LIBMLT_REQUIRED_VERSION})
# Search KDE and dependent packages.
find_package(KDE4 ${KDE_MIN_VERSION} REQUIRED)
include(KDE4Defaults)
include(MacroLibrary)
macro_log_feature(KDE4_FOUND
"KDELibs"
"KDE core libraries"
"http://www.kde.org"
TRUE
${KDE_MIN_VERSION}
)
find_package(MSGFMT REQUIRED)
find_program(EXTRACTRC_EXECUTABLE extractrc)
find_program(MSGFMT_EXECUTABLE msgfmt)
find_program(MSGMERGE_EXECUTABLE msgmerge)
find_program(XGETTEXT_EXECUTABLE xgettext)
# Find Qt core modules (QtCore and QtGui).
find_package(Qt4 ${QT_MIN_VERSION} REQUIRED)
# 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)
# Search MLT package.
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_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(src src/cmake_bindir)
add_subdirectory(renderer renderer/cmake_bindir)
add_subdirectory(thumbnailer thumbnailer/cmake_bindir)
add_subdirectory(plugins)
add_subdirectory(data)
macro_optional_add_subdirectory(doc)
add_subdirectory(effects)
add_subdirectory(export)
add_subdirectory(icons)
add_subdirectory(data)
add_subdirectory(lumas)
add_subdirectory(titles)
add_subdirectory(man)
add_subdirectory(doc)
configure_file(${CMAKE_SOURCE_DIR}/kdenlive-config.h.cmake kdenlive-config.h @ONLY)
add_subdirectory(plugins)
macro_optional_add_subdirectory(po)
add_subdirectory(renderer)
add_subdirectory(src)
add_subdirectory(thumbnailer)
add_subdirectory(titles)
macro_display_feature_log()
message("-- C flags are now: " ${CMAKE_C_FLAGS})
configure_file(config-kdenlive.h.cmake config-kdenlive.h @ONLY)
0.8.2
* Load zone thumbnails from disk if available.
* Optimise document loading.
......@@ -19,7 +18,7 @@
* Remove the "avformat-novalidate" trick for faster loading, caused crash. (http://kdenlive.org/mantis/view.php?id=2205)
* Allow to assign a shortcut to usage of proxies in project.
* Use separate thread for generation of timeline thumbnails when zoom is at frame level to keep UI responsive.
* Allow to use JScript in render profile parameter values. Values that need evalutation need to be indicated by '%'.
* Allow to use JScript in render profile parameter values. Values that need evalutation need to be indicated by '%'.
* Check for missing proxies on document opening.
* Check document for invalid (overlapping) transitions.
* Check for duration mismatch in clip producers when opening a document (can cause corruption).
......
This is the coding guideline for Kdenlive.
Committing
......
Kdenlive Installation Instrucions
Kdenlive installation instrucions
=================================
To compile and install, go in the source directory and type:
mkdir build;cd build
......@@ -21,6 +20,3 @@ Note that you should also install MLT to do anything useful with Kdenlive. See
the README file for details.
Have Fun!
......@@ -18,7 +18,7 @@ versions, but this is not guaranteed, or (at this stage of development) likely.
We welcome all bug reports, feedback, and offers for help!
So please visit our bug tracker and forums:
Forum:
Forum:
http://kdenlive.org/forum
Bug Tracker:
......
This file is intended to contain tips and Q/A for translating.
* What is String Freeze?
Some weeks (usually 2) before a new release, string freeze is declared. From then it is guaranteed that
no strings in the source code will be changed anymore so that translators can work without constantly
having to update again and again.
Some weeks (usually 2) before a new release, string freeze is declared. From
then it is guaranteed that no strings in the source code will be changed
anymore so that translators can work without constantly having to update again
and again.
* There is a duplicate string (like «Clip:» and «Clip: » or «Audio device» and «Audio Device»). What to do?
Either file a bug report on mantis, or add the strings to the CORRECT_THESE file in this directory so that
they can be corrected for the next release.
* There is a duplicate string (like «Clip:» and «Clip: » or «Audio device» and
«Audio Device»). What to do?
File a bug report on Mantis so that they can be corrected for the next
release.
* There is some other weird thing (singular form has to be translated both separately and together with its plural form, etc.)
As above: Bug report or CORRECT_THESE file.
* There is some other weird thing (singular form has to be translated both
separately and together with its plural form, etc.).
As above: bug report.
* There is HTML and some CDATA tags in a string to translate.
Yes. This is not a mistake but intended, for formatting. Please keep these tags :)
\ No newline at end of file
Yes. This is not a mistake but intended, for formatting. Please keep these
tags. :)
This file contains a to-do-list for releases. In braces the responsible person; none given means everybody.
All time
......
include(FindQt3)
include(FindKDE3)
set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" FORCE)
SET(LIB_SEARCH_PATHES ${KDE3_LIB_DIR}
$ENV{KDEDIR}/lib
/opt/kde/lib
/opt/kde3/lib
/usr/lib
/usr/local/lib
)
IF (LIB_SUFFIX)
SET(LIB_SEARCH_PATHES
$ENV{KDEDIR}/lib${LIB_SUFFIX}
/opt/kde/lib${LIB_SUFFIX}
/opt/kde3/lib${LIB_SUFFIX}
/usr/lib${LIB_SUFFIX}
/usr/local/lib${LIB_SUFFIX}
${LIB_SEARCH_PATHES})
ENDIF (LIB_SUFFIX)
FIND_LIBRARY(KDE3_UI_LIBRARY NAMES kdeui
PATHS
${LIB_SEARCH_PATHES}
)
FIND_LIBRARY(KDE3_PART_LIBRARY NAMES kparts
PATHS
${LIB_SEARCH_PATHES}
)
FIND_LIBRARY(KDE3_KIO_LIBRARY NAMES kio
PATHS
${LIB_SEARCH_PATHES}
)
FIND_LIBRARY(KDE3_DCOP_LIBRARY NAMES DCOP
PATHS
${LIB_SEARCH_PATHES}
)
FIND_LIBRARY(KDE3_WALLET_LIBRARY NAMES kwalletclient
PATHS
${LIB_SEARCH_PATHES}
)
FIND_LIBRARY(KDE3_KINIT_KDED_LIBRARY NAMES kdeinit_kded
PATHS
${LIB_SEARCH_PATHES}
)
FIND_PROGRAM(KDE3_KDECONFIG_EXECUTABLE NAME kde-config PATHS
$ENV{KDEDIR}/bin
/opt/kde/bin
/opt/kde3/bin
)
FIND_PROGRAM(MSGFMT
NAMES gmsgfmt msgfmt)
FIND_PROGRAM(STRIP
NAMES strip)
FIND_PROGRAM(KDE3_MEINPROC_EXECUTABLE NAME meinproc PATHS
${KDE3_BIN_INSTALL_DIR}
$ENV{KDEDIR}/bin
/opt/kde/bin
/opt/kde3/bin
)
IF(KDE3_MEINPROC_EXECUTABLE)
MESSAGE(STATUS "Found meinproc: ${KDE3_MEINPROC_EXECUTABLE}")
ELSE(KDE3_MEINPROC_EXECUTABLE)
MESSAGE(STATUS "Didn't find meinproc!")
ENDIF(KDE3_MEINPROC_EXECUTABLE)
IF(MSGFMT)
EXECUTE_PROCESS(COMMAND ${MSGFMT} "--version" "2>&1"
OUTPUT_VARIABLE _msgout)
STRING(REGEX MATCH "GNU[\t ]gettext" _isgnu "${_msgout}")
IF (NOT _isgnu)
MESSAGE(STATUS "No gnu msgfmt found!")
SET(MSGFMT ":" CACHE STRING "Msgfmt program")
ELSE(NOT _isgnu)
MESSAGE(STATUS "Found gnu msgfmt: ${MSGFMT}")
ENDIF (NOT _isgnu)
ELSE(MSGFMT)
SET(MSGFMT ":" CACHE STRING "Msgfmt program")
ENDIF(MSGFMT)
# 'cause my own defines were not good I take them from kde4 trunk
#add some KDE specific stuff
set(SHARE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/share CACHE PATH "Base directory for files which go to share/" FORCE)
set(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Base directory for executables and libraries" FORCE)
#
## the following are directories where stuff will be installed to
set(BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/bin" CACHE PATH "The kde bin install dir (default prefix/bin)" FORCE)
set(SBIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/sbin" CACHE PATH "The kde sbin install dir (default prefix/sbin)" FORCE)
set(LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE)
set(LIBEXEC_INSTALL_DIR "${LIB_INSTALL_DIR}/kde3/libexec" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib/kde3/libexec)" FORCE)
set(PLUGIN_INSTALL_DIR "${LIB_INSTALL_DIR}/kde3" CACHE PATH "The subdirectory relative to the install prefix where plugins will be installed (default is ${LIB_INSTALL_DIR}/kde3)" FORCE)
set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The subdirectory to the header prefix" FORCE)
set(CONFIG_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/config" CACHE PATH "The config file install dir" FORCE)
set(DATA_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/apps" CACHE PATH "The parent directory where applications can install their data" FORCE)
set(HTML_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/doc/HTML" CACHE PATH "The HTML install dir for documentation" FORCE)
set(ICON_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/icons" CACHE PATH "The icon install dir (default prefix/share/icons/)" FORCE)
set(KCFG_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/config.kcfg" CACHE PATH "The install dir for kconfig files" FORCE)
set(LOCALE_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/locale" CACHE PATH "The install dir for translations" FORCE)
set(MIME_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/mimelnk" CACHE PATH "The install dir for the mimetype desktop files" FORCE)
set(SERVICES_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/services" CACHE PATH "The install dir for service (desktop, protocol, ...) files" FORCE)
set(SERVICETYPES_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/servicetypes" CACHE PATH "The install dir for servicestypes desktop files" FORCE)
set(SOUND_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/sounds" CACHE PATH "The install dir for sound files" FORCE)
set(TEMPLATES_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/templates" CACHE PATH "The install dir for templates (Create new file...)" FORCE)
set(WALLPAPER_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/wallpapers" CACHE PATH "The install dir for wallpapers" FORCE)
set(KCONF_UPDATE_INSTALL_DIR "${DATA_INSTALL_DIR}/kconf_update" CACHE PATH "The kconf_update install dir" FORCE)
# this one shouldn't be used anymore
set(APPLNK_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/applnk" CACHE PATH "Is this still used ?" FORCE)
set(AUTOSTART_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/autostart" CACHE PATH "The install dir for autostart files" FORCE)
set(XDG_APPS_DIR "${SHARE_INSTALL_PREFIX}/applications/kde" CACHE PATH "The XDG apps dir" FORCE)
set(XDG_DIRECTORY_DIR "${SHARE_INSTALL_PREFIX}/desktop-directories" CACHE PATH "The XDG directory" FORCE)
set(SYSCONF_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/etc" CACHE PATH "The kde sysconfig install dir (default/etc)" FORCE)
set(MAN_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/man" CACHE PATH "The kde man install dir (default prefix/share/man/)" FORCE)
set(INFO_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/info" CACHE PATH "The kde info install dir (default prefix/info)" FORCE)
MACRO(ADD_POFILES packagename)
SET(_gmofiles)
FILE(GLOB _pofiles *.po)
FOREACH(_current_po ${_pofiles})
GET_FILENAME_COMPONENT(_name ${_current_po} NAME_WE)
STRING(REGEX REPLACE "^.*/([a-zA-Z]+)(\\.po)" "\\1" _lang "${_current_po}")
SET(_gmofile "${CMAKE_CURRENT_BINARY_DIR}/${_name}.gmo")
ADD_CUSTOM_COMMAND(OUTPUT ${_gmofile}
COMMAND ${MSGFMT}
ARGS "-o" "${_gmofile}" "${_current_po}"
DEPENDS ${_current_po}
)
SET(_gmofiles ${_gmofiles} ${_gmofile})
INSTALL(FILES ${_gmofile}
DESTINATION ${LOCALE_INSTALL_DIR}/${_lang}/LC_MESSAGES
RENAME ${packagename}.mo)
ENDFOREACH(_current_po ${_pofiles})
ADD_CUSTOM_TARGET(translations ALL
DEPENDS ${_gmofiles})
ENDMACRO(ADD_POFILES)
......@@ -3,30 +3,46 @@
#
include(FindPkgConfig)
pkg_check_modules(MLT REQUIRED mlt++)
pkg_check_modules(MLT mlt++)
add_definitions(-DMLT_PREFIX=\\\"\"${MLT_PREFIX}\"\\\")
find_path(LIBMLT_INCLUDE_DIR
NAMES framework/mlt.h
PATHS ${MLT_INCLUDEDIR}/mlt ${MLT_PREFIX}/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
)
find_library(LIBMLT_LIBRARY
NAMES mlt
PATHS ${MLT_LIBDIR} ${MLT_PREFIX}/lib /usr/lib /usr/local/lib
PATHS
${MLT_LIBDIR}
${MLT_PREFIX}/lib
/usr/local/lib
/usr/lib
NO_DEFAULT_PATH
)
find_path(LIBMLTPLUS_INCLUDE_DIR
NAMES mlt++/Mlt.h
PATHS ${MLT_INCLUDEDIR} ${MLT_PREFIX}/include /usr/local/include /usr/include
PATHS
${MLT_INCLUDEDIR}
${MLT_PREFIX}/include
/usr/local/include
/usr/include
NO_DEFAULT_PATH
)
find_library(LIBMLTPLUS_LIBRARY
NAMES mlt++
PATHS ${MLT_LIBDIR} ${MLT_PREFIX}/lib /usr/lib /usr/local/lib
PATHS
${MLT_LIBDIR}
${MLT_PREFIX}/lib
/usr/local/lib
/usr/lib
NO_DEFAULT_PATH
)
......@@ -37,24 +53,20 @@ 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)
if(LIBMLT_FOUND AND LIBMLTPLUS_LIBRARY AND LIBMLTPLUS_INCLUDE_DIR)
set(LIBMLT_FOUND 1)
set(LIBMLTPLUS_LIBRARIES ${LIBMLTPLUS_LIBRARY})
else(LIBMLTPLUS_LIBRARY AND LIBMLTPLUS_INCLUDE_DIR)
else(LIBMLT_FOUND AND LIBMLTPLUS_LIBRARY AND LIBMLTPLUS_INCLUDE_DIR)
set(LIBMLT_FOUND 0)
endif(LIBMLTPLUS_LIBRARY AND LIBMLTPLUS_INCLUDE_DIR)
endif(LIBMLT_FOUND AND 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}")
message(STATUS "Found MLT++: ${LIBMLTPLUS_LIBRARY}")
endif(NOT LIBMLT_FIND_QUIETLY)
else(LIBMLT_FOUND)
if(LIBMLT_FIND_REQUIRED)
message(FATAL_ERROR "Could not find MLT library")
message(FATAL_ERROR "Could not find MLT++")
endif(LIBMLT_FIND_REQUIRED)
endif(LIBMLT_FOUND)
\ No newline at end of file
endif(LIBMLT_FOUND)
#
# Find the msgfmt program
#
# Modified from Rosegarden project
#
# Defined variables:
# MSGFMT_FOUND
# MSGFMT_EXECUTABLE
#
# Macro:
# ADD_TRANSLATIONS
#
IF(MSGFMT_EXECUTABLE)
SET(MSGFMT_FOUND TRUE)
ELSE(MSGFMT_EXECUTABLE)
FIND_PROGRAM(MSGFMT_EXECUTABLE
NAMES msgfmt gmsgfmt
PATHS /bin /usr/bin /usr/local/bin )
IF(MSGFMT_EXECUTABLE)
SET(MSGFMT_FOUND TRUE)
ELSE(MSGFMT_EXECUTABLE)
IF(NOT MSGFMT_FIND_QUIETLY)
IF(MSGFMT_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "msgfmt program couldn't be found")
ENDIF(MSGFMT_FIND_REQUIRED)
ENDIF(NOT MSGFMT_FIND_QUIETLY)
ENDIF(MSGFMT_EXECUTABLE)
MARK_AS_ADVANCED(MSGFMT_EXECUTABLE)
ENDIF (MSGFMT_EXECUTABLE)
IF(MSGFMT_FOUND)
MESSAGE(STATUS "Found msgfmt: ${MSGFMT_EXECUTABLE}")
ENDIF(MSGFMT_FOUND)
MACRO(ADD_TRANSLATIONS _lang)
SET(_outputs)
FOREACH(_file ${ARGN})
GET_FILENAME_COMPONENT(_file_we ${_file} NAME_WE)
SET(_out "${CMAKE_CURRENT_BINARY_DIR}/${_file_we}.mo")
SET(_in "${CMAKE_CURRENT_SOURCE_DIR}/${_file_we}.po")
ADD_CUSTOM_COMMAND(
OUTPUT ${_out}
COMMAND ${MSGFMT_EXECUTABLE} -o ${_out} ${_in}
DEPENDS ${_in} )
INSTALL(FILES ${_out}
DESTINATION ${LOCALE_INSTALL_DIR}/${_lang}/LC_MESSAGES )
SET(_outputs ${_outputs} ${_out})
ENDFOREACH(_file)
ADD_CUSTOM_TARGET(translations ALL DEPENDS ${_outputs})
ENDMACRO(ADD_TRANSLATIONS)
\ No newline at end of file
FIND_PROGRAM(XGETTEXT_EXECUTABLE xgettext)
FIND_PROGRAM(FIND_EXECUTABLE find)
FIND_PROGRAM(RM_EXECUTABLE rm)
FIND_PROGRAM(XTRACTRC_EXECUTABLE extractrc)
SET(KDE_POT_FILE ${KDE3_INCLUDE_DIR}/kde.pot)
ADD_CUSTOM_TARGET(package-messages
COMMAND $(MAKE) all # first make sure all generated source exists
COMMAND ${RM_EXECUTABLE} -f po/*.gmo
#COMMAND ${XTRACTRC_EXECUTABLE} ${CMAKE_SOURCE_DIR}/kdenlive/*.rc >> ${CMAKE_SOURCE_DIR}/rc.cpp
COMMAND ${XTRACTRC_EXECUTABLE} --tag=name --tag=description --tag=label --context=effectNames ${CMAKE_SOURCE_DIR}/effects/*.xml >> ${CMAKE_SOURCE_DIR}/rc.cpp
COMMAND ${XGETTEXT_EXECUTABLE} -C
-ki18n -ktr2i18n -kI18N_NOOP
-x ${KDE_POT_FILE}
`${FIND_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR} -name \\*.ui -o -name \\*.cpp`
`${FIND_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR} -name \\*.ui -o -name \\*.cpp`
-o ${CMAKE_SOURCE_DIR}/po/kdenlive.pot
COMMAND $(MAKE) translations
# DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/kwave/menus.config
)
......@@ -3,5 +3,7 @@
#cmakedefine VERSION @VERSION@
#endif
#cmakedefine HAVE_MALLOC_H 1
#cmakedefine HAVE_PTHREAD_H 1
#endif
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kdenlive)
kde4_create_handbook(index.docbook
INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en
SUBDIR kdenlive
)
Name: kdenlive
Version: 0.7
Release: 1%{?dist}
Summary: Non-linear video editor
Group: Applications/Multimedia
License: GPL
URL: http://kdenlive.org/
Source0: kdenlive-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: mlt, mlt++, soprano-devel
Requires: kdebase
%description
Kdenlive is a non-linear video editor for GNU/Linux and FreeBSD, which
supports DV, AVCHD (experimental support) and HDV editing. Kdenlive relies
on several other open source projects, such as FFmpeg and the MLT video
framework. It was designed to answer all needs, from basic video editing to
semi-professional work.
%prep
%setup -q
%build
cmake -DCMAKE_INSTALL_PREFIX=/usr CMakeLists.txt
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc
%{_bindir}/kdenlive
/usr/bin/kdenlive_render