🚀 Replace vcpkg with conan #36
Workflow file for this run
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 game | |
on: [ push, pull_request ] | |
jobs: | |
build-gcc: | |
name: Linux build on Ubuntu | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: false | |
fetch-depth: 1 | |
- name: Cache conan | |
id: cache-conan | |
uses: actions/cache@v4 | |
with: | |
key: conan-ubuntu-${{ hashFiles('conanfile.py') }} | |
restore-keys: | | |
conan-ubuntu- | |
path: ~/.conan2/ | |
- name: Install dependencies | |
run: | | |
curl "https://raw.githubusercontent.com/AnotherFoxGuy/ci-scripts/main/install-conan.sh" | sudo bash | |
sudo apt-get update | |
sudo apt-get -y install \ | |
pkg-config \ | |
ninja-build \ | |
qtbase5-dev \ | |
qtbase5-private-dev \ | |
qtwebengine5-dev \ | |
qtwebengine5-dev-tools \ | |
qtmultimedia5-dev \ | |
libqt5opengl5-dev \ | |
qtscript5-dev \ | |
libqt5scripttools5 \ | |
libqt5webchannel5-dev \ | |
libqt5websockets5-dev \ | |
qtxmlpatterns5-dev-tools \ | |
qttools5-dev \ | |
libqt5xmlpatterns5-dev \ | |
libqt5svg5-dev \ | |
qml-module-qtwebchannel \ | |
qml-module-qtquick-controls \ | |
qml-module-qtquick-controls2 \ | |
qml-module-qt-labs-settings \ | |
qml-module-qtquick-dialogs \ | |
qml-module-qtwebengine | |
shell: bash | |
- name: Fix broken mpg123 lib | |
if: steps.cache-conan.outputs.cache-hit != 'true' | |
run: | | |
conan profile detect --force | |
echo "tools.system.package_manager:mode = install" > ~/.conan2/global.conf | |
echo "tools.system.package_manager:sudo = True" >> ~/.conan2/global.conf | |
conan remote add overte https://git.anotherfoxguy.com/api/packages/overte/conan -f | |
conan install --requires mpg123/1.31.2 -b mpg123/1.31.2 -b missing | |
- name: Install conan pkgs | |
run: | | |
conan install . \ | |
-s build_type=Release \ | |
-b missing \ | |
-pr:b=default \ | |
-c tools.cmake.cmaketoolchain:generator="Ninja" \ | |
-of build | |
conan cache clean "*" -sbd | |
shell: bash | |
- name: Configure | |
run: cmake --preset conan-release | |
shell: bash | |
- name: Build | |
run: | | |
cd build | |
ninja | |
shell: bash | |
build-msvc: | |
name: Windows build | |
runs-on: windows-2019 | |
env: | |
BUILD_TOOLS_PATH: C:\apps\build-tools\ | |
steps: | |
- run: echo $env:BUILD_TOOLS_PATH | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
- uses: actions/checkout@v4 | |
with: | |
submodules: false | |
fetch-depth: 1 | |
- name: Install Build tools | |
run: git clone https://git.anotherfoxguy.com/AnotherFoxGuy/build-tools.git %BUILD_TOOLS_PATH% | |
shell: cmd | |
- name: Install Qt5 | |
uses: jurplel/install-qt-action@v3 | |
with: | |
cache: true | |
cache-key-prefix: windows-QtCache | |
modules: qtwebengine | |
- name: Cache conan packages | |
uses: actions/cache@v4 | |
with: | |
key: conan-windows-${{ hashFiles('conanfile.py') }} | |
restore-keys: | | |
conan-windows- | |
path: ~/.conan2 | |
- name: Install conan pkgs | |
run: | | |
conan remote add overte https://git.anotherfoxguy.com/api/packages/overte/conan -f | |
conan install . -b missing -pr:b=tools/conan-profiles/vs-19-release-ninja -pr=tools/conan-profiles/vs-19-release-ninja -of build | |
conan cache clean "*" -sbd | |
shell: cmd | |
- name: Enable Developer Command Prompt | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: Configure | |
run: cmake --preset conan-release | |
shell: cmd | |
- name: Build | |
run: | | |
cd build | |
ninja | |
shell: cmd |