Use std::exchange instead of two swaps
[openal-soft.git] / cmake / FindOpenSL.cmake
blob0042874949f0f0fcf3ee5d79baa46e1ef735ff28
1 # - Find OpenSL
2 # Find the OpenSL libraries
4 #  This module defines the following variables and targets:
5 #     OPENSL_FOUND     - True if OPENSL was found
6 #     OpenSL::OpenSLES - The OpenSLES target
9 #=============================================================================
10 # Copyright 2009-2011 Kitware, Inc.
11 # Copyright 2009-2011 Philip Lowman <philip@yhbt.com>
13 # Redistribution and use in source and binary forms, with or without
14 # modification, are permitted provided that the following conditions are
15 # met:
17 #  * Redistributions of source code must retain the above copyright notice,
18 #    this list of conditions and the following disclaimer.
20 #  * Redistributions in binary form must reproduce the above copyright notice,
21 #    this list of conditions and the following disclaimer in the documentation
22 #    and/or other materials provided with the distribution.
24 #  * The names of Kitware, Inc., the Insight Consortium, or the names of
25 #    any consortium members, or of any contributors, may not be used to
26 #    endorse or promote products derived from this software without
27 #    specific prior written permission.
29 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS''
30 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
31 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
32 # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
33 # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
34 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
35 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
36 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
37 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
38 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 #=============================================================================
41 find_path(OPENSL_INCLUDE_DIR NAMES SLES/OpenSLES.h
42     DOC "The OpenSL include directory")
43 find_path(OPENSL_ANDROID_INCLUDE_DIR NAMES SLES/OpenSLES_Android.h
44     DOC "The OpenSL Android include directory")
46 find_library(OPENSL_LIBRARY NAMES OpenSLES
47     DOC "The OpenSL library")
49 # handle the QUIETLY and REQUIRED arguments and set OPENSL_FOUND to TRUE if
50 # all listed variables are TRUE
51 include(FindPackageHandleStandardArgs)
52 find_package_handle_standard_args(OpenSL REQUIRED_VARS OPENSL_LIBRARY OPENSL_INCLUDE_DIR
53     OPENSL_ANDROID_INCLUDE_DIR)
55 if(OPENSL_FOUND)
56     add_library(OpenSL::OpenSLES UNKNOWN IMPORTED)
57     set_target_properties(OpenSL::OpenSLES PROPERTIES
58         IMPORTED_LOCATION ${OPENSL_LIBRARY}
59         INTERFACE_INCLUDE_DIRECTORIES ${OPENSL_INCLUDE_DIR}
60         INTERFACE_INCLUDE_DIRECTORIES ${OPENSL_ANDROID_INCLUDE_DIR})
61 endif()
63 mark_as_advanced(OPENSL_INCLUDE_DIR OPENSL_ANDROID_INCLUDE_DIR OPENSL_LIBRARY)