2017-09-08 26 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

相關問題