diff options
author | Henry Kleynhans <hkleynhans@bloomberg.net> | 2017-11-11 14:03:14 +0000 |
---|---|---|
committer | Henry Kleynhans <hkleynhans@bloomberg.net> | 2017-11-11 16:43:37 +0000 |
commit | a0b0b80862d4fb471be66643fe695c23f7755bd8 (patch) | |
tree | 6bdecc465d80b40ceae4de7cede83c403ca8cdee /src/CMakeLists.txt | |
parent | 0393ecc6f8bb19e4ba55fd45e7bbde6596f9b334 (diff) | |
download | libgit2-a0b0b80862d4fb471be66643fe695c23f7755bd8.tar.gz |
cmake: Allow user to select bundled zlib
Under some circumstances the installed / system version of zlib may not
be desirable due to being too old or buggy. This patch adds the option
`USE_BUNDLED_ZLIB` that will cause the bundled version of zlib to be
used.
We may also want to add similar functionality to allow the user to
select other bundled 3rd-party dependencies instead of using the system
versions.
/cc @pks-t @ethomson
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r-- | src/CMakeLists.txt | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3c04f8ae4..e456ab725 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -255,23 +255,27 @@ ELSE() ENDIF() # Optional external dependency: zlib -FIND_PACKAGE(ZLIB) -IF (ZLIB_FOUND) - LIST(APPEND LIBGIT2_INCLUDES ${ZLIB_INCLUDE_DIRS}) - LIST(APPEND LIBGIT2_LIBS ${ZLIB_LIBRARIES}) - IF(APPLE OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD") - LIST(APPEND LIBGIT2_LIBS "z") - LIST(APPEND LIBGIT2_PC_LIBS "-lz") +IF(NOT USE_BUNDLED_ZLIB) + FIND_PACKAGE(ZLIB) + IF(ZLIB_FOUND) + LIST(APPEND LIBGIT2_INCLUDES ${ZLIB_INCLUDE_DIRS}) + LIST(APPEND LIBGIT2_LIBS ${ZLIB_LIBRARIES}) + IF(APPLE OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD") + LIST(APPEND LIBGIT2_LIBS "z") + LIST(APPEND LIBGIT2_PC_LIBS "-lz") + ELSE() + SET(LIBGIT2_PC_REQUIRES "${LIBGIT2_PC_REQUIRES} zlib") + ENDIF() + ADD_FEATURE_INFO(zlib ON "using system zlib") ELSE() - SET(LIBGIT2_PC_REQUIRES "${LIBGIT2_PC_REQUIRES} zlib") + MESSAGE(STATUS "zlib was not found; using bundled 3rd-party sources." ) ENDIF() - ADD_FEATURE_INFO(zlib ON "Zlib support") -ELSE() - MESSAGE(STATUS "zlib was not found; using bundled 3rd-party sources." ) +ENDIF() +IF(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 "Zlib support (bundled)") + ADD_FEATURE_INFO(zlib ON "using bundled zlib") ENDIF() # Optional external dependency: libssh2 |