diff options
author | Enrico Steffinlongo <enrico.steffinlongo@gmail.com> | 2018-10-13 19:45:48 +0000 |
---|---|---|
committer | Enrico Steffinlongo <enrico.steffinlongo@gmail.com> | 2018-10-13 19:45:48 +0000 |
commit | b4d73f48e2bec73dcfc2dbede2acc39ce6aee93b (patch) | |
tree | 0e0d49051b5ff12d46e84153ea6ff8a5e8969057 /cmake | |
parent | 8693e0ee6a25277d61bd482455d74a5089ea2add (diff) |
[analyzer] Improved cmake configuration for Z3
Summary:
Enhanced support for Z3 in the cmake configuration of clang; now it is possible to specify any arbitrary Z3 install prefix (CLANG_ANALYZER_Z3_PREFIX) to cmake with lib (or bin) and include folders. Before the patch only in cmake default locations
were searched (https://cmake.org/cmake/help/v3.4/command/find_path.html).
Specifying any CLANG_ANALYZER_Z3_PREFIX will force also CLANG_ANALYZER_BUILD_Z3 to ON.
Removed also Z3 4.5 version requirement since it was not checked, and now Clang works with Z3 4.7
Reviewers: NoQ, george.karpenkov, mikhail.ramalho
Reviewed By: george.karpenkov
Subscribers: rnkovacs, NoQ, esteffin, george.karpenkov, delcypher, ddcc, mgorny, xazax.hun, szepet, a.sidorin, Szelethus
Tags: #clang
Differential Revision: https://reviews.llvm.org/D50818
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@344464 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/modules/FindZ3.cmake | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/cmake/modules/FindZ3.cmake b/cmake/modules/FindZ3.cmake index 779ef928da..7a224f789e 100644 --- a/cmake/modules/FindZ3.cmake +++ b/cmake/modules/FindZ3.cmake @@ -1,13 +1,36 @@ +# Looking for Z3 in CLANG_ANALYZER_Z3_INSTALL_DIR find_path(Z3_INCLUDE_DIR NAMES z3.h + NO_DEFAULT_PATH + PATHS ${CLANG_ANALYZER_Z3_INSTALL_DIR}/include PATH_SUFFIXES libz3 z3 ) find_library(Z3_LIBRARIES NAMES z3 libz3 + NO_DEFAULT_PATH + PATHS ${CLANG_ANALYZER_Z3_INSTALL_DIR} + PATH_SUFFIXES lib bin ) -find_program(Z3_EXECUTABLE z3) +find_program(Z3_EXECUTABLE z3 + NO_DEFAULT_PATH + PATHS ${CLANG_ANALYZER_Z3_INSTALL_DIR} + PATH_SUFFIXES bin + ) + +# If Z3 has not been found in CLANG_ANALYZER_Z3_INSTALL_DIR look in the default directories +find_path(Z3_INCLUDE_DIR NAMES z3.h + PATH_SUFFIXES libz3 z3 + ) + +find_library(Z3_LIBRARIES NAMES z3 libz3 + PATH_SUFFIXES lib bin + ) + +find_program(Z3_EXECUTABLE z3 + PATH_SUFFIXES bin + ) -if(Z3_INCLUDE_DIR AND Z3_EXECUTABLE) +if(Z3_INCLUDE_DIR AND Z3_LIBRARIES AND Z3_EXECUTABLE) execute_process (COMMAND ${Z3_EXECUTABLE} -version OUTPUT_VARIABLE libz3_version_str ERROR_QUIET |