[PATCH] D131191: [CMake] Find python before searching for python modules
Dimitry Andric via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 4 12:11:33 PDT 2022
dim created this revision.
dim added reviewers: anemet, Hahnfeld, beanz, compnerd, serge-sans-paille, yln.
Herald added a subscriber: mgorny.
Herald added a project: All.
dim requested review of this revision.
Herald added a project: LLVM.
In the top-level llvm `CMakeLists.txt`, we need to call
`find_package(Python3)` *before* including `config-ix.cmake`, otherwise
the latter will not be able to successfully search for python modules
using `find_python_module()`. Also set `LLVM_MINIMUM_PYTHON_VERSION`
before calling `find_package(Python3)`, moving it to `CMakeLists.txt`
from `HandleLLVMOptions.cmake`.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D131191
Files:
llvm/CMakeLists.txt
llvm/cmake/modules/HandleLLVMOptions.cmake
Index: llvm/cmake/modules/HandleLLVMOptions.cmake
===================================================================
--- llvm/cmake/modules/HandleLLVMOptions.cmake
+++ llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -1253,11 +1253,3 @@
append_if(SUPPORTS_FFILE_PREFIX_MAP "-ffile-prefix-map=${source_root}/=${LLVM_SOURCE_PREFIX}" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
add_flag_if_supported("-no-canonical-prefixes" NO_CANONICAL_PREFIXES)
endif()
-
-if(LLVM_INCLUDE_TESTS)
- # Lit test suite requires at least python 3.6
- set(LLVM_MINIMUM_PYTHON_VERSION 3.6)
-else()
- # FIXME: it is unknown if this is the actual minimum bound
- set(LLVM_MINIMUM_PYTHON_VERSION 3.0)
-endif()
Index: llvm/CMakeLists.txt
===================================================================
--- llvm/CMakeLists.txt
+++ llvm/CMakeLists.txt
@@ -762,6 +762,19 @@
set(LLVM_PROFDATA_FILE "" CACHE FILEPATH
"Profiling data file to use when compiling in order to improve runtime performance.")
+# Find python before including config-ix, since it needs to be able to search
+# for python modules.
+if(LLVM_INCLUDE_TESTS)
+ # Lit test suite requires at least python 3.6
+ set(LLVM_MINIMUM_PYTHON_VERSION 3.6)
+else()
+ # FIXME: it is unknown if this is the actual minimum bound
+ set(LLVM_MINIMUM_PYTHON_VERSION 3.0)
+endif()
+
+find_package(Python3 ${LLVM_MINIMUM_PYTHON_VERSION} REQUIRED
+ COMPONENTS Interpreter)
+
# All options referred to from HandleLLVMOptions have to be specified
# BEFORE this include, otherwise options will not be correctly set on
# first cmake run
@@ -808,9 +821,6 @@
include(HandleLLVMOptions)
-find_package(Python3 ${LLVM_MINIMUM_PYTHON_VERSION} REQUIRED
- COMPONENTS Interpreter)
-
######
# Configure all of the various header file fragments LLVM uses which depend on
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D131191.450097.patch
Type: text/x-patch
Size: 1801 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220804/b5de3cd7/attachment.bin>
More information about the llvm-commits
mailing list