我對scons很陌生,試圖移植到內部引用許多VS項目文件(.vcxproj)的現有visual studio解決方案(.sln)上。這是多個輸出,包括各種庫和不同的可執行文件。將視覺工作室解決方案文件移植到scons的最佳實踐
從概念的角度來看,我不確定自己是否走向正確的道路,並希望得到更好的建議。
這裏是我的設置:
我的代碼庫的根目錄中的頂級SConstruct文件。另外我有一個SConscript文件,用於每個我的舊VS項目文件。 SConstruct文件爲每個SConscript文件調用一次SConscript函數,其中它指定源目錄以及輸出應作爲參數的位置。
此外,SConstruct文件創建並傳遞給每個SConstruct文件一組scons環境實例。例如,有一個用於編譯庫,一個用於編譯可執行文件,一個用於調試配置,一個用於發佈等,然後每個SConscript文件根據它想要完成的工作選擇一個它想要的文件。
有幾件事我很想知道: 1)有沒有比創建多個不同的環境更好的方法,每個配置變化一個?這是預期的使用模式嗎? 2)在Visual Studio中,我可以右鍵單擊某個特定的項目,然後選擇構建以僅構建該項目及其依賴的項目,忽略sln中依賴關係圖的其餘部分。對於scons,每次觸發構建特定庫時,它都會重新計算整個依賴關係圖,儘管理論上它只需要計算整個依賴關係圖的一小部分。
感謝您的任何建議。
馬克
謝謝布雷迪。我所見過的大多數例子似乎也鼓吹單一的env方法。我可以看到多種環境方法可能會很快失去控制。 – mlee