Iphone 如何使用CMake添加额外的plist属性?
我正在尝试添加项目Iphone 如何使用CMake添加额外的plist属性?,iphone,macos,plist,cmake,Iphone,Macos,Plist,Cmake,我正在尝试添加项目 <key>UIStatusBarHidden</key><true/> 但是我找不到添加任意属性的方法 我尝试使用MACOSX\u BUNDLE\u INFO\u PLISTtarget属性,如下所示:我希望生成的PLIST与旧PLIST相同,除了我想要的新属性之外,所以我只是复制了自动生成的PLIST并将其设置为我的模板。但是plist使用了一些Xcode变量,它们看起来也像${foo},CMake对此抱怨不已: 发生错误时,cmake
<key>UIStatusBarHidden</key><true/>
但是我找不到添加任意属性的方法
我尝试使用MACOSX\u BUNDLE\u INFO\u PLIST
target属性,如下所示:我希望生成的PLIST与旧PLIST相同,除了我想要的新属性之外,所以我只是复制了自动生成的PLIST并将其设置为我的模板。但是plist使用了一些Xcode变量,它们看起来也像${foo}
,CMake对此抱怨不已:
发生错误时,cmake代码中出现语法错误
解析字符串
<string>com.bedaire.${PRODUCT_NAME:identifier}</string>
com.bedaire.${PRODUCT\u NAME:identifier}
语法错误,意外的cal_符号,
期待}(47)
未设置策略CMP0010:错误
变量引用语法是一个错误。
运行“cmake--帮助策略CMP0010”
有关政策详情,请参阅。使用
cmake_策略命令,用于设置
策略并抑制此警告。这
警告是给项目开发者的。
使用-Wno-dev来抑制它
无论如何,我甚至不确定这样做是否正确。我找不到关于这方面的好例子或好文档。理想情况下,我会让CMake像以前一样生成所有内容,并只添加一行额外的内容。我能做什么?您可以使用@和pass@添加值,仅用于配置\u文件
不幸的是,没有简单的方法将自定义行添加到生成的文件中。您是否考虑过在
/opt/local/share/cmake-2.8/Modules
(例如MacOSXBundleInfo.plist.in
)中复制.UIStatusBarHidden
(或@VAR\u以替换),并将编辑版本的目录添加到CMAKE_模块_路径
如果您已将CMake作为应用程序包安装,则该文件的位置为/Applications/CMake.app/Contents/share/CMake-N.N/Modules
您所说的“使用@添加您的值”是什么意思;此外,我不会在任何地方调用configure\u file
。plist当前是自动生成的。啊,我想这就是为什么会出现错误的原因。那你从哪里弄来的?谢谢!我有一段时间没有注意到这个答案,但它太棒了!(我不知道那些*.plist.甚至存在于文件中。FWIW,我创建了自己的一个(基于MacOSXBundleInfo.plist.in
),并将目标上的MACOSX BUNDLE\u INFO\u plist
属性设置为新属性。)仅供参考:看起来
中的MacOSXBundleInfo.plist.in已移动到/Applications/CMake 2.8-10.app/Contents/share/CMake-2.8/Modules
。。。或者可能有不同的CMake安装选项来决定这些文件的最终位置。
<string>com.bedaire.${PRODUCT_NAME:identifier}</string>