Build 在内置CLion后自动将可执行文件复制到目录?

Build 在内置CLion后自动将可执行文件复制到目录?,build,cmake,clion,Build,Cmake,Clion,如何使CLion在每次生成后自动将已编译的可执行文件复制到指定目录 由于CLion使用CMake,我想这应该可以通过CMakeLists.txt文件中的一些CMake命令实现。但我不知道怎么做。我不知道CLion的情况,但一般来说,您可以通过以下方式将其添加到in-CMake中: add_executable(MyExe ...) add_custom_command(TARGET MyExe POST_BUILD C

如何使CLion在每次生成后自动将已编译的可执行文件复制到指定目录


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

我不知道CLion的情况,但一般来说,您可以通过以下方式将其添加到in-CMake中:

add_executable(MyExe ...)
add_custom_command(TARGET MyExe 
                   POST_BUILD
                   COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:MyExe> SomeOtherDir)
add_可执行文件(MyExe…)
添加自定义命令(目标MyExe)
后期构建
命令${CMAKE_COMMAND}-E copy$SomeOtherDir)

请参见例如

我使用CMAKE\u运行时\u输出\u目录。它将是编译输出的地方。如果你需要做另一个副本,那么你将需要做的技巧

set(CMAKE\u运行时\u输出\u目录${PROJECT\u PATH}/bin/client/${CMAKE\u构建类型})

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

秘密在于使用目标属性
运行时\u输出\u目录
。这具有每个配置选项(例如运行时\输出\目录\调试)

设置目标属性(mylibrary属性
运行时\输出\目录\调试
运行时\输出\目录\发布
)
有关更多信息,请参阅

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

cmake --help-property "RUNTIME_OUTPUT_DIRECTORY"
cmake --help-property "RUNTIME_OUTPUT_DIRECTORY_<CONFIG>"
cmake--help属性“运行时\输出\目录”
cmake--帮助属性“运行时\输出\目录”

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

您能解释一下我应该在这里填写什么吗?MyExe是可执行文件的目标名称,在我的示例中,它来自
添加可执行文件(MyExecutable)(MyExe…
)。您只需在
add_executable()
行之后添加上述自定义命令到
CMakeLists.txt
。它将获取可执行文件的完整路径(请参阅),并将其复制到
SomeOtherDir
。如果您不将完整路径指定为
SomeOtherDir
,它将与
${CMAKE\u CURRENT\u BINARY\u DIR}
相对。这实际上是一种非常巧妙的方法!
cmake --help-property "RUNTIME_OUTPUT_DIRECTORY"
cmake --help-property "RUNTIME_OUTPUT_DIRECTORY_<CONFIG>"