diff --git a/debuginfo-tests/CMakeLists.txt b/debuginfo-tests/CMakeLists.txt --- a/debuginfo-tests/CMakeLists.txt +++ b/debuginfo-tests/CMakeLists.txt @@ -13,20 +13,26 @@ not ) -# Wipe, uh, previous results -unset(PYTHONINTERP_FOUND CACHE) -unset(PYTHON_EXECUTABLE CACHE) -unset(PYTHON_LIBRARY CACHE) -unset(PYTHON_DLL CACHE) -unset(PYTHON_INCLUDE_DIR CACHE) -unset(PYTHON_VERSION_STRING CACHE) -unset(PYTHON_VERSION_MAJOR CACHE) -unset(PYTHON_VERSION_MINOR CACHE) -unset(PYTHON_VERSION_PATCH CACHE) -unset(PYTHONLIBS_VERSION_STRING CACHE) +# If we don't already have Python 3, throw away any previous results and try to +# find it again. +set(DEBUGINFO_UNSET_PYTHON3 OFF) +if (PYTHON_VERSION_MAJOR LESS 3) + unset(PYTHONINTERP_FOUND CACHE) + unset(PYTHON_EXECUTABLE CACHE) + unset(PYTHON_LIBRARY CACHE) + unset(PYTHON_DLL CACHE) + unset(PYTHON_INCLUDE_DIR CACHE) + unset(PYTHON_VERSION_STRING CACHE) + unset(PYTHON_VERSION_MAJOR CACHE) + unset(PYTHON_VERSION_MINOR CACHE) + unset(PYTHON_VERSION_PATCH CACHE) + unset(PYTHONLIBS_VERSION_STRING CACHE) + + # Try to find python3. If it doesn't exist, dexter tests can't run. + find_package(PythonInterp "3") + set(DEBUGINFO_UNSET_PYTHON3 ON) +endif() -# Try to find python3. If it doesn't exist, dexter tests can't run. -find_package(PythonInterp "3") if (NOT DEFINED PYTHON_EXECUTABLE) message(FATAL_ERROR "Cannot run debuginfo-tests without python") elseif(PYTHON_VERSION_MAJOR LESS 3) @@ -43,17 +49,20 @@ ${CMAKE_CURRENT_BINARY_DIR} DEPENDS ${DEBUGINFO_TEST_DEPS} ) - set_target_properties(check-debuginfo PROPERTIES FOLDER "Debug info tests") + set_target_properties(check-debuginfo PROPERTIES FOLDER "Debug info tests") endif() -# Prevent the rest of llvm observing our secret python3-ness -unset(PYTHONINTERP_FOUND CACHE) -unset(PYTHON_EXECUTABLE CACHE) -unset(PYTHON_LIBRARY CACHE) -unset(PYTHON_DLL CACHE) -unset(PYTHON_INCLUDE_DIR CACHE) -unset(PYTHON_VERSION_STRING CACHE) -unset(PYTHON_VERSION_MAJOR CACHE) -unset(PYTHON_VERSION_MINOR CACHE) -unset(PYTHON_VERSION_PATCH CACHE) -unset(PYTHONLIBS_VERSION_STRING CACHE) +# Prevent the rest of llvm observing our secret python3-ness, if that wasn't +# what was originally found. +if (DEBUGINFO_UNSET_PYTHON3) + unset(PYTHONINTERP_FOUND CACHE) + unset(PYTHON_EXECUTABLE CACHE) + unset(PYTHON_LIBRARY CACHE) + unset(PYTHON_DLL CACHE) + unset(PYTHON_INCLUDE_DIR CACHE) + unset(PYTHON_VERSION_STRING CACHE) + unset(PYTHON_VERSION_MAJOR CACHE) + unset(PYTHON_VERSION_MINOR CACHE) + unset(PYTHON_VERSION_PATCH CACHE) + unset(PYTHONLIBS_VERSION_STRING CACHE) +endif()