diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/FindAlsa.cmake | 54 | ||||
| -rw-r--r-- | modules/config-alsa.h.cmake | 10 | 
2 files changed, 38 insertions, 26 deletions
| diff --git a/modules/FindAlsa.cmake b/modules/FindAlsa.cmake index 90966007..966841a9 100644 --- a/modules/FindAlsa.cmake +++ b/modules/FindAlsa.cmake @@ -4,8 +4,11 @@  # It offers the following macros:  # ALSA_CONFIGURE_FILE(config_header) - generate a config.h, typical usage:   #                                      ALSA_CONFIGURE_FILE(${CMAKE_BINARY_DIR}/config-alsa.h) +# ALSA_VERSION_STRING(version_string)  looks for alsa/version.h and reads the version string into +#                                      the first argument passed to the macro  # Copyright (c) 2006, David Faure, <faure@kde.org> +# Copyright (c) 2007, Matthias Kretz <kretz@kde.org>  #  # Redistribution and use is allowed according to the terms of the BSD license.  # For details see the accompanying COPYING-CMAKE-SCRIPTS file. @@ -15,34 +18,43 @@ include(CheckIncludeFileCXX)  include(CheckLibraryExists)  # Already done by toplevel -#check_include_files(sys/soundcard.h HAVE_SYS_SOUNDCARD_H) -#check_include_files(machine/soundcard.h HAVE_MACHINE_SOUNDCARD_H) - -check_include_files(linux/awe_voice.h HAVE_LINUX_AWE_VOICE_H) -check_include_files(awe_voice.h HAVE_AWE_VOICE_H) -check_include_files(/usr/src/sys/i386/isa/sound/awe_voice.h HAVE__USR_SRC_SYS_I386_ISA_SOUND_AWE_VOICE_H) -check_include_files(/usr/src/sys/gnu/i386/isa/sound/awe_voice.h HAVE__USR_SRC_SYS_GNU_I386_ISA_SOUND_AWE_VOICE_H) - -check_include_file_cxx(sys/asoundlib.h HAVE_SYS_ASOUNDLIB_H) -check_include_file_cxx(alsa/asoundlib.h HAVE_ALSA_ASOUNDLIB_H) - -check_library_exists(asound snd_seq_create_simple_port "" HAVE_LIBASOUND2) +FIND_LIBRARY(ASOUND_LIBRARY asound) +check_library_exists(asound snd_seq_create_simple_port ${ASOUND_LIBRARY} HAVE_LIBASOUND2)  if(HAVE_LIBASOUND2) -    set(ASOUND_LIBRARY "asound") -    check_library_exists(asound snd_pcm_resume ${ASOUND_LIBRARY} ASOUND_HAS_SND_PCM_RESUME)      message(STATUS "Found ALSA: ${ASOUND_LIBRARY}") -    if(ASOUND_HAS_SND_PCM_RESUME) -        set(HAVE_SND_PCM_RESUME 1) -    endif(ASOUND_HAS_SND_PCM_RESUME) -    SET (LIBASOUND2_FOUND TRUE)  else(HAVE_LIBASOUND2)      message(STATUS "ALSA not found")  endif(HAVE_LIBASOUND2) -  set(ALSA_FOUND HAVE_LIBASOUND2) -get_filename_component(_FIND_ALSA_MODULE_DIR ${CMAKE_CURRENT_LIST_FILE} PATH) +MACRO(ALSA_VERSION_STRING _result) +    # check for version in alsa/version.h +    FIND_PATH(_ALSA_INCLUDE_DIR alsa/version.h) +    IF(_ALSA_INCLUDE_DIR) +        FILE(READ "${_ALSA_INCLUDE_DIR}/alsa/version.h" _ALSA_VERSION_CONTENT) +        STRING(REGEX REPLACE ".*SND_LIB_VERSION_STR.*\"(.*)\".*" "\\1" ${_result} ${_ALSA_VERSION_CONTENT}) +    ELSE(_ALSA_INCLUDE_DIR) +        MESSAGE(STATUS "ALSA version not known. ALSA output will probably not work correctly.") +    ENDIF(_ALSA_INCLUDE_DIR) +ENDMACRO(ALSA_VERSION_STRING _result) +get_filename_component(_FIND_ALSA_MODULE_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)  macro(ALSA_CONFIGURE_FILE _destFile) -   configure_file(${_FIND_ALSA_MODULE_DIR}/config-alsa.h.cmake ${_destFile} ) +    check_include_files(sys/soundcard.h HAVE_SYS_SOUNDCARD_H) +    check_include_files(machine/soundcard.h HAVE_MACHINE_SOUNDCARD_H) + +    check_include_files(linux/awe_voice.h HAVE_LINUX_AWE_VOICE_H) +    check_include_files(awe_voice.h HAVE_AWE_VOICE_H) +    check_include_files(/usr/src/sys/i386/isa/sound/awe_voice.h HAVE__USR_SRC_SYS_I386_ISA_SOUND_AWE_VOICE_H) +    check_include_files(/usr/src/sys/gnu/i386/isa/sound/awe_voice.h HAVE__USR_SRC_SYS_GNU_I386_ISA_SOUND_AWE_VOICE_H) + +    check_include_file_cxx(sys/asoundlib.h HAVE_SYS_ASOUNDLIB_H) +    check_include_file_cxx(alsa/asoundlib.h HAVE_ALSA_ASOUNDLIB_H) + +    check_library_exists(asound snd_pcm_resume ${ASOUND_LIBRARY} ASOUND_HAS_SND_PCM_RESUME) +    if(ASOUND_HAS_SND_PCM_RESUME) +        set(HAVE_SND_PCM_RESUME 1) +    endif(ASOUND_HAS_SND_PCM_RESUME) + +    configure_file(${_FIND_ALSA_MODULE_DIR}/config-alsa.h.cmake ${_destFile})  endmacro(ALSA_CONFIGURE_FILE _destFile) diff --git a/modules/config-alsa.h.cmake b/modules/config-alsa.h.cmake index 9c9e1683..44374cfa 100644 --- a/modules/config-alsa.h.cmake +++ b/modules/config-alsa.h.cmake @@ -15,11 +15,6 @@  /* Define to 1 if you have the <awe_voice.h> header file. */  #cmakedefine HAVE_AWE_VOICE_H 1 - - -/* Define if you have libasound.so.1 (for ALSA 0.5.x support - disabled now) */ -/* #undef HAVE_LIBASOUND */ -  /* Define if you have libasound.so.2 (required for ALSA 0.9.x support) */  #cmakedefine HAVE_LIBASOUND2 1 @@ -32,3 +27,8 @@  /* Define to 1 if you have the <sys/asoundlib.h> header file. */  #cmakedefine HAVE_SYS_ASOUNDLIB_H 1 +/* Define to 1 if you have the <sys/soundcard.h> header file. */ +#cmakedefine HAVE_SYS_SOUNDCARD_H 1 + +/* Define to 1 if you have the <machine/soundcard.h> header file. */ +#cmakedefine HAVE_MACHINE_SOUNDCARD_H 1 | 
