我想将名为scfg的文件夹下的所有文件安装到另一个包含scfg的位置,该文件夹包含.cfg,.xml文件和文件夹。下面的代码安装正确。
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。
答案 0 :(得分:5)
它应该明确地排除子目录,然后像往常一样正确安装所有其他文件。
install(DIRECTORY scfg/ DESTINATION scfg
PATTERN "scfg/config/" EXCLUDE
PATTERN "scfg/xml/" EXCLUDE
)