Merge pull request #486 from pmcgvr/release #347
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: C/C++ CI | |
on: [push, pull_request] | |
jobs: | |
# gcc4.8 is too old and ubuntu-18.04 image is not supported in GitHub Actions anymore, | |
# so disable this build. | |
## compile with older gcc4.8 | |
#build-gcc48: | |
# runs-on: ubuntu-18.04 | |
# name: Build with gcc 4.8 | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v1 | |
# - name: Build | |
# run: | | |
# sudo apt-get update | |
# sudo apt-get install -y build-essential | |
# sudo apt-get install -y gcc-4.8 g++-4.8 | |
# g++-4.8 -std=c++11 -o loader_example loader_example.cc | |
# - name: NoexceptBuild | |
# run: | | |
# g++-4.8 -DTINYGLTF_NOEXCEPTION -std=c++11 -o loader_example loader_example.cc | |
# - name: RapidjsonBuild | |
# run: | | |
# git clone https://github.com/Tencent/rapidjson | |
# g++-4.8 -DTINYGLTF_USE_RAPIDJSON -I./rapidjson/include/rapidjson -std=c++11 -o loader_example loader_example.cc | |
# compile with mingw gcc cross | |
build-mingw-cross: | |
runs-on: ubuntu-latest | |
name: Build with MinGW gcc cross | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Build | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y build-essential | |
sudo apt-get install -y mingw-w64 | |
x86_64-w64-mingw32-g++ -std=c++11 -o loader_example loader_example.cc | |
# Windows(x64) + Visual Studio 2022 build | |
# Assume windows-latest have VS2022 installed | |
build-windows-msvc: | |
runs-on: windows-latest | |
name: Build for Windows(x64, MSVC) | |
# Use system installed cmake | |
# https://help.github.com/en/actions/reference/software-installed-on-github-hosted-runners | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
- name: Configure | |
run: | | |
mkdir build | |
cd build | |
cmake --help | |
cmake -G "Visual Studio 17 2022" -A x64 -DTINYGLTF_BUILD_LOADER_EXAMPLE=On -DTINYGLTF_BUILD_GL_EXAMPLES=Off -DTINYGLTF_BUILD_VALIDATOR_EXAMPLE=On .. | |
cd .. | |
- name: Build | |
run: cmake --build build --config Release | |
build-linux: | |
runs-on: ubuntu-latest | |
name: Buld with gcc | |
steps: | |
- uses: actions/checkout@v2 | |
- name: build | |
run: | | |
g++ -std=c++11 -o loader_example loader_example.cc | |
- name: test | |
run: | | |
./loader_example models/Cube/Cube.gltf | |
- name: tests | |
run: | | |
cd tests | |
g++ -I../ -std=c++11 -g -O0 -o tester tester.cc | |
./tester | |
cd .. | |
- name: noexcept_tests | |
run: | | |
cd tests | |
g++ -DTINYGLTF_NOEXCEPTION -I../ -std=c++11 -g -O0 -o tester_noexcept tester.cc | |
./tester_noexcept | |
cd .. | |
build-rapidjson-linux: | |
runs-on: ubuntu-latest | |
name: Buld with gcc + rapidjson | |
steps: | |
- uses: actions/checkout@v2 | |
- name: build | |
run: | | |
git clone https://github.com/Tencent/rapidjson | |
g++ -v | |
g++ -DTINYGLTF_USE_RAPIDJSON -I./rapidjson/include/rapidjson -std=c++11 -o loader_example loader_example.cc | |
- name: loader_example_test | |
run: | | |
./loader_example models/Cube/Cube.gltf | |
- name: tests | |
run: | | |
cd tests | |
g++ -DTINYGLTF_USE_RAPIDJSON -I../rapidjson/include/rapidjson -I../ -std=c++11 -g -O0 -o tester tester.cc | |
./tester | |
cd .. | |
- name: noexcept_tests | |
run: | | |
cd tests | |
g++ -DTINYGLTF_USE_RAPIDJSON -I../rapidjson/include/rapidjson -DTINYGLTF_NOEXCEPTION -I../ -std=c++11 -g -O0 -o tester_noexcept tester.cc | |
./tester_noexcept | |
cd .. | |
# Cross-compile for aarch64 linux target | |
build-cross-aarch64: | |
runs-on: ubuntu-latest | |
name: Build on cross aarch64 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Build | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y build-essential | |
sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu | |
git clone https://github.com/Tencent/rapidjson | |
aarch64-linux-gnu-g++ -DTINYGLTF_USE_RAPIDJSON -I./rapidjson/include/rapidjson -std=c++11 -g -O0 -o loader_example loader_example.cc | |
# macOS clang | |
build-macos: | |
runs-on: macos-latest | |
name: Build on macOS | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
- name: Build | |
run: | | |
clang++ -std=c++11 -g -O0 -o loader_example loader_example.cc | |
./loader_example models/Cube/Cube.gltf | |
git clone https://github.com/Tencent/rapidjson | |
clang++ -DTINYGLTF_USE_RAPIDJSON -I./rapidjson/include/rapidjson -std=c++11 -g -O0 -o loader_example loader_example.cc | |