From 2d7689b978444eef07f8a893b78da2d9cb1214fc Mon Sep 17 00:00:00 2001 From: PlutonicOverkill Date: Fri, 14 Jul 2017 12:07:16 +1200 Subject: [PATCH] Add Visual Studio 2017 support The new VS2017 configuration uses all the same settings as the VS2015 one, but uses a different generator. CMake by default looks for Boost libraries based on the compiler being used, but Boost only has binaries for VS2015, so a hack is used to make sure it looks for the correct ones. I don't know what TOOLSET and XP_TOOLSET are for but I left them just in case. --- CI/before_script.msvc.sh | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/CI/before_script.msvc.sh b/CI/before_script.msvc.sh index 5aa76de92..35cb2f818 100644 --- a/CI/before_script.msvc.sh +++ b/CI/before_script.msvc.sh @@ -75,7 +75,7 @@ Options: Set the build platform, can also be set with environment variable PLATFORM. -u Configure for unity builds. - -v <2013/2015> + -v <2013/2015/2017> Choose the Visual Studio version to use. -V Run verbosely @@ -213,20 +213,34 @@ if [ -z $VS_VERSION ]; then fi case $VS_VERSION in + 15|15.0|2017 ) + GENERATOR="Visual Studio 15 2017" + XP_TOOLSET="v140xp" + TOOLSET="v140" + BOOST_TOOLSET="vc140" + MSVC_VER="14" + MSVC_YEAR="2015" + MSVC_DISPLAY_YEAR="2017" + ;; + 14|14.0|2015 ) GENERATOR="Visual Studio 14 2015" XP_TOOLSET="v140_xp" TOOLSET="v140" + BOOST_TOOLSET="vc140" MSVC_VER="14" MSVC_YEAR="2015" + MSVC_DISPLAY_YEAR="2015" ;; 12|12.0|2013 ) GENERATOR="Visual Studio 12 2013" XP_TOOLSET="v120_xp" TOOLSET="v120" + BOOST_TOOLSET="vc120" MSVC_VER="12" MSVC_YEAR="2013" + MSVC_DISPLAY_YEAR="2013" ;; esac @@ -278,7 +292,7 @@ fi echo echo "===================================" -echo "Starting prebuild on MSVC${MSVC_YEAR} WIN${BITS}" +echo "Starting prebuild on MSVC${MSVC_DISPLAY_YEAR} WIN${BITS}" echo "===================================" echo @@ -350,7 +364,7 @@ fi cd .. #/.. # Set up dependencies -BUILD_DIR="MSVC${MSVC_YEAR}_${BITS}" +BUILD_DIR="MSVC${MSVC_DISPLAY_YEAR}_${BITS}" if [ -z $KEEP ]; then echo echo "(Re)Creating build directory." @@ -395,6 +409,7 @@ fi add_cmake_opts -DBOOST_ROOT="$BOOST_SDK" \ -DBOOST_LIBRARYDIR="${BOOST_SDK}/lib${BITS}-msvc-${MSVC_VER}.0" + add_cmake_opts -DBoost_COMPILER="-${BOOST_TOOLSET}" echo Done. else @@ -406,6 +421,7 @@ fi fi add_cmake_opts -DBOOST_ROOT="$BOOST_SDK" \ -DBOOST_LIBRARYDIR="${BOOST_SDK}/lib${BITS}-msvc-${MSVC_VER}.0" + add_cmake_opts -DBoost_COMPILER="-${BOOST_TOOLSET}" echo Done. fi