2011-08-09 31 views
1

我正在將Code :: Blocks項目移動到SCons。我有以下結構的源代碼樹:Scons:所有人對很多小人物的一個大型SContruct

trunk 
    lib1 
    lib2 
    libn 
    app1 
    app2 
    appn 

這是我第一次使用SCons和我試圖找出什麼會更好 - 有每個應用程序和lib文件夾或一個大的很多小SConscripts在主幹下部署各部分,描述每個項目的源代碼,開關和前/後編譯命令。

我個人更喜歡處理一個文件,但我想聽聽SCons經驗豐富的人的意見。

謝謝。

回答

2

個別SConscript文件的一個優點是每個文件中的文件名相對於文件所在的目錄。因此,爲構建目標創建文件名列表變得不那麼冗長。

另一方面,需要在不同SConscript文件之間共享的目標有時最終需要很多符號的相互通信。

它看起來像你的應用程序和庫很好地分開。在你的情況下,我會開始在每個主目錄中創建多個SConscript文件。稍後將它們組合起來比稍後將它們分開更容易。

+0

我只是想,我怎樣才能讓數十個SConscript文件保持一致的格式,這樣我就不會以每個SConscript構建它自己的,有點不同的方式結束。 – jackhab

+0

這個說法沒有道理,因爲你可能已經爲你的許多不同的源代碼文件做了這個。 SConscript文件是Python源代碼。保持一致並不難。 –

0

認爲它是這樣的:

你讓你的真實項目,一個大的文件或許多小文件的組織?當然,如果一切都在一個文件中,做一些事情可能更容易,但對於組織來說,多個文件有時可能更容易。

您可能想要嘗試在您的主幹位於SConstruct文件中進行全局設置(如警告和優化標誌等),然後將其導入SConscript文件中,該文件處理目標特定的細節。