清空RUNTIME_OUTPUT_DIRECTORY

时间:2016-02-15 09:30:34

标签: cmake

使用CMake处理项目。该项目包含可执行文件和python脚本。这两个文件应该在build。的同一目录中编译/复制。

我试着像:

add_executable( ${myTarget} ${all_c_sources} )
add_custom_command(
  TARGET ${myTarget} POST_BUILD
  COMMAND ${CMAKE_COMMAND} -E copy ${pythonScriptPath} ${RUNTIME_OUTPUT_DIRECTORY}/
)

可执行文件很好地构建在$ {CMAKE_BINARY_DIR} / Debug之类的默认位置,但是python脚本的副本失败了:

c:\Program Files (x86)\CMake\bin\cmake.exe" -E copy C:/.../script.py /\r

我的目标是尽可能使用CMake默认行为。 有没有一种简单的方法来获取默认输出路径?

谢谢!

1 个答案:

答案 0 :(得分:1)

这样的事情:

add_custom_command(TARGET ${LIBRARY_NAME} POST_BUILD
  COMMAND ${CMAKE_COMMAND} -E copy_if_different
  $<TARGET_FILE:${LIBRARY_NAME}>
  $<TARGET_FILE_DIR:${CMAKE_PROJECT_NAME}>/path/to/where/module/should/be
  COMMENT "Copying file to Runtime directory: " $<TARGET_FILE:${LIBRARY_NAME}>
)

根据您的需要进行调整。

如果您需要了解更多内容,请阅读CMake Generator Expressions