clean up Linux compilation. #56
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: Build EMStudio | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| build-linux: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v4 | |
| - name: Install Qt | |
| uses: jurplel/install-qt-action@v4 | |
| with: | |
| version: '5.15.2' | |
| host: 'linux' | |
| target: 'desktop' | |
| arch: 'gcc_64' | |
| - name: Configure (qmake) | |
| run: | | |
| mkdir -p build | |
| cd build | |
| qmake ../EMStudio.pro | |
| - name: Build | |
| run: | | |
| cd build | |
| make -j"$(nproc)" | |
| - name: Upload Linux artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: emstudio-linux | |
| path: | | |
| build/EMStudio | |
| build/**/EMStudio | |
| if-no-files-found: warn | |
| build-windows: | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v4 | |
| - name: Install Qt (Qt 5.15.2 MinGW 64-bit) | |
| uses: jurplel/install-qt-action@v4 | |
| with: | |
| version: '5.15.2' | |
| host: 'windows' | |
| target: 'desktop' | |
| arch: 'win64_mingw81' | |
| tools: 'tools_mingw81' | |
| - name: Install Inno Setup | |
| shell: pwsh | |
| run: choco install innosetup --yes | |
| - name: Configure (qmake) | |
| shell: bash | |
| run: | | |
| mkdir -p build | |
| cd build | |
| qmake CONFIG+=release ../EMStudio.pro | |
| - name: Build (mingw32-make) | |
| shell: bash | |
| run: | | |
| cd build | |
| mingw32-make -j"$(nproc)" | |
| - name: Deploy Qt runtime (windeployqt) + add KLayout driver + logo | |
| shell: cmd | |
| run: | | |
| cd build | |
| if not exist release\EMStudio.exe ( | |
| echo release\EMStudio.exe not found | |
| dir | |
| exit /b 1 | |
| ) | |
| rmdir /s /q dist 2>nul | |
| mkdir dist | |
| copy release\EMStudio.exe dist\ | |
| windeployqt --dir dist dist\EMStudio.exe | |
| rem Put driver script + icon into installation image | |
| mkdir dist\scripts | |
| mkdir dist\icons | |
| copy ..\scripts\klEmsDriver.py dist\scripts\ | |
| copy ..\icons\logo.png dist\icons\ | |
| rem Optional: if you want logo also directly near exe (your KLayout code expects that) | |
| copy ..\icons\logo.png dist\logo.png | |
| - name: Build Windows installer (Inno Setup) | |
| shell: pwsh | |
| run: | | |
| & "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" "installer\EMStudio.iss" /O"build\installer" | |
| - name: Upload Windows installer | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: emstudio-windows-installer | |
| path: build/installer/EMStudio-Setup.exe | |
| if-no-files-found: error |