From 0fb6c408091036e712462e23de6065eebf494c80 Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 24 Jul 2017 11:14:48 +0200 Subject: [PATCH] Sanitize PYTHONLIBS_VERSION_STRING before passing it to 'FIND_PACKAGE (PythonInterp). Obtained from libsolv_0.6.28-2 in Debian. Origin: https://gitlab.kitware.com/cmake/cmake/merge_requests/1047#note_288680 Bug-Debian: https://bugs.debian.org/867514 Author: Brad King Reviewed-by: gregor herrmann Last-Update: 2017-07-22 --- bindings/python/CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/bindings/python/CMakeLists.txt b/bindings/python/CMakeLists.txt index a83695ff..64ef5287 100644 --- a/bindings/python/CMakeLists.txt +++ b/bindings/python/CMakeLists.txt @@ -6,7 +6,12 @@ IF (ENABLE_PYTHON3 AND NOT DEFINED PythonLibs_FIND_VERSION) ENDIF (ENABLE_PYTHON3 AND NOT DEFINED PythonLibs_FIND_VERSION) FIND_PACKAGE (PythonLibs REQUIRED) -FIND_PACKAGE (PythonInterp ${PYTHONLIBS_VERSION_STRING} REQUIRED) +IF(PYTHONLIBS_VERSION_STRING MATCHES "^([0-9.]+)") + SET(python_version "${CMAKE_MATCH_1}") +ELSE() + MESSAGE(FATAL_ERROR "PythonLibs version format unknown '${PYTHONLIBS_VERSION_STRING}'") +ENDIF() +FIND_PACKAGE (PythonInterp ${python_version} REQUIRED) EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR) -- 2.47.2