如何在cmake安装中使用通配符

Dav*_*vid 5 installation wildcard cmake

我可以安装一个特定的文件。在同一命令中使用通配符时,它会抱怨该文件不存在。

这是一个有效的

install(FILES  ${CMAKE_CURRENT_BINARY_DIR}/libproduction_rdict.pcm DESTINATION ${LIBRARY_OUTPUT_PATH})
Run Code Online (Sandbox Code Playgroud)

这是一个不工作的

install(FILES  ${CMAKE_CURRENT_BINARY_DIR}/*_rdict.pcm DESTINATION ${LIBRARY_OUTPUT_PATH})
Run Code Online (Sandbox Code Playgroud)

错误信息是:

-- Install configuration: ""
CMake Error at Source/cmake_install.cmake:49 (file):
  file INSTALL cannot find
  "/home/wxie/AI/CUDA/cuda_exmaple/example_2/Build/Source/*_rdict.pcm".
Call Stack (most recent call first):
  cmake_install.cmake:42 (include)
Run Code Online (Sandbox Code Playgroud)

Tsy*_*rev 7

命令流install(FILES)要求明确列出所有文件。

要按模式安装多个文件,请使用install(DIRECTORY)PATTERN选项:

install(DIRECTORY  ${CMAKE_CURRENT_BINARY_DIR} DESTINATION ${LIBRARY_OUTPUT_PATH}
    FILES_MATCHING PATTERN "*_rdict.pcm")
Run Code Online (Sandbox Code Playgroud)

更多关于install(DIRECTORY)和模式的信息可以在文档中找到。