You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
Boost 1.85 removed some deprecated code in filesystem module which is still used in columnstore: - The boost/filesystem/convenience.hpp was removed but columnstore does not use any functionality from that file except indirect includes. Therefore this include is removed or replaced with more general boost/filesystem.hpp. The convenience.hpp header file was deprecated in filesystem V3 introduced in Boost 1.46.0. - `normalize` method was removed and users are suggested to replace it with `lexically_normal` method, which was introduced in Boost 1.60.0. Original `normalize` call is preserved for backward compatibility with old Boost version, however`, `lexically_normal` method is preferably used with Boost 1.60.0 and newer. - The `copy_option` was removed in favor of `copy_options` (note the trailing 's'), but enum values were renamed. Namely, `fail_if_exists` is replaced with `none` and `overwrite_if_exists` is replaced with `overwrite_existing`. The `copy_options` was introduced in Boost 1.74.0. New form is used instead, but a backward compatibility layer for Boost 1.73.0 and older was introduced in boost_copy_options_compat.hpp file. This solution seems to be less awkward than using multiple #if #else #endif blocks in source code.
29 lines
571 B
C++
29 lines
571 B
C++
#ifndef COMPAT_BOOST_FILESYSTEM_HPP
|
|
#define COMPAT_BOOST_FILESYSTEM_HPP
|
|
|
|
#include <boost/version.hpp>
|
|
|
|
// copy_option was replaced with copy_options in version 1.74.0 released 2020-08-14
|
|
// copy_option was removed in version 1.85.0 released 2024-04-15
|
|
#if BOOST_VERSION < 107400
|
|
|
|
#include <boost/filesystem/operations.hpp>
|
|
|
|
namespace boost
|
|
{
|
|
namespace filesystem
|
|
{
|
|
namespace copy_options
|
|
{
|
|
|
|
constexpr copy_option::enum_type overwrite_existing = copy_option::overwrite_if_exists;
|
|
constexpr copy_option::enum_type none = copy_option::fail_if_exists;
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|