X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=cmake%2Fmodules%2FFindPhonon.cmake;h=ab0a86c8d934675a892e80ddee9e0cdf46d9959a;hp=93332697336544535915cdfebf8e5972b481561f;hb=3146ad01b5b29c30adcf0044a52b39aa7e5796d0;hpb=603f1fd2e9501d84a320554f068df26861ebde71 diff --git a/cmake/modules/FindPhonon.cmake b/cmake/modules/FindPhonon.cmake index 93332697..ab0a86c8 100644 --- a/cmake/modules/FindPhonon.cmake +++ b/cmake/modules/FindPhonon.cmake @@ -12,7 +12,11 @@ # For details see the accompanying COPYING-CMAKE-SCRIPTS file. macro(_phonon_find_version) - file(READ "${PHONON_INCLUDE_DIR}/phonon/phononnamespace.h" _phonon_header LIMIT 5000 OFFSET 1000) + set(_phonon_namespace_header_file "${PHONON_INCLUDE_DIR}/phonon/phononnamespace.h") + if (APPLE AND EXISTS "${PHONON_INCLUDE_DIR}/Headers/phononnamespace.h") + set(_phonon_namespace_header_file "${PHONON_INCLUDE_DIR}/Headers/phononnamespace.h") + endif (APPLE AND EXISTS "${PHONON_INCLUDE_DIR}/Headers/phononnamespace.h") + file(READ ${_phonon_namespace_header_file} _phonon_header LIMIT 5000 OFFSET 1000) string(REGEX MATCH "define PHONON_VERSION_STR \"(4\\.[0-9]+\\.[0-9a-z]+)\"" _phonon_version_match "${_phonon_header}") set(PHONON_VERSION "${CMAKE_MATCH_1}") message(STATUS "Phonon Version: ${PHONON_VERSION}") @@ -26,13 +30,27 @@ else(PHONON_FOUND) set(PHONON_FIND_QUIETLY TRUE) endif(PHONON_INCLUDE_DIR AND PHONON_LIBRARY) - # As discussed on kde-buildsystem: first look at CMAKE_PREFIX_PATH, then at the suggested PATHS (kde4 install dir) - find_library(PHONON_LIBRARY NAMES phonon PATHS ${KDE4_LIB_INSTALL_DIR} ${QT_LIBRARY_DIR} NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH) - # then at the default system locations (CMAKE_SYSTEM_PREFIX_PATH, i.e. /usr etc.) - find_library(PHONON_LIBRARY NAMES phonon) + find_library(PHONON_LIBRARY_RELEASE NAMES phonon phonon4 HINTS ${KDE4_LIB_INSTALL_DIR} ${QT_LIBRARY_DIR}) + find_library(PHONON_LIBRARY_DEBUG NAMES phonond phonond4 HINTS ${KDE4_LIB_INSTALL_DIR} ${QT_LIBRARY_DIR}) - find_path(PHONON_INCLUDE_DIR NAMES phonon/phonon_export.h PATHS ${KDE4_INCLUDE_INSTALL_DIR} ${QT_INCLUDE_DIR} ${INCLUDE_INSTALL_DIR} NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH) - find_path(PHONON_INCLUDE_DIR NAMES phonon/phonon_export.h) + # if the release- as well as the debug-version of the library have been found: + IF (PHONON_LIBRARY_DEBUG AND PHONON_LIBRARY_RELEASE) + # if the generator supports configuration types then set + # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value + IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE) + SET(PHONON_LIBRARY optimized ${PHONON_LIBRARY_RELEASE} debug ${PHONON_LIBRARY_DEBUG}) + ELSE(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE) + # if there are no configuration types and CMAKE_BUILD_TYPE has no value + # then just use the release libraries + SET(PHONON_LIBRARY ${PHONON_LIBRARY_RELEASE} ) + ENDIF(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE) + ELSE(PHONON_LIBRARY_DEBUG AND PHONON_LIBRARY_RELEASE) + IF (PHONON_LIBRARY_RELEASE) + SET(PHONON_LIBRARY ${PHONON_LIBRARY_RELEASE}) + ENDIF (PHONON_LIBRARY_RELEASE) + ENDIF (PHONON_LIBRARY_DEBUG AND PHONON_LIBRARY_RELEASE) + + find_path(PHONON_INCLUDE_DIR NAMES phonon/phonon_export.h HINTS ${KDE4_INCLUDE_INSTALL_DIR} ${QT_INCLUDE_DIR} ${INCLUDE_INSTALL_DIR} ${QT_LIBRARY_DIR}) if(PHONON_INCLUDE_DIR AND PHONON_LIBRARY) set(PHONON_LIBS ${phonon_LIB_DEPENDS} ${PHONON_LIBRARY}) @@ -43,25 +61,8 @@ else(PHONON_FOUND) set(PHONON_FOUND FALSE) endif(PHONON_INCLUDE_DIR AND PHONON_LIBRARY) - if(PHONON_FOUND) - if(NOT PHONON_FIND_QUIETLY) - message(STATUS "Found Phonon: ${PHONON_LIBRARY}") - message(STATUS "Found Phonon Includes: ${PHONON_INCLUDES}") - endif(NOT PHONON_FIND_QUIETLY) - else(PHONON_FOUND) - if(Phonon_FIND_REQUIRED) - if(NOT PHONON_INCLUDE_DIR) - message(STATUS "Phonon includes NOT found!") - endif(NOT PHONON_INCLUDE_DIR) - if(NOT PHONON_LIBRARY) - message(STATUS "Phonon library NOT found!") - endif(NOT PHONON_LIBRARY) - message(FATAL_ERROR "Phonon library or includes NOT found!") - else(Phonon_FIND_REQUIRED) - message(STATUS "Unable to find Phonon") - endif(Phonon_FIND_REQUIRED) - endif(PHONON_FOUND) - + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(Phonon DEFAULT_MSG PHONON_INCLUDE_DIR PHONON_LIBRARY) - mark_as_advanced(PHONON_INCLUDE_DIR PHONON_LIBRARY PHONON_INCLUDES) + mark_as_advanced(PHONON_INCLUDE_DIR PHONON_LIBRARY) endif(PHONON_FOUND)