如何在CMake中的add_custom_command中使用目标路径?

时间:2011-03-23 18:54:46

标签: cmake

在CMakeLists.txt中有一个名为“library.dll”的库。我想添加一个post build事件来将生成的文件复制到另一个目录。文档说使用生成器事件,但它不起作用:

add_custom_command(TARGET library.dll POST_BUILD COMMAND copy $<TARGET_FILE:library.dll> \"${SOME_DIR}/bin\")

我正在使用CMake 2.8.3在Windows 7上生成VC ++ 2010项目文件。

1 个答案:

答案 0 :(得分:2)

尝试以下更改:

添加VERBATIM选项,确保命令的所有参数都能正确转义。

不使用Windows内置复制命令,而是在命令模式下调用CMake,该模式具有内置的平台无关复制命令。

修改后的命令如下所示:

add_custom_command(TARGET library.dll POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:library.dll> ${SOME_DIR}/bin VERBATIM)