cmake -E使用通配符和构建时间变量进行复制

时间:2017-10-06 12:42:22

标签: cmake

我想要一个宏来复制看起来像这样的文件:

MACRO(POST_BUILD_COPY src_files dest_path)
    ADD_CUSTOM_COMMAND(TARGET ${PROJECT_NAME} POST_BUILD
        COMMAND ${CMAKE_COMMAND} -E copy ${src_files} ${dest_path})
ENDMACRO(POST_BUILD_COPY src_files dest_path)

在大多数情况下,这完全没问题。我的问题是src_files可能类似于path/to/${CMAKE_CFG_INTDIR}/headers/*.h

问题是

  • cmake -E copy(也copy_directory)似乎无法处理通配符
  • file(GLOB files ${src_files})解析为空数组,因为它在配置时进行评估,${CMAKE_CFG_INTDIR}是构建时变量(例如msvc为$(Configuration)

我是否有一种解决这个问题的方法?我不想依赖外部工具(这就是我们现在所做的,它会导致我们想要摆脱的其他问题)

0 个答案:

没有答案