diff options
author | Gerald Combs <gerald@wireshark.org> | 2017-06-08 15:30:35 -0700 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2017-06-12 08:58:26 +0000 |
commit | 79d7ef387734e02c26701d4d9ecd8b1bb7e602d6 (patch) | |
tree | 2d16fcb3fd4ba893c99236813cd3c8a6df48f866 | |
parent | c319989ee7950e2f53843826fa15a792ba84aaa5 (diff) | |
download | wireshark-79d7ef387734e02c26701d4d9ecd8b1bb7e602d6.tar.gz |
CMake: Look for Python in more places.
According to PEP 514, Python.org's Windows installer stores its
installation path in
HKEY_LOCAL_MACHINE\Software\Python\<Company>\<Tag>\InstallPath
where <Tag> is the value of sys.winver. Newer versions of python add "-32"
and "-64" to the version in order to allow side by side installations.
Adjust LocatePythonExecutable accordingly.
Change-Id: I8c7f8b4c31b37e7f687ce9909f97d62a779cfa91
Reviewed-on: https://code.wireshark.org/review/22048
Reviewed-by: Gerald Combs <gerald@wireshark.org>
(cherry picked from commit 6a16f158c849c054bd1a4b71e0c497df48933797)
Reviewed-on: https://code.wireshark.org/review/22089
Reviewed-by: Anders Broman <a.broman58@gmail.com>
-rw-r--r-- | cmake/modules/LocatePythonExecutable.cmake | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/cmake/modules/LocatePythonExecutable.cmake b/cmake/modules/LocatePythonExecutable.cmake index 3d48861a9c..2f77fbdc0d 100644 --- a/cmake/modules/LocatePythonExecutable.cmake +++ b/cmake/modules/LocatePythonExecutable.cmake @@ -5,14 +5,17 @@ if(NOT PYTHON_EXECUTABLE AND WIN32) foreach(_major_version 3 2) foreach(_minor_version 7 6 5 4 3 2 1) + if (PYTHON_EXECUTABLE) + break() + endif() find_program(PYTHON_EXECUTABLE python.exe - PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_major_version}.${_minor_version}\\InstallPath] + PATHS + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_major_version}.${_minor_version}\\InstallPath] + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_major_version}.${_minor_version}-32\\InstallPath] + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_major_version}.${_minor_version}-64\\InstallPath] NO_DEFAULT_PATH ) - if (PYTHON_EXECUTABLE) - break() - endif() endforeach() endforeach() endif() |