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