build: disable operator<< for vector and unordered_map
seastar provides an option named `Seastar_DEPRECATED_OSTREAM_FORMATTERS` to enable the operator<< for `std::vector` and `std::unordered_map`, and this option is enabled by default. but we intent to avoid using them, so that we can use the fmt::formatter specializations when Boost.test prints variables. if we keep these two operator<< enabled, Boost.test would use them when printing variables to be compaired then the check fails, but if elements in the vector or unordered_map to be compaired does do not provide operator<<, compiling would fail. so, in this change, let's disable these operator<< implementations. this allows us to ditch the operator<< implementations which are preserved only for testing. Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
This commit is contained in:
@@ -50,6 +50,7 @@ set(CMAKE_CXX_VISIBILITY_PRESET hidden)
|
||||
|
||||
set(Seastar_TESTING ON CACHE BOOL "" FORCE)
|
||||
set(Seastar_API_LEVEL 7 CACHE STRING "" FORCE)
|
||||
set(Seastar_DEPRECATED_OSTREAM_FORMATTERS OFF CACHE BOOL "" FORCE)
|
||||
set(Seastar_APPS ON CACHE BOOL "" FORCE)
|
||||
set(Seastar_EXCLUDE_APPS_FROM_ALL ON CACHE BOOL "" FORCE)
|
||||
set(Seastar_EXCLUDE_TESTS_FROM_ALL ON CACHE BOOL "" FORCE)
|
||||
|
||||
@@ -1714,6 +1714,7 @@ def configure_seastar(build_dir, mode, mode_config):
|
||||
'-DSeastar_LD_FLAGS={}'.format(semicolon_separated(mode_config['lib_ldflags'], seastar_cxx_ld_flags)),
|
||||
'-DSeastar_CXX_DIALECT=gnu++20',
|
||||
'-DSeastar_API_LEVEL=7',
|
||||
'-DSeastar_DEPRECATED_OSTREAM_FORMATTERS=OFF',
|
||||
'-DSeastar_UNUSED_RESULT_ERROR=ON',
|
||||
'-DCMAKE_EXPORT_COMPILE_COMMANDS=ON',
|
||||
'-DSeastar_SCHEDULING_GROUPS_COUNT=16',
|
||||
|
||||
Reference in New Issue
Block a user