feat(model): add owned OBJ and MTL import #32
This file contains hidden or 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: Windows MinGW CI | |
| on: | |
| push: | |
| branches: [master, main] | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| build-and-test: | |
| runs-on: windows-2022 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: gcc-debug | |
| configuration: Debug | |
| configure_preset: gcc-debug-tests | |
| build_preset: build-gcc-debug-tests | |
| test_preset: test-gcc-debug | |
| compiler_c: gcc | |
| compiler_cxx: g++ | |
| packages: >- | |
| mingw-w64-ucrt-x86_64-toolchain | |
| mingw-w64-ucrt-x86_64-cmake | |
| mingw-w64-ucrt-x86_64-ninja | |
| - name: gcc-release | |
| configuration: Release | |
| configure_preset: gcc-release-tests | |
| build_preset: build-gcc-release-tests | |
| test_preset: test-gcc-release | |
| compiler_c: gcc | |
| compiler_cxx: g++ | |
| packages: >- | |
| mingw-w64-ucrt-x86_64-toolchain | |
| mingw-w64-ucrt-x86_64-cmake | |
| mingw-w64-ucrt-x86_64-ninja | |
| - name: clang-debug | |
| configuration: Debug | |
| configure_preset: clang-debug-tests | |
| build_preset: build-clang-debug-tests | |
| test_preset: test-clang-debug | |
| compiler_c: clang | |
| compiler_cxx: clang++ | |
| packages: >- | |
| mingw-w64-ucrt-x86_64-toolchain | |
| mingw-w64-ucrt-x86_64-clang | |
| mingw-w64-ucrt-x86_64-lld | |
| mingw-w64-ucrt-x86_64-cmake | |
| mingw-w64-ucrt-x86_64-ninja | |
| - name: clang-release | |
| configuration: Release | |
| configure_preset: clang-release-tests | |
| build_preset: build-clang-release-tests | |
| test_preset: test-clang-release | |
| compiler_c: clang | |
| compiler_cxx: clang++ | |
| packages: >- | |
| mingw-w64-ucrt-x86_64-toolchain | |
| mingw-w64-ucrt-x86_64-clang | |
| mingw-w64-ucrt-x86_64-lld | |
| mingw-w64-ucrt-x86_64-cmake | |
| mingw-w64-ucrt-x86_64-ninja | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up MSYS2 UCRT64 | |
| uses: msys2/setup-msys2@v2 | |
| with: | |
| msystem: UCRT64 | |
| update: true | |
| install: ${{ matrix.packages }} | |
| - name: Configure | |
| shell: msys2 {0} | |
| run: cmake --preset ${{ matrix.configure_preset }} | |
| - name: Build | |
| shell: msys2 {0} | |
| run: cmake --build --preset ${{ matrix.build_preset }} --parallel | |
| - name: Test | |
| shell: msys2 {0} | |
| run: ctest --preset ${{ matrix.test_preset }} | |
| - name: Install smoke test | |
| shell: msys2 {0} | |
| run: >- | |
| cmake --install build/${{ matrix.configure_preset }} | |
| --prefix build/install/${{ matrix.name }} | |
| - name: Configure external engine consumer | |
| shell: msys2 {0} | |
| run: >- | |
| cmake -S Tests/Consumer | |
| -B build/consumer/${{ matrix.name }} | |
| -G Ninja | |
| -DCMAKE_BUILD_TYPE=${{ matrix.configuration }} | |
| -DCMAKE_C_COMPILER=${{ matrix.compiler_c }} | |
| -DCMAKE_CXX_COMPILER=${{ matrix.compiler_cxx }} | |
| -DCMAKE_PREFIX_PATH="$PWD/build/install/${{ matrix.name }}" | |
| - name: Build external engine consumer | |
| shell: msys2 {0} | |
| run: cmake --build build/consumer/${{ matrix.name }} --parallel | |
| - name: Run external engine consumer | |
| shell: msys2 {0} | |
| run: ./build/consumer/${{ matrix.name }}/PyramidConsumer.exe | |
| - name: Configure standalone owned-library consumer | |
| shell: msys2 {0} | |
| run: >- | |
| cmake -S Tests/LibrariesConsumer | |
| -B build/libraries-consumer/${{ matrix.name }} | |
| -G Ninja | |
| -DCMAKE_BUILD_TYPE=${{ matrix.configuration }} | |
| -DCMAKE_C_COMPILER=${{ matrix.compiler_c }} | |
| -DCMAKE_CXX_COMPILER=${{ matrix.compiler_cxx }} | |
| -DCMAKE_PREFIX_PATH="$PWD/build/install/${{ matrix.name }}" | |
| - name: Build standalone owned-library consumer | |
| shell: msys2 {0} | |
| run: cmake --build build/libraries-consumer/${{ matrix.name }} --parallel | |
| - name: Run standalone owned-library consumer | |
| shell: msys2 {0} | |
| run: ./build/libraries-consumer/${{ matrix.name }}/PyramidLibrariesConsumer.exe | |
| - name: Configure standalone image consumer | |
| shell: msys2 {0} | |
| run: >- | |
| cmake -S Tests/ImageConsumer | |
| -B build/image-consumer/${{ matrix.name }} | |
| -G Ninja | |
| -DCMAKE_BUILD_TYPE=${{ matrix.configuration }} | |
| -DCMAKE_C_COMPILER=${{ matrix.compiler_c }} | |
| -DCMAKE_CXX_COMPILER=${{ matrix.compiler_cxx }} | |
| -DCMAKE_PREFIX_PATH="$PWD/build/install/${{ matrix.name }}" | |
| - name: Build standalone image consumer | |
| shell: msys2 {0} | |
| run: cmake --build build/image-consumer/${{ matrix.name }} --parallel | |
| - name: Run standalone image consumer | |
| shell: msys2 {0} | |
| run: ./build/image-consumer/${{ matrix.name }}/PyramidImageConsumer.exe | |
| - name: Configure standalone model consumer | |
| shell: msys2 {0} | |
| run: >- | |
| cmake -S Tests/ModelConsumer | |
| -B build/model-consumer/${{ matrix.name }} | |
| -G Ninja | |
| -DCMAKE_BUILD_TYPE=${{ matrix.configuration }} | |
| -DCMAKE_C_COMPILER=${{ matrix.compiler_c }} | |
| -DCMAKE_CXX_COMPILER=${{ matrix.compiler_cxx }} | |
| -DCMAKE_PREFIX_PATH="$PWD/build/install/${{ matrix.name }}" | |
| - name: Build standalone model consumer | |
| shell: msys2 {0} | |
| run: cmake --build build/model-consumer/${{ matrix.name }} --parallel | |
| - name: Run standalone model consumer | |
| shell: msys2 {0} | |
| run: ./build/model-consumer/${{ matrix.name }}/PyramidModelConsumer.exe | |
| - name: Upload binaries | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: pyramid-${{ matrix.name }} | |
| path: | | |
| build/${{ matrix.configure_preset }}/bin | |
| build/${{ matrix.configure_preset }}/lib | |
| if-no-files-found: warn |