✨ Add multiple layered static libraries
Examples of Swift Package Manager
Simple (automatically generated) modulemap
. ├── Sources │ ├── CHello │ │ └── include │ └── Simple └── Tests └── SimpleTests
One of Clang package (CHello) linked another C static library (libhello/lib/libhello.a)
CHello
libhello/lib/libhello.a
libhello.a
. ├── Sources │ ├── CHello │ │ ├── include │ │ └── src │ ├── Staticlib │ └── libhello │ ├── bin │ ├── example │ ├── include │ ├── lib │ ├── src │ └── tmp └── Tests └── StaticlibTests
Cpp called from extern linkage C header
. ├── Sources │ ├── CLinkage │ └── CppHello │ └── include └── Tests └── CLinkageTests
. ├── Sources │ ├── ObjcHello │ │ └── include │ └── Simple └── Tests └── SimpleTests
. ├── Sources │ └── GitHubLib └── Tests └── GitHubLibTests
. ├── Sources │ ├── FooBar │ │ ├── Sources │ │ │ ├── Bar │ │ │ ├── Foo │ │ │ └── FooBar │ │ └── Tests │ │ └── FooBarTests │ └── MultiLayer └── Tests └── MultiLayerTests
. ├── Sources │ ├── Bar │ ├── Foo │ └── MultiModule └── Tests └── MultiModuleTests
. ├── Sources │ └── Simple └── Tests └── SimpleTests
$ make test
$ make clean
SwiftPMExamples
Examples of Swift Package Manager
Use Clang
Simple
Simple (automatically generated) modulemap
Targets
tree
Staticlib
One of Clang package (
CHello
) linked another C static library (libhello/lib/libhello.a
)Targets
libhello.a
)tree
Use Cpp
CLinkage
Cpp called from extern linkage C header
Targets
tree
Use Objc
Simple
Targets
tree
Swift only
GitHubLib
Targets
tree
MultiLayer
Targets
tree
MultiModule
Targets
tree
Simple
Targets
tree
For Developers
Test
Clean