Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,15 @@ cmake_minimum_required(VERSION 3.19)

project(network)

set(CMAKE_CXX_FLAGS "-g -O2 -std=c++11 -DASIO_STANDALONE -Werror")
set(CMAKE_CXX_STANDARD 14)
add_compile_options(-DASIO_STANDALONE)

if (MSVC)
add_compile_options(/EHsc)
add_compile_definitions(_WIN32_WINNT=0x0A00)
else()
add_compile_options(-g -O2 -Werror)
endif()

set(ASIO_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/asio/asio/include)
set(CATCH_SINGLE_INCLUDE ${PROJECT_SOURCE_DIR}/3rdparty/unit_test) # for unit test
Expand Down
5 changes: 4 additions & 1 deletion async_udp_client/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
project(async_udp_client)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)

add_executable(async_udp_client async_udp_client_test.cpp)

set(EXECUTABLE_OUTPUT_PATH ${BINARY_OUTPUT_DIR})

target_include_directories(async_udp_client PRIVATE ${ASIO_INCLUDE_DIR})
target_link_libraries(async_udp_client pthread)
target_link_libraries(async_udp_client Threads::Threads)
5 changes: 4 additions & 1 deletion custom_errorcode/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
project(custom_errorcode)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)

add_executable(custom_errorcode custom-error-code.cpp)

set(EXECUTABLE_OUTPUT_PATH ${BINARY_OUTPUT_DIR})

target_include_directories(custom_errorcode PRIVATE ${ASIO_INCLUDE_DIR})
target_link_libraries(custom_errorcode pthread)
target_link_libraries(custom_errorcode Threads::Threads)
5 changes: 4 additions & 1 deletion custom_timer_manager/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
project(custom_timer_mgr)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)

add_executable(custom_timer_mgr custom_timer_mgr.cpp)

set(EXECUTABLE_OUTPUT_PATH ${BINARY_OUTPUT_DIR})

target_include_directories(custom_timer_mgr PRIVATE ${ASIO_INCLUDE_DIR})
target_link_libraries(custom_timer_mgr pthread)
target_link_libraries(custom_timer_mgr Threads::Threads)
5 changes: 4 additions & 1 deletion executor/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
project(executor)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)

add_executable(executor_basic basic_usage.cpp)

set(EXECUTABLE_OUTPUT_PATH ${BINARY_OUTPUT_DIR})

target_include_directories(executor_basic PRIVATE ${ASIO_INCLUDE_DIR})
target_link_libraries(executor_basic pthread)
target_link_libraries(executor_basic Threads::Threads)
7 changes: 5 additions & 2 deletions fixed-size-package/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
project(fixed-size-pkg)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)

add_executable(fixed-size-server server.cpp)
add_executable(fixed-size-client client.cpp)

set(EXECUTABLE_OUTPUT_PATH ${BINARY_OUTPUT_DIR})

target_include_directories(fixed-size-server PRIVATE ${ASIO_INCLUDE_DIR})
target_link_libraries(fixed-size-server pthread)
target_link_libraries(fixed-size-server Threads::Threads)

target_include_directories(fixed-size-client PRIVATE ${ASIO_INCLUDE_DIR})
target_link_libraries(fixed-size-client pthread)
target_link_libraries(fixed-size-client Threads::Threads)
8 changes: 5 additions & 3 deletions httpclient-https/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
project(https_client)
cmake_minimum_required(VERSION 2.8)
cmake_minimum_required(VERSION 3.1)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)

set(EXECUTABLE_OUTPUT_PATH ${BINARY_OUTPUT_DIR})

add_executable(${PROJECT_NAME} https-client.cpp AsyncHttpsClient.cpp)
TARGET_LINK_LIBRARIES(${PROJECT_NAME} pthread ssl crypto)
TARGET_LINK_LIBRARIES(${PROJECT_NAME} Threads::Threads ssl crypto)
target_include_directories(${PROJECT_NAME} PUBLIC ${ASIO_INCLUDE_DIR} /usr/local/Cellar/openssl/1.0.2o_1/include)

6 changes: 4 additions & 2 deletions httpclient/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
project(http_client)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)

set(EXECUTABLE_OUTPUT_PATH ${BINARY_OUTPUT_DIR})

add_executable(${PROJECT_NAME} http_client.cpp AsyncHttpClient.cpp)
TARGET_LINK_LIBRARIES(${PROJECT_NAME} pthread)
TARGET_LINK_LIBRARIES(${PROJECT_NAME} Threads::Threads)
target_include_directories(${PROJECT_NAME} PUBLIC ${ASIO_INCLUDE_DIR})

5 changes: 4 additions & 1 deletion io_context/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
project(io_context_usage)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)

add_executable(io_context_usage io_context_usage.cpp)

set(EXECUTABLE_OUTPUT_PATH ${BINARY_OUTPUT_DIR})

target_include_directories(io_context_usage PRIVATE ${ASIO_INCLUDE_DIR})
target_link_libraries(io_context_usage pthread)
target_link_libraries(io_context_usage Threads::Threads)
9 changes: 6 additions & 3 deletions redis-asio/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
project(redis-assio)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)

add_executable(mt-redis-cli multi-thread-client.cpp response_parser.cpp)
add_executable(general-redis-cli general-client.cpp response_parser.cpp)
Expand All @@ -7,10 +10,10 @@ add_executable(protocol_parser_test response_parser.cpp response_parser_test.cpp
set(EXECUTABLE_OUTPUT_PATH ${BINARY_OUTPUT_DIR})

target_include_directories(mt-redis-cli PRIVATE ${ASIO_INCLUDE_DIR})
target_link_libraries(mt-redis-cli pthread)
target_link_libraries(mt-redis-cli Threads::Threads)

target_include_directories(general-redis-cli PRIVATE ${ASIO_INCLUDE_DIR})
target_link_libraries(general-redis-cli pthread)
target_link_libraries(general-redis-cli Threads::Threads)

target_include_directories(protocol_parser_test PRIVATE ${ASIO_INCLUDE_DIR} ${CATCH_SINGLE_INCLUDE})
target_link_libraries(protocol_parser_test pthread)
target_link_libraries(protocol_parser_test Threads::Threads)
3 changes: 2 additions & 1 deletion redis-asio/response_parser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
*/

#include <map>
#include <functional>

#include "response_parser.h"

Expand Down Expand Up @@ -136,7 +137,7 @@ ParseResult BulkString::Feed(char c)
switch (status_)
{
case BULK_STATUS::BS_EXPECT_LENGTH:
if (c == '-' or std::isdigit(c))
if (c == '-' || std::isdigit(c))
{
length_line_.push_back(c);
}
Expand Down
5 changes: 4 additions & 1 deletion simplest_httpsvr/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
project(simplest-httpsvr)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)

add_executable(simplest-httpsvr http_svr.cpp)
set(EXECUTABLE_OUTPUT_PATH ${BINARY_OUTPUT_DIR})
target_include_directories(simplest-httpsvr PRIVATE ${ASIO_INCLUDE_DIR})
target_link_libraries(simplest-httpsvr pthread)
target_link_libraries(simplest-httpsvr Threads::Threads)
5 changes: 4 additions & 1 deletion timer-performance/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
project(timer_performance)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)

add_executable(tp main.cpp)

set(EXECUTABLE_OUTPUT_PATH ${BINARY_OUTPUT_DIR})

target_include_directories(tp PRIVATE ${ASIO_INCLUDE_DIR})
target_link_libraries(tp pthread)
target_link_libraries(tp Threads::Threads)
7 changes: 5 additions & 2 deletions timer_usage/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
project(timer_usage)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)

add_executable(timer_basic basic_usage.cpp)
add_executable(timer_repeated repeated.cpp)

set(EXECUTABLE_OUTPUT_PATH ${BINARY_OUTPUT_DIR})

target_include_directories(timer_basic PRIVATE ${ASIO_INCLUDE_DIR})
target_link_libraries(timer_basic pthread)
target_link_libraries(timer_basic Threads::Threads)

target_include_directories(timer_repeated PRIVATE ${ASIO_INCLUDE_DIR})
target_link_libraries(timer_repeated pthread)
target_link_libraries(timer_repeated Threads::Threads)