我想在名为scfg的文件夹下安装所有文件,其中包含.cfg,.xml文件和文件夹到另一个包含scfg的位置.下面的代码安装正确.
file(GLOB config_files "scfg/*.cfg")
install(FILES ${config_files} DESTINATION scfg)
file(GLOB xml_files "scfg/*.xml")
install(FILES ${xml_files} DESTINATION scfg)
Run Code Online (Sandbox Code Playgroud)
但是将来可能会有更多类型不同于.cfg和.xml的文件.为了防止经常更改此文件,我正在寻找更通用的解决方案,例如安装除文件夹之外的所有文件类型.我听说过EXCLUDE关键字.但我不知道我应该为文件夹使用什么PATTERN.
它应该显式排除子目录,然后像往常一样正确安装所有其他文件.
install(DIRECTORY scfg/ DESTINATION scfg
PATTERN "scfg/config/" EXCLUDE
PATTERN "scfg/xml/" EXCLUDE
)
Run Code Online (Sandbox Code Playgroud)