Skip to content

Commit

Permalink
Squashed 'rapidjson/' changes from 362221d..9515b9c
Browse files Browse the repository at this point in the history
9515b9c Merge pull request #501 from thedrow/fix-cmake-min-version-warning
d0045f1 Merge pull request #504 from thedrow/containerized-travis
53557c8 Moved comment to the right place and added a TODO. Added another comment about the documentation task.
83a2e13 Add pip caching only when reporting coverage.
918fafc Disable cache for doxygen.
5337e73 Fix path.
8e40b20 Split the documentation task from the rest since references to script doesn't work.
89631a6 Make documentation only in one of the build jobs.
5fb5002 Run everything in 2 parallel threads.
52e287a Fail the build early if cmake cannot generate the Makefiles.
0cc5974 Missed one CCACHE_CPP2=yes
45ea872 Set CCACHE_CPP2 environment variable to yes as described in http://petereisentraut.blogspot.co.il/2011/09/ccache-and-clang-part-2.html
163c4b7 Fixed cmake syntax errors.
96fbaef Workaround clang and ccache bugs described in http://petereisentraut.blogspot.co.il/2011/05/ccache-and-clang.html
84c5613 Adjust CMakeLists.txt files to use ccache when it's available.
3186e31 Print cache statistics.
db11011 Script seems to fail to report coverage. Explictly specifying the commands.
c3cd3ed Explictly specify the entire matrix.
3a01a25 Explictly specify compiler in the matrix.
1f43a6f Added comment.
291bcf9 Fixed path to coverage script.
2a7836c Cached python packages as well for faster coverage reporting.
6400ab8 Added the missing coveralls script.
4fadfa5 Corrected the build matrix and removed inline logic.
6d97d8b Fixed bash syntax error.
feadfad Fix syntax errors.
ecfdb0c Merge pull request #497 from miloyip/issue473_warning
caa4d22 Initial attempt at moving travis to containerized infrastructure.
5121034 CMake will no longer complain that the minimum CMake version is not specified for test/CMakeLists.txt.
c6384da Try to fix clang and gcc warnings problems again x11
81c0772 Try to fix clang and gcc warnings problems again x10
5c003f3 Try to fix clang and gcc warnings problems again x9
efdbdc6 Try to fix clang and gcc warnings problems again x8
6d6381f Try to fix clang and gcc warnings problems again x7
d72039f Try to fix clang and gcc warnings problems again x6
6e08e76 Try to fix clang and gcc warnings problems again x5
d647899 Try to fix clang and gcc warnings problems again x4
4cb7c88 Try to fix clang and gcc warnings problems again x3
a6a73b5 Try to fix clang and gcc warnings problems againx2
9ce381b Try to fix clang and gcc warnings problems again
17f2ca6 Try to fix clang and gcc warnings problems
74c8dcf Fix clang -Weverything
f36af30 Merge pull request #495 from pah/fixes/494-warning-pop
7899a3c encodings.h: fix typo in preprocessor condition (closes #494)
a1c4f32 Temporarily remove git clone single-branch
bd85e8d Merge pull request #488 from haubi/master
8b265fe Fixes #489
e706397 detect little endian for Microsoft ARM targets
dee230b Merge pull request #485 from haubi/master
5b268e6 use <wchar.h> with C++ linkage on Windows ARM
28f2ed0 Merge pull request #484 from miloyip/Issue483_PointerValue
db0a03a Fix #483 by using the correct value type
9c71093 Merge pull request #482 from macworld/master
06f62e3 fix typos and dead links, sync faq.zh-cn.md
fe89676 fix a compatibility issue with doxygen
9d47c62 Merge pull request #480 from pah/feature/document-parseresult
9378001 documenttest.cpp: check/use conversion from Document to ParseResult
98959e2 GenericDocument: add implicit conversion to ParseResult
8ec389f Merge pull request #478 from haubi/master
07672da fix Document::Parse(const Ch*) for transcoding
292714e Merge pull request #470 from pah/fix/469-expect-throw-after-move
c8d298b documenttest.cpp: EXPECT_THROW when checking empty allocator (closes #469)
b39a898 Merge pull request #460 from stunney/master
dceb7be Usage comment
d6912d0 Updating LicenseURL based on @miloyip 's suggestion
c6cb74b Adding coapp definition
8232982 Fixes full-width spaces
e602aab Fix language for pointer
5512ec3 Add Chinese pointer guide to doxygen
d5d17b9 Chinese Translation of JSON Pointer guide and minor English version modification.
b761f0d Merge pull request #441 from spl/patch-1
aeb5f56 Merge pull request #442 from FrankHB/patch-1
76d729e Add kParseCommentsFlag documentation
54eb069 Merge pull request #450 from etiennebatise/missing-return-statement
edd077f Add missing return statement, fix #448
1a4cce2 Merge pull request #447 from etiennebatise/missing-breaks-at-switch-statements
74a0213 Add break at default switch case statements
a5d9971 Merge pull request #443 from andrusha97/master
f7960ac Comments parsing fixes.
5ce78b1 Introduce support of comments.
1640ce6 Fixed typo
481ae5b Highlight main features in bold
1c76070 Merge pull request #439 from pah/fix/437-keep-value-on-error
41dd68f add simple test for unchanged DOM after parse error
fa12369 Keep Document value unchanged on parse error, fixes #437
221887d Merge pull request #426 from malirod/fix-ub-in-document
2e11498 Fix the usage of the stack::GetAllocator
c7433df Add stack::HasAllocator
8604ba0 Add asserts to prevent UB
539e572 Merge pull request #421 from simplifi/fwrite_return_check
2a267ff check return of fwrite to avoid warn_unused_result build failures
d636594 Merge pull request #419 from miloyip/issue418_alignment
311b482 Try to fix incorrect 64-bit alignment
3ede21c Merge pull request #409 from pah/fix/biginteger-self-assign
afbc040 BigInteger: guard against self-assignment
3cf7228 Port documentation fix from #407
3517aca Merge pull request #407 from fcharlie/master
ffd389b 自定义流应当使用 ParseStream 而不是 Parse
bc4551b Merge pull request #405 from ziyangli/patch-1
4569752 added missing fields of CMakeList.txt
8498c78 Merge pull request #404 from blackball/master
c085447 Implement = operator for BigInteger
c583119 Merge pull request #401 from ivankravets/patch-2
720d168 Fix include location
315a8ea Merge pull request #400 from ivankravets/patch-1
b49858a Add examples for @platformio Library Registry
2a18d30 @platformio Library Registry manifest file
f07ca07 Merge pull request #397 from blackball/master
fc50f10 Fix the error when compiled using vs2013
1eaf180 Merge pull request #394 from nightmouse/master
e527a4f adding -Wno-missing-field-initializers to keep the googletest source from erroring out on a warning
73cf03c use google's servers for googletest
a0f730e use -Werror
f33b674 Revert "update the submodule fore google test"
d26d500 fixing sign conversion warnings and loss of precision warnings
df13af8 Merge pull request #392 from sebastic/master
b4b1a39 Clarify problematic JSON license (#377)
3003b84 Merge pull request #391 from pah/fix/no-doc2value-move
9b28107 Merge pull request #373 from mloskot/faq-issue-366
f431aaf Update dom.zh-cn.md
8c0e50f Update dom.md
fec9e8a prohibit C++11 move from Document to Value
823b731 Merge pull request #376 from pah/feature/document-swap
c2b5864 add documentation for 'swap' friend functions
46e1696 add free inline `swap` functions
0ebe16e add and use simplified "internal::Swap"
9b3b2d0 Merge pull request #383 from yuzhaol/master
7567752 Declare intrinsic function to avoid LNK2019 in x64 debug mode
8e61b72 Declare intrinsic function to avoid LNK2019 in x64 debug mode
709daab Merge pull request #369 from mloskot/typed-ctor
dd901f4 add GenericDocument<>::Swap
eb5818a Merge pull request #374 from mloskot/faq-issue-368-update
6610577 Update FAQ 8 with shorter version of clean-and-minimize idiom.
5ac04cb Correct formatting of FAQ 8 and 9
50660c0 Add to FAQ: How to insert a document node into another document?
8197805 Add explicit specifier to GenericDocument ctor.
a45a289 Merge pull request #372 from mloskot/faq-issue-368
3c47ae9 Add to FAQ: How to clear-and-minimize a document?
a0177ca Add documentation for new GenericDocument ctor taking object type.
413144a Add GenericDocument ctor overload to specify JSON type.
5d5d90c Applies the same changes for Chinese as #365
c752b6a Merge pull request #365 from mloskot/patch-1
74b41c1 Add missing allocator to uses of AddMember
ca8e3d5 Merge branch 'master' of https://github.com/miloyip/rapidjson
a326314 Fix #538
134369d Add google analytics to documentation
4e8e99c Remove www in readme.zh-cn also
1968706 Try to remove www
93bf4ce Add CMAKE in travis-doxygen
3bc945f Change documentation URL to http://www.rapidjson.org
935d0a3 Remove emscripten test
b540ac8 Merge pull request #353 from miloyip/issue349_EmscriptenDouble
8167827 Fix #349 emscripten alignment issue
ce0184e Add and fix -Wimplicit-fallthrough for clang, revert #350
1f78bc1 Merge pull request #350 from c0nk/fix-clang-implicit-fallthrough
013b71b Fix warnings when compiling with clang and -Wimplicit-fallthrough
c8c8ad4 Further improve coverage of GenericPointer::Erase()
7ddaa80 Improve coverage of GenericPointer::Erase()
a2d09f0 Refactor GenericPointer::Erase()
6e1d10e Add GenericValue::EraseMember(string types) APIs
1a570c3 Fix the undefined behaviour when negating the minimum value integers in Reader
f688b2b Improve coverage of Pointer
3229566 Add multiple SkipWhitespace perftest
302d1b7 Re-generate images in OSX
3e56b0c Add one more commit about std::string from master
0e9fe88 v1.0.2 release
424abf1 Merge pull request #335 from miloyip/member_stdstring
82ff580 Merge pull request #342 from miloyip/issue340_doubleparsebug
add5a50 Fix some numbers parsed incorrectly
f8b3c65 Merge pull request #337 from Phyks/master
9c008b0 Forgot to update the CMakeLists.txt in doc folder
2786103 Add Value::XXXMember(...) overloads for std::string
7562d02 Merge pull request #334 from Phyks/master
89ad34c Fix CMakeLists for include as a thirdparty in projects
7eb117a Reduce Pointer parsing/copying to single allocation
0edd743 Fix Document.UserBuffer test
98b66e3 Change Document::ParseStream() to use stack allocator for Reader
3dc40a8 Fix MemoryPoolAllocator::Clear() to clear user-buffer
63a1db0 Fix a bug in Pointer
771fa98 Add Pointer::Append(Value, Allocator) overload
5dee394 Add Pointer::Append() and fixed bugs in assignment and Parse()
5be9b6e update the submodule fore google test
1f4211e Merge branch 'master' of https://github.com/miloyip/rapidjson
f4e357f Merge pull request #329 from nightmouse/master
286aa8a Merge pull request #328 from isanych/master
a72c35b Workaround for Valgrind false alarm on wcscmp()
f7c184d Revert "add -Werror for clang and gcc"
d0c3781 add -Werror for clang and gcc
050be06 fixing conversion warnings
97d489c fix shadow warnings on gcc 4.8 (-Wshadow)
1576cde Fix alignment of 64bit platforms
33b7a4b don't try to use google's servers
ba76475 Fix incorrect doxygen escapes
8c01e7e Add Pointer::Erase() and EraseValueByPointer()
a3e5fcf Minor grammar corrections
5bec8b9 Minor modification to Pointer guide
1086297 Fix Pointer guide punctuations
2acc1e9 Merge pull request #327 from miloyip/json-pointer
5543a09 Draft Pointer guide
436625f Fix ambiguous cases in Pointer::Create()
b6a54f7 Add API doc for GenericPointer, rename some (template) parameters
b0c6a9d Merge remote-tracking branch 'origin/master' into json-pointer
56568fd Add GenericValue::ValueType and fix warning for SetString(std::string, Allocator)
e7bcedb Simplify code
1135ef6 Fix VC2013 false alarm warning
fc7b0a0 Add const Value& version of SetValueByPointer() and improve coverage
45bed00 Remove unusable StringRef overloads
524974d Add Validation of UTF-8 sequence for percent encoding, also improves coverage
c35d47f Change copyright header of pointer test
86d298c Merge branch 'master' into json-pointer
1c98609 Standardize MemoryPoolAllocator::Realloc() also, and improve coverage
6fdfc90 Merge branch 'master' into json-pointer
ae61b79 Standardize CrtAllocator::Realloc() for newSize = 0
3c73975 Fix 2 FILE* leaks in documenttest.cpp
bfd47a7 Fix merge conflict
7fc7160 Merge branch 'master' into json-pointer
369cf2a Fix wcscmp() causing false alarm in Valgrind
b55a9bc Try diagnosis Valgrind error
f55002c Try to fix valgrind error
6582160 Fix out-of-bound access in percent decode
bb0e828 Some std::string overloads for Pointer
0eb6cb8 Add equality/inequality operator, URI fragment stringify and UTF-8 Percent Encoding/Decoding
28f14bd Add parsing of URI fragment representation of JSON pointer
2ee15de Add no allocator overloads for Swap
fd93865 Add overloads for document as root, with no allocator parameter.
d0d1884 Add GetValueByPointerWithDefault() overloads
32b45f6 Add GetWithDefault() overloads
2ddbd09 Add '-' support for Create() and Set()
2ece55a Implement pointer parse error
1ef3805 Fix a bug in Pointer::Create() and Add different overloads for Set() related implementations
ea7b39b Update installation section of zh-cn readme
c1b66cc Fix incorrect API in tutorial document.
0be6274 Merge pull request #322 from miloyip/issue321_includerapidjson
dba6d6f Include rapidjson.h in error/error.h and internal/*.h
cca4013 Merge pull request #320 from guoxiao/https
8f89140 Fix warnings when visited via https
d2269f6 Update CHANGELOG.md
a592e19 Update CHANGELOG.md
b55fe07 Merge pull request #318 from miloyip/release1.0.1
2e913bf Update readme badge to version 1.0.1 also
316292d Change version to 1.0.1
4f20541 Add change log
d38558f Merge pull request #314 from miloyip/issue313_exponentoverflow
1a2d99d Merge pull request #317 from mitza-oci/patch-1
a9250d1 Fixed to build on older versions of 32-bit MSVC
7708215 Try to fix #313 again
735354e Separate handling for pos/neg exp and improve pos exp overflow
93d13ad Fix #313 Assertion In `Pow10.h` is triggered in Document::Parse
7f43373 Merge pull request #311 from miloyip/issue310_versionmacro
b2e5352 Change version in appveyor
5ab3f69 Simplify RAPIDJSON_VERSION_STRING
de137a2 Merge pull request #312 from jollyroger/find_gtest
04b6736 Introduce option to select default gtest installation. Refs #309
95c6ec9 Add release badge to readmes
5ab1e93 Add version macros for RapidJSON
8d39282 Update license headers for tests
aa61b08 Fix warnings for misctest
0e8bbe5 Standardize behavior of CrtAllocator::Malloc()
4cd14b7 Merge pull request #305 from pah/fix/strict-memcpy
0c5c153 Avoid calling memcpy with NULL pointers
30ace6f Fix mistake in perftest
556d154 Search sample data in more folders for perftest
22021d6 Converts tabs to spaces
a7763cb Fix allocator test
67a3ee3 Fix coveralls
b1fd2f1 Update readme.zh-cn.md
e857b08 Update readme.md
75ee552 Merge pull request #304 from miloyip/issue298_coverage
0edf27f Only do coverage on gcc/debug
0571a21 Cover SkipWhiteSpace for InsituStringStream
8f2add7 Not enforce force inline for debug configuration
4d3c64a Improves SkipWhitespace test
a81585b Further improve SkipWhitespace coverage
998e76f Improves SkipWhitespace coverage
ee50526 Try to use another namespace for SIMD version
a32d8b7 Add SIMD SkipWhitespace() unit test which don't run in Valgrind
fa32ec8 Merge pull request #302 from thebusytypist/issue298_coverage
6ef29ff Fix warning about unused argument.
0d28bb1 Add a missing error handling check(a single number as JSON root).
5ae48a0 Assert on impossible state transition in Transit(); Put the last case and all non-enumerated cases(also supply assertion for them) in  for code coverage.
3f562e1 Fix "SSE 4.1 -> SSE 4.2" typo and add some comments about SIMD in internals and FAQ
3993332 Use assertion for impossible case(The Predict() can ensure the token is ColonToken, otherwise it would be marked as Error state. So there is no need to check ColonToken again).
8576747 Add unittest for state transition to IterativeParsingMemberKeyState.
7cb031c Add unittests for parsing root JSON value other than array and object.
631302e Reduce random test iterations to speedup travis
c69ff41 Add tests for parsing number with exhaustive exponents and random signifcant
76d67b7 Improves coverage of Value::Accept()
2689cc4 Remove more unused code paths in double conversions
402d75a Fix gcc warning
37d820a Remove unused code paths in double conversions
5b89f33 Add more test numbers for writer
5f5758b Try coverage on gcc/release also
f8909e8 Improve coverage of encoded streams
afe2fbd Fix the warnings again
84e5741 Fix gcc warning
872aba6 Improve coverage of encoded streams
4be4857 Remove ununused BigInteger::FullAdd()
3621235 Improve dtoa coverage
4824f12 Fixed a bug in trimming long number sequence
4cc6287 Add some parsing number tests
3a92374 Try turning on slow test on number parsing
5dc52af Ignore files for coverage
81c539e Merge remote-tracking branch 'origin/master' into issue298_coverage
94c0082 Merge pull request #300 from miloyip/RemoveFileStream
9dcc1f4 Remove deprecated test
67be9ed Remove depreciated FileStream
f89c4b5 Use PrettyWriter to cover FileWriteStream::PutN()
3675b33 Search more paths for different build situations
3f7a3bc Add separate allocators test
c0ba5cf Add comment
056125d Improve coverage of Stack
bff588e Typo
5dde9ae Cover MemoryPoolAllocator::Capacity()
f51c014 Improve coverage of encodings
933c4a6 Improve Value deep-clone coverage
4bcedab Try to improve coverage of encodings
04011cd Adjust spaces
985971a Fix gcc/clang compilation
3bc95ec Add coverage for Document::ParseXXX()
65bffef Merge remote-tracking branch 'origin/master' into issue298_coverage
59ffb9e Try to fix a gcc/clang error
2d07198 Fix compilation
e7f1c6d Remove an invalid Document::ParseInsitu() API
d439f98 Add valuetest coverage
0745549 Improve Reading kParseErrorTermination coverage
331009a Fix gcc warning
7e1a6a1 Add Reader kParseErrorTermination coverage
23809dd Revert "Enable SIMD macros in unit tests"
bcd8796 Enable SIMD macros in unit tests
affd273 Fix gcc warning for itoatest
0b793ea Add test for covering PutN() generic version
e9b9225 Add itoatest
18a8891 Improve coverage for Writer and PrettyWriter
3c02868 Add tests for Writer API for RAPIDJSON_HAS_STDSTRING
3d82781 Improve PrettyWriter coverage
127ce71 Add a missing error handling for Writer, and add tests for invalid encoding.
7943382 Add Tests for WriteUInt64(), WriteInt64() of generic stream
fddffbe Revert "Try disabling inline for coverage"
6a622aa Try disabling inline for coverage
a0a6d73 Fix gcc compilation
752afa7 Add prettywritertest
35d0577 Try to fix doxygen problem
d058019 Activate coveralls/gcov for code coverage analysis
6ee6915 Move GenericPointer::kInvalidIndex to rapidjson::kPointerInvalidIndex
519a899 Merge pull request #296 from miloyip/issue294_WriteIntSegFault
e346b93 Try to fix a potential set fault on some compiler
6f4337c Merge pull request #295 from miloyip/issue287_WarningFloatEqual
cb59a5a Correct the Value::operator==() for double.
55f8339 Compare exact binary representation for full precision test
7e24024 Merge pull request #293 from miloyip/issue287_WarningFloatEqual
a0a361d Merge pull request #292 from shindo/pull-FindPackageHandleStandardArgs
5ae85e6 Yet two more warnings
2e0a2f6 CMake: fixed 'Unknown CMake command "find_package_handle_standard_args"'.
d7ad55f Another two warnings
09448e9 Another warning in valuetest
2452afb Fix -Wfloat-equal warnings in Value::operator== and valuetest
e04d66b Try to use EXPECT_NEAR
c18812a Fix yet another -Wfloat-equal warning
bd435f7 Another trial to fix the kInvalidIndex problem
2524693 Suppress float-equal in readertest.cpp
fb4f321 Fix another -Wfloat-equal warning
c7bcdb9 Fix a clang/gcc linker error
dfba62e Fixed two  -Wfloat-equal warnings
53ed550 Merge remote-tracking branch 'origin/master' into issue287_WarningFloatEqual
e0743b2 Fix a clang/gcc warning
26be3be Fix several clang/gcc warnings
dfc864b Fix a bug in Pointer::Create() which makes it very slow
02aa12a Merge pull request #291 from miloyip/issue289_NegativeZeroRoundtrip
1b9cab7 Try to fix more gcc/clang compilation errors
f73ec57 Add -Wfloat-equal to reproduce warnings
928d342 Merge pull request #290 from miloyip/issue288_QuoteInUnicodeEscape
e5cf3b8 Fix #289 negative zero roundtrip (double only)
601a62e Try to fix a gcc/clang issue after removing Document::ValueType
b7e3410 Fix #288 double quote in unicode escape
b2d72ef Add XXXByPointer() helper functions
cf0ff19 Add Pointer default/copy constructor, assignment operator. Test constructor with tokens
c11547e Implement Pointer::Create(). Get(). GetWithDefault(). Set(). Swap()
852c251 Implement parser/generator for JSON Pointer
79e81fe Typo
a31eb89 Add missing \" in simpledom diagram
3b9676f Add Gitbook links
eb53791 Try to fix side-nav not reaching bottom issue
afa3176 Merge pull request #283 from miloyip/license
a24322f Try adding disqus for documentation
a02ed75 Use smaller font for title of class reference
4b6bf04 Try fixing vertical gap in old doxygen with CSS
3ca6969 Fix another set of dead links
8d76b40 Fix dead links
a6f1024 Copyright text for zh-cn readme
dd28719 Minor doc fixes
d882fa6 Update links to people in FAQ
25e408d Typo
d1959ba Change copyright owner and related changes.
b8cc02e Try to fix a compilation error on gcc/clang
fc18b12 Minor dom doc modifications
2d920e7 Add user buffer unit test
51f439e Fix internals document doxygen table issue and typos
6968fc5 Fix TODOs in DOM documentation
b72219e Fix language names in readme
1ddbbdf Merge pull request #281 from pah/fix/zh-cn
349f737 readme.zh-cn.md: translate(?) english documentation link
b688580 fix zh-cn Doxygen generation for Travis CI
9b63f39 Merge pull request #280 from miloyip/zh-cn
d1a345a Add doxyfile for zh-cn
7b685da Merge remote-tracking branch 'origin/master' into zh-cn
49aff94 Update zh-cn doxygen
2c15985 Update and localize performance
fb60787 Update internals
f5b021d Merge pull request #279 from pah/fix/pedantic
cda34f0 encodings.h: hide overflow warning
525e8c5 biginteger/diyfp: mark __int128 as extension on GCC
3b81580 messagereader.cpp: drop trailing comma
ff22713 Localized FAQ
d243e5c Edit FAQ
017394e Update tutorial links
27e8f78 Update FAQ
1a043e6 Localized SAX
ee6ebc4 Localized DOM
3ed77f8 Localized encoding
2c20786 Localized stream
35c726b Localizes readme, features and tutorial

git-subtree-dir: rapidjson
git-subtree-split: 9515b9cc949e19f6aa0b904aac54fb65661b3c6d
  • Loading branch information
xpol committed Jan 5, 2016
1 parent a6daed4 commit c30e7fa
Show file tree
Hide file tree
Showing 114 changed files with 11,787 additions and 1,679 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,4 @@ Testing
install_manifest.txt
Doxyfile
DartConfiguration.tcl
*.nupkg
127 changes: 99 additions & 28 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,44 +1,115 @@
language: cpp
sudo: false
cache:
- ccache

compiler:
- clang
- gcc
addons:
apt:
packages: &default_packages
- cmake
- valgrind

env:
matrix:
- CONF=debug ARCH=x86_64
- CONF=release ARCH=x86_64
- CONF=debug ARCH=x86
- CONF=release ARCH=x86
global:
- USE_CCACHE=1
- CCACHE_SLOPPINESS=pch_defines,time_macros
- CCACHE_COMPRESS=1
- CCACHE_MAXSIZE=100M
- ARCH_FLAGS_x86='-m32' # #266: don't use SSE on 32-bit
- ARCH_FLAGS_x86_64='-msse4.2' # use SSE4.2 on 64-bit
- GITHUB_REPO='miloyip/rapidjson'
- secure: "HrsaCb+N66EG1HR+LWH1u51SjaJyRwJEDzqJGYMB7LJ/bfqb9mWKF1fLvZGk46W5t7TVaXRDD5KHFx9DPWvKn4gRUVkwTHEy262ah5ORh8M6n/6VVVajeV/AYt2C0sswdkDBDO4Xq+xy5gdw3G8s1A4Inbm73pUh+6vx+7ltBbk="

before_install:
- sudo apt-get update -qq
- sudo apt-get install -qq cmake doxygen valgrind
- if [ "$ARCH" = "x86" ]; then sudo apt-get install -qq g++-multilib libc6-dbg:i386; fi

install: true
matrix:
include:
- env: CONF=release ARCH=x86
compiler: gcc
addons:
apt:
packages:
- *default_packages
- g++-multilib
- libc6-dbg:i386
- env: CONF=release ARCH=x86_64
compiler: gcc
- env: CONF=debug ARCH=x86 CCACHE_CPP2=yes
compiler: clang
addons:
apt:
packages:
- *default_packages
- g++-multilib
- libc6-dbg:i386
- env: CONF=debug ARCH=x86_64 CCACHE_CPP2=yes
compiler: clang
- env: CONF=release ARCH=x86 CCACHE_CPP2=yes
compiler: clang
addons:
apt:
packages:
- *default_packages
- g++-multilib
- libc6-dbg:i386
- env: CONF=release ARCH=x86_64 CCACHE_CPP2=yes
compiler: clang
# coverage report
- env: CONF=debug ARCH=x86 GCOV_FLAGS='--coverage'
compiler: gcc
cache:
- ccache
- pip
addons:
apt:
packages:
- *default_packages
- g++-multilib
- libc6-dbg:i386
after_success:
- pip install --user cpp-coveralls
- coveralls -r .. --gcov-options '\-lp' -e thirdparty -e example -e test -e build/CMakeFiles -e include/rapidjson/msinttypes -e include/rapidjson/internal/meta.h -e include/rapidjson/error/en.h
- env: CONF=debug ARCH=x86_64 GCOV_FLAGS='--coverage'
compiler: gcc
cache:
- ccache
- pip
addons:
apt:
packages:
- *default_packages
- g++-multilib
- libc6-dbg:i386
after_success:
- pip install --user cpp-coveralls
- coveralls -r .. --gcov-options '\-lp' -e thirdparty -e example -e test -e build/CMakeFiles -e include/rapidjson/msinttypes -e include/rapidjson/internal/meta.h -e include/rapidjson/error/en.h
- script: # Documentation task
- cd build
- cmake .. -DRAPIDJSON_HAS_STDSTRING=ON -DCMAKE_VERBOSE_MAKEFILE=ON
- make travis_doc
cache: false
addons:
apt:
packages:
- doxygen

before_script:
# hack to avoid Valgrind bug (https://bugs.kde.org/show_bug.cgi?id=326469),
# exposed by merging PR#163 (using -march=native)
- ccache -s
# hack to avoid Valgrind bug (https://bugs.kde.org/show_bug.cgi?id=326469),
# exposed by merging PR#163 (using -march=native)
# TODO: Since this bug is already fixed. Remove this when valgrind can be upgraded.
- sed -i "s/-march=native//" CMakeLists.txt
- mkdir build
- >
eval "ARCH_FLAGS=\${ARCH_FLAGS_${ARCH}}" ;
(cd build && cmake
-DRAPIDJSON_HAS_STDSTRING=ON
-DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_BUILD_TYPE=$CONF
-DCMAKE_CXX_FLAGS="$ARCH_FLAGS" ..)
- mkdir build

script:
- >
eval "ARCH_FLAGS=\${ARCH_FLAGS_${ARCH}}" ;
(cd build && cmake
-DRAPIDJSON_HAS_STDSTRING=ON
-DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_BUILD_TYPE=$CONF
-DCMAKE_CXX_FLAGS="$ARCH_FLAGS $GCOV_FLAGS"
-DCMAKE_EXE_LINKER_FLAGS=$GCOV_FLAGS
..)
- cd build
- make tests
- make examples
- ctest -V `[ "$CONF" = "release" ] || echo "-E perftest"`
- make travis_doc
- make tests -j 2
- make examples -j 2
- ctest -j 2 -V `[ "$CONF" = "release" ] || echo "-E perftest"`
79 changes: 79 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Change Log
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).

## [Unreleased]

## [1.0.2] - 2015-05-14

### Added
* Add Value::XXXMember(...) overloads for std::string (#335)

### Fixed
* Include rapidjson.h for all internal/error headers.
* Parsing some numbers incorrectly in full-precision mode (`kFullPrecisionParseFlag`) (#342)
* Fix alignment of 64bit platforms (#328)
* Fix MemoryPoolAllocator::Clear() to clear user-buffer (0691502573f1afd3341073dd24b12c3db20fbde4)

### Changed
* CMakeLists for include as a thirdparty in projects (#334, #337)
* Change Document::ParseStream() to use stack allocator for Reader (ffbe38614732af8e0b3abdc8b50071f386a4a685)

## [1.0.1] - 2015-04-25

### Added
* Changelog following [Keep a CHANGELOG](https://github.com/olivierlacan/keep-a-changelog) suggestions.

### Fixed
* Parsing of some numbers (e.g. "1e-00011111111111") causing assertion (#314).
* Visual C++ 32-bit compilation error in `diyfp.h` (#317).

## [1.0.0] - 2015-04-22

### Added
* 100% [Coverall](https://coveralls.io/r/miloyip/rapidjson?branch=master) coverage.
* Version macros (#311)

### Fixed
* A bug in trimming long number sequence (4824f12efbf01af72b8cb6fc96fae7b097b73015).
* Double quote in unicode escape (#288).
* Negative zero roundtrip (double only) (#289).
* Standardize behavior of `memcpy()` and `malloc()` (0c5c1538dcfc7f160e5a4aa208ddf092c787be5a, #305, 0e8bbe5e3ef375e7f052f556878be0bd79e9062d).

### Removed
* Remove an invalid `Document::ParseInsitu()` API (e7f1c6dd08b522cfcf9aed58a333bd9a0c0ccbeb).

## 1.0-beta - 2015-04-8

### Added
* RFC 7159 (#101)
* Optional Iterative Parser (#76)
* Deep-copy values (#20)
* Error code and message (#27)
* ASCII Encoding (#70)
* `kParseStopWhenDoneFlag` (#83)
* `kParseFullPrecisionFlag` (881c91d696f06b7f302af6d04ec14dd08db66ceb)
* Add `Key()` to handler concept (#134)
* C++11 compatibility and support (#128)
* Optimized number-to-string and vice versa conversions (#137, #80)
* Short-String Optimization (#131)
* Local stream optimization by traits (#32)
* Travis & Appveyor Continuous Integration, with Valgrind verification (#24, #242)
* Redo all documentation (English, Simplified Chinese)

### Changed
* Copyright ownership transfered to THL A29 Limited (a Tencent company).
* Migrating from Premake to CMAKE (#192)
* Resolve all warning reports

### Removed
* Remove other JSON libraries for performance comparison (#180)

## 0.11 - 2012-11-16

## 0.1 - 2011-11-18

[Unreleased]: https://github.com/miloyip/rapidjson/compare/v1.0.2...HEAD
[1.0.2]: https://github.com/miloyip/rapidjson/compare/v1.0.1...v1.0.2
[1.0.1]: https://github.com/miloyip/rapidjson/compare/v1.0.0...v1.0.1
[1.0.0]: https://github.com/miloyip/rapidjson/compare/v1.0-beta...v1.0.0
25 changes: 18 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMakeModules)
SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules)

PROJECT(RapidJSON CXX)

set(LIB_MAJOR_VERSION "0")
set(LIB_MINOR_VERSION "12")
set(LIB_PATCH_VERSION "0")
set(LIB_MAJOR_VERSION "1")
set(LIB_MINOR_VERSION "0")
set(LIB_PATCH_VERSION "2")
set(LIB_VERSION_STRING "${LIB_MAJOR_VERSION}.${LIB_MINOR_VERSION}.${LIB_PATCH_VERSION}")

# compile in release with debug info mode by default
Expand All @@ -17,16 +17,27 @@ SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
option(RAPIDJSON_BUILD_DOC "Build rapidjson documentation." ON)
option(RAPIDJSON_BUILD_EXAMPLES "Build rapidjson examples." ON)
option(RAPIDJSON_BUILD_TESTS "Build rapidjson perftests and unittests." ON)
option(RAPIDJSON_BUILD_THIRDPARTY_GTEST
"Use gtest installation in `thirdparty/gtest` by default if available" OFF)

option(RAPIDJSON_HAS_STDSTRING "" OFF)
if(RAPIDJSON_HAS_STDSTRING)
add_definitions(-DRAPIDJSON_HAS_STDSTRING)
endif()

find_program(CCACHE_FOUND ccache)
if(CCACHE_FOUND)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments -fcolor-diagnostics")
endif()
endif(CCACHE_FOUND)

if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra -Werror")
elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -Wextra -Werror -Wno-missing-field-initializers")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
add_definitions(-D_CRT_SECURE_NO_WARNINGS=1)
endif()
Expand All @@ -43,7 +54,7 @@ ELSEIF(WIN32)
ENDIF()
SET(CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" CACHE PATH "The directory cmake fiels are installed in")

include_directories(${CMAKE_SOURCE_DIR}/include)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)

if(RAPIDJSON_BUILD_DOC)
add_subdirectory(doc)
Expand Down
14 changes: 11 additions & 3 deletions CMakeModules/FindGTestSrc.cmake
Original file line number Diff line number Diff line change
@@ -1,22 +1,30 @@
SET(GTEST_SEARCH_PATH

SET(GTEST_SEARCH_PATH
"${GTEST_SOURCE_DIR}"
"${CMAKE_SOURCE_DIR}/thirdparty/gtest")
"${CMAKE_CURRENT_LIST_DIR}/../thirdparty/gtest")

IF(UNIX)
LIST(INSERT GTEST_SEARCH_PATH 1 "/usr/src/gtest")
IF(RAPIDJSON_BUILD_THIRDPARTY_GTEST)
LIST(APPEND GTEST_SEARCH_PATH "/usr/src/gtest")
ELSE()
LIST(INSERT GTEST_SEARCH_PATH 1 "/usr/src/gtest")
ENDIF()
ENDIF()

FIND_PATH(GTEST_SOURCE_DIR
NAMES CMakeLists.txt src/gtest_main.cc
PATHS ${GTEST_SEARCH_PATH})


# Debian installs gtest include directory in /usr/include, thus need to look
# for include directory separately from source directory.
FIND_PATH(GTEST_INCLUDE_DIR
NAMES gtest/gtest.h
PATH_SUFFIXES include
HINTS ${GTEST_SOURCE_DIR}
PATHS ${GTEST_SEARCH_PATH})

INCLUDE(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GTestSrc DEFAULT_MSG
GTEST_SOURCE_DIR
GTEST_INCLUDE_DIR)
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: 0.12.{build}
version: 1.0.2.{build}

configuration:
- Debug
Expand Down
12 changes: 7 additions & 5 deletions doc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,19 @@ find_package(Doxygen)
IF(NOT DOXYGEN_FOUND)
MESSAGE(STATUS "No Doxygen found. Documentation won't be built")
ELSE()
file(GLOB SOURCES ${CMAKE_SOURCE_DIR}/include/*)
file(GLOB MARKDOWN_DOC ${CMAKE_SOURCE_DIR}/doc/*.md)
list(APPEND MARKDOWN_DOC ${CMAKE_SOURCE_DIR}/readme.md)
file(GLOB SOURCES ${CMAKE_CURRENT_LIST_DIR}/../include/*)
file(GLOB MARKDOWN_DOC ${CMAKE_CURRENT_LIST_DIR}/../doc/*.md)
list(APPEND MARKDOWN_DOC ${CMAKE_CURRENT_LIST_DIR}/../readme.md)

CONFIGURE_FILE(Doxyfile.in Doxyfile @ONLY)
CONFIGURE_FILE(Doxyfile.zh-cn.in Doxyfile.zh-cn @ONLY)

add_custom_command(OUTPUT html
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.zh-cn
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/html
DEPENDS ${MARKDOWN_DOC} ${SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
DEPENDS ${MARKDOWN_DOC} ${SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile*
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/../
)

add_custom_target(doc ALL DEPENDS html)
Expand Down
1 change: 1 addition & 0 deletions doc/Doxyfile.in
Original file line number Diff line number Diff line change
Expand Up @@ -769,6 +769,7 @@ INPUT = readme.md \
include/ \
doc/features.md \
doc/tutorial.md \
doc/pointer.md \
doc/stream.md \
doc/encoding.md \
doc/dom.md \
Expand Down
Loading

0 comments on commit c30e7fa

Please sign in to comment.