@@ -10,7 +10,6 @@ elif [ "$TRAVIS_OS_NAME" = osx ]; then
1010fi
1111
1212LOCK=" ${TMP} install.lock"
13- OUT=" ${TMP} install.out"
1413
1514if [ " $TRAVIS_OS_NAME " = linux ]; then
1615 locked () { flock " $LOCK " " $@ " ; }
@@ -27,23 +26,28 @@ elif [ "$TRAVIS_OS_NAME" = windows ]; then
2726fi
2827
2928finish () {
30- local EXIT=0
31- if ! wait " ${! 1} " ; then
32- EXIT=$?
33- cat " $OUT "
29+ if [ -f " $TMP .$1 " ]; then
30+ tail -n 1000 -f " $TMP .$1 " &
31+ local PID=$!
32+ wait " ${! 1} "
33+ kill -9 $PID
34+ rm -f " $TMP .$1 "
3435 fi
35- return $EXIT
3636}
3737
3838concurrently () {
3939 local VAR=" $1 "
4040 shift
41- " $@ " >> " $OUT " 2>&1 &
41+ " $@ " >> " $TMP . $VAR " 2>&1 &
4242 local PID=$!
4343 export " $VAR " =$PID
4444 if [ " $INSTALL_WAIT " = 1 ]; then finish " $VAR " ; fi
4545}
4646
47+ ignore () {
48+ " $@ " || true
49+ }
50+
4751folded () {
4852 FOLD=$(( FOLD+ 1 ))
4953 echo -e " travis_fold:start:cppsm.$FOLD \033[33;1m$1 \033[0m"
@@ -64,7 +68,8 @@ elif [ "$TRAVIS_OS_NAME" = osx ]; then
6468 [ " $CODECOV " != 1 ] || HOMEBREW_NO_INSTALL_CLEANUP=1 folded ... concurrently LCOV_INSTALL_PID locked brew install lcov
6569 [ " $FORMAT_CHECK " = 0 ] || HOMEBREW_NO_INSTALL_CLEANUP=1 folded ... concurrently FORMAT_INSTALL_PID locked brew install prettier clang-format
6670elif [ " $TRAVIS_OS_NAME " = windows ]; then
67- folded ... concurrently MAKE_INSTALL_PID locked choco install make
71+ folded ... concurrently MAKE_INSTALL_PID choco install make
72+ folded ... concurrently VC2019_INSTALL_PID ignore choco install visualstudio2019-workload-vctools
6873fi
6974
7075export CMAKE_HELP
@@ -84,7 +89,7 @@ for CONFIG in Debug Release; do
8489 folded ... finish GCC_INSTALL_PID
8590 CC=gcc-8 CXX=g++-8 folded " GCC $CONFIG " cppsm test
8691 elif [ " $TRAVIS_OS_NAME " = windows ]; then
87- CC=' ' CXX=' ' folded " VC $CONFIG " cppsm test
92+ CC=' ' CXX=' ' folded " VC2017 $CONFIG " cppsm test
8893 folded ... finish MAKE_INSTALL_PID
8994 CC=" gcc" CXX=" g++" folded " GCC $CONFIG " cppsm test
9095 elif [ " $TRAVIS_OS_NAME " = osx ]; then
@@ -96,6 +101,16 @@ for CONFIG in Debug Release; do
96101 fi
97102done
98103
104+ if [ " $TRAVIS_OS_NAME " = windows ]; then
105+ folded ... finish VC2019_INSTALL_PID
106+ folded ... choco upgrade -y cmake.install
107+
108+ for CONFIG in Debug Release; do
109+ export CMAKE_BUILD_TYPE=$CONFIG
110+ CC=' ' CXX=' ' CMAKE_GENERATOR=" Visual Studio 16 2019" folded " VC2019 $CONFIG " cppsm test
111+ done
112+ fi
113+
99114code-coverage () {
100115 COVERAGE=1 cppsm test
101116 local COVERAGE_INFO=" ${TMP} coverage.info"
@@ -120,6 +135,3 @@ if [ "$TRAVIS_OS_NAME" = osx ]; then
120135 [ " $FORMAT_CHECK " = 0 ] || folded ... finish FORMAT_INSTALL_PID
121136 [ " $FORMAT_CHECK " = 0 ] || folded ' Format check' format-check
122137fi
123-
124- install-output () { cat " $OUT " ; }
125- folded ... install-output
0 commit comments