首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从运行cpack?

问如何从运行cpack?
EN

Stack Overflow用户
提问于 2020-01-08 12:31:55
回答 1查看 1.8K关注 0票数 3

我正在将一些包从Linux移植到windows,我发现visual与cmake有相当好的集成。我能够使用cmake配置和构建项目,但是无法理解如何运行cpack来创建安装包。

这个问题-- 如何在Windows上使用CMake + CPack + NSIS创建安装程序? --建议构建一个PACKAGE.vcxproj文件。是的,但似乎并不存在从visual studio内部构建/运行它的方法。

这似乎是一个奇怪的疏忽,因为:

  • cmake集成非常好。
  • ctest测试可以通过“测试”菜单运行。
  • 安装目标可以通过“生成”菜单运行,但没有使用cpack创建包的菜单选项。

注意,我试图创建ZIP或TGZ包,不需要额外复杂的NSIS在这个时候。我正在使用VS2019

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-08 12:31:55

我想出的最好的解决办法是你不能--至少不是直接的。一个更开明的人可能会更清楚,因为这确实是一个奇怪的疏忽。

如果您从tools/developer命令提示符中打开一个逗号提示符,您可以在那里手动运行cpack。

另一个重要的问题是,CPACK_PACKAGING_INSTALL_PREFIX不应该设置在Windows上。请参阅https://gitlab.kitware.com/cmake/cmake/issues/17534

您可以通过向CMakeLists.txt中添加一个自定义目标(或多个目标)来改进这一点,该目标将在目标视图中可见。例如(基于https://cmake.org/pipermail/cmake/2017-January/064830.html)添加:

代码语言:javascript
复制
SET( CPACK_OUTPUT_CONFIG_FILE "${CMAKE_BINARY_DIR}/BundleConfig.cmake" )
ADD_CUSTOM_TARGET( bundle
         COMMAND "${CMAKE_CPACK_COMMAND}"
                 "-C" "$<CONFIGURATION>"
            "--config" "${CMAKE_BINARY_DIR}/BundleConfig.cmake"
            COMMENT "Running CPack. Please wait..."
            DEPENDS ${PROJECT_NAME} doxygen)

在我的例子中,包含在安装包中的DO2文档是一个额外的依赖项。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59645959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档