Add VS 2013 and 2015 to Appveyor

This commit is contained in:
Elias Kosunen 2018-05-11 19:45:35 +03:00
parent 5d7103af4e
commit b49acb3aa8
4 changed files with 53 additions and 46 deletions

View File

@ -111,6 +111,8 @@ matrix:
- tree ./libs - tree ./libs
allow_failures: allow_failures:
# Errors # Errors
- env: CXX_COMPILER=g++-4.8 BUILD=Debug STANDARD=11
compiler: gcc
- env: CXX_COMPILER=g++-4.4 BUILD=Debug STANDARD=0x - env: CXX_COMPILER=g++-4.4 BUILD=Debug STANDARD=0x
compiler: gcc compiler: gcc

View File

@ -49,10 +49,12 @@
# define FMT_CLANG_VERSION 0 # define FMT_CLANG_VERSION 0
#endif #endif
#if defined(__INTEL_COMPILER) #ifdef __INTEL_COMPILER
# define FMT_ICC_VERSION __INTEL_COMPILER # define FMT_ICC_VERSION __INTEL_COMPILER
#elif defined(__ICL) #elif defined(__ICL)
# define FMT_ICC_VERSION __ICL # define FMT_ICC_VERSION __ICL
#else
# define FMT_ICC_VERSION 0
#endif #endif
#ifdef _MSC_VER #ifdef _MSC_VER
@ -73,7 +75,7 @@
# pragma GCC diagnostic ignored "-Wsign-conversion" # pragma GCC diagnostic ignored "-Wsign-conversion"
#endif #endif
#if FMT_CLANG_VERSION && !defined(FMT_ICC_VERSION) #if FMT_CLANG_VERSION && !FMT_ICC_VERSION
# pragma clang diagnostic push # pragma clang diagnostic push
# pragma clang diagnostic ignored "-Wdocumentation-unknown-command" # pragma clang diagnostic ignored "-Wdocumentation-unknown-command"
# pragma clang diagnostic ignored "-Wgnu-string-literal-operator-template" # pragma clang diagnostic ignored "-Wgnu-string-literal-operator-template"
@ -114,7 +116,7 @@
// For Intel's compiler both it and the system gcc/msc must support UDLs. // For Intel's compiler both it and the system gcc/msc must support UDLs.
# if (FMT_HAS_FEATURE(cxx_user_literals) || \ # if (FMT_HAS_FEATURE(cxx_user_literals) || \
FMT_GCC_VERSION >= 407 || FMT_MSC_VER >= 1900) && \ FMT_GCC_VERSION >= 407 || FMT_MSC_VER >= 1900) && \
(!defined(FMT_ICC_VERSION) || FMT_ICC_VERSION >= 1500) (!FMT_ICC_VERSION || FMT_ICC_VERSION >= 1500)
# define FMT_USE_USER_DEFINED_LITERALS 1 # define FMT_USE_USER_DEFINED_LITERALS 1
# else # else
# define FMT_USE_USER_DEFINED_LITERALS 0 # define FMT_USE_USER_DEFINED_LITERALS 0
@ -1614,6 +1616,11 @@ FMT_CONSTEXPR unsigned parse_nonnegative_int(Iterator &it, ErrorHandler &&eh) {
return value; return value;
} }
#if FMT_MSC_VER
#pragma warning(push)
#pragma warning(disable: 4512)
#endif
template <typename Char, typename Context> template <typename Char, typename Context>
class custom_formatter: public function<bool> { class custom_formatter: public function<bool> {
private: private:
@ -1631,6 +1638,10 @@ class custom_formatter: public function<bool> {
bool operator()(T) const { return false; } bool operator()(T) const { return false; }
}; };
#if FMT_MSC_VER
#pragma warning(pop)
#endif
template <typename T> template <typename T>
struct is_integer { struct is_integer {
enum { enum {

View File

@ -1,33 +0,0 @@
#!/usr/bin/env python
# Build the project on AppVeyor.
import os
from subprocess import check_call
build = os.environ['BUILD']
config = os.environ['CONFIGURATION']
platform = os.environ.get('PLATFORM')
path = os.environ['PATH']
cmake_command = ['cmake', '-DFMT_PEDANTIC=ON', '-DCMAKE_BUILD_TYPE=' + config]
if build == 'mingw':
cmake_command.append('-GMinGW Makefiles')
build_command = ['mingw32-make', '-j4']
test_command = ['mingw32-make', 'test']
# Remove the path to Git bin directory from $PATH because it breaks
# MinGW config.
path = path.replace(r'C:\Program Files (x86)\Git\bin', '')
os.environ['PATH'] = r'C:\MinGW\bin;' + path
else:
# Add MSBuild 14.0 to PATH as described in
# http://help.appveyor.com/discussions/problems/2229-v140-not-found-on-vs2105rc.
os.environ['PATH'] = r'C:\Program Files (x86)\MSBuild\15.0\Bin;' + path
generator = 'Visual Studio 15 2017'
if platform == 'x64':
generator += ' Win64'
cmake_command.append('-G' + generator)
build_command = ['cmake', '--build', '.', '--config', config, '--', '/m:4']
test_command = ['ctest', '-C', config]
check_call(cmake_command)
check_call(build_command)
check_call(test_command)

View File

@ -1,22 +1,49 @@
configuration: configuration: Debug
- Debug
- Release
image: Visual Studio 2017 clone_depth: 1
platform:
- Win32
- x64
environment: environment:
CTEST_OUTPUT_ON_FAILURE: 1 CTEST_OUTPUT_ON_FAILURE: 1
MSVC_DEFAULT_OPTIONS: ON
matrix: matrix:
- BUILD: msvc - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
- BUILD: msvc CMAKE_GENERATOR: Visual Studio 12 2013
PLATFORM: x64 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
CMAKE_GENERATOR: Visual Studio 14 2015
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
CMAKE_GENERATOR: Visual Studio 15 2017
matrix:
allow_failures:
- image: Visual Studio 2013
init:
- ps: |
If ($env:Platform -Match "x64") {
$env:CMAKE_GENERATOR_SUFFIX=" Win64"
}
before_build: before_build:
# Workaround for CMake not wanting sh.exe on PATH for MinGW. # Workaround for CMake not wanting sh.exe on PATH for MinGW.
- set PATH=%PATH:C:\Program Files\Git\usr\bin;=% - ps: |
mkdir build
cd build
build_script: cmake -G "$($env:CMAKE_GENERATOR)$($env:CMAKE_GENERATOR_SUFFIX)" -DFMT_WERROR=OFF -DFMT_PEDANTIC=ON -DCMAKE_BUILD_TYPE=$env:CONFIGURATION ..
- python support/appveyor-build.py
build:
project: C:\projects\fmt\build\fmt.sln
parallel: true
verbosity: normal
test_script:
- ps: |
cd build
ctest -C $env:CONFIGURATION
on_failure: on_failure:
- appveyor PushArtifact Testing/Temporary/LastTest.log - appveyor PushArtifact Testing/Temporary/LastTest.log