blueloveTH преди 4 месеца
родител
ревизия
2e99fbcd97
променени са 5 файла, в които са добавени 56 реда и са изтрити 17 реда
  1. 28 14
      .github/workflows/main.yml
  2. 3 2
      build_android_libs.sh
  3. 17 0
      build_darwin_libs.sh
  4. 6 1
      build_ios_libs.sh
  5. 2 0
      plugins/flutter/pocketpy/src/CMakeLists.txt

+ 28 - 14
.github/workflows/main.yml

@@ -102,7 +102,7 @@ jobs:
         run: python scripts/run_tests.py benchmark
       - name: Test Amalgamated Build
         run: python amalgamate.py
-  build_android:
+  build_android_libs:
       runs-on: ubuntu-latest
       steps:
       - uses: actions/checkout@v4
@@ -116,9 +116,9 @@ jobs:
           add-to-path: false
       - name: Compile Shared Library
         run: |
-          bash build_android.sh arm64-v8a
-          bash build_android.sh armeabi-v7a
-          bash build_android.sh x86_64
+          bash build_android_libs.sh arm64-v8a
+          bash build_android_libs.sh armeabi-v7a
+          bash build_android_libs.sh x86_64
 
           mkdir -p output/arm64-v8a
           mkdir -p output/armeabi-v7a
@@ -133,7 +133,7 @@ jobs:
         with:
           name: android
           path: output
-  build_ios:
+  build_darwin_libs:
       runs-on: macos-latest
       steps:
       - uses: actions/checkout@v4
@@ -141,8 +141,22 @@ jobs:
           submodules: recursive
       - name: Compile Frameworks
         run: |
-          git clone https://github.com/leetal/ios-cmake --depth 1 ~/ios-cmake
-          bash build_ios.sh
+          bash build_darwin_libs.sh
+          mkdir -p output
+          cp build/Release/libpocketpy.a output/libpocketpy.a
+      - uses: actions/upload-artifact@v4
+        with:
+          name: darwin
+          path: output
+  build_ios_libs:
+      runs-on: macos-latest
+      steps:
+      - uses: actions/checkout@v4
+        with:
+          submodules: recursive
+      - name: Compile Frameworks
+        run: |
+          bash build_ios_libs.sh
           mkdir -p output
           cp -r build/pocketpy.xcframework output/pocketpy.xcframework
       - uses: actions/upload-artifact@v4
@@ -175,7 +189,7 @@ jobs:
 
   merge:
       runs-on: ubuntu-latest
-      needs: [ build_win32, build_linux, build_darwin, build_android, build_ios ]
+      needs: [ build_win32, build_linux, build_darwin, build_android_libs, build_darwin_libs, build_ios_libs ]
       steps:
       - name: "Create output directory"
         run: "mkdir $GITHUB_WORKSPACE/output"
@@ -192,18 +206,18 @@ jobs:
           name: linux
           path: $GITHUB_WORKSPACE/output/linux
 
-      # - name: "Merge darwin"
-      #   uses: actions/download-artifact@v4.1.7
-      #   with:
-      #     name: macos
-      #     path: $GITHUB_WORKSPACE/output/macos
-
       - name: "Merge android"
         uses: actions/download-artifact@v4.1.7
         with:
           name: android
           path: $GITHUB_WORKSPACE/output/android
           
+      - name: "Merge darwin"
+        uses: actions/download-artifact@v4.1.7
+        with:
+          name: darwin
+          path: $GITHUB_WORKSPACE/output/darwin
+
       - name: "Merge ios"
         uses: actions/download-artifact@v4.1.7
         with:

+ 3 - 2
build_android.sh → build_android_libs.sh

@@ -15,8 +15,9 @@ cmake \
     ../../.. \
     -DPK_BUILD_SHARED_LIB=ON \
     -DCMAKE_BUILD_TYPE=Release \
+    -DPK_ENABLE_OS=OFF \
+    -DPK_ENABLE_DETERMINISM=ON \
     -DPK_BUILD_MODULE_LZ4=ON \
-    -DPK_BUILD_MODULE_LIBHV=ON \
-    -DPK_BUILD_CUTE_PNG=ON
+    -DPK_BUILD_MODULE_CUTE_PNG=ON
 
 cmake --build . --config Release

+ 17 - 0
build_darwin_libs.sh

@@ -0,0 +1,17 @@
+set -e
+
+python amalgamate.py
+
+rm -rf build
+mkdir build
+cd build
+
+FLAGS="-DPK_BUILD_STATIC_LIB=ON \
+    -DPK_ENABLE_OS=OFF \
+    -DPK_ENABLE_DETERMINISM=ON \
+    -DPK_BUILD_MODULE_LZ4=ON \
+    -DPK_BUILD_MODULE_CUTE_PNG=ON \
+    "
+
+cmake -G Xcode $FLAGS ..
+cmake --build . --config Release

+ 6 - 1
build_ios.sh → build_ios_libs.sh

@@ -8,7 +8,12 @@ cd build
 
 FLAGS="-DCMAKE_TOOLCHAIN_FILE=3rd/ios.toolchain.cmake \
     -DDEPLOYMENT_TARGET=13.0 \
-    -DPK_BUILD_STATIC_LIB=ON"
+    -DPK_BUILD_STATIC_LIB=ON \
+    -DPK_ENABLE_OS=OFF \
+    -DPK_ENABLE_DETERMINISM=ON \
+    -DPK_BUILD_MODULE_LZ4=ON \
+    -DPK_BUILD_MODULE_CUTE_PNG=ON \
+    "
 
 cmake -B os64 -G Xcode $FLAGS -DPLATFORM=OS64 ..
 cmake --build os64 --config Release

+ 2 - 0
plugins/flutter/pocketpy/src/CMakeLists.txt

@@ -19,6 +19,8 @@ FetchContent_Declare(
 
 set(PK_ENABLE_OS OFF CACHE BOOL "" FORCE)
 set(PK_ENABLE_DETERMINISM ON CACHE BOOL "" FORCE)
+set(PK_BUILD_MODULE_LZ4 ON CACHE BOOL "" FORCE)
+set(PK_BUILD_MODULE_CUTE_PNG ON CACHE BOOL "" FORCE)
 set(PK_BUILD_SHARED_LIB ON CACHE BOOL "" FORCE)
 
 set_target_properties(pocketpy PROPERTIES