框架

在 macOS 和 iOS 上将 SHAREDSTATIC 库构建为框架包。

如果此类库目标将此属性设置为 TRUE,那么它将在在 macOS 和 iOS 上构建时构建为一个框架。它将具有框架所需的目录结构,并且适合与 -framework 选项一起使用。如果在创建目标时设置了 CMAKE_FRAMEWORK 变量的值,则此属性将由该值初始化。

如要在框架中自定义 Info.plist 文件,请使用 MACOSX_FRAMEWORK_INFO_PLIST 目标属性。

对于 macOS,还可以参见 FRAMEWORK_VERSION 目标属性。

创建 dynamicFramework 的示例

add_library(dynamicFramework SHARED
            dynamicFramework.c
            dynamicFramework.h
)
set_target_properties(dynamicFramework PROPERTIES
  FRAMEWORK TRUE
  FRAMEWORK_VERSION C
  MACOSX_FRAMEWORK_IDENTIFIER com.cmake.dynamicFramework
  MACOSX_FRAMEWORK_INFO_PLIST Info.plist
  # "current version" in semantic format in Mach-O binary file
  VERSION 16.4.0
  # "compatibility version" in semantic format in Mach-O binary file
  SOVERSION 1.0.0
  PUBLIC_HEADER dynamicFramework.h
  XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer"
)