build.py : A wrapper to run build systems¶
Wraps cmake, xcode, vcpkg where cmake is mostly in charge. A python virtual env is expected.
run a build using cmake and make or xcode
usage: build.py [-h] [--swift] [--ios] [--toolchain-path TOOLCHAIN_PATH]
[--build-type {RelWithDebInfo,Release,Debug}]
[--build-target BUILD_TARGET] [--open-xcode]
[--xcode-proj XCODE_PROJ] [--doc] [--resource] [--unit-tests]
[--threads THREADS] [--project-dir PROJECT_DIR]
[--bundle-path BUNDLE_PATH]
{uninstall,incremental,clean,test,lint,vcpkg} ...
Positional Arguments¶
| command | Possible choices: uninstall, incremental, clean, test, lint, vcpkg available commands to run |
Named Arguments¶
| --swift | compile swift code using the xcode toolchain Default: False |
| --ios | configure the xcode toolchain to build for ios Default: False |
| --toolchain-path | |
path to a toolchain file - stomped by –ios and –swift Default: “../foundation/third_party/vcpkg/scripts/buildsystems/vcpkg.cmake” | |
| --build-type | Possible choices: RelWithDebInfo, Release, Debug compile release, debug or release optimization with debug symbols Default: “Release” |
| --build-target | specify a target to build |
| --open-xcode | does nothing Default: False |
| --xcode-proj | name of the project to open / build |
| --doc | run a documentation specific build Default: False |
| --resource | run a resource specific build Default: False |
| --unit-tests | build unit-tests Default: False |
| --threads | number of make threads to use Default: 8 |
| --project-dir | path to the project Default: “.” |
| --bundle-path | path to the bundle executable (builds ruby projects) Default: “/usr/local/opt/ruby@2.7/bin/bundle” |
Sub-commands:¶
incremental¶
run a build only updating those things that are known changed
build.py incremental [-h] [dummy]
Positional Arguments¶
| dummy | vestigial |
clean¶
run a fresh build after removing all build artifacts
build.py clean [-h] [clean]
Positional Arguments¶
| clean | vestigial |
test¶
run a fresh build after removing all build artifacts
build.py test [-h] [pattern]
Positional Arguments¶
| pattern | optional regexp to match a test suite or individual test function |