diff --git a/.github/workflows/build_and_release.yaml b/.github/workflows/build_and_release.yaml index 41c3d92..b9a69aa 100644 --- a/.github/workflows/build_and_release.yaml +++ b/.github/workflows/build_and_release.yaml @@ -54,58 +54,57 @@ jobs: os: [ windows-latest, ubuntu-latest, macOS-latest ] fail-fast: false steps: - - name: Install dependencies (Windows) - if: matrix.os == 'windows-latest' - uses: seanmiddleditch/gha-setup-ninja@master - - name: Install dependencies (Ubuntu) - if: matrix.os == 'ubuntu-latest' - run: sudo apt-get install -y g++ cmake ninja-build libx11-dev libxcursor-dev libxi-dev libgl1-mesa-dev libfontconfig1-dev - - name: Install dependencies (macOS) - if: matrix.os == 'macOS-latest' - run: brew install ninja p7zip - - name: Fetch Skia release link - id: skia-link - uses: a1393323447/fetch-release@main - with: - group: aseprite - repo: skia - match: Skia-${{ runner.os }}-Release-x64(-libstdc\+\+)?.zip - - name: Download Skia + - name: Install Dependencies + if: runner.os == 'Linux' + shell: bash run: | - curl -o Skia-${{ runner.os }}-Release-x64.zip -L ${{ steps.skia-link.outputs.download-link }} - unzip Skia-${{ runner.os }}-Release-x64.zip -d skia - - name: Download Aseprite release + sudo apt-get update -qq + sudo apt-get install -y \ + libpixman-1-dev libfreetype6-dev libharfbuzz-dev zlib1g-dev \ + libx11-dev libxcursor-dev libxi-dev libgl1-mesa-dev + - name: Install Skia + shell: bash run: | - curl -o Aseprite-source.zip -L ${{ needs.create-release.outputs.download-link }} - unzip Aseprite-source.zip -d aseprite - mkdir -p aseprite/build - - name: Set architecture for the produced binary (Windows) - if: matrix.os == 'windows-latest' - uses: ilammy/msvc-dev-cmd@v1 - - name: Setting Visual Studio build environment variables and paths (Windows) - if: matrix.os == 'windows-latest' - uses: seanmiddleditch/gha-setup-vsdevenv@master - - name: Run CMake (Windows) - if: matrix.os == 'windows-latest' - working-directory: aseprite/build - shell: cmd - run: cmake -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DCMAKE_IGNORE_PATH='C:/ProgramData/chocolatey/bin/;C:/Strawberry/c/bin/' -DLAF_BACKEND=skia -DSKIA_DIR=../../skia -DSKIA_LIBRARY_DIR=../../skia/out/Release-x64 -G Ninja .. - - name: Run CMake (Ubuntu) - if: matrix.os == 'ubuntu-latest' - working-directory: aseprite/build - run: cmake -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DLAF_BACKEND=skia -DSKIA_DIR=../../skia -DSKIA_LIBRARY_DIR=../../skia/out/Release-x64 -G Ninja .. - - name: Run CMake (macOS) - if: matrix.os == 'macOS-latest' - working-directory: aseprite/build + if [[ "${{ runner.os }}" == "Windows" ]] ; then + choco install wget -y --no-progress + wget https://github.com/aseprite/skia/releases/download/m102-861e4743af/Skia-Windows-Release-x64.zip + unzip Skia-Windows-Release-x64.zip -d skia + elif [[ "${{ runner.os }}" == "macOS" ]] ; then + wget https://github.com/aseprite/skia/releases/download/m102-861e4743af/Skia-macOS-Release-arm64.zip + unzip Skia-macOS-Release-arm64.zip -d skia + else + wget https://github.com/aseprite/skia/releases/download/m102-861e4743af/Skia-Linux-Release-x64-libstdc++.zip + unzip Skia-Linux-Release-x64-libstdc++.zip -d skia + fi + - uses: aseprite/get-ninja@main + - uses: ilammy/msvc-dev-cmd@v1 + if: runner.os == 'Windows' + - name: Generating Makefiles + shell: bash run: | - cmake -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DCMAKE_OSX_ARCHITECTURES=x86_64 -DLAF_BACKEND=skia -DSKIA_DIR=../../skia -DSKIA_LIBRARY_DIR=../../skia/out/Release-x64 -G Ninja .. - - name: Run Ninja - working-directory: aseprite/build - run: ninja aseprite - - name: Clean up build - working-directory: aseprite/build/bin + export enable_ccache=off + export laf_backend=skia + export enable_scripting=on + + if [[ "${{ runner.os }}" == "macOS" ]] ; then + export skia_arch=arm64 + else + export skia_arch=x64 + fi + + cmake -S . -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 \ + -DENABLE_TESTS=ON \ + -DENABLE_SCRIPTING=$enable_scripting \ + -DENABLE_CCACHE=$enable_ccache \ + -DLAF_BACKEND=$laf_backend \ + -DSKIA_DIR=skia \ + -DSKIA_LIBRARY_DIR=skia/out/Release-$skia_arch + - name: Compiling shell: bash - run: rm -f gen modp_b64_gen gen.exe gen.exe.manifest modp_b64_gen.exe modp_b64_gen.exe.manifest + run: | + cd build && ninja - name: (Windows) Make portable zip working-directory: aseprite/build/bin run: echo '# This file is here so Aseprite behaves as a portable program' > aseprite.ini diff --git a/BuildLog.md b/BuildLog.md index b879b1e..0fedf38 100644 --- a/BuildLog.md +++ b/BuildLog.md @@ -1 +1,2 @@ -- build `v1.3-rc6` \ No newline at end of file +- build `v1.3-rc6` +- build `v1.3.11-beta2`