可以重新迭代Cmake缓存吗?

时间:2014-03-17 18:44:40

标签: makefile cmake

我不确定如何为此设置标题。

我基本上有一个用cmake构建的代码库;现在我想知道在同一个缓存中调用cmake本身是否安全超过1次。

例如在目录/path中我使用

构建缓存
cmake -DVAR=VALUE < more flags >

然后在第二步中,我再次使用另一组标志cmake在同一目录/path中调用cmake -DANOTHER_VAR=ANOTHER_VALUE < more flags >

/path

此时有一些保证CMakeLists内的内容是两个命令的结果?这取决于cmake的编写方式?

我在{{1}}上使用的建筑系统可以通过这些步骤进行简化,这就是我要问的原因。

1 个答案:

答案 0 :(得分:1)

是的,可以这样做。实际上,当您在CMakeLists.txt中更改某些内容然后在构建文件夹中运行make时,CMake会在那里调用cmake .来重新生成缓存。

除此之外,-DVAR=VALUE是在生成的缓存中设置变量的预期方式,以及-UVAR

唯一的例外是更改CMAKE_C_COMPILERCMAKE_CXX_COMPILER等变种。如果您使用cmake -DCMAKE_C_COMPILER=newcc .更改它们,CMake会擦除您的缓存并从头开始生成它。