31da5e34c1
Summary: Based on https://github.com/facebook/rocksdb/issues/6648 (CLA Signed), but heavily modified / extended: * Implicit capture of this via [=] deprecated in C++20, and [=,this] not standard before C++20 -> now using explicit capture lists * Implicit copy operator deprecated in gcc 9 -> add explicit '= default' definition * std::random_shuffle deprecated in C++17 and removed in C++20 -> migrated to a replacement in RocksDB random.h API * Add the ability to build with different std version though -DCMAKE_CXX_STANDARD=11/14/17/20 on the cmake command line * Minimal rebuild flag of MSVC is deprecated and is forbidden with /std:c++latest (C++20) * Added MSVC 2019 C++11 & MSVC 2019 C++20 in AppVeyor * Added GCC 9 C++11 & GCC9 C++20 in Travis Pull Request resolved: https://github.com/facebook/rocksdb/pull/6697 Test Plan: make check and CI Reviewed By: cheng-chang Differential Revision: D21020318 Pulled By: pdillinger fbshipit-source-id: 12311be5dbd8675a0e2c817f7ec50fa11c18ab91
87 lines
3.8 KiB
YAML
87 lines
3.8 KiB
YAML
version: 1.0.{build}
|
|
|
|
image: Visual Studio 2019
|
|
|
|
environment:
|
|
JAVA_HOME: C:\Program Files\Java\jdk1.8.0
|
|
THIRDPARTY_HOME: $(APPVEYOR_BUILD_FOLDER)\thirdparty
|
|
SNAPPY_HOME: $(THIRDPARTY_HOME)\snappy-1.1.7
|
|
SNAPPY_INCLUDE: $(SNAPPY_HOME);$(SNAPPY_HOME)\build
|
|
SNAPPY_LIB_DEBUG: $(SNAPPY_HOME)\build\Debug\snappy.lib
|
|
SNAPPY_LIB_RELEASE: $(SNAPPY_HOME)\build\Release\snappy.lib
|
|
LZ4_HOME: $(THIRDPARTY_HOME)\lz4-1.8.3
|
|
LZ4_INCLUDE: $(LZ4_HOME)\lib
|
|
LZ4_LIB_DEBUG: $(LZ4_HOME)\visual\VS2010\bin\x64_Debug\liblz4_static.lib
|
|
LZ4_LIB_RELEASE: $(LZ4_HOME)\visual\VS2010\bin\x64_Release\liblz4_static.lib
|
|
ZSTD_HOME: $(THIRDPARTY_HOME)\zstd-1.4.0
|
|
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
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
|
CMAKE_GENERATOR: Visual Studio 16
|
|
CMAKE_PLATEFORM_NAME: x64
|
|
DEV_ENV: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.com
|
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
|
CMAKE_GENERATOR: Visual Studio 16
|
|
CMAKE_PLATEFORM_NAME: x64
|
|
CMAKE_OPT: -DCMAKE_CXX_STANDARD=20
|
|
DEV_ENV: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.com
|
|
|
|
install:
|
|
- md %THIRDPARTY_HOME%
|
|
- echo "Building Snappy dependency..."
|
|
- cd %THIRDPARTY_HOME%
|
|
- curl --fail --silent --show-error --output snappy-1.1.7.zip --location https://github.com/google/snappy/archive/1.1.7.zip
|
|
- unzip snappy-1.1.7.zip
|
|
- cd snappy-1.1.7
|
|
- mkdir build
|
|
- cd build
|
|
- if DEFINED CMAKE_PLATEFORM_NAME (set "PLATEFORM_OPT=-A %CMAKE_PLATEFORM_NAME%")
|
|
- cmake .. -G "%CMAKE_GENERATOR%" %PLATEFORM_OPT%
|
|
- msbuild Snappy.sln /p:Configuration=Debug /p:Platform=x64
|
|
- msbuild Snappy.sln /p:Configuration=Release /p:Platform=x64
|
|
- echo "Building LZ4 dependency..."
|
|
- cd %THIRDPARTY_HOME%
|
|
- curl --fail --silent --show-error --output lz4-1.8.3.zip --location 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="$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..."
|
|
- cd %THIRDPARTY_HOME%
|
|
- curl --fail --silent --show-error --output zstd-1.4.0.zip --location 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="$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
|
|
- if DEFINED CMAKE_PLATEFORM_NAME (set "PLATEFORM_OPT=-A %CMAKE_PLATEFORM_NAME%")
|
|
- cmake .. -G "%CMAKE_GENERATOR%" %PLATEFORM_OPT% %CMAKE_OPT% -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
|
|
verbosity: normal
|
|
|
|
test:
|
|
|
|
test_script:
|
|
- ps: build_tools\run_ci_db_test.ps1 -SuiteRun db_basic_test,db_with_timestamp_basic_test,db_test2,db_test,env_basic_test,env_test,db_merge_operand_test -Concurrency 8
|
|
|
|
on_failure:
|
|
- cmd: 7z a build-failed.zip %APPVEYOR_BUILD_FOLDER%\build\ && appveyor PushArtifact build-failed.zip
|
|
|