我如何设置介子的基本选项?

How do I set basic options with meson?

我正在尝试使用介子配置一个项目。具体来说,我正在尝试设置一些选项。

meson config 告诉我,除此之外:

Core options:
  Option          Current Value Possible Values                                          Description                                             
  ------          ------------- ---------------                                          -----------                                             
  buildtype       debug         [plain, debug, debugoptimized, release, minsize, custom] Build type to use                                       

Base options:
  Option      Current Value Possible Values                                               Description                                   
  ------      ------------- ---------------                                               -----------                                   
  b_lto       false         [true, false]                                                 Use link time optimization                    

(当然,其他选项已从此打印输出中删除。)

所以,我写:

meson build . --buildtype=release

在我的构建目录中,一切顺利——没有警告或错误(我仔细检查了选项值是否已更改)。然后我写:

meson build . --b_lto=true

但这让我明白了:

meson: error: unrecognized arguments: --b_lto=true

我也尝试了 -b_lto=true--b_lto trueb_lto=trueb_lto true。以及所有没有 true 值的人。运气不好。

那我该如何设置这些“基本选项”呢?

传递参数的--option=value--option value样式仅适用于介子团队在meson's manual...so not to base options, and others. Instead use the -Doption=value syntax to set options. It is the suggested way, since meson setup --help declares [-D option] to be used for setting all sorts of options. See this answer中的通用选项部分。所以,在你的情况下 运行:

meson build . -Db_lto=true

但是,最好使用这个顺序,因为它在手册中是这样指定的 (man meson)。

meson -Db_lto=true build . 

meson configure build -Db_lto=true

如果构建目录自上次配置后更改,请改用 reconfigure

meson reconfigure build -Db_lto=true

或明确地:

meson setup --reconfigure -Db_lto=true build