CMake 相当于 GNU make 的 --directory (-C)

CMake equivalent of GNU make's --directory (-C)

我想知道是否有一个 CMake 命令行界面选项,它与 GNU --directory (-C) 的功能相同 制作?

我想做的是告诉CMake在源目录中生成构建文件,不是CWD


执行此操作的快速而肮脏的方法可能是:

cd path/to/source && cmake . && make && make install

但是,一定有更好的方法。

我正在考虑

cmake --build "path/to/source"

但这需要存在构建文件,并且

cmake . -E chdir "path/to/source"

将构建文件转储到 CWD,就像:

cmake /path/to/source

由于 CMake 是一个构建系统生成器,它不能替代 make,因此您的问题没有多大意义。

但描述的行为是可以实现的。 CMake 有选项 -H 和 -B 来指定源和二进制目录,但它们没有记录。在您的情况下,这将是

cmake -Hpath/to/source -Bpath/to/source && cmake --build path/to/source