如何使用介子设置基本选项?

ein*_*ica 14 command-line command-line-arguments buildconfiguration meson-build

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

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                    
Run Code Online (Sandbox Code Playgroud)

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

所以,我写:

meson build . --buildtype=release
Run Code Online (Sandbox Code Playgroud)

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

meson build . --b_lto=true
Run Code Online (Sandbox Code Playgroud)

但这让我感到:

meson: error: unrecognized arguments: --b_lto=true
Run Code Online (Sandbox Code Playgroud)

我也尝试过-b_lto=true、、、、。而所有这些都没有价值。没有运气。--b_lto trueb_lto=trueb_lto truetrue

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

blu*_*ase 17

传递参数的--option=value, 和样式仅适用于介子手册中的通用选项部分...因此不适用于基本选项和其他选项。而是使用语法来设置选项。这是建议的方式,因为声明用于设置各种选项。请参阅介子团队的回答。所以,在你的情况下运行:--option value-Doption=valuemeson setup --help[-D option]

meson build . -Db_lto=true
Run Code Online (Sandbox Code Playgroud)

或者

meson configure build -Db_lto=true
Run Code Online (Sandbox Code Playgroud)

如果自上次配置后构建目录发生更改,请reconfigure改为使用。

meson reconfigure build -Db_lto=true
Run Code Online (Sandbox Code Playgroud)

或明确地:

meson setup --reconfigure -Db_lto=true build
Run Code Online (Sandbox Code Playgroud)