aboutsummaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAge
* project.ci: GitHub Actions no longer has pre-built BoostEgor Tensin2021-03-24
|
* fix PyLint warningsEgor Tensin2021-03-24
|
* project.ci: use same variable names for all CIsEgor Tensin2021-03-24
| | | | Using different ones was quite weird to begin with.
* README: actualizeEgor Tensin2021-03-24
|
* project.ci: change build directoryEgor Tensin2021-03-24
| | | | It's now <source directory>/../build for consistency.
* project.cmake: fix "auto" platform detectionEgor Tensin2021-03-24
|
* project.cmake: set CMAKE_BUILD_PARALLEL_LEVELEgor Tensin2021-03-24
|
* project.utils: log to stdout, not stderrEgor Tensin2021-03-23
| | | | | 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).
* project.boost: refactoringEgor Tensin2021-03-23
| | | | The extremely convoluted BoostBuildToolset situation is no more.
* project: minor refactoringEgor Tensin2021-03-23
|
* project.boost.build: refactoring & cleanupEgor Tensin2021-03-21
|
* project.cmake.build: refactoring & cleanupEgor Tensin2021-03-20
|
* project: minor refactoringEgor Tensin2021-03-20
|
* workflows: fail-fastEgor Tensin2021-03-20
| | | | They are stable enough.
* project.platform: add platform 'auto'Egor Tensin2021-03-20
| | | | | | | | | | | | | 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.
* workflows/basic: enable on windows-2016Egor Tensin2021-03-19
|
* grammarEgor Tensin2021-03-15
|
* docs: grammarEgor Tensin2021-03-15
|
* docs: reflowEgor Tensin2021-03-15
|
* docs: markdownifyEgor Tensin2021-03-14
|
* move large in-code comments to docs/Egor Tensin2021-03-14
|
* remove toolchains/Egor Tensin2021-03-14
| | | | | The main project module supports properly generating toolset files like these, so they are redundant?
* project.cmake.toolchain: allow omitting --platformEgor Tensin2021-03-14
| | | | When --platform is omitted, no -m32/-m64 flags will be added.
* project.boost.download: create missing directoriesEgor Tensin2021-03-14
|
* workflows/ci_appveyor: create C:\projects before cachingEgor Tensin2021-03-14
|
* workflows: _really_ fix Boost caching?..Egor Tensin2021-03-14
| | | | | | | | | | | | | | | | | 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
* project.ci: cache Boost downloadsEgor Tensin2021-03-13
|
* workflows: fix Boost cachingEgor Tensin2021-03-13
| | | | It seemingly doesn't work unless the key includes runner.os?
* workflows: cache Boost downloadsEgor Tensin2021-03-13
|
* project.ci: use pre-built Boost when availableEgor Tensin2021-01-31
|
* project.ci: auto-fill --toolset from environmentEgor Tensin2021-01-25
|
* README: updateEgor Tensin2021-01-25
|
* project.ci: auto-detect CI systemEgor Tensin2021-01-25
|
* bye-bye, Travis & AppVeyor!no_more_travisEgor Tensin2021-01-19
|
* project.cmake: --toolset auto shouldn't set any compiler flagsEgor Tensin2021-01-19
|
* project.ci: add GitHub ActionsEgor Tensin2021-01-18
|
* project.ci: --install picks the directory automaticallyEgor Tensin2021-01-18
|
* README: updateEgor Tensin2021-01-18
|
* README: updateEgor Tensin2021-01-18
|
* workflows: add Travis/AppVeyor simulationsEgor Tensin2021-01-18
|
* workflows: add "Basic usage"Egor Tensin2021-01-18
|
* workflows: mask the less interesting onesEgor Tensin2021-01-18
|
* project.cmake: create the build dir if necessaryEgor Tensin2021-01-18
|
* README: updateEgor Tensin2021-01-17
|
* README: updateEgor Tensin2021-01-17
|
* fix .clang-formatEgor Tensin2021-01-17
|
* workflows: check if Travis/AppVeyor are brokenEgor Tensin2021-01-17
|
* README: updateEgor Tensin2021-01-17
|
* fix PyLint warningsEgor Tensin2021-01-17
|
* GIANT CLUSTERFUCK OF A COMMITEgor Tensin2021-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.