我已經從主機名和用戶定義的環境變量(Linux操作系統Ubuntu)
echo $USER
pvicente
echo $HOSTNAME
glace
我得到的CMakeLists.txt的變量,但在檢測到用戶並不HOSTNAME
輸出
-- USER environment variable is set to: pvicente
-- HOSTNAME environment variable is set to:
我已經從主機名和用戶定義的環境變量(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