Merge pull request #242 from Kosta-Github/Kosta/appveyor_support
add AppVeyor CI support for checked Windows builds
This commit is contained in:
commit
399d8b1544
@ -53,6 +53,10 @@ if(RAPIDJSON_BUILD_EXAMPLES)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(RAPIDJSON_BUILD_TESTS)
|
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)
|
add_subdirectory(test)
|
||||||
include(CTest)
|
include(CTest)
|
||||||
endif()
|
endif()
|
||||||
|
28
appveyor.yml
Normal file
28
appveyor.yml
Normal file
@ -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,6 +6,10 @@ Copyright (c) 2011-2014 Milo Yip (miloyip@gmail.com)
|
|||||||
|
|
||||||
[RapidJSON Documentation](http://miloyip.github.io/rapidjson/)
|
[RapidJSON Documentation](http://miloyip.github.io/rapidjson/)
|
||||||
|
|
||||||
|
## Build status
|
||||||
|
* Tavis CI (Linux): [](https://travis-ci.org/miloyip/rapidjson)
|
||||||
|
* AppVeyor (Windows): [](https://ci.appveyor.com/project/Kosta-Github/rapidjson/branch/master)
|
||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
RapidJSON is a JSON parser and generator for C++. It was inspired by [RapidXml](http://rapidxml.sourceforge.net/).
|
RapidJSON is a JSON parser and generator for C++. It was inspired by [RapidXml](http://rapidxml.sourceforge.net/).
|
||||||
@ -43,7 +47,7 @@ RapidJSON is a header-only C++ library. Just copy the `include/rapidjson` folder
|
|||||||
|
|
||||||
RapidJSON uses following software as its dependencies:
|
RapidJSON uses following software as its dependencies:
|
||||||
* [CMake](http://www.cmake.org) as a general build tool
|
* [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
|
* (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:
|
To generate user documentation and run tests please proceed with the steps below:
|
||||||
|
@ -21,12 +21,15 @@ add_test(NAME unittest
|
|||||||
COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest
|
COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
|
||||||
|
|
||||||
|
if(NOT MSVC)
|
||||||
add_test(NAME valgrind_unittest
|
add_test(NAME valgrind_unittest
|
||||||
COMMAND valgrind --leak-check=full --error-exitcode=1 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest
|
COMMAND valgrind --leak-check=full --error-exitcode=1 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
|
||||||
|
|
||||||
IF((NOT MSVC) AND (CMAKE_BUILD_TYPE STREQUAL "Debug"))
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
add_test(NAME symbol_check
|
add_test(NAME symbol_check
|
||||||
COMMAND sh -c "objdump -t -C libnamespacetest.a | grep rapidjson ; test $? -ne 0"
|
COMMAND sh -c "objdump -t -C libnamespacetest.a | grep rapidjson ; test $? -ne 0"
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
ENDIF()
|
endif(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
|
|
||||||
|
endif(NOT MSVC)
|
||||||
|
@ -253,8 +253,8 @@ TEST(Document, Traits) {
|
|||||||
|
|
||||||
static_assert(!std::is_nothrow_constructible<Document>::value, "");
|
static_assert(!std::is_nothrow_constructible<Document>::value, "");
|
||||||
static_assert(!std::is_nothrow_default_constructible<Document>::value, "");
|
static_assert(!std::is_nothrow_default_constructible<Document>::value, "");
|
||||||
static_assert(!std::is_nothrow_copy_constructible<Document>::value, "");
|
|
||||||
#ifndef _MSC_VER
|
#ifndef _MSC_VER
|
||||||
|
static_assert(!std::is_nothrow_copy_constructible<Document>::value, "");
|
||||||
static_assert(std::is_nothrow_move_constructible<Document>::value, "");
|
static_assert(std::is_nothrow_move_constructible<Document>::value, "");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -54,9 +54,7 @@ TEST(Value, Traits) {
|
|||||||
#ifndef _MSC_VER
|
#ifndef _MSC_VER
|
||||||
static_assert(std::is_nothrow_constructible<Value>::value, "");
|
static_assert(std::is_nothrow_constructible<Value>::value, "");
|
||||||
static_assert(std::is_nothrow_default_constructible<Value>::value, "");
|
static_assert(std::is_nothrow_default_constructible<Value>::value, "");
|
||||||
#endif
|
|
||||||
static_assert(!std::is_nothrow_copy_constructible<Value>::value, "");
|
static_assert(!std::is_nothrow_copy_constructible<Value>::value, "");
|
||||||
#ifndef _MSC_VER
|
|
||||||
static_assert(std::is_nothrow_move_constructible<Value>::value, "");
|
static_assert(std::is_nothrow_move_constructible<Value>::value, "");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user