File: FindLibElf.cmake

package info (click to toggle)
qtrvsim 0.9.8-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,844 kB
  • sloc: cpp: 25,687; ansic: 7,754; makefile: 318; python: 303; sh: 278; asm: 268; xml: 9
file content (70 lines) | stat: -rw-r--r-- 1,854 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Source (GPLv2): https://github.com/SimonKagstrom/kcov/blob/master/cmake/FindLibElf.cmake

# - Try to find libelf
# Once done this will define
#
#  LIBELF_FOUND - system has libelf
#  LIBELF_INCLUDE_DIRS - the libelf include directory
#  LIBELF_LIBRARIES - Link these to use libelf
#  LIBELF_DEFINITIONS - Compiler switches required for using libelf
#
#  Copyright (c) 2008 Bernhard Walle <bernhard.walle@gmx.de>
#
#  Redistribution and use is allowed according to the terms of the New
#  BSD license.
#  For details see the accompanying COPYING-CMAKE-SCRIPTS file.
#

if (LIBELF_LIBRARIES AND LIBELF_INCLUDE_DIRS)
    set(LibElf_FIND_QUIETLY ON)
endif (LIBELF_LIBRARIES AND LIBELF_INCLUDE_DIRS)

find_package(PkgConfig QUIET)

if (PKG_CONFIG_FOUND)
    set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH ON)
    pkg_check_modules(PC_LIBELF QUIET libelf)
endif ()

find_path(LIBELF_INCLUDE_DIR
        NAMES
        libelf.h
        HINTS
        ${PC_LIBELF_INCLUDE_DIRS}
        PATHS
        /usr/include
        /usr/include/libelf
        /usr/local/include
        /usr/local/include/libelf
        /opt/local/include
        /opt/local/include/libelf
        /sw/include
        /sw/include/libelf
        ENV CPATH)

find_library(LIBELF_LIBRARY
        NAMES
        elf
        HINTS
        ${PC_LIBELF_LIBRARY_DIRS}
        PATHS
        /usr/lib
        /usr/local/lib
        /opt/local/lib
        /sw/lib
        ENV LIBRARY_PATH
        ENV LD_LIBRARY_PATH)

include(FindPackageHandleStandardArgs)


# handle the QUIETLY and REQUIRED arguments and set LIBELF_FOUND to TRUE if all listed variables are TRUE
find_package_handle_standard_args(LibElf DEFAULT_MSG
        LIBELF_LIBRARY
        LIBELF_INCLUDE_DIR)


mark_as_advanced(LIBELF_INCLUDE_DIR LIBELF_LIBRARY)

set(LIBELF_LIBRARIES ${LIBELF_LIBRARY})
set(LIBELF_INCLUDE_DIRS ${LIBELF_INCLUDE_DIR})