]> git.proxmox.com Git - libgit2.git/blame - cmake/FindHTTPParser.cmake
Update changelog for 1.5.0+ds-3 release
[libgit2.git] / cmake / FindHTTPParser.cmake
CommitLineData
7a6e0281
VP
1# - Try to find http-parser
2#
3# Defines the following variables:
4#
5# HTTP_PARSER_FOUND - system has http-parser
6# HTTP_PARSER_INCLUDE_DIR - the http-parser include directory
7# HTTP_PARSER_LIBRARIES - Link these to use http-parser
8# HTTP_PARSER_VERSION_MAJOR - major version
9# HTTP_PARSER_VERSION_MINOR - minor version
10# HTTP_PARSER_VERSION_STRING - the version of http-parser found
11
12# Find the header and library
e579e0f7
MB
13find_path(HTTP_PARSER_INCLUDE_DIR NAMES http_parser.h)
14find_library(HTTP_PARSER_LIBRARY NAMES http_parser libhttp_parser)
7a6e0281
VP
15
16# Found the header, read version
e579e0f7
MB
17if(HTTP_PARSER_INCLUDE_DIR AND EXISTS "${HTTP_PARSER_INCLUDE_DIR}/http_parser.h")
18 file(READ "${HTTP_PARSER_INCLUDE_DIR}/http_parser.h" HTTP_PARSER_H)
19 if(HTTP_PARSER_H)
20 string(REGEX REPLACE ".*#define[\t ]+HTTP_PARSER_VERSION_MAJOR[\t ]+([0-9]+).*" "\\1" HTTP_PARSER_VERSION_MAJOR "${HTTP_PARSER_H}")
21 string(REGEX REPLACE ".*#define[\t ]+HTTP_PARSER_VERSION_MINOR[\t ]+([0-9]+).*" "\\1" HTTP_PARSER_VERSION_MINOR "${HTTP_PARSER_H}")
22 set(HTTP_PARSER_VERSION_STRING "${HTTP_PARSER_VERSION_MAJOR}.${HTTP_PARSER_VERSION_MINOR}")
23 endif()
24 unset(HTTP_PARSER_H)
25endif()
7a6e0281
VP
26
27# Handle the QUIETLY and REQUIRED arguments and set HTTP_PARSER_FOUND
28# to TRUE if all listed variables are TRUE
e579e0f7
MB
29include(FindPackageHandleStandardArgs)
30find_package_handle_standard_args(HTTP_Parser REQUIRED_VARS HTTP_PARSER_INCLUDE_DIR HTTP_PARSER_LIBRARY)
7a6e0281
VP
31
32# Hide advanced variables
e579e0f7 33mark_as_advanced(HTTP_PARSER_INCLUDE_DIR HTTP_PARSER_LIBRARY)
7a6e0281
VP
34
35# Set standard variables
e579e0f7
MB
36if(HTTP_PARSER_FOUND)
37 set(HTTP_PARSER_LIBRARIES ${HTTP_PARSER_LIBRARY})
7a6e0281 38 set(HTTP_PARSER_INCLUDE_DIRS ${HTTP_PARSER_INCLUDE_DIR})
e579e0f7 39endif()