带有 C 文件的 Cmake Swift 框架 - 设置目标成员资格和属性

Cmake Swift framework with C files - setting target membership and properties

提问人:Anton Unt 提问时间:1/4/2023 更新时间:1/4/2023 访问量:182

问:

我正在尝试构建一个结合了 swift 和 C 文件的框架,并使用 cmake 生成 XCode 项目:

使用此命令生成项目后:

add_library(MyLibrary STATIC ${FLAT_LIBRARY_FILES})
set_target_properties(MyLibrary PROPERTIES
    FRAMEWORK TRUE
    MACOSX_FRAMEWORK_IDENTIFIER com.MyLibrary.MyLibrary
    # "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 MyLibrary.h
    DEFINES_MODULE YES
    XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer")

使用命令:

cmake -G Xcode -B ./build/sdk/ios ./sdk/ios

但是在生成此项目后,我仍然需要执行以下操作才能为 iOS 构建库:

  1. 将 iOS 添加为平台
  2. 将 swift 文件添加到目标(C 文件已正确添加到目标)
  3. 设置为 truedefines_module
  4. 设置swift_version
  5. 取消选中目标中的测试文件
  6. 将标头设为公共

关于处理这种情况的文档很少,我尝试了各种我能够找到的 set() 命令,但没有成功。我该如何处理?

ios swift cmake 静态库 ios 框架

评论


答: 暂无答案