mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 03:20:18 +00:00
add ios xcframework build
This commit is contained in:
parent
0480919906
commit
957f037b8d
12
.github/workflows/main.yml
vendored
12
.github/workflows/main.yml
vendored
@ -146,16 +146,12 @@ jobs:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Compile Static Library
|
||||
- name: Compile Frameworks
|
||||
run: |
|
||||
git clone https://github.com/leetal/ios-cmake --depth 1
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -G Xcode -DCMAKE_TOOLCHAIN_FILE=../ios-cmake/ios.toolchain.cmake -DPLATFORM=OS64COMBINED .. -DPK_BUILD_STATIC_LIB=ON -DPK_USE_CJSON=ON -DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build . --config Release
|
||||
cd ..
|
||||
git clone https://github.com/leetal/ios-cmake --depth 1 ~/ios-cmake
|
||||
bash build_ios.sh
|
||||
mkdir -p output/ios
|
||||
cp -r build/Release-iphoneos/pocketpy.framework output/ios/pocketpy.framework
|
||||
cp -r build/pocketpy.xcframework output/ios/pocketpy.xcframework
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
path: output
|
||||
|
@ -49,22 +49,26 @@ endif()
|
||||
if(PK_BUILD_SHARED_LIB)
|
||||
add_library(${PROJECT_NAME} SHARED ${POCKETPY_SRC})
|
||||
elseif(PK_BUILD_STATIC_LIB)
|
||||
add_library(${PROJECT_NAME} STATIC ${POCKETPY_SRC})
|
||||
|
||||
# build xcframework for iOS
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "iOS")
|
||||
set(
|
||||
HEADERS
|
||||
${CMAKE_CURRENT_LIST_DIR}/include/pocketpy/pocketpy_c.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/include/pocketpy/export.h
|
||||
)
|
||||
add_library(${PROJECT_NAME} STATIC ${POCKETPY_SRC} ${HEADERS})
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||
FRAMEWORK TRUE
|
||||
FRAMEWORK_VERSION CXX
|
||||
MACOSX_FRAMEWORK_IDENTIFIER dev.pocketpy
|
||||
# MACOSX_FRAMEWORK_INFO_PLIST Info.plist
|
||||
# "current version" in semantic format in Mach-O binary file
|
||||
VERSION 1.4.3
|
||||
# "compatibility version" in semantic format in Mach-O binary file
|
||||
SOVERSION 1.4.3
|
||||
PUBLIC_HEADER pocketpy.h
|
||||
PUBLIC_HEADER "${HEADERS}"
|
||||
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "iPhone Developer"
|
||||
)
|
||||
else()
|
||||
add_library(${PROJECT_NAME} STATIC ${POCKETPY_SRC})
|
||||
endif()
|
||||
else()
|
||||
add_library(${PROJECT_NAME} SHARED ${POCKETPY_SRC})
|
||||
|
18
build_ios.sh
Normal file
18
build_ios.sh
Normal file
@ -0,0 +1,18 @@
|
||||
rm -rf build
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
FLAGS="-DCMAKE_TOOLCHAIN_FILE=~/ios-cmake/ios.toolchain.cmake -DPK_BUILD_STATIC_LIB=ON -DDEPLOYMENT_TARGET=13.0"
|
||||
|
||||
cmake -B os64 -G Xcode -DPLATFORM=OS64 $FLAGS ..
|
||||
cmake --build os64 --config Release
|
||||
|
||||
cmake -B simulator64 -G Xcode -DPLATFORM=SIMULATOR64 $FLAGS ..
|
||||
cmake --build simulator64 --config Release
|
||||
|
||||
xcodebuild -create-xcframework \
|
||||
-framework os64/Release-iphoneos/pocketpy.framework \
|
||||
-framework simulator64/Release-iphonesimulator/pocketpy.framework \
|
||||
-output pocketpy.xcframework
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user