问题标签 [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.

0 投票
1 回答
1059 浏览

cmake - cpack 预安装输出日志

我使用 cpack (CMake 3.0.2) 从我的源代码构建 RPM。我在构建预安装目标时遇到错误,它说:

那么如何在运行 cpack 时将此日志写入标准输出?我试过了:

但这没有帮助。

0 投票
2 回答
1719 浏览

cmake - 使用 cpack 创建 deb 包后运行脚本

我正在尝试使用 cpack 创建一个 deb 包。但是由于 cpack 中的一个错误,它正在创建具有错误权限的文件“md5sums”,并且在使用软件中心安装 deb 包时我收到警告。我有一个脚本,它将更改 deb 包中文件的权限。但是我对如何在打包后自动运行脚本感到困惑。

0 投票
1 回答
2654 浏览

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.

0 投票
1 回答
1662 浏览

cmake - CPack:如何执行多个 CPACK_NSIS_EXTRA_INSTALL_COMMANDS?

我正在使用 CMake 2.8.11.2、CPack 和 NSIS 编写安装程序。我到了需要调用 MSVCR 等子安装程序的地步。这是我的 CMakeLists.txt 的样子:

但是,生成的 .nsi 文件包含以下(单)行

这导致生成包时出现错误“ExecWait 需要 1-2 个参数,得到 6 个”。

如何正确地将多个额外命令传递给 NSIS?

0 投票
2 回答
915 浏览

cmake - 仅在 CPack 中将文件添加到 ARCHIVE 包

是否可以使用 CMake/CPack 仅将一些文件添加到 ARCHIVE 生成器?显然组件是这样做的,但我不知道怎么说“只将组件 X 添加到生成器 Y”。我做了这样的事情:

INSTALL(FILES somefile DESTINATION "." COMPONENT static)

但是如何将static组件仅添加到 ARCHIVE 而不添加到 DEB 和 RPM 等其他生成器?

0 投票
1 回答
1025 浏览

windows - CMake/CPack 可以为单个项目生成多个 NSIS 安装程序吗?

我有一个项目(带有子项目),我想为其生成多个 NSIS 安装程序可执行文件,而不是在单个 NSIS 安装程序中列出多个组件。这可能吗?还是我需要将我的代码组织到单独的项目中?

0 投票
1 回答
4282 浏览

c++ - CPack 多个具有自己依赖项的包

我在使用 CPack 和 CMake 创建两个 debian 包时遇到问题。我已经完成了这里的示例,并且我确实设法创建了两个不同的 debian 包,但我希望它们每个都有自己的依赖项。结果 CMakeLists.txt 如下:

注意dummy_main1 和 dummy_main2 使 shlibdeps 工作,因为每个包至少需要一个可执行文件)。

我的目标是创建 2 个具有不同依赖项的不同 debian 包,例如:

但我没有找到 CPACK 宏来做到这一点。我已经阅读了很多论坛和文档,但没有一个我测试过的对我有用。CPACK_DEBIAN_PACKAGE_DEPENDS 宏工作正常,但它为两个包设置了相同的依赖项。有什么方法可以实现我的目标吗?我正在使用 CMake 2.8 来执行此操作。

谢谢!

0 投票
0 回答
207 浏览

windows - 为什么 CMake 试图将我的目标安装到绝对路径?

我有:

MyPlugin 是一个库目标。在 Windows 8.1 CMake (3.4.0-rc2) 上,无论我做什么,都会尝试将我的库安装到 C:/Program Files/[PROJECT]/bin/。我怎样才能强制它在本地安装,以便我可以用 CPack 制作一个包?我有点困惑,因为这之前没有任何问题。

CMAKE_INSTALL_PREFIX 似乎对此没有任何影响。

0 投票
0 回答
350 浏览

cmake - 如何检查 CMake 安装脚本是否正在由 CPack 运行?

我想检测我install(SCRIPT script.cmake)是在 CPack( make package) 下运行还是常规运行make install。我试过使用:

0 投票
1 回答
2435 浏览

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 指令?