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

时间:2009-11-24 20:13:19

标签: iphone macos plist cmake

我正在尝试添加项目

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

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

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像以前一样生成所有内容,只需添加一条额外的行。我该怎么办?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:-2)

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

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