• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# - Try to find libngtcp2
2# Once done this will define
3#  LIBNGTCP2_FOUND        - System has libngtcp2
4#  LIBNGTCP2_INCLUDE_DIRS - The libngtcp2 include directories
5#  LIBNGTCP2_LIBRARIES    - The libraries needed to use libngtcp2
6
7find_package(PkgConfig QUIET)
8pkg_check_modules(PC_LIBNGTCP2 QUIET libngtcp2)
9
10find_path(LIBNGTCP2_INCLUDE_DIR
11  NAMES ngtcp2/ngtcp2.h
12  HINTS ${PC_LIBNGTCP2_INCLUDE_DIRS}
13)
14find_library(LIBNGTCP2_LIBRARY
15  NAMES ngtcp2
16  HINTS ${PC_LIBNGTCP2_LIBRARY_DIRS}
17)
18
19if(LIBNGTCP2_INCLUDE_DIR)
20  set(_version_regex "^#define[ \t]+NGTCP2_VERSION[ \t]+\"([^\"]+)\".*")
21  file(STRINGS "${LIBNGTCP2_INCLUDE_DIR}/ngtcp2/version.h"
22    LIBNGTCP2_VERSION REGEX "${_version_regex}")
23  string(REGEX REPLACE "${_version_regex}" "\\1"
24    LIBNGTCP2_VERSION "${LIBNGTCP2_VERSION}")
25  unset(_version_regex)
26endif()
27
28include(FindPackageHandleStandardArgs)
29# handle the QUIETLY and REQUIRED arguments and set LIBNGTCP2_FOUND
30# to TRUE if all listed variables are TRUE and the requested version
31# matches.
32find_package_handle_standard_args(Libngtcp2 REQUIRED_VARS
33                                  LIBNGTCP2_LIBRARY LIBNGTCP2_INCLUDE_DIR
34                                  VERSION_VAR LIBNGTCP2_VERSION)
35
36if(LIBNGTCP2_FOUND)
37  set(LIBNGTCP2_LIBRARIES     ${LIBNGTCP2_LIBRARY})
38  set(LIBNGTCP2_INCLUDE_DIRS  ${LIBNGTCP2_INCLUDE_DIR})
39endif()
40
41mark_as_advanced(LIBNGTCP2_INCLUDE_DIR LIBNGTCP2_LIBRARY)
42