代码之家  ›  专栏  ›  技术社区  ›  Jesse Beder

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

  •  7
  • Jesse Beder  · 技术社区  · 15 年前

    我正在尝试添加项目

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

    到我的上皮,这是自动生成的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_符号, 期望(47)

    未设置策略cmp0010:错误 变量引用语法错误。 运行“cmake--帮助策略cmp0010” 有关策略详细信息。使用 cmake_policy命令设置 策略并禁止此警告。这个 警告是针对项目开发人员的。 使用-wno dev抑制它。

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

    2 回复  |  直到 9 年前
        1
  •  6
  •   congusbongus piRSquared    9 年前

    你研究过复制相关的 *.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

        2
  •  -2
  •   Michal Čihař    15 年前

    您可以使用@和pass@只添加值以配置\u文件。

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