使用 message("-- USER environment variable is set to: " $ENV{USER}) message("-- HOSTNAME environment variable is set to: " $ENV{HOSTNAME})
message("-- USER environment variable is set to: " $ENV{USER}) message("-- HOSTNAME environment variable is set to: " $ENV{HOSTNAME})
的CMake获得HOSTNAME环境变量
问题描述:
我已经从主机名和用户定义的环境变量(Linux操作系统Ubuntu)
echo $USER
pvicente
echo $HOSTNAME
glace
我得到的CMakeLists.txt的变量,但在检测到用户并不HOSTNAME
输出
-- USER environment variable is set to: pvicente
-- HOSTNAME environment variable is set to:
答
你可以检查它的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})
参考
答
注:我不cmake
工作,所以我做了一些谷歌搜索,并具有以下......有点超过我可以融入评论...
想出了根据第一篇文章@这link:
-
sh -c echo \$HOSTNAME
=> ...什么... ...;HOSTNAME
是不 (自动地)设置sh
壳 -
bash -c echo \$HOSTNAME
=>糖霜下;HOSTNAME
是bash
下壳(自动)设置sh
下壳 -
cmake
运行命令,所以HOSTNAME
将不会提供给cmake
在同一个链接的底部还有使用的建议site_name()
功能...
SITE_NAME(mySite) => obtain hostname and place in variable 'mySite'
MESSAGE(mySite='${mySite}')
...出现与(稀疏)文档,以摇摆(site_name() documentation)
凡定义主机名和用户变量? – Antwane
@MattSchuchard HOSTNAME是一个环境变量... – 123