我有一個C++/Python項目,我一直在努力,迄今爲止都依靠Visual Studio來管理構建。現在我想自動化構建過程,希望包括多個平臺支持(這都是標準的C++/Python),並且認爲SCons可以成爲完成這項工作的工具。SCons設置分層源但單個目標
有很多的源文件的參與,在多個目錄,而是一個(立體聲)典型的例子如下:
foo.lib
directory_1
bar1_1.cpp
bar1_2.cpp
... etc. ...
directory_2
bar2_1.cpp
bar2_2.cpp
... etc. ...
所以,換句話說,源文件是一個層次,但有隻有一個目標。 (該層次結構在代碼中使用的名稱空間中進行匹配,但對於此問題而言,這是多餘的。)
我的問題是:什麼是構建SConstruct和SConscript文件的最佳方式?我閱讀了SCons文檔,特別是Hierarchical Builds部分,以及通過合適的'SConscript'調用使用多個SConscript文件的想法。一切似乎都很清晰,特別整潔。然而,它似乎是用於具有多個目標的層次結構。如果只有一個目標,我可以使用相同的功能嗎?我確實想到了一個頂級的SConstruct/SConscript文件,至少對於所討論的庫來說,列出了所有包含子目錄的源文件,但並沒有「感覺」這是做這件事的最好方式。也許的確如此是前進的方向嗎?)
非常感謝您的任何建議/見解。
謝謝!這當然突出顯示了我在文檔中明顯跳過(或誤解)的一個特性。 我的要求源於我想處理的兩種情況: i)選擇性包含某些文件;和ii)爲單個文件指定不同的構建標誌。 經過審查,案件(一)真的是我懶惰的一個例子。現在我只是堅持案例(ii) - 一個示例將禁用特定文件的警告,但不會全局禁用它。(我希望通過在特定的SConscript文件中處理適當的環境來處理這個問題,雖然我可能還沒有進入雜草......) – bitcyber 2012-01-10 22:36:54