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

问题描述

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

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中的通用选项部分,因此不适用于 base选项等。而是使用-Doption=value语法设置选项。这是建议的方法,因为meson setup --help声明[-D option]用于设置各种选项。请查看介子团队的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