Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 使用cmake指定Info.plist NSPrincipalClass的方法_Macos_Cmake - Fatal编程技术网

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

Macos 使用cmake指定Info.plist NSPrincipalClass的方法,macos,cmake,Macos,Cmake,我对cmake非常陌生,我正在尝试使用它构建os x应用程序,我面临的问题是,我需要在Info.plist中指定NSPrincipalClass才能启动它。(否则会出现“应用程序包中没有Info.plist文件或Info.plist文件中没有NSPrincipalClass”错误)。问题是,使用cmake MACOSX\u BUNDLE\u xxx变量无法实现这一点 我可能可以使用一些变通方法,比如在构建后添加脚本或者类似的东西,但是有更好的方法吗?我也可能会修改默认的plist模板,但有没有办

我对cmake非常陌生,我正在尝试使用它构建os x应用程序,我面临的问题是,我需要在Info.plist中指定NSPrincipalClass才能启动它。(否则会出现“应用程序包中没有Info.plist文件或Info.plist文件中没有NSPrincipalClass”错误)。问题是,使用cmake MACOSX\u BUNDLE\u xxx变量无法实现这一点


我可能可以使用一些变通方法,比如在构建后添加脚本或者类似的东西,但是有更好的方法吗?我也可能会修改默认的plist模板,但有没有办法将其包含在project repo中,这样就不需要在每台机器上或在重新安装cmake等后对其进行修改?

我已经解决了这个问题。我已经创建了自己的模板(文件名为MacOSXBundleInfo.plist.in),将其放入项目根目录中的cmake/modules/folder中,从那里只剩下添加

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

我被这个问题弄糊涂了。如果不在.plist文件中指定
NSPrincipalClass
,使CMake提供的默认.plist文件模板几乎毫无用处,我不知道有什么方法可以实现OS X应用程序……对我来说几乎是一样的,不确定它是否有意义。。。