7

我正在尝试添加项目

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

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

set(MACOSX_BUNDLE_ICON_FILE ${ICON})

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

我尝试MACOSX_BUNDLE_INFO_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 像以前一样生成所有内容,然后添加一个额外的行。我能做些什么?

4

2 回答 2

6

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

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

于 2010-04-14T15:51:21.040 回答
-2

您可以使用@ 添加您的值并将@ONLY 传递给configure_file。

不幸的是,没有简单的方法可以将自定义行添加到生成的文件中。

于 2009-12-14T22:34:13.283 回答