mirror of
https://github.com/ThePhD/sol2.git
synced 2024-03-22 13:10:44 +08:00
attempt to use new travis build based on docker + Cmake for consistency, also so we can avoid the nightmare of figuring out travis-CI dependencies and their build image mess with Lua
This commit is contained in:
parent
c5defa6d07
commit
d8b2da2647
321
.travis.old.yml
Normal file
321
.travis.old.yml
Normal file
|
@ -0,0 +1,321 @@
|
|||
# # # # sol2
|
||||
# The MIT License (MIT)
|
||||
#
|
||||
# Copyright (c) 2013-2017 Rapptz, ThePhD, and contributors
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# this software and associated documentation files (the "Software"), to deal in
|
||||
# the Software without restriction, including without limitation the rights to
|
||||
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
# the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
# subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in all
|
||||
# copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
language: cpp
|
||||
sudo: required
|
||||
dist: trusty
|
||||
|
||||
git:
|
||||
depth: 5
|
||||
|
||||
before_install:
|
||||
- source ./scripts/preparation.osx.sh
|
||||
|
||||
install:
|
||||
- install_os_deps
|
||||
|
||||
script:
|
||||
- echo "Configuration info:"
|
||||
- export_compiler_vars
|
||||
- ninja --version
|
||||
- python3 --version
|
||||
- python3 bootstrap.py --ci && ninja
|
||||
|
||||
notifications:
|
||||
webhooks:
|
||||
urls:
|
||||
- https://webhooks.gitter.im/e/b864d553270a069d26c8
|
||||
on_success: change # options: [always|never|change] default: always
|
||||
on_failure: always # options: [always|never|change] default: always
|
||||
on_start: never # options: [always|never|change] default: always
|
||||
email:
|
||||
on_success: change
|
||||
on_failure: change
|
||||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
include:
|
||||
# linux machines
|
||||
# gcc
|
||||
- os: linux
|
||||
env: COMPILER=g++-4.9 LUA_VERSION=lua52
|
||||
compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-4.9
|
||||
- g++-4.9
|
||||
- ninja-build
|
||||
- liblua5.2-dev
|
||||
- python3
|
||||
|
||||
# gcc-5
|
||||
- os: linux
|
||||
env: COMPILER=g++-5 LUA_VERSION=lua52
|
||||
compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-5
|
||||
- g++-5
|
||||
- ninja-build
|
||||
- liblua5.2-dev
|
||||
- python3
|
||||
|
||||
# gcc-5
|
||||
- os: linux
|
||||
env: COMPILER=g++-5 LUA_VERSION=luajit51
|
||||
compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-5
|
||||
- g++-5
|
||||
- ninja-build
|
||||
- libluajit-5.1-dev
|
||||
|
||||
# gcc-5:i386
|
||||
- os: linux
|
||||
env: COMPILER=g++-5 LUA_VERSION=luajit51:i386
|
||||
compiler: gcc
|
||||
install:
|
||||
- sudo dpkg --add-architecture i386
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-5
|
||||
- g++-5
|
||||
- ninja-build
|
||||
- libluajit-5.1-dev
|
||||
- libluajit-5.1-dev:i386
|
||||
- libc6:i386
|
||||
- libncurses5:i386
|
||||
- libstdc++6:i386
|
||||
- gcc-5-multilib
|
||||
- g++-5-multilib
|
||||
- linux-libc-dev:i386
|
||||
- python3
|
||||
|
||||
# clang
|
||||
- os: linux
|
||||
env:
|
||||
- LUA_VERSION=lua52
|
||||
- LLVM_VERSION=3.6.0
|
||||
- LLVM_ARCHIVE_PATH=$HOME/clang+llvm.tar.xz
|
||||
- COMPILER=clang++
|
||||
- CPPFLAGS="-I $HOME/clang-$LLVM_VERSION/include/c++/v1"
|
||||
- CXXFLAGS=-lc++
|
||||
- PATH=$HOME/clang-$LLVM_VERSION/bin:$PATH
|
||||
- LD_LIBRARY_PATH=$HOME/clang-$LLVM_VERSION/lib:$LD_LIBRARY_PATH
|
||||
before_install:
|
||||
- wget http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-14.04.tar.xz -O $LLVM_ARCHIVE_PATH
|
||||
- mkdir $HOME/clang-$LLVM_VERSION
|
||||
- tar xf $LLVM_ARCHIVE_PATH -C $HOME/clang-$LLVM_VERSION --strip-components 1
|
||||
- export PATH=$HOME/clang+llvm/bin:$PATH
|
||||
- source ./scripts/preparation.osx.sh
|
||||
compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-4.9
|
||||
- g++-4.9
|
||||
- ninja-build
|
||||
- liblua5.2-dev
|
||||
- python3
|
||||
|
||||
- os: linux
|
||||
env:
|
||||
- LUA_VERSION=lua52
|
||||
- LLVM_VERSION=3.7.0
|
||||
- LLVM_ARCHIVE_PATH=$HOME/clang+llvm.tar.xz
|
||||
- COMPILER=clang++
|
||||
- CPPFLAGS="-I $HOME/clang-$LLVM_VERSION/include/c++/v1"
|
||||
- CXXFLAGS=-lc++
|
||||
- PATH=$HOME/clang-$LLVM_VERSION/bin:$PATH
|
||||
- LD_LIBRARY_PATH=$HOME/clang-$LLVM_VERSION/lib:$LD_LIBRARY_PATH
|
||||
before_install:
|
||||
- wget http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-14.04.tar.xz -O $LLVM_ARCHIVE_PATH
|
||||
- mkdir $HOME/clang-$LLVM_VERSION
|
||||
- tar xf $LLVM_ARCHIVE_PATH -C $HOME/clang-$LLVM_VERSION --strip-components 1
|
||||
- export PATH=$HOME/clang+llvm/bin:$PATH
|
||||
- source ./scripts/preparation.osx.sh
|
||||
compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-4.9
|
||||
- g++-4.9
|
||||
- ninja-build
|
||||
- liblua5.2-dev
|
||||
- python3
|
||||
|
||||
- os: linux
|
||||
env:
|
||||
- LUA_VERSION=lua52
|
||||
- LLVM_VERSION=3.8.0
|
||||
- LLVM_ARCHIVE_PATH=$HOME/clang+llvm.tar.xz
|
||||
- COMPILER=clang++
|
||||
- CPPFLAGS="-I $HOME/clang-$LLVM_VERSION/include/c++/v1"
|
||||
- CXXFLAGS=-lc++
|
||||
- PATH=$HOME/clang-$LLVM_VERSION/bin:$PATH
|
||||
- LD_LIBRARY_PATH=$HOME/clang-$LLVM_VERSION/lib:$LD_LIBRARY_PATH
|
||||
before_install:
|
||||
- wget http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-14.04.tar.xz -O $LLVM_ARCHIVE_PATH
|
||||
- mkdir $HOME/clang-$LLVM_VERSION
|
||||
- tar xf $LLVM_ARCHIVE_PATH -C $HOME/clang-$LLVM_VERSION --strip-components 1
|
||||
- export PATH=$HOME/clang+llvm/bin:$PATH
|
||||
- source ./scripts/preparation.osx.sh
|
||||
compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-4.9
|
||||
- g++-4.9
|
||||
- ninja-build
|
||||
- liblua5.2-dev
|
||||
- python3
|
||||
|
||||
- os: linux
|
||||
env:
|
||||
- LUA_VERSION=lua52
|
||||
- LLVM_VERSION=3.9.0
|
||||
- LLVM_ARCHIVE_PATH=$HOME/clang+llvm.tar.xz
|
||||
- COMPILER=clang++
|
||||
- CPPFLAGS="-I $HOME/clang-$LLVM_VERSION/include/c++/v1"
|
||||
- CXXFLAGS=-lc++
|
||||
- PATH=$HOME/clang-$LLVM_VERSION/bin:$PATH
|
||||
- LD_LIBRARY_PATH=$HOME/clang-$LLVM_VERSION/lib:$LD_LIBRARY_PATH
|
||||
before_install:
|
||||
- wget http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-14.04.tar.xz -O $LLVM_ARCHIVE_PATH
|
||||
- mkdir $HOME/clang-$LLVM_VERSION
|
||||
- tar xf $LLVM_ARCHIVE_PATH -C $HOME/clang-$LLVM_VERSION --strip-components 1
|
||||
- export PATH=$HOME/clang+llvm/bin:$PATH
|
||||
- source ./scripts/preparation.osx.sh
|
||||
compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-4.9
|
||||
- g++-4.9
|
||||
- ninja-build
|
||||
- liblua5.2-dev
|
||||
- python3
|
||||
|
||||
- os: linux
|
||||
env:
|
||||
- LUA_VERSION=luajit51
|
||||
- LLVM_VERSION=4.0.0
|
||||
- LLVM_ARCHIVE_PATH=$HOME/clang+llvm.tar.xz
|
||||
- COMPILER=clang++
|
||||
- CPPFLAGS="-I $HOME/clang-$LLVM_VERSION/include/c++/v1"
|
||||
- CXXFLAGS=-lc++
|
||||
- PATH=$HOME/clang-$LLVM_VERSION/bin:$PATH
|
||||
- LD_LIBRARY_PATH=$HOME/clang-$LLVM_VERSION/lib:$LD_LIBRARY_PATH
|
||||
before_install:
|
||||
- wget http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-14.04.tar.xz -O $LLVM_ARCHIVE_PATH
|
||||
- mkdir $HOME/clang-$LLVM_VERSION
|
||||
- tar xf $LLVM_ARCHIVE_PATH -C $HOME/clang-$LLVM_VERSION --strip-components 1
|
||||
- export PATH=$HOME/clang+llvm/bin:$PATH
|
||||
- source ./scripts/preparation.osx.sh
|
||||
compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-4.9
|
||||
- g++-4.9
|
||||
- ninja-build
|
||||
- libluajit-5.1-dev
|
||||
- python3
|
||||
|
||||
- os: linux
|
||||
env:
|
||||
- LUA_VERSION=lua52
|
||||
- LLVM_VERSION=4.0.0
|
||||
- LLVM_ARCHIVE_PATH=$HOME/clang+llvm.tar.xz
|
||||
- COMPILER=clang++
|
||||
- CPPFLAGS="-I $HOME/clang-$LLVM_VERSION/include/c++/v1"
|
||||
- CXXFLAGS=-lc++
|
||||
- PATH=$HOME/clang-$LLVM_VERSION/bin:$PATH
|
||||
- LD_LIBRARY_PATH=$HOME/clang-$LLVM_VERSION/lib:$LD_LIBRARY_PATH
|
||||
before_install:
|
||||
- wget http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-14.04.tar.xz -O $LLVM_ARCHIVE_PATH
|
||||
- mkdir $HOME/clang-$LLVM_VERSION
|
||||
- tar xf $LLVM_ARCHIVE_PATH -C $HOME/clang-$LLVM_VERSION --strip-components 1
|
||||
- export PATH=$HOME/clang+llvm/bin:$PATH
|
||||
- source ./scripts/preparation.osx.sh
|
||||
compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-4.9
|
||||
- g++-4.9
|
||||
- ninja-build
|
||||
- liblua5.2-dev
|
||||
- python3
|
||||
|
||||
- os: osx
|
||||
osx_image: xcode7.3
|
||||
compiler: gcc
|
||||
env: COMPILER=g++-4.9 LUA_VERSION=lua53
|
||||
|
||||
# - os: osx
|
||||
# osx_image: xcode8.3
|
||||
# compiler: gcc
|
||||
# env: COMPILER=g++-5 LUA_VERSION=luajit
|
||||
#
|
||||
# - os: osx
|
||||
# osx_image: xcode8.3
|
||||
# compiler: gcc
|
||||
# env: COMPILER=g++-5 LUA_VERSION=lua52
|
||||
#
|
||||
# - os: osx
|
||||
# osx_image: xcode8.3
|
||||
# compiler: gcc
|
||||
# env: COMPILER=g++-5 LUA_VERSION=lua53
|
||||
#
|
||||
- os: osx
|
||||
osx_image: xcode8.3
|
||||
compiler: clang
|
||||
env: COMPILER=appleclang LUA_VERSION=lua53
|
||||
|
||||
allow_failures:
|
||||
- os: osx
|
330
.travis.yml
330
.travis.yml
|
@ -20,302 +20,60 @@
|
|||
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
language: cpp
|
||||
sudo: required
|
||||
dist: trusty
|
||||
|
||||
git:
|
||||
depth: 5
|
||||
language: cpp
|
||||
|
||||
before_install:
|
||||
- source ./scripts/preparation.osx.sh
|
||||
|
||||
install:
|
||||
- install_os_deps
|
||||
- sudo apt install -y git docker.io zsh
|
||||
- sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
|
||||
- sudo chmod +x /usr/local/bin/docker-compose
|
||||
- docker-compose --version
|
||||
|
||||
script:
|
||||
- echo "Configuration info:"
|
||||
- export_compiler_vars
|
||||
- ninja --version
|
||||
- python3 --version
|
||||
- python3 bootstrap.py --ci && ninja
|
||||
- sudo docker-compose --build
|
||||
- sudo docker-compose run -e "LUA_VERSION=$LUA_VERSION" -e "LLVM_VERSION=$LLVM_VERSION" -e "GCC_VERSION=$GCC_VERSION" test
|
||||
|
||||
env:
|
||||
# GCC 4.9.x, 5.x, 6.x, 7.x
|
||||
- LUA_VERSION=5.3.4
|
||||
GCC_VERSION=4.9
|
||||
- LUA_VERSION=5.3.4
|
||||
GCC_VERSION=5
|
||||
- LUA_VERSION=5.3.4
|
||||
GCC_VERSION=6
|
||||
- LUA_VERSION=5.3.4
|
||||
GCC_VERSION=7
|
||||
# LLVM 3.6.x -> 5.0.x
|
||||
- LUA_VERSION=5.3.4
|
||||
LLVM_VERSION=3.6.2
|
||||
- LUA_VERSION=5.3.4
|
||||
LLVM_VERSION=3.7.1
|
||||
- LUA_VERSION=5.3.4
|
||||
LLVM_VERSION=3.8.1
|
||||
- LUA_VERSION=5.3.4
|
||||
LLVM_VERSION=3.9.0
|
||||
- LUA_VERSION=5.3.4
|
||||
LLVM_VERSION=4.0.1
|
||||
- LUA_VERSION=5.3.4
|
||||
LLVM_VERSION=5.0.1
|
||||
# Lua Versions 5.2.4, 5.1.5, and maybe LuaJIT (as well as x86)
|
||||
- LUA_VERSION=5.2.4
|
||||
GCC_VERSION=7
|
||||
- LUA_VERSION=5.1.5
|
||||
GCC_VERSION=7
|
||||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
|
||||
|
||||
notifications:
|
||||
webhooks:
|
||||
urls:
|
||||
- https://webhooks.gitter.im/e/b864d553270a069d26c8
|
||||
on_success: change # options: [always|never|change] default: always
|
||||
on_failure: always # options: [always|never|change] default: always
|
||||
on_start: never # options: [always|never|change] default: always
|
||||
on_success: change
|
||||
on_failure: always
|
||||
on_start: never
|
||||
email:
|
||||
on_success: change
|
||||
on_failure: change
|
||||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
include:
|
||||
# linux machines
|
||||
# gcc
|
||||
- os: linux
|
||||
env: COMPILER=g++-4.9 LUA_VERSION=lua52
|
||||
compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-4.9
|
||||
- g++-4.9
|
||||
- ninja-build
|
||||
- liblua5.2-dev
|
||||
- python3
|
||||
|
||||
# gcc-5
|
||||
- os: linux
|
||||
env: COMPILER=g++-5 LUA_VERSION=lua52
|
||||
compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-5
|
||||
- g++-5
|
||||
- ninja-build
|
||||
- liblua5.2-dev
|
||||
- python3
|
||||
|
||||
# gcc-5
|
||||
- os: linux
|
||||
env: COMPILER=g++-5 LUA_VERSION=luajit51
|
||||
compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-5
|
||||
- g++-5
|
||||
- ninja-build
|
||||
- libluajit-5.1-dev
|
||||
|
||||
# gcc-5:i386
|
||||
- os: linux
|
||||
env: COMPILER=g++-5 LUA_VERSION=luajit51:i386
|
||||
compiler: gcc
|
||||
install:
|
||||
- sudo dpkg --add-architecture i386
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-5
|
||||
- g++-5
|
||||
- ninja-build
|
||||
- libluajit-5.1-dev
|
||||
- libluajit-5.1-dev:i386
|
||||
- libc6:i386
|
||||
- libncurses5:i386
|
||||
- libstdc++6:i386
|
||||
- gcc-5-multilib
|
||||
- g++-5-multilib
|
||||
- linux-libc-dev:i386
|
||||
- python3
|
||||
|
||||
# clang
|
||||
- os: linux
|
||||
env:
|
||||
- LUA_VERSION=lua52
|
||||
- LLVM_VERSION=3.6.0
|
||||
- LLVM_ARCHIVE_PATH=$HOME/clang+llvm.tar.xz
|
||||
- COMPILER=clang++
|
||||
- CPPFLAGS="-I $HOME/clang-$LLVM_VERSION/include/c++/v1"
|
||||
- CXXFLAGS=-lc++
|
||||
- PATH=$HOME/clang-$LLVM_VERSION/bin:$PATH
|
||||
- LD_LIBRARY_PATH=$HOME/clang-$LLVM_VERSION/lib:$LD_LIBRARY_PATH
|
||||
before_install:
|
||||
- wget http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-14.04.tar.xz -O $LLVM_ARCHIVE_PATH
|
||||
- mkdir $HOME/clang-$LLVM_VERSION
|
||||
- tar xf $LLVM_ARCHIVE_PATH -C $HOME/clang-$LLVM_VERSION --strip-components 1
|
||||
- export PATH=$HOME/clang+llvm/bin:$PATH
|
||||
- source ./scripts/preparation.osx.sh
|
||||
compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-4.9
|
||||
- g++-4.9
|
||||
- ninja-build
|
||||
- liblua5.2-dev
|
||||
- python3
|
||||
|
||||
- os: linux
|
||||
env:
|
||||
- LUA_VERSION=lua52
|
||||
- LLVM_VERSION=3.7.0
|
||||
- LLVM_ARCHIVE_PATH=$HOME/clang+llvm.tar.xz
|
||||
- COMPILER=clang++
|
||||
- CPPFLAGS="-I $HOME/clang-$LLVM_VERSION/include/c++/v1"
|
||||
- CXXFLAGS=-lc++
|
||||
- PATH=$HOME/clang-$LLVM_VERSION/bin:$PATH
|
||||
- LD_LIBRARY_PATH=$HOME/clang-$LLVM_VERSION/lib:$LD_LIBRARY_PATH
|
||||
before_install:
|
||||
- wget http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-14.04.tar.xz -O $LLVM_ARCHIVE_PATH
|
||||
- mkdir $HOME/clang-$LLVM_VERSION
|
||||
- tar xf $LLVM_ARCHIVE_PATH -C $HOME/clang-$LLVM_VERSION --strip-components 1
|
||||
- export PATH=$HOME/clang+llvm/bin:$PATH
|
||||
- source ./scripts/preparation.osx.sh
|
||||
compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-4.9
|
||||
- g++-4.9
|
||||
- ninja-build
|
||||
- liblua5.2-dev
|
||||
- python3
|
||||
|
||||
- os: linux
|
||||
env:
|
||||
- LUA_VERSION=lua52
|
||||
- LLVM_VERSION=3.8.0
|
||||
- LLVM_ARCHIVE_PATH=$HOME/clang+llvm.tar.xz
|
||||
- COMPILER=clang++
|
||||
- CPPFLAGS="-I $HOME/clang-$LLVM_VERSION/include/c++/v1"
|
||||
- CXXFLAGS=-lc++
|
||||
- PATH=$HOME/clang-$LLVM_VERSION/bin:$PATH
|
||||
- LD_LIBRARY_PATH=$HOME/clang-$LLVM_VERSION/lib:$LD_LIBRARY_PATH
|
||||
before_install:
|
||||
- wget http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-14.04.tar.xz -O $LLVM_ARCHIVE_PATH
|
||||
- mkdir $HOME/clang-$LLVM_VERSION
|
||||
- tar xf $LLVM_ARCHIVE_PATH -C $HOME/clang-$LLVM_VERSION --strip-components 1
|
||||
- export PATH=$HOME/clang+llvm/bin:$PATH
|
||||
- source ./scripts/preparation.osx.sh
|
||||
compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-4.9
|
||||
- g++-4.9
|
||||
- ninja-build
|
||||
- liblua5.2-dev
|
||||
- python3
|
||||
|
||||
- os: linux
|
||||
env:
|
||||
- LUA_VERSION=lua52
|
||||
- LLVM_VERSION=3.9.0
|
||||
- LLVM_ARCHIVE_PATH=$HOME/clang+llvm.tar.xz
|
||||
- COMPILER=clang++
|
||||
- CPPFLAGS="-I $HOME/clang-$LLVM_VERSION/include/c++/v1"
|
||||
- CXXFLAGS=-lc++
|
||||
- PATH=$HOME/clang-$LLVM_VERSION/bin:$PATH
|
||||
- LD_LIBRARY_PATH=$HOME/clang-$LLVM_VERSION/lib:$LD_LIBRARY_PATH
|
||||
before_install:
|
||||
- wget http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-14.04.tar.xz -O $LLVM_ARCHIVE_PATH
|
||||
- mkdir $HOME/clang-$LLVM_VERSION
|
||||
- tar xf $LLVM_ARCHIVE_PATH -C $HOME/clang-$LLVM_VERSION --strip-components 1
|
||||
- export PATH=$HOME/clang+llvm/bin:$PATH
|
||||
- source ./scripts/preparation.osx.sh
|
||||
compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-4.9
|
||||
- g++-4.9
|
||||
- ninja-build
|
||||
- liblua5.2-dev
|
||||
- python3
|
||||
|
||||
- os: linux
|
||||
env:
|
||||
- LUA_VERSION=luajit51
|
||||
- LLVM_VERSION=4.0.0
|
||||
- LLVM_ARCHIVE_PATH=$HOME/clang+llvm.tar.xz
|
||||
- COMPILER=clang++
|
||||
- CPPFLAGS="-I $HOME/clang-$LLVM_VERSION/include/c++/v1"
|
||||
- CXXFLAGS=-lc++
|
||||
- PATH=$HOME/clang-$LLVM_VERSION/bin:$PATH
|
||||
- LD_LIBRARY_PATH=$HOME/clang-$LLVM_VERSION/lib:$LD_LIBRARY_PATH
|
||||
before_install:
|
||||
- wget http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-14.04.tar.xz -O $LLVM_ARCHIVE_PATH
|
||||
- mkdir $HOME/clang-$LLVM_VERSION
|
||||
- tar xf $LLVM_ARCHIVE_PATH -C $HOME/clang-$LLVM_VERSION --strip-components 1
|
||||
- export PATH=$HOME/clang+llvm/bin:$PATH
|
||||
- source ./scripts/preparation.osx.sh
|
||||
compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-4.9
|
||||
- g++-4.9
|
||||
- ninja-build
|
||||
- libluajit-5.1-dev
|
||||
- python3
|
||||
|
||||
- os: linux
|
||||
env:
|
||||
- LUA_VERSION=lua52
|
||||
- LLVM_VERSION=4.0.0
|
||||
- LLVM_ARCHIVE_PATH=$HOME/clang+llvm.tar.xz
|
||||
- COMPILER=clang++
|
||||
- CPPFLAGS="-I $HOME/clang-$LLVM_VERSION/include/c++/v1"
|
||||
- CXXFLAGS=-lc++
|
||||
- PATH=$HOME/clang-$LLVM_VERSION/bin:$PATH
|
||||
- LD_LIBRARY_PATH=$HOME/clang-$LLVM_VERSION/lib:$LD_LIBRARY_PATH
|
||||
before_install:
|
||||
- wget http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-14.04.tar.xz -O $LLVM_ARCHIVE_PATH
|
||||
- mkdir $HOME/clang-$LLVM_VERSION
|
||||
- tar xf $LLVM_ARCHIVE_PATH -C $HOME/clang-$LLVM_VERSION --strip-components 1
|
||||
- export PATH=$HOME/clang+llvm/bin:$PATH
|
||||
- source ./scripts/preparation.osx.sh
|
||||
compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-4.9
|
||||
- g++-4.9
|
||||
- ninja-build
|
||||
- liblua5.2-dev
|
||||
- python3
|
||||
|
||||
- os: osx
|
||||
osx_image: xcode7.3
|
||||
compiler: gcc
|
||||
env: COMPILER=g++-4.9 LUA_VERSION=lua53
|
||||
|
||||
# - os: osx
|
||||
# osx_image: xcode8.3
|
||||
# compiler: gcc
|
||||
# env: COMPILER=g++-5 LUA_VERSION=luajit
|
||||
#
|
||||
# - os: osx
|
||||
# osx_image: xcode8.3
|
||||
# compiler: gcc
|
||||
# env: COMPILER=g++-5 LUA_VERSION=lua52
|
||||
#
|
||||
# - os: osx
|
||||
# osx_image: xcode8.3
|
||||
# compiler: gcc
|
||||
# env: COMPILER=g++-5 LUA_VERSION=lua53
|
||||
#
|
||||
- os: osx
|
||||
osx_image: xcode8.3
|
||||
compiler: clang
|
||||
env: COMPILER=appleclang LUA_VERSION=lua53
|
||||
|
||||
allow_failures:
|
||||
- os: osx
|
||||
on_start: never
|
||||
|
|
45
Dockerfile
Normal file
45
Dockerfile
Normal file
|
@ -0,0 +1,45 @@
|
|||
# # # # sol2
|
||||
# The MIT License (MIT)
|
||||
#
|
||||
# Copyright (c) 2013-2017 Rapptz, ThePhD, and contributors
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# this software and associated documentation files (the "Software"), to deal in
|
||||
# the Software without restriction, including without limitation the rights to
|
||||
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
# the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
# subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in all
|
||||
# copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
# Start from the ubuntu:xenial image
|
||||
FROM ubuntu:xenial
|
||||
# Everything from our current directory (repo toplevel in travis-ci)
|
||||
# should be copied into our container at the top-level sol2 directory
|
||||
ADD . /sol2
|
||||
#VOLUME /sol2
|
||||
# We want our working directory to be the toplevel
|
||||
WORKDIR /
|
||||
# RUN is how you write to the image you've pulled down
|
||||
# RUN actions are "committed" to the image, and everything will
|
||||
# start from the base after all run commands are executed
|
||||
RUN apt update
|
||||
RUN apt -y install sudo zsh
|
||||
RUN mkdir -p build-sol2/Debug build-sol2/Release
|
||||
RUN ls -lah
|
||||
RUN ./sol2/scripts/preparation.linux.sh
|
||||
# CMD/ENTRYPOINT is different from RUN
|
||||
# these are done on a per-instantiation and essentially describe
|
||||
# the DEFAULT behavior of this container when its started, not what state it
|
||||
# gets "saved" in...
|
||||
# it only runs the last CMD/ENTRYPOINT as the default behavior:
|
||||
# multiple CMDs will not be respected
|
||||
CMD ["/usr/bin/env", "zsh", "-c", "./sol2/scripts/run.linux.sh"]
|
|
@ -1,3 +1,24 @@
|
|||
# # # # sol2
|
||||
# The MIT License (MIT)
|
||||
#
|
||||
# Copyright (c) 2013-2017 Rapptz, ThePhD, and contributors
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# this software and associated documentation files (the "Software"), to deal in
|
||||
# the Software without restriction, including without limitation the rights to
|
||||
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
# the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
# subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in all
|
||||
# copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
# Uses the Lua version and calculates the names of the include directories and library
|
||||
# name accordingly.
|
||||
|
|
|
@ -132,7 +132,7 @@ elseif (LUA_VERSION MATCHES "([0-9]+)\\.([0-9]+)")
|
|||
set(LUA_VANILLA_VERSION ${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.0)
|
||||
endif()
|
||||
else()
|
||||
message(FATAL "Cannot deduce the proper Lua version from ${LUA_VERSION}")
|
||||
message(FATAL_ERROR "Cannot deduce the proper Lua version from ${LUA_VERSION}")
|
||||
endif()
|
||||
|
||||
message(STATUS "Selecting PUC-RIO Lua ${LUA_VANILLA_VERSION} from '${LUA_VERSION}' and building a ${LUA_BUILD_LIBRARY_TYPE} library...")
|
||||
|
|
|
@ -20,28 +20,14 @@
|
|||
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
sudo: required
|
||||
language: cpp
|
||||
|
||||
before_install:
|
||||
- sudo apt install -y python3 build-essential git docker.io
|
||||
- sudo docker pull ubuntu
|
||||
- sudo docker run -d ubuntu
|
||||
- sudo docker ps -a
|
||||
|
||||
script:
|
||||
- sudo docker run -it ubuntu
|
||||
|
||||
notifications:
|
||||
webhooks:
|
||||
urls:
|
||||
- https://webhooks.gitter.im/e/b864d553270a069d26c8
|
||||
on_success: change
|
||||
on_failure: always
|
||||
on_start: never
|
||||
email:
|
||||
on_success: change
|
||||
on_failure: change
|
||||
on_start: never
|
||||
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
test:
|
||||
build: .
|
||||
volumes:
|
||||
- .:/sol2
|
||||
environment:
|
||||
- LUA_VERSION
|
||||
- GCC_VERSION
|
||||
- LLVM_VERSION
|
|
@ -24,8 +24,8 @@
|
|||
|
||||
# # Initial and necessary installations
|
||||
sudo apt update
|
||||
sudo apt dist-upgrade
|
||||
sudo apt install build-essential ninja-build libreadline6 libreadline6-dev python3 zsh wget curl libcurl3 openssl libexpat1 libexpat1-dev cmake
|
||||
sudo apt -y dist-upgrade
|
||||
sudo apt -y install build-essential zsh ninja-build libreadline6 libreadline6-dev python3 zsh wget curl libcurl3 openssl libexpat1 libexpat1-dev cmake git
|
||||
|
||||
# # CMake Installation (from script)
|
||||
# This is only necessary if we need cmake of a better version than what's available on the system
|
||||
|
@ -66,9 +66,9 @@ elif [ "$GCC_VERSION" ]
|
|||
then
|
||||
# get and use GCC version that we desire
|
||||
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
|
||||
sudo apt-get update
|
||||
sudo apt-get dist-upgrade
|
||||
sudo apt-get install gcc-$GCC_VERSION g++-$GCC_VERSION
|
||||
sudo apt update
|
||||
sudo apt dist-upgrade
|
||||
sudo apt install gcc-$GCC_VERSION g++-$GCC_VERSION
|
||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-$GCC_VERSION 60 --slave /usr/bin/g++ g++ /usr/bin/g++-$GCC_VERSION
|
||||
sudo update-alternatives --config gcc
|
||||
export CC=gcc
|
||||
|
|
12
scripts/run.linux.sh
Normal file
12
scripts/run.linux.sh
Normal file
|
@ -0,0 +1,12 @@
|
|||
cd build-sol2
|
||||
cd Debug
|
||||
cmake ../../sol2 -G Ninja -DCMAKE_BUILD_TYPE=Debug -DLUA_VERSION="${LUA_VERSION}" -DBUILD_LUA=ON -DBUILD_LUA_AS_DLL=OFF -DTESTS=ON -DEXAMPLES=ON -DSINGLE=ON -DTESTS_EXAMPLES=ON -DTESTS_SINGLE=ON
|
||||
cmake --build . --config Debug
|
||||
ctest -C Debug
|
||||
cd ..
|
||||
|
||||
cd Release
|
||||
cmake ../../sol2 -G Ninja -DCMAKE_BUILD_TYPE=Release -DLUA_VERSION="${LUA_VERSION}" -DBUILD_LUA=ON -DBUILD_LUA_AS_DLL=OFF -DTESTS=ON -DEXAMPLES=ON -DSINGLE=ON -DTESTS_EXAMPLES=ON -DTESTS_SINGLE=ON
|
||||
cmake --build . --config Release
|
||||
ctest -C Release
|
||||
cd ..
|
Loading…
Reference in New Issue
Block a user