1#*************************************************************************** 2# _ _ ____ _ 3# Project ___| | | | _ \| | 4# / __| | | | |_) | | 5# | (__| |_| | _ <| |___ 6# \___|\___/|_| \_\_____| 7# 8# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. 9# 10# This software is licensed as described in the file COPYING, which 11# you should have received as part of this distribution. The terms 12# are also available at https://curl.se/docs/copyright.html. 13# 14# You may opt to use, copy, modify, merge, publish, distribute and/or sell 15# copies of the Software, and permit persons to whom the Software is 16# furnished to do so, under the terms of the COPYING file. 17# 18# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 19# KIND, either express or implied. 20# 21# SPDX-License-Identifier: curl 22# 23########################################################################### 24# Find the quiche library 25# 26# Input variables: 27# 28# - `QUICHE_INCLUDE_DIR`: The quiche include directory. 29# - `QUICHE_LIBRARY`: Path to `quiche` library. 30# 31# Result variables: 32# 33# - `QUICHE_FOUND`: System has quiche. 34# - `QUICHE_INCLUDE_DIRS`: The quiche include directories. 35# - `QUICHE_LIBRARIES`: The quiche library names. 36# - `QUICHE_LIBRARY_DIRS`: The quiche library directories. 37# - `QUICHE_PC_REQUIRES`: The quiche pkg-config packages. 38# - `QUICHE_CFLAGS`: Required compiler flags. 39# - `QUICHE_VERSION`: Version of quiche. 40 41set(QUICHE_PC_REQUIRES "quiche") 42 43if(CURL_USE_PKGCONFIG AND 44 NOT DEFINED QUICHE_INCLUDE_DIR AND 45 NOT DEFINED QUICHE_LIBRARY) 46 find_package(PkgConfig QUIET) 47 pkg_check_modules(QUICHE ${QUICHE_PC_REQUIRES}) 48endif() 49 50if(QUICHE_FOUND) 51 string(REPLACE ";" " " QUICHE_CFLAGS "${QUICHE_CFLAGS}") 52 message(STATUS "Found Quiche (via pkg-config): ${QUICHE_INCLUDE_DIRS} (found version \"${QUICHE_VERSION}\")") 53else() 54 find_path(QUICHE_INCLUDE_DIR NAMES "quiche.h") 55 find_library(QUICHE_LIBRARY NAMES "quiche") 56 57 include(FindPackageHandleStandardArgs) 58 find_package_handle_standard_args(Quiche 59 REQUIRED_VARS 60 QUICHE_INCLUDE_DIR 61 QUICHE_LIBRARY 62 ) 63 64 if(QUICHE_FOUND) 65 set(QUICHE_INCLUDE_DIRS ${QUICHE_INCLUDE_DIR}) 66 set(QUICHE_LIBRARIES ${QUICHE_LIBRARY}) 67 endif() 68 69 mark_as_advanced(QUICHE_INCLUDE_DIR QUICHE_LIBRARY) 70endif() 71