diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index d69b0a2..0157c72 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -39,3 +39,41 @@ jobs: run: | cmake -S . -B build/ ${{ matrix.cmake }} && cmake --build build/ \ --target qtk-main + + Build-Qtk-Assimp-Targets: + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest] + include: + - os: ubuntu-latest + cmake: -DCMAKE_PREFIX_PATH="/home/runner/work/qtk/Qt/6.3.1/gcc_64/" -DQTK_UPDATE_SUBMODULES=OFF + - os: macos-latest + cmake: -DCMAKE_PREFIX_PATH="/home/runner/work/qtk/Qt/6.3.1/gcc_64/" -DASSIMP_NEW_INTERFACE=ON -DQTK_UPDATE_SUBMODULES=OFF + + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v3 + + - name: Install Qt + uses: jurplel/install-qt-action@v2 + with: + version: '6.3.1' + + - name: Install Assimp MacOS + if: matrix.os == 'macos-latest' + shell: bash + run: | + brew install assimp + + - name: Install Assimp Ubuntu + if: matrix.os == 'ubuntu-latest' + shell: bash + run: | + sudo apt install libassimp-dev + + - name: Build Qtk + shell: bash + run: | + cmake -S . -B build/ ${{ matrix.cmake }} && cmake --build build/ \ + --target qtk-main diff --git a/README.md b/README.md index ca762a2..4a3688b 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ To get textures loading on models look into [material files](http://www.paulbour and see some examples in the `resources/models/` directory. -### Building +### Source Builds Builds are configured for CLion or [Qt Creator](https://github.com/qt-creator/qt-creator). Simply open the root `CMakeLists.txt` with either of these editors and configurations will be loaded. @@ -37,10 +37,19 @@ Using `-DQTK_UPDATE_SUBMODULES=ON` supports providing assimp on cross-platform b sudo apt update -y && sudo apt install freeglut3-dev libassimp-dev cmake build-essential git git clone https://gitlab.com/shaunrd0/qtk cmake -DQTK_UPDATE_SUBMODULES=OFF -DCMAKE_PREFIX_PATH=$HOME/Qt/6.3.1/gcc_64 -S qtk/ -B qtk/build/ && cmake --build qtk/build/ -j $(nproc --ignore=2) --target qtk-main -#cmake -DQTK_UPDATE_SUBMODULES=OFF -DCMAKE_PREFIX_PATH=$HOME/Qt/6.3.1/gcc_64;/path/to/assimp/dir -S qtk/ -B qtk/build/ && cmake --build qtk/build/ -j $(nproc --ignore=2) --target qtk-main +# We can also provide a path to assimp - +#cmake -DQTK_UPDATE_SUBMODULES=OFF -DCMAKE_PREFIX_PATH=$HOME/Qt/6.3.1/gcc_64;/path/to/assimp/ -S qtk/ -B qtk/build/ && cmake --build qtk/build/ -j $(nproc --ignore=2) --target qtk-main ./qtk/build/qtk-main ``` +If you are building on **Windows / Mac** and bringing your own installation of Assimp, consider setting the `-DASSIMP_NEW_INTERFACE` build flag. +```bash +cmake -DASSIMP_NEW_INTERFACE=ON -DQTK_UPDATE_SUBMODULES=OFF -DCMAKE_PREFIX_PATH=$HOME/Qt/6.3.1/gcc_64;/path/to/assimp/ -S qtk/ -B qtk/build/ && cmake --build qtk/build/ -j $(nproc --ignore=2) --target qtk-main +``` + + +### Controls + You can fly around the scene if you hold the right mouse button and use WASD. If you see a small triangle floating by a model it represents the light source that is being used for the shader rendering the model. These appear on models