运行一个更改cmake环境的命令

问题描述 投票:1回答:1

是否可以从cmake中执行影响cmake自身环境的进程?

例如,我有一个更新qazxsw poi的脚本,需要运行才能让qazxsw poi随后很好地找到我的包。如果我写的话:

PKG_CONFIG_PATH

这将失败

pkg-config

我需要先运行:

find_package(PkgConfig REQUIRED)
pkg_check_modules(FOO REQUIRED foo)

但是在cmake之外,这有效(-- 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继续失败。有没有办法实际更新本地cmake环境以反映该脚本中的更改?或者,否则,只需在新环境中运行foo

cmake pkg-config
1个回答
0
投票

是的,您可以使用pkg-config更改环境变量。但通常最好将正确的参数传递给工具调用。

对于你的pkg-config示例,这个问题的答案中描述了两种方式:pkg_check_modules() 简短摘录;沿用这个:

set($env{..} ..)
© www.soinside.com 2019 - 2024. All rights reserved.