2014-09-22 35 views
0

所以我有一個可執行文件與它運行的構建系統存在衝突的依賴關係(Xilinx與別人無法兼容)。我很想運行cmake腳本作爲構建過程的一部分,但它依賴於不同的dll。我可以嘗試找出與xylinx dll匹配的cmake版本。 Xylinx通過設置一堆環境變量將依賴關係重定向到不同的C++運行時。從沒有憑據的乾淨的登錄shell運行

Sanitize environment with command or bash script?

將徹底清理掉所有的環境,但我真正想要做的是.bash_rc後運行的腳本或.bash_profile中被調用。 (cmake似乎需要設置一些,因爲env -i cmake返回一個錯誤)我想這樣做,而不必要求登錄憑據。那可能嗎?

回答

0

你可以在命令行直接傳遞環境變量,包括可執行文件名稱的前面:

ENV_VAR=foo command -options ... 

如果你想傳遞多個變量,只需添加它們一一後:

ENV_VAR_FOO=foo ENV_VAR_BAR=bar command -options ... 

在你的情況,你需要找出哪個環境變量cmake需要訪問庫。然後通過此呼叫,如:

LIB_PATH=/path/to/libs cmake -options ...