wesnoth/utils/travis/steps/script.sh
pentarctagon 0a7f483c72 Add debug and release Windows jobs to travis.
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.
2019-12-31 17:17:34 -06:00

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