mirror of
https://github.com/libgit2/libgit2.git
synced 2026-06-22 06:26:26 +00:00
cmake: enforce USE_HTTP_PARSER validity
When `-DUSE_HTTP_PARSER=...` is specified, ensure that the specified HTTP Parser is valid, do not fallback to builtin. Restore `-DUSE_HTTP_PARSER=system` for backcompatibility.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Optional external dependency: http-parser
|
||||
if(USE_HTTP_PARSER STREQUAL "http-parser")
|
||||
find_package(HTTPParser)
|
||||
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})
|
||||
@@ -23,10 +23,12 @@ elseif(USE_HTTP_PARSER STREQUAL "llhttp")
|
||||
else()
|
||||
message(FATAL_ERROR "llhttp support was requested but not found")
|
||||
endif()
|
||||
else()
|
||||
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()
|
||||
|
||||
Reference in New Issue
Block a user