diff options
author | lhchavez <lhchavez@lhchavez.com> | 2021-01-04 06:10:10 -0800 |
---|---|---|
committer | lhchavez <lhchavez@lhchavez.com> | 2021-01-04 06:10:10 -0800 |
commit | 754fa5263e9551c6b862a8e17869e5948e99fb9f (patch) | |
tree | 8fea461f2c342edec8a2f473dfb763272b1b0436 | |
parent | 83265b3e2c6b10370c2fea304be33db78f653761 (diff) | |
download | libgit2-754fa5263e9551c6b862a8e17869e5948e99fb9f.tar.gz |
Use an option instead of a flag for USE_BUNDLED_ZLIB
Now `USE_BUNDLED_ZLIB` can be set to the string `Chromium` to enable the
Chromium implementation of zlib.
-rw-r--r-- | CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/CMakeLists.txt | 30 |
2 files changed, 18 insertions, 15 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index a8f6b7537..655697979 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,8 +50,7 @@ OPTION(USE_STANDALONE_FUZZERS "Enable standalone fuzzers (compatible with gcc)" OPTION(USE_LEAK_CHECKER "Run tests with leak checker" OFF) OPTION(DEBUG_POOL "Enable debug pool allocator" OFF) OPTION(ENABLE_WERROR "Enable compilation with -Werror" OFF) -OPTION(USE_BUNDLED_ZLIB "Use the bundled version of zlib" OFF) -OPTION(USE_CHROMIUM_ZLIB "If using the bundled version of zlib, use the Chromium flavor (x86_64 processor with SSE4.2 and CLMUL required)" OFF) +OPTION(USE_BUNDLED_ZLIB "Use the bundled version of zlib. Can be set to one of Bundled(ON)/Chromium. The Chromium option requires a x86_64 processor with SSE4.2 and CLMUL" OFF) SET(USE_HTTP_PARSER "" CACHE STRING "Specifies the HTTP Parser implementation; either system or builtin.") OPTION(DEPRECATE_HARD "Do not include deprecated functions in the library" OFF) SET(REGEX_BACKEND "" CACHE STRING "Regular expression implementation. One of regcomp_l, pcre2, pcre, regcomp, or builtin.") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 65a289b81..4fde16d8a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -7,6 +7,7 @@ ENDIF() ADD_FEATURE_INFO(debugpool GIT_DEBUG_POOL "debug pool allocator") INCLUDE(PkgBuildConfig) +INCLUDE(SanitizeBool) # This variable will contain the libraries we need to put into # libgit2.pc's Requires.private. That is, what we're linking to or @@ -186,7 +187,12 @@ ELSE() ENDIF() # Optional external dependency: zlib -IF(NOT USE_BUNDLED_ZLIB) +SanitizeBool(USE_BUNDLED_ZLIB) +IF(USE_BUNDLED_ZLIB STREQUAL ON) + SET(USE_BUNDLED_ZLIB "Bundled") +ENDIF() + +IF(USE_BUNDLED_ZLIB STREQUAL "OFF") FIND_PACKAGE(ZLIB) IF(ZLIB_FOUND) LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${ZLIB_INCLUDE_DIRS}) @@ -201,18 +207,16 @@ IF(NOT USE_BUNDLED_ZLIB) MESSAGE(STATUS "zlib was not found; using bundled 3rd-party sources." ) ENDIF() ENDIF() -IF(USE_BUNDLED_ZLIB OR NOT ZLIB_FOUND) - IF(USE_CHROMIUM_ZLIB) - ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/chromium-zlib" "${libgit2_BINARY_DIR}/deps/chromium-zlib") - LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/chromium-zlib") - LIST(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:chromium_zlib>) - ADD_FEATURE_INFO(zlib ON "using (Chromium) bundled zlib") - ELSE() - ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/zlib" "${libgit2_BINARY_DIR}/deps/zlib") - LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/zlib") - LIST(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:zlib>) - ADD_FEATURE_INFO(zlib ON "using bundled zlib") - ENDIF() +IF(USE_BUNDLED_ZLIB STREQUAL "Chromium") + ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/chromium-zlib" "${libgit2_BINARY_DIR}/deps/chromium-zlib") + LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/chromium-zlib") + LIST(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:chromium_zlib>) + ADD_FEATURE_INFO(zlib ON "using (Chromium) bundled zlib") +ELSEIF(USE_BUNDLED_ZLIB OR NOT ZLIB_FOUND) + ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/zlib" "${libgit2_BINARY_DIR}/deps/zlib") + LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/zlib") + LIST(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:zlib>) + ADD_FEATURE_INFO(zlib ON "using bundled zlib") ENDIF() # Optional external dependency: libssh2 |