1#ifndef CPR_FILESYSTEM_H
2#define CPR_FILESYSTEM_H
3
4// Include filesystem into the namespace "fs" from either "filesystem" or "experimental/filesystem" or "boost/filesystem"
5#ifdef CPR_USE_BOOST_FILESYSTEM
6#define BOOST_FILESYSTEM_VERSION 4 // Use the latest, with the closest behavior to std::filesystem.
7#include <boost/filesystem.hpp>
8namespace cpr {
9namespace fs = boost::filesystem;
10}
11// cppcheck-suppress preprocessorErrorDirective
12#elif __has_include(<filesystem>)
13#include <filesystem>
14namespace cpr {
15namespace fs = std::filesystem;
16}
17#elif __has_include("experimental/filesystem")
18#include <experimental/filesystem>
19namespace cpr {
20namespace fs = std::experimental::filesystem;
21}
22#else
23#error "Failed to include <filesystem> header!"
24#endif
25
26#endif
27