2014-10-28 83 views
1

我想將包含.cfg,.xml文件和文件夾的名爲scfg的文件夾下的所有文件安裝到包含scfg的另一個位置。下面的代碼正確安裝。Cmake安裝除文件夾以外的目錄中的所有文件

file(GLOB config_files "scfg/*.cfg") 
install(FILES ${config_files} DESTINATION scfg) 
file(GLOB xml_files "scfg/*.xml") 
install(FILES ${xml_files} DESTINATION scfg) 

但是將來可能會有更多類型不是cfg和xml的文件。爲防止頻繁更改此文件,我正在尋找更通用的解決方案,例如安裝文件夾以外的所有文件類型。我聽說過EXCLUDE關鍵字。但我不知道我應該用什麼樣的PATTERN文件夾。謝謝你。

回答

4

它應該明確排除子目錄,然後像往常一樣正確安裝所有其他文件。

install(DIRECTORY scfg/ DESTINATION scfg 
    PATTERN "scfg/config/" EXCLUDE 
    PATTERN "scfg/xml/" EXCLUDE 
) 
相關問題