113498266Sopenharmony_ci#*************************************************************************** 213498266Sopenharmony_ci# _ _ ____ _ 313498266Sopenharmony_ci# Project ___| | | | _ \| | 413498266Sopenharmony_ci# / __| | | | |_) | | 513498266Sopenharmony_ci# | (__| |_| | _ <| |___ 613498266Sopenharmony_ci# \___|\___/|_| \_\_____| 713498266Sopenharmony_ci# 813498266Sopenharmony_ci# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. 913498266Sopenharmony_ci# 1013498266Sopenharmony_ci# This software is licensed as described in the file COPYING, which 1113498266Sopenharmony_ci# you should have received as part of this distribution. The terms 1213498266Sopenharmony_ci# are also available at https://curl.se/docs/copyright.html. 1313498266Sopenharmony_ci# 1413498266Sopenharmony_ci# You may opt to use, copy, modify, merge, publish, distribute and/or sell 1513498266Sopenharmony_ci# copies of the Software, and permit persons to whom the Software is 1613498266Sopenharmony_ci# furnished to do so, under the terms of the COPYING file. 1713498266Sopenharmony_ci# 1813498266Sopenharmony_ci# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 1913498266Sopenharmony_ci# KIND, either express or implied. 2013498266Sopenharmony_ci# 2113498266Sopenharmony_ci# SPDX-License-Identifier: curl 2213498266Sopenharmony_ci# 2313498266Sopenharmony_ci########################################################################### 2413498266Sopenharmony_ci 2513498266Sopenharmony_ci#[=======================================================================[.rst: 2613498266Sopenharmony_ciFindZstd 2713498266Sopenharmony_ci---------- 2813498266Sopenharmony_ci 2913498266Sopenharmony_ciFind the zstd library 3013498266Sopenharmony_ci 3113498266Sopenharmony_ciResult Variables 3213498266Sopenharmony_ci^^^^^^^^^^^^^^^^ 3313498266Sopenharmony_ci 3413498266Sopenharmony_ci``Zstd_FOUND`` 3513498266Sopenharmony_ci System has zstd 3613498266Sopenharmony_ci``Zstd_INCLUDE_DIRS`` 3713498266Sopenharmony_ci The zstd include directories. 3813498266Sopenharmony_ci``Zstd_LIBRARIES`` 3913498266Sopenharmony_ci The libraries needed to use zstd 4013498266Sopenharmony_ci#]=======================================================================] 4113498266Sopenharmony_ci 4213498266Sopenharmony_ciif(UNIX) 4313498266Sopenharmony_ci find_package(PkgConfig QUIET) 4413498266Sopenharmony_ci pkg_search_module(PC_Zstd libzstd) 4513498266Sopenharmony_ciendif() 4613498266Sopenharmony_ci 4713498266Sopenharmony_cifind_path(Zstd_INCLUDE_DIR zstd.h 4813498266Sopenharmony_ci HINTS 4913498266Sopenharmony_ci ${PC_Zstd_INCLUDEDIR} 5013498266Sopenharmony_ci ${PC_Zstd_INCLUDE_DIRS} 5113498266Sopenharmony_ci) 5213498266Sopenharmony_ci 5313498266Sopenharmony_cifind_library(Zstd_LIBRARY NAMES zstd 5413498266Sopenharmony_ci HINTS 5513498266Sopenharmony_ci ${PC_Zstd_LIBDIR} 5613498266Sopenharmony_ci ${PC_Zstd_LIBRARY_DIRS} 5713498266Sopenharmony_ci) 5813498266Sopenharmony_ci 5913498266Sopenharmony_ciif(Zstd_INCLUDE_DIR) 6013498266Sopenharmony_ci file(READ "${Zstd_INCLUDE_DIR}/zstd.h" _zstd_header) 6113498266Sopenharmony_ci string(REGEX MATCH ".*define ZSTD_VERSION_MAJOR *([0-9]+).*define ZSTD_VERSION_MINOR *([0-9]+).*define ZSTD_VERSION_RELEASE *([0-9]+)" _zstd_ver "${_zstd_header}") 6213498266Sopenharmony_ci set(Zstd_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}") 6313498266Sopenharmony_ciendif() 6413498266Sopenharmony_ci 6513498266Sopenharmony_ciinclude(FindPackageHandleStandardArgs) 6613498266Sopenharmony_cifind_package_handle_standard_args(Zstd 6713498266Sopenharmony_ci REQUIRED_VARS 6813498266Sopenharmony_ci Zstd_LIBRARY 6913498266Sopenharmony_ci Zstd_INCLUDE_DIR 7013498266Sopenharmony_ci VERSION_VAR Zstd_VERSION 7113498266Sopenharmony_ci) 7213498266Sopenharmony_ci 7313498266Sopenharmony_ciif(Zstd_FOUND) 7413498266Sopenharmony_ci set(Zstd_LIBRARIES ${Zstd_LIBRARY}) 7513498266Sopenharmony_ci set(Zstd_INCLUDE_DIRS ${Zstd_INCLUDE_DIR}) 7613498266Sopenharmony_ciendif() 7713498266Sopenharmony_ci 7813498266Sopenharmony_cimark_as_advanced(Zstd_INCLUDE_DIRS Zstd_LIBRARIES) 79