Version bump release v1.5.12

Took 30 minutes
This commit is contained in:
Steffen Schuemann 2022-04-03 11:40:58 +02:00
parent 6cc60fb687
commit cd6805e94d
3 changed files with 25 additions and 22 deletions

View File

@ -5,7 +5,7 @@
[![Build Status](https://api.cirrus-ci.com/github/gulrak/filesystem.svg?branch=master)](https://cirrus-ci.com/github/gulrak/filesystem) [![Build Status](https://api.cirrus-ci.com/github/gulrak/filesystem.svg?branch=master)](https://cirrus-ci.com/github/gulrak/filesystem)
[![Build Status](https://cloud.drone.io/api/badges/gulrak/filesystem/status.svg?ref=refs/heads/master)](https://cloud.drone.io/gulrak/filesystem) [![Build Status](https://cloud.drone.io/api/badges/gulrak/filesystem/status.svg?ref=refs/heads/master)](https://cloud.drone.io/gulrak/filesystem)
[![Coverage Status](https://coveralls.io/repos/github/gulrak/filesystem/badge.svg?branch=master)](https://coveralls.io/github/gulrak/filesystem?branch=master) [![Coverage Status](https://coveralls.io/repos/github/gulrak/filesystem/badge.svg?branch=master)](https://coveralls.io/github/gulrak/filesystem?branch=master)
[![Latest Release Tag](https://img.shields.io/github/tag/gulrak/filesystem.svg)](https://github.com/gulrak/filesystem/tree/v1.5.10) [![Latest Release Tag](https://img.shields.io/github/tag/gulrak/filesystem.svg)](https://github.com/gulrak/filesystem/tree/v1.5.12)
- [Filesystem](#filesystem) - [Filesystem](#filesystem)
- [Motivation](#motivation) - [Motivation](#motivation)
@ -39,8 +39,8 @@
This is a header-only single-file `std::filesystem` compatible helper library, 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 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 (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 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 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 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 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 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 ## Platforms
`ghc::filesystem` is developed on macOS but CI tested on macOS, Windows, `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 various Linux Distributions, FreeBSD and starting with v1.5.12 on Solaris.
compiler. Also there are some checks to hopefully better work on Android, but It should work on any of these with a C++11-capable compiler. Also there are some
as I currently don't test with the Android NDK, I wouldn't call it a checks to hopefully better work on Android, but as I currently don't test with the
supported platform yet, same is valid for using it with Emscripten. It is now Android NDK, I wouldn't call it a supported platform yet, same is valid for using
part of the detected platforms, I fixed the obvious issues and ran some tests with it with Emscripten. It is now part of the detected platforms, I fixed the obvious
it, so it should be fine. All in all, I don't see it replacing `std::filesystem` issues and ran some tests with it, so it should be fine. All in all, I don't see it
where full C++17 or C++20 is available, it doesn't try to be a "better" replacing `std::filesystem` where full C++17 or C++20 is available, it doesn't try
`std::filesystem`, just an almost drop-in if you can't use it (with the exception to be a "better" `std::filesystem`, just an almost drop-in if you can't use it
of the UTF-8 preference). (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 :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 `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 (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 * Linux (Alpine ARM/ARM64): GCC 9.2.0
* FreeBSD: Clang 8.0 * FreeBSD: Clang 8.0
* Solaris: GCC 5.5
## Tests ## Tests
@ -148,8 +149,8 @@ in the standard, and there might be issues in these implementations too.
### Downloads ### Downloads
The latest release version is [v1.5.10](https://github.com/gulrak/filesystem/tree/v1.5.10) and 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.10). 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 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). 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 ## 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 * 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 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. 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 * Pull request [#137](https://github.com/gulrak/filesystem/pull/137), update
of Catch2 to version v2.13.7 of Catch2 to version v2.13.7
* Added macOS 11 to the automatically tested platforms. * Added macOS 11 to the automatically tested platforms.

View File

@ -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
// * 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 // * 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) // comparison)
#define LWG_2936_BEHAVIOUR #define LWG_2936_BEHAVIOUR
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// LWG #2937 enforces that fs::equivalent emits an error, if !fs::exists(p1)||!exists(p2) // LWG #2937 enforces that fs::equivalent emits an error, if !fs::exists(p1)||!exists(p2)
#define LWG_2937_BEHAVIOUR #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 // 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 // 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 // needs more conversions, so it is (and was before v1.5) slower, bot might help keeping source
// homogeneous in a multi platform project. // homogeneous in a multi-platform project.
// #define GHC_WIN_DISABLE_WSTRING_STORAGE_TYPE // #define GHC_WIN_DISABLE_WSTRING_STORAGE_TYPE
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Raise errors/exceptions when invalid unicode codepoints or UTF-8 sequences are found, // 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) // 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)) #if !defined(GHC_WITH_EXCEPTIONS) && (defined(__EXCEPTIONS) || defined(__cpp_exceptions) || defined(_CPPUNWIND))
#define GHC_WITH_EXCEPTIONS #define GHC_WITH_EXCEPTIONS

View File

@ -27,7 +27,7 @@
#include <ghc/filesystem.hpp> #include <ghc/filesystem.hpp>
namespace fs = ghc::filesystem; 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 // it is just used to check that it is possible to include filesystem.h in multiple
// source files. // source files.
TEST_CASE("Multifile-test 1", "[multi]") TEST_CASE("Multifile-test 1", "[multi]")