aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/project/cmake/build.py (follow)
Commit message (Collapse)AuthorAge
* project.cmake: require the build dir argumentEgor Tensin2023-07-03
| | | | | | It doesn't make a lot of sense for the build dir argument to be optional. There's still a placeholder you can use to build in a temporary directory.
* add runtime version informationEgor Tensin2023-03-02
|
* project.cmake: use -DVAR instead of -D VAREgor Tensin2021-05-09
| | | | | This should look prettier in the logs + it's explicitly allowed in the manual.
* project.cmake: always enable CMAKE_EXPORT_COMPILE_COMMANDSEgor Tensin2021-05-09
|
* add --help-toolsets parameterEgor Tensin2021-05-08
| | | | Also, get rid of mentions of Visual Studio versions lower than 2010.
* project.toolset: support versioned MSVC toolsetsEgor Tensin2021-05-07
| | | | You can now use something like msvc-141, vs-2017, etc.
* project.toolset: merge both other modules to this oneEgor Tensin2021-05-07
|
* project.cmake.toolset: rework a bitEgor Tensin2021-05-07
| | | | | | Bring it more in line with project.boost.toolset + simplify. This continues the preparation for the merging of the 3 different toolset modules.
* brush up import listsEgor Tensin2021-05-06
|
* "toolchain" -> "toolset", part 2Egor Tensin2021-05-06
|
* "toolchain" -> "toolset", part 1Egor Tensin2021-05-06
|
* update script names in README and --help outputEgor Tensin2021-04-14
|
* remove excessive logging & obsolete project.ci.* packagesEgor Tensin2021-04-13
| | | | Logging command line arguments before parsing them is a bit excessive.
* project.cmake.build: -H must be at the endEgor Tensin2021-03-25
| | | | Older CMake versions don't like it when it's not the last argument.
* project.cmake: set CMAKE_BUILD_PARALLEL_LEVELEgor Tensin2021-03-24
|
* project: minor refactoringEgor Tensin2021-03-23
|
* project.cmake.build: refactoring & cleanupEgor Tensin2021-03-20
|
* 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.
* project.boost.download: create missing directoriesEgor Tensin2021-03-14
|
* project.cmake: --toolset auto shouldn't set any compiler flagsEgor Tensin2021-01-19
|
* project.cmake: create the build dir if necessaryEgor Tensin2021-01-18
|
* 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.
* project.cmake: make it --boost awareEgor Tensin2020-03-30
|
* project.cmake: make it --platform awareEgor Tensin2020-03-30
|
* project.cmake.build: refactoringEgor Tensin2020-03-30
|
* project: minor-ish refactoringEgor Tensin2020-03-30
|
* project: add os.pyEgor Tensin2020-03-29
|
* fix READMEs, code style, etc.Egor Tensin2020-03-29
|
* project.cmake: insignificant refactoringEgor Tensin2020-03-29
|
* project.cmake: factor out common utilsEgor Tensin2020-03-29
|
* project.boost: factor out Configuration/Platform/LinkageEgor Tensin2020-03-28
|
* WIP: restructureEgor Tensin2020-03-28
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.