Ability to selectively save the state of a physics system (#646) #1345
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: | |
branches: [ master ] | |
paths-ignore: | |
- 'Docs/**' | |
- '**.md' | |
pull_request: | |
branches: [ master ] | |
paths-ignore: | |
- 'Docs/**' | |
- '**.md' | |
jobs: | |
linux-clang: | |
runs-on: ubuntu-22.04 | |
name: Linux Clang | |
strategy: | |
fail-fast: false | |
matrix: | |
build_type: [Debug, Release, Distribution, ReleaseASAN, ReleaseUBSAN] | |
clang_version: [clang++-12, clang++-14] | |
double_precision: [No, Yes] | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Configure CMake | |
run: cmake -B ${{github.workspace}}/Build/Linux_${{matrix.build_type}}_${{matrix.clang_version}} -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=${{matrix.clang_version}} -DDOUBLE_PRECISION=${{matrix.double_precision}} Build | |
- name: Build | |
run: cmake --build ${{github.workspace}}/Build/Linux_${{matrix.build_type}}_${{matrix.clang_version}} -j 2 | |
- name: Test | |
working-directory: ${{github.workspace}}/Build/Linux_${{matrix.build_type}}_${{matrix.clang_version}} | |
run: ctest --output-on-failure | |
linux-clang-so: | |
runs-on: ubuntu-22.04 | |
name: Linux Clang Shared Library | |
strategy: | |
fail-fast: false | |
matrix: | |
build_type: [Debug, Release, Distribution] | |
clang_version: [clang++-14] | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Configure CMake | |
run: cmake -B ${{github.workspace}}/Build/Linux_${{matrix.build_type}}_${{matrix.clang_version}} -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=${{matrix.clang_version}} -DBUILD_SHARED_LIBS=Yes Build | |
- name: Build | |
run: cmake --build ${{github.workspace}}/Build/Linux_${{matrix.build_type}}_${{matrix.clang_version}} -j 2 | |
- name: Test | |
working-directory: ${{github.workspace}}/Build/Linux_${{matrix.build_type}}_${{matrix.clang_version}} | |
run: ctest --output-on-failure | |
linux-gcc: | |
runs-on: ubuntu-22.04 | |
name: Linux GCC | |
strategy: | |
fail-fast: false | |
matrix: | |
build_type: [Debug, Release, Distribution] | |
clang_version: [g++] | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Configure CMake | |
run: cmake -B ${{github.workspace}}/Build/Linux_${{matrix.build_type}}_${{matrix.clang_version}} -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=${{matrix.clang_version}} Build | |
- name: Build | |
run: cmake --build ${{github.workspace}}/Build/Linux_${{matrix.build_type}}_${{matrix.clang_version}} -j 2 | |
- name: Test | |
working-directory: ${{github.workspace}}/Build/Linux_${{matrix.build_type}}_${{matrix.clang_version}} | |
run: ctest --output-on-failure | |
msys2_mingw_gcc: | |
runs-on: windows-latest | |
defaults: | |
run: | |
shell: msys2 {0} | |
name: MSYS2 MinGW GCC | |
strategy: | |
fail-fast: false | |
matrix: | |
build_type: [Debug, Release] | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Setup MSYS2 | |
uses: msys2/setup-msys2@v2 | |
with: | |
msystem: mingw64 | |
install: mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake | |
update: true | |
- name: Configure CMake | |
run: cmake -B Build/MSYS2_MinGW_GCC -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} Build | |
- name: Build | |
run: cmake --build Build/MSYS2_MinGW_GCC -j 2 | |
- name: Test | |
working-directory: Build/MSYS2_MinGW_GCC | |
run: ctest --output-on-failure | |
msvc_cl: | |
runs-on: windows-latest | |
name: Visual Studio CL | |
strategy: | |
fail-fast: false | |
matrix: | |
build_type: [Debug, Release, Distribution] | |
double_precision: [No, Yes] | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v1.3 | |
- name: Configure CMake | |
run: cmake -B ${{github.workspace}}/Build/VS2022_CL -G "Visual Studio 17 2022" -A x64 Build -DDOUBLE_PRECISION=${{matrix.double_precision}} | |
- name: Build | |
run: msbuild Build\VS2022_CL\JoltPhysics.sln /property:Configuration=${{matrix.build_type}} -m | |
- name: Test | |
working-directory: ${{github.workspace}}/Build/VS2022_CL/${{matrix.build_type}} | |
run: ./UnitTests.exe | |
msvc_cl_dll: | |
runs-on: windows-latest | |
name: Visual Studio CL Shared Library | |
strategy: | |
fail-fast: false | |
matrix: | |
build_type: [Debug, Release, Distribution] | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v1.3 | |
- name: Configure CMake | |
run: cmake -B ${{github.workspace}}/Build/VS2022_CL -G "Visual Studio 17 2022" -A x64 Build -DBUILD_SHARED_LIBS=Yes | |
- name: Build | |
run: msbuild Build\VS2022_CL\JoltPhysics.sln /property:Configuration=${{matrix.build_type}} -m | |
- name: Test | |
working-directory: ${{github.workspace}}/Build/VS2022_CL/${{matrix.build_type}} | |
run: ./UnitTests.exe | |
msvc_cl_32_bit: | |
runs-on: windows-latest | |
name: Visual Studio CL 32-bit | |
strategy: | |
fail-fast: false | |
matrix: | |
build_type: [Debug, Release] | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v1.3 | |
- name: Configure CMake | |
run: cmake -B ${{github.workspace}}/Build/VS2022_CL_32_BIT -G "Visual Studio 17 2022" -A Win32 -DUSE_SSE4_1=OFF -DUSE_SSE4_2=OFF -DUSE_AVX=OFF -DUSE_AVX2=OFF -DUSE_AVX512=OFF -DUSE_LZCNT=OFF -DUSE_TZCNT=OFF -DUSE_F16C=OFF -DUSE_FMADD=OFF Build | |
- name: Build | |
run: msbuild Build\VS2022_CL_32_BIT\JoltPhysics.sln /property:Configuration=${{matrix.build_type}} -m | |
- name: Test | |
working-directory: ${{github.workspace}}/Build/VS2022_CL_32_BIT/${{matrix.build_type}} | |
run: ./UnitTests.exe | |
msvc_cl_arm: | |
runs-on: windows-latest | |
name: Visual Studio CL ARM | |
strategy: | |
fail-fast: false | |
matrix: | |
build_type: [Debug, Release] | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v1.3 | |
- name: Configure CMake | |
run: cmake -B ${{github.workspace}}/Build/VS2022_CL_ARM -G "Visual Studio 17 2022" -A ARM64 Build | |
- name: Build | |
run: msbuild Build\VS2022_CL_ARM\JoltPhysics.sln /property:Configuration=${{matrix.build_type}} -m | |
msvc_cl_arm_32_bit: | |
runs-on: windows-latest | |
name: Visual Studio CL ARM 32-bit | |
strategy: | |
fail-fast: false | |
matrix: | |
build_type: [Debug, Release] | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v1.3 | |
- name: Configure CMake | |
run: cmake -B ${{github.workspace}}/Build/VS2022_CL_ARM_32_BIT -G "Visual Studio 17 2022" -A ARM Build | |
- name: Build | |
run: msbuild Build\VS2022_CL_ARM_32_BIT\JoltPhysics.sln /property:Configuration=${{matrix.build_type}} -m | |
msvc_clang: | |
runs-on: windows-latest | |
name: Visual Studio Clang | |
strategy: | |
fail-fast: false | |
matrix: | |
build_type: [Debug, Release, Distribution] | |
double_precision: [No, Yes] | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v1.3 | |
- name: Configure CMake | |
run: cmake -B ${{github.workspace}}/Build/VS2022_Clang -G "Visual Studio 17 2022" -A x64 -T ClangCL Build -DDOUBLE_PRECISION=${{matrix.double_precision}} | |
- name: Build | |
run: msbuild Build\VS2022_Clang\JoltPhysics.sln /property:Configuration=${{matrix.build_type}} -m | |
- name: Test | |
working-directory: ${{github.workspace}}/Build/VS2022_Clang/${{matrix.build_type}} | |
run: ./UnitTests.exe | |
macos: | |
runs-on: macos-latest | |
name: macOS | |
strategy: | |
fail-fast: false | |
matrix: | |
build_type: [Debug, Release, Distribution] | |
clang_version: [clang++] | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Configure CMake | |
# github macos-latest runs on a 2013 Ivy Bridge CPU so doesn't have AVX2, LZCNT, TZCNT or FMADD | |
run: cmake -B ${{github.workspace}}/Build/MacOS_${{matrix.build_type}}_${{matrix.clang_version}} -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=${{matrix.clang_version}} -DUSE_AVX2=OFF -DUSE_AVX512=OFF -DUSE_LZCNT=OFF -DUSE_TZCNT=OFF -DUSE_FMADD=OFF Build | |
- name: Build | |
run: cmake --build ${{github.workspace}}/Build/MacOS_${{matrix.build_type}}_${{matrix.clang_version}} -j 2 | |
- name: Test | |
working-directory: ${{github.workspace}}/Build/MacOS_${{matrix.build_type}}_${{matrix.clang_version}} | |
run: ctest --output-on-failure | |
android: | |
runs-on: ubuntu-22.04 | |
name: Android | |
strategy: | |
fail-fast: false | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Gradle Build | |
working-directory: ${{github.workspace}}/Build/Android | |
run: ./gradlew build --no-daemon | |
ios: | |
runs-on: macos-latest | |
name: iOS | |
strategy: | |
fail-fast: false | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Configure CMake | |
run: cmake -B ${{github.workspace}}/Build/XCode_iOS -DTARGET_HELLO_WORLD=OFF -DTARGET_PERFORMANCE_TEST=OFF -DCMAKE_SYSTEM_NAME=iOS -GXcode Build | |
- name: Build | |
run: cmake --build ${{github.workspace}}/Build/XCode_iOS -- -sdk iphonesimulator -arch x86_64 |