在Windows中使用CMake将可执行文件和DLL复制到用户指定的位置

在CMake中,我想运行post build命令,该命令将可执行文件和必需的dll自动复制到用户指定的位置。使用CMake是否可行?

安特旺

这取决于您要做什么。这是4种不同的解决方案。可能还有其他人要添加到此列表...

install()命令

如果要复制刚刚构建的可执行文件和dll,则可以使用该install()命令,命令仅在用户运行时才起作用make install

设定变量

如果要在构建时直接进行操作,则可以使用CMake变量来配置构建。这些变量在http://www.cmake.org/Wiki/CMake_Useful_Variables中进行了描述

EXECUTABLE_OUTPUT_PATH 
  set this variable to specify a common place where CMake should put all executable files (instead of CMAKE_CURRENT_BINARY_DIR)
  SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) 
LIBRARY_OUTPUT_PATH 
  set this variable to specify a common place where CMake should put all libraries (instead of CMAKE_CURRENT_BINARY_DIR)
  SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)

自定义命令

如果要复制其他未构建的可执行文件或dll(二进制库等),一个好的解决方案是使用自定义命令。在那种情况下,在所有操作系统上使用可移植的解决方案来复制文件可能非常棘手。这就是CMake直接(从其他)cmake可执行文件提供此功能的原因

在命令行中,您可以使用:

cmake -E copy_if_different <SOURCE> <DESTINATION>

别忘了您可以使用${CMAKE_COMMAND}变量从CMakeLists文件中调用cmake可执行文件;)

configure_file()命令

最后,configure_file()命令允许您通过用目标文件中的变量值替换变量来从另一个文件中生成文件。如果源文件不包含变量,则目标文件仅是源的副本。但是我不知道它是否与二进制文件完美配合。您应该自己仔细测试。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Makefile安装将可执行文件复制到usr / local / bin Linux

来自分类Dev

在SSIS中执行过程任务以使用WinSCP可执行文件将文件从远程复制到本地

来自分类Dev

CMake安装项目不会将我的可执行文件复制到我指定的文件夹中

来自分类Dev

文件结构并在 Cmake 中使可执行文件

来自分类Dev

递归复制用户可执行文件

来自分类Dev

为所有用户安装软件和可执行文件的位置

来自分类Dev

为所有用户安装软件和可执行文件的位置

来自分类Dev

位置独立的可执行文件和Android

来自分类Dev

位置无关的可执行文件和 ptrace

来自分类Dev

cmake 在添加的可执行文件中使用库目标

来自分类Dev

在可执行文件中使用嵌入式.dll

来自分类Dev

如何使用 csc 指定可执行文件的名称?

来自分类Dev

如何在可执行文件和DLL之间使用OpenGL函数指针?

来自分类Dev

在Windows中使用带有声音的.bat文件运行可执行文件

来自分类Dev

将可执行文件移植到另一台Linux机器上

来自分类Dev

强制将可执行文件存入内存?

来自分类Dev

将可执行文件从Linux传输到Mac

来自分类Dev

我如何让Windows将可执行文件保留下来?

来自分类Dev

使用NASM编译Windows可执行文件

来自分类Dev

使用NASM编译Windows可执行文件

来自分类Dev

使用 pip 安装 Windows 可执行文件

来自分类常见问题

用沙丘将生成的可执行文件复制到我的根目录中

来自分类Dev

当主要可执行文件使用旧的log4net版本时,在dll中使用LinqToExcel

来自分类Dev

Git:使用可执行文件

来自分类Dev

Git:使用可执行文件

来自分类Dev

使用.dll文件,相对于.exe的.dll文件编译可执行文件

来自分类Dev

找到可执行文件的路径并将可执行文件存储在一个变量中

来自分类Dev

无法在使用该库的可执行文件中使用导入到该库中的宏

来自分类Dev

将可执行文件移动到其他位置后,app.exe.manifest 设置将被忽略

Related 相关文章

  1. 1

    Makefile安装将可执行文件复制到usr / local / bin Linux

  2. 2

    在SSIS中执行过程任务以使用WinSCP可执行文件将文件从远程复制到本地

  3. 3

    CMake安装项目不会将我的可执行文件复制到我指定的文件夹中

  4. 4

    文件结构并在 Cmake 中使可执行文件

  5. 5

    递归复制用户可执行文件

  6. 6

    为所有用户安装软件和可执行文件的位置

  7. 7

    为所有用户安装软件和可执行文件的位置

  8. 8

    位置独立的可执行文件和Android

  9. 9

    位置无关的可执行文件和 ptrace

  10. 10

    cmake 在添加的可执行文件中使用库目标

  11. 11

    在可执行文件中使用嵌入式.dll

  12. 12

    如何使用 csc 指定可执行文件的名称?

  13. 13

    如何在可执行文件和DLL之间使用OpenGL函数指针?

  14. 14

    在Windows中使用带有声音的.bat文件运行可执行文件

  15. 15

    将可执行文件移植到另一台Linux机器上

  16. 16

    强制将可执行文件存入内存?

  17. 17

    将可执行文件从Linux传输到Mac

  18. 18

    我如何让Windows将可执行文件保留下来?

  19. 19

    使用NASM编译Windows可执行文件

  20. 20

    使用NASM编译Windows可执行文件

  21. 21

    使用 pip 安装 Windows 可执行文件

  22. 22

    用沙丘将生成的可执行文件复制到我的根目录中

  23. 23

    当主要可执行文件使用旧的log4net版本时,在dll中使用LinqToExcel

  24. 24

    Git:使用可执行文件

  25. 25

    Git:使用可执行文件

  26. 26

    使用.dll文件,相对于.exe的.dll文件编译可执行文件

  27. 27

    找到可执行文件的路径并将可执行文件存储在一个变量中

  28. 28

    无法在使用该库的可执行文件中使用导入到该库中的宏

  29. 29

    将可执行文件移动到其他位置后,app.exe.manifest 设置将被忽略

热门标签

归档