diff options
author | Jonas Devlieghere <jonas@devlieghere.com> | 2019-07-16 18:27:12 +0000 |
---|---|---|
committer | Jonas Devlieghere <jonas@devlieghere.com> | 2019-07-16 18:27:12 +0000 |
commit | 5826ab6b0c9cf7e0dbafc164c4cca1404c29ed09 (patch) | |
tree | 68b856dc21dac51d1cae0e773406b71b151bf758 | |
parent | 7eb1902cd54d5715a3e3c096d9624bda749d26a5 (diff) | |
download | bcm5719-llvm-5826ab6b0c9cf7e0dbafc164c4cca1404c29ed09.tar.gz bcm5719-llvm-5826ab6b0c9cf7e0dbafc164c4cca1404c29ed09.zip |
[CMake] Fail when Python interpreter doesn't match Python libraries version
Because of how CMake finds the Python libraries and interpreter, it's
possible to end up with a discrepancy between the two. For example,
you'd end up using a Python 3 interpreter to run the test suite while
LLDB was built and linked against Python 2.
This patch adds a fatal error to CMake so we find out at configuration
time, instead of finding out at test time.
Differential revision: https://reviews.llvm.org/D64812
llvm-svn: 366243
-rw-r--r-- | lldb/cmake/modules/LLDBConfig.cmake | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lldb/cmake/modules/LLDBConfig.cmake b/lldb/cmake/modules/LLDBConfig.cmake index ef9356591c3..26a1c7a72cc 100644 --- a/lldb/cmake/modules/LLDBConfig.cmake +++ b/lldb/cmake/modules/LLDBConfig.cmake @@ -185,7 +185,6 @@ function(find_python_libs_windows) endfunction(find_python_libs_windows) if (NOT LLDB_DISABLE_PYTHON) - if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows") find_python_libs_windows() @@ -194,8 +193,12 @@ if (NOT LLDB_DISABLE_PYTHON) add_definitions( -DLLDB_PYTHON_HOME="${LLDB_PYTHON_HOME}" ) endif() else() - find_package(PythonInterp) - find_package(PythonLibs) + find_package(PythonInterp REQUIRED) + find_package(PythonLibs REQUIRED) + endif() + + if (NOT PYTHON_VERSION_STRING VERSION_EQUAL PYTHONLIBS_VERSION_STRING) + message(FATAL_ERROR "Found incompatible Python interpreter (${PYTHON_VERSION_STRING}) and Python libraries (${PYTHONLIBS_VERSION_STRING})") endif() if (PYTHON_INCLUDE_DIR) |