diff --git a/CHANGELOG.md b/CHANGELOG.md index a7ef91a5..cf99269f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +### 2.2.1 + +This release fixed a crash on Windows. + +*Fixes*: + + * Fixed client crashing when `suppress_exceptions` was on + and the server threw an exception. + ### 2.2.0 This release fixed a number of long-standing issues. diff --git a/CMakeLists.txt b/CMakeLists.txt index 1140a59c..b65cf3be 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.9.0) -project(rpc VERSION 2.2.0) +project(rpc VERSION 2.2.1) set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") @@ -121,7 +121,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") list(APPEND RPCLIB_BUILD_FLAGS -Wall -pedantic -Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-padded -Wno-missing-prototypes - -Wno-undef -pthread) + -Wno-undef) set(UNUSED_LAMBDA_CAPTURE_WARN_SUPPORTED) check_warning_flag("unused-lambda-capture" UNUSED_LAMBDA_CAPTURE_WARN_SUPPORTED) @@ -197,6 +197,7 @@ endif() # Example programs # if(RPCLIB_BUILD_EXAMPLES) + find_package(Threads) set(RPCLIB_ROOT_DIR "${PROJECT_SOURCE_DIR}") set(RPCLIB_PROJECT_NAME "${CMAKE_PROJECT_NAME}") set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/localbuild") diff --git a/examples/calculator/CMakeLists.txt b/examples/calculator/CMakeLists.txt index 9e08a4ef..d53e26de 100644 --- a/examples/calculator/CMakeLists.txt +++ b/examples/calculator/CMakeLists.txt @@ -6,7 +6,7 @@ find_package(rpclib REQUIRED) include_directories(${RPCLIB_INCLUDE_DIR}) add_executable(calculator_server calculator_server.cc) -target_link_libraries(calculator_server ${RPCLIB_LIBS}) +target_link_libraries(calculator_server ${RPCLIB_LIBS} ${CMAKE_THREAD_LIBS_INIT}) set_target_properties( calculator_server PROPERTIES @@ -15,7 +15,7 @@ set_target_properties( target_compile_definitions(calculator_server PUBLIC ${RPCLIB_COMPILE_DEFINITIONS}) add_executable(calculator_client calculator_client.cc) -target_link_libraries(calculator_client ${RPCLIB_LIBS}) +target_link_libraries(calculator_client ${RPCLIB_LIBS} ${CMAKE_THREAD_LIBS_INIT}) set_target_properties( calculator_client PROPERTIES diff --git a/examples/echo/CMakeLists.txt b/examples/echo/CMakeLists.txt index a84839ef..2dcea5ce 100644 --- a/examples/echo/CMakeLists.txt +++ b/examples/echo/CMakeLists.txt @@ -6,7 +6,7 @@ find_package(rpclib REQUIRED) include_directories(${RPCLIB_INCLUDE_DIR}) add_executable(echo_server echo_server.cc) -target_link_libraries(echo_server ${RPCLIB_LIBS}) +target_link_libraries(echo_server ${RPCLIB_LIBS} ${CMAKE_THREAD_LIBS_INIT}) set_target_properties( echo_server PROPERTIES @@ -15,7 +15,7 @@ set_target_properties( target_compile_definitions(echo_server PUBLIC ${RPCLIB_COMPILE_DEFINITIONS}) add_executable(echo_client echo_client.cc) -target_link_libraries(echo_client ${RPCLIB_LIBS}) +target_link_libraries(echo_client ${RPCLIB_LIBS} ${CMAKE_THREAD_LIBS_INIT}) set_target_properties( echo_client PROPERTIES