summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonas Devlieghere <jonas@devlieghere.com>2019-07-16 18:27:12 +0000
committerJonas Devlieghere <jonas@devlieghere.com>2019-07-16 18:27:12 +0000
commit5826ab6b0c9cf7e0dbafc164c4cca1404c29ed09 (patch)
tree68b856dc21dac51d1cae0e773406b71b151bf758
parent7eb1902cd54d5715a3e3c096d9624bda749d26a5 (diff)
downloadbcm5719-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.cmake9
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)
OpenPOWER on IntegriCloud