diff options
author | Gerald Combs <gerald@wireshark.org> | 2015-10-15 14:45:45 -0700 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2015-10-16 20:40:28 +0000 |
commit | 7682ae4887fbc45c8d4e3f0d8f21cd9d9093c83b (patch) | |
tree | a0aa1521e96a473a8da95d65deb82aa035a12662 /cmake | |
parent | 71398e26f7265861e9be75973da6d1aff116e5a8 (diff) |
Keep CMake from finding Cygwin's Python.
Try to find Python and set PYTHON_EXECUTABLE on Windows via the registry
prior to calling FindPythonInterp. This works around a bug in CMake that
prefers Cygwin's Python, which is a symlink, which by default is a text
file that contains a Cygwin-specific cookie, which is therefore useless
outside of Cygwin.
This is avoids the need to pass -DPYTHON_EXECUTABLE=... to CMake.
Change-Id: Ife37221b61d920682c20357b6d139a93067a5ad1
Reviewed-on: https://code.wireshark.org/review/11071
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/modules/LocatePythonExecutable.cmake | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/cmake/modules/LocatePythonExecutable.cmake b/cmake/modules/LocatePythonExecutable.cmake new file mode 100644 index 0000000000..125ed5fff5 --- /dev/null +++ b/cmake/modules/LocatePythonExecutable.cmake @@ -0,0 +1,18 @@ +# Try to find Python and set PYTHON_EXECUTABLE on Windows prior to +# calling FindPythonInterp in order to keep us from using Cygwin's Python. +# http://public.kitware.com/Bug/view.php?id=13818 + +if(NOT PYTHON_EXECUTABLE AND WIN32) + foreach(_major_version 3 2) + foreach(_minor_version 7 6 5 4 3 2 1) + find_program(PYTHON_EXECUTABLE + python.exe + PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_major_version}.${_minor_version}\\InstallPath] + NO_DEFAULT_PATH + ) + if (PYTHON_EXECUTABLE) + break() + endif() + endforeach() + endforeach() +endif()
\ No newline at end of file |