使用cmake指定Info.plist NSPrincipalClass的方法

时间:2014-11-28 04:12:23

标签: macos cmake

我对cmake很新,我尝试使用它来构建os x应用程序,我遇到的问题是我需要在Info.plist中指定NSPrincipalClass才能够发动它。 (否则我得到"应用程序包中没有Info.plist文件或Info.plist文件中没有NSPrincipalClass"错误)。问题是使用cmake MACOSX_BUNDLE_xxx变量无法做到这一点。

我可能会使用一些解决方法,比如脚本会在构建之后添加它或类似的东西但是有更好的方法吗?我也可以修改默认的plist模板,但是有没有办法将它包含在项目仓库中,所以不需要在每台机器上或在重新安装cmake等之后修改它?

1 个答案:

答案 0 :(得分:1)

我已经解决了这个问题。我已经创建了自己的模板(文件名是MacOSXBundleInfo.plist.in)把它放到项目根目录下的cmake / modules /文件夹中,从那里唯一的想法是添加

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")

进入你的CMakeLists.txt