blob: 9f04515beacf3055e1a7578c428f507e0a47b0ba [file] [log] [blame]
# 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