我的cmake --version
是2.8.12.2
。
我使用以下命令配置项目构建:
cmake ../klein/ -DBUILD_KLEIN_DEPS=1 -DCMAKE_EXPORT_COMPILE_COMMANDS=1
cmake ../klein/ -DBUILD_KLEIN_DEPS=1 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
cmake ../klein/ -DBUILD_KLEIN_DEPS=1 -DCMAKE_EXPORT_COMPILE_COMMANDS=on
CMAKE_EXPORT_COMPILE_COMMANDS=1 cmake ../klein/ -DBUILD_KLEIN_DEPS=1
来自干净的构建,以及具有现有成功构建的目录。并希望查看compiler_commands.json
文件,但不会显示。
应该在哪个时刻创建:cmake
之后,还是make
命令之后?应该在./
或../klein
目录中的哪个位置?我的cmake
对此选项没有任何说明,因为它总是抱怨未使用的构建变量。
它应该在"脏"目录,我已经执行了一次成功的构建,或者仅在空文件夹中进行了新的运行?
修改 我使用默认生成器" Unix Makefiles"在我的ubuntu linux机器上
EDIT2: 我不是该问题项目的作者(我只想用rtags来探索它,这需要compile_commands.json文件),而且我对CMake机制并不是很熟悉。但是,CMakeLists.txt可能被配置为超级构建(它确实下载和构建依赖项 - 如llvm,z3,...),它包括ExternalProject,但它也从源构建项目本身(klein)。正如我所说,这是一个混合体。
答案 0 :(得分:0)
您可以指定您使用的生成器吗?从版本3.1.0快速扫描cmake源表明此命令仅在以下两种情况下可用。
if(CMAKE_GENERATOR MATCHES "Unix Makefiles")
和
if(CMAKE_GENERATOR MATCHES "Ninja")
如果您直接使用Visual Studio,除非您想要向CMake添加补丁,否则运气不佳。否则,我知道许多Windows用户已经去过Ninja。一个优点是它比Visual Studio更快地构建。如果你是,实际上使用Ninja或Unix Makefiles,那么值得深入挖掘。