
This also removes the separate WML_tests.cmd scripts from VC14 and VC16, now instead using the same run_wml_tests script as the linux jobs. There is currently no caching of the Windows jobs, since msbuild unfortunately uses timestamps rather than more complete information like scons/ccache in order to determine if things need to be rebuilt. Since git doesn't preserve any sort of last modified timestamp, the cloned repo into the travis job is always "newer" than the cached compiled output, and therefore wesnoth is always fully rebuilt. Ideally, assuming this sticks around and gets out of early access from travis, we could then use just travis instead of travis and appveyor.
55 lines
2.4 KiB
Bash
Executable file
55 lines
2.4 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
|
if [ "$TOOL" = "xcodebuild" ]; then
|
|
export PATH="/usr/local/opt/ccache/libexec:$PWD/utils/travis:$PATH"
|
|
export CC=ccache-clang
|
|
export CXX=ccache-clang++
|
|
|
|
cd ./projectfiles/Xcode
|
|
|
|
export CCACHE_MAXSIZE=200M
|
|
export CCACHE_COMPILERCHECK=content
|
|
|
|
xcodebuild GCC_GENERATE_DEBUGGING_SYMBOLS=NO -project "The Battle for Wesnoth.xcodeproj" -target "The Battle for Wesnoth" -configuration Debug
|
|
|
|
BUILD_RET=$?
|
|
|
|
ccache -s
|
|
ccache -z
|
|
|
|
exit $BUILD_RET
|
|
else
|
|
./utils/travis/check_utf8.sh || exit 1
|
|
./utils/travis/utf8_bom_dog.sh || exit 1
|
|
|
|
"$CXX" --version
|
|
if [ "$TOOL" = "scons" ]; then
|
|
ln -s $HOME/build-cache/ build
|
|
export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"
|
|
|
|
scons wesnoth wesnothd campaignd boost_unit_tests build=release \
|
|
ctool="$CC" cxxtool="$CXX" cxx_std="$CXXSTD" \
|
|
extra_flags_config="-pipe" opt="$OPT" strict=true \
|
|
nls="$NLS" enable_lto="$LTO" jobs=2 --debug=time
|
|
else
|
|
cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_GAME=true -DENABLE_SERVER=true -DENABLE_CAMPAIGN_SERVER=true -DENABLE_TESTS=true -DENABLE_NLS=false \
|
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCXX_STD="$CXXSTD"\
|
|
-DEXTRA_FLAGS_CONFIG="-pipe" -DOPT="$OPT" -DENABLE_STRICT_COMPILATION="$STRICT" && \
|
|
make VERBOSE=1 -j2
|
|
fi
|
|
fi
|
|
elif [ "$TRAVIS_OS_NAME" = "windows" ]; then
|
|
powershell "MSBuild.exe projectfiles/VC14/wesnoth.sln -p:PlatformToolset=v141 -p:Configuration=$OPT"
|
|
if [ "$OPT" == "Release" ]; then
|
|
./run_wml_tests -g -v -c -t "$WML_TEST_TIME"
|
|
fi
|
|
else
|
|
# additional permissions required due to flatpak's use of bubblewrap
|
|
docker run --cap-add=ALL --privileged \
|
|
--volume "$HOME"/build-cache:/home/wesnoth-travis/build \
|
|
--volume "$HOME"/flatpak-cache:/home/wesnoth-travis/flatpak-cache \
|
|
--volume "$HOME"/.ccache:/root/.ccache \
|
|
--tty wesnoth-repo:"$LTS"-"$BRANCH" \
|
|
unbuffer ./utils/travis/docker_run.sh "$NLS" "$TOOL" "$CC" "$CXX" "$CXXSTD" "$OPT" "$WML_TESTS" "$WML_TEST_TIME" "$PLAY_TEST" "$MP_TEST" "$BOOST_TEST" "$LTO" "$SAN" "$VALIDATE" "$LTS"
|
|
fi
|