Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
e20435e
basic objc wrapper to use kmp on ios
maerki Jan 25, 2026
3d46afc
kmp: extract mapcore module
maerki Jan 26, 2026
534004d
kmp: set group id
maerki Jan 26, 2026
26a8e5e
kmp: move sources to kmp directory
maerki Jan 26, 2026
1ea9d5a
kmp: inline plugin and dependency versions
maerki Jan 26, 2026
f1fab04
kmp: add settings with plugin repos
maerki Jan 26, 2026
f278462
kmp: define iosMain source set
maerki Jan 26, 2026
a616aad
kmp: wire iosMain and enable AndroidX
maerki Jan 26, 2026
79b0230
mapcore: update font loader bundle path
maerki Jan 26, 2026
fff55ff
mapcore: add resource bundle registry
maerki Jan 26, 2026
bf65b31
gradle + ignore
maerki Jan 26, 2026
2c69123
kmp: simplify map interop api
maerki Jan 26, 2026
e1708f5
kmp: align expect/actual for camera and raster
maerki Jan 26, 2026
1b28149
kmp: align camera parameter names
maerki Jan 26, 2026
06f33ba
kmp: fix camera expect/actual members
maerki Jan 26, 2026
1bb478b
kmp: remove redundant layer cast
maerki Jan 26, 2026
573ad12
kmp: make GpsLayerHandle public
maerki Jan 26, 2026
a4f3341
fix(kmp): add ios arm64 cinterop and spm fallback
maerki Jan 26, 2026
09becdb
fix(kmp): avoid duplicate spm task registration
maerki Jan 26, 2026
328de4c
update gradle
maerki Jan 27, 2026
0a644ec
remove dependsOn
maerki Jan 27, 2026
555bd91
targetHierarchy.default()
maerki Jan 27, 2026
c37b8e6
improve kmp setup
maerki Jan 27, 2026
7fa2487
configure tasks
maerki Jan 27, 2026
f7ba2ae
kmp: opt in to ExperimentalForeignApi for Coord
maerki Jan 27, 2026
3c6206c
kmp: opt in to ExperimentalForeignApi in iosMain
maerki Jan 27, 2026
173c8dd
kmp: drop redundant ExperimentalForeignApi opt-in
maerki Jan 27, 2026
fa80dbb
Adjust android multiplatform plugin version, adjust minSDK for android
maurhofer-ubique Jan 28, 2026
aa3b2f7
ignore .kotlin
maerki Jan 28, 2026
f05d8a7
update bridging
maerki Jan 31, 2026
dbe294f
fix: kmp ios nativeHandle access
maerki Jan 31, 2026
a1c7a09
fix: kmp ios wrappers and camera config
maerki Jan 31, 2026
149107a
fix: kmp ios camera listener signatures
maerki Jan 31, 2026
1a747dc
chore: clean ios warnings
maerki Jan 31, 2026
88623d0
fix: publish android variants for kmp
maerki Jan 31, 2026
f713d7e
fix: publish android variants with androidTarget
maerki Jan 31, 2026
9caebb2
fix: use com.android.library for kmp android
maerki Jan 31, 2026
0c35b88
fix: suppress androidTarget deprecation and set minSdk
maerki Jan 31, 2026
9938df1
chore: apply maven-publish for kmp
maerki Jan 31, 2026
8236e78
chore: align agp to 8.12.0
maerki Jan 31, 2026
e7dedf9
fix: android camera config wrappers
maerki Jan 31, 2026
1bf04fd
fix: expose gps layer impl and clean warning
maerki Jan 31, 2026
c3fdd24
better kmp setup
maerki Feb 2, 2026
8e0356c
simplify kmp setup
maerki Feb 3, 2026
82c56e0
better kmp setup
maerki Feb 4, 2026
931ee5f
improved spmforkmp setup
maerki Feb 5, 2026
ef37039
simpler kmp setup
maerki Feb 5, 2026
81a84cf
delete outdated specs
maerki Feb 5, 2026
65a520c
less warnings
maerki Feb 5, 2026
fd83b08
update generated files
maerki Feb 5, 2026
0022eb1
remove duplicates
maerki Feb 5, 2026
1c64c86
allow cache
maerki Feb 5, 2026
27c8ccc
fix(kmp): convert KMPromise results
maerki Feb 5, 2026
40ac705
improved interopt
maerki Feb 5, 2026
79960d4
setup fixes
maerki Feb 6, 2026
7ed9bad
update djinni
maerki Feb 6, 2026
4de0b7d
Merge branch 'main' into feature/kmp
maerki Feb 6, 2026
ecaeb74
fix merge issues
maerki Feb 6, 2026
cbbd08c
fix android issues
maerki Feb 6, 2026
b5cdb24
dont build ios for android
maerki Feb 6, 2026
d6e5418
Update djinni to remove requireNotNull in KMP non-nullable cast
maurhofer-ubique Feb 9, 2026
833284f
Add Android interop functions, update djinni and generated files to e…
maurhofer-ubique Feb 10, 2026
9a5690a
Fix conflicting overloads in KMFuture
maurhofer-ubique Feb 10, 2026
11a884c
Adjust build options for release builds
maurhofer-ubique Feb 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -89,3 +89,6 @@ DerivedData/
compile_commands.json

cmake-build-test
/local.properties
/.gradle
.kotlin
11 changes: 10 additions & 1 deletion Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,17 @@ let package = Package(
products: [
.library(
name: "MapCore",
type: .dynamic,
targets: ["MapCore"]
),
.library(
name: "MapCoreSharedModule",
type: .static,
targets: ["MapCoreSharedModule"]
),
.library(
name: "MapCoreSharedModuleCpp",
type: .static,
targets: ["MapCoreSharedModuleCpp"]
),
],
Expand Down Expand Up @@ -131,7 +134,12 @@ let package = Package(
"MapCoreSharedModuleCpp"
],
path: "bridging/ios",
publicHeadersPath: ""
publicHeadersPath: "",
linkerSettings: [
.linkedFramework("Foundation"),
.linkedFramework("CoreFoundation"),
.linkedLibrary("objc"),
]
),
.target(
name: "MapCoreSharedModuleCpp",
Expand All @@ -146,6 +154,7 @@ let package = Package(
cxxSettings: [
.headerSearchPath("public"),
.headerSearchPath("src"),
.headerSearchPath("../external/djinni/support-lib/objc"),
.headerSearchPath("src/external/pugixml"),
.headerSearchPath("src/external/gpc"),
.headerSearchPath("src/logger"),
Expand Down
12 changes: 7 additions & 5 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ buildscript {
}

ext{
agp_version = "8.13.1"
agp_version = "8.13.2"
kotlin_version = "2.2.0"
ksp_version = "2.2.0-2.0.2"
}
Expand Down Expand Up @@ -62,7 +62,7 @@ android {
externalNativeBuild {
cmake {
arguments "-DANDROID_STL=c++_shared", "-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON"
cppFlags "-std=c++17 -frtti -fexceptions -O2"
cppFlags "-std=c++17 -frtti -fexceptions"
}
}
}
Expand Down Expand Up @@ -102,14 +102,16 @@ android {
debug {
externalNativeBuild {
cmake {
cppFlags "-DDEBUG"
arguments "-DCMAKE_BUILD_TYPE=Debug"
cppFlags "-DDEBUG -O0 -g"
}
}
}
release {
externalNativeBuild {
cmake {
cppFlags "-DNDEBUG"
arguments "-DCMAKE_BUILD_TYPE=Release"
cppFlags "-DNDEBUG -O2 -g0"
}
}
ndk {
Expand Down Expand Up @@ -208,4 +210,4 @@ clean.doLast {
project.delete("${projectDir}/build")
project.delete("${projectDir}/.cxx")
project.delete("${projectDir}/.gradle")
}
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading