Skip to content

Use fix_osg_utf8_build for openmw #42

Use fix_osg_utf8_build for openmw

Use fix_osg_utf8_build for openmw #42

Workflow file for this run

name: Build
on: push
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
jobs:
static:
strategy:
fail-fast: true
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Export GitHub Actions cache environment variables
uses: actions/github-script@v6
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- working-directory: 'C:/vcpkg'
run: git remote add openmw https://github.com/elsid/vcpkg.git
- working-directory: 'C:/vcpkg'
run: git fetch openmw
- working-directory: 'C:/vcpkg'
run: git checkout openmw/openmw
- working-directory: 'C:/vcpkg'
run: ./bootstrap-vcpkg.bat -disableMetrics
- name: Install vcpkg packages
run: >
vcpkg install --triplet x64-windows-static
boost-geometry
boost-iostreams
boost-locale
boost-program-options
bullet3[double-precision,multithreading]
ffmpeg
freetype
icu
luajit
lz4
mygui[opengl]
openal-soft
openmw-osg
sdl2
- name: Export installed vcpkg packages
run: >
vcpkg export
--x-all-installed
--7zip
--output-dir ${{ github.workspace }}
--output openmw-deps-vcpkg-x64-windows-static-${{ github.sha }}
- name: Store exported vcpkg packages
uses: actions/upload-artifact@v4
with:
name: openmw-deps-vcpkg-x64-windows-static-${{ github.sha }}
path: ${{ github.workspace }}/openmw-deps-vcpkg-x64-windows-static-${{ github.sha }}.7z
- name: Clone OpenMW repository
run: git clone --branch fix_osg_utf8_build https://gitlab.com/elsid/openmw.git ${{ github.workspace }}/openmw
- run: mkdir -p ${{ github.workspace }}/Qt
- name: Cache Qt
id: qt-cache
uses: actions/cache@v4
with:
path: ${{ github.workspace }}/Qt/6.7.0/msvc2019_64
key: qt-cache-6.7.0-msvc2019_64-v1
- working-directory: ${{ github.workspace }}/Qt
run: curl --fail --retry 3 -L -o aqt_x64.exe https://github.com/miurahr/aqtinstall/releases/download/v3.1.12/aqt_x64.exe
if: steps.qt-cache.outputs.cache-hit != 'true'
- working-directory: ${{ github.workspace }}/Qt
run: .\aqt_x64.exe install-qt windows desktop 6.7.0 win64_msvc2019_64
if: steps.qt-cache.outputs.cache-hit != 'true'
- uses: ilammy/msvc-dev-cmd@v1
- name: Configure OpenMW
working-directory: ${{ github.workspace }}/openmw
run: >
cmake
-B ${{ github.workspace }}/openmw/build
-G Ninja
-D CMAKE_BUILD_TYPE=Release
-D CMAKE_TOOLCHAIN_FILE='C:/vcpkg/scripts/buildsystems/vcpkg.cmake'
-D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/install
-D BUILD_OPENMW=ON
-D BUILD_MWINIIMPORTER=ON
-D BUILD_OPENCS=ON
-D BUILD_LAUNCHER=ON
-D BUILD_ESSIMPORTER=ON
-D BUILD_WIZARD=ON
-D BUILD_BSATOOL=ON
-D BUILD_ESMTOOL=ON
-D BUILD_NIFTEST=ON
-D BUILD_NAVMESHTOOL=ON
-D BUILD_BULLETOBJECTTOOL=ON
-D BUILD_BENCHMARKS=ON
-D BUILD_UNITTESTS=ON
-D BUILD_OPENCS_TESTS=ON
-D OPENMW_USE_SYSTEM_SQLITE3=OFF
-D OPENMW_USE_SYSTEM_YAML_CPP=OFF
-D CMAKE_TOOLCHAIN_FILE='C:/vcpkg/scripts/buildsystems/vcpkg.cmake'
-D CMAKE_PREFIX_PATH='${{ github.workspace }}/Qt/6.7.0/msvc2019_64'
-D LuaJit_INCLUDE_DIR='C:/vcpkg/installed/x64-windows-static/include/luajit'
-D LuaJit_LIBRARY='C:/vcpkg/installed/x64-windows-static/lib/lua51.lib'
- name: Build OpenMW
working-directory: ${{ github.workspace }}/openmw
run: cmake --build ${{ github.workspace }}/openmw/build
- name: Install OpenMW
working-directory: ${{ github.workspace }}/openmw
run: cmake --install ${{ github.workspace }}/openmw/build
- name: Store OpenMW build artifacts
uses: actions/upload-artifact@v4
with:
name: openmw-${{ github.sha }}
path: ${{ github.workspace }}/install/*
dynamic:
strategy:
fail-fast: true
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Export GitHub Actions cache environment variables
uses: actions/github-script@v6
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- working-directory: 'C:/vcpkg'
run: git remote add openmw https://github.com/elsid/vcpkg.git
- working-directory: 'C:/vcpkg'
run: git fetch openmw
- working-directory: 'C:/vcpkg'
run: git checkout openmw/openmw
- working-directory: 'C:/vcpkg'
run: ./bootstrap-vcpkg.bat -disableMetrics
- name: Install vcpkg packages
run: >
vcpkg install --triplet x64-windows
boost-geometry
boost-iostreams
boost-locale
boost-program-options
bullet3[double-precision,multithreading]
ffmpeg
freetype
icu
luajit
lz4
mygui[opengl]
openal-soft
openmw-osg
sdl2
- name: Export installed vcpkg packages
run: >
vcpkg export
--x-all-installed
--7zip
--output-dir ${{ github.workspace }}
--output openmw-deps-vcpkg-x64-windows-${{ github.sha }}
- name: Store exported vcpkg packages
uses: actions/upload-artifact@v4
with:
name: openmw-deps-vcpkg-x64-windows-${{ github.sha }}
path: ${{ github.workspace }}/openmw-deps-vcpkg-x64-windows-${{ github.sha }}.7z
- name: Clone OpenMW repository
run: git clone --branch fix_osg_utf8_build https://gitlab.com/elsid/openmw.git ${{ github.workspace }}/openmw
- run: mkdir -p ${{ github.workspace }}/Qt
- name: Cache Qt
id: qt-cache
uses: actions/cache@v4
with:
path: ${{ github.workspace }}/Qt/6.7.0/msvc2019_64
key: qt-cache-6.7.0-msvc2019_64-v1
- working-directory: ${{ github.workspace }}/Qt
run: curl --fail --retry 3 -L -o aqt_x64.exe https://github.com/miurahr/aqtinstall/releases/download/v3.1.12/aqt_x64.exe
if: steps.qt-cache.outputs.cache-hit != 'true'
- working-directory: ${{ github.workspace }}/Qt
run: .\aqt_x64.exe install-qt windows desktop 6.7.0 win64_msvc2019_64
if: steps.qt-cache.outputs.cache-hit != 'true'
- uses: ilammy/msvc-dev-cmd@v1
- name: Configure OpenMW
working-directory: ${{ github.workspace }}/openmw
run: >
cmake
-B ${{ github.workspace }}/openmw/build
-G Ninja
-D CMAKE_BUILD_TYPE=Release
-D CMAKE_TOOLCHAIN_FILE='C:/vcpkg/scripts/buildsystems/vcpkg.cmake'
-D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/install
-D BUILD_OPENMW=ON
-D BUILD_MWINIIMPORTER=ON
-D BUILD_OPENCS=ON
-D BUILD_LAUNCHER=ON
-D BUILD_ESSIMPORTER=ON
-D BUILD_WIZARD=ON
-D BUILD_BSATOOL=ON
-D BUILD_ESMTOOL=ON
-D BUILD_NIFTEST=ON
-D BUILD_NAVMESHTOOL=ON
-D BUILD_BULLETOBJECTTOOL=ON
-D BUILD_BENCHMARKS=ON
-D BUILD_UNITTESTS=ON
-D BUILD_OPENCS_TESTS=ON
-D OPENMW_USE_SYSTEM_SQLITE3=OFF
-D OPENMW_USE_SYSTEM_YAML_CPP=OFF
-D CMAKE_TOOLCHAIN_FILE='C:/vcpkg/scripts/buildsystems/vcpkg.cmake'
-D CMAKE_PREFIX_PATH='${{ github.workspace }}/Qt/6.7.0/msvc2019_64'
-D LuaJit_INCLUDE_DIR='C:/vcpkg/installed/x64-windows/include/luajit'
-D LuaJit_LIBRARY='C:/vcpkg/installed/x64-windows/lib/lua51.lib'
- name: Build OpenMW
working-directory: ${{ github.workspace }}/openmw
run: cmake --build ${{ github.workspace }}/openmw/build
- name: Install OpenMW
working-directory: ${{ github.workspace }}/openmw
run: cmake --install ${{ github.workspace }}/openmw/build
- name: Store OpenMW build artifacts
uses: actions/upload-artifact@v4
with:
name: openmw-${{ github.sha }}
path: ${{ github.workspace }}/install/*