如何将一个 exe 和一堆 dll 文件与 CPack 一起压缩?
How do I zip an exe and a bunch of dll files together with CPack?
我的基于 CMake 的项目由一个 .exe
文件和三个 .dll
组成,当使用 Visual Studio 编译时。我想以 zip 形式将这些文件一起分发:不包含源代码,没有花哨的 NSIS 安装程序,只有一个方便的 zip 存档中的四个文件。我知道我可以使用 add_custom_command
直接在 CMake 中编写操作脚本,但 CPack 似乎是更好的选择。我该怎么做?
如果您使用 CMake(使用 install
)指定要 安装 的文件,您可以轻松利用 CPack 创建 zip 存档:
# Specify to install your CMake targets
install(TARGETS MyExe RUNTIME CONFIGURATIONS Release)
install(TARGETS MySharedLib1 RUNTIME CONFIGURATIONS Release)
...
# Specify the CPack generator for packaging files into an archive.
set(CPACK_GENERATOR "ZIP")
# Specify to exclude the top-level directory from the archive.
set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY OFF)
# Now, add CPack to your project.
include(CPack)
我的基于 CMake 的项目由一个 .exe
文件和三个 .dll
组成,当使用 Visual Studio 编译时。我想以 zip 形式将这些文件一起分发:不包含源代码,没有花哨的 NSIS 安装程序,只有一个方便的 zip 存档中的四个文件。我知道我可以使用 add_custom_command
直接在 CMake 中编写操作脚本,但 CPack 似乎是更好的选择。我该怎么做?
如果您使用 CMake(使用 install
)指定要 安装 的文件,您可以轻松利用 CPack 创建 zip 存档:
# Specify to install your CMake targets
install(TARGETS MyExe RUNTIME CONFIGURATIONS Release)
install(TARGETS MySharedLib1 RUNTIME CONFIGURATIONS Release)
...
# Specify the CPack generator for packaging files into an archive.
set(CPACK_GENERATOR "ZIP")
# Specify to exclude the top-level directory from the archive.
set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY OFF)
# Now, add CPack to your project.
include(CPack)