如何使用 CMake 添加额外的 plist 属性?

2024-02-15

我正在尝试添加该项目

<key>UIStatusBarHidden</key><true/>

到我的由 CMake 自动生成的 plist。对于某些键,似乎有预定义的方法来添加项目;例如:

set(MACOSX_BUNDLE_ICON_FILE ${ICON})

但我找不到添加任意属性的方法。

我尝试使用MACOSX_BUNDLE_INFO_PLIST目标属性如下:我希望生成的 plist 与旧的 plist 相同,除了我想要的新属性,所以我只是复制了自动生成的 plist 并将其设置为我的模板。但是 plist 使用了一些 Xcode 变量,它们也看起来像${foo},CMake 对此抱怨道:

cmake 代码中的语法错误 解析字符串

  <string>com.bedaire.${PRODUCT_NAME:identifier}</string>

语法错误,意外的 cal_SYMBOL, 期待} (47)

策略 CMP0010 未设置:错误 变量引用语法是错误的。 运行“cmake --help-policy CMP0010” 了解政策详情。使用 cmake_policy 命令设置 政策并抑制此警告。这 警告是针对项目开发人员的。 使用 -Wno-dev 来抑制它。

无论如何,我什至不确定这是否是正确的做法。我找不到关于此的好例子或任何好的文档。理想情况下,我只是让 CMake 像以前一样生成所有内容,然后添加一行额外的内容。我能做些什么?


您是否考虑过复制相关内容*.plist.in文件输入/opt/local/share/cmake-2.8/Modules(例如MacOSXBundleInfo.plist.in),编辑它以放置<key>UIStatusBarHidden</key><true/> (or @VAR_TO_REPLACE_BY_CMAKE@),并将编辑版本的目录添加到CMAKE_MODULE_PATH?

如果您将 CMake 作为应用程序包安装,则该文件的位置是/Applications/CMake.app/Contents/share/cmake-N.N/Modules

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 CMake 添加额外的 plist 属性? 的相关文章

随机推荐

  • CoreBluetooth 从不在 iPhone 5S 上调用 didDiscoverServices

    大多数时候 我们正在编写的应用程序与我们的 BLE 外设配合得很好 通常 对于 iPhone 5S 用户来说 设备会陷入恐慌 每当我们扫描服务时 didDiscoverServices 永远不会调用委托方法 重新启动设备或删除所有设置 常规
  • 自定义 IPython 笔记本/Jupyter 幻灯片放映

    我使用 IPython Notebook Jupyter 的幻灯片功能创建了一个幻灯片 效果很好 我通过以下方式创建并托管了幻灯片ipython nbconvert 这也很好用 但我找不到任何如何自定义幻灯片的信息 显然我必须定制Revea
  • 如何在 flutter/dart 中进行 SSL 公钥固定?

    这里对 Flutter 以及一般编程 来说相对较新 只熟悉更基本的东西 但我现在遇到了在 flutter dart 中使用 CertificatePinner 的需要 https square github io okhttp 3 x ok
  • t-sql子串

    我基本上有一列需要进行子串化 该列的格式如下所示 Column A Root FOLDERPATH somesubfolderpath somedocument doc 第一个字符串 Root 将始终具有相同的长度和相同的字符 Root 之
  • ORB 计算错误:它删除了小图像的所有关键点

    我有一个 50x50 的小图像 我找到 ORB 关键点 请注意 我必须将 patchSize 的默认参数从 31 更改为 14 才能检测到一些关键点 OrbFeatureDetector det 500 1 2f 8 14 0 2 0 14
  • 会话在 IHttpModule 中不可用

    在我的程序中 我尝试在 IHttpModule 中使用会话变量 这是我的代码 这在 VS 2010 开发服务器中运行良好 但是当我尝试在 IIS7 中调试时 它显示异常System Web HttpException Session sta
  • 打开工作簿时关闭 Excel 后台错误检查

    我有一个 Excel 工作簿 里面有很多绿色的 错误检查 三角形 有什么方法可以使用 Excel VBA 在打开工作簿时关闭此功能 我认为这就是您正在寻找的 Application ErrorCheckingOptions Backgrou
  • Mongodb 聚合框架解释

    MongoDB 中的聚合框架有解释函数吗 我在文档中看不到它 如果没有 是否有其他方法可以检查查询在聚合框架内的执行情况 我知道你只是做 db collection find explain 但是使用聚合框架时出现错误 db collect
  • 使用 OraOLEDB 提供商部署应用程序

    我开发了一个使用Delphi 7 ADO和ORACLE的应用程序 我使用的提供程序是OraOLEDB 我需要使用这个提供程序 因为BLOB字段支持 现在我想与提供商一起分发此应用程序 我在网上搜索下载甲骨文提供商 http www orac
  • 使用 LLVM pass 添加内在函数

    我使用 LLVM 通道向输入代码添加了一个内在函数 我能够看到内部调用 但我无法弄清楚如何将代码编译到我的目标架构 x86 64 我正在运行以下命令 clang llvm config ldflags libs all ff s o foo
  • GNU 编译器优化

    我对编译器了解不多 但知道它们足够复杂和智能 可以优化您的代码 假设我的代码如下所示 string foo bar for int i 0 i lt foo length i some code that does not modify t
  • 从 Rails 应用程序(Word、PDF、Excel 等)搜索附件

    我在 Stack Overflow 上发表的第一篇文章 请温柔一点 我即将为客户启动一个新的 Ruby on Rails 3 1 项目 他们的要求之一是有一个搜索引擎 该引擎将索引大约 2 000 个文档 这些文档是 PDF Word Ex
  • 让 TortoiseSVN 将文件的修改时间设置为最新修订的时间戳

    我似乎记得能够得到乌龟SVN http en wikipedia org wiki TortoiseSVN在执行更新时将文件的上次修改时间戳设置为修订版的时间戳 因此 如果有人五天前提交了一个文件并且我更新了它 则修改后的时间戳将是五天前
  • 如何在没有密码的情况下使用paramiko连接到远程服务器?

    我正在用 Python 编写一个脚本 需要连接到remote server使用 SSH 并移动file from remote server to host server 我需要在没有密码的情况下执行此操作 因为它需要适用于任何远程服务器和
  • Varnish:清除说它有效,但不会删除旧内容

    我正在 Digital Ocean Ubuntu VM 上运行一个独立的 varnish 实例 它基本上工作正常 该设置用于承担位于其他地方的旧 WordPress 服务器的负载 这很有效 但我很难清除内容 当谈论清除时 我的意思是使 UR
  • 使用 SWIG,如何将 C++ void func(Class& out) 包装为 C# Class func()?

    不幸的是 SWIG 的文档非常难以解析 而且在线示例似乎很少 所以我来到这里 假设 C 函数对类类型使用以下典型返回样式 void func Class out 使用 SWIG 这个函数应该像这样用 C 包装 Class func 根据我的
  • 是否有使用 C# + ASP.NET 实现国际化的基本教程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何调试 CMakeLists.txt 文件?

    我该如何调试CMakeLists txt文件 至少做诸如列出变量之类的事情 而不仅仅是使用the message command https cmake org cmake help latest command message html
  • 如何修复 C++ 中的“对 Array::Array(unsigned long) 的未定义引用”? [复制]

    这个问题在这里已经有答案了 我有一个用于对 char 数组进行排序的类 其中一个构造函数采用参数 size t 长度 当我向它传递 int 类型的长度并尝试编译时 出现错误 driver cpp text 0x2c 对 Array Arra
  • 如何使用 CMake 添加额外的 plist 属性?

    我正在尝试添加该项目