IF(ALSA_VERSION_STR AND NOT WIN32) - SET(RECOMMENDED_MIN_VERSION "1.0.14") - STRING(COMPARE LESS ${RECOMMENDED_MIN_VERSION} ${ALSA_VERSION_STR} VERSION_LESS) - STRING(COMPARE EQUAL ${RECOMMENDED_MIN_VERSION} ${ALSA_VERSION_STR} VERSION_EQUAL) - IF(VERSION_LESS OR VERSION_EQUAL) - MESSAGE(STATUS "libasound version '${ALSA_VERSION_STR}' is recent enough") - ADD_DEFINITIONS(-DHAS_LIBASOUND_DEVICE_NAME_HINT) - ELSE(VERSION_LESS OR VERSION_EQUAL) - MESSAGE(STATUS "WARNING: libasound version '${ALSA_VERSION_STR}' is not recent enough. The recommended minimum version is '${RECOMMENDED_MIN_VERSION}'. Older versions will compile correctly, but break on dmix usage.") - ENDIF(VERSION_LESS OR VERSION_EQUAL) + IF(ALSA_VERSION_STR MATCHES "^1\\.(0\\.(1[4-9]|[2-9][0-9]+)|[1-9][0-9]*\\.)") + MESSAGE(STATUS "libasound version '${ALSA_VERSION_STR}' is recent enough") + ADD_DEFINITIONS(-DHAS_LIBASOUND_DEVICE_NAME_HINT) + ELSE(ALSA_VERSION_STR MATCHES "^1\\.(0\\.(1[4-9]|[2-9][0-9]+)|[1-9][0-9]*\\.)") + MESSAGE(STATUS "WARNING: libasound version '${ALSA_VERSION_STR}' is not recent enough. The recommended version is '1.0.14a'. Older versions will compile correctly, but break on dmix usage.") + ENDIF(ALSA_VERSION_STR MATCHES "^1\\.(0\\.(1[4-9]|[2-9][0-9]+)|[1-9][0-9]*\\.)") ENDIF(ALSA_VERSION_STR AND NOT WIN32)