anchor.diff:  SET DEPENDENCIES_LIBRARIES_DIRECTORY=libs
   SET BOOST_REPOSITORY_URL=https://github.com/boostorg/
   SET BOOST_DIRECTORY=boost
  -SET BOOST_BRANCH_TAG_VERSION=boost-1.63.0
  +SET BOOST_BRANCH_TAG_VERSION=boost-1.64.0
   SET LIBUV_REPOSITORY_URL=https://github.com/libuv/libuv.git
   SET LIBUV_DIRECTORY=libuv
  -SET LIBUV_BRANCH_TAG_VERSION=v1.11.0
  -SET LIBUV_PACKAGE_VERSION=1.11.0
  +SET LIBUV_BRANCH_TAG_VERSION=v1.15.0
  +SET LIBUV_PACKAGE_VERSION=1.15.0
   SET GYP_REPOSITORY_URL=https://chromium.googlesource.com/external/gyp.git
   SET LIBSSH2_REPOSITORY_URL=https://github.com/libssh2/libssh2.git
   SET LIBSSH2_DIRECTORY=libssh2
  
positive.code: REM Determine if the packages are being built
  ECHO.
  IF "!ENABLE_BUILD_PACKAGES!" == "!FALSE!" (
  	ECHO Building Library Dependencies
  
  	REM Determine if libuv needs to be built
  	IF NOT EXIST "!ABSOLUTE_LIBUV_LIBRARY_DIRECTORY!" (
  		SET IS_WINDOWS_SDK_ENABLED=!FALSE!
  		IF DEFINED WINDOWS_SDK_SELECTED SET IS_WINDOWS_SDK_ENABLED=!TRUE!
  		CALL :BUILDLIBUV "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!LIBUV_DIRECTORY!" "!ABSOLUTE_LIBUV_LIBRARY_DIRECTORY!" !TARGET_ARCHITECTURE! !LIBRARY_TYPE! !IS_WINDOWS_SDK_ENABLED! !FALSE! "!LOG_LIBUV_BUILD!"
  		IF !ERRORLEVEL! NEQ 0 EXIT /B !ERRORLEVEL!
  	)
  
  	REM Determine if zlib needs to be built
  	IF !ENABLE_ZLIB! EQU !TRUE! (
  		IF NOT EXIST "!ABSOLUTE_ZLIB_LIBRARY_DIRECTORY!" (
  			CALL :BUILDZLIB "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!ZLIB_DIRECTORY!" "!ABSOLUTE_ZLIB_LIBRARY_DIRECTORY!" "!LOG_ZLIB_BUILD!"
  			IF !ERRORLEVEL! NEQ 0 EXIT /B !ERRORLEVEL!
  		)
  	) ELSE (
  		REM Indicate zlib is disabled
  		SET ABSOLUTE_ZLIB_LIBRARY_DIRECTORY=
  	)
  
  	REM Determine is OpenSSL should be built
  	IF !ENABLE_OPENSSL! EQU !TRUE! (
  		REM Determine if OpenSSL needs to be built
  		IF NOT EXIST "!ABSOLUTE_OPENSSL_LIBRARY_DIRECTORY!" (
  			REM Determine if OpenSSL should be built with zlib support
  			CALL :BUILDOPENSSL "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!OPENSSL_DIRECTORY!" "!ABSOLUTE_OPENSSL_LIBRARY_DIRECTORY!" "!ABSOLUTE_ZLIB_LIBRARY_DIRECTORY!" !TARGET_ARCHITECTURE! !LIBRARY_TYPE! !FALSE! "!LOG_OPENSSL_BUILD!"
  			IF !ERRORLEVEL! NEQ 0 EXIT /B !ERRORLEVEL!
  		)
  	) ELSE (
  		REM Indicate OpenSSL is disabled
  		SET ABSOLUTE_OPENSSL_LIBRARY_DIRECTORY=
  	)
  
  	REM Determine is libssh2 should be built
  	IF !ENABLE_LIBSSH2! EQU !TRUE! (
  		REM Determine if libssh2 needs to be built
  		IF NOT EXIST "!ABSOLUTE_LIBSSH2_LIBRARY_DIRECTORY!" (
  			CALL :BUILDLIBSSH2 "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!LIBSSH2_DIRECTORY!" "!ABSOLUTE_LIBSSH2_LIBRARY_DIRECTORY!" "!ABSOLUTE_OPENSSL_LIBRARY_DIRECTORY!" "!ABSOLUTE_ZLIB_LIBRARY_DIRECTORY!" !TARGET_ARCHITECTURE! !VISUAL_STUDIO_INTERNAL_SHORTHAND_VERSION! !FALSE! "!LOG_LIBSSH2_BUILD!"
  			IF !ERRORLEVEL! NEQ 0 EXIT /B !ERRORLEVEL!
  		)
  	) ELSE (
  		REM Indicate libssh2 is disabled
  		SET ABSOLUTE_LIBSSH2_LIBRARY_DIRECTORY=
  	)
  
  	REM Determine if driver should be built
  	IF !BUILD_DEPENDENCIES_ONLY! EQU !FALSE! (
  		ECHO.
  		ECHO Building Driver
  
  		REM Determine if the driver needs to be built
  		SET DRIVER_INSTALLATION_DIRECTORY_OVERRIDDEN=!TRUE!
  		IF "!DRIVER_INSTALLATION_DIRECTORY!" == "" (
  			SET "DRIVER_INSTALLATION_DIRECTORY=!ABSOLUTE_DRIVER_LIBRARY_DIRECTORY!"
  			SET DRIVER_INSTALLATION_DIRECTORY_OVERRIDDEN=!FALSE!
  		)
  		IF NOT EXIST "!DRIVER_INSTALLATION_DIRECTORY!" (
  			SET BOOST_DEPENDENCY_SOURCE_DIRECTORY=
  			IF !USE_BOOST_ATOMIC! EQU !TRUE! SET "BOOST_DEPENDENCY_SOURCE_DIRECTORY=!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!BOOST_DIRECTORY!"
  			CALL :BUILDDRIVER "!ABSOLUTE_BATCH_DIRECTORY!" "!ABSOLUTE_BUILD_DIRECTORY!\!DRIVER_DRIVER_DIRECTORY!" "!DRIVER_INSTALLATION_DIRECTORY!" "!ABSOLUTE_LIBUV_LIBRARY_DIRECTORY!" "!ABSOLUTE_OPENSSL_LIBRARY_DIRECTORY!" "!ABSOLUTE_ZLIB_LIBRARY_DIRECTORY!" "!BOOST_ROOT_DIRECTORY!" "!ABSOLUTE_LIBSSH2_LIBRARY_DIRECTORY!" !BUILD_TYPE! !TARGET_ARCHITECTURE! !LIBRARY_TYPE! !VISUAL_STUDIO_INTERNAL_SHORTHAND_VERSION! !ENABLE_EXAMPLES! !ENABLE_TESTS! !ENABLE_INTEGRATION_TESTS! !ENABLE_UNIT_TESTS! !GENERATE_SOLUTION! "!BOOST_DEPENDENCY_SOURCE_DIRECTORY!" "!LOG_DRIVER_BUILD!"
  			IF !ERRORLEVEL! NEQ 0 EXIT /B !ERRORLEVEL!
  		)
  
  		REM Determine if dependencies should be copied
  		IF !DRIVER_INSTALLATION_DIRECTORY_OVERRIDDEN! EQU !TRUE! (
  			IF EXIST "!DRIVER_INSTALLATION_DIRECTORY!\..\" (
  				ECHO | SET /P=Installing cpp-driver dependencies ... 
  				XCOPY /E /Y "!ABSOLUTE_DEPENDENCIES_LIBRARIES_DIRECTORY!" "!DRIVER_INSTALLATION_DIRECTORY!\..\" >> "!LOG_DRIVER_BUILD!" 2>&1
  				IF NOT !ERRORLEVEL! EQU 0 (
  					ECHO FAILED!
  					ECHO 	See !LOG_DRIVER_BUILD! for more details
  				)
  				ECHO done.
  			)
  		)
  
  		REM Display success message with location to built driver library
  		ECHO.
  		IF !DRIVER_GENERATE_SOLUTION! EQU !TRUE! (
  			ECHO Visual Studio !VISUAL_STUDIO_INTERNAL_SHORTHAND_VERSION! solution has been successfully generated
  			ECHO 	!ABSOLUTE_BUILD_DIRECTORY!\!DRIVER_DRIVER_DIRECTORY!\cassandra.sln
  		) ELSE (
  			ECHO Driver has been successfully built [!TARGET_ARCHITECTURE!-bit !BUILD_TYPE!]
  			ECHO 	!DRIVER_INSTALLATION_DIRECTORY!
  		)
  	) ELSE (
  		REM Display success message with location to built dependencies
  		ECHO.
  		ECHO Dependencies have been successfully built [!TARGET_ARCHITECTURE!-bit !BUILD_TYPE!]
  		ECHO 	!ABSOLUTE_DEPENDENCIES_DIRECTORY!
  	)
  ) ELSE (
  	REM Ensure the Windows SDK version is undefined (unset)
  	IF DEFINED WindowsSDKDir SET WindowsSDKDir=
  
  	REM Store current Visual Studio tools environment variables
  	FOR %%A IN (!VISUAL_STUDIO_INTERNAL_VERSIONS!) DO (
  		SET "STORED_VS%%ACOMNTOOLS=!VS%%ACOMNTOOLS!"
  	)
  
  	REM Iterate through all available Visual Studio versions
  	SET INDEX=0
  	SET "STORED_PATH=!PATH!"
  	FOR %%A IN (!AVAILABLE_VISUAL_STUDIO_VERSIONS!) DO (
  		SET /A INDEX+=1
  		CALL :GETARRAYELEMENT VISUAL_STUDIO_VERSIONS %%A VISUAL_STUDIO_VERSION
  		CALL :GETARRAYELEMENT AVAILABLE_VISUAL_STUDIO_VERSIONS !INDEX! USER_SELECTION
  		CALL :GETARRAYELEMENT VISUAL_STUDIO_INTERNAL_VERSIONS !USER_SELECTION! VISUAL_STUDIO_INTERNAL_VERSION
  		CALL :GETARRAYELEMENT VISUAL_STUDIO_INTERNAL_SHORTHAND_VERSIONS !USER_SELECTION! VISUAL_STUDIO_INTERNAL_SHORTHAND_VERSION
  		CALL :GETARRAYELEMENT VISUAL_STUDIO_VERSIONS !USER_SELECTION! VISUAL_STUDIO_VERSION	
  
  		REM Determine if both 32 and 64-bit targets can be built
  		SET AVAILABLE_TARGET_ARCHITECTURES=!ARCHITECTURE_32BIT!
  		IF !SYSTEM_ARCHITECTURE! EQU !ARCHITECTURE_64BIT! (
  			SET "AVAILABLE_TARGET_ARCHITECTURES=!AVAILABLE_TARGET_ARCHITECTURES! !ARCHITECTURE_64BIT!"
  		)
  
  		REM Ensure the other versions of VSXXXCOMNTOOLS are undefined (unset)
  		FOR %%B IN (!VISUAL_STUDIO_INTERNAL_VERSIONS!) DO (
  			SET VS%%BCOMNTOOLS=
  			IF %%B EQU !VISUAL_STUDIO_INTERNAL_VERSION! SET "VS%%BCOMNTOOLS=!STORED_VS%%BCOMNTOOLS!"
  		)
  
  		REM Iterate through all available target architectures
  		FOR %%C IN (!AVAILABLE_TARGET_ARCHITECTURES!) DO (
  			REM Setup the Visual Studio environment
  			CALL :CONFIGUREVISUALSTUDIOENVIRONMENT !VISUAL_STUDIO_INTERNAL_VERSION! %%C
  			CALL :GETFULLPATH "!DEVENV!" DEVENV_FOUND
  			CALL :GETFULLPATH "!MSBUILD!" MSBUILD_FOUND
  			CALL :GETFULLPATH "!NMAKE!" NMAKE_FOUND
  
  			REM Create the base installation locations
  			SET DRIVER_PACKAGE_INSTALLATION_DIRECTORY=win%%C\msvc!VISUAL_STUDIO_INTERNAL_VERSION!
  			SET DEPENDENCY_PACKAGE_INSTALLATION_DIRECTORY=!DRIVER_PACKAGE_INSTALLATION_DIRECTORY!\!DEPENDENCIES_DIRECTORY!
  			SET "ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY=!ABSOLUTE_PACKAGES_DIRECTORY!\!DRIVER_PACKAGE_INSTALLATION_DIRECTORY!"
  
  			REM Iterate through shared and static builds
  			FOR %%D IN (!LIBRARY_TYPE_SHARED! !LIBRARY_TYPE_STATIC!) DO (
  				REM Display summary of build options
  				ECHO Building %%D Visual Studio !VISUAL_STUDIO_VERSION! Win%%C Package
  
  				REM Create the installation locations
  				CALL :LOWERCASE %%D LOWERCASE_LIBRARY_TYPE
  				SET DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY=!DEPENDENCY_PACKAGE_INSTALLATION_DIRECTORY!\!LIBUV_DIRECTORY!\!LOWERCASE_LIBRARY_TYPE!
  				SET DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY=!DEPENDENCY_PACKAGE_INSTALLATION_DIRECTORY!\!OPENSSL_DIRECTORY!\!LOWERCASE_LIBRARY_TYPE!
  				SET "ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY=!ABSOLUTE_PACKAGES_DIRECTORY!\!DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY!"
  				SET "ABSOLUTE_DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY=!ABSOLUTE_PACKAGES_DIRECTORY!\!DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY!"
  
  				REM Build the dependencies and driver
  				CALL :BUILDLIBUV "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!LIBUV_DIRECTORY!" "!ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY!" %%C %%D !FALSE! !TRUE! "!LOG_LIBUV_BUILD!"
  				IF !ERRORLEVEL! NEQ 0 EXIT /B !ERRORLEVEL!
  				CALL :BUILDOPENSSL "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!OPENSSL_DIRECTORY!" "!ABSOLUTE_DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY!" "" %%C %%D !TRUE! "!LOG_OPENSSL_BUILD!"
  				IF !ERRORLEVEL! NEQ 0 EXIT /B !ERRORLEVEL!
  				IF !BUILD_DEPENDENCIES_ONLY! EQU !FALSE! (
  					IF EXIST "!ABSOLUTE_BUILD_DIRECTORY!\!DRIVER_DRIVER_DIRECTORY!" CALL :CLEANDIRECTORY "!ABSOLUTE_BUILD_DIRECTORY!\!DRIVER_DRIVER_DIRECTORY!" "Cleaning driver library directory"
  					SET BOOST_DEPENDENCY_SOURCE_DIRECTORY=
  					IF !VISUAL_STUDIO_VERSION! EQU 2010 SET "BOOST_DEPENDENCY_SOURCE_DIRECTORY=!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!BOOST_DIRECTORY!"
  					CALL :BUILDDRIVER "!ABSOLUTE_BATCH_DIRECTORY!" "!ABSOLUTE_BUILD_DIRECTORY!\!DRIVER_DRIVER_DIRECTORY!" "!ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY!" "!ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY!" "!ABSOLUTE_DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY!" "" "" "" !BUILD_TYPE_RELEASE! %%C %%D !VISUAL_STUDIO_INTERNAL_SHORTHAND_VERSION! !FALSE! !FALSE! !FALSE! !FALSE! !GENERATE_SOLUTION! "!BOOST_DEPENDENCY_SOURCE_DIRECTORY!" "!LOG_DRIVER_BUILD!"
  					IF !ERRORLEVEL! NEQ 0 EXIT /B !ERRORLEVEL!
  				)
  
  				REM Build libssh2 (static) as well for dependency only builds
  				IF !ENABLE_LIBSSH2! EQU !TRUE! (
  					IF "%%D" == "!LIBRARY_TYPE_STATIC!" (
  						SET DEPENDENCY_PACKAGE_LIBSSH2_INSTALLATION_DIRECTORY=!DEPENDENCY_PACKAGE_INSTALLATION_DIRECTORY!\!LIBSSH2_DIRECTORY!
  						SET "ABSOLUTE_DEPENDENCY_PACKAGE_LIBSSH2_INSTALLATION_DIRECTORY=!ABSOLUTE_PACKAGES_DIRECTORY!\!DEPENDENCY_PACKAGE_LIBSSH2_INSTALLATION_DIRECTORY!"
  						CALL :BUILDLIBSSH2 "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!LIBSSH2_DIRECTORY!" "!ABSOLUTE_DEPENDENCY_PACKAGE_LIBSSH2_INSTALLATION_DIRECTORY!" "!ABSOLUTE_DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY!" "" %%C !VISUAL_STUDIO_INTERNAL_SHORTHAND_VERSION! !TRUE! "!LOG_LIBSSH2_BUILD!"
  						IF !ERRORLEVEL! NEQ 0 EXIT /B !ERRORLEVEL!
  					)
  				)
  
  				REM Clean-up the dependency packages
  				IF NOT EXIST "!ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY!\..\!LIBRARY_INCLUDE_DIRECTORY!" MOVE /Y "!ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY!\!LIBRARY_INCLUDE_DIRECTORY!" "!ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY!\..\!LIBRARY_INCLUDE_DIRECTORY!" >> "!LOG_PACKAGE_BUILD!" 2>&1
  				IF EXIST "!ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY!\!LIBRARY_INCLUDE_DIRECTORY!" RMDIR /S /Q "!ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY!\!LIBRARY_INCLUDE_DIRECTORY!" >> "!LOG_PACKAGE_BUILD!" 2>&1
  				IF NOT EXIST "!ABSOLUTE_DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY!\..\!LIBRARY_INCLUDE_DIRECTORY!" MOVE /Y "!ABSOLUTE_DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY!\!LIBRARY_INCLUDE_DIRECTORY!" "!ABSOLUTE_DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY!\..\!LIBRARY_INCLUDE_DIRECTORY!" >> "!LOG_PACKAGE_BUILD!" 2>&1
  				IF NOT EXIST "!ABSOLUTE_DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY!\openssl.cnf" MOVE /Y "!ABSOLUTE_DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY!\openssl.cnf" "!ABSOLUTE_DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY!" >> "!LOG_PACKAGE_BUILD!" 2>&1
  				IF EXIST "!ABSOLUTE_DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY!\!LIBRARY_INCLUDE_DIRECTORY!" RMDIR /S /Q "!ABSOLUTE_DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY!\!LIBRARY_INCLUDE_DIRECTORY!" >> "!LOG_PACKAGE_BUILD!" 2>&1
  				IF EXIST "!ABSOLUTE_DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY!\openssl.cnf" ERASE /S /Q "!ABSOLUTE_DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY!\openssl.cnf" >> "!LOG_PACKAGE_BUILD!" 2>&1
  
  				REM Copy distribution files into packages
  				IF NOT EXIST "!ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY!\..\LICENSE" COPY /Y "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!LIBUV_DIRECTORY!\LICENSE" "!ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY!\.." >> "!LOG_PACKAGE_BUILD!" 2>&1
  				IF NOT EXIST "!ABSOLUTE_DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY!\..\LICENSE" COPY /Y "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!OPENSSL_DIRECTORY!\LICENSE" "!ABSOLUTE_DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY!\.." >> "!LOG_PACKAGE_BUILD!" 2>&1
  				IF !BUILD_DEPENDENCIES_ONLY! EQU !FALSE! (
  					IF NOT EXIST "!ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY!\CHANGELOG.md" COPY /Y "!ABSOLUTE_BATCH_DIRECTORY!\CHANGELOG.md" "!ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY!" >> "!LOG_PACKAGE_BUILD!" 2>&1
  					IF NOT EXIST "!ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY!\LICENSE.txt" COPY /Y "!ABSOLUTE_BATCH_DIRECTORY!\LICENSE.txt" "!ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY!" >> "!LOG_PACKAGE_BUILD!" 2>&1
  					IF NOT EXIST "!ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY!\README.md" COPY /Y "!ABSOLUTE_BATCH_DIRECTORY!\README.md" "!ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY!" >> "!LOG_PACKAGE_BUILD!" 2>&1
  				)
  
  				REM Skip a line on the display
  				ECHO.
  			)
  
  			REM Build the zip packages for the current target architecture and Visual Studio version
  			IF !BUILD_DEPENDENCIES_ONLY! EQU !FALSE! (
  				ECHO | SET /P=Building the driver package for Win%%C MSVC!VISUAL_STUDIO_INTERNAL_VERSION! ... 
  				ECHO !ZIP! a -tzip !ABSOLUTE_PACKAGES_DIRECTORY!\!BUILD_PACKAGE_PREFIX!-!BUILD_PACKAGE_VERSION!-win%%C-msvc!VISUAL_STUDIO_INTERNAL_VERSION!.zip -r !ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY!\ -xr^^!!DEPENDENCIES_DIRECTORY! >> "!LOG_PACKAGE_BUILD!"
  				!ZIP! a -tzip "!ABSOLUTE_PACKAGES_DIRECTORY!\!BUILD_PACKAGE_PREFIX!-!BUILD_PACKAGE_VERSION!-win%%C-msvc!VISUAL_STUDIO_INTERNAL_VERSION!.zip" -r "!ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY!\*" -xr^^!!DEPENDENCIES_DIRECTORY! >> "!LOG_PACKAGE_BUILD!" 2>&1
  				IF NOT !ERRORLEVEL! EQU 0 (
  					ECHO FAILED!
  					ECHO 	See !LOG_PACKAGE_BUILD! for more details
  					EXIT /B !EXIT_CODE_PACKAGE_FAILED!
  				)
  				ECHO done.
  			)
  			ECHO | SET /P=Building the libuv package for Win%%C MSVC!VISUAL_STUDIO_INTERNAL_VERSION! ... 
  			ECHO !ZIP! a -tzip "!ABSOLUTE_PACKAGES_DIRECTORY!\libuv-!LIBUV_PACKAGE_VERSION!-win%%C-msvc!VISUAL_STUDIO_INTERNAL_VERSION!.zip" -r !ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY!\!DEPENDENCIES_DIRECTORY!\!LIBUV_DIRECTORY!\ >> "!LOG_PACKAGE_BUILD!"
  			!ZIP! a -tzip "!ABSOLUTE_PACKAGES_DIRECTORY!\libuv-!LIBUV_PACKAGE_VERSION!-win%%C-msvc!VISUAL_STUDIO_INTERNAL_VERSION!.zip" -r "!ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY!\!DEPENDENCIES_DIRECTORY!\!LIBUV_DIRECTORY!\*" >> "!LOG_PACKAGE_BUILD!" 2>&1
  			IF NOT !ERRORLEVEL! EQU 0 (
  				ECHO FAILED!
  				ECHO 	See !LOG_PACKAGE_BUILD! for more details
  				EXIT /B !EXIT_CODE_PACKAGE_FAILED!
  			)
  			ECHO done.
  			ECHO | SET /P=Building the OpenSSL package for Win%%C MSVC!VISUAL_STUDIO_INTERNAL_VERSION! ... 
  			ECHO !ZIP! a -tzip !ABSOLUTE_PACKAGES_DIRECTORY!\openssl-!OPENSSL_PACKAGE_VERSION!-win%%C-msvc!VISUAL_STUDIO_INTERNAL_VERSION!.zip -r !ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY!\!OPENSSL_DIRECTORY!\ >> "!LOG_PACKAGE_BUILD!"
  			!ZIP! a -tzip "!ABSOLUTE_PACKAGES_DIRECTORY!\openssl-!OPENSSL_PACKAGE_VERSION!-win%%C-msvc!VISUAL_STUDIO_INTERNAL_VERSION!.zip" -r "!ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY!\!DEPENDENCIES_DIRECTORY!\!OPENSSL_DIRECTORY!\*" >> "!LOG_PACKAGE_BUILD!" 2>&1
  			IF NOT !ERRORLEVEL! EQU 0 (
  				ECHO FAILED!
  				ECHO 	See !LOG_PACKAGE_BUILD! for more details
  				EXIT /B !EXIT_CODE_PACKAGE_FAILED!
  			)
  			ECHO done.
  			IF !ENABLE_LIBSSH2! EQU !TRUE! (
  				ECHO | SET /P=Building the libssh2 package for Win%%C MSVC!VISUAL_STUDIO_INTERNAL_VERSION! ... 
  				ECHO !ZIP! a -tzip "!ABSOLUTE_PACKAGES_DIRECTORY!\libssh2-!LIBSSH2_PACKAGE_VERSION!-win%%C-msvc!VISUAL_STUDIO_INTERNAL_VERSION!.zip" -r !ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY!\!DEPENDENCIES_DIRECTORY!\!LIBSSH2_DIRECTORY!\ >> "!LOG_PACKAGE_BUILD!"
  				!ZIP! a -tzip "!ABSOLUTE_PACKAGES_DIRECTORY!\libssh2-!LIBSSH2_PACKAGE_VERSION!-win%%C-msvc!VISUAL_STUDIO_INTERNAL_VERSION!.zip" -r "!ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY!\!DEPENDENCIES_DIRECTORY!\!LIBSSH2_DIRECTORY!\*" >> "!LOG_PACKAGE_BUILD!" 2>&1
  				IF NOT !ERRORLEVEL! EQU 0 (
  					ECHO FAILED!
  					ECHO 	See !LOG_PACKAGE_BUILD! for more details
  					EXIT /B !EXIT_CODE_PACKAGE_FAILED!
  				)
  				ECHO done.
  			)
  			ECHO.
  
  			REM Reset the system PATH
  			SET "PATH=!STORED_PATH!"
  		)
  	)
  )
  
  REM Disable delayed expansion
  
negative.code: REM                               indicates Boost atomic is not being used
  REM @param log-filename Absolute path and filename for log output
  :BUILDDRIVER [source-directory] [build-directory] [install-directory] [libuv-library-directory] [openssl-library-directory] [zlib-library-directory] [boost-library-directory] [libssh2-library-directory] [build-type] [target-architecture] [library-type] [visual-studio-version] [build-examples] [build-tests] [build-integration-tests] [build-unit-tests] [generate-solution] [boost-atomic-directory] [log-filename]
    REM Create driver variables from arguments
    SET "DRIVER_SOURCE_DIRECTORY=%~1"
    SHIFT
    SET "DRIVER_BUILD_DIRECTORY=%~1"
    SHIFT
    SET "DRIVER_INSTALL_DIRECTORY=%~1"
    SHIFT
    SET "DRIVER_LIBUV_LIBRARY_DIRECTORY=%~1"
    SHIFT
    SET "DRIVER_OPENSSL_LIBRARY_DIRECTORY=%~1"
    SHIFT
    SET "DRIVER_ZLIB_LIBRARY_DIRECTORY=%~1"
    SHIFT
    SET "TESTS_BOOST_LIBRARY_DIRECTORY=%~1"
    SHIFT
    SET "TESTS_LIBSSH2_LIBRARY_DIRECTORY=%~1"
    SHIFT
    SET "DRIVER_BUILD_TYPE=%~1"
    SHIFT
    SET "DRIVER_TARGET_ARCHITECTURE=%~1"
    SHIFT
    SET "DRIVER_LIBRARY_TYPE=%~1"
    SHIFT
    SET "DRIVER_VISUAL_STUDIO_VERSION=%~1"
    SHIFT
    SET "DRIVER_BUILD_EXAMPLES=%~1"
    SHIFT
    SET "DRIVER_BUILD_TESTS=%~1"
    SHIFT
    SET "DRIVER_BUILD_INTEGRATION_TESTS=%~1"
    SHIFT
    SET "DRIVER_BUILD_UNIT_TESTS=%~1"
    SHIFT
    SET "DRIVER_GENERATE_SOLUTION=%~1"
    SHIFT
    SET "DRIVER_BOOST_DEPENDENCY_SOURCE_DIRECTORY=%~1"
    SHIFT
    SET "DRIVER_LOG_FILENAME=%~1"
  
    REM Build the driver
    IF NOT EXIST "!DRIVER_BUILD_DIRECTORY!" MKDIR "!DRIVER_BUILD_DIRECTORY!"
    PUSHD "!DRIVER_BUILD_DIRECTORY!" > NUL
    IF !DRIVER_GENERATE_SOLUTION! EQU !TRUE! (
      ECHO | SET /P="Generating driver solution ... "
    ) ELSE (
      ECHO | SET /P="Configuring driver ... "
    )
    SET "DRIVER_CMAKE_COMMAND_LINE=-G ^"Visual Studio !DRIVER_VISUAL_STUDIO_VERSION!"
    IF !DRIVER_TARGET_ARCHITECTURE! EQU !ARCHITECTURE_64BIT! (
      SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! Win64"
    )
    SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE!^""
    IF !DRIVER_BUILD_EXAMPLES! EQU !TRUE! (
      SET DRIVER_BUILD_EXAMPLES=ON
    ) ELSE (
      SET DRIVER_BUILD_EXAMPLES=OFF
    )
    SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DCASS_MULTICORE_COMPILATION=ON -DCMAKE_INSTALL_PREFIX=^"!DRIVER_INSTALL_DIRECTORY!^" -DCMAKE_BUILD_TYPE=!DRIVER_BUILD_TYPE! -DCASS_BUILD_EXAMPLES=!DRIVER_BUILD_EXAMPLES! -DLIBUV_ROOT_DIR=^"!DRIVER_LIBUV_LIBRARY_DIRECTORY!^""
    IF NOT "!DRIVER_OPENSSL_LIBRARY_DIRECTORY!" == "" (
      SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DCASS_USE_OPENSSL=ON -DOPENSSL_ROOT_DIR=^"!DRIVER_OPENSSL_LIBRARY_DIRECTORY!^""
    ) ELSE (
      SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DCASS_USE_OPENSSL=OFF"
    )
    IF NOT "!DRIVER_ZLIB_LIBRARY_DIRECTORY!" == "" (
      SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DCASS_USE_ZLIB=ON -DZLIB_ROOT_DIR=^"!DRIVER_ZLIB_LIBRARY_DIRECTORY!^""
    ) ELSE (
      SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DCASS_USE_ZLIB=OFF"
    )
    IF "!DRIVER_LIBRARY_TYPE!" == "!LIBRARY_TYPE_SHARED!" (
      SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DCASS_BUILD_STATIC=OFF"
      SET DRIVER_VISUAL_STUDIO_TARGETS=cassandra
    ) ELSE (
      SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DCASS_BUILD_STATIC=ON -DCASS_USE_STATIC_LIBS=ON"
      SET DRIVER_VISUAL_STUDIO_TARGETS=cassandra_static
    )
    IF !DRIVER_BUILD_TESTS! EQU !TRUE! SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DCASS_BUILD_TESTS=ON"
    IF !DRIVER_BUILD_INTEGRATION_TESTS! EQU !TRUE! SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DCASS_BUILD_INTEGRATION_TESTS=ON"
    IF !DRIVER_BUILD_UNIT_TESTS! EQU !TRUE! SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DCASS_BUILD_UNIT_TESTS=ON"
    IF NOT "!TESTS_BOOST_LIBRARY_DIRECTORY!" == "" (
      REM Determine if using Boost distributed or include/lib binaries
      SET "BOOST_DISTRIBUTION_ROOT_DIRECTORY=!TESTS_BOOST_LIBRARY_DIRECTORY!"
      SET "BOOST_DISTRIBUTION_INCLUDE_DIRECTORY=!BOOST_DISTRIBUTION_ROOT_DIRECTORY!"
      SET "BOOST_DISTRIBUTION_LIBRARY_DIRECTORY=!BOOST_DISTRIBUTION_ROOT_DIRECTORY!\lib!DRIVER_TARGET_ARCHITECTURE!-msvc-!DRIVER_VISUAL_STUDIO_VERSION!.0"
      IF NOT EXIST "!BOOST_DISTRIBUTION_LIBRARY_DIRECTORY!" (
        SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DBOOST_ROOT_DIR=^"!TESTS_BOOST_LIBRARY_DIRECTORY!^""
      ) ELSE (
        SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DBOOST_ROOT=^"!BOOST_DISTRIBUTION_ROOT_DIRECTORY!^" -DBOOST_INCLUDEDIR=^"!BOOST_DISTRIBUTION_INCLUDE_DIRECTORY!^" -DBOOST_LIBRARYDIR=^"!BOOST_DISTRIBUTION_LIBRARY_DIRECTORY!^""
      )
    )
    IF NOT "!TESTS_LIBSSH2_LIBRARY_DIRECTORY!" == "" (
      SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DCASS_USE_LIBSSH2=ON -DLIBSSH2_ROOT_DIR=^"!TESTS_LIBSSH2_LIBRARY_DIRECTORY!^""
    ) ELSE (
      SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DCASS_USE_LIBSSH2=OFF"
    )
    IF NOT "!DRIVER_BOOST_DEPENDENCY_SOURCE_DIRECTORY!" == "" (
      SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DCASS_USE_BOOST_ATOMIC=ON"
      IF "!TESTS_BOOST_LIBRARY_DIRECTORY!" == "" (
        SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DBOOST_ROOT_DIR=^"!DRIVER_BOOST_DEPENDENCY_SOURCE_DIRECTORY!^""
      )
    )
    ECHO !CMAKE! !DRIVER_CMAKE_COMMAND_LINE! "!DRIVER_SOURCE_DIRECTORY!" >> "!DRIVER_LOG_FILENAME!" 2>&1
    !CMAKE! !CMAKE_OPTIONS! !DRIVER_CMAKE_COMMAND_LINE! "!DRIVER_SOURCE_DIRECTORY!" >> "!DRIVER_LOG_FILENAME!" 2>&1
    IF NOT !ERRORLEVEL! EQU 0 (
      ECHO FAILED!
      ECHO 	See !DRIVER_LOG_FILENAME! for more details
      EXIT /B !EXIT_CODE_BUILD_DRIVER_FAILED!
    )
    ECHO done.
    IF !DRIVER_GENERATE_SOLUTION! EQU !TRUE! (
      POPD
      EXIT /B
    )
    ECHO | SET /P="Building driver ... "
    !CMAKE! !CMAKE_OPTIONS! --build . --config !DRIVER_BUILD_TYPE! >> "!DRIVER_LOG_FILENAME!" 2>&1
    IF NOT !ERRORLEVEL! EQU 0 (
      ECHO FAILED!
      ECHO 	See !DRIVER_LOG_FILENAME! for more details
      EXIT /B !EXIT_CODE_BUILD_DRIVER_FAILED!
    )
    ECHO done.
    ECHO | SET /P="Installing driver ... "
    !CMAKE! !CMAKE_OPTIONS! --build . --config !DRIVER_BUILD_TYPE! --target install >> "!DRIVER_LOG_FILENAME!" 2>&1
    IF NOT !ERRORLEVEL! EQU 0 (
      ECHO FAILED!
      ECHO 	See !DRIVER_LOG_FILENAME! for more details
      EXIT /B !EXIT_CODE_BUILD_DRIVER_FAILED!
    )
    ECHO done.
    POPD
    EXIT /B
  