【问题标题】:Setting a NEW environment variable with CMake?使用 CMake 设置新的环境变量?
【发布时间】:2019-06-27 16:08:55
【问题描述】:

我正在尝试使用 CMake 设置一个新的环境变量。所述环境变量在调用cmake 之前不存在,并且在我的脚本运行后我不需要它存在。问题是我可以修改现有的环境变量,但不能创建新的环境变量。

这是我做的一个测试:

$ echo $LD_LIBRARY_PATH

没有输出。

在 CMake 脚本中:

message(STATUS "$ENV{LD_LIBRARY_PATH}")

没有输出。

在外壳中:

$ echo $LANGUAGE
en_CA:en

在 CMake 脚本中:

message(STATUS "$ENV{LANGUAGE}")
en_CA:en

显然我可以毫无问题地显示现有变量,但问题是当我尝试添加新变量时。这是我做的第二个测试:

在 CMake 脚本中:

set(ENV{'LD_LIBRARY_PATH'} "potato")
message(STATUS "$ENV{LD_LIBRARY_PATH}")

没有输出

在 CMake 脚本中:

set(ENV{'LANGUAGE'} "$ENV{LANGUAGE}:potato")
message(STATUS "$ENV{LANGUAGE}")

输出:

en_CA:en:potato

这对我来说是个问题。如何设置新的环境变量?

【问题讨论】:

  • 环境变量名不能加引号,set 命令见documentation
  • @Tsyvarev 我现在觉得自己很蠢。

标签: cmake


【解决方案1】:

正如@Tsyvarev 指出的那样,set(ENV{'LD_LIBRARY_PATH'} "potato") 中的LD_LIBRARY_PATH 周围不应有引号

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2020-06-08
    • 2013-03-04
    相关资源
    最近更新 更多