在CLion中构建后自动将可执行文件复制到目录?

bec*_*cko 3 build cmake clion

如何让CLion在每次构建后自动将编译后的可执行文件复制到指定目录?

由于CLion使用CMake,我想这应该可以在CMakeLists.txt文件中使用一些CMake命令.但我不知道该怎么做.

Flo*_*ian 12

我不知道CLion,但通常你可以将它作为一个后期构建步骤添加到CMake中的可执行目标:

add_executable(MyExe ...)
add_custom_command(TARGET MyExe 
                   POST_BUILD
                   COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:MyExe> SomeOtherDir)
Run Code Online (Sandbox Code Playgroud)

请参阅例如在CMake的后期构建步骤中将目标文件复制到另一个位置


Leo*_*313 6

我最喜欢的选项是直接在正确的文件夹中生成可执行文件,如下所述

秘密是使用目标属性RUNTIME_OUTPUT_DIRECTORY。它具有每个配置选项(例如RUNTIME_OUTPUT_DIRECTORY_DEBUG)。

set_target_properties(mylibrary PROPERTIES
                      RUNTIME_OUTPUT_DIRECTORY_DEBUG <debug path>
                      RUNTIME_OUTPUT_DIRECTORY_RELEASE <release path>
)
Run Code Online (Sandbox Code Playgroud)

请参阅此链接了解更多信息。

但是您也可以在终端上运行:

cmake --help-property "RUNTIME_OUTPUT_DIRECTORY"
cmake --help-property "RUNTIME_OUTPUT_DIRECTORY_<CONFIG>"
Run Code Online (Sandbox Code Playgroud)

编译后复制可执行文件是一个很好的解决方案。