2014-10-28 93 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 
) 
相关问题