Merge pull request #311 from miloyip/issue310_versionmacro

RapidJSON v1.0.0
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cf6b46f..559312b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,8 +3,8 @@
 
 PROJECT(RapidJSON CXX)
 
-set(LIB_MAJOR_VERSION "0")
-set(LIB_MINOR_VERSION "12")
+set(LIB_MAJOR_VERSION "1")
+set(LIB_MINOR_VERSION "0")
 set(LIB_PATCH_VERSION "0")
 set(LIB_VERSION_STRING "${LIB_MAJOR_VERSION}.${LIB_MINOR_VERSION}.${LIB_PATCH_VERSION}")
 
diff --git a/appveyor.yml b/appveyor.yml
index d1a9108..890f9d9 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,4 +1,4 @@
-version: 0.12.{build}
+version: 1.0.0.{build}
 
 configuration:
 - Debug
diff --git a/include/rapidjson/rapidjson.h b/include/rapidjson/rapidjson.h
index 4351aea..938a3ce 100644
--- a/include/rapidjson/rapidjson.h
+++ b/include/rapidjson/rapidjson.h
@@ -17,7 +17,7 @@
 

 /*!\file rapidjson.h

     \brief common definitions and configuration

-

+    

     \see RAPIDJSON_CONFIG

  */

 

@@ -40,6 +40,40 @@
 #include <cstring>  // memset(), memcpy(), memmove(), memcmp()

 

 ///////////////////////////////////////////////////////////////////////////////

+// RAPIDJSON_VERSION_STRING

+//

+// ALWAYS synchronize the following 3 macros with corresponding variables in /CMakeLists.txt.

+//

+

+//!@cond RAPIDJSON_HIDDEN_FROM_DOXYGEN

+// token stringification

+#define RAPIDJSON_STRINGIFY(x) RAPIDJSON_DO_STRINGIFY(x)

+#define RAPIDJSON_DO_STRINGIFY(x) #x

+//!@endcond

+

+/*! \def RAPIDJSON_MAJOR_VERSION

+    \ingroup RAPIDJSON_CONFIG

+    \brief Major version of RapidJSON in integer.

+*/

+/*! \def RAPIDJSON_MINOR_VERSION

+    \ingroup RAPIDJSON_CONFIG

+    \brief Minor version of RapidJSON in integer.

+*/

+/*! \def RAPIDJSON_PATCH_VERSION

+    \ingroup RAPIDJSON_CONFIG

+    \brief Patch version of RapidJSON in integer.

+*/

+/*! \def RAPIDJSON_VERSION_STRING

+    \ingroup RAPIDJSON_CONFIG

+    \brief Version of RapidJSON in "<major>.<minor>.<patch>" string format.

+*/

+#define RAPIDJSON_MAJOR_VERSION 1

+#define RAPIDJSON_MINOR_VERSION 0

+#define RAPIDJSON_PATCH_VERSION 0

+#define RAPIDJSON_VERSION_STRING \

+    RAPIDJSON_STRINGIFY(RAPIDJSON_MAJOR_VERSION.RAPIDJSON_MINOR_VERSION.RAPIDJSON_PATCH_VERSION)

+

+///////////////////////////////////////////////////////////////////////////////

 // RAPIDJSON_NAMESPACE_(BEGIN|END)

 /*! \def RAPIDJSON_NAMESPACE

     \ingroup RAPIDJSON_CONFIG

@@ -353,10 +387,6 @@
 #define RAPIDJSON_VERSION_CODE(x,y,z) \

   (((x)*100000) + ((y)*100) + (z))

 

-// token stringification

-#define RAPIDJSON_STRINGIFY(x) RAPIDJSON_DO_STRINGIFY(x)

-#define RAPIDJSON_DO_STRINGIFY(x) #x

-

 ///////////////////////////////////////////////////////////////////////////////

 // RAPIDJSON_DIAG_PUSH/POP, RAPIDJSON_DIAG_OFF

 

diff --git a/readme.md b/readme.md
index 8a7264f..007596a 100644
--- a/readme.md
+++ b/readme.md
@@ -1,4 +1,7 @@
 ![](doc/logo/rapidjson.png)
+
+![](https://img.shields.io/badge/release-v1.0.0-blue.png)
+
 ## A fast JSON parser/generator for C++ with both SAX/DOM style API 
 
 Tencent is pleased to support the open source community by making RapidJSON available.
diff --git a/readme.zh-cn.md b/readme.zh-cn.md
index 91ab10d..be3849a 100644
--- a/readme.zh-cn.md
+++ b/readme.zh-cn.md
@@ -1,5 +1,7 @@
 ![](doc/logo/rapidjson.png)
 
+![](https://img.shields.io/badge/release-v1.0.0-blue.png)
+
 Tencent is pleased to support the open source community by making RapidJSON available.
 
 Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
diff --git a/test/unittest/unittest.cpp b/test/unittest/unittest.cpp
index c475179..4e3bc11 100644
--- a/test/unittest/unittest.cpp
+++ b/test/unittest/unittest.cpp
@@ -13,10 +13,13 @@
 // specific language governing permissions and limitations under the License.

 

 #include "unittest.h"

+#include "rapidjson/rapidjson.h"

 

 int main(int argc, char **argv) {

     ::testing::InitGoogleTest(&argc, argv);

 

+    std::cout << "RapidJSON v" << RAPIDJSON_VERSION_STRING << std::endl;

+

 #if _MSC_VER

     _CrtMemState memoryState = { 0 };

     _CrtMemCheckpoint(&memoryState);