Skip to content

Commit

Permalink
Merge pull request #242 from Kosta-Github/Kosta/appveyor_support
Browse files Browse the repository at this point in the history
add AppVeyor CI support for checked Windows builds
  • Loading branch information
miloyip committed Feb 18, 2015
2 parents ecc1486 + a3398a8 commit 399d8b1
Show file tree
Hide file tree
Showing 6 changed files with 49 additions and 12 deletions.
4 changes: 4 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ if(RAPIDJSON_BUILD_EXAMPLES)
endif()

if(RAPIDJSON_BUILD_TESTS)
if(MSVC11)
# required for VS2012 due to missing support for variadic templates
add_definitions(-D_VARIADIC_MAX=10)
endif(MSVC11)
add_subdirectory(test)
include(CTest)
endif()
Expand Down
28 changes: 28 additions & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
version: 0.12.{build}

configuration:
- Debug
- Release

environment:
matrix:
- VS_VERSION: 11
VS_PLATFORM: win32
- VS_VERSION: 11
VS_PLATFORM: x64
- VS_VERSION: 12
VS_PLATFORM: win32
- VS_VERSION: 12
VS_PLATFORM: x64

before_build:
- git submodule update --init --recursive
- cmake -H. -BBuild/VS -G "Visual Studio %VS_VERSION%" -DCMAKE_GENERATOR_PLATFORM=%VS_PLATFORM% -DBUILD_SHARED_LIBS=true -Wno-dev

build:
project: Build\VS\RapidJSON.sln
parallel: true
verbosity: minimal

test_script:
- cd Build\VS && ctest --verbose --build-config %CONFIGURATION%
6 changes: 5 additions & 1 deletion readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ Copyright (c) 2011-2014 Milo Yip (miloyip@gmail.com)

[RapidJSON Documentation](http://miloyip.github.io/rapidjson/)

## Build status
* Tavis CI (Linux): [![Travis Build status](https://travis-ci.org/miloyip/rapidjson.png)](https://travis-ci.org/miloyip/rapidjson)
* AppVeyor (Windows): [![AppVeyor Build status](https://ci.appveyor.com/api/projects/status/3xw2isxomp5r4do7/branch/master?svg=true)](https://ci.appveyor.com/project/Kosta-Github/rapidjson/branch/master)

## Introduction

RapidJSON is a JSON parser and generator for C++. It was inspired by [RapidXml](http://rapidxml.sourceforge.net/).
Expand Down Expand Up @@ -43,7 +47,7 @@ RapidJSON is a header-only C++ library. Just copy the `include/rapidjson` folder

RapidJSON uses following software as its dependencies:
* [CMake](http://www.cmake.org) as a general build tool
* (optional)[Doxygen](http://www.goxygen.org) to build documentation
* (optional)[Doxygen](http://www.doxygen.org) to build documentation
* (optional)[googletest](https://code.google.com/p/googletest/) for unit and performance testing

To generate user documentation and run tests please proceed with the steps below:
Expand Down
19 changes: 11 additions & 8 deletions test/unittest/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,15 @@ add_test(NAME unittest
COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)

add_test(NAME valgrind_unittest
COMMAND valgrind --leak-check=full --error-exitcode=1 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
if(NOT MSVC)
add_test(NAME valgrind_unittest
COMMAND valgrind --leak-check=full --error-exitcode=1 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)

if(CMAKE_BUILD_TYPE STREQUAL "Debug")
add_test(NAME symbol_check
COMMAND sh -c "objdump -t -C libnamespacetest.a | grep rapidjson ; test $? -ne 0"
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
endif(CMAKE_BUILD_TYPE STREQUAL "Debug")

IF((NOT MSVC) AND (CMAKE_BUILD_TYPE STREQUAL "Debug"))
add_test(NAME symbol_check
COMMAND sh -c "objdump -t -C libnamespacetest.a | grep rapidjson ; test $? -ne 0"
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
ENDIF()
endif(NOT MSVC)
2 changes: 1 addition & 1 deletion test/unittest/documenttest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -253,8 +253,8 @@ TEST(Document, Traits) {

static_assert(!std::is_nothrow_constructible<Document>::value, "");
static_assert(!std::is_nothrow_default_constructible<Document>::value, "");
static_assert(!std::is_nothrow_copy_constructible<Document>::value, "");
#ifndef _MSC_VER
static_assert(!std::is_nothrow_copy_constructible<Document>::value, "");
static_assert(std::is_nothrow_move_constructible<Document>::value, "");
#endif

Expand Down
2 changes: 0 additions & 2 deletions test/unittest/valuetest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,7 @@ TEST(Value, Traits) {
#ifndef _MSC_VER
static_assert(std::is_nothrow_constructible<Value>::value, "");
static_assert(std::is_nothrow_default_constructible<Value>::value, "");
#endif
static_assert(!std::is_nothrow_copy_constructible<Value>::value, "");
#ifndef _MSC_VER
static_assert(std::is_nothrow_move_constructible<Value>::value, "");
#endif

Expand Down

0 comments on commit 399d8b1

Please sign in to comment.