【发布时间】:2017-12-20 23:46:24
【问题描述】:
是否可以从 cmake 中执行影响 cmake 自身环境的进程?
例如,我有一个更新PKG_CONFIG_PATH 的脚本,需要运行该脚本才能使pkg-config 随后很好地找到我的包。如果我只是写:
find_package(PkgConfig REQUIRED)
pkg_check_modules(FOO REQUIRED foo)
这将失败
-- Checking for module 'foo'
-- No package 'foo' found
我需要先运行:
find_package(PkgConfig REQUIRED)
execute_process(COMMAND my_path_updating_script)
pkg_check_modules(FOO REQUIRED foo)
但是,在 cmake 之外,这可以工作(pkg-config 随后找到 foo),在 cmake 内部,这会运行进程,而pkg-config 继续失败。有没有办法真正更新本地 cmake 环境以反映该脚本中的更改?或者,否则,只需在新环境中运行 pkg_check_modules()?
【问题讨论】:
标签: cmake pkg-config