SquirrelJME/SquirrelJME

View on GitHub
.gitlab-ci.yml

Summary

Maintainability
Test Coverage
# ---------------------------------------------------------------------------
# SquirrelJME
#     Copyright (C) Stephanie Gawroriski <xer@multiphasicapps.net>
# ---------------------------------------------------------------------------
# SquirrelJME is under the Mozilla Public License Version 2.0.
# See license.mkd for licensing and copyright information.
# ---------------------------------------------------------------------------
# DESCRIPTION: GitLab CI/CD for libRetro

##############################################################################
################################# BOILERPLATE ################################
##############################################################################

# Core definitions
.core-nanocoat:
  variables:
    CORENAME: squirreljme
    CMAKE_SOURCE_ROOT: nanocoat
    SQUIRRELJME_SPECIAL_BUILD_LIBRETRO: 1

# Inclusion templates, required for the build to work
include:
  - project: 'libretro-infrastructure/ci-templates'
    file: '/android-cmake.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/ctr-static-cmake.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/dingux-cmake.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/djgpp-static-cmake.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/emscripten-static-cmake.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/ios-cmake.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/libnx-static-cmake.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/linux-cmake.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/ngc-static-cmake.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/orbis-static-cmake.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/osx-cmake-arm64.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/osx-cmake-ppc.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/osx-cmake-x86.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/ps2-static-cmake.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/psp-static-cmake.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/tvos-cmake.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/vita-static-cmake.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/wii-static-cmake.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/wiiu-static-cmake.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/windows-cmake-mingw.yml'
  - project: 'libretro-infrastructure/ci-templates'
    file: '/windows-cmake-msvc19.yml'

# Stages for building, required
stages:
  - build-prepare
  - build-shared
  - build-static

# Inclusion of all build types, note that platforms are in the form of:
# - libretro-build-$PLATFORM
# - android-ARCH

# android-cmake.yml
android-arm64-v8a:
  extends:
    - .libretro-android-cmake-arm64-v8a
    - .core-nanocoat

android-armeabi-v7a:
  extends:
    - .libretro-android-cmake-armeabi-v7a
    - .core-nanocoat

android-x86:
  extends:
    - .libretro-android-cmake-x86
    - .core-nanocoat

android-x86_64:
  extends:
    - .libretro-android-cmake-x86_64
    - .core-nanocoat

# ctr-static-cmake.yml
libretro-build-ctr:
  extends:
    - .libretro-ctr-static-cmake-retroarch-master
    - .core-nanocoat

# dingux-cmake.yml
libretro-build-dingux-mips32:
  extends:
    - .libretro-dingux-cmake-mips32
    - .core-nanocoat

libretro-build-dingux-odbeta-mips32:
  extends:
    - .libretro-dingux-odbeta-cmake-mips32
    - .core-nanocoat

libretro-build-miyoo-arm32:
  extends:
    - .libretro-miyoo-cmake-arm32
    - .core-nanocoat

libretro-build-retrofw-mips32:
  extends:
    - .libretro-retrofw-odbeta-cmake-mips32
    - .core-nanocoat

libretro-build-rs90-odbeta-mips32:
  extends:
    - .libretro-rs90-odbeta-cmake-mips32
    - .core-nanocoat

# djgpp-static-cmake.yml
libretro-build-djgpp: # TODO: What should this be called?
  extends:
    - .libretro-djgpp-static-cmake-retroarch-master
    - .core-nanocoat

# emscripten-static-cmake.yml
libretro-build-emscripten:
  extends:
    - .libretro-emscripten-static-cmake-retroarch-master
    - .core-nanocoat

# ios-cmake.yml
libretro-build-ios-arm64:
  extends:
    - .libretro-ios-cmake-arm64
    - .core-nanocoat

libretro-build-ios9:
  extends:
    - .libretro-ios-cmake-ios9
    - .core-nanocoat

# libnx-static-cmake.yml
libretro-build-libnx:
  extends:
    - .libretro-libnx-static-cmake-retroarch-master
    - .core-nanocoat

# linux-cmake.yml
libretro-build-linux-i686:
  extends:
    - .libretro-linux-cmake-x86
    - .core-nanocoat

libretro-build-linux-x64:
  extends:
    - .libretro-linux-cmake-x86_64
    - .core-nanocoat

# ngc-static-cmake.yml
libretro-build-ngc:
  extends:
    - .libretro-ngc-static-cmake-retroarch-master
    - .core-nanocoat

# orbis-static-cmake.yml (Toolchain is currently broken, no CMake Toolchain)
#libretro-build-orbis:
#  extends:
#    - .libretro-orbis-static-cmake-retroarch-master
#    - .core-nanocoat

# osx-cmake-arm64.yml
libretro-build-osx-arm64:
  extends:
    - .libretro-osx-cmake-arm64
    - .core-nanocoat

# osx-cmake-ppc.yml
libretro-build-osx-ppc:
  extends:
    - .libretro-osx-cmake-ppc
    - .core-nanocoat

# osx-cmake-x86.yml
libretro-build-osx-x86: # TODO: What should this be called?
  extends:
    - .libretro-osx-cmake-x86
    - .core-nanocoat

libretro-build-osx-x64:
  extends:
    - .libretro-osx-cmake-x86_64
    - .core-nanocoat

# ps2-static-cmake.yml
libretro-build-ps2:
  extends:
    - .libretro-ps2-static-cmake-retroarch-master
    - .core-nanocoat

# psp-static-cmake.yml
libretro-build-psp:
  extends:
    - .libretro-psp-static-cmake-retroarch-master
    - .core-nanocoat

# tvos-cmake.yml
libretro-build-tvos-arm64:
  extends:
    - .libretro-tvos-cmake-arm64
    - .core-nanocoat

# vita-static-cmake.yml
libretro-build-vita:
  extends:
    - .libretro-vita-static-cmake-retroarch-master
    - .core-nanocoat

# wii-static-cmake.yml
libretro-build-wii:
  extends:
    - .libretro-wii-static-cmake-retroarch-master
    - .core-nanocoat

# wiiu-static-cmake.yml
libretro-build-wiiu:
  extends:
    - .libretro-wiiu-static-cmake-retroarch-master
    - .core-nanocoat

# windows-cmake-mingw.yml
libretro-build-windows-i686:
  extends:
    - .libretro-windows-cmake-x86
    - .core-nanocoat

libretro-build-windows-x64:
  extends:
    - .libretro-windows-cmake-x86_64
    - .core-nanocoat

# windows-cmake-msvc19.yml
#libretro-build-windows-msvc19-i686: # TODO: What should this be called?
#  extends:
#    - .libretro-windows-msvc19-cmake-x86
#    - .core-nanocoat

#libretro-build-windows-msvc19-x64: # TODO: What should this be called?
#  extends:
#    - .libretro-windows-msvc19-cmake-x64
#    - .core-nanocoat