From 660193ae1b6f66d3fbef9920fa82d9b4d202cb5f Mon Sep 17 00:00:00 2001 From: Bret Curtis Date: Thu, 28 Jun 2018 13:59:23 +0200 Subject: [PATCH 01/11] Update before_script.msvc.sh This has working GL Win10 MSVC updates, should be cross-compatible with appveyor. --- CI/before_script.msvc.sh | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/CI/before_script.msvc.sh b/CI/before_script.msvc.sh index 38b304bf9..d6cb7323e 100644 --- a/CI/before_script.msvc.sh +++ b/CI/before_script.msvc.sh @@ -1,4 +1,5 @@ #!/bin/bash +set -x MISSINGTOOLS=0 @@ -235,7 +236,7 @@ case $VS_VERSION in TOOLSET="vc140" TOOLSET_REAL="vc141" MSVC_REAL_VER="15" - MSVC_VER="14" + MSVC_VER="14.1" MSVC_YEAR="2015" MSVC_DISPLAY_YEAR="2017" ;; @@ -245,7 +246,7 @@ case $VS_VERSION in TOOLSET="vc140" TOOLSET_REAL="vc140" MSVC_REAL_VER="14" - MSVC_VER="14" + MSVC_VER="14.0" MSVC_YEAR="2015" MSVC_DISPLAY_YEAR="2015" ;; @@ -255,7 +256,7 @@ case $VS_VERSION in TOOLSET="vc120" TOOLSET_REAL="vc120" MSVC_REAL_VER="12" - MSVC_VER="12" + MSVC_VER="12.0" MSVC_YEAR="2013" MSVC_DISPLAY_YEAR="2013" ;; @@ -325,9 +326,9 @@ if [ -z $SKIP_DOWNLOAD ]; then # Boost if [ -z $APPVEYOR ]; then - download "Boost 1.61.0" \ - "https://sourceforge.net/projects/boost/files/boost-binaries/1.61.0/boost_1_61_0-msvc-${MSVC_VER}.0-${BITS}.exe" \ - "boost-1.61.0-msvc${MSVC_YEAR}-win${BITS}.exe" + download "Boost 1.67.0" \ + "https://sourceforge.net/projects/boost/files/boost-binaries/1.67.0/boost_1_67_0-msvc-${MSVC_VER}-${BITS}.exe" \ + "boost-1.67.0-msvc${MSVC_YEAR}-win${BITS}.exe" fi # Bullet @@ -365,8 +366,8 @@ if [ -z $SKIP_DOWNLOAD ]; then QT_SUFFIX="" fi - download "Qt 5.7.2" \ - "https://download.qt.io/official_releases/qt/5.7/5.7.0/qt-opensource-windows-x86-msvc${MSVC_YEAR}${QT_SUFFIX}-5.7.0.exe" \ + download "Qt 5.7.0" \ + "https://download.qt.io/archive/qt/5.7/5.7.0/qt-opensource-windows-x86-msvc${MSVC_YEAR}${QT_SUFFIX}-5.7.0.exe" \ "qt-5.7.0-msvc${MSVC_YEAR}-win${BITS}.exe" \ "https://www.lysator.liu.se/~ace/OpenMW/deps/qt-5-install.qs" \ "qt-5-install.qs" @@ -403,7 +404,7 @@ echo # Boost if [ -z $APPVEYOR ]; then - printf "Boost 1.61.0... " + printf "Boost 1.67.0... " else if [ $MSVC_VER -eq 12 ]; then printf "Boost 1.58.0 AppVeyor... " @@ -421,11 +422,12 @@ fi printf "Exists. " elif [ -z $SKIP_EXTRACT ]; then rm -rf Boost - "${DEPS}/boost-1.61.0-msvc${MSVC_YEAR}-win${BITS}.exe" //dir="$(echo $BOOST_SDK | sed s,/,\\\\,g)" //verysilent + "${DEPS}/boost-1.61.0-msvc${MSVC_YEAR}-win${BITS}.exe" //DIR="${SYSTEMDRIVE}\boost" //VERYSILENT //NORESTART //SUPPRESSMSGBOXES //LOG="boost_install.log" + mv "${SYSTEMDRIVE}\boost" ${BOOST_SDK} fi add_cmake_opts -DBOOST_ROOT="$BOOST_SDK" \ - -DBOOST_LIBRARYDIR="${BOOST_SDK}/lib${BITS}-msvc-${MSVC_VER}.0" + -DBOOST_LIBRARYDIR="${BOOST_SDK}/lib${BITS}-msvc-${MSVC_VER}" add_cmake_opts -DBoost_COMPILER="-${TOOLSET}" echo Done. From 46575d8de7fa0e5ff5fa57efc4155bea4926dcb3 Mon Sep 17 00:00:00 2001 From: Bret Curtis Date: Thu, 28 Jun 2018 14:01:41 +0200 Subject: [PATCH 02/11] Update before_script.msvc.sh 1.61 -> 1.67 --- CI/before_script.msvc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CI/before_script.msvc.sh b/CI/before_script.msvc.sh index d6cb7323e..a35a61228 100644 --- a/CI/before_script.msvc.sh +++ b/CI/before_script.msvc.sh @@ -422,7 +422,7 @@ fi printf "Exists. " elif [ -z $SKIP_EXTRACT ]; then rm -rf Boost - "${DEPS}/boost-1.61.0-msvc${MSVC_YEAR}-win${BITS}.exe" //DIR="${SYSTEMDRIVE}\boost" //VERYSILENT //NORESTART //SUPPRESSMSGBOXES //LOG="boost_install.log" + "${DEPS}/boost-1.67.0-msvc${MSVC_YEAR}-win${BITS}.exe" //DIR="${SYSTEMDRIVE}\boost" //VERYSILENT //NORESTART //SUPPRESSMSGBOXES //LOG="boost_install.log" mv "${SYSTEMDRIVE}\boost" ${BOOST_SDK} fi From 8be52d228e19b01ca5cc05f9aa245a781838bd4f Mon Sep 17 00:00:00 2001 From: Bret Curtis Date: Thu, 28 Jun 2018 15:12:26 +0200 Subject: [PATCH 03/11] Update before_script.msvc.sh small fixes --- CI/before_script.msvc.sh | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/CI/before_script.msvc.sh b/CI/before_script.msvc.sh index a35a61228..5aea6e04c 100644 --- a/CI/before_script.msvc.sh +++ b/CI/before_script.msvc.sh @@ -233,8 +233,7 @@ fi case $VS_VERSION in 15|15.0|2017 ) GENERATOR="Visual Studio 15 2017" - TOOLSET="vc140" - TOOLSET_REAL="vc141" + TOOLSET="vc141" MSVC_REAL_VER="15" MSVC_VER="14.1" MSVC_YEAR="2015" @@ -244,7 +243,6 @@ case $VS_VERSION in 14|14.0|2015 ) GENERATOR="Visual Studio 14 2015" TOOLSET="vc140" - TOOLSET_REAL="vc140" MSVC_REAL_VER="14" MSVC_VER="14.0" MSVC_YEAR="2015" @@ -254,7 +252,6 @@ case $VS_VERSION in 12|12.0|2013 ) GENERATOR="Visual Studio 12 2013" TOOLSET="vc120" - TOOLSET_REAL="vc120" MSVC_REAL_VER="12" MSVC_VER="12.0" MSVC_YEAR="2013" @@ -406,7 +403,7 @@ echo if [ -z $APPVEYOR ]; then printf "Boost 1.67.0... " else - if [ $MSVC_VER -eq 12 ]; then + if [ $MSVC_VER -eq 12.0 ]; then printf "Boost 1.58.0 AppVeyor... " else printf "Boost 1.67.0 AppVeyor... " @@ -446,7 +443,7 @@ fi add_cmake_opts -DBOOST_ROOT="$BOOST_SDK" \ -DBOOST_LIBRARYDIR="${BOOST_SDK}/lib${BITS}-msvc-${MSVC_VER}.${LIB_SUFFIX}" - add_cmake_opts -DBoost_COMPILER="-${TOOLSET_REAL}" + add_cmake_opts -DBoost_COMPILER="-${TOOLSET}" echo Done. fi From 4c0e47509287756ae2d3d72026bfc60fd35ae7d3 Mon Sep 17 00:00:00 2001 From: Bret Curtis Date: Fri, 29 Jun 2018 10:16:28 +0200 Subject: [PATCH 04/11] Update before_script.msvc.sh Use powershell trick with boost_temp so there is little chance of collision. --- CI/before_script.msvc.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/CI/before_script.msvc.sh b/CI/before_script.msvc.sh index 5aea6e04c..15903c6ba 100644 --- a/CI/before_script.msvc.sh +++ b/CI/before_script.msvc.sh @@ -413,14 +413,19 @@ fi if [ -z $APPVEYOR ]; then cd $DEPS_INSTALL + # Boost's installer is still based on ms-dos API that doesn't support larger than 260 char path names + # We work around this by installing to root of the current working drive and then move it to our deps + BOOST_SDK="$(real_pwd)/Boost" + CWD_DRIVE_ROOT=`powershell -command '(get-location).Drive.Root'` # get the current working drive's root if [ -d Boost ] && grep "BOOST_VERSION 106100" Boost/boost/version.hpp > /dev/null; then printf "Exists. " elif [ -z $SKIP_EXTRACT ]; then rm -rf Boost - "${DEPS}/boost-1.67.0-msvc${MSVC_YEAR}-win${BITS}.exe" //DIR="${SYSTEMDRIVE}\boost" //VERYSILENT //NORESTART //SUPPRESSMSGBOXES //LOG="boost_install.log" - mv "${SYSTEMDRIVE}\boost" ${BOOST_SDK} + "${DEPS}/boost-1.67.0-msvc${MSVC_YEAR}-win${BITS}.exe" //DIR="${CWD_DRIVE_ROOT}Boost_temp" //VERYSILENT //NORESTART //SUPPRESSMSGBOXES //LOG="boost_install.log" + mv "${CWD_DRIVE_ROOT}Boost_temp" ${BOOST_SDK} + fi add_cmake_opts -DBOOST_ROOT="$BOOST_SDK" \ From a532aef9356e8640ea6a553d2c18482b56979630 Mon Sep 17 00:00:00 2001 From: Bret Curtis Date: Fri, 29 Jun 2018 11:31:37 +0200 Subject: [PATCH 05/11] Update before_script.msvc.sh updating version check and correct indentation, wrap BOOST_SDK in "" to support dirs with spaces. --- CI/before_script.msvc.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CI/before_script.msvc.sh b/CI/before_script.msvc.sh index 15903c6ba..5ca1de133 100644 --- a/CI/before_script.msvc.sh +++ b/CI/before_script.msvc.sh @@ -419,12 +419,12 @@ fi BOOST_SDK="$(real_pwd)/Boost" CWD_DRIVE_ROOT=`powershell -command '(get-location).Drive.Root'` # get the current working drive's root - if [ -d Boost ] && grep "BOOST_VERSION 106100" Boost/boost/version.hpp > /dev/null; then + if [ -d Boost ] && grep "BOOST_VERSION 106700" Boost/boost/version.hpp > /dev/null; then printf "Exists. " elif [ -z $SKIP_EXTRACT ]; then rm -rf Boost - "${DEPS}/boost-1.67.0-msvc${MSVC_YEAR}-win${BITS}.exe" //DIR="${CWD_DRIVE_ROOT}Boost_temp" //VERYSILENT //NORESTART //SUPPRESSMSGBOXES //LOG="boost_install.log" - mv "${CWD_DRIVE_ROOT}Boost_temp" ${BOOST_SDK} + "${DEPS}/boost-1.67.0-msvc${MSVC_YEAR}-win${BITS}.exe" //DIR="${CWD_DRIVE_ROOT}Boost_temp" //VERYSILENT //NORESTART //SUPPRESSMSGBOXES //LOG="boost_install.log" + mv "${CWD_DRIVE_ROOT}Boost_temp" "${BOOST_SDK}" fi From 8811c7141afc9fa65a1de4f0840a80b02b6f92ba Mon Sep 17 00:00:00 2001 From: Bret Curtis Date: Fri, 29 Jun 2018 15:14:23 +0200 Subject: [PATCH 06/11] Update before_script.msvc.sh taking nits into account :) --- CI/before_script.msvc.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/CI/before_script.msvc.sh b/CI/before_script.msvc.sh index 5ca1de133..4f471462a 100644 --- a/CI/before_script.msvc.sh +++ b/CI/before_script.msvc.sh @@ -1,5 +1,5 @@ #!/bin/bash -set -x +# set -x # turn-on for debugging MISSINGTOOLS=0 @@ -413,17 +413,18 @@ fi if [ -z $APPVEYOR ]; then cd $DEPS_INSTALL - # Boost's installer is still based on ms-dos API that doesn't support larger than 260 char path names - # We work around this by installing to root of the current working drive and then move it to our deps + # Boost's installer is still based on ms-dos API that doesn't support larger than 260 char path names + # We work around this by installing to root of the current working drive and then move it to our deps BOOST_SDK="$(real_pwd)/Boost" - CWD_DRIVE_ROOT=`powershell -command '(get-location).Drive.Root'` # get the current working drive's root + CWD_DRIVE_ROOT=$(powershell -command '(get-location).Drive.Root') # get the current working drive's root if [ -d Boost ] && grep "BOOST_VERSION 106700" Boost/boost/version.hpp > /dev/null; then printf "Exists. " elif [ -z $SKIP_EXTRACT ]; then rm -rf Boost - "${DEPS}/boost-1.67.0-msvc${MSVC_YEAR}-win${BITS}.exe" //DIR="${CWD_DRIVE_ROOT}Boost_temp" //VERYSILENT //NORESTART //SUPPRESSMSGBOXES //LOG="boost_install.log" + [ -n "$CI" ] CI_EXTRA_INNO_OPTIONS="//SUPPRESSMSGBOXES //LOG="boost_install.log" + "${DEPS}/boost-1.67.0-msvc${MSVC_YEAR}-win${BITS}.exe" //DIR="${CWD_DRIVE_ROOT}Boost_temp" //VERYSILENT //NORESTART ${CI_EXTRA_INNO_OPTIONS} mv "${CWD_DRIVE_ROOT}Boost_temp" "${BOOST_SDK}" fi From c474709127125e8eeed7f7aaec6f1590f721c465 Mon Sep 17 00:00:00 2001 From: Bret Curtis Date: Fri, 29 Jun 2018 15:26:11 +0200 Subject: [PATCH 07/11] Update before_script.msvc.sh --- CI/before_script.msvc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CI/before_script.msvc.sh b/CI/before_script.msvc.sh index 4f471462a..f6736c2ee 100644 --- a/CI/before_script.msvc.sh +++ b/CI/before_script.msvc.sh @@ -423,7 +423,7 @@ fi printf "Exists. " elif [ -z $SKIP_EXTRACT ]; then rm -rf Boost - [ -n "$CI" ] CI_EXTRA_INNO_OPTIONS="//SUPPRESSMSGBOXES //LOG="boost_install.log" + [ -n "$CI" ] && CI_EXTRA_INNO_OPTIONS="//SUPPRESSMSGBOXES //LOG='boost_install.log'" "${DEPS}/boost-1.67.0-msvc${MSVC_YEAR}-win${BITS}.exe" //DIR="${CWD_DRIVE_ROOT}Boost_temp" //VERYSILENT //NORESTART ${CI_EXTRA_INNO_OPTIONS} mv "${CWD_DRIVE_ROOT}Boost_temp" "${BOOST_SDK}" From 2bf0d598cfb138dc5d7c234d95ce4a19b2c64901 Mon Sep 17 00:00:00 2001 From: Bret Curtis Date: Fri, 29 Jun 2018 20:01:35 +0200 Subject: [PATCH 08/11] Update before_script.msvc.sh Wrap in quites --- CI/before_script.msvc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CI/before_script.msvc.sh b/CI/before_script.msvc.sh index f6736c2ee..ce13846c8 100644 --- a/CI/before_script.msvc.sh +++ b/CI/before_script.msvc.sh @@ -417,7 +417,7 @@ fi # We work around this by installing to root of the current working drive and then move it to our deps BOOST_SDK="$(real_pwd)/Boost" - CWD_DRIVE_ROOT=$(powershell -command '(get-location).Drive.Root') # get the current working drive's root + CWD_DRIVE_ROOT="$(powershell -command '(get-location).Drive.Root')" # get the current working drive's root if [ -d Boost ] && grep "BOOST_VERSION 106700" Boost/boost/version.hpp > /dev/null; then printf "Exists. " From 4177fd04ebb49afc8c041b8eb6ac51f68e2a4cd7 Mon Sep 17 00:00:00 2001 From: Bret Curtis Date: Fri, 29 Jun 2018 21:08:42 +0200 Subject: [PATCH 09/11] Update before_script.msvc.sh Does it blend? --- CI/before_script.msvc.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/CI/before_script.msvc.sh b/CI/before_script.msvc.sh index ce13846c8..7c8f3ef68 100644 --- a/CI/before_script.msvc.sh +++ b/CI/before_script.msvc.sh @@ -412,12 +412,13 @@ fi { if [ -z $APPVEYOR ]; then cd $DEPS_INSTALL - + + BOOST_SDK="$(real_pwd)/Boost" + # Boost's installer is still based on ms-dos API that doesn't support larger than 260 char path names # We work around this by installing to root of the current working drive and then move it to our deps - - BOOST_SDK="$(real_pwd)/Boost" - CWD_DRIVE_ROOT="$(powershell -command '(get-location).Drive.Root')" # get the current working drive's root + # get the current working drive's root, we'll install to that temporarily + CWD_DRIVE_ROOT=$(echo "$(powershell -command '(get-location).Drive.Root')" | sed "s,\\\\,/,g" | sed "s,\(.\):,/\\1,") if [ -d Boost ] && grep "BOOST_VERSION 106700" Boost/boost/version.hpp > /dev/null; then printf "Exists. " From af75c1e909e136fd32776c6070241f070c9df5e2 Mon Sep 17 00:00:00 2001 From: Bret Curtis Date: Sat, 30 Jun 2018 08:40:21 +0200 Subject: [PATCH 10/11] Update before_script.msvc.sh reverting back to what works --- CI/before_script.msvc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CI/before_script.msvc.sh b/CI/before_script.msvc.sh index 7c8f3ef68..22f4cc2fe 100644 --- a/CI/before_script.msvc.sh +++ b/CI/before_script.msvc.sh @@ -418,7 +418,7 @@ fi # Boost's installer is still based on ms-dos API that doesn't support larger than 260 char path names # We work around this by installing to root of the current working drive and then move it to our deps # get the current working drive's root, we'll install to that temporarily - CWD_DRIVE_ROOT=$(echo "$(powershell -command '(get-location).Drive.Root')" | sed "s,\\\\,/,g" | sed "s,\(.\):,/\\1,") + CWD_DRIVE_ROOT="$(powershell -command '(get-location).Drive.Root')" if [ -d Boost ] && grep "BOOST_VERSION 106700" Boost/boost/version.hpp > /dev/null; then printf "Exists. " From 57e25735939d310933e4df94ea6bce2168ff2990 Mon Sep 17 00:00:00 2001 From: Bret Curtis Date: Tue, 3 Jul 2018 15:59:51 +0200 Subject: [PATCH 11/11] Update before_script.msvc.sh check if temp directory exists, error out and warn user about it. --- CI/before_script.msvc.sh | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/CI/before_script.msvc.sh b/CI/before_script.msvc.sh index 22f4cc2fe..eba278316 100644 --- a/CI/before_script.msvc.sh +++ b/CI/before_script.msvc.sh @@ -412,28 +412,30 @@ fi { if [ -z $APPVEYOR ]; then cd $DEPS_INSTALL - + BOOST_SDK="$(real_pwd)/Boost" - + # Boost's installer is still based on ms-dos API that doesn't support larger than 260 char path names # We work around this by installing to root of the current working drive and then move it to our deps # get the current working drive's root, we'll install to that temporarily - CWD_DRIVE_ROOT="$(powershell -command '(get-location).Drive.Root')" + CWD_DRIVE_ROOT="$(powershell -command '(get-location).Drive.Root')Boost_temp" + CWD_DRIVE_ROOT_BASH=$(echo "$CWD_DRIVE_ROOT" | sed "s,\\\\,/,g" | sed "s,\(.\):,/\\1,") + if [ -d CWD_DRIVE_ROOT_BASH ]; then + printf "Cannot continue, ${CWD_DRIVE_ROOT_BASH} aka ${CWD_DRIVE_ROOT} already exists. Please remove before re-running. "; + exit 1; + fi - if [ -d Boost ] && grep "BOOST_VERSION 106700" Boost/boost/version.hpp > /dev/null; then + if [ -d ${BOOST_SDK} ] && grep "BOOST_VERSION 106700" Boost/boost/version.hpp > /dev/null; then printf "Exists. " elif [ -z $SKIP_EXTRACT ]; then rm -rf Boost [ -n "$CI" ] && CI_EXTRA_INNO_OPTIONS="//SUPPRESSMSGBOXES //LOG='boost_install.log'" - "${DEPS}/boost-1.67.0-msvc${MSVC_YEAR}-win${BITS}.exe" //DIR="${CWD_DRIVE_ROOT}Boost_temp" //VERYSILENT //NORESTART ${CI_EXTRA_INNO_OPTIONS} - mv "${CWD_DRIVE_ROOT}Boost_temp" "${BOOST_SDK}" - + "${DEPS}/boost-1.67.0-msvc${MSVC_YEAR}-win${BITS}.exe" //DIR="${CWD_DRIVE_ROOT}" //VERYSILENT //NORESTART ${CI_EXTRA_INNO_OPTIONS} + mv "${CWD_DRIVE_ROOT_BASH}" "${BOOST_SDK}" fi - add_cmake_opts -DBOOST_ROOT="$BOOST_SDK" \ -DBOOST_LIBRARYDIR="${BOOST_SDK}/lib${BITS}-msvc-${MSVC_VER}" add_cmake_opts -DBoost_COMPILER="-${TOOLSET}" - echo Done. else # Appveyor unstable has all the boost we need already