Joshua Villasenor edaaaf23bc Resolve comilation issue for darwin-framework-tool on M1 (#21761) 3 years ago
..
build 3deee2800e [Infineon] Update OTA asset and remove OTA REQUESTOR example app for P6 (#21552) 3 years ago
builders 3deee2800e [Infineon] Update OTA asset and remove OTA REQUESTOR example app for P6 (#21552) 3 years ago
runner 4e67392e62 Add possibility to build Tizen apps with various options (#16701) 3 years ago
testdata 3deee2800e [Infineon] Update OTA asset and remove OTA REQUESTOR example app for P6 (#21552) 3 years ago
BUILD.gn 64828b388d [MW320] Added CI workflow for MW320 (#20602) 3 years ago
README.md 4e67392e62 Add possibility to build Tizen apps with various options (#16701) 3 years ago
build_darwin_framework.py edaaaf23bc Resolve comilation issue for darwin-framework-tool on M1 (#21761) 3 years ago
build_examples.py 4e67392e62 Add possibility to build Tizen apps with various options (#16701) 3 years ago
default.sh 5132d61402 Move set -e prior to activate.sh (#2583) 5 years ago
glob_matcher.py 91cf677645 Fix glob matching of "{,xyz}" matching empty string (#10716) 4 years ago
gn_bootstrap.sh 4b82c2bcb7 Integrate Mobly (#2967) 5 years ago
gn_gen.sh 7bf757ba5d Add GitHub work flow for simulated device. (#11931) 4 years ago
setup.py 4e67392e62 Add possibility to build Tizen apps with various options (#16701) 3 years ago
test.py 9b2c88954b [K32W0] SVE fixes (#20471) 3 years ago
test_glob_matcher.py 4e67392e62 Add possibility to build Tizen apps with various options (#16701) 3 years ago

README.md

CHIP automated builds scripts

CHIP compilation is generally split into two steps

  1. Generate ninja/makefile for out-of-source builds
  2. Compilation using ninja/makefiles

Building manually

Manual building is generally platform-dependent. All build steps would require a bootstrapped environment (loads a pigweed build environment) and will then be followed by platform-specific instructions.

The file BUILDING.md describes general requirements and examples. Typical usage is:

source scripts/activate
gn gen out/host
ninja -C out/host

Unified build script

The script build_examples.py provides a single entry point for generating and executing the build.

Build environment MUST be properly configured for build_examples to succeed. For example ESP32 builds requite IDF_PATH to be set. Building in the corresponding build image or the chip vscode image satisfy the build environment requirement.

Usage examples:

  1. Compiles all targets

    ./scripts/build/build_examples.py --target all build
    
  2. Compile the all clusters app for a ESP32 DevKitC

    ./scripts/build/build_examples.py --target esp32-devkitc-all-clusters build
    
  3. Generate all the makefiles (but do not compile) using a specific output root

    ./scripts/build/build_examples.py --target linux-x64-chip-tool --out-prefix ./mydir gen
    
  4. Compile the qpg lock app and copy the output in a 'artifact' folder. Note the argument order (artifact copying is an argument for the build command)

    ./scripts/build/build_examples.py --target qpg-lock build --copy-artifacts-to /tmp/artifacts
    
  5. Find out all possible targets for compiling the 'light' app:

    ./scripts/build/build_examples.py --target-glob '*light' --log-level fatal targets
    
  6. Compile everything except linux or darwin:

    ./scripts/build/build_examples.py --skip-target-glob '{darwin,linux}-*' --log-level fatal build