Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • CMake CMake
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 4,101
    • Issues 4,101
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 15
    • Merge requests 15
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • CMakeCMake
  • CMakeCMake
  • Issues
  • #21752
Closed
Open
Issue created Jan 28, 2021 by Anatoliy V. Tomilov@tomilov

Add support for linking to xcframeworks

Currently it is impossible to generate -G Xcode project, having dependencies on *.xcframeworks. Neither find_library (with PATH_SUFFIXES xcframework) nor add_library works correctly with xcframeworks. In case of add_library manually specified xcframework just passed to linker as is, which is wrong. Actually Xcode does the next:

builtin-process-xcframework --xcframework /Users/anatoliy.tomilov/Documents/Projects/vulkansdk-macos-1.2.162.1/MoltenVK/MoltenVK.xcframework --platform ios --target-path /Users/anatoliy.tomilov/Documents/Projects/build-project/bin/Debug

The magic behind builtin-process-xcframework Xcode command seems simple: it just select subdirs of xcframework in accordance with selected ARCHS and copies static libraries from them into the build directory. Link command just have: -lMoltenVK argument.

Edited Feb 08, 2021 by Craig Scott
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking