diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a2f744..926b8f7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,11 +59,17 @@ macro(GROUP_SOURCES_BY_DIR source_files) endforeach() endmacro() -# CMake 3.1.0+ +# C++ standard requirements. +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) + +# CMake 3.1.0+ required. +# See: https://stackoverflow.com/a/29871891 set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) -# Boost version: 1.66+ +# Boost 1.66+ required. set(Boost_USE_STATIC_LIBS ON) set(Boost_USE_MULTITHREADED ON) if(WIN32) diff --git a/compile_commands.json b/compile_commands.json index 26e2d43..1e37a9e 100644 --- a/compile_commands.json +++ b/compile_commands.json @@ -1,157 +1,162 @@ [ { - "directory": "/home/adam/github/webcc/build/src/gtest", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/gtest.dir/gtest-all.cc.o -c /home/adam/github/webcc/src/gtest/gtest-all.cc", - "file": "/home/adam/github/webcc/src/gtest/gtest-all.cc" -}, -{ - "directory": "/home/adam/github/webcc/build/src/gtest", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/gtest.dir/gtest_main.cc.o -c /home/adam/github/webcc/src/gtest/gtest_main.cc", - "file": "/home/adam/github/webcc/src/gtest/gtest_main.cc" -}, -{ - "directory": "/home/adam/github/webcc/build/src/pugixml", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -o CMakeFiles/pugixml.dir/pugixml.cpp.o -c /home/adam/github/webcc/src/pugixml/pugixml.cpp", - "file": "/home/adam/github/webcc/src/pugixml/pugixml.cpp" + "directory": "/home/adam/github/webcc/build/third_party/pugixml", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/webcc.dir/common.cc.o -c /home/adam/github/webcc/src/webcc/common.cc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/common.cc.o -c /home/adam/github/webcc/src/webcc/common.cc", "file": "/home/adam/github/webcc/src/webcc/common.cc" }, { "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/webcc.dir/http_client.cc.o -c /home/adam/github/webcc/src/webcc/http_client.cc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/webcc.dir/http_message.cc.o -c /home/adam/github/webcc/src/webcc/http_message.cc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/webcc.dir/http_parser.cc.o -c /home/adam/github/webcc/src/webcc/http_parser.cc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/webcc.dir/http_request.cc.o -c /home/adam/github/webcc/src/webcc/http_request.cc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/webcc.dir/http_request_handler.cc.o -c /home/adam/github/webcc/src/webcc/http_request_handler.cc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/webcc.dir/http_request_parser.cc.o -c /home/adam/github/webcc/src/webcc/http_request_parser.cc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/webcc.dir/http_response.cc.o -c /home/adam/github/webcc/src/webcc/http_response.cc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/webcc.dir/http_response_parser.cc.o -c /home/adam/github/webcc/src/webcc/http_response_parser.cc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/webcc.dir/http_server.cc.o -c /home/adam/github/webcc/src/webcc/http_server.cc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/webcc.dir/http_session.cc.o -c /home/adam/github/webcc/src/webcc/http_session.cc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/webcc.dir/rest_server.cc.o -c /home/adam/github/webcc/src/webcc/rest_server.cc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/rest_server.cc.o -c /home/adam/github/webcc/src/webcc/rest_server.cc", "file": "/home/adam/github/webcc/src/webcc/rest_server.cc" }, { "directory": "/home/adam/github/webcc/build/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/webcc.dir/url.cc.o -c /home/adam/github/webcc/src/webcc/url.cc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/webcc.dir/utility.cc.o -c /home/adam/github/webcc/src/webcc/utility.cc", + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -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" + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/webcc.dir/soap_server.cc.o -c /home/adam/github/webcc/src/webcc/soap_server.cc", - "file": "/home/adam/github/webcc/src/webcc/soap_server.cc" + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -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" + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -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" + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -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" + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/webcc", - "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -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" + "command": "/usr/bin/c++ -DBOOST_ASIO_NO_DEPRECATED -DWEBCC_DEBUG_OUTPUT -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -I/home/adam/github/webcc/third_party -std=c++11 -o CMakeFiles/webcc.dir/soap_server.cc.o -c /home/adam/github/webcc/src/webcc/soap_server.cc", + "file": "/home/adam/github/webcc/src/webcc/soap_server.cc" +}, +{ + "directory": "/home/adam/github/webcc/build/third_party/jsoncpp", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/example/rest_book_server", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -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" +}, +{ + "directory": "/home/adam/github/webcc/build/example/rest_book_server", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -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", + "file": "/home/adam/github/webcc/example/rest_book_server/main.cc" }, { - "directory": "/home/adam/github/webcc/build/src/demo/soap/calc_client", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/soap_calc_client.dir/calc_client.cc.o -c /home/adam/github/webcc/src/demo/soap/calc_client/calc_client.cc", - "file": "/home/adam/github/webcc/src/demo/soap/calc_client/calc_client.cc" + "directory": "/home/adam/github/webcc/build/example/rest_book_client", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -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", + "file": "/home/adam/github/webcc/example/rest_book_client/main.cc" }, { - "directory": "/home/adam/github/webcc/build/src/demo/soap/calc_client", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/soap_calc_client.dir/main.cc.o -c /home/adam/github/webcc/src/demo/soap/calc_client/main.cc", - "file": "/home/adam/github/webcc/src/demo/soap/calc_client/main.cc" + "directory": "/home/adam/github/webcc/build/example/soap_calc_server", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -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", + "file": "/home/adam/github/webcc/example/soap_calc_server/calc_service.cc" }, { - "directory": "/home/adam/github/webcc/build/src/demo/soap/calc_server", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/soap_calc_server.dir/calc_service.cc.o -c /home/adam/github/webcc/src/demo/soap/calc_server/calc_service.cc", - "file": "/home/adam/github/webcc/src/demo/soap/calc_server/calc_service.cc" + "directory": "/home/adam/github/webcc/build/example/soap_calc_server", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -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", + "file": "/home/adam/github/webcc/example/soap_calc_server/main.cc" }, { - "directory": "/home/adam/github/webcc/build/src/demo/soap/calc_server", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/soap_calc_server.dir/main.cc.o -c /home/adam/github/webcc/src/demo/soap/calc_server/main.cc", - "file": "/home/adam/github/webcc/src/demo/soap/calc_server/main.cc" + "directory": "/home/adam/github/webcc/build/example/soap_calc_client", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -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" }, { - "directory": "/home/adam/github/webcc/build/src/demo/rest/book_client", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/rest_book_client.dir/book_client.cc.o -c /home/adam/github/webcc/src/demo/rest/book_client/book_client.cc", - "file": "/home/adam/github/webcc/src/demo/rest/book_client/book_client.cc" + "directory": "/home/adam/github/webcc/build/example/soap_calc_client", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/demo/rest/book_client", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/rest_book_client.dir/main.cc.o -c /home/adam/github/webcc/src/demo/rest/book_client/main.cc", - "file": "/home/adam/github/webcc/src/demo/rest/book_client/main.cc" + "directory": "/home/adam/github/webcc/build/third_party/gtest", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/demo/rest/book_server", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/rest_book_server.dir/book_services.cc.o -c /home/adam/github/webcc/src/demo/rest/book_server/book_services.cc", - "file": "/home/adam/github/webcc/src/demo/rest/book_server/book_services.cc" + "directory": "/home/adam/github/webcc/build/third_party/gtest", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -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/src/demo/rest/book_server", - "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -I/home/adam/github/webcc/src -std=c++11 -std=c++11 -o CMakeFiles/rest_book_server.dir/main.cc.o -c /home/adam/github/webcc/src/demo/rest/book_server/main.cc", - "file": "/home/adam/github/webcc/src/demo/rest/book_server/main.cc" + "directory": "/home/adam/github/webcc/build/unittest", + "command": "/usr/bin/c++ -DWEBCC_ENABLE_SOAP -I/home/adam/include -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", + "file": "/home/adam/github/webcc/unittest/rest_service_manager_test.cc" } ] \ No newline at end of file diff --git a/example/rest_book_client/CMakeLists.txt b/example/rest_book_client/CMakeLists.txt index d381c00..bd04eb9 100644 --- a/example/rest_book_client/CMakeLists.txt +++ b/example/rest_book_client/CMakeLists.txt @@ -1,10 +1,4 @@ -if(UNIX) - add_definitions(-std=c++11) -endif() - -file(GLOB SRCS *.cc *.h) - -add_executable(rest_book_client ${SRCS}) +add_executable(rest_book_client main.cc) target_link_libraries(rest_book_client webcc ${Boost_LIBRARIES}) target_link_libraries(rest_book_client "${CMAKE_THREAD_LIBS_INIT}") diff --git a/example/rest_book_server/CMakeLists.txt b/example/rest_book_server/CMakeLists.txt index e6e729c..54d1dda 100644 --- a/example/rest_book_server/CMakeLists.txt +++ b/example/rest_book_server/CMakeLists.txt @@ -1,7 +1,3 @@ -if(UNIX) - add_definitions(-std=c++11) -endif() - file(GLOB SRCS *.cc *.h) add_executable(rest_book_server ${SRCS}) diff --git a/example/soap_calc_client/CMakeLists.txt b/example/soap_calc_client/CMakeLists.txt index 06f37ef..43cf6db 100644 --- a/example/soap_calc_client/CMakeLists.txt +++ b/example/soap_calc_client/CMakeLists.txt @@ -1,6 +1,6 @@ -if(UNIX) - add_definitions(-std=c++11) -endif() +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) file(GLOB SRCS *.cc *.h) diff --git a/example/soap_calc_server/CMakeLists.txt b/example/soap_calc_server/CMakeLists.txt index 7e4f2ab..1e2f762 100644 --- a/example/soap_calc_server/CMakeLists.txt +++ b/example/soap_calc_server/CMakeLists.txt @@ -1,6 +1,6 @@ -if(UNIX) - add_definitions(-std=c++11) -endif() +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) file(GLOB SRCS *.cc *.h) diff --git a/src/webcc/CMakeLists.txt b/src/webcc/CMakeLists.txt index 6f0c2d6..5cde4bd 100644 --- a/src/webcc/CMakeLists.txt +++ b/src/webcc/CMakeLists.txt @@ -1,7 +1,3 @@ -if(UNIX) - add_definitions(-std=c++11) -endif() - option(WEBCC_DEBUG_OUTPUT "Enable debug output?" OFF) if(WEBCC_DEBUG_OUTPUT) diff --git a/src/webcc/http_client.cc b/src/webcc/http_client.cc index 9409401..e6d53c4 100644 --- a/src/webcc/http_client.cc +++ b/src/webcc/http_client.cc @@ -29,13 +29,15 @@ static void SetTimeout(boost::asio::ip::tcp::socket& socket, int ms = timeout_seconds * 1000; const char* optval = reinterpret_cast(&ms); - size_t optlen = sizeof(ms); + std::size_t optlen = sizeof(ms); setsockopt(socket.native_handle(), SOL_SOCKET, SO_RCVTIMEO, optval, optlen); setsockopt(socket.native_handle(), SOL_SOCKET, SO_SNDTIMEO, optval, optlen); #else // POSIX + // TODO: This doesn't work! Consider to control timeout in server side. + struct timeval tv; tv.tv_sec = timeout_seconds; tv.tv_usec = 0; @@ -104,7 +106,9 @@ Error HttpClient::SendRequest(const HttpRequest& request, // We must stop trying to read once all content has been received, // because some servers will block extra call to read_some(). while (!parser.finished()) { - size_t length = socket.read_some(boost::asio::buffer(buffer_), ec); + // read_some() will block until one or more bytes of data has been + // read successfully, or until an error occurs. + std::size_t length = socket.read_some(boost::asio::buffer(buffer_), ec); if (length == 0 || ec) { #if defined _WINDOWS diff --git a/third_party/jsoncpp/CMakeLists.txt b/third_party/jsoncpp/CMakeLists.txt index c85c1ee..51a3330 100644 --- a/third_party/jsoncpp/CMakeLists.txt +++ b/third_party/jsoncpp/CMakeLists.txt @@ -1,4 +1,6 @@ -# project(jsoncpp) +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) set(SRCS json/json.h diff --git a/unittest/CMakeLists.txt b/unittest/CMakeLists.txt index 22767df..49f74a2 100644 --- a/unittest/CMakeLists.txt +++ b/unittest/CMakeLists.txt @@ -1,13 +1,14 @@ # Unit test -if(CSOAP_ENABLE_UT) +if(WEBCC_BUILD_UNITTEST) set(UT_SRCS rest_service_manager_test.cc ) - set(UT_TARGET_NAME csoap_unittest) + set(UT_TARGET_NAME webcc_unittest) add_executable(${UT_TARGET_NAME} ${UT_SRCS}) - target_link_libraries(${UT_TARGET_NAME} csoap pugixml gtest) + target_link_libraries(${UT_TARGET_NAME} webcc pugixml gtest ${Boost_LIBRARIES}) + target_link_libraries(${UT_TARGET_NAME} "${CMAKE_THREAD_LIBS_INIT}") add_test(${UT_TARGET_NAME} ${UT_TARGET_NAME}) endif() diff --git a/unittest/rest_service_manager_test.cc b/unittest/rest_service_manager_test.cc index cd1c8c5..6b08d95 100644 --- a/unittest/rest_service_manager_test.cc +++ b/unittest/rest_service_manager_test.cc @@ -1,18 +1,16 @@ -#include "csoap/rest_server.h" +#include "webcc/rest_server.h" #include "gtest/gtest.h" -using namespace csoap; +using namespace webcc; //////////////////////////////////////////////////////////////////////////////// class TestRestService : public RestService { public: - ~TestRestService() override { - } - bool Handle(const std::string& http_method, - const std::string& request, - std::string* response) override { + const std::vector& url_sub_matches, + const std::string& request_content, + std::string* response_content) override { return true; } };