1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00

build: make LLVM_ENABLE_ZLIB a tri-bool for users

Treat the flag `LLVM_ENABLE_ZLIB` as a tri-bool, `FORCE_ON` being `ON`,
and `ON` being an auto-detect.  This is needed as many of the builders
enable the flag without having zlib available.
This commit is contained in:
Saleem Abdulrasool 2020-01-01 16:57:00 -08:00
parent ac85dbcf78
commit d45a63d8ad
3 changed files with 20 additions and 7 deletions

View File

@ -347,7 +347,7 @@ option(LLVM_ENABLE_LIBPFM "Use libpfm for performance counters if available." ON
option(LLVM_ENABLE_THREADS "Use threads if available." ON)
option(LLVM_ENABLE_ZLIB "Use zlib for compression/decompression if available." ON)
set(LLVM_ENABLE_ZLIB "ON" CACHE STRING "Use zlib for compression/decompression if available. Can be ON, OFF, or FORCE_ON")
set(LLVM_Z3_INSTALL_DIR "" CACHE STRING "Install directory of the Z3 solver.")

View File

@ -117,10 +117,6 @@ endif()
# Don't look for these libraries if we're using MSan, since uninstrumented third
# party code may call MSan interceptors like strlen, leading to false positives.
if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
if(LLVM_ENABLE_ZLIB)
find_package(ZLIB REQUIRED)
endif()
# Don't look for these libraries on Windows.
if (NOT PURE_WINDOWS)
# Skip libedit if using ASan as it contains memory leaks.
@ -506,7 +502,21 @@ else( LLVM_ENABLE_THREADS )
endif()
if(LLVM_ENABLE_ZLIB)
find_package(ZLIB REQUIRED)
if(LLVM_ENABLE_ZLIB STREQUAL FORCE_ON)
find_package(ZLIB REQUIRED)
else()
find_package(ZLIB)
endif()
if(ZLIB_FOUND)
set(LLVM_ENABLE_ZLIB "YES" CACHE STRING
"Use zlib for compression/decompression if available. Can be ON, OFF, or FORCE_ON"
FORCE)
else()
set(LLVM_ENABLE_ZLIB "NO" CACHE STRING
"Use zlib for compression/decompression if available. Can be ON, OFF, or FORCE_ON"
FORCE)
endif()
endif()
if (LLVM_ENABLE_DOXYGEN)

View File

@ -1,4 +1,7 @@
set(system_libs ${ZLIB_LIBRARY})
if(LLVM_ENABLE_ZLIB)
set(system_libs ${ZLIB_LIBRARY})
endif()
if( MSVC OR MINGW )
# libuuid required for FOLDERID_Profile usage in lib/Support/Windows/Path.inc.
# advapi32 required for CryptAcquireContextW in lib/Support/Windows/Path.inc.