From 1b7e1378b4afe8c9a2e4e83513c48df0533e05b6 Mon Sep 17 00:00:00 2001 From: Chunting Gu Date: Sat, 4 Aug 2018 11:32:29 +0800 Subject: [PATCH] Replace boost thread with std thread for queue; refine cmake files. --- CMakeLists.txt | 125 ++++++----- compile_commands.json | 267 +++++++++++++++--------- example/http_hello_async_client/main.cc | 3 +- third_party/src/gtest/CMakeLists.txt | 15 +- third_party/src/pugixml/CMakeLists.txt | 2 - webcc/CMakeLists.txt | 154 +++++++------- webcc/queue.h | 18 +- 7 files changed, 322 insertions(+), 262 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ac5aab1..bcaa6d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,15 +23,15 @@ if(WEBCC_ENABLE_LOG) # Add definition of WEBCC_LOG_LEVEL according variable WEBCC_LOG_LEVEL. if(WEBCC_LOG_LEVEL MATCHES "^VERB$") - add_definitions(-DWEBCC_LOG_LEVEL=0) + add_definitions(-DWEBCC_LOG_LEVEL=0) elseif(WEBCC_LOG_LEVEL MATCHES "^INFO$") - add_definitions(-DWEBCC_LOG_LEVEL=1) + add_definitions(-DWEBCC_LOG_LEVEL=1) elseif(WEBCC_LOG_LEVEL MATCHES "^WARN$") - add_definitions(-DWEBCC_LOG_LEVEL=2) + add_definitions(-DWEBCC_LOG_LEVEL=2) elseif(WEBCC_LOG_LEVEL MATCHES "^ERRO$") - add_definitions(-DWEBCC_LOG_LEVEL=3) + add_definitions(-DWEBCC_LOG_LEVEL=3) elseif(WEBCC_LOG_LEVEL MATCHES "^FATA$") - add_definitions(-DWEBCC_LOG_LEVEL=4) + add_definitions(-DWEBCC_LOG_LEVEL=4) endif() endif() @@ -53,34 +53,34 @@ include(GNUInstallDirs) # Automatically detect _WIN32_WINNT for Asio. # See: https://stackoverflow.com/a/40217291 if(WIN32) - macro(get_WIN32_WINNT version) - if(CMAKE_SYSTEM_VERSION) - set(ver ${CMAKE_SYSTEM_VERSION}) - string(REGEX MATCH "^([0-9]+).([0-9])" ver ${ver}) - string(REGEX MATCH "^([0-9]+)" verMajor ${ver}) - # Check for Windows 10, b/c we'll need to convert to hex 'A'. - if("${verMajor}" MATCHES "10") - set(verMajor "A") - string(REGEX REPLACE "^([0-9]+)" ${verMajor} ver ${ver}) - endif("${verMajor}" MATCHES "10") - # Remove all remaining '.' characters. - string(REPLACE "." "" ver ${ver}) - # Prepend each digit with a zero. - string(REGEX REPLACE "([0-9A-Z])" "0\\1" ver ${ver}) - set(${version} "0x${ver}") - endif(CMAKE_SYSTEM_VERSION) - endmacro(get_WIN32_WINNT) - - get_WIN32_WINNT(ver) - # E.g., 0x0601 for Win7. - message(STATUS "_WIN32_WINNT=${ver}") + macro(get_WIN32_WINNT version) + if(CMAKE_SYSTEM_VERSION) + set(ver ${CMAKE_SYSTEM_VERSION}) + string(REGEX MATCH "^([0-9]+).([0-9])" ver ${ver}) + string(REGEX MATCH "^([0-9]+)" verMajor ${ver}) + # Check for Windows 10, b/c we'll need to convert to hex 'A'. + if("${verMajor}" MATCHES "10") + set(verMajor "A") + string(REGEX REPLACE "^([0-9]+)" ${verMajor} ver ${ver}) + endif("${verMajor}" MATCHES "10") + # Remove all remaining '.' characters. + string(REPLACE "." "" ver ${ver}) + # Prepend each digit with a zero. + string(REGEX REPLACE "([0-9A-Z])" "0\\1" ver ${ver}) + set(${version} "0x${ver}") + endif(CMAKE_SYSTEM_VERSION) + endmacro(get_WIN32_WINNT) + + get_WIN32_WINNT(ver) + # E.g., 0x0601 for Win7. + message(STATUS "_WIN32_WINNT=${ver}") # Asio needs this! - add_definitions(-D_WIN32_WINNT=${ver}) + add_definitions(-D_WIN32_WINNT=${ver}) endif() if(WIN32) - # Disable warning on boost string algorithms. - add_definitions(-D_SCL_SECURE_NO_WARNINGS) + # Disable warning on boost string algorithms. + add_definitions(-D_SCL_SECURE_NO_WARNINGS) endif() # C++ standard requirements. @@ -97,10 +97,9 @@ find_package(Threads REQUIRED) set(Boost_USE_STATIC_LIBS ON) set(Boost_USE_MULTITHREADED ON) if(WIN32) - # TODO: Fix COMPONENTS on Windows. - find_package(Boost 1.66.0 REQUIRED) + find_package(Boost 1.66.0 REQUIRED) else() - find_package(Boost 1.66.0 REQUIRED COMPONENTS system thread) + find_package(Boost 1.66.0 REQUIRED COMPONENTS system filesystem) endif() if(Boost_FOUND) include_directories(${Boost_INCLUDE_DIRS}) @@ -109,12 +108,12 @@ if(Boost_FOUND) endif() if(WEBCC_ENABLE_SSL) - set(OPENSSL_USE_STATIC_LIBS ON) - set(OPENSSL_MSVC_STATIC_RT ON) - find_package(OpenSSL) - if(OPENSSL_FOUND) - include_directories(${OPENSSL_INCLUDE_DIR}) - endif() + set(OPENSSL_USE_STATIC_LIBS ON) + set(OPENSSL_MSVC_STATIC_RT ON) + find_package(OpenSSL) + if(OPENSSL_FOUND) + include_directories(${OPENSSL_INCLUDE_DIR}) + endif() endif() # For including its own headers as "webcc/http_client.h". @@ -127,37 +126,37 @@ endif() # SOAP support needs pugixml to parse and create XML. if(WEBCC_ENABLE_SOAP) - add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/src/pugixml) + add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/src/pugixml) - # For including pugixml as "pugixml/pugixml.hpp". - include_directories(${PROJECT_SOURCE_DIR}/third_party/src) + # For including pugixml as "pugixml/pugixml.hpp". + include_directories(${PROJECT_SOURCE_DIR}/third_party/src) endif() add_subdirectory(webcc) if(WEBCC_BUILD_EXAMPLE) - add_subdirectory(${PROJECT_SOURCE_DIR}/example/http_hello_client) - add_subdirectory(${PROJECT_SOURCE_DIR}/example/http_hello_async_client) - - # REST example needs jsoncpp to parse and create JSON. - add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/src/jsoncpp) - include_directories(${PROJECT_SOURCE_DIR}/third_party/src/jsoncpp) - - add_subdirectory(${PROJECT_SOURCE_DIR}/example/rest_book_server) - add_subdirectory(${PROJECT_SOURCE_DIR}/example/rest_book_client) - add_subdirectory(${PROJECT_SOURCE_DIR}/example/rest_book_async_client) - - if(WEBCC_ENABLE_SOAP) - add_subdirectory(${PROJECT_SOURCE_DIR}/example/soap_calc_server) - add_subdirectory(${PROJECT_SOURCE_DIR}/example/soap_calc_client) - add_subdirectory(${PROJECT_SOURCE_DIR}/example/soap_calc_client_parasoft) - add_subdirectory(${PROJECT_SOURCE_DIR}/example/soap_book_server) - add_subdirectory(${PROJECT_SOURCE_DIR}/example/soap_book_client) - endif() - - if(WEBCC_ENABLE_SSL) - add_subdirectory(${PROJECT_SOURCE_DIR}/example/http_ssl_client) - endif() + add_subdirectory(${PROJECT_SOURCE_DIR}/example/http_hello_client) + add_subdirectory(${PROJECT_SOURCE_DIR}/example/http_hello_async_client) + + # REST example needs jsoncpp to parse and create JSON. + add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/src/jsoncpp) + include_directories(${PROJECT_SOURCE_DIR}/third_party/src/jsoncpp) + + add_subdirectory(${PROJECT_SOURCE_DIR}/example/rest_book_server) + add_subdirectory(${PROJECT_SOURCE_DIR}/example/rest_book_client) + add_subdirectory(${PROJECT_SOURCE_DIR}/example/rest_book_async_client) + + if(WEBCC_ENABLE_SOAP) + add_subdirectory(${PROJECT_SOURCE_DIR}/example/soap_calc_server) + add_subdirectory(${PROJECT_SOURCE_DIR}/example/soap_calc_client) + add_subdirectory(${PROJECT_SOURCE_DIR}/example/soap_calc_client_parasoft) + add_subdirectory(${PROJECT_SOURCE_DIR}/example/soap_book_server) + add_subdirectory(${PROJECT_SOURCE_DIR}/example/soap_book_client) + endif() + + if(WEBCC_ENABLE_SSL) + add_subdirectory(${PROJECT_SOURCE_DIR}/example/http_ssl_client) + endif() endif() if(WEBCC_BUILD_UNITTEST) diff --git a/compile_commands.json b/compile_commands.json index 291e5a9..01e885d 100644 --- a/compile_commands.json +++ b/compile_commands.json @@ -1,182 +1,257 @@ [ { - "directory": "/home/adam/github/webcc/build/third_party/pugixml", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -std=c++11 -o CMakeFiles/pugixml.dir/pugixml.cpp.o -c /home/adam/github/webcc/third_party/pugixml/pugixml.cpp", - "file": "/home/adam/github/webcc/third_party/pugixml/pugixml.cpp" + "directory": "/home/adam/github/webcc/build/third_party/src/pugixml", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -std=c++11 -o CMakeFiles/pugixml.dir/pugixml.cpp.o -c /home/adam/github/webcc/third_party/src/pugixml/pugixml.cpp", + "file": "/home/adam/github/webcc/third_party/src/pugixml/pugixml.cpp" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/globals.cc.o -c /home/adam/github/webcc/src/webcc/globals.cc", - "file": "/home/adam/github/webcc/src/webcc/globals.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/globals.cc.o -c /home/adam/github/webcc/webcc/globals.cc", + "file": "/home/adam/github/webcc/webcc/globals.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/http_client.cc.o -c /home/adam/github/webcc/src/webcc/http_client.cc", - "file": "/home/adam/github/webcc/src/webcc/http_client.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/http_async_client.cc.o -c /home/adam/github/webcc/webcc/http_async_client.cc", + "file": "/home/adam/github/webcc/webcc/http_async_client.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/http_message.cc.o -c /home/adam/github/webcc/src/webcc/http_message.cc", - "file": "/home/adam/github/webcc/src/webcc/http_message.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/http_client.cc.o -c /home/adam/github/webcc/webcc/http_client.cc", + "file": "/home/adam/github/webcc/webcc/http_client.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/http_parser.cc.o -c /home/adam/github/webcc/src/webcc/http_parser.cc", - "file": "/home/adam/github/webcc/src/webcc/http_parser.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/http_connection.cc.o -c /home/adam/github/webcc/webcc/http_connection.cc", + "file": "/home/adam/github/webcc/webcc/http_connection.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/http_request.cc.o -c /home/adam/github/webcc/src/webcc/http_request.cc", - "file": "/home/adam/github/webcc/src/webcc/http_request.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/http_message.cc.o -c /home/adam/github/webcc/webcc/http_message.cc", + "file": "/home/adam/github/webcc/webcc/http_message.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/http_request_handler.cc.o -c /home/adam/github/webcc/src/webcc/http_request_handler.cc", - "file": "/home/adam/github/webcc/src/webcc/http_request_handler.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/http_parser.cc.o -c /home/adam/github/webcc/webcc/http_parser.cc", + "file": "/home/adam/github/webcc/webcc/http_parser.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/http_request_parser.cc.o -c /home/adam/github/webcc/src/webcc/http_request_parser.cc", - "file": "/home/adam/github/webcc/src/webcc/http_request_parser.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/http_request.cc.o -c /home/adam/github/webcc/webcc/http_request.cc", + "file": "/home/adam/github/webcc/webcc/http_request.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/http_response.cc.o -c /home/adam/github/webcc/src/webcc/http_response.cc", - "file": "/home/adam/github/webcc/src/webcc/http_response.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/http_request_handler.cc.o -c /home/adam/github/webcc/webcc/http_request_handler.cc", + "file": "/home/adam/github/webcc/webcc/http_request_handler.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/http_response_parser.cc.o -c /home/adam/github/webcc/src/webcc/http_response_parser.cc", - "file": "/home/adam/github/webcc/src/webcc/http_response_parser.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/http_request_parser.cc.o -c /home/adam/github/webcc/webcc/http_request_parser.cc", + "file": "/home/adam/github/webcc/webcc/http_request_parser.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/http_server.cc.o -c /home/adam/github/webcc/src/webcc/http_server.cc", - "file": "/home/adam/github/webcc/src/webcc/http_server.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/http_response.cc.o -c /home/adam/github/webcc/webcc/http_response.cc", + "file": "/home/adam/github/webcc/webcc/http_response.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/http_session.cc.o -c /home/adam/github/webcc/src/webcc/http_session.cc", - "file": "/home/adam/github/webcc/src/webcc/http_session.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/http_response_parser.cc.o -c /home/adam/github/webcc/webcc/http_response_parser.cc", + "file": "/home/adam/github/webcc/webcc/http_response_parser.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/logger.cc.o -c /home/adam/github/webcc/src/webcc/logger.cc", - "file": "/home/adam/github/webcc/src/webcc/logger.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/http_server.cc.o -c /home/adam/github/webcc/webcc/http_server.cc", + "file": "/home/adam/github/webcc/webcc/http_server.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/rest_client.cc.o -c /home/adam/github/webcc/src/webcc/rest_client.cc", - "file": "/home/adam/github/webcc/src/webcc/rest_client.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/logger.cc.o -c /home/adam/github/webcc/webcc/logger.cc", + "file": "/home/adam/github/webcc/webcc/logger.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/rest_request_handler.cc.o -c /home/adam/github/webcc/src/webcc/rest_request_handler.cc", - "file": "/home/adam/github/webcc/src/webcc/rest_request_handler.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/rest_async_client.cc.o -c /home/adam/github/webcc/webcc/rest_async_client.cc", + "file": "/home/adam/github/webcc/webcc/rest_async_client.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/rest_service_manager.cc.o -c /home/adam/github/webcc/src/webcc/rest_service_manager.cc", - "file": "/home/adam/github/webcc/src/webcc/rest_service_manager.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/rest_client.cc.o -c /home/adam/github/webcc/webcc/rest_client.cc", + "file": "/home/adam/github/webcc/webcc/rest_client.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/rest_service.cc.o -c /home/adam/github/webcc/src/webcc/rest_service.cc", - "file": "/home/adam/github/webcc/src/webcc/rest_service.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/rest_request_handler.cc.o -c /home/adam/github/webcc/webcc/rest_request_handler.cc", + "file": "/home/adam/github/webcc/webcc/rest_request_handler.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/url.cc.o -c /home/adam/github/webcc/src/webcc/url.cc", - "file": "/home/adam/github/webcc/src/webcc/url.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/rest_service_manager.cc.o -c /home/adam/github/webcc/webcc/rest_service_manager.cc", + "file": "/home/adam/github/webcc/webcc/rest_service_manager.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/utility.cc.o -c /home/adam/github/webcc/src/webcc/utility.cc", - "file": "/home/adam/github/webcc/src/webcc/utility.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/rest_service.cc.o -c /home/adam/github/webcc/webcc/rest_service.cc", + "file": "/home/adam/github/webcc/webcc/rest_service.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/soap_request_handler.cc.o -c /home/adam/github/webcc/src/webcc/soap_request_handler.cc", - "file": "/home/adam/github/webcc/src/webcc/soap_request_handler.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/url.cc.o -c /home/adam/github/webcc/webcc/url.cc", + "file": "/home/adam/github/webcc/webcc/url.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/soap_xml.cc.o -c /home/adam/github/webcc/src/webcc/soap_xml.cc", - "file": "/home/adam/github/webcc/src/webcc/soap_xml.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/utility.cc.o -c /home/adam/github/webcc/webcc/utility.cc", + "file": "/home/adam/github/webcc/webcc/utility.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/soap_message.cc.o -c /home/adam/github/webcc/src/webcc/soap_message.cc", - "file": "/home/adam/github/webcc/src/webcc/soap_message.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/soap_async_client.cc.o -c /home/adam/github/webcc/webcc/soap_async_client.cc", + "file": "/home/adam/github/webcc/webcc/soap_async_client.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/soap_request.cc.o -c /home/adam/github/webcc/src/webcc/soap_request.cc", - "file": "/home/adam/github/webcc/src/webcc/soap_request.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/soap_client.cc.o -c /home/adam/github/webcc/webcc/soap_client.cc", + "file": "/home/adam/github/webcc/webcc/soap_client.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/soap_response.cc.o -c /home/adam/github/webcc/src/webcc/soap_response.cc", - "file": "/home/adam/github/webcc/src/webcc/soap_response.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/soap_message.cc.o -c /home/adam/github/webcc/webcc/soap_message.cc", + "file": "/home/adam/github/webcc/webcc/soap_message.cc" }, { - "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/soap_client.cc.o -c /home/adam/github/webcc/src/webcc/soap_client.cc", - "file": "/home/adam/github/webcc/src/webcc/soap_client.cc" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/soap_response.cc.o -c /home/adam/github/webcc/webcc/soap_response.cc", + "file": "/home/adam/github/webcc/webcc/soap_response.cc" }, { - "directory": "/home/adam/github/webcc/build/third_party/jsoncpp", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/jsoncpp.dir/jsoncpp.cpp.o -c /home/adam/github/webcc/third_party/jsoncpp/jsoncpp.cpp", - "file": "/home/adam/github/webcc/third_party/jsoncpp/jsoncpp.cpp" + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/soap_request.cc.o -c /home/adam/github/webcc/webcc/soap_request.cc", + "file": "/home/adam/github/webcc/webcc/soap_request.cc" +}, +{ + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/soap_request_handler.cc.o -c /home/adam/github/webcc/webcc/soap_request_handler.cc", + "file": "/home/adam/github/webcc/webcc/soap_request_handler.cc" +}, +{ + "directory": "/home/adam/github/webcc/build/webcc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/webcc.dir/soap_xml.cc.o -c /home/adam/github/webcc/webcc/soap_xml.cc", + "file": "/home/adam/github/webcc/webcc/soap_xml.cc" +}, +{ + "directory": "/home/adam/github/webcc/build/example/http_hello_client", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/http_hello_client.dir/main.cc.o -c /home/adam/github/webcc/example/http_hello_client/main.cc", + "file": "/home/adam/github/webcc/example/http_hello_client/main.cc" +}, +{ + "directory": "/home/adam/github/webcc/build/example/http_hello_async_client", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/http_hello_async_client.dir/main.cc.o -c /home/adam/github/webcc/example/http_hello_async_client/main.cc", + "file": "/home/adam/github/webcc/example/http_hello_async_client/main.cc" +}, +{ + "directory": "/home/adam/github/webcc/build/third_party/src/jsoncpp", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -std=c++11 -o CMakeFiles/jsoncpp.dir/jsoncpp.cpp.o -c /home/adam/github/webcc/third_party/src/jsoncpp/jsoncpp.cpp", + "file": "/home/adam/github/webcc/third_party/src/jsoncpp/jsoncpp.cpp" +}, +{ + "directory": "/home/adam/github/webcc/build/example/rest_book_server", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/rest_book_server.dir/__/common/book.cc.o -c /home/adam/github/webcc/example/common/book.cc", + "file": "/home/adam/github/webcc/example/common/book.cc" }, { "directory": "/home/adam/github/webcc/build/example/rest_book_server", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -I/home/adam/github/webcc/third_party/jsoncpp -std=c++11 -o CMakeFiles/rest_book_server.dir/book_services.cc.o -c /home/adam/github/webcc/example/rest_book_server/book_services.cc", - "file": "/home/adam/github/webcc/example/rest_book_server/book_services.cc" + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/rest_book_server.dir/services.cc.o -c /home/adam/github/webcc/example/rest_book_server/services.cc", + "file": "/home/adam/github/webcc/example/rest_book_server/services.cc" }, { "directory": "/home/adam/github/webcc/build/example/rest_book_server", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -I/home/adam/github/webcc/third_party/jsoncpp -std=c++11 -o CMakeFiles/rest_book_server.dir/main.cc.o -c /home/adam/github/webcc/example/rest_book_server/main.cc", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/rest_book_server.dir/main.cc.o -c /home/adam/github/webcc/example/rest_book_server/main.cc", "file": "/home/adam/github/webcc/example/rest_book_server/main.cc" }, { "directory": "/home/adam/github/webcc/build/example/rest_book_client", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -I/home/adam/github/webcc/third_party/jsoncpp -std=c++11 -o CMakeFiles/rest_book_client.dir/main.cc.o -c /home/adam/github/webcc/example/rest_book_client/main.cc", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/rest_book_client.dir/main.cc.o -c /home/adam/github/webcc/example/rest_book_client/main.cc", "file": "/home/adam/github/webcc/example/rest_book_client/main.cc" }, +{ + "directory": "/home/adam/github/webcc/build/example/rest_book_async_client", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/rest_book_async_client.dir/main.cc.o -c /home/adam/github/webcc/example/rest_book_async_client/main.cc", + "file": "/home/adam/github/webcc/example/rest_book_async_client/main.cc" +}, { "directory": "/home/adam/github/webcc/build/example/soap_calc_server", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -I/home/adam/github/webcc/third_party/jsoncpp -std=c++11 -o CMakeFiles/soap_calc_server.dir/calc_service.cc.o -c /home/adam/github/webcc/example/soap_calc_server/calc_service.cc", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/soap_calc_server.dir/calc_service.cc.o -c /home/adam/github/webcc/example/soap_calc_server/calc_service.cc", "file": "/home/adam/github/webcc/example/soap_calc_server/calc_service.cc" }, { "directory": "/home/adam/github/webcc/build/example/soap_calc_server", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -I/home/adam/github/webcc/third_party/jsoncpp -std=c++11 -o CMakeFiles/soap_calc_server.dir/main.cc.o -c /home/adam/github/webcc/example/soap_calc_server/main.cc", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/soap_calc_server.dir/main.cc.o -c /home/adam/github/webcc/example/soap_calc_server/main.cc", "file": "/home/adam/github/webcc/example/soap_calc_server/main.cc" }, { "directory": "/home/adam/github/webcc/build/example/soap_calc_client", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -I/home/adam/github/webcc/third_party/jsoncpp -std=c++11 -o CMakeFiles/soap_calc_client.dir/calc_client.cc.o -c /home/adam/github/webcc/example/soap_calc_client/calc_client.cc", - "file": "/home/adam/github/webcc/example/soap_calc_client/calc_client.cc" + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/soap_calc_client.dir/main.cc.o -c /home/adam/github/webcc/example/soap_calc_client/main.cc", + "file": "/home/adam/github/webcc/example/soap_calc_client/main.cc" }, { - "directory": "/home/adam/github/webcc/build/example/soap_calc_client", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -I/home/adam/github/webcc/third_party/jsoncpp -std=c++11 -o CMakeFiles/soap_calc_client.dir/main.cc.o -c /home/adam/github/webcc/example/soap_calc_client/main.cc", - "file": "/home/adam/github/webcc/example/soap_calc_client/main.cc" + "directory": "/home/adam/github/webcc/build/example/soap_calc_client_parasoft", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/soap_calc_client_parasoft.dir/main.cc.o -c /home/adam/github/webcc/example/soap_calc_client_parasoft/main.cc", + "file": "/home/adam/github/webcc/example/soap_calc_client_parasoft/main.cc" +}, +{ + "directory": "/home/adam/github/webcc/build/example/soap_book_server", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/soap_book_server.dir/__/common/book.cc.o -c /home/adam/github/webcc/example/common/book.cc", + "file": "/home/adam/github/webcc/example/common/book.cc" +}, +{ + "directory": "/home/adam/github/webcc/build/example/soap_book_server", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/soap_book_server.dir/__/common/book_xml.cc.o -c /home/adam/github/webcc/example/common/book_xml.cc", + "file": "/home/adam/github/webcc/example/common/book_xml.cc" +}, +{ + "directory": "/home/adam/github/webcc/build/example/soap_book_server", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/soap_book_server.dir/book_service.cc.o -c /home/adam/github/webcc/example/soap_book_server/book_service.cc", + "file": "/home/adam/github/webcc/example/soap_book_server/book_service.cc" +}, +{ + "directory": "/home/adam/github/webcc/build/example/soap_book_server", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/soap_book_server.dir/main.cc.o -c /home/adam/github/webcc/example/soap_book_server/main.cc", + "file": "/home/adam/github/webcc/example/soap_book_server/main.cc" +}, +{ + "directory": "/home/adam/github/webcc/build/example/soap_book_client", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/soap_book_client.dir/__/common/book.cc.o -c /home/adam/github/webcc/example/common/book.cc", + "file": "/home/adam/github/webcc/example/common/book.cc" +}, +{ + "directory": "/home/adam/github/webcc/build/example/soap_book_client", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/soap_book_client.dir/__/common/book_xml.cc.o -c /home/adam/github/webcc/example/common/book_xml.cc", + "file": "/home/adam/github/webcc/example/common/book_xml.cc" +}, +{ + "directory": "/home/adam/github/webcc/build/example/soap_book_client", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/soap_book_client.dir/book_client.cc.o -c /home/adam/github/webcc/example/soap_book_client/book_client.cc", + "file": "/home/adam/github/webcc/example/soap_book_client/book_client.cc" +}, +{ + "directory": "/home/adam/github/webcc/build/example/soap_book_client", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/soap_book_client.dir/main.cc.o -c /home/adam/github/webcc/example/soap_book_client/main.cc", + "file": "/home/adam/github/webcc/example/soap_book_client/main.cc" }, { - "directory": "/home/adam/github/webcc/build/third_party/gtest", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -I/home/adam/github/webcc/third_party/jsoncpp -std=c++11 -std=c++11 -o CMakeFiles/gtest.dir/gtest-all.cc.o -c /home/adam/github/webcc/third_party/gtest/gtest-all.cc", - "file": "/home/adam/github/webcc/third_party/gtest/gtest-all.cc" + "directory": "/home/adam/github/webcc/build/third_party/src/gtest", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/gtest.dir/gtest-all.cc.o -c /home/adam/github/webcc/third_party/src/gtest/gtest-all.cc", + "file": "/home/adam/github/webcc/third_party/src/gtest/gtest-all.cc" }, { - "directory": "/home/adam/github/webcc/build/third_party/gtest", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -I/home/adam/github/webcc/third_party/jsoncpp -std=c++11 -std=c++11 -o CMakeFiles/gtest.dir/gtest_main.cc.o -c /home/adam/github/webcc/third_party/gtest/gtest_main.cc", - "file": "/home/adam/github/webcc/third_party/gtest/gtest_main.cc" + "directory": "/home/adam/github/webcc/build/third_party/src/gtest", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/gtest.dir/gtest_main.cc.o -c /home/adam/github/webcc/third_party/src/gtest/gtest_main.cc", + "file": "/home/adam/github/webcc/third_party/src/gtest/gtest_main.cc" }, { "directory": "/home/adam/github/webcc/build/unittest", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -I/home/adam/github/webcc/third_party/jsoncpp -std=c++11 -o CMakeFiles/webcc_unittest.dir/rest_service_manager_test.cc.o -c /home/adam/github/webcc/unittest/rest_service_manager_test.cc", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_LOG -DWEBCC_ENABLE_SOAP -DWEBCC_LOG_LEVEL=0 -I/usr/local/include -I/home/adam/github/webcc -I/home/adam/github/webcc/third_party/src -I/home/adam/github/webcc/third_party/src/jsoncpp -std=c++11 -o CMakeFiles/webcc_unittest.dir/rest_service_manager_test.cc.o -c /home/adam/github/webcc/unittest/rest_service_manager_test.cc", "file": "/home/adam/github/webcc/unittest/rest_service_manager_test.cc" } ] \ No newline at end of file diff --git a/example/http_hello_async_client/main.cc b/example/http_hello_async_client/main.cc index 06fd495..32946b4 100644 --- a/example/http_hello_async_client/main.cc +++ b/example/http_hello_async_client/main.cc @@ -21,8 +21,7 @@ void Test(boost::asio::io_context& io_context) { webcc::HttpAsyncClientPtr client(new webcc::HttpAsyncClient(io_context)); // Response handler. - auto handler = [](std::shared_ptr response, - webcc::Error error, + auto handler = [](webcc::HttpResponsePtr response, webcc::Error error, bool timed_out) { if (error == webcc::kNoError) { std::cout << response->content() << std::endl; diff --git a/third_party/src/gtest/CMakeLists.txt b/third_party/src/gtest/CMakeLists.txt index 57bc2d6..436d23b 100644 --- a/third_party/src/gtest/CMakeLists.txt +++ b/third_party/src/gtest/CMakeLists.txt @@ -1,19 +1,6 @@ -if(UNIX) - add_definitions(-std=c++11) -endif() - set(SRCS gtest-all.cc gtest_main.cc ) -#add_definitions(-DLIBCONFIG_EXPORTS -DYY_NO_UNISTD_H -DYY_USE_CONST) - -add_library(gtest ${SRCS}) - -#if(MSVC) -#set_target_properties(libconfig PROPERTIES COMPILE_FLAGS "/wd4290") -#endif() - -install(TARGETS gtest DESTINATION .) - +add_library(gtest STATIC ${SRCS}) diff --git a/third_party/src/pugixml/CMakeLists.txt b/third_party/src/pugixml/CMakeLists.txt index c4df592..d420e9e 100644 --- a/third_party/src/pugixml/CMakeLists.txt +++ b/third_party/src/pugixml/CMakeLists.txt @@ -1,7 +1,5 @@ project(pugixml) -cmake_minimum_required(VERSION 2.8) - set(HEADERS pugixml.hpp pugiconfig.hpp) set(SOURCES ${HEADERS} pugixml.cpp) diff --git a/webcc/CMakeLists.txt b/webcc/CMakeLists.txt index 2d8b5cc..5c5f039 100644 --- a/webcc/CMakeLists.txt +++ b/webcc/CMakeLists.txt @@ -6,94 +6,98 @@ if(MSVC) endif() set(HEADERS - globals.h - http_async_client.h - http_client.h - http_connection.h - http_message.h - http_parser.h - http_request.h - http_request_handler.h - http_request_parser.h - http_response.h - http_response_parser.h - http_server.h - logger.h - queue.h - rest_async_client.h - rest_client.h - rest_request_handler.h - rest_server.h - rest_service.h - rest_service_manager.h - url.h - utility.h - ) + globals.h + http_async_client.h + http_client.h + http_connection.h + http_message.h + http_parser.h + http_request.h + http_request_handler.h + http_request_parser.h + http_response.h + http_response_parser.h + http_server.h + logger.h + queue.h + rest_async_client.h + rest_client.h + rest_request_handler.h + rest_server.h + rest_service.h + rest_service_manager.h + url.h + utility.h + ) set(SOURCES - globals.cc - http_async_client.cc - http_client.cc - http_connection.cc - http_message.cc - http_parser.cc - http_request.cc - http_request_handler.cc - http_request_parser.cc - http_response.cc - http_response_parser.cc - http_server.cc - logger.cc - rest_async_client.cc - rest_client.cc - rest_request_handler.cc - rest_service_manager.cc - rest_service.cc - url.cc - utility.cc - ) + globals.cc + http_async_client.cc + http_client.cc + http_connection.cc + http_message.cc + http_parser.cc + http_request.cc + http_request_handler.cc + http_request_parser.cc + http_response.cc + http_response_parser.cc + http_server.cc + logger.cc + rest_async_client.cc + rest_client.cc + rest_request_handler.cc + rest_service_manager.cc + rest_service.cc + url.cc + utility.cc + ) if(WEBCC_ENABLE_SSL) - set(HEADERS ${HEADERS} - http_ssl_client.h - ) + set(HEADERS ${HEADERS} + http_ssl_client.h + ) - set(SOURCES ${SOURCES} - http_ssl_client.cc - ) + set(SOURCES ${SOURCES} + http_ssl_client.cc + ) endif() if(WEBCC_ENABLE_SOAP) - set(SOAP_HEADERS - soap_async_client.h - soap_client.h - soap_message.h - soap_parameter.h - soap_response.h - soap_request.h - soap_request_handler.h - soap_server.h - soap_service.h - soap_xml.h - ) + set(SOAP_HEADERS + soap_async_client.h + soap_client.h + soap_message.h + soap_parameter.h + soap_response.h + soap_request.h + soap_request_handler.h + soap_server.h + soap_service.h + soap_xml.h + ) - set(SOAP_SOURCES - soap_async_client.cc - soap_client.cc - soap_message.cc - soap_response.cc - soap_request.cc - soap_request_handler.cc - soap_xml.cc - ) + set(SOAP_SOURCES + soap_async_client.cc + soap_client.cc + soap_message.cc + soap_response.cc + soap_request.cc + soap_request_handler.cc + soap_xml.cc + ) - set(HEADERS ${HEADERS} ${SOAP_HEADERS}) - set(SOURCES ${SOURCES} ${SOAP_SOURCES}) + set(HEADERS ${HEADERS} ${SOAP_HEADERS}) + set(SOURCES ${SOURCES} ${SOAP_SOURCES}) endif() set(TARGET webcc) -add_library(${TARGET} ${HEADERS} ${SOURCES}) +add_library(${TARGET} STATIC ${HEADERS} ${SOURCES}) -install(TARGETS ${TARGET} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/lib) +# Install lib and header files. +# On Linux, if CMAKE_INSTALL_PREFIX is ~, the lib (libwebcc.a) will be installed +# to ~/lib and header files will be installed to ~/include. + +install(TARGETS ${TARGET} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/webcc) diff --git a/webcc/queue.h b/webcc/queue.h index 84f398d..59d503e 100644 --- a/webcc/queue.h +++ b/webcc/queue.h @@ -3,12 +3,10 @@ // A general message queue. +#include #include -#include - -#include "boost/thread/condition_variable.hpp" -#include "boost/thread/locks.hpp" -#include "boost/thread/mutex.hpp" +#include +#include namespace webcc { @@ -21,7 +19,7 @@ class Queue { Queue& operator=(const Queue&) = delete; T PopOrWait() { - boost::unique_lock lock(mutex_); + std::unique_lock lock(mutex_); // Wait for a message. not_empty_cv_.wait(lock, [this] { return !message_list_.empty(); }); @@ -32,7 +30,7 @@ class Queue { } T Pop() { - boost::lock_guard lock(mutex_); + std::lock_guard lock(mutex_); if (message_list_.empty()) { return T(); @@ -45,7 +43,7 @@ class Queue { void Push(const T& message) { { - boost::lock_guard lock(mutex_); + std::lock_guard lock(mutex_); message_list_.push_back(message); } not_empty_cv_.notify_one(); @@ -53,8 +51,8 @@ class Queue { private: std::list message_list_; - boost::mutex mutex_; - boost::condition_variable not_empty_cv_; + std::mutex mutex_; + std::condition_variable not_empty_cv_; }; } // namespace webcc