我具有src
的目录结构,如下所示:
src/abc1/...
src/abc22/...
src/abc3333/...
src/def1/...
src/def22/...
src/def333/...
在这里,我只想安装src/abc1
,src/abc22
,src/abc33
。我使用以下命令:
install(DIRECTORY src DESTINATION include/myproj
REGEX "abc.*")
但这不起作用
答案 0 :(得分:2)
默认情况下,所有文件和目录都会被安装,无论它们是否匹配。可以在第一个match选项之前使用
FILES_MATCHING
选项,以禁止安装任何表达式都不匹配的文件(而不是目录)。例如,代码install(DIRECTORY src/ DESTINATION include/myproj FILES_MATCHING PATTERN "*.h")
将从源树中提取并安装头文件。
因此,要针对您的情况进行翻译,您需要执行以下操作:
install(DIRECTORY src DESTINATION include/myproj
FILES_MATCHING REGEX "abc")