From 984b6e71d6d60dc621600a71f608813bff5fc539 Mon Sep 17 00:00:00 2001 From: Adam Retter Date: Tue, 10 Dec 2019 20:00:57 -0800 Subject: [PATCH] Add Visual Studio 2015 to AppVeyor (#5446) Summary: This is required to compile on Windows with Visual Studio 2015, which is used for creating the RocksJava releases. Pull Request resolved: https://github.com/facebook/rocksdb/pull/5446 Differential Revision: D18924811 fbshipit-source-id: a183a62e79a2af5aaf59cd08235458a172fe7dcb --- CMakeLists.txt | 7 ++++++- appveyor.yml | 16 ++++++++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ce6330447..a540a9e1b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -63,7 +63,12 @@ endif() # third-party/folly is only validated to work on Linux and Windows for now. # So only turn it on there by default. if(CMAKE_SYSTEM_NAME MATCHES "Linux" OR CMAKE_SYSTEM_NAME MATCHES "Windows") - option(WITH_FOLLY_DISTRIBUTED_MUTEX "build with folly::DistributedMutex" ON) + if(MSVC AND MSVC_VERSION LESS 1910) + # Folly does not compile with MSVC older than VS2017 + option(WITH_FOLLY_DISTRIBUTED_MUTEX "build with folly::DistributedMutex" OFF) + else() + option(WITH_FOLLY_DISTRIBUTED_MUTEX "build with folly::DistributedMutex" ON) + endif() else() option(WITH_FOLLY_DISTRIBUTED_MUTEX "build with folly::DistributedMutex" OFF) endif() diff --git a/appveyor.yml b/appveyor.yml index bb4f25057..bae8374f7 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -17,6 +17,13 @@ environment: ZSTD_INCLUDE: $(ZSTD_HOME)\lib;$(ZSTD_HOME)\lib\dictBuilder ZSTD_LIB_DEBUG: $(ZSTD_HOME)\build\VS2010\bin\x64_Debug\libzstd_static.lib ZSTD_LIB_RELEASE: $(ZSTD_HOME)\build\VS2010\bin\x64_Release\libzstd_static.lib + matrix: + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 + CMAKE_GENERATOR: Visual Studio 14 Win64 + DEV_ENV: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + CMAKE_GENERATOR: Visual Studio 15 Win64 + DEV_ENV: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.com install: - md %THIRDPARTY_HOME% @@ -27,7 +34,7 @@ install: - cd snappy-1.1.7 - mkdir build - cd build - - cmake -DCMAKE_GENERATOR_PLATFORM=x64 .. + - cmake -G "%CMAKE_GENERATOR%" .. - msbuild Snappy.sln /p:Configuration=Debug /p:Platform=x64 - msbuild Snappy.sln /p:Configuration=Release /p:Platform=x64 - echo "Building LZ4 dependency..." @@ -35,7 +42,7 @@ install: - curl -fsSL -o lz4-1.8.3.zip https://github.com/lz4/lz4/archive/v1.8.3.zip - unzip lz4-1.8.3.zip - cd lz4-1.8.3\visual\VS2010 - - ps: $CMD="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.com"; & $CMD lz4.sln /upgrade + - ps: $CMD="$Env:DEV_ENV"; & $CMD lz4.sln /upgrade - msbuild lz4.sln /p:Configuration=Debug /p:Platform=x64 - msbuild lz4.sln /p:Configuration=Release /p:Platform=x64 - echo "Building ZStd dependency..." @@ -43,15 +50,16 @@ install: - curl -fsSL -o zstd-1.4.0.zip https://github.com/facebook/zstd/archive/v1.4.0.zip - unzip zstd-1.4.0.zip - cd zstd-1.4.0\build\VS2010 - - ps: $CMD="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.com"; & $CMD zstd.sln /upgrade + - ps: $CMD="$Env:DEV_ENV"; & $CMD zstd.sln /upgrade - msbuild zstd.sln /p:Configuration=Debug /p:Platform=x64 - msbuild zstd.sln /p:Configuration=Release /p:Platform=x64 before_build: - md %APPVEYOR_BUILD_FOLDER%\build - cd %APPVEYOR_BUILD_FOLDER%\build - - cmake -G "Visual Studio 15 Win64" -DCMAKE_BUILD_TYPE=Debug -DOPTDBG=1 -DPORTABLE=1 -DSNAPPY=1 -DLZ4=1 -DZSTD=1 -DXPRESS=1 -DJNI=1 .. + - cmake -G "%CMAKE_GENERATOR%" -DCMAKE_BUILD_TYPE=Debug -DOPTDBG=1 -DPORTABLE=1 -DSNAPPY=1 -DLZ4=1 -DZSTD=1 -DXPRESS=1 -DJNI=1 .. - cd .. + build: project: build\rocksdb.sln parallel: true