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" \