cmake: add libsamplerate find module
[blender.git] / build_files / cmake / Modules / FindSamplerate.cmake
1 # - Find Samplerate library
2 # Find the native Samplerate includes and library
3 # This module defines
4 #  SAMPLERATE_INCLUDE_DIRS, where to find samplerate.h, Set when
5 #                        SAMPLERATE_INCLUDE_DIR is found.
6 #  SAMPLERATE_LIBRARIES, libraries to link against to use Samplerate.
7 #  SAMPLERATE_ROOT_DIR, The base directory to search for Samplerate.
8 #                    This can also be an environment variable.
9 #  SAMPLERATE_FOUND, If false, do not try to use Samplerate.
10 #
11 # also defined, but not for general use are
12 #  SAMPLERATE_LIBRARY, where to find the Samplerate library.
13
14 #=============================================================================
15 # Copyright 2002-2009 Kitware, Inc.
16 #
17 # Distributed under the OSI-approved BSD License (the "License");
18 # see accompanying file Copyright.txt for details.
19 #
20 # This software is distributed WITHOUT ANY WARRANTY; without even the
21 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
22 # See the License for more information.
23 #=============================================================================
24 # (To distribute this file outside of CMake, substitute the full
25 #  License text for the above reference.)
26
27 # If SAMPLERATE_ROOT_DIR was defined in the environment, use it.
28 IF(NOT SAMPLERATE_ROOT_DIR AND NOT $ENV{SAMPLERATE_ROOT_DIR} STREQUAL "")
29   SET(SAMPLERATE_ROOT_DIR $ENV{SAMPLERATE_ROOT_DIR})
30 ENDIF()
31
32 SET(_samplerate_SEARCH_DIRS
33   ${SAMPLERATE_ROOT_DIR}
34   /usr/local
35   /sw # Fink
36   /opt/local # DarwinPorts
37   /opt/csw # Blastwave
38 )
39
40 FIND_PATH(SAMPLERATE_INCLUDE_DIR samplerate.h
41   HINTS
42     ${_samplerate_SEARCH_DIRS}
43   PATH_SUFFIXES
44     include
45 )
46
47 FIND_LIBRARY(SAMPLERATE_LIBRARY
48   NAMES "samplerate"
49   HINTS ${_samplerate_SEARCH_DIRS}
50   PATH_SUFFIXES lib64 lib
51   )
52
53 # handle the QUIETLY and REQUIRED arguments and set SAMPLERATE_FOUND to TRUE if 
54 # all listed variables are TRUE
55 INCLUDE(FindPackageHandleStandardArgs)
56 FIND_PACKAGE_HANDLE_STANDARD_ARGS(Samplerate DEFAULT_MSG
57     SAMPLERATE_LIBRARY SAMPLERATE_INCLUDE_DIR)
58
59 IF(SAMPLERATE_FOUND)
60   SET(SAMPLERATE_LIBRARIES ${SAMPLERATE_LIBRARY})
61   SET(SAMPLERATE_INCLUDE_DIRS ${SAMPLERATE_INCLUDE_DIR})
62 ENDIF(SAMPLERATE_FOUND)
63
64 MARK_AS_ADVANCED(
65   SAMPLERATE_INCLUDE_DIR
66   SAMPLERATE_LIBRARY
67 )