find_path(OPENAL_INCLUDE_DIR al.h
  HINTS
    ENV OPENALDIR
  PATHS
    "/usr"
    "/usr/local"
    "~/Library/Frameworks"
    "/Library/Frameworks"
    "/opt"
    "$ENV{PROGRAMFILES}/openal"
    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Creative\ Labs\\OpenAL\ 1.1\ Software\ Development\ Kit\\1.00.0000;InstallDir]"
  PATH_SUFFIXES
    include/AL
    AL/AL
    include/OpenAL
    include
    AL
    OpenAL
)

# Search for the library
FIND_LIBRARY(OPENAL_LIBRARY
  NAMES
    OpenAL al openal OpenAL32
  HINTS
    ENV OPENALDIR
  PATHS
    "/usr"
    "/usr/local"
    "~/Library/Frameworks"
    "/Library/Frameworks"
    "/opt"
    "$ENV{PROGRAMFILES}/openal"
    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Creative\ Labs\\OpenAL\ 1.1\ Software\ Development\ Kit\\1.00.0000;InstallDir]"
  PATH_SUFFIXES
    lib
    lib32
    lib64
    libs
    ${_OpenAL_ARCH_DIR}
)

INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(
  OpenAL
  REQUIRED_VARS OPENAL_LIBRARY OPENAL_INCLUDE_DIR
)

mark_as_advanced(OPENAL_LIBRARY OPENAL_INCLUDE_DIR)