我使用CMake的生成構建文件的跨平臺遊戲,並希望在某一批量的Info.plist文件定製的MacOS捆綁與CMake的
這裏指定自定義NSMainNibFile
和NSPrincipalClass
值Info.plist文件的相關部分我Info.plist.in模板:
<key>NSMainNibFile</key>
<string>${MAIN_NIBFILE}</string>
<key>NSPrincipalClass</key>
<string>${PRINCIPAL_CLASS}</string>
我在做什麼,我的CMakeLists.txt是:
set_target_properties(GLWindow PROPERTIES
MACOSX_BUNDLE_BUNDLE_NAME "OpenGL Test"
MAIN_NIBFILE "MainMenu"
PRINCIPAL_CLASS "NSApplication")
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/CMake/Info.plist.in)`
如果我得到了MAIN_NIBFILE
屬性爲目標,它會按預期返回MainMenu,但實際生成的Info.plist爲空。
但是...
如果我全局設置這些變量,它工作正常。
# I would prefer to set these at target scope,
# but it doesn't bloody work!
set(MAIN_NIBFILE "MainMenu")
set(PRINCIPAL_CLASS "NSApplication")
我失去了一些東西在這裏還是這是CMake的的限制或如何處理的MacOS捆綁?
這可以說明一些原因。我不敢相信我沒有拿起關於配置模板的一點(使用configure_file)。 無論如何我可以解決它,我只需要在plist中爲某些工具指定XIB文件和NSApplication子類。 –