see also
https://www.boost.org/doc/libs/1_74_0/doc/html/boost_asio/std_executors.html#boost_asio.std_executors.polymorphic_i_o_executor
we could use `asio::any_io_executor` later on though for better
performance.
also, define CMP0093, so FindBoost reports Boost_VERSION in x.y.z
format. it is simpler to use `VERSION_GREATER_EQUAL` to compare its
version with 1.74 instead of its C macro version ("107000").
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit
3d708219092d0e89a1434c30ffc8a4999f062cc0)
Conflicts:
CMakeLists.txt
src/librbd/CMakeLists.txt: change ""Boost_VERSION
VERSION_GREATER_EQUAL "1.74" to "Boost_VERSION VERSION_GREATER
1.73" as "VERSION_GREATER_EQUAL" was introduced in a newer version of
CMake, which is not available in ubuntu/xenial.
src/rgw/CMakeLists.txt: add the same macro definition applied to
librbd. without which, src/rgw/rgw_sync_module_aws.cc
still fails to compile with boost 1.74
if(POLICY CMP0075)
cmake_policy(SET CMP0075 NEW)
endif()
+if(POLICY CMP0093)
+ cmake_policy(SET CMP0093 NEW)
+endif()
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules/")
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+if(Boost_VERSION VERSION_GREATER 1.73)
+ add_definitions(-DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
+endif()
+
add_library(rbd_types STATIC
journal/Types.cc
mirroring_watcher/Types.cc
)
endfunction()
+if(Boost_VERSION VERSION_GREATER 1.73)
+ add_definitions(-DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
+endif()
+
set(librgw_common_srcs
services/svc_finisher.cc
services/svc_notify.cc