我是cmake的新手,正在尝试了解如何配置cmake以使用Ninja作为构建工具。我遇到的特定问题是我正在尝试使用他们的install.py为Vim安装YouCompleteMe插件。我收到以下错误:
Searching Python 3.8 libraries...
Found Python library: /usr/lib64/libpython3.8.so
Found Python headers folder: /usr/include/python3.8
CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
See also "/tmp/ycm_build__dy3xdvd/CMakeFiles/CMakeOutput.log".
ERROR: the build failed.
在互联网上查找了类似的错误后,我意识到我可以通过安装Make来解决此问题。但是,我想知道我是否可以实际使用Ninja而不是已经安装且位于路径中的Make。有没有一种方法可以将CMAKE_MAKE_PROGRAM设置为我的Ninja安装程序,这样我就可以克服此错误,或者因为只能在项目中设置CMAKE_MAKE_PROGRAM而必须使用Make命令?
编辑:
[我坐着设置CMAKE_MAKE_PROGRAM时,我的意思是在机器级别上像一个环境变量。不是通过修改我要构建的实际项目中的构建定义文件。
您应将环境变量CMAKE_GENERATOR
设置为CMAKE_GENERATOR
。 CMake将读取此变量以选择生成器,而不是选择您看到的默认“ Unix Makefiles”。
Ninja
变量将最终为您设置CMAKE_GENERATOR
变量,因此您不必手动修改此变量。