THRIFT-4732: windows cmake refinements and add windows docker build support
diff --git a/build/appveyor/CYGW-appveyor-build.bat b/build/appveyor/CYGW-appveyor-build.bat
index 6d57ca3..fbcc84b 100644
--- a/build/appveyor/CYGW-appveyor-build.bat
+++ b/build/appveyor/CYGW-appveyor-build.bat
@@ -26,9 +26,7 @@
   -DCMAKE_CXX_EXTENSIONS=ON ^
   -DCMAKE_CXX_FLAGS="-D_GNU_SOURCE" ^
   -DCMAKE_CXX_STANDARD=11 ^
-  -DWITH_PYTHON=OFF ^
-  -DWITH_SHARED_LIB=OFF ^
-  -DWITH_STATIC_LIB=ON
+  -DWITH_PYTHON=OFF
 
 @ECHO ON
 %BASH% -lc "mkdir -p %BUILDDIR% && cd %BUILDDIR% && cmake.exe %SRCDIR% %CMAKEARGS% && cmake --build . --config %CONFIGURATION% --target install" || EXIT /B
diff --git a/build/appveyor/MING-appveyor-build.bat b/build/appveyor/MING-appveyor-build.bat
index b37a95a..eec65f8 100644
--- a/build/appveyor/MING-appveyor-build.bat
+++ b/build/appveyor/MING-appveyor-build.bat
@@ -27,9 +27,7 @@
   -DCMAKE_C_COMPILER=/mingw%NORM_PLATFORM%/bin/gcc.exe ^
   -DCMAKE_CXX_COMPILER=/mingw%NORM_PLATFORM%/bin/g++.exe ^
   -DOPENSSL_ROOT_DIR=/mingw%NORM_PLATFORM% ^
-  -DWITH_PYTHON=OFF ^
-  -DWITH_SHARED_LIB=OFF ^
-  -DWITH_STATIC_LIB=ON
+  -DWITH_PYTHON=OFF
 
 @ECHO ON
 %BASH% -lc "mkdir -p %BUILDDIR% && cd %BUILDDIR% && cmake.exe %SRCDIR% %CMAKEARGS% && cmake --build . --config %CONFIGURATION% --target install" || EXIT /B
diff --git a/build/appveyor/MSVC-appveyor-build.bat b/build/appveyor/MSVC-appveyor-build.bat
index 0b7f0ef..892daa1 100644
--- a/build/appveyor/MSVC-appveyor-build.bat
+++ b/build/appveyor/MSVC-appveyor-build.bat
@@ -42,19 +42,17 @@
 	-DBISON_EXECUTABLE=C:\ProgramData\chocolatey\lib\winflexbison3\tools\win_bison.exe ^
     -DBOOST_ROOT="%BOOST_ROOT%" ^
     -DBOOST_LIBRARYDIR="%BOOST_LIBRARYDIR%" ^
+    -DBUILD_SHARED_LIBS="%BUILD_SHARED_LIBS%" ^
     -DCMAKE_BUILD_TYPE="%CONFIGURATION%" ^
     -DCMAKE_INSTALL_PREFIX="%INSTDIR%" ^
 	-DFLEX_EXECUTABLE=C:\ProgramData\chocolatey\lib\winflexbison3\tools\win_flex.exe ^
-    -DINTTYPES_ROOT="%WIN3P%\msinttypes" ^
     -DLIBEVENT_ROOT="%WIN3P%\libevent-%LIBEVENT_VERSION%-stable" ^
     -DOPENSSL_ROOT_DIR="%OPENSSL_ROOT%" ^
     -DOPENSSL_USE_STATIC_LIBS=OFF ^
     -DZLIB_LIBRARY="%WIN3P%\zlib-inst\lib\zlib%ZLIB_LIB_SUFFIX%.lib" ^
     -DZLIB_ROOT="%WIN3P%\zlib-inst" ^
     -DWITH_PYTHON=%WITH_PYTHON% ^
-    -DWITH_%THREADMODEL%THREADS=ON ^
-    -DWITH_SHARED_LIB=OFF ^
-    -DWITH_STATIC_LIB=ON                    || EXIT /B
+    -DWITH_%THREADMODEL%THREADS=ON          || EXIT /B
 @ECHO OFF
 
 cmake --build . ^
diff --git a/build/appveyor/cl_setenv.bat b/build/appveyor/cl_setenv.bat
index c33366d..da4d4ee 100644
--- a/build/appveyor/cl_setenv.bat
+++ b/build/appveyor/cl_setenv.bat
@@ -107,15 +107,18 @@
 GOTO :EOF
 
 :SETUPNEWERMSVC
-  FOR /F "USEBACKQ TOKENS=*" %%i IN (`call "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -version "[15.0,16.0)" -property installationPath`) DO (
-    IF "%MSVCROOT%" == "" (SET MSVCROOT=%%i)
+  :: If VsDevCmd.bat has already executed, as is the case in the
+  :: msvc2017 docker container, skip this...
+  IF NOT DEFINED VSCMD_VER (
+    FOR /F "USEBACKQ TOKENS=*" %%i IN (`call "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -version "[15.0,16.0)" -property installationPath`) DO (
+      IF "%MSVCROOT%" == "" (SET MSVCROOT=%%i)
+    )
+    SET MSVCPLAT=x86
+    IF "%PLATFORM%" == "x64" (SET MSVCPLAT=amd64)
+
+    SET CURRENTDIR=%CD%
+    CALL "!MSVCROOT!\Common7\Tools\VsDevCmd.bat" -arch=!MSVCPLAT! || EXIT /B
+    CD %CURRENTDIR%
+    EXIT /B
   )
-  SET MSVCPLAT=x86
-  IF "%PLATFORM%" == "x64" (SET MSVCPLAT=amd64)
-
-  SET CURRENTDIR=%CD%
-  CALL "!MSVCROOT!\Common7\Tools\VsDevCmd.bat" -arch=!MSVCPLAT! || EXIT /B
-  CD %CURRENTDIR%
-  EXIT /B
-
 :EOF