~iliaplatone/spacedrone.eu/master

« back to all changes in this revision

Viewing changes to cmake_modules/FindDSP.cmake

  • Committer: Ilia Platone
  • Date: 2022-11-21 14:50:18 UTC
  • Revision ID: git-v1:eaf57397037fd65b320333e5bff1467603ac7b78
Add cmake modules

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# - Try to find libopendsp
 
2
# Once done this will define
 
3
#
 
4
#  DSP_FOUND - system has libopendsp
 
5
#  DSP_INCLUDE_DIRS - the libopendsp include directories
 
6
#  DSP_LIBRARIES - Link these to use libopendsp
 
7
#  DSP_DEFINITIONS - Compiler switches required for using libopendsp
 
8
#
 
9
#  DSP_HAS_DSP_VERSION - defined when libopendsp has dsp_get_version()
 
10
 
 
11
#=============================================================================
 
12
# Copyright (c) 2022 Ilia Platone <info@iliaplatone.com>
 
13
#
 
14
# Redistribution and use in source and binary forms, with or without
 
15
# modification, are permitted provided that the following conditions
 
16
# are met:
 
17
#
 
18
# 1. Redistributions of source code must retain the copyright
 
19
#    notice, this list of conditions and the following disclaimer.
 
20
# 2. Redistributions in binary form must reproduce the copyright
 
21
#    notice, this list of conditions and the following disclaimer in the
 
22
#    documentation and/or other materials provided with the distribution.
 
23
# 3. The name of the author may not be used to endorse or promote products
 
24
#    derived from this software without specific prior written permission.
 
25
#
 
26
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 
27
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 
28
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 
29
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 
30
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 
31
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 
32
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 
33
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 
34
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 
35
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
36
#=============================================================================
 
37
 
 
38
find_path(DSP_INCLUDE_DIR
 
39
  NAMES
 
40
    dsp.h
 
41
  HINTS
 
42
    ${DSP_INCLUDE_DIRS}
 
43
  PATH_SUFFIXES
 
44
    OpenVLBI
 
45
)
 
46
 
 
47
find_library(DSP_LIBRARY
 
48
  NAMES
 
49
    ${DSP_LIBRARIES}
 
50
    opendsp
 
51
  HINTS
 
52
    ${DSP_LIBRARY_DIRS}
 
53
)
 
54
 
 
55
set(DSP_INCLUDE_DIRS ${DSP_INCLUDE_DIR})
 
56
set(DSP_LIBRARIES ${DSP_LIBRARY})
 
57
 
 
58
include(FindPackageHandleStandardArgs)
 
59
find_package_handle_standard_args(DSP
 
60
  FOUND_VAR
 
61
    DSP_FOUND
 
62
  REQUIRED_VARS
 
63
    DSP_LIBRARY
 
64
    DSP_INCLUDE_DIR
 
65
  VERSION_VAR
 
66
    DSP_VERSION
 
67
)
 
68
 
 
69
mark_as_advanced(DSP_INCLUDE_DIRS DSP_LIBRARIES)
 
70
 
 
71
if(DSP_FOUND)
 
72
  include(CheckCXXSourceCompiles)
 
73
  include(CMakePushCheckState)
 
74
  cmake_push_check_state(RESET)
 
75
  set(CMAKE_REQUIRED_INCLUDES ${DSP_INCLUDE_DIRS})
 
76
  set(CMAKE_REQUIRED_LIBRARIES ${DSP_LIBRARIES})
 
77
  check_cxx_source_compiles("#include <dsp.h>
 
78
    int main() { dsp_get_version(); return 0; }" DSP_HAS_DSP_VERSION)
 
79
  cmake_pop_check_state()
 
80
endif()