aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/project (unfollow)
Commit message (Collapse)Author
2021-03-24project.cmake: set CMAKE_BUILD_PARALLEL_LEVELEgor Tensin
2021-03-23project.utils: log to stdout, not stderrEgor Tensin
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).
2021-03-23project.boost: refactoringEgor Tensin
The extremely convoluted BoostBuildToolset situation is no more.
2021-03-23project: minor refactoringEgor Tensin
2021-03-21project.boost.build: refactoring & cleanupEgor Tensin
2021-03-20project.cmake.build: refactoring & cleanupEgor Tensin
2021-03-20project: minor refactoringEgor Tensin
2021-03-20project.platform: add platform 'auto'Egor Tensin
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.
2021-03-15grammarEgor Tensin
2021-03-14move large in-code comments to docs/Egor Tensin
2021-03-14project.cmake.toolchain: allow omitting --platformEgor Tensin
When --platform is omitted, no -m32/-m64 flags will be added.
2021-03-14project.boost.download: create missing directoriesEgor Tensin
2021-03-13project.ci: cache Boost downloadsEgor Tensin
2021-01-31project.ci: use pre-built Boost when availableEgor Tensin
2021-01-25project.ci: auto-fill --toolset from environmentEgor Tensin
2021-01-25project.ci: auto-detect CI systemEgor Tensin
2021-01-19project.cmake: --toolset auto shouldn't set any compiler flagsEgor Tensin
2021-01-18project.ci: add GitHub ActionsEgor Tensin
2021-01-18project.ci: --install picks the directory automaticallyEgor Tensin
2021-01-18project.cmake: create the build dir if necessaryEgor Tensin
2021-01-17README: updateEgor Tensin
2021-01-17README: updateEgor Tensin
2021-01-17fix PyLint warningsEgor Tensin
2021-01-17GIANT CLUSTERFUCK OF A COMMITEgor Tensin
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.
2020-10-18README: elaborateEgor Tensin
2020-10-04fix build dir path on Travis/AppVeyorEgor Tensin
I.e. it used to be just C:\projects instead of C:\projects\build on AppVeyor.
2020-04-04project.boost.download: add dest_dir parameterEgor Tensin
2020-04-04project.boost.download: --unpack = --cache if specifiedEgor Tensin
2020-03-31project.boost: retry downloadsEgor Tensin
2020-03-30project.cmake: support --mingw for Travis/AppVeyorEgor Tensin
2020-03-30project.ci: dedupe codeEgor Tensin
2020-03-30project.cmake: make it --boost awareEgor Tensin
2020-03-30project.boost.build: switch to --layout=systemEgor Tensin
2020-03-30project.cmake: make it --platform awareEgor Tensin
2020-03-30project.cmake.build: refactoringEgor Tensin
2020-03-30project: code styleEgor Tensin
2020-03-30project.boost: support --mingw for Travis/AppVeyorEgor Tensin
2020-03-30project.build.build: more restrictive defaultsEgor Tensin
2020-03-30project: minor-ish refactoringEgor Tensin
2020-03-29project.boost: first-class MinGW-w64 supportEgor Tensin
2020-03-29project: add os.pyEgor Tensin
2020-03-29fix READMEs, code style, etc.Egor Tensin
2020-03-29project.boost: -d0 by defaultEgor Tensin
2020-03-29project.cmake: insignificant refactoringEgor Tensin
2020-03-29project.cmake: factor out common utilsEgor Tensin
2020-03-28project.boost: factor out everything elseEgor Tensin
I finally snapped. This starts to resemble sensible structure though.
2020-03-28project.boost: factor out BoostVersionEgor Tensin
2020-03-28project.boost: factor out Configuration/Platform/LinkageEgor Tensin
2020-03-28WIP: restructureEgor Tensin
A stupid attempt to reduce code duplication led me to believe that all the scripts could use _a bit_ of refactoring. This is going to be a major pain (factoring out all the things), which I'll take gladly. All the links and usage examples are broken right now, but nobody cares, so whatevs.