From 325a8248831cedb36985ad3927ba97d476c29952 Mon Sep 17 00:00:00 2001 From: Adam Gu Date: Wed, 25 Apr 2018 14:43:45 +0800 Subject: [PATCH] Update readme --- README.md | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 62823cf..fbcfb5c 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,27 @@ # webcc -A lightweight C++ REST and SOAP client and server library based on Boost.Asio. +A lightweight C++ REST and SOAP client and server library based on *Boost.Asio*. -## Tutorials +Please see the `doc` folder for tutorials and `example` folder for examples. -**SOAP:** -- [SOAP Client Tutorial](doc/SoapClientTutorial.md) -- [SOAP Server Tutorial](doc/SoapServerTutorial.md) +## Build Instructions -- [SOAP 客户端教程](doc/SoapClientTutorial_zh-CN.md) +A lot of C++11 features are used, e.g., `std::move`. But C++14 is not required. It means that you can still build `webcc` using VS2013. -## Dependencies +[CMake 3.1.0+](https://cmake.org/) is required as the build system. But if you don't use CMake, you can just copy the `src/webcc` folder to your own project then manage it by yourself. -- C++11 -- Boost 1.66+ +[C++ Boost](https://www.boost.org/) should be 1.66+ because Asio made some broken changes to the API in 1.66. -If enable SOAP support, **pugixml** is needed to parse and compose XML strings. +### Build Options -## Build +The following CMake options determine how you build the projects. They are quite self-explanatory. -The build system is CMake. +```cmake +option(WEBCC_ENABLE_LOG "Enable console logger?" ON) +option(WEBCC_ENABLE_SOAP "Enable SOAP support (need pugixml)?" ON) +option(WEBCC_BUILD_UNITTEST "Build unit test?" ON) +option(WEBCC_BUILD_REST_EXAMPLE "Build REST example?" ON) +option(WEBCC_BUILD_SOAP_EXAMPLE "Build SOAP example?" ON) +``` + +If `WEBCC_ENABLE_SOAP` is `ON`, **pugixml** (already included) is used to parse and compose XML strings.