From 83eff7af925b9e2174b2263b8a54434dbb79e4fe Mon Sep 17 00:00:00 2001 From: Chris Bieneman Date: Tue, 7 May 2019 21:46:55 +0000 Subject: [PATCH] [CMake] Detecting python modules should be cached Summary: This requres exec-ing python, which in a trace I ran of the CMake re-configure time took ~2% of the reconfigure time. Reviewers: phosek, smeenai, compnerd Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61402 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360196 91177308-0d34-0410-b5e6-96231b3b80d8 --- cmake/config-ix.cmake | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake index 5bf301f3cfd..66c7382fafc 100644 --- a/cmake/config-ix.cmake +++ b/cmake/config-ix.cmake @@ -606,16 +606,19 @@ function(find_python_module module) string(REPLACE "." "_" module_name ${module}) string(TOUPPER ${module_name} module_upper) set(FOUND_VAR PY_${module_upper}_FOUND) + if (DEFINED ${FOUND_VAR}) + return() + endif() execute_process(COMMAND "${PYTHON_EXECUTABLE}" "-c" "import ${module}" RESULT_VARIABLE status ERROR_QUIET) if(status) - set(${FOUND_VAR} 0 PARENT_SCOPE) + set(${FOUND_VAR} OFF CACHE BOOL "Failed to find python module '${module}'") message(STATUS "Could NOT find Python module ${module}") else() - set(${FOUND_VAR} 1 PARENT_SCOPE) + set(${FOUND_VAR} ON CACHE BOOL "Found python module '${module}'") message(STATUS "Found Python module ${module}") endif() endfunction() -- 2.40.0