Add gitignore #455
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
name: Build | |
on: push | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
Build: | |
strategy: | |
max-parallel: 15 | |
fail-fast: false | |
matrix: | |
include: | |
- os: windows-latest | |
arch: x86 | |
env: Windows | |
- os: windows-latest | |
arch: x64 | |
env: Windows | |
- os: ubuntu-20.04 | |
arch: x64 | |
env: Linux | |
- os: macos-12 | |
arch: x64 | |
env: Mac | |
runs-on: ${{ matrix.os }} | |
env: | |
OS: ${{ matrix.env }} | |
IS_RELEASE: ${{ startsWith(github.ref, 'refs/tags/') }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: "Setup Directories" | |
run: mkdir -p output output/lib output/include output/lc_licenses | |
- name: "Configure Arguments: Common" | |
run: | | |
echo "OUTPUT_DIR=$(pwd -W 2>/dev/null || pwd)/output" >> $GITHUB_ENV | |
platforms/common.sh | |
- name: "Configure Arguments: OS" | |
run: | | |
platforms/${{ matrix.env }}.sh | |
- name: "Configure Arguments: Architecture" | |
run: | | |
platforms/${{ matrix.env }}-${{ matrix.arch }}.sh | |
- name: "Set CMake paths" | |
run: | | |
echo "CMAKE_CONFIGURE_ARGS=$CMAKE_CONFIGURE_ARGS -DCMAKE_INSTALL_PREFIX=$OUTPUT_DIR -DCMAKE_PREFIX_PATH=$OUTPUT_DIR" >> $GITHUB_ENV | |
echo "MESON_CONFIGURE_ARGS=$MESON_CONFIGURE_ARGS --prefix $OUTPUT_DIR -Dlibdir=$OUTPUT_DIR/lib -Dbuildtype=release" >> $GITHUB_ENV | |
- name: "Windows: Setup VS Dev Environment" | |
if: ${{ matrix.env == 'Windows' }} | |
uses: seanmiddleditch/gha-setup-vsdevenv@v3 | |
with: | |
arch: ${{ env.VS_ARCH }} | |
- name: "Linux: Setup packages" | |
if: ${{ matrix.env == 'Linux' }} | |
run: | | |
$CHROOT sudo add-apt-repository ppa:savoury1/build-tools | |
$CHROOT sudo add-apt-repository ppa:ubuntu-toolchain-r/test | |
$CHROOT sudo apt-get update | |
DEBIAN_FRONTEND=noninteractive $CHROOT sudo apt-get -y --no-install-recommends install libgl-dev libasound2-dev libpulse-dev curl nasm meson ninja-build libffi-dev | |
- name: Build zlib | |
run: | | |
scripts/build.sh zlib | |
- name: Build non-Windows | |
if: ${{ matrix.env != 'Windows' }} | |
run: | | |
scripts/build.sh libpng | |
scripts/build.sh libjpeg-turbo | |
scripts/build.sh openssl | |
- name: Build | |
run: | | |
scripts/build.sh boost | |
scripts/build.sh catch2 | |
scripts/build.sh libcurl | |
scripts/build.sh fmt | |
scripts/build.sh glew | |
scripts/build.sh libsamplerate | |
scripts/build.sh SDL2 | |
scripts/build.sh spdlog | |
- name: Build Linux | |
if: ${{ matrix.env == 'Linux' }} | |
run: | | |
scripts/build.sh libffi | |
scripts/build.sh glib | |
scripts/build.sh fluidsynth | |
- name: Build more | |
run: | | |
scripts/build.sh libogg | |
scripts/build.sh libvorbis | |
scripts/build.sh libmodplug | |
scripts/build.sh mpg123 | |
scripts/build.sh SDL2_mixer | |
scripts/build.sh freetype -DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE | |
scripts/build.sh miniupnpc | |
- name: Remove bin | |
run: $CHROOT rm -rf output/bin | |
- name: Extract C++/WinRT | |
if: ${{ matrix.env == 'Windows' }} | |
run: | | |
scripts/build.sh cppwinrt | |
- name: Generate old_path.txt | |
run: | | |
echo "$OUTPUT_DIR" > $OUTPUT_DIR/old_path.txt | |
- name: Result | |
run: ls -R output | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.env }}-${{ matrix.arch }} | |
path: | | |
output/* | |
- name: Pack | |
if: ${{ env.IS_RELEASE == 'true' }} | |
run: | | |
cd output | |
tar -czf lc_deps-${{ matrix.env }}-${{ matrix.arch }}.tar.gz * | |
- name: Release | |
uses: ncipollo/release-action@v1.11.2 | |
if: ${{ env.IS_RELEASE == 'true' }} | |
with: | |
artifacts: output/lc_deps-${{ matrix.env }}-${{ matrix.arch }}.tar.gz | |
allowUpdates: true | |
artifactErrorsFailBuild: true | |
replacesArtifacts: true | |
generateReleaseNotes: true |