MACOSX_PACKAGE_LOCATION¶
将源文件放置在应用程序包内(MACOSX_BUNDLE
)、核心基础框架包(BUNDLE
)或框架包(FRAMEWORK
)中。它适用于 macOS 和 iOS。
具有 MACOSX_BUNDLE
属性集的可执行目标在 Apple 平台上构建为 macOS 或 iOS 应用程序包。具有 FRAMEWORK
属性集的共享库目标在 Apple 平台上构建为 macOS 或 iOS 框架。具有 BUNDLE
属性集的模块库目标在 Apple 平台上构建为 macOS CFBundle
包。在目标中列出的具有此属性集的源文件将复制到由属性值指定的包或框架内容文件夹内的目录中。对于 macOS 应用程序包,内容文件夹为 <name>.app/Contents
。对于 macOS 框架,内容文件夹为 <name>.framework/Versions/<version>
。对于 macOS CFBundles,内容文件夹为 <name>.bundle/Contents
(除非更改了扩展名)。请参阅 PUBLIC_HEADER
、PRIVATE_HEADER
和 RESOURCE
目标属性,以指定用于 Headers
、PrivateHeaders
或 Resources
目录的文件。
如果指定的位置等于 Resources
,则结果位置将与使用 RESOURCE
属性相同。如果指定的位置是 Resources
的子文件夹,则它将被放置到相应的子文件夹中。注意:对于 iOS,Apple 使用平面包布局,其中不存在 Resources
文件夹。因此,CMake 从指定的位置中剥离 Resources
文件夹名称。