z_kmpkg_restore_pkgconfig_path
注意
这是 kmpkg内部用于实现核心逻辑的辅助函数。 其行为和参数可能会以不兼容的方式突发变更,且无任何通知。 请勿在自定义端口中使用该函数。
恢复被 z_kmpkg_setup_pkgconfig_path 修改的 pkg-config 相关环境变量(如 PKG_CONFIG_PATH),将其还原到修改前的原始状态。
用法
z_kmpkg_restore_pkgconfig_path()
该函数无任何参数,调用后会自动读取此前备份的 pkg-config 环境变量值,并覆盖当前环境中的对应变量。
核心说明
- 成对使用:该函数必须与
z_kmpkg_setup_pkgconfig_path配套使用——仅当此前调用过z_kmpkg_setup_pkgconfig_path(该函数会先备份原始环境变量),z_kmpkg_restore_pkgconfig_path才能完成恢复操作; - 恢复的核心变量:主要恢复
PKG_CONFIG_PATH(pkg-config 的配置文件搜索路径),同时会还原其他被z_kmpkg_setup_pkgconfig_path修改的 pkg-config 相关环境变量(如PKG_CONFIG_LIBDIR等); - 原子性:恢复操作是“全量还原”,会将所有被修改的 pkg-config 环境变量一次性恢复到
z_kmpkg_setup_pkgconfig_path调用前的状态,无部分恢复的逻辑。
示例(仅作内部逻辑参考)
以下示例模拟 kmpkg 内部如何临时修改 pkg-config 路径,完成操作后恢复环境:
# 1. 临时修改 pkg-config 路径(适配 kmpkg 包的 pkgconfig 文件)
z_kmpkg_setup_pkgconfig_path()
# 2. 执行依赖 pkg-config 的操作(如检测依赖、生成编译标志)
x_kmpkg_pkgconfig_get_modules(
PREFIX ZLIB
MODULES zlib
LIBS
)
# 3. 恢复 pkg-config 环境变量到原始状态
z_kmpkg_restore_pkgconfig_path()
关联函数
z_kmpkg_setup_pkgconfig_path:修改 pkg-config 相关环境变量(并备份原始值),是该函数的前置依赖。
源码
scripts/cmake/z_kmpkg_setup_pkgconfig_path.cmake
注:
z_kmpkg_restore_pkgconfig_path与z_kmpkg_setup_pkgconfig_path的实现通常在同一文件中,是成对的环境变量管理逻辑。