| # Copyright 2019 The IREE Authors |
| # |
| # Licensed under the Apache License v2.0 with LLVM Exceptions. |
| # See https://llvm.org/LICENSE.txt for license information. |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| |
| # Build the IREE project with CMake. Designed for CI, but can be run manually. |
| # This uses previously cached build results and does not clear the build |
| # directory. For a clean build, use build_tools/cmake/clean_build.sh |
| |
| set -x |
| set -e |
| |
| ROOT_DIR=$(git rev-parse --show-toplevel) |
| |
| CMAKE_BIN=${CMAKE_BIN:-$(which cmake)} |
| |
| "$CMAKE_BIN" --version |
| ninja --version |
| |
| cd ${ROOT_DIR?} |
| if [ -d "build" ] |
| then |
| echo "Build directory already exists. Will use cached results there." |
| else |
| echo "Build directory does not already exist. Creating a new one." |
| mkdir build |
| fi |
| cd build |
| |
| CMAKE_ARGS=( |
| "-G" "Ninja" |
| # Let's make linking fast |
| "-DIREE_ENABLE_LLD=ON" |
| "-DCMAKE_BUILD_TYPE=RelWithDebInfo" |
| |
| # Enable docs build on the CI. The additional builds are pretty fast and |
| # give us early warnings for some types of website publication errors. |
| "-DIREE_BUILD_DOCS=ON" |
| |
| # Enable building the python bindings on CI. |
| "-DIREE_BUILD_PYTHON_BINDINGS=ON" |
| |
| # Enable assertions. We wouldn't want to be testing *only* with assertions |
| # enabled, but at the moment only certain CI builds are using this script, |
| # e.g. ASan builds are not using this, so by enabling assertions here, we |
| # get a reasonable mix of {builds with asserts, builds with other features |
| # such as ASan but without asserts}. |
| "-DIREE_ENABLE_ASSERTIONS=ON" |
| ) |
| |
| "$CMAKE_BIN" "${CMAKE_ARGS[@]?}" "$@" .. |
| echo "Building all" |
| echo "------------" |
| "$CMAKE_BIN" --build . -- -k 0 |
| |
| echo "Building test deps" |
| echo "------------------" |
| "$CMAKE_BIN" --build . --target iree-test-deps -- -k 0 |