我試圖建立一個涉及外部工具的生成,該工具生成一個目錄作爲輸出(好奇的doxyindexer
)。到目前爲止,我已經基本上得到了這些命令:如何讓scons把目錄本身當作目標?
target = "doxysearch.db/iamchert"
doxygen.Doxyindexer(target,["project1.xml","project2.xml","project3.xml"])
Default([target])
Default(Install(ARGUMENTS["cgibin"],"doxysearch.db"))
說我遇到的問題是,我想我會target
是目錄本身,目錄內沒有一些隨機的文件。沒有什麼我可以完成的,因爲目標不存在,直到我建立目標,我不想推定迪米特里可能會改變的任何東西!當我使用目錄作爲目標,我得到這個錯誤:
TypeError: Tried to lookup Dir 'doxysearch.db' as a File.:
這就是爲什麼我挑iamchert
爲目標。即使我的方法是黑客攻擊,這些線似乎都能按預期工作。但是,我無法得到最後一行的工作。我需要將目錄doxysearch.db
複製到cgi-bin
目錄中,該目錄由用戶在命令行中指定。也許有人可以解釋如何正確地做這一步?當談到scons時,我是個新手!
我在搜索答案時遇到了麻煩,因爲涉及的所有搜索詞太常見了,無法找到我的具體幫助!
我想問題是如何計算作爲目標的「年齡」的目錄。一個黑客可能看起來像目錄tar'ed,並被用作目標。我會假設如果這可行的話,那麼Scons可以採取某種方式在幕後做到這一點。但這聽起來像是你說Scons沒有能力。 – amos
@amos,它絕對可以在SCons中進行這種檢查,因爲它的擴展性很強,但是目前這種行爲還沒有實現。除了我提到的有關目錄被認爲已更改(如果文件更多或更少)之外,有些人可能會爭辯說,如果其中的文件已更改,則目錄會發生更改。這可能會變得複雜而低效,因爲它可以擴展到子目錄。 – Brady