Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
安装除CMake中的文件夹以外的目录中的所有文件_Cmake - Fatal编程技术网

安装除CMake中的文件夹以外的目录中的所有文件

安装除CMake中的文件夹以外的目录中的所有文件,cmake,Cmake,我想将名为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) 但是,将来可能会有更多类型不同于.cfg和

我想将名为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)

但是,将来可能会有更多类型不同于.cfg和.xml的文件。为了防止频繁更改此文件,我正在寻找一种更通用的解决方案,例如安装除文件夹以外的所有文件类型。我听说过EXCLUDE关键字。但是我不知道我应该使用什么样的文件夹模式。

它应该明确排除子目录,然后所有其他文件都会像往常一样正确安装

install(DIRECTORY scfg/ DESTINATION scfg
    PATTERN "scfg/config/" EXCLUDE
    PATTERN "scfg/xml/" EXCLUDE
)