diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2035527..7ee7a9e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,31 +31,31 @@ jobs: qt6-base-dev - name: Generate Ninja build files - run: cmake -G Ninja -B build -DCI -DCMAKE_BUILD_TYPE=${{ matrix.configuration == 'Release' && 'MinSizeRel' || matrix.configuration }} . + run: cmake -G Ninja -B build -DCI=ON -DCMAKE_BUILD_TYPE=${{ matrix.configuration == 'Release' && 'MinSizeRel' || matrix.configuration }} . - - name: Build (Ninja) + - name: Run Ninja build run: ninja -C build # ouch - unless and until we start using CMake's install command, these next few steps are a necessary evil - name: Organize binaries run: mkdir build/dist && find build -perm /a+x -exec mv {} build/dist \; - + + - name: Add RNR resources + run: cp -R Content/RNR build/dist/content && cp LICENSE build/dist + - name: Add OGRE plugins run: cp -R build/plugins build/dist && cp Content/linux_plugins.cfg build/dist/plugins.cfg - name: Add OGRE shaders run: cp -R build/shaders build/dist - - - name: Add resources - run: cp -R Content/RNR build/dist/content && cp LICENSE build/dist - + - name: Set output variables id: vars run: | echo "configuration=${{ matrix.configuration }}" | awk '{print tolower($0)}' >> $GITHUB_OUTPUT echo "hash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - - name: Upload + - name: Upload artifact uses: actions/upload-artifact@v3 with: name: rnr-${{ steps.vars.outputs.hash }}-linux_x64-${{ steps.vars.outputs.configuration }} @@ -96,29 +96,29 @@ jobs: mingw-w64-${{ matrix.env }}-qt6 - name: Generate Ninja build files - run: cmake -G Ninja -B build -DCI -DCMAKE_BUILD_TYPE=${{ matrix.configuration == 'Release' && 'MinSizeRel' || matrix.configuration }} . + run: cmake -G Ninja -B build -DCI=ON -DCMAKE_BUILD_TYPE=${{ matrix.configuration == 'Release' && 'MinSizeRel' || matrix.configuration }} . - - name: Build (Ninja) + - name: Run Ninja build run: ninja -C build # ouch - unless and until we start using CMake's install command, these next few steps are a necessary evil - name: Organize binaries run: mkdir build/dist && mv build/*.exe build/dist - - - name: Add Qt dependencies + + - name: Add RNR resources + run: cp -R Content/RNR build/dist/content && cp LICENSE build/dist + + - name: Add Qt plugins and dependencies run: windeployqt6 build/dist/*.exe - - - name: Add runtime dependencies - run: ldd build/dist/*.exe | grep "=> /" | awk '{print $3}' | grep "clang64" | xargs -I '{}' cp -v '{}' build/dist - + - name: Add OGRE plugins run: cp Content/win32_plugins.cfg build/dist/plugins.cfg && mkdir build/dist/plugins/ && cat build/dist/plugins.cfg | grep "Plugin=" | sed -e "s/Plugin=//" | xargs -I '{}' cp -v '/${{ matrix.sys }}/bin/{}.dll' build/dist/plugins/ - name: Add OGRE shaders run: mkdir build/dist/shaders && cp -R /${{ matrix.sys }}/share/OGRE/Media/Main/* build/dist/shaders && cp -R /${{ matrix.sys }}/share/OGRE/Media/RTShaderLib/* build/dist/shaders - - - name: Add resources - run: cp -R Content/RNR build/dist/content && cp LICENSE build/dist + + - name: Add additional runtime dependencies + run: ldd build/dist/*.exe | grep "=> /" | awk '{print $3}' | grep "clang64" | xargs -I '{}' cp -v '{}' build/dist - name: Set output variables id: vars @@ -126,7 +126,7 @@ jobs: echo "configuration=${{ matrix.configuration }}" | awk '{print tolower($0)}' >> $GITHUB_OUTPUT echo "hash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - - name: Upload + - name: Upload artifact uses: actions/upload-artifact@v3 with: name: rnr-${{ steps.vars.outputs.hash }}-win_x64-${{ steps.vars.outputs.configuration }}