mirror of
https://git.mirrors.martin98.com/https://github.com/gulrak/filesystem
synced 2025-07-22 03:44:27 +08:00
Version bump release v1.5.12
Took 30 minutes
This commit is contained in:
parent
6cc60fb687
commit
cd6805e94d
33
README.md
33
README.md
@ -5,7 +5,7 @@
|
||||
[](https://cirrus-ci.com/github/gulrak/filesystem)
|
||||
[](https://cloud.drone.io/gulrak/filesystem)
|
||||
[](https://coveralls.io/github/gulrak/filesystem?branch=master)
|
||||
[](https://github.com/gulrak/filesystem/tree/v1.5.10)
|
||||
[](https://github.com/gulrak/filesystem/tree/v1.5.12)
|
||||
|
||||
- [Filesystem](#filesystem)
|
||||
- [Motivation](#motivation)
|
||||
@ -39,8 +39,8 @@
|
||||
This is a header-only single-file `std::filesystem` compatible helper library,
|
||||
based on the C++17 and C++20 specs, but implemented for C++11, C++14, C++17 or C++20
|
||||
(tightly following the C++17 standard with very few documented exceptions). It is currently tested on
|
||||
macOS 10.12/10.14/10.15/11.6, Windows 10, Ubuntu 18.04, Ubuntu 20.04, CentOS 7, CentOS 8, FreeBSD 12
|
||||
and Alpine ARM/ARM64 Linux but should work on other systems too, as long as you have
|
||||
macOS 10.12/10.14/10.15/11.6, Windows 10, Ubuntu 18.04, Ubuntu 20.04, CentOS 7, CentOS 8, FreeBSD 12,
|
||||
Alpine ARM/ARM64 Linux and Solaris 10 but should work on other systems too, as long as you have
|
||||
at least a C++11 compatible compiler. It should work with Android NDK, Emscripten and I even
|
||||
had reports of it being used on iOS (within sandboxing constraints) and with v1.5.6 there
|
||||
is experimental support for QNX. The support of Android NDK, Emscripten and QNX is not
|
||||
@ -87,15 +87,15 @@ to do with Haskell**, sorry for the name clash).
|
||||
## Platforms
|
||||
|
||||
`ghc::filesystem` is developed on macOS but CI tested on macOS, Windows,
|
||||
various Linux Distributions and FreeBSD. It should work on any of these with a C++11-capable
|
||||
compiler. Also there are some checks to hopefully better work on Android, but
|
||||
as I currently don't test with the Android NDK, I wouldn't call it a
|
||||
supported platform yet, same is valid for using it with Emscripten. It is now
|
||||
part of the detected platforms, I fixed the obvious issues and ran some tests with
|
||||
it, so it should be fine. All in all, I don't see it replacing `std::filesystem`
|
||||
where full C++17 or C++20 is available, it doesn't try to be a "better"
|
||||
`std::filesystem`, just an almost drop-in if you can't use it (with the exception
|
||||
of the UTF-8 preference).
|
||||
various Linux Distributions, FreeBSD and starting with v1.5.12 on Solaris.
|
||||
It should work on any of these with a C++11-capable compiler. Also there are some
|
||||
checks to hopefully better work on Android, but as I currently don't test with the
|
||||
Android NDK, I wouldn't call it a supported platform yet, same is valid for using
|
||||
it with Emscripten. It is now part of the detected platforms, I fixed the obvious
|
||||
issues and ran some tests with it, so it should be fine. All in all, I don't see it
|
||||
replacing `std::filesystem` where full C++17 or C++20 is available, it doesn't try
|
||||
to be a "better" `std::filesystem`, just an almost drop-in if you can't use it
|
||||
(with the exception of the UTF-8 preference).
|
||||
|
||||
:information_source: **Important:** _This implementation is following the ["UTF-8 Everywhere" philosophy](https://utf8everywhere.org/) in that all
|
||||
`std::string` instances will be interpreted the same as `std::u8string` encoding
|
||||
@ -109,6 +109,7 @@ Unit tests are currently run with:
|
||||
* Linux (Ubuntu): GCC (5.5, 6.5, 7.4, 8.3, 9.2), Clang (5.0, 6.0, 7.1, 8.0, 9.0)
|
||||
* Linux (Alpine ARM/ARM64): GCC 9.2.0
|
||||
* FreeBSD: Clang 8.0
|
||||
* Solaris: GCC 5.5
|
||||
|
||||
|
||||
## Tests
|
||||
@ -148,8 +149,8 @@ in the standard, and there might be issues in these implementations too.
|
||||
|
||||
### Downloads
|
||||
|
||||
The latest release version is [v1.5.10](https://github.com/gulrak/filesystem/tree/v1.5.10) and
|
||||
source archives can be found [here](https://github.com/gulrak/filesystem/releases/tag/v1.5.10).
|
||||
The latest release version is [v1.5.12](https://github.com/gulrak/filesystem/tree/v1.5.12) and
|
||||
source archives can be found [here](https://github.com/gulrak/filesystem/releases/tag/v1.5.12).
|
||||
|
||||
The latest pre-native-backend version is [v1.4.0](https://github.com/gulrak/filesystem/tree/v1.4.0) and
|
||||
source archives can be found [here](https://github.com/gulrak/filesystem/releases/tag/v1.4.0).
|
||||
@ -583,11 +584,13 @@ to the expected behavior.
|
||||
|
||||
## Release Notes
|
||||
|
||||
### v1.5.11 (WIP)
|
||||
### [v1.5.12](https://github.com/gulrak/filesystem/releases/tag/v1.5.12)
|
||||
|
||||
* Fix for [#142](https://github.com/gulrak/filesystem/issues/142), removed need
|
||||
for `GHC_NO_DIRENT_D_TYPE` on systems that don't support `dirent::d_type` and
|
||||
fixed build configuration and tests to support Solaris as new platform.
|
||||
* Pull request [#138](https://github.com/gulrak/filesystem/pull/138), if the
|
||||
platform uses the POSIX backend and has no `PATH_MAX`, one is defined.
|
||||
* Pull request [#137](https://github.com/gulrak/filesystem/pull/137), update
|
||||
of Catch2 to version v2.13.7
|
||||
* Added macOS 11 to the automatically tested platforms.
|
||||
|
@ -279,19 +279,19 @@
|
||||
// * if this->has_root_directory() and !p.has_root_directory() return -1
|
||||
// * if !this->has_root_directory() and p.has_root_directory() return -1
|
||||
// * else result of element wise comparison of path iteration where first comparison is != 0 or 0
|
||||
// if all comparisons are 0 (on Windows this implementation does case insensitive root_name()
|
||||
// if all comparisons are 0 (on Windows this implementation does case-insensitive root_name()
|
||||
// comparison)
|
||||
#define LWG_2936_BEHAVIOUR
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// LWG #2937 enforces that fs::equivalent emits an error, if !fs::exists(p1)||!exists(p2)
|
||||
#define LWG_2937_BEHAVIOUR
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// UTF8-Everywhere is the original behaviour of ghc::filesystem. But since v1.5 the windows
|
||||
// UTF8-Everywhere is the original behaviour of ghc::filesystem. But since v1.5 the Windows
|
||||
// version defaults to std::wstring storage backend. Still all std::string will be interpreted
|
||||
// as UTF-8 encoded. With this define you can enfoce the old behavior on Windows, using
|
||||
// as UTF-8 encoded. With this define you can enforce the old behavior on Windows, using
|
||||
// std::string as backend and for fs::path::native() and char for fs::path::c_str(). This
|
||||
// needs more conversions so it is (an was before v1.5) slower, bot might help keeping source
|
||||
// homogeneous in a multi platform project.
|
||||
// needs more conversions, so it is (and was before v1.5) slower, bot might help keeping source
|
||||
// homogeneous in a multi-platform project.
|
||||
// #define GHC_WIN_DISABLE_WSTRING_STORAGE_TYPE
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Raise errors/exceptions when invalid unicode codepoints or UTF-8 sequences are found,
|
||||
@ -306,7 +306,7 @@
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
// ghc::filesystem version in decimal (major * 10000 + minor * 100 + patch)
|
||||
#define GHC_FILESYSTEM_VERSION 10511L
|
||||
#define GHC_FILESYSTEM_VERSION 10512L
|
||||
|
||||
#if !defined(GHC_WITH_EXCEPTIONS) && (defined(__EXCEPTIONS) || defined(__cpp_exceptions) || defined(_CPPUNWIND))
|
||||
#define GHC_WITH_EXCEPTIONS
|
||||
|
@ -27,7 +27,7 @@
|
||||
#include <ghc/filesystem.hpp>
|
||||
namespace fs = ghc::filesystem;
|
||||
|
||||
// This test and the one in multi2.cpp doesn't actualy test relevant functionality,
|
||||
// This test and the one in multi2.cpp doesn't actually test relevant functionality,
|
||||
// it is just used to check that it is possible to include filesystem.h in multiple
|
||||
// source files.
|
||||
TEST_CASE("Multifile-test 1", "[multi]")
|
||||
|
Loading…
x
Reference in New Issue
Block a user