| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
This is a quick fix to the interleaved output issue I'm having on CI
runs (when the logging output gets interleaved with subprocess output).
|
|
|
|
| |
The extremely convoluted BoostBuildToolset situation is no more.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
They are stable enough.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There were two problems:
* On Windows, VS 2019 defaults to x64 while VS 2017 defaults to x86.
* Too much focus on x86(-64) might mean that building stuff on ARM can
become difficult.
These were all addressed by adding a new platform 'auto'. On Windows,
it defaults to picking either x64 or x86 (depending on the host arch)
for both Boost and CMake. On Linux, it lets the compiler decide what
arch to target.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The main project module supports properly generating toolset files like
these, so they are redundant?
|
|
|
|
| |
When --platform is omitted, no -m32/-m64 flags will be added.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
actions/cache@v2 doesn't work on windows-2016 images, since those
contain the GNU tar, which cannot work with \ as path separator. This
was fixed in package @actions/cache v1.0.5, which is used by action
actions/cache@v2.1.4 [1][2].
In addition, it simply couldn't find tar.exe on those images thanks to
my action cleanup-path, which removed the corresponding directory (I
think it was Git's bin/) from PATH. It worked for windows-2019 images
thanks to them containing tar.exe in System32. Solved by turning
cleanup-path into a JavaScript action with a "post" step, which restores
the original PATH value.
[1]: https://github.com/actions/virtual-environments/issues/480
[2]: https://github.com/actions/toolkit/issues/632
|
| |
|
|
|
|
| |
It seemingly doesn't work unless the key includes runner.os?
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
OK, this is epic. I was basically just trying to a) support Clang and
b) add more test coverage. _THREE MONTHS_ and a few hundred CI runs
later, this is what I came up with. I don't know how it ended up being
what it is, but here we go.
Some highlights of the changes:
1) CI builds has been moved to GitHub Actions,
2) the entire notion of a toolchain has been reworked; it now supports
Clang on all platforms.
* .github: this directory contains the GitHub Actions workflow
scripts/actions. In the process, I created like 6 external GitHub
actions, but it's still pretty massive. An upside is that it covers
much more platform/toolchain combinations _and_ check a lot of the
expected post-conditions. TODO: .ci/Makefile is obsolete now, as well
as .travis.yml and .appveyor.yml.
* common.cmake: added Clang support. In the process, a great deal has
been learned about how CMake works; in particular, static runtime
support has been reworked to be more robust.
* project: the entire notion of a "toolchain" has been reworked.
Instead of a measly --mingw parameter, there's now a separate --toolset
parameter, which allows you to choose between GCC, Clang, MSVC, etc.
Both Boost and CMake build scripts were enhanced greatly to support
Clang and other toolchains in a more robust way.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Generator expressions aren't evaluated at configuration time. Symbols
were always stripped, unfortunately.
|
| |
|
| |
|
| |
|