From: Kefu Chai Date: Tue, 24 Nov 2020 06:12:54 +0000 (+0800) Subject: cmake: define BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT for Boost.Asio users X-Git-Tag: v14.2.17~80^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=87732c028ddf41849b5cfcb402c61df8937d8dc6;p=ceph.git cmake: define BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT for Boost.Asio users 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 (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 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 5b7a67bec602..8a5b1c44ba16 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,6 +24,9 @@ endif() 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") diff --git a/src/librbd/CMakeLists.txt b/src/librbd/CMakeLists.txt index 30626d02bdf6..149c19df697a 100644 --- a/src/librbd/CMakeLists.txt +++ b/src/librbd/CMakeLists.txt @@ -1,3 +1,7 @@ +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 diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt index 9bfde0e457c2..116dd435f650 100644 --- a/src/rgw/CMakeLists.txt +++ b/src/rgw/CMakeLists.txt @@ -19,6 +19,10 @@ function(gperf_generate input output) ) 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