2
0
mirror of https://github.com/boostorg/nowide.git synced 2026-01-19 04:22:12 +00:00

686 Commits

Author SHA1 Message Date
Alexander Grund
224f3723dc Update release action
The currently used ones are no longer supported.
Replace by suggested action.
2025-11-19 11:47:00 +01:00
Alexander Grund
d6f7ff33d9 Internal version bump to 11.4.0 2025-11-19 11:10:02 +01:00
Alexander Grund
1813b73ac6 Don't search for Boost.system (header-only) in CMake test file 2025-10-28 09:31:23 +01:00
Alexander Grund
dbeb858653 Update Boost versions used on Appveyor 2025-10-27 11:02:03 +01:00
Alexander Grund
7c62ec47fa Merge pull request #201 from boostorg/boost-166-requirement
Update required Boost version to 1.66
2025-10-23 17:54:55 +02:00
Alexander Grund
34848467e6 Set MinGW Boost ABI tag 2025-10-23 17:26:57 +02:00
Alexander Grund
2c576b869f Use gcc instead of mingw bootstrap toolset
Since Boost 1.61 the gcc toolset is supported for MinGW
Using "mingw" as the toolset is no longer supported.
2025-10-23 16:49:15 +02:00
Alexander Grund
0768ece5cc Update required Boost version to 1.66
B2 doesn't build on some newer compilers anymore so we can't properly
test it.
As 1.66 is "old enough" by now just use that.
2025-10-23 14:30:58 +02:00
Alexander Grund
2a8f682b6f Update links to regression test matrix 2025-09-18 19:58:46 +02:00
Alexander Grund
c05f07fedf Increase CMake version range to 3.20
Avoids deprecation warnings with CMake 3.31+
2025-09-07 10:53:59 +02:00
Alexander Grund
7ba7e46a6a Merge pull request #197 from Flamefire/windows-ci
Fix standalone CI, especially MinGW
2025-08-06 12:43:26 +02:00
Alexander Grund
24692c3740 Raise Boost version to 1.69 for VS 2022 standalone tests
Boost.Build 1.73 (required for VS 2022) added the `threadapi` feature
required by Boost.Thread importable via `threadapi-feature` which got
supported by Boost.Thread in 1.66:
3ebd3b6bce
Boost.Iostreams requires a patch from 1.69:
a0c32babd2
2025-08-06 10:21:58 +02:00
Alexander Grund
7efd76e7c0 Fix failure building Boost
Boost.Build 1.56 doesn't support VS 2022 so use a newer version of it
but keep the Boost version.
2025-08-05 16:03:50 +02:00
Alexander Grund
76d666096a Fix b2 invocation on Windows 2025-08-05 14:35:10 +02:00
Alexander Grund
19685c92f9 Revert "Skip failing Windows jobs for now"
This reverts commit 1a866928f5.
2025-07-31 09:15:58 +02:00
Alexander Grund
4538c5422d Merge pull request #198 from boostorg/reusable-ci
Use the reusable CI workflow from Boost.CI
2025-07-30 14:08:37 +02:00
Alexander Grund
1a866928f5 Skip failing Windows jobs for now 2025-07-30 12:28:08 +02:00
Alexander Grund
a9f76388a4 Use the reusable CI workflow from Boost.CI 2025-07-30 11:25:35 +02:00
Alexander Grund
18cc71f595 GHA: Reorder matrix entry for standalone vs Boost-using build 2025-07-08 19:52:49 +02:00
Alexander Grund
1b0a7999eb CI: Workaround missing cl.exe in bash shell on windows-2022
As `shell:` does not support expressions a copy of the job step needs to
be used conditioned on the OS
2025-07-08 19:42:38 +02:00
Alexander Grund
f60c75e79d Allow CI runs specific to a CI provider 2025-07-08 19:29:05 +02:00
Alexander Grund
3c66245637 Merge pull request #195 from Flamefire/windows-ci
GHA: Remove Windows 2019 runners
2025-07-04 19:42:25 +02:00
Alexander Grund
42314eddad GHA: Workaround missing cl.exe during Boost build for CMake
Since the update to windows-2022 with msvc-14.3 toolset the CI errors with
>  compile-c-c++ bin.v2\libs\filesystem\build\msvc-14.3\release\address-model-64\link-static\threading-multi\codecvt_error_category.obj
> 'cl' is not recognized as an internal or external command, operable program or batch file.

Cause is the use of Bash instead of Cmd shell so do the build in a
separate step.
2025-07-04 19:28:55 +02:00
Alexander Grund
6d49bc161b GHA: Remove Windows 2019 runners 2025-07-03 20:16:39 +02:00
Alexander Grund
f356685872 Merge pull request #183 from grafikrobot/modular
Add support for modular build structure.
2025-04-05 17:54:41 +02:00
René Ferdinand Rivera Morell
4514459c8b Remove not needed filsystem dependency.
Co-authored-by: Alexander Grund <Flamefire@users.noreply.github.com>
2025-04-05 07:17:39 -05:00
Rene Rivera
ef9415cea3 Sync from upstream. 2025-04-04 21:41:28 -05:00
Alexander Grund
a8229ddc74 Update for CMake 4
Tilde-expansion isn't done by CMake anymore
2025-04-02 10:02:51 +02:00
Alexander Grund
b7987c45ae Merge pull request #194 from boostorg/ci
GHA: Avoid using gcc-toolchain change for Clang jobs and stop using Ubuntu 20 runners
2025-02-28 09:30:08 +01:00
Alexander Grund
8f1078ac46 Update from Boost.CI 2025-02-27 08:54:52 +01:00
Alexander Grund
3bfa00b0f4 Disable C++2a for Clang 8 2025-02-27 08:52:55 +01:00
Alexander Grund
b5c8e5df81 Use Ubuntu 20 container for Clang 12 with libc++ 2025-02-27 08:52:55 +01:00
Alexander Grund
cfb0149829 GHA: Don't use the Ubuntu 20.04 runners 2025-02-27 08:52:55 +01:00
Alexander Grund
4a3e0b5a71 GHA: Avoid using gcc-toolchain change for Clang jobs
Use containers where required to avoid picking up an incompatible libstdc++
2025-02-27 08:52:55 +01:00
Alexander Grund
64f1eeed2f Fix readme badges 2025-02-16 11:28:48 +01:00
Alexander Grund
e73ff9ff17 Fix coverage upload 2025-02-14 14:33:15 +01:00
Alexander Grund
6ecfd15429 Update GHA from Boost.CI 2025-02-11 09:09:48 +01:00
Alexander Grund
39ffd8f840 GHA: Uprev codecov action to v5 2024-12-28 10:41:52 +01:00
Alexander Grund
9c673c073f Merge pull request #191 from boostorg/get-env-thread
Make `getenv` thread-safe
2024-12-20 14:36:13 +01:00
Alexander Grund
b9ff85d99a Workaround crash on exit for MinGW 32bit
There is a bug in GCC for 32bit MinGW until version 11.
This causes a use-after free for destruction of `thread_local` variables
that crash the application when the destructor accesses any member.
In the tests it shows up as exit code/status `-1073741819` i.e. `0xC0000005`.
Workaround this by not destructing the `stackstring` instance used to
hold the value of the last `getenv` result.
In the case where any call to `getenv` of a thread yielded a large
value heap memory will be allocated and not freed due to this missing
destructor call causing a memory leak, possibly for each thread.
However values up to some length are stored on stack memory and hence
the missing destructor call does not cause a memory leak as the type is
essentially trivial in this state.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83562
Fixed by https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=7fc0f78c3f43af1967cb7b1ee8f4947f3b890aa2
2024-12-20 09:40:26 +01:00
Alexander Grund
a2d660f2c1 GHA: Fix MinGW test
Using `bash` puts `/mingw64/bin` first in the path but the compiler from
`/c/mingw64/bin` is used.
This leads to errors running the tests: "Exit code 0xc0000139" (DLL issue)
which are related to the use of `thread_local`.
Using the powershell works in all cases.
2024-12-13 14:17:23 +01:00
Alexander Grund
ff34275b81 Update changelog 2024-12-13 14:11:43 +01:00
Alexander Grund
9646dc324d Make getenv thread-safe
In order to return a non-owning pointer without memory leaks the
function needs to use a static variable.
When calling it from multiple threads there is a data race during the
assignment (and conversion) to this variable.
Fix by making it `thread_local`.

Fixes #189
2024-12-13 14:11:43 +01:00
Alexander Grund
1423d15ba5 Use boost.io node 2024-12-10 08:53:48 +01:00
Alexander Grund
51e6d9c6a2 GHA: Update OS versions, remove containers where possible and add new compilers 2024-12-10 08:53:48 +01:00
Alexander Grund
dda55a1d8c Don't use Ubuntu 23:x 2024-11-28 08:39:30 +01:00
Alexander Grund
ca641dc0ca GHA: Handle removal of Node 16
Download an unofficial Node 20 build against glibc 2.17
2024-11-28 08:39:30 +01:00
Alexander Grund
fd38460b41 Fix documentation of enable_if_path_t 2024-11-22 13:16:12 +01:00
Alexander Grund
015be201a5 Fix test for coverage 2024-10-19 14:02:15 +02:00
Alexander Grund
00c8a9af2e Enhance buffering and target stream handling of iostreams
buffering may be independent of tied streams, so make it an extra param
2024-10-19 14:02:15 +02:00