HFi*_*nch 4 regex installation cmake
我目前在使用install()CMake的功能时遇到问题v3.13.4。我的代码如下:
install(
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
DESTINATION ${CMAKE_INSTALL_PREFIX}
FILES_MATCHING PATTERN "*.cfg"
)
Run Code Online (Sandbox Code Playgroud)
我的理解是,CMake 会将与此模式匹配的所有文件复制到我给定的位置${CMAKE_INSTALL_PREFIX},但我当前目录中的所有子文件夹也会被复制。另外,如何将多个文件结束模式复制到目的地?简单地说*.cfg | *.xyz或*.cfg || *.xyz不起作用。
编辑:
还尝试将其替换为FILES_MATCHING PATTERN:
FILES_MATCHING REGEX "[a-zA-Z0-9]*.ate|[a-zA-Z0-9]*.reserved"
Run Code Online (Sandbox Code Playgroud)
它只*.reserved再次复制文件和所有文件夹。
如果目录中的任何子文件夹也包含.cfg文件,CMake 也会复制这些文件。您需要使用EXCLUDE指令明确告诉 CMake 忽略这些。此外,您可以连接多个PATTERN指令供 CMake 搜索和安装:
install(
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
DESTINATION ${CMAKE_INSTALL_PREFIX}
FILES_MATCHING
PATTERN "*.cfg"
PATTERN "*.xyz"
PATTERN "subFolderA" EXCLUDE
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3164 次 |
| 最近记录: |