CMake设置环境变量 [英] CMake set environment variable

查看:138
本文介绍了CMake设置环境变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

根据CMake文档

https://cmake.org/cmake/help/v3.3/command/set.html

一个人可以做

set(ENV{<variable>} <value>)

但这会给出结果

set(ENV{FOO} foo)
message("variable is $ENV{FOO}")

在配置时

variable is foo

但是在Linux命令下

But at Linux command

echo $FOO

未设置变量.

这是该问题的部分解决方案,该问题是设置 $ PATH ,以便用户将 CMAKE_INSTALL_PREFIX 列在首位

Here's a partial solution to the problem, which was to set $PATH, so that a user has CMAKE_INSTALL_PREFIX listed first

set(file_sh ${CMAKE_CURRENT_BINARY_DIR}/path.sh)
set(path "${CMAKE_INSTALL_PREFIX}:$ENV{PATH}")
file(WRITE ${file_sh} "#!/usr/bin/env bash\n")
file(APPEND ${file_sh} "export PATH=\"${path}\"")
execute_process(COMMAND chmod a+x ${file_sh} RESULT_VARIABLE res)

这将创建此文件

#!/usr/bin/env bash
export PATH="/install/prefix/path:/other/path"

以后可以在bash终端上使用

that later can be executed on a bash terminal with

source path.sh

推荐答案

在命令前加上 cmake -E env XXX = YYY .

要进行测试,请使用 cmake -E env XXX = YYY cmake -E环境.

此命令自CMake 3.1起似乎可用.有关更多信息,请参见 https://cmake.org/cmake/help/latest/manual/cmake.1.html#run-a-command-line-tool .

This command appears to be available since CMake 3.1. For more info see https://cmake.org/cmake/help/latest/manual/cmake.1.html#run-a-command-line-tool.

这篇关于CMake设置环境变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆