2017-09-08 25 views
0

我已经从主机名和用户定义的环境变量(Linux操作系统Ubuntu)

echo $USER 
pvicente 
echo $HOSTNAME 
glace 

我得到的CMakeLists.txt的变量,但在检测到用户并不HOSTNAME

输出

-- USER environment variable is set to: pvicente 
-- HOSTNAME environment variable is set to: 
+0

凡定义主机名和用户变量? – Antwane

+1

@MattSchuchard HOSTNAME是一个环境变量... – 123

回答

1

你可以检查它的CMake与

$ cmake -E environment 

它给我的主机名命名NAME的环境变量看看哪些环境变量。因此,尝试:

message("-- USER environment variable is set to: " $ENV{USER}) 
message("-- HOSTNAME environment variable is set to: " $ENV{NAME}) 

但官方的跨平台CMake的方法是:

cmake_host_system_information(RESULT _host_name QUERY HOSTNAME) 
message("-- _host_name variable is set to: " ${_host_name}) 

参考

0

注:我不cmake工作,所以我做了一些谷歌搜索,并具有以下......有点超过我可以融入评论...

想出了根据第一篇文章@这link

  • sh -c echo \$HOSTNAME => ...什么... ...; HOSTNAME (自动地)设置sh
  • bash -c echo \$HOSTNAME =>糖霜下; HOSTNAMEbash下壳(自动)设置sh下壳
  • cmake运行命令,所以HOSTNAME将不会提供给cmake

在同一个链接的底部还有使用的建议site_name()功能...

SITE_NAME(mySite)    => obtain hostname and place in variable 'mySite' 
MESSAGE(mySite='${mySite}') 

...出现与(稀疏)文档,以摇摆(site_name() documentation

相关问题