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