Commit8f469d97e2introduced SSSE3 fast paths that are gated by __SSE3__ macro checks and the <x86intrin.h> header, neither of which exists in Visual Studio. This commit adds logic for detecting SSSE3 compiler support that works for all compilers supported by the open source release. The commit also replaces the header with <tmmintrin.h>, which only defines intrinsics supported by SSSE3 and below. This should help flag any use of SIMD instructions that require more advanced SSE support, so the uses can be gated by checks that also work in the open source release. Last, this commit requires C++11 support for the open source build. This is needed by the alignas specifier, which was also introduced in commit8f469d97e2.
39 lines
1004 B
YAML
39 lines
1004 B
YAML
# Build matrix / environment variables are explained on:
|
|
# https://www.appveyor.com/docs/appveyor-yml/
|
|
# This file can be validated on: https://ci.appveyor.com/tools/validate-yaml
|
|
|
|
version: "{build}"
|
|
|
|
environment:
|
|
matrix:
|
|
# AppVeyor currently has no custom job name feature.
|
|
# http://help.appveyor.com/discussions/questions/1623-can-i-provide-a-friendly-name-for-jobs
|
|
- JOB: Visual Studio 2017
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
|
CMAKE_GENERATOR: Visual Studio 15 2017
|
|
|
|
platform:
|
|
- x86
|
|
- x64
|
|
|
|
configuration:
|
|
- RelWithDebInfo
|
|
- Debug
|
|
|
|
build:
|
|
verbosity: minimal
|
|
|
|
build_script:
|
|
- git submodule update --init --recursive
|
|
- mkdir out
|
|
- cd out
|
|
- if "%platform%"=="x64" set CMAKE_GENERATOR=%CMAKE_GENERATOR% Win64
|
|
- cmake --version
|
|
- cmake .. -G "%CMAKE_GENERATOR%"
|
|
-DCMAKE_CONFIGURATION_TYPES="%CONFIGURATION%" -DSNAPPY_REQUIRE_AVX=ON
|
|
- cmake --build . --config %CONFIGURATION%
|
|
- cd ..
|
|
|
|
test_script:
|
|
- out\%CONFIGURATION%\snappy_unittest
|