dbus-glib-receiving: new options: --raw and --output
[platform/upstream/bcc.git] / cmake / FindLibBpf.cmake
1 # - Try to find libbpf
2 # Once done this will define
3 #
4 #  LIBBPF_FOUND            - system has libbpf
5 #  LIBBPF_INCLUDE_DIR      - the libbpf include directory
6 #  LIBBPF_STATIC_LIBRARIES - the libbpf source directory
7 #  LIBBPF_LIBRARIES        - link these to use libbpf
8
9 #if (LIBBPF_LIBRARIES AND LIBBPF_INCLUDE_DIR AND LIBBPF_STATIC_LIBRARIES)
10 #  set (LibBpf_FIND_QUIETLY TRUE)
11 #endif (LIBBPF_LIBRARIES AND LIBBPF_INCLUDE_DIR AND LIBBPF_STATIC_LIBRARIES)
12
13 # You'll need following packages to be installed (Fedora names):
14 # libbpf
15 # libbpf-static
16 # libbpf-devel
17
18 find_path (LIBBPF_INCLUDE_DIR
19   NAMES
20     bpf/bpf.h
21     bpf/btf.h
22     bpf/libbpf.h
23
24   PATHS
25     /usr/include
26     /usr/local/include
27     /opt/local/include
28     /sw/include
29     ENV CPATH)
30
31 find_library (LIBBPF_LIBRARIES
32   NAMES
33     bpf
34   PATHS
35     /usr/lib
36     /usr/local/lib
37     /opt/local/lib
38     /sw/lib
39     ENV LIBRARY_PATH
40     ENV LD_LIBRARY_PATH)
41 if(LIBBPF_LIBRARIES)
42 list(APPEND PATHS LIBBPF_LIBRARIES)
43 endif()
44
45 find_library (LIBBPF_STATIC_LIBRARIES
46   NAMES
47     libbpf.a
48   PATHS
49     /usr/lib
50     /usr/local/lib
51     /opt/local/lib
52     /sw/lib
53     ENV LIBRARY_PATH
54     ENV LD_LIBRARY_PATH)
55 if(LIBBPF_STATIC_LIBRARIES)
56 list(APPEND PATHS LIBBPF_STATIC_LIBRARIES)
57 endif()
58
59 if(LIBBPF_STATIC_LIBRARIES OR LIBBPF_LIBRARIES)
60 include (FindPackageHandleStandardArgs)
61
62 # handle the QUIETLY and REQUIRED arguments and set LIBBPF_FOUND to TRUE if all listed variables are TRUE
63 FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibBpf "Please install the libbpf development package"
64   ${PATHS}
65   LIBBPF_INCLUDE_DIR)
66
67 mark_as_advanced(LIBBPF_INCLUDE_DIR ${PATHS})
68 else()
69 message(Please install the libbpf development package)
70 endif()