mirror of
https://github.com/irungentoo/toxcore.git
synced 2024-03-22 13:30:51 +08:00
Add OSX and Windows build to travis config.
Tests for Windows are disabled for now, until we figure out which tests can successfully run on wine and select only those.
This commit is contained in:
parent
51d18236c8
commit
e59fd26d49
|
@ -9,6 +9,14 @@ matrix:
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
- env: JOB=toxcore ENV=linux
|
- env: JOB=toxcore ENV=linux
|
||||||
compiler: clang
|
compiler: clang
|
||||||
|
- env: JOB=toxcore ENV=osx
|
||||||
|
os: osx
|
||||||
|
- env: JOB=toxcore ENV=windows ARCH=i686
|
||||||
|
services:
|
||||||
|
- docker
|
||||||
|
- env: JOB=toxcore ENV=windows ARCH=x86_64
|
||||||
|
services:
|
||||||
|
- docker
|
||||||
|
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
|
@ -39,6 +47,7 @@ cache:
|
||||||
install: other/travis/phase $JOB $ENV install
|
install: other/travis/phase $JOB $ENV install
|
||||||
script: other/travis/phase $JOB $ENV script
|
script: other/travis/phase $JOB $ENV script
|
||||||
after_script: other/travis/phase $JOB $ENV after_script
|
after_script: other/travis/phase $JOB $ENV after_script
|
||||||
|
after_failure: other/travis/phase $JOB $ENV after_failure
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
irc: "chat.freenode.net#toktok-status"
|
irc: "chat.freenode.net#toktok-status"
|
||||||
|
|
|
@ -402,6 +402,11 @@ function(make_version_script header ns lib)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
option(STRICT_ABI "Enforce strict ABI export in dynamic libraries" OFF)
|
option(STRICT_ABI "Enforce strict ABI export in dynamic libraries" OFF)
|
||||||
|
if(WIN32 OR APPLE)
|
||||||
|
# Windows and OSX don't have this linker functionality.
|
||||||
|
set(STRICT_ABI OFF)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(STRICT_ABI)
|
if(STRICT_ABI)
|
||||||
if(BUILD_TOXAV)
|
if(BUILD_TOXAV)
|
||||||
make_version_script(${CMAKE_SOURCE_DIR}/toxav/toxav.h toxav toxav)
|
make_version_script(${CMAKE_SOURCE_DIR}/toxav/toxav.h toxav toxav)
|
||||||
|
|
|
@ -3,8 +3,11 @@
|
||||||
CMAKE=cmake
|
CMAKE=cmake
|
||||||
NPROC=`nproc`
|
NPROC=`nproc`
|
||||||
CURDIR=$PWD
|
CURDIR=$PWD
|
||||||
TESTS=true
|
|
||||||
|
|
||||||
RUN() {
|
RUN() {
|
||||||
"$@"
|
"$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TESTS() {
|
||||||
|
"$@"
|
||||||
|
}
|
||||||
|
|
13
other/travis/env-osx.sh
Normal file
13
other/travis/env-osx.sh
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
CMAKE=cmake
|
||||||
|
NPROC=`sysctl -n hw.ncpu`
|
||||||
|
CURDIR=$PWD
|
||||||
|
|
||||||
|
RUN() {
|
||||||
|
"$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
TESTS() {
|
||||||
|
"$@"
|
||||||
|
}
|
28
other/travis/env-windows.sh
Normal file
28
other/travis/env-windows.sh
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
CMAKE=$ARCH-w64-mingw32.shared-cmake
|
||||||
|
NPROC=`nproc`
|
||||||
|
CURDIR=/work
|
||||||
|
|
||||||
|
RUN() {
|
||||||
|
./dockcross "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
ENABLE_WINDOWS_TESTS=false
|
||||||
|
|
||||||
|
TESTS() {
|
||||||
|
# Download Microsoft DLLs.
|
||||||
|
curl http://www.dlldump.com/dllfiles/I/iphlpapi.dll -o _build/iphlpapi.dll
|
||||||
|
curl http://www.dlldump.com/dllfiles/W/ws2_32.dll -o _build/ws2_32.dll
|
||||||
|
|
||||||
|
# Copy our dependency DLLs.
|
||||||
|
./dockcross sh -c 'cp $WINEDLLPATH/*.dll _build'
|
||||||
|
|
||||||
|
# Run tests in docker.
|
||||||
|
if $ENABLE_WINDOWS_TESTS; then
|
||||||
|
./dockcross "$@" || {
|
||||||
|
cat _build/Testing/Temporary/LastTest.log
|
||||||
|
false
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
}
|
7
other/travis/toxcore-after_failure
Executable file
7
other/travis/toxcore-after_failure
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ -d /cores ]; then
|
||||||
|
for core in /cores/*; do
|
||||||
|
lldb --core $core --one-line "bt all" < /dev/null
|
||||||
|
done
|
||||||
|
fi
|
3
other/travis/toxcore-osx-install
Executable file
3
other/travis/toxcore-osx-install
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
brew install libsodium libvpx opus libconfig check astyle
|
|
@ -8,9 +8,7 @@ export CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"
|
||||||
# so it's disabled on Travis.
|
# so it's disabled on Travis.
|
||||||
RUN $CMAKE -B$BUILD_DIR -H. -DCMAKE_INSTALL_PREFIX:PATH=$CURDIR/_install -DDEBUG=ON -DASSOC_DHT=ON -DSTRICT_ABI=ON #-DASAN=ON
|
RUN $CMAKE -B$BUILD_DIR -H. -DCMAKE_INSTALL_PREFIX:PATH=$CURDIR/_install -DDEBUG=ON -DASSOC_DHT=ON -DSTRICT_ABI=ON #-DASAN=ON
|
||||||
|
|
||||||
RUN make -C $BUILD_DIR -j$NPROC -k install
|
export CTEST_OUTPUT_ON_FAILURE=1
|
||||||
|
|
||||||
if $TESTS; then
|
RUN make -C$BUILD_DIR -j$NPROC -k install
|
||||||
export CTEST_OUTPUT_ON_FAILURE=1
|
TESTS make -C$BUILD_DIR -j$NPROC test
|
||||||
RUN make -C $BUILD_DIR -j$NPROC test
|
|
||||||
fi
|
|
||||||
|
|
7
other/travis/toxcore-windows-install
Executable file
7
other/travis/toxcore-windows-install
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
DOCKER_IMAGE=toktoknet/windows:latest.$ARCH-shared
|
||||||
|
|
||||||
|
docker pull $DOCKER_IMAGE
|
||||||
|
docker run --rm $DOCKER_IMAGE > dockcross
|
||||||
|
chmod +x dockcross
|
Loading…
Reference in New Issue
Block a user