mirror of https://github.com/snes9xgit/snes9x.git
Merge pull request #608 from hg/master
CI builds for Linux/FreeBSD/macOS/libretro cores, + binary downloads
This commit is contained in:
commit
8e5a1af9db
|
@ -0,0 +1,206 @@
|
|||
# vim: sts=2 sw=2 ai
|
||||
|
||||
################################################################################
|
||||
# snes9x
|
||||
################################################################################
|
||||
|
||||
snes9x_linux-gtk-amd64_task:
|
||||
container:
|
||||
image: gcc:latest
|
||||
|
||||
setup_script:
|
||||
- git submodule update --init shaders/SPIRV-Cross
|
||||
- apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y install meson gettext libsdl2-dev libgtk-3-dev libminizip-dev portaudio19-dev glslang-dev
|
||||
|
||||
compile_script:
|
||||
- meson build gtk --buildtype=release --strip
|
||||
- ninja -j2 -C build
|
||||
|
||||
package_script:
|
||||
- mkdir snes9x
|
||||
- cp -ar build/snes9x-gtk README.md LICENSE docs data gtk/AUTHORS snes9x/
|
||||
- tar -caf "snes9x-gtk-${CIRRUS_CHANGE_IN_REPO}.txz" snes9x
|
||||
|
||||
build_artifacts:
|
||||
path: "snes9x-gtk-${CIRRUS_CHANGE_IN_REPO}.txz"
|
||||
|
||||
|
||||
snes9x_linux-x11-amd64_task:
|
||||
container:
|
||||
image: gcc:latest
|
||||
|
||||
setup_script:
|
||||
- apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y install libxv-dev libxinerama-dev
|
||||
|
||||
compile_script:
|
||||
- cd unix
|
||||
- touch configure
|
||||
- ./configure
|
||||
- make -j2
|
||||
|
||||
package_script:
|
||||
- mkdir snes9x
|
||||
- cp -ar unix/snes9x unix/docs unix/snes9x.conf.default README.md LICENSE data snes9x/
|
||||
- tar -caf "snes9x-x11-${CIRRUS_CHANGE_IN_REPO}.txz" snes9x
|
||||
|
||||
build_artifacts:
|
||||
path: "snes9x-x11-${CIRRUS_CHANGE_IN_REPO}.txz"
|
||||
|
||||
|
||||
snes9x_freebsd-x11-amd64_task:
|
||||
freebsd_instance:
|
||||
image: freebsd-12-1-release-amd64
|
||||
|
||||
setup_script:
|
||||
- pkg install -y gmake pkgconf minizip libX11 libXext
|
||||
|
||||
compile_script:
|
||||
- cd unix
|
||||
- touch configure
|
||||
- ./configure
|
||||
- gmake -j2
|
||||
|
||||
package_script:
|
||||
- mkdir snes9x
|
||||
- cp -a unix/snes9x unix/docs unix/snes9x.conf.default README.md LICENSE data snes9x/
|
||||
- tar -caf "snes9x-x11-${CIRRUS_CHANGE_IN_REPO}.txz" snes9x
|
||||
|
||||
build_artifacts:
|
||||
path: "snes9x-x11-${CIRRUS_CHANGE_IN_REPO}.txz"
|
||||
|
||||
|
||||
snes9x_macOS-amd64_task:
|
||||
osx_instance:
|
||||
image: mojave-xcode
|
||||
|
||||
compile_script:
|
||||
- xcodebuild -project macosx/snes9x.xcodeproj -target Snes9x -configuration Release build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO
|
||||
|
||||
package_script:
|
||||
- mkdir snes9x
|
||||
- cp -R macosx/build/Release/Snes9x.app macosx/docs README.md LICENSE snes9x/
|
||||
- zip -r "snes9x-${CIRRUS_CHANGE_IN_REPO}.zip" snes9x
|
||||
|
||||
build_artifacts:
|
||||
path: "snes9x-${CIRRUS_CHANGE_IN_REPO}.zip"
|
||||
|
||||
################################################################################
|
||||
# libretro
|
||||
################################################################################
|
||||
|
||||
libretro_linux-amd64_task:
|
||||
container:
|
||||
image: gcc:latest
|
||||
compile_script:
|
||||
- make -j2 -C libretro
|
||||
build_artifacts:
|
||||
path: "libretro/snes9x_libretro.so"
|
||||
|
||||
|
||||
libretro_linux-i386_task:
|
||||
container:
|
||||
image: dockcross/linux-x86
|
||||
compile_script:
|
||||
- make -j2 -C libretro
|
||||
build_artifacts:
|
||||
path: "libretro/snes9x_libretro.so"
|
||||
|
||||
|
||||
libretro_linux-armhf_task:
|
||||
container:
|
||||
image: dockcross/linux-armv7
|
||||
compile_script:
|
||||
- make -j2 -C libretro
|
||||
build_artifacts:
|
||||
path: "libretro/snes9x_libretro.so"
|
||||
|
||||
|
||||
libretro_linux-armv7-neon-hf_task:
|
||||
container:
|
||||
image: dockcross/linux-armv7
|
||||
compile_script:
|
||||
- make -j2 -C libretro platform=unix-armv7-neon-hardfloat
|
||||
build_artifacts:
|
||||
path: "libretro/snes9x_libretro.so"
|
||||
|
||||
|
||||
libretro_linux-arm64_task:
|
||||
container:
|
||||
image: dockcross/linux-arm64
|
||||
compile_script:
|
||||
- make -j2 -C libretro
|
||||
build_artifacts:
|
||||
path: "libretro/snes9x_libretro.so"
|
||||
|
||||
|
||||
libretro_android-arm_task:
|
||||
container:
|
||||
image: dockcross/android-arm
|
||||
compile_script:
|
||||
- make -j2 -C libretro platform=unix
|
||||
build_artifacts:
|
||||
path: "libretro/snes9x_libretro.so"
|
||||
|
||||
|
||||
libretro_android-arm64_task:
|
||||
container:
|
||||
image: dockcross/android-arm64
|
||||
compile_script:
|
||||
- make -j2 -C libretro platform=unix-arm64
|
||||
build_artifacts:
|
||||
path: "libretro/snes9x_libretro.so"
|
||||
|
||||
|
||||
libretro_emscripten_task:
|
||||
container:
|
||||
image: gcc:latest
|
||||
compile_script:
|
||||
- make -j2 -C libretro platform=emscripten
|
||||
build_artifacts:
|
||||
path: "libretro/snes9x_libretro_emscripten.bc"
|
||||
|
||||
|
||||
libretro_macOS-amd64_task:
|
||||
osx_instance:
|
||||
image: mojave-xcode
|
||||
compile_script:
|
||||
- make -j2 -C libretro
|
||||
build_artifacts:
|
||||
path: "libretro/snes9x_libretro.dylib"
|
||||
|
||||
|
||||
libretro_nintendo-wii_task:
|
||||
container:
|
||||
image: devkitpro/devkitppc
|
||||
compile_script:
|
||||
- make -j2 -C libretro platform=wii
|
||||
build_artifacts:
|
||||
path: "libretro/snes9x_libretro_wii.a"
|
||||
|
||||
|
||||
libretro_nintendo-switch-libnx_task:
|
||||
container:
|
||||
image: devkitpro/devkita64
|
||||
compile_script:
|
||||
- make -j2 -C libretro platform=libnx
|
||||
build_artifacts:
|
||||
path: "libretro/snes9x_libretro_libnx.a"
|
||||
|
||||
|
||||
libretro_nintendo-ngc_task:
|
||||
container:
|
||||
image: devkitpro/devkitppc
|
||||
compile_script:
|
||||
- make -j2 -C libretro platform=ngc
|
||||
build_artifacts:
|
||||
path: "libretro/snes9x_libretro_ngc.a"
|
||||
|
||||
|
||||
libretro_playstation-psp_task:
|
||||
container:
|
||||
image: bkcsoft/psptoolchain
|
||||
compile_script:
|
||||
- make -j2 -C libretro platform=unix
|
||||
build_artifacts:
|
||||
path: "libretro/snes9x_libretro.so"
|
||||
|
|
@ -495,3 +495,7 @@ healthchecksdb
|
|||
MigrationBackup/
|
||||
|
||||
# End of https://www.gitignore.io/api/c,c++,xcode,visualstudio
|
||||
|
||||
# vim
|
||||
*.swp
|
||||
|
||||
|
|
55
README.md
55
README.md
|
@ -4,3 +4,58 @@
|
|||
This is the official source code repository for the Snes9x project.
|
||||
|
||||
Please check the [Wiki](https://github.com/snes9xgit/snes9x/wiki) for additional information.
|
||||
|
||||
## Nightly builds
|
||||
|
||||
Download nightly builds from continuous integration:
|
||||
|
||||
### snes9x
|
||||
|
||||
| OS | status |
|
||||
|---------------|--------------------------------------------------|
|
||||
| Windows | [![Status][s9x-win-all]][appveyor] |
|
||||
| Linux (GTK) | [![Status][snes9x_linux-gtk-amd64]][cirrus-ci] |
|
||||
| Linux (X11) | [![Status][snes9x_linux-x11-amd64]][cirrus-ci] |
|
||||
| FreeBSD (X11) | [![Status][snes9x_freebsd-x11-amd64]][cirrus-ci] |
|
||||
| macOS | [![Status][snes9x_macOS-amd64]][cirrus-ci] |
|
||||
|
||||
[appveyor]: https://ci.appveyor.com/project/snes9x/snes9x
|
||||
[cirrus-ci]: http://cirrus-ci.com/github/snes9xgit/snes9x
|
||||
|
||||
[s9x-win-all]: https://ci.appveyor.com/api/projects/status/github/snes9xgit/snes9x?branch=master&svg=true
|
||||
[snes9x_linux-gtk-amd64]: https://api.cirrus-ci.com/github/snes9xgit/snes9x.svg?task=snes9x_linux-gtk-amd64
|
||||
[snes9x_linux-x11-amd64]: https://api.cirrus-ci.com/github/snes9xgit/snes9x.svg?task=snes9x_linux-x11-amd64
|
||||
[snes9x_freebsd-x11-amd64]: https://api.cirrus-ci.com/github/snes9xgit/snes9x.svg?task=snes9x_freebsd-x11-amd64
|
||||
[snes9x_macOS-amd64]: https://api.cirrus-ci.com/github/snes9xgit/snes9x.svg?task=snes9x_macOS-amd64
|
||||
|
||||
### libretro core
|
||||
|
||||
| OS | status |
|
||||
|---------------------|---------------------------------------------------------|
|
||||
| Linux/amd64 | [![Status][libretro_linux-amd64]][cirrus-ci] |
|
||||
| Linux/i386 | [![Status][libretro_linux-i386]][cirrus-ci] |
|
||||
| Linux/armhf | [![Status][libretro_linux-armhf]][cirrus-ci] |
|
||||
| Linux/armv7-neon-hf | [![Status][libretro_linux-armv7-neon-hf]][cirrus-ci] |
|
||||
| Linux/arm64 | [![Status][libretro_linux-arm64]][cirrus-ci] |
|
||||
| Android/arm | [![Status][libretro_android-arm]][cirrus-ci] |
|
||||
| Android/arm64 | [![Status][libretro_android-arm64]][cirrus-ci] |
|
||||
| Emscripten | [![Status][libretro_emscripten]][cirrus-ci] |
|
||||
| macOS/amd64 | [![Status][libretro_macOS-amd64]][cirrus-ci] |
|
||||
| Nintendo Wii | [![Status][libretro_nintendo-wii]][cirrus-ci] |
|
||||
| Nintendo Switch | [![Status][libretro_nintendo-switch-libnx]][cirrus-ci] |
|
||||
| Nintendo GameCube | [![Status][libretro_nintendo-ngc]][cirrus-ci] |
|
||||
| PSP | [![Status][libretro_playstation-psp]][cirrus-ci] |
|
||||
|
||||
[libretro_linux-amd64]: https://api.cirrus-ci.com/github/snes9xgit/snes9x.svg?task=libretro_linux-amd64
|
||||
[libretro_linux-i386]: https://api.cirrus-ci.com/github/snes9xgit/snes9x.svg?task=libretro_linux-i386
|
||||
[libretro_linux-armhf]: https://api.cirrus-ci.com/github/snes9xgit/snes9x.svg?task=libretro_linux-armhf
|
||||
[libretro_linux-armv7-neon-hf]: https://api.cirrus-ci.com/github/snes9xgit/snes9x.svg?task=libretro_linux-armv7-neon-hf
|
||||
[libretro_linux-arm64]: https://api.cirrus-ci.com/github/snes9xgit/snes9x.svg?task=libretro_linux-arm64
|
||||
[libretro_android-arm]: https://api.cirrus-ci.com/github/snes9xgit/snes9x.svg?task=libretro_android-arm
|
||||
[libretro_android-arm64]: https://api.cirrus-ci.com/github/snes9xgit/snes9x.svg?task=libretro_android-arm64
|
||||
[libretro_emscripten]: https://api.cirrus-ci.com/github/snes9xgit/snes9x.svg?task=libretro_emscripten
|
||||
[libretro_macOS-amd64]: https://api.cirrus-ci.com/github/snes9xgit/snes9x.svg?task=libretro_macOS-amd64
|
||||
[libretro_nintendo-wii]: https://api.cirrus-ci.com/github/snes9xgit/snes9x.svg?task=libretro_nintendo-wii
|
||||
[libretro_nintendo-switch-libnx]: https://api.cirrus-ci.com/github/snes9xgit/snes9x.svg?task=libretro_nintendo-switch-libnx
|
||||
[libretro_nintendo-ngc]: https://api.cirrus-ci.com/github/snes9xgit/snes9x.svg?task=libretro_nintendo-ngc
|
||||
[libretro_playstation-psp]: https://api.cirrus-ci.com/github/snes9xgit/snes9x.svg?task=libretro_playstation-psp
|
||||
|
|
|
@ -93,13 +93,14 @@ endif
|
|||
|
||||
if slang and opengl
|
||||
glslang_dep = c_compiler.find_library('glslang', required: false)
|
||||
hlsl_dep = c_compiler.find_library('HLSL', required: false)
|
||||
spirv_dep = c_compiler.find_library('SPIRV', required: false)
|
||||
osdependent_dep = c_compiler.find_library('OSDependent', required: false)
|
||||
ogl_compiler_dep = c_compiler.find_library('OGLCompiler', required: false)
|
||||
spv_remapper_dep = c_compiler.find_library('SPVRemapper', required: false)
|
||||
|
||||
if glslang_dep.found() and spirv_dep.found() and osdependent_dep.found() and ogl_compiler_dep.found() and spv_remapper_dep.found()
|
||||
deps += [glslang_dep, spirv_dep, osdependent_dep, ogl_compiler_dep, spv_remapper_dep]
|
||||
if glslang_dep.found() and hlsl_dep.found() and spirv_dep.found() and osdependent_dep.found() and ogl_compiler_dep.found() and spv_remapper_dep.found()
|
||||
deps += [glslang_dep, hlsl_dep, spirv_dep, osdependent_dep, ogl_compiler_dep, spv_remapper_dep]
|
||||
|
||||
args += ['-DUSE_SLANG',
|
||||
'-DSPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS',
|
||||
|
|
Loading…
Reference in New Issue