mirror of
https://github.com/godotengine/FBX2glTF.git
synced 2025-12-31 21:48:37 +03:00
These updates fix building the project on my up to date Linux box due to missing cstdint headers on the older Draco versions it was pinned to, and bumps Conan 1.x to the latest semver-compatible release, which also introduces support for newer GCC compilers. While at it, I've also bumped the GitHub Actions checkout version tag to v4, from v3, and the runner image versions. The Ubuntu runner version was purposefully not updated to avoid the risk of making binaries less portable than before due to a bump in the `glibc` version that the compiler will link to.
294 lines
7.5 KiB
YAML
294 lines
7.5 KiB
YAML
name: "Build FBX2glTF"
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
push:
|
|
branches:
|
|
- master
|
|
tags:
|
|
- "v*"
|
|
|
|
concurrency:
|
|
group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-build
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build-windows:
|
|
runs-on: windows-2022
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Install conan
|
|
run: |
|
|
pip install --upgrade conan==1.63.0
|
|
shell: bash
|
|
|
|
- name: Setup conan profile
|
|
run: |
|
|
conan profile new default --detect
|
|
conan profile show default
|
|
shell: bash
|
|
|
|
- name: Setup filter.lfs.required
|
|
run: |
|
|
git config --global filter.lfs.required false
|
|
shell: bash
|
|
|
|
- name: Setup filter.lfs.smudge
|
|
run: |
|
|
git config --global filter.lfs.smudge "git-lfs smudge --skip %f"
|
|
shell: bash
|
|
|
|
- name: Setup filter.lfs.process
|
|
run: |
|
|
git config --global filter.lfs.process "git-lfs filter-process --skip"
|
|
shell: bash
|
|
|
|
- name: Fetch sdk
|
|
run: |
|
|
curl -O -L "https://github.com/V-Sekai/FBXSDK-Windows/archive/refs/tags/2020.2.zip"
|
|
shell: cmd
|
|
|
|
- name: install 7z extract
|
|
run: |
|
|
7z x 2020.2.zip
|
|
shell: cmd
|
|
|
|
- name: move
|
|
run: |
|
|
mkdir -p sdk
|
|
mv ./FBXSDK-Windows-2020.2/sdk .
|
|
shell: bash
|
|
|
|
- name: Decompress sdk
|
|
run: |
|
|
zstd -d -r --rm ./sdk || true
|
|
shell: bash
|
|
|
|
- name: Conan install
|
|
run: |
|
|
conan install . -i build -s build_type=Release -s compiler="Visual Studio" --build missing
|
|
shell: cmd
|
|
|
|
- name: Conan build
|
|
run: |
|
|
conan build -bf build .
|
|
shell: cmd
|
|
|
|
- name: Run FBX2glTF help
|
|
run: |
|
|
./build/Release/FBX2glTF.exe --help
|
|
shell: bash
|
|
|
|
- name: Prepare artifacts
|
|
run: |
|
|
export TARGET=FBX2glTF-windows-x86_64
|
|
mkdir $TARGET
|
|
cp sdk/Windows/2020.2/License.rtf $TARGET/FBX-SDK-License.rtf
|
|
cp LICENSE $TARGET/FBX2glTF-License.txt
|
|
cp build/Release/FBX2glTF.exe $TARGET/FBX2glTF-windows-x86_64.exe
|
|
7z a -r $TARGET.zip $TARGET
|
|
shell: bash
|
|
|
|
- name: Release
|
|
uses: softprops/action-gh-release@v1
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
with:
|
|
files: |
|
|
FBX2glTF-windows-x86_64.zip
|
|
FBX2glTF-windows-x86_64/FBX2glTF-License.txt
|
|
FBX2glTF-windows-x86_64/FBX-SDK-License.rtf
|
|
|
|
- name: FBX2glTF-windows-x86_64
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: FBX2glTF-windows-x86_64
|
|
path: FBX2glTF-windows-x86_64/*
|
|
|
|
build-linux:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install conan
|
|
run: |
|
|
pip install --upgrade conan==1.63.0
|
|
shell: bash
|
|
|
|
- name: Setup conan profile
|
|
run: |
|
|
conan profile new default --detect
|
|
conan profile show default
|
|
shell: bash
|
|
|
|
- name: Setup filter.lfs.required
|
|
run: |
|
|
git config --global filter.lfs.required false
|
|
shell: bash
|
|
|
|
- name: Setup filter.lfs.smudge
|
|
run: |
|
|
git config --global filter.lfs.smudge "git-lfs smudge --skip %f"
|
|
shell: bash
|
|
|
|
- name: Setup filter.lfs.process
|
|
run: |
|
|
git config --global filter.lfs.process "git-lfs filter-process --skip"
|
|
shell: bash
|
|
|
|
- name: Fetch sdk
|
|
run: |
|
|
curl -O -L "https://github.com/V-Sekai/FBXSDK-Linux/archive/refs/tags/2020.2.zip"
|
|
shell: bash
|
|
|
|
- name: install 7z extract
|
|
run: |
|
|
7z x 2020.2.zip
|
|
shell: bash
|
|
|
|
- name: move
|
|
run: |
|
|
mkdir -p sdk
|
|
mv ./FBXSDK-Linux-2020.2/sdk .
|
|
shell: bash
|
|
|
|
- name: Decompress sdk
|
|
run: |
|
|
zstd -d -r --rm ./sdk || true
|
|
shell: bash
|
|
|
|
- name: Conan install
|
|
run: |
|
|
conan install . -i build -s build_type=Release --build fmt -s compiler.libcxx=libstdc++11 --build missing
|
|
shell: bash
|
|
|
|
- name: Conan build
|
|
run: |
|
|
conan build -bf build .
|
|
shell: bash
|
|
|
|
- name: Run FBX2glTF help
|
|
run: |
|
|
./build/FBX2glTF --help
|
|
shell: bash
|
|
|
|
- name: Prepare artifacts
|
|
run: |
|
|
export TARGET=FBX2glTF-linux-x86_64
|
|
mkdir $TARGET
|
|
cp sdk/Linux/2020.2/License.txt $TARGET/FBX-SDK-License.txt
|
|
cp LICENSE $TARGET/FBX2glTF-License.txt
|
|
cp build/FBX2glTF $TARGET/FBX2glTF-linux-x86_64
|
|
7z a -r $TARGET.zip $TARGET
|
|
shell: bash
|
|
|
|
- name: Release
|
|
uses: softprops/action-gh-release@v1
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
with:
|
|
files: FBX2glTF-linux-x86_64.zip
|
|
|
|
- name: FBX2glTF-linux-x86_64
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: FBX2glTF-linux-x86_64
|
|
path: FBX2glTF-linux-x86_64/*
|
|
|
|
build-macos:
|
|
runs-on: macos-13
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install conan
|
|
run: |
|
|
pip install --upgrade conan==1.63.0
|
|
shell: bash
|
|
|
|
- name: Setup conan profile
|
|
run: |
|
|
conan profile new default --detect
|
|
conan profile show default
|
|
shell: bash
|
|
|
|
- name: Setup filter.lfs.required
|
|
run: |
|
|
git config --global filter.lfs.required false
|
|
shell: bash
|
|
|
|
- name: Setup filter.lfs.smudge
|
|
run: |
|
|
git config --global filter.lfs.smudge "git-lfs smudge --skip %f"
|
|
shell: bash
|
|
|
|
- name: Setup filter.lfs.process
|
|
run: |
|
|
git config --global filter.lfs.process "git-lfs filter-process --skip"
|
|
shell: bash
|
|
|
|
- name: Fetch sdk
|
|
run: |
|
|
curl -O -L "https://github.com/V-Sekai/FBXSDK-Darwin/archive/refs/tags/2020.2.zip"
|
|
shell: bash
|
|
|
|
- name: install 7z extract
|
|
run: |
|
|
7z x 2020.2.zip
|
|
shell: bash
|
|
|
|
- name: move
|
|
run: |
|
|
mkdir -p sdk
|
|
mv ./FBXSDK-Darwin-2020.2/sdk .
|
|
shell: bash
|
|
|
|
- name: Decompress sdk
|
|
run: |
|
|
zstd -d -r --rm ./sdk || true
|
|
shell: bash
|
|
|
|
- name: Conan install
|
|
run: |
|
|
env CMAKE_OSX_ARCHITECTURES=x86_64 conan install . -i build -s build_type=Release --settings arch=x86_64 --build missing
|
|
shell: bash
|
|
|
|
- name: Conan build
|
|
run: |
|
|
env CMAKE_OSX_ARCHITECTURES=x86_64 conan build -bf build .
|
|
shell: bash
|
|
|
|
- name: Run FBX2glTF help
|
|
run: |
|
|
./build/FBX2glTF --help
|
|
shell: bash
|
|
|
|
- name: Adhoc signature
|
|
run: |
|
|
codesign -s - --options=runtime build/FBX2glTF
|
|
shell: bash
|
|
|
|
- name: Prepare artifacts
|
|
run: |
|
|
export TARGET=FBX2glTF-macos-x86_64
|
|
mkdir $TARGET
|
|
cp sdk/Darwin/2020.2/License.rtf $TARGET/FBX-SDK-License.rtf
|
|
cp LICENSE $TARGET/FBX2glTF-License.txt
|
|
cp build/FBX2glTF $TARGET/FBX2glTF-macos-x86_64
|
|
7z a -r $TARGET.zip $TARGET
|
|
shell: bash
|
|
|
|
- name: Release
|
|
uses: softprops/action-gh-release@v1
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
with:
|
|
files: FBX2glTF-macos-x86_64.zip
|
|
|
|
- name: FBX2glTF-macos-x86_64
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: FBX2glTF-macos-x86_64
|
|
path: FBX2glTF-macos-x86_64/*
|