File: SelectHTTPParser.cmake

package info (click to toggle)
libgit2 1.9.1%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 60,804 kB
  • sloc: ansic: 203,436; javascript: 2,458; sh: 1,763; python: 384; perl: 99; php: 65; makefile: 33
file content (34 lines) | stat: -rw-r--r-- 1,504 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Optional external dependency: http-parser
if(USE_HTTP_PARSER STREQUAL "http-parser" OR USE_HTTP_PARSER STREQUAL "system")
	find_package(HTTP_Parser)

	if(HTTP_PARSER_FOUND AND HTTP_PARSER_VERSION_MAJOR EQUAL 2)
		list(APPEND LIBGIT2_SYSTEM_INCLUDES ${HTTP_PARSER_INCLUDE_DIRS})
		list(APPEND LIBGIT2_SYSTEM_LIBS ${HTTP_PARSER_LIBRARIES})
		list(APPEND LIBGIT2_PC_LIBS "-lhttp_parser")
		set(GIT_HTTPPARSER_HTTPPARSER 1)
		add_feature_info(http-parser ON "using http-parser (system)")
	else()
		message(FATAL_ERROR "http-parser support was requested but not found")
	endif()
elseif(USE_HTTP_PARSER STREQUAL "llhttp")
	find_package(LLHTTP)

	if(LLHTTP_FOUND AND LLHTTP_VERSION_MAJOR EQUAL 9)
		list(APPEND LIBGIT2_SYSTEM_INCLUDES ${LLHTTP_INCLUDE_DIRS})
		list(APPEND LIBGIT2_SYSTEM_LIBS ${LLHTTP_LIBRARIES})
		list(APPEND LIBGIT2_PC_LIBS "-lllhttp")
		set(GIT_HTTPPARSER_LLHTTP 1)
		add_feature_info(http-parser ON "using llhttp (system)")
	else()
		message(FATAL_ERROR "llhttp support was requested but not found")
	endif()
elseif(USE_HTTP_PARSER STREQUAL "" OR USE_HTTP_PARSER STREQUAL "builtin")
	add_subdirectory("${PROJECT_SOURCE_DIR}/deps/llhttp" "${PROJECT_BINARY_DIR}/deps/llhttp")
	list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${PROJECT_SOURCE_DIR}/deps/llhttp")
	list(APPEND LIBGIT2_DEPENDENCY_OBJECTS "$<TARGET_OBJECTS:llhttp>")
	set(GIT_HTTPPARSER_BUILTIN 1)
	add_feature_info(http-parser ON "using bundled parser")
else()
	message(FATAL_ERROR "unknown http-parser: ${USE_HTTP_PARSER}")
endif()