Use GitHub Actions for CI
This commit is contained in:
parent
0270a08523
commit
72a95654b6
|
@ -0,0 +1,67 @@
|
|||
on: push
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- description: Windows / Visual Studio
|
||||
os: windows-2019
|
||||
cmakeOptions: '-G "Visual Studio 16 2019" -A x64'
|
||||
publish: true
|
||||
- description: macOS / Xcode
|
||||
os: macos-10.15
|
||||
cmakeOptions: ""
|
||||
publish: true
|
||||
- description: Linux / GCC
|
||||
os: ubuntu-20.04
|
||||
cmakeOptions: "-D CMAKE_C_COMPILER=gcc-10 -D CMAKE_CXX_COMPILER=g++-10"
|
||||
publish: true
|
||||
- description: Linux / Clang
|
||||
os: ubuntu-20.04
|
||||
cmakeOptions: "-D CMAKE_C_COMPILER=clang-12 -D CMAKE_CXX_COMPILER=clang++-12"
|
||||
publish: false
|
||||
env:
|
||||
BOOST_ROOT: ${{github.workspace}}/lib/boost
|
||||
BOOST_URL: https://sourceforge.net/projects/boost/files/boost/1.76.0/boost_1_76_0.tar.bz2/download
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
- name: Restore Boost from cache
|
||||
uses: actions/cache@v2
|
||||
id: cache-boost
|
||||
with:
|
||||
path: ${{ env.BOOST_ROOT }}
|
||||
key: ${{ env.BOOST_URL }}
|
||||
- name: Download Boost
|
||||
if: steps.cache-boost.outputs.cache-hit != 'true'
|
||||
shell: bash
|
||||
run: |
|
||||
if [ "$RUNNER_OS" == "Windows" ]; then
|
||||
# use forward slashes only
|
||||
BOOST_ROOT=$(echo $BOOST_ROOT | sed 's/\\/\//g')
|
||||
fi
|
||||
mkdir -p $BOOST_ROOT
|
||||
curl --insecure -L $BOOST_URL | tar -xj --strip-components=1 -C $BOOST_ROOT
|
||||
- name: Build Rhubarb
|
||||
shell: bash
|
||||
run: |
|
||||
JAVA_HOME=$JAVA_HOME_11_X64
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ${{ matrix.cmakeOptions }} ..
|
||||
cmake --build . --config Release --target package
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: binaries
|
||||
path: build/*.zip
|
||||
- name: Run tests
|
||||
shell: bash
|
||||
run: |
|
||||
if [ "$RUNNER_OS" == "Windows" ]; then
|
||||
./build/rhubarb/Release/runTests.exe
|
||||
else
|
||||
./build/rhubarb/runTests
|
||||
fi
|
|
@ -1,5 +1,9 @@
|
|||
# Version history
|
||||
|
||||
## Unreleased
|
||||
|
||||
* **Changed** Windows build from 32 bit to 64 bit
|
||||
|
||||
## Version 1.10.0
|
||||
|
||||
* **Added** switch data file exporter for Moho (formerly Anime Studio) and OpenToonz ([issue #69](https://github.com/DanielSWolf/rhubarb-lip-sync/issues/69))
|
||||
|
|
|
@ -1,28 +1,19 @@
|
|||
cmake_minimum_required(VERSION 3.2)
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
include("../appInfo.cmake")
|
||||
|
||||
# Support legacy OS X versions
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.8" CACHE STRING "Minimum OS X deployment version")
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.10" CACHE STRING "Minimum OS X deployment version")
|
||||
|
||||
project(${appName})
|
||||
|
||||
# Enable C++17
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
|
||||
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17")
|
||||
endif()
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# Enable POSIX threads
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread -lpthread")
|
||||
endif()
|
||||
|
||||
# Make sure Xcode uses libc++ instead of libstdc++, allowing us to use the C++14 standard library prior to OS X 10.9
|
||||
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
|
||||
add_compile_options(-stdlib=libc++)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++")
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
|
||||
endif()
|
||||
|
||||
# Use static run-time
|
||||
|
|
Loading…
Reference in New Issue