From 9d15d3c7486ae2d60709617f3fac9ac8bfb289b3 Mon Sep 17 00:00:00 2001 From: Robert Dailey Date: Fri, 7 Apr 2017 10:31:12 -0500 Subject: FindPythonInterp: Add `-32` and `-64` registry entry variants As of 3.6.1 Python (only version tested in this case), installing 32-bit version on 64-bit windows has a slightly different registry key path. `-32` is appended to the end of the version number in the path. Also added a few more registry path guesses based on 64-bit version of Python. Also the module now checks if the host is WIN32 instead of the target, which is required if you are cross compiling. --- Modules/FindPythonInterp.cmake | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Modules/FindPythonInterp.cmake b/Modules/FindPythonInterp.cmake index f255246..64b98a8 100644 --- a/Modules/FindPythonInterp.cmake +++ b/Modules/FindPythonInterp.cmake @@ -91,12 +91,15 @@ unset(_PYTHON3_VERSIONS) if(NOT PYTHON_EXECUTABLE) foreach(_CURRENT_VERSION IN LISTS _Python_VERSIONS) set(_Python_NAMES python${_CURRENT_VERSION}) - if(WIN32) + if(CMAKE_HOST_WIN32) list(APPEND _Python_NAMES python) endif() find_program(PYTHON_EXECUTABLE NAMES ${_Python_NAMES} - PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath] + PATHS + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath] + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}-32\\InstallPath] + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}-64\\InstallPath] ) endforeach() endif() -- cgit v0.12