gpt4 book ai didi

ninja - Meson/Ninja 构建系统 - 如何在卸载时运行自定义脚本?

转载 作者:行者123 更新时间:2023-12-05 05:59:47 26 4
gpt4 key购买 nike

Meson/Ninja 提供了一种在安装时运行脚本的简单方法。
例如,此行将告诉 Meson 运行 glib-compile-schemas在 Linux 上编译 GSettings 的命令(系统配置选项)。

meson.add_install_script('glib-compile-schemas', schemas_dir)
(此命令会在用户执行ninja install时自动运行)

如何让 Meson 在卸载时运行自定义命令?
在这种特定情况下,我想删除(或至少重置为默认值)GSettings 中的键值对。要重置它们,我发现命令是 gsettings reset-recursively <path> (在终端测试成功)。

最佳答案

添加自定义卸载脚本是still being discussed ,它很早以前就提出了,但还没有实现。看起来这个任务通常留给包管理器(因此留给相应的打包脚本)。

但我同意,在 meson install 命令的情况下存在一些不合逻辑的不对称。作为解决方法,您可以创建自己的目标:

 run_target('my-uninstall', command : ['scripts/uninstall.sh'])

当然,缺点是它应该被显式调用,不能覆盖、追加或重命名内部uninstall目标,脚本应该有可执行权限。

内部,保留uninstall target ,但是,确实会恢复所有显式安装操作:

Meson allows you to uninstall an install step by invoking theuninstall target. This will remove all files installed as part ofinstall. Note that this does not restore the original files. This alsodoes not undo changes done by custom install scripts (because they cando arbitrary install operations).

关于ninja - Meson/Ninja 构建系统 - 如何在卸载时运行自定义脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67981130/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com