问题标签 [cpack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cmake - cpack 预安装输出日志
我使用 cpack (CMake 3.0.2) 从我的源代码构建 RPM。我在构建预安装目标时遇到错误,它说:
那么如何在运行 cpack 时将此日志写入标准输出?我试过了:
和
但这没有帮助。
cmake - 使用 cpack 创建 deb 包后运行脚本
我正在尝试使用 cpack 创建一个 deb 包。但是由于 cpack 中的一个错误,它正在创建具有错误权限的文件“md5sums”,并且在使用软件中心安装 deb 包时我收到警告。我有一个脚本,它将更改 deb 包中文件的权限。但是我对如何在打包后自动运行脚本感到困惑。
cmake - CPack / CMake:每个 CPACK_GENERATOR 的不同安装前缀
如何为不同的 CPACK_GENERATOR 指定不同的安装前缀?
例如:
- DEB 包应该安装到
/opt/project
- TGZ 存档应该只包含
project
目录
从文档中我了解到我必须使用该CPACK_PROJECT_CONFIG_FILE
变量。使用它,应该可以实现预期的目标。但是,它对我不起作用。
这是我的 CPack 配置:
这是我的${CMAKE_SOURCE_DIR}/cmake/package.linux.txt
文件:
我已确保使用MESSAGE()
指令解析所有文件,但我的包的前缀始终是/usr/local
.
cmake - CPack:如何执行多个 CPACK_NSIS_EXTRA_INSTALL_COMMANDS?
我正在使用 CMake 2.8.11.2、CPack 和 NSIS 编写安装程序。我到了需要调用 MSVCR 等子安装程序的地步。这是我的 CMakeLists.txt 的样子:
但是,生成的 .nsi 文件包含以下(单)行
这导致生成包时出现错误“ExecWait 需要 1-2 个参数,得到 6 个”。
如何正确地将多个额外命令传递给 NSIS?
cmake - 仅在 CPack 中将文件添加到 ARCHIVE 包
是否可以使用 CMake/CPack 仅将一些文件添加到 ARCHIVE 生成器?显然组件是这样做的,但我不知道怎么说“只将组件 X 添加到生成器 Y”。我做了这样的事情:
INSTALL(FILES somefile DESTINATION "." COMPONENT static)
但是如何将static
组件仅添加到 ARCHIVE 而不添加到 DEB 和 RPM 等其他生成器?
windows - CMake/CPack 可以为单个项目生成多个 NSIS 安装程序吗?
我有一个项目(带有子项目),我想为其生成多个 NSIS 安装程序可执行文件,而不是在单个 NSIS 安装程序中列出多个组件。这可能吗?还是我需要将我的代码组织到单独的项目中?
c++ - CPack 多个具有自己依赖项的包
我在使用 CPack 和 CMake 创建两个 debian 包时遇到问题。我已经完成了这里的示例,并且我确实设法创建了两个不同的 debian 包,但我希望它们每个都有自己的依赖项。结果 CMakeLists.txt 如下:
(注意dummy_main1 和 dummy_main2 使 shlibdeps 工作,因为每个包至少需要一个可执行文件)。
我的目标是创建 2 个具有不同依赖项的不同 debian 包,例如:
但我没有找到 CPACK 宏来做到这一点。我已经阅读了很多论坛和文档,但没有一个我测试过的对我有用。CPACK_DEBIAN_PACKAGE_DEPENDS 宏工作正常,但它为两个包设置了相同的依赖项。有什么方法可以实现我的目标吗?我正在使用 CMake 2.8 来执行此操作。
谢谢!
windows - 为什么 CMake 试图将我的目标安装到绝对路径?
我有:
MyPlugin 是一个库目标。在 Windows 8.1 CMake (3.4.0-rc2) 上,无论我做什么,都会尝试将我的库安装到 C:/Program Files/[PROJECT]/bin/。我怎样才能强制它在本地安装,以便我可以用 CPack 制作一个包?我有点困惑,因为这之前没有任何问题。
CMAKE_INSTALL_PREFIX 似乎对此没有任何影响。
cmake - 如何检查 CMake 安装脚本是否正在由 CPack 运行?
我想检测我install(SCRIPT script.cmake)
是在 CPack( make package
) 下运行还是常规运行make install
。我试过使用:
cmake - 如何使用 cpack 打包符号链接?
我已经看到许多 linux 应用程序与它们的二进制文件一起打包在一些路径/opt/mypkg/myexecutable
中,例如/usr/bin
. 我在打包文件中看到了这些符号链接。
我想在用 cpack 打包我的软件时做同样的事情,用 CPackDEB 和 CPackRPM 创建 deb 和 rpm 包。
是否可以为任意的、可能不存在的路径创建符号链接?
那我可以用
INSTALL(FILES "mysymlink" DESTINATION /usr/bin/myapp COMPONENT MyComponent)
吗?(当目的地实际存在时,遵循符号链接会不会有问题?)我可以用类似的东西更改链接目标吗
CONFIGURE_FILE()
还是我只是缺少一个正确完成工作的 cpack 指令?