CMAKE是否支持Python 3?

时间:2013-05-18 10:44:59

标签: python cmake llvm clang

我正在尝试使用CMAKE在Windows 7上构建Clang。

我已经执行了以下步骤;如this guide中所述。该指南在一个方面是错误的:Python 是必需的,没有它,cmake会返回错误。我假设因为cmake支持Visual Studio 11,并且我没有安装VS10,所以可以用一个代替另一个。这样做会产生我所看到的错误似乎是不合理的。

我使用this page中的Windows x86安装程序安装了Python 3.3以及所有默认选项。

安装了Python 3.3并且在路径上,cmake -G "Visual Studio 11" ..\llvm返回以下错误:

D:\Code\build>cmake -G "Visual Studio 11" ..\llvm
<snip>
-- Found PythonInterp: C:/Python33/python.exe (found version "3.3.2")
-- Constructing LLVMBuild project information
CMake Error at CMakeLists.txt:308 (message):
  Unexpected failure executing llvm-build: Traceback (most recent call last):

    File "D:/Code/llvm/utils/llvm-build/llvm-build", line 3, in <module>
      import llvmbuild
    File "D:\Code\llvm\utils\llvm-build\llvmbuild\__init__.py", line 1, in <module>
      from main import main

  ImportError: No module named 'main'


-- Configuring incomplete, errors occurred!

D:\Code\build>

什么?这是否表明python 2.x和python 3.x之间存在兼容性问题?我找不到任何明确的信息,表明cmake是否支持python 3.x,但我找不到任何说它也没有的东西。如果可能的话,我宁愿不在我的机器上安装两个不兼容的python版本。

编辑:啊。似乎this question询问同样的事情,似乎表明python 3.x支持。如果实验证明这一事实,我会将此作为答案发布。 D'哦!

1 个答案:

答案 0 :(得分:2)

它不是CMake,它是llvm-build工具,用作LLVM的CMake配置过程的一部分。它位于utils/llvm-build并读取LLVMBuild.txt个文件。目前,llvm-build不支持Python 3.x

大多数主要的基于LLVM Python的工具都是这种情况,例如lit测试运行器。

FWIW,CMake本身不依赖于Python,因此它不关心已安装的Python版本。