我有一個使用SCons(和MinGW/gcc取決於平臺)構建的項目。這個項目取決於其他幾個庫(我們稱它們爲libfoo
和libbar
),它們可以安裝在不同的地方供不同的用戶使用。SCons配置文件和默認值
目前,我SConstruct
文件嵌入到這些庫硬編碼路徑(比如,是這樣的:C:\libfoo
)。現在
,我想配置選項添加到我的SConstruct
文件,這樣誰在其他位置安裝libfoo
用戶(比如C:\custom_path\libfoo
)可以這樣做:
> scons --configure --libfoo-prefix=C:\custom_path\libfoo
或者:
> scons --configure
scons: Reading SConscript files ...
scons: done reading SConscript files.
### Environment configuration ###
Please enter location of 'libfoo' ("C:\libfoo"): C:\custom_path\libfoo
Please enter location of 'libbar' ("C:\libfoo"): C:\custom_path\libbar
### Configuration over ###
選擇後,應該將這些配置選項寫入某個文件,並在每次運行scons
時自動重新讀取。
scons
是否提供這樣的機制?我將如何實現這種行爲?我並不完全掌握Python,所以即使是明顯的(但完整的)解決方案也是受歡迎的。
謝謝。
謝謝,這似乎有竅門;)是否有另一種方法來獲取變量的值?像'print var.getVariable('LIBFOO')''? – ereOn 2010-09-16 12:32:25
@ereOn我已經搜遍了文檔,但是*沒有*似乎有任何方法可以做到這一點。相當不對稱。您必須將變量放入環境中並將其讀出。如果我知道,我會更新這篇文章。 – richq 2010-09-16 18:40:36