Mikhail R. Gadelha | eac500f | 2019-02-07 03:19:45 +0000 | [diff] [blame] | 1 | # Looking for Z3 in LLVM_Z3_INSTALL_DIR |
Enrico Steffinlongo | 11b6ced | 2018-10-13 19:45:48 +0000 | [diff] [blame] | 2 | find_path(Z3_INCLUDE_DIR NAMES z3.h |
| 3 | NO_DEFAULT_PATH |
Mikhail R. Gadelha | eac500f | 2019-02-07 03:19:45 +0000 | [diff] [blame] | 4 | PATHS ${LLVM_Z3_INSTALL_DIR}/include |
Enrico Steffinlongo | 11b6ced | 2018-10-13 19:45:48 +0000 | [diff] [blame] | 5 | PATH_SUFFIXES libz3 z3 |
| 6 | ) |
| 7 | |
| 8 | find_library(Z3_LIBRARIES NAMES z3 libz3 |
| 9 | NO_DEFAULT_PATH |
Mikhail R. Gadelha | eac500f | 2019-02-07 03:19:45 +0000 | [diff] [blame] | 10 | PATHS ${LLVM_Z3_INSTALL_DIR} |
Enrico Steffinlongo | 11b6ced | 2018-10-13 19:45:48 +0000 | [diff] [blame] | 11 | PATH_SUFFIXES lib bin |
| 12 | ) |
| 13 | |
| 14 | find_program(Z3_EXECUTABLE z3 |
| 15 | NO_DEFAULT_PATH |
Mikhail R. Gadelha | eac500f | 2019-02-07 03:19:45 +0000 | [diff] [blame] | 16 | PATHS ${LLVM_Z3_INSTALL_DIR} |
Enrico Steffinlongo | 11b6ced | 2018-10-13 19:45:48 +0000 | [diff] [blame] | 17 | PATH_SUFFIXES bin |
| 18 | ) |
| 19 | |
Mikhail R. Gadelha | eac500f | 2019-02-07 03:19:45 +0000 | [diff] [blame] | 20 | # If Z3 has not been found in LLVM_Z3_INSTALL_DIR look in the default directories |
Dominic Chen | 08f943c | 2017-04-04 19:52:25 +0000 | [diff] [blame] | 21 | find_path(Z3_INCLUDE_DIR NAMES z3.h |
Michal Gorny | 5ef8bf7 | 2017-04-08 14:38:06 +0000 | [diff] [blame] | 22 | PATH_SUFFIXES libz3 z3 |
Dominic Chen | 08f943c | 2017-04-04 19:52:25 +0000 | [diff] [blame] | 23 | ) |
| 24 | |
| 25 | find_library(Z3_LIBRARIES NAMES z3 libz3 |
Enrico Steffinlongo | 11b6ced | 2018-10-13 19:45:48 +0000 | [diff] [blame] | 26 | PATH_SUFFIXES lib bin |
Dominic Chen | 08f943c | 2017-04-04 19:52:25 +0000 | [diff] [blame] | 27 | ) |
| 28 | |
Enrico Steffinlongo | 11b6ced | 2018-10-13 19:45:48 +0000 | [diff] [blame] | 29 | find_program(Z3_EXECUTABLE z3 |
| 30 | PATH_SUFFIXES bin |
| 31 | ) |
Dominic Chen | 08f943c | 2017-04-04 19:52:25 +0000 | [diff] [blame] | 32 | |
Enrico Steffinlongo | 11b6ced | 2018-10-13 19:45:48 +0000 | [diff] [blame] | 33 | if(Z3_INCLUDE_DIR AND Z3_LIBRARIES AND Z3_EXECUTABLE) |
Dominic Chen | 08f943c | 2017-04-04 19:52:25 +0000 | [diff] [blame] | 34 | execute_process (COMMAND ${Z3_EXECUTABLE} -version |
| 35 | OUTPUT_VARIABLE libz3_version_str |
| 36 | ERROR_QUIET |
| 37 | OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 38 | |
| 39 | string(REGEX REPLACE "^Z3 version ([0-9.]+)" "\\1" |
| 40 | Z3_VERSION_STRING "${libz3_version_str}") |
| 41 | unset(libz3_version_str) |
| 42 | endif() |
| 43 | |
| 44 | # handle the QUIETLY and REQUIRED arguments and set Z3_FOUND to TRUE if |
| 45 | # all listed variables are TRUE |
| 46 | include(FindPackageHandleStandardArgs) |
| 47 | FIND_PACKAGE_HANDLE_STANDARD_ARGS(Z3 |
| 48 | REQUIRED_VARS Z3_LIBRARIES Z3_INCLUDE_DIR |
| 49 | VERSION_VAR Z3_VERSION_STRING) |
| 50 | |
| 51 | mark_as_advanced(Z3_INCLUDE_DIR Z3_LIBRARIES) |