【问题标题】:Using cmake to sign target使用 cmake 对目标进行签名
【发布时间】:2021-11-09 20:17:13
【问题描述】:

我想知道是否有任何特定命令可以为应用程序包甚至 macOS 中的单个可执行文件执行协同设计。到目前为止我发现的唯一方法是 使用通用的add_custom_command,但在 cmake 中可能有一个用于此目的的 ad-hoc 指令,它也是跨平台的(这意味着在 windows 中它将调用 signtool,而在 macOS/iPhone 中它将调用 codesign)

add_custom_command(TARGET myTarget POST_BUILD COMMAND ${CODESIGN_COMMANDLINE})

【问题讨论】:

  • 注意:我既不熟悉 macOS 包也不熟悉 codesign,但通常任何构建某种包的东西都由 cpack 处理;您可以使用 CPack Bundle Generator 使用捆绑包来实现所需的结果。链接的站点提到了一个 CPACK_BUNDLE_APPLE_CODESIGN_FILES 变量,这可能表明这个生成器可以为你工作,但由于我在这方面缺乏经验,我无法告诉自己(在 stackoverflow 问题上花费的精力比我多)我愿意)。

标签: cmake codesign signtool cpack


【解决方案1】:

CMake (CPack) 没有任何统一或跨平台的签名支持。

但是,从 CMake 3.19 开始,CPACK_POST_BUILD_SCRIPTS 变量可用于在 CPack 完成构建包后立即执行任何操作。例如,可以提供一个 CMake 脚本来使用任何工具对包进行签名。它只是使包签名的任何特殊自定义目标变得不必要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-16
    • 1970-01-01
    • 2017-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多