From 97f40c020c64258bf40d73f7a732424c37aeb720 Mon Sep 17 00:00:00 2001 From: Anas Dorbani Date: Fri, 13 Dec 2024 19:18:46 +0100 Subject: [PATCH] udpate fix --- src/include/filesystem.hpp | 65 ++------------------------------------ 1 file changed, 2 insertions(+), 63 deletions(-) diff --git a/src/include/filesystem.hpp b/src/include/filesystem.hpp index b90a287a..a45cff2f 100644 --- a/src/include/filesystem.hpp +++ b/src/include/filesystem.hpp @@ -1,71 +1,10 @@ #pragma once -// We haven't checked which filesystem to include yet -#ifndef INCLUDE_STD_FILESYSTEM_EXPERIMENTAL - -// Check for feature test macro for -#if defined(__cpp_lib_filesystem) -#define INCLUDE_STD_FILESYSTEM_EXPERIMENTAL 0 - -// Check for feature test macro for -#elif defined(__cpp_lib_experimental_filesystem) -#define INCLUDE_STD_FILESYSTEM_EXPERIMENTAL 1 - -// We can't check if headers exist... -// Let's assume experimental to be safe -#elif !defined(__has_include) -#define INCLUDE_STD_FILESYSTEM_EXPERIMENTAL 1 - -// Check if the header "" exists -#elif __has_include() - -// If we're compiling on Visual Studio and are not compiling with C++17, we need to use experimental -#ifdef _MSC_VER - -// Check and include header that defines "_HAS_CXX17" -#if __has_include() -#include - -// Check for enabled C++17 support -#if defined(_HAS_CXX17) && _HAS_CXX17 -// We're using C++17, so let's use the normal version -#define INCLUDE_STD_FILESYSTEM_EXPERIMENTAL 0 -#endif -#endif - -// If the marco isn't defined yet, that means any of the other VS specific checks failed, so we need to use experimental -#ifndef INCLUDE_STD_FILESYSTEM_EXPERIMENTAL -#define INCLUDE_STD_FILESYSTEM_EXPERIMENTAL 1 -#endif - -// Not on Visual Studio. Let's use the normal version -#else // #ifdef _MSC_VER -#define INCLUDE_STD_FILESYSTEM_EXPERIMENTAL 0 -#endif - -// Check if the header "" exists -#elif __has_include() -#define INCLUDE_STD_FILESYSTEM_EXPERIMENTAL 1 - -// Fail if neither header is available with a nice error message -#else -#error Could not find system header "" or "" -#endif - -// We priously determined that we need the exprimental version -#if INCLUDE_STD_FILESYSTEM_EXPERIMENTAL -// Include it +#if defined(__GNUC__) && __GNUC__ == 7 && __GNUC_MINOR__ == 5 #include - -// We need the alias from std::experimental::filesystem to std::filesystem namespace std { namespace filesystem = experimental::filesystem; } - -// We have a decent compiler and can use the normal version #else -// Include it #include -#endif - -#endif // #ifndef INCLUDE_STD_FILESYSTEM_EXPERIMENTAL \ No newline at end of file +#endif \ No newline at end of file