cmake: Add exception handling support to MSVC compile flags
[quassel.git] / cmake / FindPhonon.cmake
1 # Find libphonon
2 # Once done this will define
3 #
4 #  PHONON_FOUND    - system has Phonon Library
5 #  PHONON_INCLUDES - the Phonon include directory
6 #  PHONON_LIBS     - link these to use Phonon
7 #  PHONON_VERSION  - the version of the Phonon Library
8
9 # Copyright (c) 2008, Matthias Kretz <kretz@kde.org>
10 #
11 # Redistribution and use is allowed according to the terms of the BSD license.
12 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
13
14 macro(_phonon_find_version)
15    set(_phonon_namespace_header_file "${PHONON_INCLUDE_DIR}/phonon/phononnamespace.h")
16    if (APPLE AND EXISTS "${PHONON_INCLUDE_DIR}/Headers/phononnamespace.h")
17       set(_phonon_namespace_header_file "${PHONON_INCLUDE_DIR}/Headers/phononnamespace.h")
18    endif()
19    file(READ ${_phonon_namespace_header_file} _phonon_header LIMIT 5000 OFFSET 1000)
20    string(REGEX MATCH "define PHONON_VERSION_STR \"(4\\.[0-9]+\\.[0-9a-z]+)\"" _phonon_version_match "${_phonon_header}")
21    set(PHONON_VERSION "${CMAKE_MATCH_1}")
22 endmacro(_phonon_find_version)
23
24 # the dirs listed with HINTS are searched before the default sets of dirs
25 find_library(PHONON_LIBRARY NAMES phonon HINTS ${KDE4_LIB_INSTALL_DIR} ${QT_LIBRARY_DIR})
26 find_path(PHONON_INCLUDE_DIR NAMES phonon/phonon_export.h HINTS ${KDE4_INCLUDE_INSTALL_DIR} ${QT_INCLUDE_DIR} ${INCLUDE_INSTALL_DIR} ${QT_LIBRARY_DIR})
27
28 if(PHONON_INCLUDE_DIR AND PHONON_LIBRARY)
29    set(PHONON_LIBS ${phonon_LIB_DEPENDS} ${PHONON_LIBRARY})
30    set(PHONON_INCLUDES ${PHONON_INCLUDE_DIR}/KDE ${PHONON_INCLUDE_DIR})
31    _phonon_find_version()
32 endif()
33
34 include(FindPackageHandleStandardArgs)
35 find_package_handle_standard_args(Phonon  DEFAULT_MSG  PHONON_INCLUDE_DIR PHONON_LIBRARY)
36
37 mark_as_advanced(PHONON_INCLUDE_DIR PHONON_LIBRARY)