我正在将一些包从 Linux 移植到 Windows,我发现 Visual Studio 与 cmake 具有相当好的集成。
我可以使用 cmake 配置和构建项目,但是我不知道如何运行 cpack 来创建安装包.
这个问题 -如何在 Windows 上使用 CMake + CPack + NSIS 创建安装程序?- 建议包.vcxproj文件应该由构建创建。是的,但似乎没有办法从 Visual Studio 内部构建/运行它
这似乎是一个奇怪的疏忽:
- cmake集成很好
- ctest 测试可以通过测试菜单运行
- 安装目标可以通过构建菜单运行
但没有菜单选项可以使用 cpack 创建包。
注意我正在尝试创建 ZIP 或 TGZ 包,并且此时不需要 NSIS 的额外复杂性。
我用的是VS2019
我想出的最好的解决方案是你不能——至少不能直接这样做。更开明的人可能会更清楚,因为这确实看起来是一个奇怪的疏忽。
如果从工具/开发人员命令提示符打开命令提示符
您可以从那里手动运行 cpack。
另一个重要的一点是,不应在 Windows 上设置 CPACK_PACKAGING_INSTALL_PREFIX。
看https://gitlab.kitware.com/cmake/cmake/issues/17534
您可以通过将自定义目标(或多个目标)添加到您的CMakeLists.txt这将在目标视图。
例如(基于https://cmake.org/pipermail/cmake/2017-January/064830.html) add:
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)
在我的例子中,安装包中包含的 Doxygen 文档是一个额外的依赖项。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)