cmake/Utilities/cmcurl/CMake/FindBrotli.cmake

81 lines
2.3 KiB
CMake
Raw Normal View History

2020-08-30 11:54:41 +02:00
#***************************************************************************
# _ _ ____ _
# Project ___| | | | _ \| |
# / __| | | | |_) | |
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
2023-07-02 19:51:09 +02:00
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
2020-08-30 11:54:41 +02:00
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
2021-09-14 00:13:48 +02:00
# are also available at https://curl.se/docs/copyright.html.
2020-08-30 11:54:41 +02:00
#
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
# copies of the Software, and permit persons to whom the Software is
# furnished to do so, under the terms of the COPYING file.
#
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
# KIND, either express or implied.
#
2022-11-16 20:14:03 +01:00
# SPDX-License-Identifier: curl
#
2020-08-30 11:54:41 +02:00
###########################################################################
2024-11-11 15:18:55 +01:00
# Find the brotli library
#
# Input variables:
#
# BROTLI_INCLUDE_DIR The brotli include directory
# BROTLICOMMON_LIBRARY Path to brotlicommon library
# BROTLIDEC_LIBRARY Path to brotlidec library
#
# Result variables:
#
# BROTLI_FOUND System has brotli
# BROTLI_INCLUDE_DIRS The brotli include directories
# BROTLI_LIBRARIES The brotli library names
# BROTLI_VERSION Version of brotli
if(CURL_USE_PKGCONFIG)
find_package(PkgConfig QUIET)
pkg_check_modules(PC_BROTLI "libbrotlidec")
endif()
2018-08-09 18:06:22 +02:00
2024-11-11 15:18:55 +01:00
find_path(BROTLI_INCLUDE_DIR "brotli/decode.h"
HINTS
${PC_BROTLI_INCLUDEDIR}
${PC_BROTLI_INCLUDE_DIRS}
)
find_library(BROTLICOMMON_LIBRARY NAMES "brotlicommon"
HINTS
${PC_BROTLI_LIBDIR}
${PC_BROTLI_LIBRARY_DIRS}
)
find_library(BROTLIDEC_LIBRARY NAMES "brotlidec"
HINTS
${PC_BROTLI_LIBDIR}
${PC_BROTLI_LIBRARY_DIRS}
)
2018-08-09 18:06:22 +02:00
2024-11-11 15:18:55 +01:00
if(PC_BROTLI_VERSION)
set(BROTLI_VERSION ${PC_BROTLI_VERSION})
endif()
2018-08-09 18:06:22 +02:00
2024-11-11 15:18:55 +01:00
include(FindPackageHandleStandardArgs)
2023-07-02 19:51:09 +02:00
find_package_handle_standard_args(Brotli
2024-11-11 15:18:55 +01:00
REQUIRED_VARS
BROTLI_INCLUDE_DIR
BROTLIDEC_LIBRARY
BROTLICOMMON_LIBRARY
VERSION_VAR
BROTLI_VERSION
2018-08-09 18:06:22 +02:00
)
2024-11-11 15:18:55 +01:00
if(BROTLI_FOUND)
set(BROTLI_INCLUDE_DIRS ${BROTLI_INCLUDE_DIR})
set(BROTLI_LIBRARIES ${BROTLIDEC_LIBRARY} ${BROTLICOMMON_LIBRARY})
endif()
mark_as_advanced(BROTLI_INCLUDE_DIR BROTLIDEC_LIBRARY BROTLICOMMON_LIBRARY)