| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 | 
							- # Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
 
- # file LICENSE.rst or https://cmake.org/licensing for details.
 
- #[=======================================================================[.rst:
 
- FindOpenAL
 
- ----------
 
- Finds the Open Audio Library (OpenAL):
 
- .. code-block:: cmake
 
-   find_package(OpenAL [...])
 
- OpenAL is a cross-platform 3D audio API designed for efficient rendering of
 
- multichannel three-dimensional positional audio.  It is commonly used in games
 
- and multimedia applications to provide immersive and spatialized sound.
 
- Projects using this module should include the OpenAL header file using
 
- ``#include <al.h>``, and **not** ``#include <AL/al.h>``.  The reason for this is
 
- that the latter is not portable.  For example, Windows/Creative Labs does not by
 
- default put OpenAL headers in ``AL/`` and macOS uses the convention of
 
- ``<OpenAL/al.h>``.
 
- Imported Targets
 
- ^^^^^^^^^^^^^^^^
 
- This module provides the following :ref:`Imported Targets`:
 
- ``OpenAL::OpenAL``
 
-   .. versionadded:: 3.25
 
-   Target encapsulating the OpenAL library usage requirements, available only if
 
-   the OpenAL library is found.
 
- Result Variables
 
- ^^^^^^^^^^^^^^^^
 
- This module defines the following variables:
 
- ``OpenAL_FOUND``
 
-   .. versionadded:: 3.3
 
-   Boolean indicating whether OpenAL was found.
 
- Cache Variables
 
- ^^^^^^^^^^^^^^^
 
- The following cache variables may also be set:
 
- ``OPENAL_INCLUDE_DIR``
 
-   The include directory containing headers needed to use the OpenAL library.
 
- ``OPENAL_LIBRARY``
 
-   The path to the OpenAL library.
 
- Hints
 
- ^^^^^
 
- This module accepts the following variables:
 
- ``OPENALDIR``
 
-   Environment variable which can be used to set the installation prefix of
 
-   OpenAL to be found in non-standard locations.
 
-   OpenAL is searched in the following order:
 
-   1. By default on macOS, system framework is searched first:
 
-      ``/System/Library/Frameworks``, whose priority can be changed by setting
 
-      the :variable:`CMAKE_FIND_FRAMEWORK` variable.
 
-   2. Environment variable ``ENV{OPENALDIR}``.
 
-   3. System paths.
 
-   4. User-compiled framework: ``~/Library/Frameworks``.
 
-   5. Manually compiled framework: ``/Library/Frameworks``.
 
-   6. Add-on package: ``/opt``.
 
- Deprecated Variables
 
- ^^^^^^^^^^^^^^^^^^^^
 
- The following variables are provided for backward compatibility:
 
- ``OPENAL_FOUND``
 
-   .. deprecated:: 4.2
 
-     Use ``OpenAL_FOUND``, which has the same value.
 
-   Boolean indicating whether OpenAL was found.
 
- Examples
 
- ^^^^^^^^
 
- Finding the OpenAL library and linking it to a project target:
 
- .. code-block:: cmake
 
-   find_package(OpenAL)
 
-   target_link_libraries(project_target PRIVATE OpenAL::OpenAL)
 
- #]=======================================================================]
 
- # For Windows, Creative Labs seems to have added a registry key for their
 
- # OpenAL 1.1 installer. I have added that key to the list of search paths,
 
- # however, the key looks like it could be a little fragile depending on
 
- # if they decide to change the 1.00.0000 number for bug fix releases.
 
- # Also, they seem to have laid down groundwork for multiple library platforms
 
- # which puts the library in an extra subdirectory. Currently there is only
 
- # Win32 and I have hardcoded that here. This may need to be adjusted as
 
- # platforms are introduced.
 
- # The OpenAL 1.0 installer doesn't seem to have a useful key I can use.
 
- # I do not know if the Nvidia OpenAL SDK has a registry key.
 
- find_path(OPENAL_INCLUDE_DIR al.h
 
-   HINTS
 
-     ENV OPENALDIR
 
-   PATHS
 
-     ~/Library/Frameworks
 
-     /Library/Frameworks
 
-     /opt
 
-     [HKEY_LOCAL_MACHINE\\SOFTWARE\\Creative\ Labs\\OpenAL\ 1.1\ Software\ Development\ Kit\\1.00.0000;InstallDir]
 
-   PATH_SUFFIXES include/AL include/OpenAL include AL OpenAL
 
-   )
 
- if(CMAKE_SIZEOF_VOID_P EQUAL 8)
 
-   set(_OpenAL_ARCH_DIR libs/Win64)
 
- else()
 
-   set(_OpenAL_ARCH_DIR libs/Win32)
 
- endif()
 
- find_library(OPENAL_LIBRARY
 
-   NAMES OpenAL al openal OpenAL32
 
-   HINTS
 
-     ENV OPENALDIR
 
-   PATHS
 
-     ~/Library/Frameworks
 
-     /Library/Frameworks
 
-     /opt
 
-     [HKEY_LOCAL_MACHINE\\SOFTWARE\\Creative\ Labs\\OpenAL\ 1.1\ Software\ Development\ Kit\\1.00.0000;InstallDir]
 
-   PATH_SUFFIXES libx32 lib64 lib libs64 libs ${_OpenAL_ARCH_DIR}
 
-   )
 
- unset(_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)
 
- if(OpenAL_FOUND AND NOT TARGET OpenAL::OpenAL)
 
-   add_library(OpenAL::OpenAL UNKNOWN IMPORTED)
 
-   set_target_properties(OpenAL::OpenAL PROPERTIES
 
-     IMPORTED_LOCATION "${OPENAL_LIBRARY}")
 
-   set_target_properties(OpenAL::OpenAL PROPERTIES
 
-     INTERFACE_INCLUDE_DIRECTORIES "${OPENAL_INCLUDE_DIR}")
 
- endif()
 
 
  |