Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow configuring iOS build with CMake #3234

Merged
merged 23 commits into from
Feb 28, 2025
Merged

Conversation

louwers
Copy link
Collaborator

@louwers louwers commented Feb 17, 2025

  • Allows configuring Xcode with CMake for iOS builds.
  • Add new job to ios-ci that builds the mbgl-core, ios-sdk-static and app CMake targets for iOS.
  • Move some files that are implementations for the core to platform/darwin/core to better separate out the iOS SDK.
  • Fix some build issues (unused/uninitialized variables).
  • Add license for SMCalloutView.
  • Fix typo MLN_PUBLIC_IOS_APP_SOPURCE.
  • Update MapLibre Developer Documentation to reflect changes in this PR.
  • Remove some unused files.
  • Add CMakePresets.json. Other platforms will be added in a follow-up PR. Info here: https://martin-fieber.de/blog/cmake-presets/

@louwers louwers requested a review from alexcristici February 17, 2025 15:32
Copy link

github-actions bot commented Feb 17, 2025

Bloaty Results 🐋

Compared to main

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  [ = ]       0  -0.0%     -24    TOTAL

Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/bloaty-results/pr-3234-compared-to-main.txt

Compared to d387090 (legacy)

    FILE SIZE        VM SIZE    
 --------------  -------------- 
   +31% +36.2Mi  +438% +26.2Mi    TOTAL

Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/bloaty-results/pr-3234-compared-to-legacy.txt

Copy link

github-actions bot commented Feb 17, 2025

Benchmark Results ⚡

Benchmark                                                     Time             CPU      Time Old      Time New       CPU Old       CPU New
------------------------------------------------------------------------------------------------------------------------------------------
OVERALL_GEOMEAN                                            -0.0013         -0.0016             0             0             0             0

Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/benchmark-results/pr-3234-compared-to-main.txt

Copy link

github-actions bot commented Feb 18, 2025

Bloaty Results (iOS) 🐋

Compared to main

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.0%      +8  [ = ]       0    TOTAL

Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/bloaty-results-ios/pr-3234-compared-to-main.txt

@louwers louwers changed the title Allow configuring iOS build with CMake again Allow configuring iOS build with CMake Feb 23, 2025
@louwers louwers requested a review from cgalvan February 23, 2025 01:18
@TimSylvester
Copy link
Collaborator

I had to upgrade to the latest CMake, maybe the cmake_minimum_required should be increased?

The Team ID QMC7N4BDVZ is embedded in platform/ios/app/CMakeLists.txt. I guess that needs to come from a config file like config.bzl or environment variable.

@louwers
Copy link
Collaborator Author

louwers commented Feb 25, 2025

@TimSylvester Yes if you use the CMakePresets.json you need CMake 3.31.

@TimSylvester That's the one on CI. Yes I'll fix that.

@louwers louwers enabled auto-merge (squash) February 26, 2025 11:49
@louwers louwers merged commit b09235b into maplibre:main Feb 28, 2025
52 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants