add windows builds(?)

This commit is contained in:
rjindael 2023-07-17 17:57:26 -07:00
parent ae531106e9
commit f84cf0b2fd
No known key found for this signature in database
GPG Key ID: D069369C906CCF31
3 changed files with 80 additions and 50 deletions

59
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,59 @@
name: CI
on: [push]
jobs:
build-windows:
strategy:
matrix:
configuration: [Release, Debug]
name: Build (Windows)
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v3
- uses: msys2/setup-msys2@v2
name: Set up MSYS2
with:
update: true
msystem: mingw64
install: >-
mingw-w64-x86_64-cmake
mingw-w64-x86_64-ninja
mingw-w64-x86_64-boost
mingw-w64-x86_64-pugixml
mingw-w64-x86_64-ogre
mingw-w64-x86_64-qt
- name: Generate CMake build files
run: cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=${{ matrix.configuration == 'Release' && 'MinSizeRel' || matrix.configuration }} .
- name: Build
run: ninja -C build
- name: Organize binaries
run: mkdir build/dist && mv build/*.exe build/dist && cd build/dist && for x in *.exe; do mv $x "RNR.$x"; done && cd ../../
- name: Add Qt dependencies
run: windeployqt6 build/dist/*.exe
# ouch - unless and until we start using CMake's install command, these commands are a necessary evil
- name: Add runtime dependencies
run: ldd build/dist/*.exe | grep "=> /" | awk '{print $3}' | grep "mingw64" | 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 '/mingw64/bin/{}.dll' build/dist/plugins/
- name: Add resources
run: cp -R Content/RNR build/dist/content && cp LICENSE build/dist
- name: Upload
uses: actions/upload-artifact@v3
with:
name: RNR for Windows (${{ matrix.configuration }})
path: build/dist

View File

@ -1,27 +1,12 @@
# Defines plugins to load
# Define plugin folder
PluginFolder=/usr/lib/OGRE
# Define plugins
# Plugin=RenderSystem_Direct3D9
# Plugin=RenderSystem_Direct3D11
Plugin=RenderSystem_GL
Plugin=RenderSystem_GL3Plus
Plugin=RenderSystem_GLES2
# Plugin=RenderSystem_Metal
# Plugin=RenderSystem_Tiny
# Plugin=RenderSystem_Vulkan
Plugin=Plugin_ParticleFX
Plugin=Plugin_BSPSceneManager
# Plugin=Plugin_CgProgramManager
# Plugin=Plugin_GLSLangProgramManager
# Plugin=Codec_EXR
Plugin=Codec_STBI
# Plugin=Codec_RsImage
# Plugin=Codec_FreeImage
Plugin=Plugin_PCZSceneManager
Plugin=Plugin_OctreeZone
Plugin=Plugin_OctreeSceneManager
Plugin=Plugin_DotScene
# Plugin=Codec_Assimp
Plugin=RenderSystem_GL
Plugin=RenderSystem_GL3Plus
Plugin=RenderSystem_GLES2
Plugin=Plugin_ParticleFX
Plugin=Plugin_BSPSceneManager
Plugin=Codec_STBI
Plugin=Plugin_PCZSceneManager
Plugin=Plugin_OctreeZone
Plugin=Plugin_OctreeSceneManager
Plugin=Plugin_DotScene

View File

@ -1,27 +1,13 @@
# Defines plugins to load
# Define plugin folder
PluginFolder=plugins
# Define plugins
Plugin=RenderSystem_Direct3D9
Plugin=RenderSystem_Direct3D11
Plugin=RenderSystem_GL
Plugin=RenderSystem_GL3Plus
Plugin=RenderSystem_GLES2
# Plugin=RenderSystem_Metal
# Plugin=RenderSystem_Tiny
# Plugin=RenderSystem_Vulkan
Plugin=Plugin_ParticleFX
Plugin=Plugin_BSPSceneManager
# Plugin=Plugin_CgProgramManager
# Plugin=Plugin_GLSLangProgramManager
# Plugin=Codec_EXR
Plugin=Codec_STBI
# Plugin=Codec_RsImage
# Plugin=Codec_FreeImage
Plugin=Plugin_PCZSceneManager
Plugin=Plugin_OctreeZone
Plugin=Plugin_OctreeSceneManager
# Plugin=Plugin_DotScene
# Plugin=Codec_Assimp
Plugin=RenderSystem_Direct3D9
Plugin=RenderSystem_Direct3D11
Plugin=RenderSystem_GL
Plugin=RenderSystem_GL3Plus
Plugin=RenderSystem_GLES2
Plugin=Plugin_ParticleFX
Plugin=Plugin_BSPSceneManager
Plugin=Codec_STBI
Plugin=Plugin_PCZSceneManager
Plugin=Plugin_OctreeZone
Plugin=Plugin_OctreeSceneManager