MACOSX_PACKAGE_LOCATION

将源文件放置在应用程序包 (MACOSX_BUNDLE)、Core Foundation 包 (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 (除非扩展名已更改)。有关指定用于 HeadersPrivateHeadersResources 目录的文件的信息,请参阅 PUBLIC_HEADERPRIVATE_HEADERRESOURCE 目标属性。

如果指定的位置等于 Resources,则结果位置将与使用 RESOURCE 属性时的位置相同。如果指定的位置是 Resources 的子文件夹,则它将放置在相应的子文件夹中。注意:对于 iOS,Apple 使用扁平包布局,其中不存在 Resources 文件夹。因此,CMake 从指定的位置中剥离 Resources 文件夹名称。