[ios] expose explict module for c & cpp (#2906)

- standard user can import spine-c based api without c warning
- dedicated user can import cpp interface with explict import and enabling cpp interp
- objective-c user can not import cpp using objective-c++ without issue
This commit is contained in:
Byeong Gwan 2025-11-06 21:50:13 +09:00 committed by GitHub
parent 4191737c1c
commit a52100cd00
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 19 additions and 16 deletions

View File

@ -41,17 +41,8 @@ let package = Package(
name: "SpineC",
path: "spine-ios/Sources/SpineC",
sources: [
"spine-c/src/extensions.cpp",
"spine-c/src/generated",
"spine-cpp/src/spine",
],
publicHeadersPath: "spine-c/include",
cxxSettings: [
.headerSearchPath("spine-c/include"),
.headerSearchPath("spine-c/src"),
.headerSearchPath("spine-c/src/generated"),
.headerSearchPath("spine-cpp/include"),
.headerSearchPath("spine-cpp/src"),
"src",
"spine"
],
linkerSettings: [
.linkedLibrary("c++")

View File

@ -1,4 +1,13 @@
module SpineC {
header "spine-c.h"
export *
}
use c
export c
explicit module cpp {
umbrella header "spine/spine.h"
requires cplusplus11
export *
}
explicit module c {
header "spine-c.h"
export *
}
}

View File

@ -0,0 +1 @@
../../../../spine-c/include/module.modulemap

View File

@ -0,0 +1 @@
../../../../spine-cpp/include/spine

View File

@ -0,0 +1 @@
../../../../spine-c/include/spine-c.h

View File

@ -0,0 +1 @@
../../../spine-cpp/src/spine

View File

@ -1 +0,0 @@
../../../spine-c

View File

@ -1 +0,0 @@
../../../spine-cpp

View File

@ -0,0 +1 @@
../../../spine-c/src