Build the C++ binary package #19
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright © SixtyFPS GmbH <info@slint.dev> | |
# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 | |
name: Build the C++ binary package | |
on: | |
workflow_dispatch: | |
workflow_call: | |
env: | |
MACOSX_DEPLOYMENT_TARGET: "11.0" | |
# Keep in sync with features in nightly_snapshot.yaml, slint_tool_binary.yaml, api/node/Cargo.toml, and api/python/Cargo.toml | |
SLINT_BINARY_FEATURES: "-DSLINT_FEATURE_BACKEND_LINUXKMS_NOSEAT=ON -DSLINT_FEATURE_BACKEND_WINIT=ON -DSLINT_FEATURE_RENDERER_FEMTOVG=ON -DSLINT_FEATURE_RENDERER_SKIA=ON -DSLINT_FEATURE_RENDERER_SOFTWARE=ON" | |
SLINT_MCU_FEATURES: "-DSLINT_FEATURE_FREESTANDING=ON -DSLINT_FEATURE_RENDERER_SOFTWARE=ON" | |
jobs: | |
# cmake_package_desktop: | |
# env: | |
# DYLD_FRAMEWORK_PATH: /Users/runner/work/slint/Qt/6.5.1/clang_64/lib | |
# QT_QPA_PLATFORM: offscreen | |
# CARGO_INCREMENTAL: false | |
# strategy: | |
# matrix: | |
# os: [ubuntu-20.04, macOS-12, windows-2022] | |
# include: | |
# - os: ubuntu-20.04 | |
# package_suffix: linux | |
# - os: macOS-12 | |
# package_suffix: macos | |
# - os: windows-2022 | |
# package_suffix: windows | |
# | |
# runs-on: ${{ matrix.os }} | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - uses: ./.github/actions/install-linux-dependencies | |
# with: | |
# old-ubuntu: true | |
# - name: Install Qt (Ubuntu) | |
# uses: jurplel/install-qt-action@v3 | |
# if: matrix.os == 'ubuntu-20.04' | |
# with: | |
# version: 5.15.2 | |
# cache: true | |
# - uses: ./.github/actions/setup-rust | |
# - uses: baptiste0928/cargo-install@v3 | |
# with: | |
# crate: cargo-about | |
# - name: Prepare licenses | |
# run: bash -x ../../scripts/prepare_binary_package.sh ../.. | |
# working-directory: api/cpp/ | |
# - uses: ilammy/msvc-dev-cmd@v1 | |
# - name: Select MSVC (windows) | |
# run: | | |
# echo "CC=cl.exe" >> $GITHUB_ENV | |
# echo "CXX=cl.exe" >> $GITHUB_ENV | |
# if: matrix.os == 'windows-2022' | |
# - name: C++ Build | |
# uses: lukka/run-cmake@v3.4 | |
# with: | |
# cmakeListsOrSettingsJson: CMakeListsTxtAdvanced | |
# cmakeListsTxtPath: CMakeLists.txt | |
# cmakeAppendedArgs: "-DCMAKE_BUILD_TYPE=RelWithDebInfo ${{ env.SLINT_BINARY_FEATURES }}" | |
# buildDirectory: ${{ runner.workspace }}/cppbuild | |
# buildWithCMakeArgs: "--config Release" | |
# - name: cpack | |
# working-directory: ${{ runner.workspace }}/cppbuild | |
# run: cmake --build . --config Release --target package | |
# - name: "Upload C++ packages" | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: cpp_bin-${{ matrix.package_suffix }} | |
# path: ${{ runner.workspace }}/cppbuild/Slint-cpp-* | |
# cmake_package_mcu: | |
# env: | |
# CARGO_INCREMENTAL: false | |
# strategy: | |
# matrix: | |
# target: [thumbv7em-none-eabihf] | |
# host: [ubuntu-20.04, windows-2022, macOS-12] | |
# | |
# runs-on: ${{ matrix.host }} | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - uses: ./.github/actions/install-linux-dependencies | |
# with: | |
# old-ubuntu: true | |
# - uses: ./.github/actions/setup-rust | |
# - uses: baptiste0928/cargo-install@v3 | |
# with: | |
# crate: cargo-about | |
# - name: Prepare licenses | |
# run: bash -x ../../scripts/prepare_binary_package.sh ../.. | |
# working-directory: api/cpp/ | |
# - uses: ilammy/msvc-dev-cmd@v1 | |
# - name: Select MSVC (windows) | |
# run: | | |
# echo "CC=cl.exe" >> $GITHUB_ENV | |
# echo "CXX=cl.exe" >> $GITHUB_ENV | |
# if: matrix.host == 'windows-2022' | |
# - name: C++ Build | |
# uses: lukka/run-cmake@v3.4 | |
# with: | |
# cmakeListsOrSettingsJson: CMakeListsTxtAdvanced | |
# cmakeListsTxtPath: CMakeLists.txt | |
# cmakeAppendedArgs: "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DRust_CARGO_TARGET=${{ matrix.target }} ${{ env.SLINT_MCU_FEATURES }} ${{ matrix.build_flags }}" | |
# buildDirectory: ${{ runner.workspace }}/cppbuild | |
# buildWithCMakeArgs: "--config Release" | |
# - name: cpack | |
# working-directory: ${{ runner.workspace }}/cppbuild | |
# run: cpack -G TGZ | |
# - name: "Upload C++ packages" | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: cpp_mcu_bin-${{ runner.os }}-${{ runner.arch }}-${{ matrix.target }} | |
# path: ${{ runner.workspace }}/cppbuild/Slint-cpp-* | |
cmake_package_mcu_esp: | |
env: | |
CARGO_INCREMENTAL: false | |
strategy: | |
matrix: | |
target: [riscv32imafc-esp-espidf] | |
host: [ubuntu-20.04, windows-2022, macOS-12] | |
runs-on: ${{ matrix.host }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/install-linux-dependencies | |
with: | |
old-ubuntu: true | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: esp-rs/xtensa-toolchain@v1.5 | |
with: | |
default: true | |
buildtargets: esp32 | |
ldproxy: false | |
# - uses: baptiste0928/cargo-install@v3 | |
# with: | |
# crate: cargo-about | |
# - name: Prepare licenses | |
# run: bash -x ../../scripts/prepare_binary_package.sh ../.. | |
# working-directory: api/cpp/ | |
- uses: ilammy/msvc-dev-cmd@v1 | |
- name: Select MSVC (windows) | |
run: | | |
echo "CC=cl.exe" >> $GITHUB_ENV | |
echo "CXX=cl.exe" >> $GITHUB_ENV | |
if: matrix.host == 'windows-2022' | |
- name: C++ Build | |
uses: lukka/run-cmake@v3.4 | |
with: | |
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced | |
cmakeListsTxtPath: CMakeLists.txt | |
cmakeAppendedArgs: "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DRust_CARGO_TARGET=${{ matrix.target }} ${{ env.SLINT_MCU_FEATURES }} ${{ matrix.build_flags }}" | |
buildDirectory: ${{ runner.workspace }}/cppbuild | |
buildWithCMakeArgs: "--config Release" | |
- name: cpack | |
working-directory: ${{ runner.workspace }}/cppbuild | |
run: cpack -G TGZ | |
- name: "Upload C++ packages" | |
uses: actions/upload-artifact@v4 | |
with: | |
name: cpp_mcu_bin-${{ runner.os }}-${{ runner.arch }}-${{ matrix.target }} | |
path: ${{ runner.workspace }}/cppbuild/Slint-cpp-* |