Git commit cf1522aac79f10e39a77ed789977332052b64bb1 by Michael Jansen. Committed on 09/05/2011 at 01:23. Pushed by mjansen into branch 'master'.
Kaffeine requires vlc. So it should check for it. I could not find a FindVLC.cmake so i wrote one. @KDE-Buildsystem ... please review. @Christoph ... please adapt the required version and consider making vlc a optional dependency. CCMAIL: [email protected] CCMAIL: [email protected] M +5 -1 CMakeLists.txt A +115 -0 cmake/modules/FindVLC.cmake [License: UNKNOWN] * M +1 -1 src/CMakeLists.txt The files marked with a * at the end have a non valid license. Please read: http://techbase.kde.org/Policies/Licensing_Policy and use the headers which are listed at that page. http://commits.kde.org/kaffeine/cf1522aac79f10e39a77ed789977332052b64bb1 diff --git a/CMakeLists.txt b/CMakeLists.txt index 1bc7c4e..585687c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,8 +1,12 @@ project(kaffeine) +set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules") + find_package(KDE4 REQUIRED) find_package(X11 REQUIRED) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES} +find_package(VLC 1.1.8 REQUIRED) + +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES} ${VLC_INCLUDE_DIRS} ${X11_Xscreensaver_INCLUDE_PATH}) add_definitions(${KDE4_DEFINITIONS}) diff --git a/cmake/modules/FindVLC.cmake b/cmake/modules/FindVLC.cmake new file mode 100644 index 0000000..29ece5c --- /dev/null +++ b/cmake/modules/FindVLC.cmake @@ -0,0 +1,115 @@ +############################################################################### +# CMake module to search for the vlc libraries. +# +# WARNING: This module is experimental work in progress. +# +# This module defines: +# VLC_INCLUDE_DIRS = include dirs to be used when using the vlc library. +# VLC_LIBRARY_DIRS = directories where the libraries are located. +# VLC_LIBRARY = full path to the vlc library. +# VLC_CORE_LIBRARY = full path to the vlccore library. +# VLC_VERSION_STRING = the vlc version found +# VLC_VERSION_MAJOR +# VLC_VERSION_MINOR +# VLC_VERSION_PATCH +# VLC_VERSION_EXTRA +# VLC_FOUND = true if vlc was found. +# +# This module respects: +# LIB_SUFFIX = (64|32|"") Specifies the suffix for the lib directory +# +# Copyright (c) 2011 Michael Jansen <[email protected]> +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. +# +############################################################################### + +# +### Global Configuration Section +# +SET(_VLC_REQUIRED_VARS VLC_INCLUDE_DIR VLC_LIBRARY VLC_VERSION_MAJOR VLC_VERSION_MINOR VLC_VERSION_PATCH) + +# +### VLC uses pkgconfig. +# +find_package(PkgConfig) +if(PKG_CONFIG_FOUND) + pkg_check_modules(PC_VLC QUIET libvlc) +endif(PKG_CONFIG_FOUND) + +# +### Look for the include files. +# +find_path( + VLC_INCLUDE_DIR + NAMES vlc/vlc.h + HINTS + ${PC_VLC_INCLUDEDIR} + ${PC_VLC_INCLUDE_DIRS} # Unused for vlc but anyway + DOC "VLC include directory" + ) +mark_as_advanced(VLC_INCLUDE_DIR) +set(VLC_INCLUDE_DIRS ${VLC_INCLUDE_DIR}) + +# +### Look for the libraries (vlc and vlcsore) +# +find_library( + VLC_LIBRARY + NAMES vlc + HINTS + ${PC_VLC_LIBDIR} + ${PC_VLC_LIBRARY_DIRS} # Unused for vlc but anyway + PATH_SUFFIXES lib${LIB_SUFFIX} + ) +get_filename_component(_VLC_LIBRARY_DIR ${VLC_LIBRARY} PATH) +mark_as_advanced(VLC_LIBRARY ) + +find_library( + VLC_CORE_LIBRARY + NAMES vlccore + HINTS + ${PC_VLC_LIBDIR} + ${PC_VLC_LIBRARY_DIRS} + PATH_SUFFIXES lib${LIB_SUFFIX} + ) +get_filename_component(_VLC_CORE_LIBRARY_DIR ${VLC_CORE_LIBRARY} PATH) +mark_as_advanced(VLC_CORE_LIBRARY ) + +set(VLC_LIBRARY_DIRS _VLC_CORE_LIBRARY_DIR _VLC_LIBRARY_DIR) +list(REMOVE_DUPLICATES VLC_LIBRARY_DIRS) +mark_as_advanced(VLC_LIBRARY_DIRS) + +# +### Now parse the version +# +if(VLC_INCLUDE_DIR) + if(EXISTS "${VLC_INCLUDE_DIR}/vlc/libvlc_version.h" ) + file( STRINGS "${VLC_INCLUDE_DIR}/vlc/libvlc_version.h" VLC_INFO_H REGEX "^# *define LIBVLC_VERSION_.*\\([0-9]+\\).*$") + string(REGEX REPLACE ".*LIBVLC_VERSION_MAJOR +\\(([0-9]+)\\).*" "\\1" VLC_VERSION_MAJOR "${VLC_INFO_H}") + string(REGEX REPLACE ".*LIBVLC_VERSION_MINOR +\\(([0-9]+)\\).*" "\\1" VLC_VERSION_MINOR "${VLC_INFO_H}") + string(REGEX REPLACE ".*LIBVLC_VERSION_REVISION +\\(([0-9]+)\\).*" "\\1" VLC_VERSION_PATCH "${VLC_INFO_H}") + string(REGEX REPLACE ".*LIBVLC_VERSION_EXTRA +\\(([0-9]+)\\).*" "\\1" VLC_VERSION_EXTRA "${VLC_INFO_H}") + set(VLC_VERSION_STRING "${VLC_VERSION_MAJOR}.${VLC_VERSION_MINOR}.${VLC_VERSION_PATCH}.${VLC_VERSION_EXTRA}") + mark_as_advanced( + VLC_VERSION_MAJOR + VLC_VERSION_MINOR + VLC_VERSION_PATCH + VLC_VERSION_EXTRA + VLC_VERSION_STRING) + else() + message(FATAL_ERROR "Could not find vlc/vlc_version.h") + endif() +endif() + +# +### Check if everything was found and if the version is sufficient. +# +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args( + VLC + REQUIRED_VARS ${_VLC_REQUIRED_VARS} + VERSION_VAR VLC_VERSION_STRING + ) + diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2699005..1b985da 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -41,7 +41,7 @@ configure_file(config-kaffeine.h.cmake ${CMAKE_BINARY_DIR}/config-kaffeine.h) kde4_add_executable(kaffeine ${kaffeinedvb_SRCS} ${kaffeine_SRCS}) target_link_libraries(kaffeine ${QT_QTSQL_LIBRARY} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS} - ${KDE4_SOLID_LIBS} ${X11_Xscreensaver_LIB} vlc) + ${KDE4_SOLID_LIBS} ${X11_Xscreensaver_LIB} ${VLC_LIBRARY}) install(TARGETS kaffeine ${INSTALL_TARGETS_DEFAULT_ARGS}) install(FILES scanfile.dvb DESTINATION ${DATA_INSTALL_DIR}/kaffeine) install(PROGRAMS kaffeine.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) _______________________________________________ Kde-buildsystem mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-buildsystem
