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
|
334
.travis.yml
334
.travis.yml
|
@ -20,302 +20,60 @@
|
||||||
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
# 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.
|
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
language: cpp
|
|
||||||
sudo: required
|
sudo: required
|
||||||
dist: trusty
|
language: cpp
|
||||||
|
|
||||||
git:
|
|
||||||
depth: 5
|
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
- source ./scripts/preparation.osx.sh
|
- 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
|
||||||
install:
|
- sudo chmod +x /usr/local/bin/docker-compose
|
||||||
- install_os_deps
|
- docker-compose --version
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- echo "Configuration info:"
|
- sudo docker-compose --build
|
||||||
- export_compiler_vars
|
- sudo docker-compose run -e "LUA_VERSION=$LUA_VERSION" -e "LLVM_VERSION=$LLVM_VERSION" -e "GCC_VERSION=$GCC_VERSION" test
|
||||||
- ninja --version
|
|
||||||
- python3 --version
|
|
||||||
- python3 bootstrap.py --ci && ninja
|
|
||||||
|
|
||||||
notifications:
|
env:
|
||||||
webhooks:
|
# GCC 4.9.x, 5.x, 6.x, 7.x
|
||||||
urls:
|
- LUA_VERSION=5.3.4
|
||||||
- https://webhooks.gitter.im/e/b864d553270a069d26c8
|
GCC_VERSION=4.9
|
||||||
on_success: change # options: [always|never|change] default: always
|
- LUA_VERSION=5.3.4
|
||||||
on_failure: always # options: [always|never|change] default: always
|
GCC_VERSION=5
|
||||||
on_start: never # options: [always|never|change] default: always
|
- LUA_VERSION=5.3.4
|
||||||
email:
|
GCC_VERSION=6
|
||||||
on_success: change
|
- LUA_VERSION=5.3.4
|
||||||
on_failure: change
|
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:
|
matrix:
|
||||||
fast_finish: true
|
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
|
notifications:
|
||||||
- os: linux
|
webhooks:
|
||||||
env: COMPILER=g++-5 LUA_VERSION=luajit51
|
urls:
|
||||||
compiler: gcc
|
- https://webhooks.gitter.im/e/b864d553270a069d26c8
|
||||||
addons:
|
on_success: change
|
||||||
apt:
|
on_failure: always
|
||||||
sources:
|
on_start: never
|
||||||
- ubuntu-toolchain-r-test
|
email:
|
||||||
packages:
|
on_success: change
|
||||||
- gcc-5
|
on_failure: change
|
||||||
- g++-5
|
on_start: never
|
||||||
- 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
|
|
||||||
|
|
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
|
# Uses the Lua version and calculates the names of the include directories and library
|
||||||
# name accordingly.
|
# 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)
|
set(LUA_VANILLA_VERSION ${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.0)
|
||||||
endif()
|
endif()
|
||||||
else()
|
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()
|
endif()
|
||||||
|
|
||||||
message(STATUS "Selecting PUC-RIO Lua ${LUA_VANILLA_VERSION} from '${LUA_VERSION}' and building a ${LUA_BUILD_LIBRARY_TYPE} library...")
|
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
|
# 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.
|
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
sudo: required
|
version: "3"
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
|
services:
|
||||||
|
test:
|
||||||
|
build: .
|
||||||
|
volumes:
|
||||||
|
- .:/sol2
|
||||||
|
environment:
|
||||||
|
- LUA_VERSION
|
||||||
|
- GCC_VERSION
|
||||||
|
- LLVM_VERSION
|
|
@ -24,8 +24,8 @@
|
||||||
|
|
||||||
# # Initial and necessary installations
|
# # Initial and necessary installations
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt dist-upgrade
|
sudo apt -y 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 install build-essential zsh ninja-build libreadline6 libreadline6-dev python3 zsh wget curl libcurl3 openssl libexpat1 libexpat1-dev cmake git
|
||||||
|
|
||||||
# # CMake Installation (from script)
|
# # CMake Installation (from script)
|
||||||
# This is only necessary if we need cmake of a better version than what's available on the system
|
# 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
|
then
|
||||||
# get and use GCC version that we desire
|
# get and use GCC version that we desire
|
||||||
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
|
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
|
||||||
sudo apt-get update
|
sudo apt update
|
||||||
sudo apt-get dist-upgrade
|
sudo apt dist-upgrade
|
||||||
sudo apt-get install gcc-$GCC_VERSION g++-$GCC_VERSION
|
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 --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
|
sudo update-alternatives --config gcc
|
||||||
export CC=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