C++ 在介子中,我可以避免不断地从源代码跳到构建目录再跳回来吗?

C++ 在介子中,我可以避免不断地从源代码跳到构建目录再跳回来吗?,c++,build,cmake,meson-build,out-of-source,C++,Build,Cmake,Meson Build,Out Of Source,要在介子中执行源代码外构建,请执行以下操作: cd /path/to/source/ mkdir ../builddir 然后: 可以这样做吗(从builddir): 也就是说,避免从源代码跳到构建目录再跳回来 对于CMake,这是默认值。一旦您运行了meson来创建构建目录(它可以自动创建),就不需要每次更改meson.build时都运行它。当您运行ninja时,介子构建配置本身取决于源中的更改 要在构建目录以外的其他位置运行ninja,您可以使用-C选项(从ninja-h): -C DIR

要在介子中执行源代码外构建,请执行以下操作:

cd /path/to/source/
mkdir ../builddir
然后:

可以这样做吗(从
builddir
):

也就是说,避免从源代码跳到构建目录再跳回来


对于CMake,这是默认值。

一旦您运行了
meson
来创建构建目录(它可以自动创建),就不需要每次更改meson.build时都运行它。当您运行
ninja
时,介子构建配置本身取决于源中的更改

要在构建目录以外的其他位置运行
ninja
,您可以使用
-C
选项(从
ninja-h
):

-C DIR在执行任何其他操作之前更改为DIR

根据您的示例,它将是:

$ cd /path/to/source/
$ meson ../builddir
$ ninja -C ../builddir

你的意思是,如果我向我的项目中添加一个新文件,并更新
介子.build
文件,我就不需要再次启动介子了吗?@Pietro是的,如果有必要,在介子生成的项目中运行
忍者
,将更新
忍者
(来自
介子.build
)的构建文件。我真的不确定其他的后端。。
meson --pathToSource ../source     // pseudocode
ninja
$ cd /path/to/source/
$ meson ../builddir
$ ninja -C ../builddir