diff options
| author | Edward Thomson <ethomson@edwardthomson.com> | 2021-11-10 21:51:55 -0500 |
|---|---|---|
| committer | Edward Thomson <ethomson@edwardthomson.com> | 2021-11-11 15:56:11 -0500 |
| commit | f0cb3788db73716247f20a69469d353d1178d2a7 (patch) | |
| tree | 29b8d7df769f49948a0af6ae151eaa0776aa5ed3 /src | |
| parent | de178d36ffd01ca0ba4262becedbd36df8529088 (diff) | |
| download | libgit2-f0cb3788db73716247f20a69469d353d1178d2a7.tar.gz | |
cmake: refactor regex selection
Move regex selection into its own cmake module.
Diffstat (limited to 'src')
| -rw-r--r-- | src/CMakeLists.txt | 53 |
1 files changed, 1 insertions, 52 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 72b22c82a..5c2c5271d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -114,61 +114,10 @@ endif() include(SelectHTTPSBackend) include(SelectHashes) include(SelectHTTPParser) +include(SelectRegex) target_sources(git2internal PRIVATE ${SRC_SHA1}) -# Specify regular expression implementation -find_package(PCRE) - -if(REGEX_BACKEND STREQUAL "") - check_symbol_exists(regcomp_l "regex.h;xlocale.h" HAVE_REGCOMP_L) - - if(HAVE_REGCOMP_L) - set(REGEX_BACKEND "regcomp_l") - elseif(PCRE_FOUND) - set(REGEX_BACKEND "pcre") - else() - set(REGEX_BACKEND "builtin") - endif() -endif() - -if(REGEX_BACKEND STREQUAL "regcomp_l") - add_feature_info(regex ON "using system regcomp_l") - set(GIT_REGEX_REGCOMP_L 1) -elseif(REGEX_BACKEND STREQUAL "pcre2") - find_package(PCRE2) - - if(NOT PCRE2_FOUND) - MESSAGE(FATAL_ERROR "PCRE2 support was requested but not found") - endif() - - add_feature_info(regex ON "using system PCRE2") - set(GIT_REGEX_PCRE2 1) - - list(APPEND LIBGIT2_SYSTEM_INCLUDES ${PCRE2_INCLUDE_DIRS}) - list(APPEND LIBGIT2_LIBS ${PCRE2_LIBRARIES}) - list(APPEND LIBGIT2_PC_REQUIRES "libpcre2-8") -elseif(REGEX_BACKEND STREQUAL "pcre") - add_feature_info(regex ON "using system PCRE") - set(GIT_REGEX_PCRE 1) - - list(APPEND LIBGIT2_SYSTEM_INCLUDES ${PCRE_INCLUDE_DIRS}) - list(APPEND LIBGIT2_LIBS ${PCRE_LIBRARIES}) - list(APPEND LIBGIT2_PC_REQUIRES "libpcre") -elseif(REGEX_BACKEND STREQUAL "regcomp") - add_feature_info(regex ON "using system regcomp") - set(GIT_REGEX_REGCOMP 1) -elseif(REGEX_BACKEND STREQUAL "builtin") - add_feature_info(regex ON "using bundled PCRE") - set(GIT_REGEX_BUILTIN 1) - - add_subdirectory("${libgit2_SOURCE_DIR}/deps/pcre" "${libgit2_BINARY_DIR}/deps/pcre") - list(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/pcre") - list(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:pcre>) -else() - message(FATAL_ERROR "The REGEX_BACKEND option provided is not supported") -endif() - # Optional external dependency: zlib SanitizeBool(USE_BUNDLED_ZLIB) if(USE_BUNDLED_ZLIB STREQUAL ON) |
