在cmake3上指定临时构建文件路径

时间:2019-11-12 23:07:34

标签: c++ build cmake

我在Centos上使用cmake3(版本3.6.1)。在以前的CMake版本中,我可以使用-B选项指定构建目录:

cmake -GNinja -B build

这样,所有临时文件(例如CMakeCache.txt)都存储在build文件夹中。现在有了cmake3,我不再看到-B选项。有其他选择吗?

1 个答案:

答案 0 :(得分:1)

documentation中的CMake 3.6.X命令行选项中,-B选项的确没有列出:

cmake [<options>] (<path-to-source> | <path-to-existing-build>)

但是,功能仍然存在。您仍然可以使用-B指定构建目录的位置(当前目录为默认目录)。对于许多CMake发行版,此选项以及用于指定源目录-H是两个 undocumented 命令行选项(请参见this答案)。

由于支持-B选项的功能得以保留,并且仍然经常使用,因此CMake将其重新添加到CMake 3.13的文档中。最新的documentation描述了一直存在的-B行为:

cmake [<options>] -S <path-to-source> -B <path-to-build>
     

使用<path-to-build>作为构建树,使用<path-to-source>作为源树。指定的路径可以是绝对路径,也可以是相对于当前工作目录的路径。源树必须包含一个CMakeLists.txt文件。如果构建树尚不存在,则会自动创建。例如:

     $ cmake -S src -B build