add COMPILE_CMAKE.TXT & update COMPILE.TXT
diff --git a/COMPILE.TXT b/COMPILE.TXT
index dce07f7..bc63ccc 100644
--- a/COMPILE.TXT
+++ b/COMPILE.TXT
@@ -3,6 +3,8 @@
 
 To natively compile for Windows using Microsoft Visual Studio, see COMPILE_MSVC.TXT.
 
+To compile using CMake, see COMPILE_CMAKE.TXT.
+
                         *-*-*-*-*-*
 
 Capstone requires no prerequisite packages, so it is easy to compile & install.
@@ -11,11 +13,11 @@
 
 (0) Tailor Capstone to your need.
 
-  Out of 7 archtitectures supported by Capstone (Arm, Arm64, Mips, PPC, Sparc,
-  SystemZ & X86), if you just need several selected archs, choose which ones you
-  want to compile in by editing "config.mk" before going to next steps.
+  Out of 8 archtitectures supported by Capstone (Arm, Arm64, Mips, PPC, Sparc,
+  SystemZ, XCore & X86), if you just need several selected archs, choose which
+  ones you want to compile in by editing "config.mk" before going to next steps.
 
-  By default, all 7 architectures are compiled.
+  By default, all 8 architectures are compiled.
 
   The other way of customize Capstone without having to edit config.mk is to
   pass the desired options on the commandline to ./make.sh. Currently,
diff --git a/COMPILE_CMAKE.TXT b/COMPILE_CMAKE.TXT
new file mode 100644
index 0000000..85c40ee
--- /dev/null
+++ b/COMPILE_CMAKE.TXT
@@ -0,0 +1,83 @@
+This documentation explains how to compile Capstone with CMake, focus on
+using Microsoft Visual C as the compiler.
+
+To compile Capstone on *nix, see COMPILE.TXT.
+
+To compile Capstone on Windows using Visual Studio, see COMPILE_MSVC.TXT.
+
+                        *-*-*-*-*-*
+
+This documentation requires CMake & Windows SDK or MS Visual Studio installed on
+your machine.
+
+Get CMake for free from http://www.cmake.org.
+
+
+
+(0) Tailor Capstone to your need.
+
+  Out of 8 archtitectures supported by Capstone (Arm, Arm64, Mips, PPC, Sparc,
+  SystemZ, X86 & XCore), if you just need several selected archs, choose the ones
+  you want to compile in by opening CMakeLists.txt, then directly editing
+  the options there. This must be done before going to the
+  next steps.
+
+  Capstone has following compile-time options.
+
+  - ARM_SUPPORT: support ARM. Change this to OFF to remove ARM support.
+  - ARM64_SUPPORT: support ARM64. Change this to OFF to remove ARM64 support.
+  - MIPS_SUPPORT: support Mips. Change this to OFF to remove Mips support.
+  - PPC_SUPPORT: support PPC. Change this to OFF to remove PPC support.
+  - SPARC_SUPPORT: support Sparc. Change this to OFF to remove Sparc support.
+  - SYSZ_SUPPORT: support SystemZ. Change this to OFF to remove SystemZ support.
+  - XCORE_SUPPORT: support XCore. Change this to OFF to remove XCore support.
+  - X86_SUPPORT: support X86. Change this to OFF to remove X86 support.
+
+  By default, all 8 architectures are compiled in.
+
+
+  Besides, Capstone also allows some more customization via following macros.
+
+  - USE_SYS_DYN_MEM: change this to OFF to use your own dynamic memory management.
+  - BUILD_DIET: change this to ON to make the binaries more compact.
+  - X86_REDUCE: change this to ON to make X86 binary smaller.
+
+  By default, Capstone use system dynamic memory management, and both DIET and X86_REDUCE
+  modes are disable.
+
+
+  For each option, refer to docs/README for more details.
+
+
+
+(1) CMake allows you to generate different generators to build Capstone. Below is
+    some examples on how to build Capstone on Windows with CMake.
+
+
+  - To build Capstone using Nmake of Windows SDK, do f:
+
+      mkdir build
+      cd build
+      cmake -G "NMake Makefiles" ..
+      nmake
+
+  After this, find the samples test*.exe, libcapstone_static.lib & libcapstone.dll
+  in the same directory.
+
+
+
+  - To build Capstone using Visual Studio, choose the generator accordingly to the
+  version of Visual Studio on your machine. For example, with Visual Studio 2013, do:
+
+      mkdir build
+      cd build
+      cmake -G "Visual Studio 12" ..
+
+  After this, find libcapstone.sln in the same directory. Open it with Visual Studio
+  and build the solution as usual.
+
+
+
+(2) You can make sure the prior steps successfully worked by launching one of the
+  testing binary (test*.exe).
+
diff --git a/COMPILE_MSVC.TXT b/COMPILE_MSVC.TXT
index 71d7f86..a8767dd 100644
--- a/COMPILE_MSVC.TXT
+++ b/COMPILE_MSVC.TXT
@@ -1,6 +1,10 @@
 This documentation explains how to compile Capstone on Windows using
 Microsoft Visual Studio version 2010 or newer.
 
+To compile Capstone on *nix, see COMPILE.TXT
+
+To compile Capstone with CMake, see COMPILE_CMAKE.TXT
+
                         *-*-*-*-*-*
 
 Capstone requires no prerequisite packages, so it is easy to compile & install.