Commit 6a46f5ce authored by Ben Boeckel's avatar Ben Boeckel
Browse files

Don't put legacy variables back into the cache

If PYTHON_INCLUDE_PATH is put into the cache, then it will always
override whatever might be found and PYTHON_INCLUDE_DIR is never given a
chance to find something different. It being marked as INTERNAL also
means that it cannot be changed without editing CMakeCache.txt directly.

Basically, the scenario is that if the Python version is changed, then
deleting PYTHON_INCLUDE_DIR doesn't work because any cached
PYTHON_INCLUDE_PATH variable is set before find_path is even called. Any
build tree using a previous version will still need either manual
removal of PYTHON_INCLUDE_PATH or a complete reconfigure, but in the
future changing the Python version can be accomplished by deleting
PYTHON_INCLUDE_DIR and reconfiguring with the new version.
parent 58db6ac2
...@@ -123,9 +123,8 @@ FOREACH(_CURRENT_VERSION ${_Python_VERSIONS}) ...@@ -123,9 +123,8 @@ FOREACH(_CURRENT_VERSION ${_Python_VERSIONS})
python${_CURRENT_VERSION} python${_CURRENT_VERSION}
) )
# For backward compatibility, set PYTHON_INCLUDE_PATH, but make it internal. # For backward compatibility, set PYTHON_INCLUDE_PATH.
SET(PYTHON_INCLUDE_PATH "${PYTHON_INCLUDE_DIR}" CACHE INTERNAL SET(PYTHON_INCLUDE_PATH "${PYTHON_INCLUDE_DIR}")
"Path to where Python.h is found (deprecated)")
IF(PYTHON_INCLUDE_DIR AND EXISTS "${PYTHON_INCLUDE_DIR}/patchlevel.h") IF(PYTHON_INCLUDE_DIR AND EXISTS "${PYTHON_INCLUDE_DIR}/patchlevel.h")
FILE(STRINGS "${PYTHON_INCLUDE_DIR}/patchlevel.h" python_version_str FILE(STRINGS "${PYTHON_INCLUDE_DIR}/patchlevel.h" python_version_str
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment