anchor.diff:  
   REM Determine if Boost atomic dependency is required
   IF !USE_BOOST_ATOMIC! EQU !TRUE! (
  -	REM Determine if Boost atomic should be cloned
  -	IF !IS_TESTING_ENABLED! EQU !FALSE! (
  -		REM Clone Boost atomic and checkout the appropriate tag
  -		ECHO Gathering Boost atomic ^(and dependencies^) !BOOST_BRANCH_TAG_VERSION! > "!LOG_BOOST_CLONE!"
  -		ECHO | SET /P=Gathering Boost atomic ^(and dependencies^) !BOOST_BRANCH_TAG_VERSION! ... 
  -		SET "BOOST_ATOMIC_DEPENDENCIES=atomic assert config mpl preprocessor static_assert type_traits"
  -		IF NOT EXIST "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!BOOST_DIRECTORY!\include" MKDIR "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!BOOST_DIRECTORY!\include"
  -		REM Store current Visual Studio tools environment variables
  -		FOR %%A IN (!BOOST_ATOMIC_DEPENDENCIES!) DO (
  -			!GIT! clone --depth 1 --branch !BOOST_BRANCH_TAG_VERSION! --single-branch !BOOST_REPOSITORY_URL!/%%A "!DEPENDENCIES_SOURCE_DIRECTORY!\!BOOST_DIRECTORY!\%%A" >> "!LOG_BOOST_CLONE!" 2>&1
  -			IF !ERRORLEVEL! EQU 0 (
  -				XCOPY /E /Y "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!BOOST_DIRECTORY!\%%A\include" "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!BOOST_DIRECTORY!\include" >> "!LOG_BOOST_CLONE!" 2>&1
  -				IF NOT !ERRORLEVEL! EQU 0 (
  -					ECHO FAILED!
  -					ECHO 	See !LOG_BOOST_CLONE! for more details
  -					EXIT /B !EXIT_CODE_CHECKOUT_FAILED!
  -				)
  -			) ELSE (
  -				ECHO FAILED!
  -				ECHO 	See !LOG_BOOST_CLONE! for more details
  -				EXIT /B !EXIT_CODE_CLONE_FAILED!
  -			)
  -		)
  -		ECHO done.
  -	)
  +  REM Determine if Boost atomic should be cloned
  +  IF !IS_TESTING_ENABLED! EQU !FALSE! (
  +    REM Clone Boost atomic and checkout the appropriate tag
  +    ECHO Gathering Boost atomic ^(and dependencies^) !BOOST_BRANCH_TAG_VERSION! > "!LOG_BOOST_CLONE!"
  +    ECHO | SET /P="Gathering Boost atomic ^(and dependencies^) !BOOST_BRANCH_TAG_VERSION! ... "
  +    SET "BOOST_ATOMIC_DEPENDENCIES=atomic assert config mpl preprocessor static_assert type_traits"
  +    IF NOT EXIST "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!BOOST_DIRECTORY!\include" MKDIR "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!BOOST_DIRECTORY!\include"
  +    REM Store current Visual Studio tools environment variables
  +    FOR %%A IN (!BOOST_ATOMIC_DEPENDENCIES!) DO (
  +      !GIT! clone --depth 1 --branch !BOOST_BRANCH_TAG_VERSION! --single-branch !BOOST_REPOSITORY_URL!/%%A "!DEPENDENCIES_SOURCE_DIRECTORY!\!BOOST_DIRECTORY!\%%A" >> "!LOG_BOOST_CLONE!" 2>&1
  +      IF !ERRORLEVEL! EQU 0 (
  +        XCOPY /E /Y "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!BOOST_DIRECTORY!\%%A\include" "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!BOOST_DIRECTORY!\include" >> "!LOG_BOOST_CLONE!" 2>&1
  +        IF NOT !ERRORLEVEL! EQU 0 (
  +          ECHO FAILED!
  +          ECHO 	See !LOG_BOOST_CLONE! for more details
  +          EXIT /B !EXIT_CODE_CHECKOUT_FAILED!
  +        )
  +      ) ELSE (
  +        ECHO FAILED!
  +        ECHO 	See !LOG_BOOST_CLONE! for more details
  +        EXIT /B !EXIT_CODE_CLONE_FAILED!
  +      )
  +    )
  +    ECHO done.
  +  )
   )
   
   REM Clone libuv and checkout the appropriate tag
   IF NOT EXIST "!DEPENDENCIES_SOURCE_DIRECTORY!\!LIBUV_DIRECTORY!" (
  -	ECHO Cloning libuv !LIBUV_BRANCH_TAG_VERSION! > "!LOG_LIBUV_BUILD!"
  -	ECHO | SET /P=Cloning libuv !LIBUV_BRANCH_TAG_VERSION! ... 
  -	!GIT! clone --depth 1 --branch !LIBUV_BRANCH_TAG_VERSION! --single-branch !LIBUV_REPOSITORY_URL! "!DEPENDENCIES_SOURCE_DIRECTORY!\!LIBUV_DIRECTORY!" >> "!LOG_LIBUV_BUILD!" 2>&1
  -	IF !ERRORLEVEL! EQU 0 (
  -		ECHO done.
  -		REM Clone GYP (libuv dependency) to correctly use googlesource URL
  -		ECHO. >> "!LOG_LIBUV_BUILD!"
  -		ECHO Cloning gyp >> "!LOG_LIBUV_BUILD!"
  -		ECHO | SET /P=Cloning gyp ... 
  -		!GIT! clone --depth 1 --single-branch !GYP_REPOSITORY_URL! "!DEPENDENCIES_SOURCE_DIRECTORY!\!LIBUV_DIRECTORY!\build\gyp" >> "!LOG_LIBUV_BUILD!" 2>&1
  -		IF !ERRORLEVEL! EQU 0 (
  -			ECHO done.
  -		) ELSE (
  -			ECHO FAILED!
  -			ECHO 	See !LOG_LIBUV_BUILD! for more details
  -			EXIT /B !EXIT_CODE_CLONE_FAILED!
  -		)
  -	) ELSE (
  -		ECHO FAILED!
  -		ECHO 	See !LOG_LIBUV_BUILD! for more details
  -		EXIT /B !EXIT_CODE_CLONE_FAILED!
  -	)
  +  ECHO Cloning libuv !LIBUV_BRANCH_TAG_VERSION! > "!LOG_LIBUV_BUILD!"
  +  ECHO | SET /P="Cloning libuv !LIBUV_BRANCH_TAG_VERSION! ... "
  +  !GIT! clone --depth 1 --branch !LIBUV_BRANCH_TAG_VERSION! --single-branch !LIBUV_REPOSITORY_URL! "!DEPENDENCIES_SOURCE_DIRECTORY!\!LIBUV_DIRECTORY!" >> "!LOG_LIBUV_BUILD!" 2>&1
  +  IF !ERRORLEVEL! EQU 0 (
  +    ECHO done.
  +    REM Clone GYP (libuv dependency) to correctly use googlesource URL
  +    ECHO. >> "!LOG_LIBUV_BUILD!"
  +    ECHO Cloning gyp >> "!LOG_LIBUV_BUILD!"
  +    ECHO | SET /P="Cloning gyp ... "
  +    !GIT! clone --depth 1 --single-branch !GYP_REPOSITORY_URL! "!DEPENDENCIES_SOURCE_DIRECTORY!\!LIBUV_DIRECTORY!\build\gyp" >> "!LOG_LIBUV_BUILD!" 2>&1
  +    IF !ERRORLEVEL! EQU 0 (
  +      ECHO done.
  +    ) ELSE (
  +      ECHO FAILED!
  +      ECHO 	See !LOG_LIBUV_BUILD! for more details
  +      EXIT /B !EXIT_CODE_CLONE_FAILED!
  +    )
  +  ) ELSE (
  +    ECHO FAILED!
  +    ECHO 	See !LOG_LIBUV_BUILD! for more details
  +    EXIT /B !EXIT_CODE_CLONE_FAILED!
  +  )
   )
   
   REM Clone zlib (libssh2 dependency) and checkout the appropriate tag
   IF !ENABLE_ZLIB! EQU !TRUE! (
  -	IF NOT EXIST "!DEPENDENCIES_SOURCE_DIRECTORY!\!ZLIB_DIRECTORY!" (
  -		ECHO Cloning zlib !ZLIB_BRANCH_TAG_VERSION! > "!LOG_ZLIB_BUILD!"
  -		ECHO | SET /P=Cloning zlib !ZLIB_BRANCH_TAG_VERSION! ... 
  -		!GIT! clone --depth 1 --branch !ZLIB_BRANCH_TAG_VERSION! --single-branch !ZLIB_REPOSITORY_URL! "!DEPENDENCIES_SOURCE_DIRECTORY!\!ZLIB_DIRECTORY!" >> "!LOG_ZLIB_BUILD!" 2>&1
  -		IF !ERRORLEVEL! EQU 0 (
  -			ECHO done.
  -		) ELSE (
  -			ECHO FAILED!
  -			ECHO 	See !LOG_ZLIB_BUILD! for more details
  -			EXIT /B !EXIT_CODE_CLONE_FAILED!
  -		)
  -	)
  +  IF NOT EXIST "!DEPENDENCIES_SOURCE_DIRECTORY!\!ZLIB_DIRECTORY!" (
  +    ECHO Cloning zlib !ZLIB_BRANCH_TAG_VERSION! > "!LOG_ZLIB_BUILD!"
  +    ECHO | SET /P="Cloning zlib !ZLIB_BRANCH_TAG_VERSION! ... "
  +    !GIT! clone --depth 1 --branch !ZLIB_BRANCH_TAG_VERSION! --single-branch !ZLIB_REPOSITORY_URL! "!DEPENDENCIES_SOURCE_DIRECTORY!\!ZLIB_DIRECTORY!" >> "!LOG_ZLIB_BUILD!" 2>&1
  +    IF !ERRORLEVEL! EQU 0 (
  +      ECHO done.
  +    ) ELSE (
  +      ECHO FAILED!
  +      ECHO 	See !LOG_ZLIB_BUILD! for more details
  +      EXIT /B !EXIT_CODE_CLONE_FAILED!
  +    )
  +  )
   )
   
   REM Determine if libssh2 should be cloned
   IF !ENABLE_LIBSSH2! EQU !TRUE! (
  -	REM Clone libssh2
  -	IF NOT EXIST "!DEPENDENCIES_SOURCE_DIRECTORY!\!LIBSSH2_DIRECTORY!" (
  -		ECHO Cloning libssh2 !LIBSSH2_BRANCH_TAG_VERSION! > "!LOG_LIBSSH2_BUILD!"
  -		ECHO | SET /P=Cloning libssh2 !LIBSSH2_BRANCH_TAG_VERSION! ... 
  -		!GIT! clone --depth 1 --branch !LIBSSH2_BRANCH_TAG_VERSION! --single-branch !LIBSSH2_REPOSITORY_URL! "!DEPENDENCIES_SOURCE_DIRECTORY!\!LIBSSH2_DIRECTORY!" >> "!LOG_LIBSSH2_BUILD!" 2>&1
  -		IF !ERRORLEVEL! EQU 0 (
  -			ECHO done.
  -		) ELSE (
  -			ECHO FAILED!
  -			ECHO 	See !LOG_LIBSSH2_BUILD! for more details
  -			EXIT /B !EXIT_CODE_CLONE_FAILED!
  -		)
  -	)
  +  REM Clone libssh2
  +  IF NOT EXIST "!DEPENDENCIES_SOURCE_DIRECTORY!\!LIBSSH2_DIRECTORY!" (
  +    ECHO Cloning libssh2 !LIBSSH2_BRANCH_TAG_VERSION! > "!LOG_LIBSSH2_BUILD!"
  +    ECHO | SET /P="Cloning libssh2 !LIBSSH2_BRANCH_TAG_VERSION! ... "
  +    !GIT! clone --depth 1 --branch !LIBSSH2_BRANCH_TAG_VERSION! --single-branch !LIBSSH2_REPOSITORY_URL! "!DEPENDENCIES_SOURCE_DIRECTORY!\!LIBSSH2_DIRECTORY!" >> "!LOG_LIBSSH2_BUILD!" 2>&1
  +    IF !ERRORLEVEL! EQU 0 (
  +      ECHO done.
  +    ) ELSE (
  +      ECHO FAILED!
  +      ECHO 	See !LOG_LIBSSH2_BUILD! for more details
  +      EXIT /B !EXIT_CODE_CLONE_FAILED!
  +    )
  +  )
   )
   
   REM Determine is OpenSSL should be cloned
   IF !ENABLE_OPENSSL! EQU !TRUE! (
  -	REM Clone OpenSSL and checkout the appropriate tag
  -	IF NOT EXIST "!DEPENDENCIES_SOURCE_DIRECTORY!\!OPENSSL_DIRECTORY!" (
  -		ECHO Cloning OpenSSL !OPENSSL_BRANCH_TAG_VERSION! > "!LOG_OPENSSL_BUILD!"
  -		ECHO | SET /P=Cloning OpenSSL !OPENSSL_BRANCH_TAG_VERSION! ... 
  -		!GIT! clone --depth 1 --branch !OPENSSL_BRANCH_TAG_VERSION! --single-branch !OPENSSL_REPOSITORY_URL! "!DEPENDENCIES_SOURCE_DIRECTORY!\!OPENSSL_DIRECTORY!" >> "!LOG_OPENSSL_BUILD!" 2>&1
  -		IF !ERRORLEVEL! EQU 0 (
  -			ECHO done.
  -		) ELSE (
  -			ECHO FAILED!
  -			ECHO 	See !LOG_OPENSSL_BUILD! for more details
  -			EXIT /B !EXIT_CODE_CLONE_FAILED!
  -		)
  -	)
  +  REM Clone OpenSSL and checkout the appropriate tag
  +  IF NOT EXIST "!DEPENDENCIES_SOURCE_DIRECTORY!\!OPENSSL_DIRECTORY!" (
  +    ECHO Cloning OpenSSL !OPENSSL_BRANCH_TAG_VERSION! > "!LOG_OPENSSL_BUILD!"
  +    ECHO | SET /P="Cloning OpenSSL !OPENSSL_BRANCH_TAG_VERSION! ... "
  +    !GIT! clone --depth 1 --branch !OPENSSL_BRANCH_TAG_VERSION! --single-branch !OPENSSL_REPOSITORY_URL! "!DEPENDENCIES_SOURCE_DIRECTORY!\!OPENSSL_DIRECTORY!" >> "!LOG_OPENSSL_BUILD!" 2>&1
  +    IF !ERRORLEVEL! EQU 0 (
  +      ECHO done.
  +    ) ELSE (
  +      ECHO FAILED!
  +      ECHO 	See !LOG_OPENSSL_BUILD! for more details
  +      EXIT /B !EXIT_CODE_CLONE_FAILED!
  +    )
  +  )
   )
   
   REM Move back to working directory
  
positive.code: REM Parse command line arguments
  :ARGUMENT_LOOP
  IF NOT [%1] == [] (
  	REM Get the current argument
  	CALL :UPPERCASE %1 ARGUMENT
  	SHIFT
  
  	REM Build type (debug/release)
  	IF "!ARGUMENT!" == "!ARGUMENT_BUILD_TYPE_DEBUG!" (
  		SET BUILD_TYPE=!BUILD_TYPE_DEBUG!
  	)
  	IF "!ARGUMENT!" == "!ARGUMENT_BUILD_TYPE_RELEASE!" (
  		SET BUILD_TYPE=!BUILD_TYPE_RELEASE!
  	)
  
  	REM Library type
  	IF "!ARGUMENT!" == "!ARGUMENT_LIBRARY_TYPE_SHARED!" (
  		SET LIBRARY_TYPE=!LIBRARY_TYPE_SHARED!
  	)
  	IF "!ARGUMENT!" == "!ARGUMENT_LIBRARY_TYPE_STATIC!" (
  		SET LIBRARY_TYPE=!LIBRARY_TYPE_STATIC!
  	)
  
  	REM Target architecture (32/64 bit)
  	IF "!ARGUMENT!" == "!ARGUMENT_TARGET_ARCHITECTURE_32BIT!" (
  		SET TARGET_ARCHITECTURE=!ARCHITECTURE_32BIT!
  	)
  	IF "!ARGUMENT!" == "!ARGUMENT_TARGET_ARCHITECTURE_64BIT!" (
  		REM Ensure the 64-bit build would be able to proceed
  		IF NOT !SYSTEM_ARCHITECTURE! EQU !ARCHITECTURE_64BIT! (
  			ECHO Invalid System Architecture: Unable to build 64-bit project on 32-bit OS
  			EXIT /B !EXIT_CODE_INVALID_SYSTEM_ARCHITECTURE!
  		)
  		SET TARGET_ARCHITECTURE=!ARCHITECTURE_64BIT!
  	)
  
  	REM Target compiler (VS/Windows SDK)
  	IF "!ARGUMENT!" == "!ARGUMENT_TARGET_COMPILER!" (
  		REM Make sure the compiler is valid
  		IF [%2] == [] (
  			ECHO Invalid Compiler: Visual Studio/Windows SDK version must be supplied
  			EXIT /B !EXIT_CODE_MISSING_VISUAL_STUDIO!
  		) ELSE (
  			REM Get the compiler version to use
  			CALL :UPPERCASE %2 TARGET_COMPILER_VERSION
  			SHIFT
  
  			REM Ensure the targeted compiler is valid
  			IF NOT "!TARGET_COMPILER_VERSION!" == "100" (
  				IF NOT "!TARGET_COMPILER_VERSION!" == "110" (
  					IF NOT "!TARGET_COMPILER_VERSION!" == "120" (
  						IF NOT "!TARGET_COMPILER_VERSION!" == "140" (
  							IF NOT "!TARGET_COMPILER_VERSION!" == "WINSDK" (
  								ECHO Invalid Compiler Version: 100, 110, 120, 140, or WINSDK must be supplied
  								EXIT /B !EXIT_CODE_MISSING_VISUAL_STUDIO!
  							)
  						)
  					)
  				)
  			)
  		)
  	)
  
  	REM Enable build of examples
  	IF "!ARGUMENT!" == "!ARGUMENT_ENABLE_EXAMPLES!" (
  		SET ENABLE_EXAMPLES=!TRUE!
  	)
  
  	REM Enable package build
  	IF "!ARGUMENT!" == "!ARGUMENT_ENABLE_BUILD_PACKAGES!" (
  		SET ENABLE_BUILD_PACKAGES=!TRUE!
  
  		REM Make sure the version information exists
  		IF [%2] == [] (
  			ECHO Invalid Version: Version must be supplied when enabling packages
  			EXIT /B !EXIT_CODE_INVALID_VERSION!
  		) ELSE (
  			REM Get the version information
  			SET "BUILD_PACKAGE_VERSION=%2"
  			SHIFT
  		)
  	)
  
  	REM Enable testing (enable test type (all, integration, or unit)
  	IF "!ARGUMENT!" == "!ARGUMENT_ENABLE_TESTS!" (
  		SET ARGUMENT_IS_TEST=!TRUE!
  		SET ENABLE_TESTS=!TRUE!
  	)
  	IF "!ARGUMENT!" == "!ARGUMENT_ENABLE_INTEGRATION_TESTS!" (
  		SET ARGUMENT_IS_TEST=!TRUE!
  		SET ENABLE_INTEGRATION_TESTS=!TRUE!
  	)
  	IF "!ARGUMENT!" == "!ARGUMENT_ENABLE_UNIT_TESTS!" (
  		SET ARGUMENT_IS_TEST=!TRUE!
  		SET ENABLE_UNIT_TESTS=!TRUE!
  	)
  	IF !ARGUMENT_IS_TEST! EQU == !TRUE! (
  		REM Ensure testing type hasn't been previously established
  		IF !IS_TESTING_ENABLED! EQU !FALSE! (
  			REM Indicate testing is enabled
  			SET IS_TESTING_ENABLED=!TRUE!
  
  			REM Make sure the Boost root directory exists
  			IF [%2] == [] (
  				ECHO Invalid Boost Root Directory: Location of Boost must be supplied
  				EXIT /B !EXIT_CODE_MISSING_BUILD_DEPENDENCY!
  			) ELSE (
  				REM Get the Boost root directory
  				SET "BOOST_ROOT_DIRECTORY=%2"
  				IF NOT EXIST "!BOOST_ROOT_DIRECTORY!" (
  					ECHO Invalid Boost Root Directory: Location does not exist [%2]
  					EXIT /B !EXIT_CODE_MISSING_BUILD_DEPENDENCY!
  				)
  				SHIFT
  			)
  
  			REM Reset the argument flag
  			SET ARGUMENT_IS_TEST=!FALSE!
  		) ELSE (
  			REM Determine which tests were previously parsed
  			ECHO Testing Already Indicated: Indicate one type [all, integration, or unit]
  		)
  	)
  
  	REM Enable libssh2 (clone and build)
  	IF "!ARGUMENT!" == "!ARGUMENT_ENABLE_LIBSSH2!" (
  		SET ENABLE_LIBSSH2=!TRUE!
  	)
  
  	REM Enable zlib (clone and build)
  	IF "!ARGUMENT!" == "!ARGUMENT_ENABLE_ZLIB!" (
  		SET ENABLE_ZLIB=!TRUE!
  	)
  
  	REM Enable dependency only build(s)
  	IF "!ARGUMENT!" == "!ARGUMENT_BUILD_DEPENDENCIES_ONLY!" (
  		SET BUILD_DEPENDENCIES_ONLY=!TRUE!
  	)
  
  	REM Disable clean build
  	IF "!ARGUMENT!" == "!ARGUMENT_DISABLE_CLEAN_BUILD!" (
  		SET ENABLE_CLEAN_BUILD=!FALSE!
  	)
  
  	REM Disable OpenSSL (clone and build)
  	IF "!ARGUMENT!" == "!ARGUMENT_DISABLE_OPENSSL!" (
  		SET ENABLE_OPENSSL=!FALSE!
  	)
  
  	REM Generate Visual Studio solution (no build)
  	IF "!ARGUMENT!" == "!ARGUMENT_GENERATE_SOLUTION!" (
  		SET GENERATE_SOLUTION=!TRUE!
  	)
  
  	REM Update installation directory for the driver
  	IF "!ARGUMENT!" == "!ARGUMENT_INSTALLATION_DIRECTORY!" (
  		REM Make sure the installation directory is available
  		IF [%2] == [] (
  			ECHO Invalid Installation Directory: Directory must be supplied
  			EXIT /B !EXIT_CODE_MISSING_BUILD_DEPENDENCY!
  		) ELSE (
  			REM Get the driver installation directory
  			SET "DRIVER_INSTALLATION_DIRECTORY=%2"
  			SHIFT
  		)
  	)
  
  	REM Enable the use of Boost atomic library (header only)
  	IF "!ARGUMENT!" == "!ARGUMENT_USE_BOOST_ATOMIC!" (
  		SET USE_BOOST_ATOMIC=!TRUE!
  	)
  
  	REM Help message
  	IF "!ARGUMENT!" == "!ARGUMENT_HELP!" (
  		CALL :DISPLAYHELP 0
  		EXIT /B
  	)
  
  	REM Continue to loop through the command line arguments
  	GOTO :ARGUMENT_LOOP
  )
  
  REM Ensure OpenSSL is enabled if libssh2 or integration tests are enabled
  IF !ENABLE_OPENSSL! EQU !FALSE! (
  	IF !ENABLE_LIBSSH2! EQU !TRUE! (
  		SET ENABLE_OPENSSL=!TRUE!
  		ECHO OpenSSL is Required for libssh2: Enabling OpenSSL
  	)
  )
  IF !ENABLE_OPENSSL! EQU !FALSE! (
  	IF !ENABLE_TESTS! EQU !TRUE! SET ENABLE_OPENSSL=!TRUE!
  	IF !ENABLE_INTEGRATION_TESTS! EQU !TRUE! SET ENABLE_OPENSSL=!TRUE!
  	IF !ENABLE_OPENSSL! EQU !TRUE! (
  				ECHO OpenSSL is Required for Integration Tests: Enabling OpenSSL
  	)
  )
  
  REM Ensure static builds are enabled and packages are disabled (if tests)
  IF !IS_TESTING_ENABLED! EQU !TRUE! (
  	REM Force static for static linking
  	SET LIBRARY_TYPE=!LIBRARY_TYPE_STATIC!
  
  	REM Determine if package build should be disabled
  	IF !ENABLE_BUILD_PACKAGES! EQU !TRUE! (
  		ECHO Disabling Package Build: !ARGUMENT_ENABLE_TESTS! overrides packages
  		SET ENABLE_BUILD_PACKAGES=!FALSE!
  	)
  )
  
  REM Determine if zlib should be enabled
  IF !ENABLE_ZLIB! EQU !TRUE! (
  	SET ENABLE_ZLIB_IS_VALID=!FALSE!
  	IF !ENABLE_LIBSSH! EQU !TRUE! SET ENABLE_ZLIB_IS_VALID=!TRUE!
  	IF !ENABLE_OPENSSL! EQU !TRUE! SET ENABLE_ZLIB_IS_VALID=!TRUE!
  	SET ENABLE_ZLIB=!ENABLE_ZLIB_IS_VALID!
  )
  
  REM Determine Visual Studio Version(s) available
  SET "VISUAL_STUDIO_INTERNAL_VERSIONS=140 120 110 100"
  SET "VISUAL_STUDIO_INTERNAL_SHORTHAND_VERSIONS=14 12 11 10"
  SET "VISUAL_STUDIO_VERSIONS=2015 2013 2012 2010"
  SET INDEX=0
  SET TARGET_COMPILER_VERSION_FOUND=!FALSE!
  FOR %%A IN (!VISUAL_STUDIO_INTERNAL_VERSIONS!) DO (
  	SET /A INDEX+=1
  	IF DEFINED VS%%ACOMNTOOLS (
  		SET "AVAILABLE_VISUAL_STUDIO_VERSIONS=!AVAILABLE_VISUAL_STUDIO_VERSIONS! !INDEX!"
  
  		REM Determine if targeted version can be detected
  		IF NOT "!TARGET_COMPILER_VERSION!" == "WINSDK" (
  			IF %%A EQU !TARGET_COMPILER_VERSION! (
  				REM Indicate the compiler was found and set the user choice
  				SET TARGET_COMPILER_VERSION_FOUND=!TRUE!
  				SET USER_CHOICE_ENTRY=!INDEX!
  			)
  		)
  	)
  )
  
  REM Find all available versions of Visual Studio
  SET FOUND_VISUAL_STUDIO_INTERNAL_VERSIONS=
  FOR /F "TOKENS=1,2 DELIMS==" %%A IN ('SET VS') DO (
    SET EXTRACT_VISUAL_STUDIO_INTERNAL_VERSION=%%A
    SET EXTRACT_VISUAL_STUDIO_INTERNAL_VERSION=!EXTRACT_VISUAL_STUDIO_INTERNAL_VERSION:VS=!
    SET EXTRACT_VISUAL_STUDIO_INTERNAL_VERSION=!EXTRACT_VISUAL_STUDIO_INTERNAL_VERSION:COMNTOOLS=!
    SET "FOUND_VISUAL_STUDIO_INTERNAL_VERSIONS=!FOUND_VISUAL_STUDIO_INTERNAL_VERSIONS! !EXTRACT_VISUAL_STUDIO_INTERNAL_VERSION!"
  )
  SET "FOUND_VISUAL_STUDIO_INTERNAL_VERSIONS=!FOUND_VISUAL_STUDIO_INTERNAL_VERSIONS:~1!"
  
  REM Remove versions of Visual Studio that are not applicable for C/C++ driver
  FOR %%A IN (!FOUND_VISUAL_STUDIO_INTERNAL_VERSIONS!) DO (
  
negative.code: REM @param index Index to retrieve
  REM @param return Variable to assign retrieved value
  :GETARRAYELEMENT [array] [index] [return]
    FOR /F "TOKENS=%~2" %%A IN ("!%~1!") DO SET %~3=%%A
    EXIT /B
  
  REM Get a value from a key=value pair in an environment variable
  REM
  REM @param pair Key/Value pair to parse
  REM @param return Value parsed from key/value pair
  :GETVALUE [pair] [return]
    FOR /F "TOKENS=1,2* DELIMS==" %%A IN ('SET %~1') DO SET %~2=%%B
    EXIT /B
  
  REM Get full path for a given executable in the system PATH
  REM
  REM @param executable Executable to search for in PATH
  REM @param return Full path with executable
  :GETFULLPATH [executable] [return]
    FOR %%A IN ("%~1") DO SET %~2=%%~$PATH:A
    EXIT /B
  
  REM Compare two version numbers
  REM
  