2

我需要在介子构建脚本中修改安装前缀选项...

我的想法是,当用户选择一些特殊选项时,安装前缀是从外部工具获取的(具体来说,使用${CORSS}gcc -print-sysroot

4

2 回答 2

3

不能在介子构建脚本本身中设置前缀,它是一个内置的项目选项(检查这个),因此只能在命令行中设置:

meson --prefix `${CROSS}gcc --print-sysroot` builddir 

这应该不是问题,因为它应该设置构建目录一次。但无论如何,最好将它放在一些脚本中(因为很可能必须配置几个选项才能从头开始设置项目,例如我猜你还需要使用 --cross-file <> 设置交叉编译文件)。

如果您确实需要对安装位置进行精细控制,可以使用参数install_dir for executable()命令来覆盖前缀,以及一些与安装相关的命令:install_headers()install_data()具有相同的功能。甚至可以添加自定义安装脚本

meson.add_install_script('myscript.sh')

查看此文档页面了解详细信息。但是,这样做的缺点是脚本可能变得不可移植或难以维护。

于 2019-10-10T22:32:55.000 回答
2

您可以使用命令 ( https://mesonbuild.com/Reference-manual.html#project )更改 meson.build 中的前缀default_optionsproject()

例如:

项目('myproj','c',default_options:'prefix=/my/prefix')

请注意,它只会在您第一次配置 Meson 构建目录时应用。

于 2021-04-23T16:31:06.480 回答